@pulumi/yandex
Version:
A Pulumi package for creating and managing yandex cloud resources.
192 lines (191 loc) • 6 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import { input as inputs, output as outputs } from "./types";
/**
* Manages a Security Group within the Yandex.Cloud. For more information, see
* [the official documentation](https://cloud.yandex.com/docs/vpc/concepts/security-groups).
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as yandex from "@pulumi/yandex";
*
* const lab_net = new yandex.VpcNetwork("lab-net", {});
* const group1 = new yandex.VpcSecurityGroup("group1", {
* description: "description for my security group",
* egresses: [
* {
* description: "rule2 description",
* fromPort: 8090,
* protocol: "ANY",
* toPort: 8099,
* v4CidrBlocks: [
* "10.0.1.0/24",
* "10.0.2.0/24",
* ],
* },
* {
* description: "rule3 description",
* fromPort: 8090,
* protocol: "UDP",
* toPort: 8099,
* v4CidrBlocks: ["10.0.1.0/24"],
* },
* ],
* ingresses: [{
* description: "rule1 description",
* port: 8080,
* protocol: "TCP",
* v4CidrBlocks: [
* "10.0.1.0/24",
* "10.0.2.0/24",
* ],
* }],
* labels: {
* "my-label": "my-label-value",
* },
* networkId: lab_net.id,
* });
* ```
*/
export declare class VpcSecurityGroup extends pulumi.CustomResource {
/**
* Get an existing VpcSecurityGroup 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?: VpcSecurityGroupState, opts?: pulumi.CustomResourceOptions): VpcSecurityGroup;
/**
* Returns true if the given object is an instance of VpcSecurityGroup. 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 VpcSecurityGroup;
/**
* Creation timestamp of this security group.
*/
readonly createdAt: pulumi.Output<string>;
/**
* Description of the security group.
*/
readonly description: pulumi.Output<string | undefined>;
/**
* A list of egress rules. The structure is documented below.
*/
readonly egresses: pulumi.Output<outputs.VpcSecurityGroupEgress[]>;
/**
* ID of the folder this security group belongs to.
*/
readonly folderId: pulumi.Output<string>;
/**
* A list of ingress rules.
*/
readonly ingresses: pulumi.Output<outputs.VpcSecurityGroupIngress[]>;
/**
* Labels to assign to this security group.
*/
readonly labels: pulumi.Output<{
[key: string]: string;
}>;
/**
* Name of the security group.
*/
readonly name: pulumi.Output<string>;
/**
* ID of the network this security group belongs to.
*/
readonly networkId: pulumi.Output<string>;
/**
* Status of this security group.
*/
readonly status: pulumi.Output<string>;
/**
* Create a VpcSecurityGroup 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: VpcSecurityGroupArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* Input properties used for looking up and filtering VpcSecurityGroup resources.
*/
export interface VpcSecurityGroupState {
/**
* Creation timestamp of this security group.
*/
createdAt?: pulumi.Input<string>;
/**
* Description of the security group.
*/
description?: pulumi.Input<string>;
/**
* A list of egress rules. The structure is documented below.
*/
egresses?: pulumi.Input<pulumi.Input<inputs.VpcSecurityGroupEgress>[]>;
/**
* ID of the folder this security group belongs to.
*/
folderId?: pulumi.Input<string>;
/**
* A list of ingress rules.
*/
ingresses?: pulumi.Input<pulumi.Input<inputs.VpcSecurityGroupIngress>[]>;
/**
* Labels to assign to this security group.
*/
labels?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
/**
* Name of the security group.
*/
name?: pulumi.Input<string>;
/**
* ID of the network this security group belongs to.
*/
networkId?: pulumi.Input<string>;
/**
* Status of this security group.
*/
status?: pulumi.Input<string>;
}
/**
* The set of arguments for constructing a VpcSecurityGroup resource.
*/
export interface VpcSecurityGroupArgs {
/**
* Description of the security group.
*/
description?: pulumi.Input<string>;
/**
* A list of egress rules. The structure is documented below.
*/
egresses?: pulumi.Input<pulumi.Input<inputs.VpcSecurityGroupEgress>[]>;
/**
* ID of the folder this security group belongs to.
*/
folderId?: pulumi.Input<string>;
/**
* A list of ingress rules.
*/
ingresses?: pulumi.Input<pulumi.Input<inputs.VpcSecurityGroupIngress>[]>;
/**
* Labels to assign to this security group.
*/
labels?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
/**
* Name of the security group.
*/
name?: pulumi.Input<string>;
/**
* ID of the network this security group belongs to.
*/
networkId: pulumi.Input<string>;
}