UNPKG

@huaweicloudos/pulumi

Version:

A Pulumi package for creating and managing Huaweicloud cloud resources.

240 lines (239 loc) 9.59 kB
import * as pulumi from "@pulumi/pulumi"; import { input as inputs, output as outputs } from "../types"; /** * Manages an APIG (API) group resource within HuaweiCloud. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as pulumi from "@huaweicloudos/pulumi"; * * const config = new pulumi.Config(); * const instanceId = config.requireObject("instanceId"); * const groupName = config.requireObject("groupName"); * const description = config.requireObject("description"); * const environmentId = config.requireObject("environmentId"); * const test = new huaweicloud.dedicatedapig.Group("test", { * instanceId: instanceId, * description: description, * environments: [{ * variables: [{ * name: "TERRAFORM", * value: "/stage/terraform", * }], * environmentId: environmentId, * }], * }); * ``` * * ## Import * * API groups can be imported using their `id` and the ID of the related dedicated instance, separated by a slash, e.g. * * ```sh * $ pulumi import huaweicloud:DedicatedApig/group:Group test <instance_id>/<id> * ``` */ export declare class Group extends pulumi.CustomResource { /** * Get an existing Group 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?: GroupState, opts?: pulumi.CustomResourceOptions): Group; /** * Returns true if the given object is an instance of Group. 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 Group; /** * The creation time of the group, in RFC3339 format. */ readonly createdAt: pulumi.Output<string>; /** * Specifies the group description. * The description contain a maximum of 255 characters and the angle brackets (< and >) are not allowed. * Chinese characters must be in **UTF-8** or **Unicode** format. */ readonly description: pulumi.Output<string | undefined>; /** * Specifies whether to use the debugging domain name to access the APIs * within the group. The default value is `false`. */ readonly domainAccessEnabled: pulumi.Output<boolean>; /** * Specifies an array of one or more environments of the associated group. * The object structure is documented below. */ readonly environments: pulumi.Output<outputs.DedicatedApig.GroupEnvironment[]>; /** * Specifies whether to delete all sub-resources (for API) when deleting this group. * Defaults to **false**. */ readonly forceDestroy: pulumi.Output<boolean>; /** * Specifies the ID of the dedicated instance to which the group belongs. * Changing this will create a new resource. */ readonly instanceId: pulumi.Output<string>; /** * Specifies the variable name. * The valid length is limited from `3` to `32` characters. * Only letters, digits, hyphens (-), and underscores (_) are allowed, and must start with a letter. * In the definition of an API, `name` (case-sensitive) indicates a variable, such as #Name#. * It is replaced by the actual value when the API is published in an environment. * The variable names are not allowed to be repeated for an API group. */ readonly name: pulumi.Output<string>; /** * Specifies the region where the APIG (API) group is located. * If omitted, the provider-level region will be used. Changing this will create a new resource. */ readonly region: pulumi.Output<string>; /** * The registration time. */ readonly registrationTime: pulumi.Output<string>; /** * The latest update time of the group. */ readonly updateTime: pulumi.Output<string>; /** * The latest update time of the group, in RFC3339 format. */ readonly updatedAt: pulumi.Output<string>; /** * The associated domain information of the group. * The urlDomains structure is documented below. */ readonly urlDomains: pulumi.Output<outputs.DedicatedApig.GroupUrlDomain[]>; /** * Create a Group 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: GroupArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Group resources. */ export interface GroupState { /** * The creation time of the group, in RFC3339 format. */ createdAt?: pulumi.Input<string>; /** * Specifies the group description. * The description contain a maximum of 255 characters and the angle brackets (< and >) are not allowed. * Chinese characters must be in **UTF-8** or **Unicode** format. */ description?: pulumi.Input<string>; /** * Specifies whether to use the debugging domain name to access the APIs * within the group. The default value is `false`. */ domainAccessEnabled?: pulumi.Input<boolean>; /** * Specifies an array of one or more environments of the associated group. * The object structure is documented below. */ environments?: pulumi.Input<pulumi.Input<inputs.DedicatedApig.GroupEnvironment>[]>; /** * Specifies whether to delete all sub-resources (for API) when deleting this group. * Defaults to **false**. */ forceDestroy?: pulumi.Input<boolean>; /** * Specifies the ID of the dedicated instance to which the group belongs. * Changing this will create a new resource. */ instanceId?: pulumi.Input<string>; /** * Specifies the variable name. * The valid length is limited from `3` to `32` characters. * Only letters, digits, hyphens (-), and underscores (_) are allowed, and must start with a letter. * In the definition of an API, `name` (case-sensitive) indicates a variable, such as #Name#. * It is replaced by the actual value when the API is published in an environment. * The variable names are not allowed to be repeated for an API group. */ name?: pulumi.Input<string>; /** * Specifies the region where the APIG (API) group is located. * If omitted, the provider-level region will be used. Changing this will create a new resource. */ region?: pulumi.Input<string>; /** * The registration time. */ registrationTime?: pulumi.Input<string>; /** * The latest update time of the group. */ updateTime?: pulumi.Input<string>; /** * The latest update time of the group, in RFC3339 format. */ updatedAt?: pulumi.Input<string>; /** * The associated domain information of the group. * The urlDomains structure is documented below. */ urlDomains?: pulumi.Input<pulumi.Input<inputs.DedicatedApig.GroupUrlDomain>[]>; } /** * The set of arguments for constructing a Group resource. */ export interface GroupArgs { /** * Specifies the group description. * The description contain a maximum of 255 characters and the angle brackets (< and >) are not allowed. * Chinese characters must be in **UTF-8** or **Unicode** format. */ description?: pulumi.Input<string>; /** * Specifies whether to use the debugging domain name to access the APIs * within the group. The default value is `false`. */ domainAccessEnabled?: pulumi.Input<boolean>; /** * Specifies an array of one or more environments of the associated group. * The object structure is documented below. */ environments?: pulumi.Input<pulumi.Input<inputs.DedicatedApig.GroupEnvironment>[]>; /** * Specifies whether to delete all sub-resources (for API) when deleting this group. * Defaults to **false**. */ forceDestroy?: pulumi.Input<boolean>; /** * Specifies the ID of the dedicated instance to which the group belongs. * Changing this will create a new resource. */ instanceId: pulumi.Input<string>; /** * Specifies the variable name. * The valid length is limited from `3` to `32` characters. * Only letters, digits, hyphens (-), and underscores (_) are allowed, and must start with a letter. * In the definition of an API, `name` (case-sensitive) indicates a variable, such as #Name#. * It is replaced by the actual value when the API is published in an environment. * The variable names are not allowed to be repeated for an API group. */ name?: pulumi.Input<string>; /** * Specifies the region where the APIG (API) group is located. * If omitted, the provider-level region will be used. Changing this will create a new resource. */ region?: pulumi.Input<string>; /** * The associated domain information of the group. * The urlDomains structure is documented below. */ urlDomains?: pulumi.Input<pulumi.Input<inputs.DedicatedApig.GroupUrlDomain>[]>; }