@pulumi/yandex
Version:
A Pulumi package for creating and managing yandex cloud resources.
179 lines (178 loc) • 5.89 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import { input as inputs, output as outputs } from "./types";
/**
* Manages a address within the Yandex.Cloud. You can only create a reserved (static) address via this resource. An ephemeral address could be obtained via implicit creation at a compute instance creation only. For more information, see [the official documentation](https://cloud.yandex.com/docs/vpc/concepts/address).
*
* * How-to Guides
* * [Cloud Networking](https://cloud.yandex.com/docs/vpc/)
* * [VPC Addressing](https://cloud.yandex.com/docs/vpc/concepts/address)
*
* ## Example Usage
* ### External ipv4 address
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as yandex from "@pulumi/yandex";
*
* const addr = new yandex.VpcAddress("addr", {
* externalIpv4Address: {
* zoneId: "ru-central1-a",
* },
* });
* ```
* ### Address with DDoS protection
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as yandex from "@pulumi/yandex";
*
* const vpnaddr = new yandex.VpcAddress("vpnaddr", {
* externalIpv4Address: {
* ddosProtectionProvider: "qrator",
* zoneId: "ru-central1-a",
* },
* });
* ```
*
* ## Import
*
* A address can be imported using the `id` of the resource, e.g.
*
* ```sh
* $ pulumi import yandex:index/vpcAddress:VpcAddress addr address_id
* ```
*/
export declare class VpcAddress extends pulumi.CustomResource {
/**
* Get an existing VpcAddress resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param state Any extra arguments used during the lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name: string, id: pulumi.Input<pulumi.ID>, state?: VpcAddressState, opts?: pulumi.CustomResourceOptions): VpcAddress;
/**
* Returns true if the given object is an instance of VpcAddress. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj: any): obj is VpcAddress;
/**
* Creation timestamp of the key.
*/
readonly createdAt: pulumi.Output<string>;
/**
* An optional description of this resource. Provide this property when
* you create the resource.
*/
readonly description: pulumi.Output<string | undefined>;
/**
* spec of IP v4 address
* ---
*/
readonly externalIpv4Address: pulumi.Output<outputs.VpcAddressExternalIpv4Address | undefined>;
/**
* ID of the folder that the resource belongs to. If it
* is not provided, the default provider folder is used.
*/
readonly folderId: pulumi.Output<string>;
/**
* Labels to apply to this resource. A list of key/value pairs.
*/
readonly labels: pulumi.Output<{
[key: string]: string;
}>;
/**
* Name of the address. Provided by the client when the address is created.
*/
readonly name: pulumi.Output<string>;
/**
* `false` means that address is ephemeral.
*/
readonly reserved: pulumi.Output<boolean>;
/**
* `true` if address is used.
*/
readonly used: pulumi.Output<boolean>;
/**
* Create a VpcAddress resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args?: VpcAddressArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* Input properties used for looking up and filtering VpcAddress resources.
*/
export interface VpcAddressState {
/**
* Creation timestamp of the key.
*/
createdAt?: pulumi.Input<string>;
/**
* An optional description of this resource. Provide this property when
* you create the resource.
*/
description?: pulumi.Input<string>;
/**
* spec of IP v4 address
* ---
*/
externalIpv4Address?: pulumi.Input<inputs.VpcAddressExternalIpv4Address>;
/**
* ID of the folder that the resource belongs to. If it
* is not provided, the default provider folder is used.
*/
folderId?: pulumi.Input<string>;
/**
* Labels to apply to this resource. A list of key/value pairs.
*/
labels?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
/**
* Name of the address. Provided by the client when the address is created.
*/
name?: pulumi.Input<string>;
/**
* `false` means that address is ephemeral.
*/
reserved?: pulumi.Input<boolean>;
/**
* `true` if address is used.
*/
used?: pulumi.Input<boolean>;
}
/**
* The set of arguments for constructing a VpcAddress resource.
*/
export interface VpcAddressArgs {
/**
* An optional description of this resource. Provide this property when
* you create the resource.
*/
description?: pulumi.Input<string>;
/**
* spec of IP v4 address
* ---
*/
externalIpv4Address?: pulumi.Input<inputs.VpcAddressExternalIpv4Address>;
/**
* ID of the folder that the resource belongs to. If it
* is not provided, the default provider folder is used.
*/
folderId?: pulumi.Input<string>;
/**
* Labels to apply to this resource. A list of key/value pairs.
*/
labels?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
/**
* Name of the address. Provided by the client when the address is created.
*/
name?: pulumi.Input<string>;
}