{"name":"opentelekomcloud","version":"1.36.61","description":"A Pulumi provider dynamically bridged from opentelekomcloud.","attribution":"This Pulumi package is based on the [`opentelekomcloud` Terraform Provider](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud).","repository":"https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud","publisher":"opentelekomcloud","meta":{"moduleFormat":"(.*)(?:/[^/]*)"},"language":{"csharp":{"compatibility":"tfbridge20","liftSingleValueMethodReturns":true,"respectSchemaVersion":true},"go":{"generateExtraInputTypes":true,"importBasePath":"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud","liftSingleValueMethodReturns":true,"respectSchemaVersion":true,"rootPackageName":"opentelekomcloud"},"java":{"basePackage":"","buildFiles":"","gradleNexusPublishPluginVersion":"","gradleTest":""},"nodejs":{"compatibility":"tfbridge20","disableUnionOutputTypes":true,"liftSingleValueMethodReturns":true,"packageDescription":"A Pulumi provider dynamically bridged from opentelekomcloud.","readme":"\u003e This provider is a derived work of the [Terraform Provider](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud)\n\u003e distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n\u003e please consult the source [`terraform-provider-opentelekomcloud` repo](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues).","respectSchemaVersion":true},"python":{"compatibility":"tfbridge20","pyproject":{"enabled":true},"readme":"\u003e This provider is a derived work of the [Terraform Provider](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud)\n\u003e distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n\u003e please consult the source [`terraform-provider-opentelekomcloud` repo](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues).","respectSchemaVersion":true}},"config":{"variables":{"accessKey":{"type":"string","description":"The access key for API operations. You can retrieve this\nfrom the 'My Credential' section of the console."},"agencyDomainName":{"type":"string","description":"The name of domain who created the agency (Identity v3)."},"agencyName":{"type":"string","description":"The name of agency"},"allowReauth":{"type":"boolean"},"authUrl":{"type":"string","description":"The Identity authentication URL."},"backoffRetryTimeout":{"type":"number","description":"Timeout in seconds for backoff retry"},"cacertFile":{"type":"string","description":"A Custom CA certificate."},"cert":{"type":"string","description":"A client certificate to authenticate with."},"cloud":{"type":"string","description":"An entry in a `clouds.yaml` file to use."},"delegatedProject":{"type":"string","description":"The name of delegated project (Identity v3)."},"domainId":{"type":"string","description":"The ID of the Domain to scope to (Identity v3)."},"domainName":{"type":"string","description":"The name of the Domain to scope to (Identity v3)."},"endpointType":{"type":"string"},"enterpriseProjectId":{"type":"string","description":"enterprise project id"},"insecure":{"type":"boolean","description":"Trust self-signed certificates."},"key":{"type":"string","description":"A client private key to authenticate with."},"maxBackoffRetries":{"type":"number","description":"How many times HTTP request should be retried when rate limit reached"},"maxRetries":{"type":"number","description":"How many times HTTP connection should be retried until giving up."},"passcode":{"type":"string","description":"One-time MFA passcode"},"password":{"type":"string","description":"Password to login with.","secret":true},"region":{"type":"string","description":"The OpenTelekomCloud region to connect to."},"secretKey":{"type":"string","description":"The secret key for API operations. You can retrieve this\nfrom the 'My Credential' section of the console.","secret":true},"securityToken":{"type":"string","description":"Security token to use for OBS federated authentication.","secret":true},"swauth":{"type":"boolean","description":"Use Swift's authentication system instead of Keystone. Only used for\ninteraction with Swift."},"tenantId":{"type":"string","description":"The ID of the Tenant (Identity v2) or Project (Identity v3)\nto login with."},"tenantName":{"type":"string","description":"The name of the Tenant (Identity v2) or Project (Identity v3)\nto login with."},"token":{"type":"string","description":"Authentication token to use as an alternative to username/password.","secret":true},"userId":{"type":"string","description":"User ID to login with."},"userName":{"type":"string","description":"Username to login with."}}},"types":{"opentelekomcloud:index/AntiddosV1Timeouts:AntiddosV1Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/ApigwApiPublishmentV2History:ApigwApiPublishmentV2History":{"properties":{"description":{"type":"string","description":"Specifies the description of the current publish.\n"},"versionId":{"type":"string","description":"Specifies the version ID of the current publish.\n"}},"type":"object","required":["description","versionId"]},"opentelekomcloud:index/ApigwApiV2BackendParam:ApigwApiV2BackendParam":{"properties":{"description":{"type":"string","description":"Specifies the description of the constant or system parameter.\nThe description contains a maximum of \u003cspan pulumi-lang-nodejs=\"`255`\" pulumi-lang-dotnet=\"`255`\" pulumi-lang-go=\"`255`\" pulumi-lang-python=\"`255`\" pulumi-lang-yaml=\"`255`\" pulumi-lang-java=\"`255`\"\u003e`255`\u003c/span\u003e characters and the angle brackets (\u003c and \u003e) are not allowed.\n"},"location":{"type":"string","description":"Specifies the location of the backend parameter.\nThe valid values are `PATH`, `QUERY` and `HEADER`.\n"},"name":{"type":"string","description":"Specifies the backend policy name.\nThe valid length is limited from can contain \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e, only letters, digits and underscores (_) are allowed.\n"},"systemParamType":{"type":"string","description":"Specifies the type of the system parameter.\nThe valid values are \u003cspan pulumi-lang-nodejs=\"`frontend`\" pulumi-lang-dotnet=\"`Frontend`\" pulumi-lang-go=\"`frontend`\" pulumi-lang-python=\"`frontend`\" pulumi-lang-yaml=\"`frontend`\" pulumi-lang-java=\"`frontend`\"\u003e`frontend`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`backend`\" pulumi-lang-dotnet=\"`Backend`\" pulumi-lang-go=\"`backend`\" pulumi-lang-python=\"`backend`\" pulumi-lang-yaml=\"`backend`\" pulumi-lang-java=\"`backend`\"\u003e`backend`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`internal`\" pulumi-lang-dotnet=\"`Internal`\" pulumi-lang-go=\"`internal`\" pulumi-lang-python=\"`internal`\" pulumi-lang-yaml=\"`internal`\" pulumi-lang-java=\"`internal`\"\u003e`internal`\u003c/span\u003e, defaults to \u003cspan pulumi-lang-nodejs=\"`internal`\" pulumi-lang-dotnet=\"`Internal`\" pulumi-lang-go=\"`internal`\" pulumi-lang-python=\"`internal`\" pulumi-lang-yaml=\"`internal`\" pulumi-lang-java=\"`internal`\"\u003e`internal`\u003c/span\u003e.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"apigwApiMock\"\" pulumi-lang-dotnet=\"\"ApigwApiMock\"\" pulumi-lang-go=\"\"apigwApiMock\"\" pulumi-lang-python=\"\"apigw_api_mock\"\" pulumi-lang-yaml=\"\"apigwApiMock\"\" pulumi-lang-java=\"\"apigwApiMock\"\"\u003e\"apigw_api_mock\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`mock`\" pulumi-lang-dotnet=\"`Mock`\" pulumi-lang-go=\"`mock`\" pulumi-lang-python=\"`mock`\" pulumi-lang-yaml=\"`mock`\" pulumi-lang-java=\"`mock`\"\u003e`mock`\u003c/span\u003e block supports:\n"},"type":{"type":"string","description":"Specifies the condition type of the backend policy.\nThe valid values are `EXACT`, `ENUM` and `PATTERN`, defaults to `EXACT`.\n"},"value":{"type":"string","description":"Specifies the value of the backend policy.\nFor a condition with the input parameter source:\n+ If the condition type is `ENUM`, separate condition values with commas.\n+ If the condition type is `PATTERN`, enter a regular expression compatible with PERL.\n\nFor a condition with the Source IP address source, enter IPv4 addresses and separate them with commas. The CIDR\naddress format is supported.\n"}},"type":"object","required":["location","name","type","value"]},"opentelekomcloud:index/ApigwApiV2FuncGraph:ApigwApiV2FuncGraph":{"properties":{"authorizerId":{"type":"string","description":"Specifies the ID of the backend custom authorization.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"apigwApiConditions\"\" pulumi-lang-dotnet=\"\"ApigwApiConditions\"\" pulumi-lang-go=\"\"apigwApiConditions\"\" pulumi-lang-python=\"\"apigw_api_conditions\"\" pulumi-lang-yaml=\"\"apigwApiConditions\"\" pulumi-lang-java=\"\"apigwApiConditions\"\"\u003e\"apigw_api_conditions\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`conditions`\" pulumi-lang-dotnet=\"`Conditions`\" pulumi-lang-go=\"`conditions`\" pulumi-lang-python=\"`conditions`\" pulumi-lang-yaml=\"`conditions`\" pulumi-lang-java=\"`conditions`\"\u003e`conditions`\u003c/span\u003e block supports:\n"},"description":{"type":"string","description":"Specifies the description of the constant or system parameter.\nThe description contains a maximum of \u003cspan pulumi-lang-nodejs=\"`255`\" pulumi-lang-dotnet=\"`255`\" pulumi-lang-go=\"`255`\" pulumi-lang-python=\"`255`\" pulumi-lang-yaml=\"`255`\" pulumi-lang-java=\"`255`\"\u003e`255`\u003c/span\u003e characters and the angle brackets (\u003c and \u003e) are not allowed.\n"},"functionUrn":{"type":"string","description":"Specifies the URN of the FunctionGraph function.\n"},"invocationType":{"type":"string","description":"Specifies the invocation type.\nThe valid values are \u003cspan pulumi-lang-nodejs=\"`async`\" pulumi-lang-dotnet=\"`Async`\" pulumi-lang-go=\"`async`\" pulumi-lang-python=\"`async`\" pulumi-lang-yaml=\"`async`\" pulumi-lang-java=\"`async`\"\u003e`async`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`sync`\" pulumi-lang-dotnet=\"`Sync`\" pulumi-lang-go=\"`sync`\" pulumi-lang-python=\"`sync`\" pulumi-lang-yaml=\"`sync`\" pulumi-lang-java=\"`sync`\"\u003e`sync`\u003c/span\u003e, defaults to \u003cspan pulumi-lang-nodejs=\"`sync`\" pulumi-lang-dotnet=\"`Sync`\" pulumi-lang-go=\"`sync`\" pulumi-lang-python=\"`sync`\" pulumi-lang-yaml=\"`sync`\" pulumi-lang-java=\"`sync`\"\u003e`sync`\u003c/span\u003e.\n"},"networkType":{"type":"string","description":"Function network architecture.\nThe valid values are `VPC` and `NON-VPC`, defaults to `NON-VPC`.\n"},"timeout":{"type":"number","description":"Specifies the timeout, in ms, which allowed for APIGW to request the backend service. The\nvalid value is range from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to `600,000`, defaults to `5,000`.\n"},"version":{"type":"string","description":"Specifies the version of the FunctionGraph function.\n"}},"type":"object","required":["functionUrn"],"language":{"nodejs":{"requiredOutputs":["functionUrn","networkType"]}}},"opentelekomcloud:index/ApigwApiV2FuncGraphPolicy:ApigwApiV2FuncGraphPolicy":{"properties":{"authorizerId":{"type":"string","description":"Specifies the ID of the backend custom authorization.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"apigwApiConditions\"\" pulumi-lang-dotnet=\"\"ApigwApiConditions\"\" pulumi-lang-go=\"\"apigwApiConditions\"\" pulumi-lang-python=\"\"apigw_api_conditions\"\" pulumi-lang-yaml=\"\"apigwApiConditions\"\" pulumi-lang-java=\"\"apigwApiConditions\"\"\u003e\"apigw_api_conditions\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`conditions`\" pulumi-lang-dotnet=\"`Conditions`\" pulumi-lang-go=\"`conditions`\" pulumi-lang-python=\"`conditions`\" pulumi-lang-yaml=\"`conditions`\" pulumi-lang-java=\"`conditions`\"\u003e`conditions`\u003c/span\u003e block supports:\n"},"backendParams":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FApigwApiV2FuncGraphPolicyBackendParam:ApigwApiV2FuncGraphPolicyBackendParam"},"description":"Specifies an array of one or more backend parameters. The maximum of request\nparameters is 50. The object structure is documented above.\n"},"conditions":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FApigwApiV2FuncGraphPolicyCondition:ApigwApiV2FuncGraphPolicyCondition"},"description":"Specifies an array of one or more policy conditions.\nUp to five conditions can be set.\nThe object structure is documented below.\n"},"effectiveMode":{"type":"string","description":"Specifies the effective mode of the backend policy. The valid values are `ALL`\nand `ANY`, defaults to `ANY`.\n"},"functionUrn":{"type":"string","description":"Specifies the URN of the FunctionGraph function.\n"},"invocationType":{"type":"string","description":"Specifies the invocation type.\nThe valid values are \u003cspan pulumi-lang-nodejs=\"`async`\" pulumi-lang-dotnet=\"`Async`\" pulumi-lang-go=\"`async`\" pulumi-lang-python=\"`async`\" pulumi-lang-yaml=\"`async`\" pulumi-lang-java=\"`async`\"\u003e`async`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`sync`\" pulumi-lang-dotnet=\"`Sync`\" pulumi-lang-go=\"`sync`\" pulumi-lang-python=\"`sync`\" pulumi-lang-yaml=\"`sync`\" pulumi-lang-java=\"`sync`\"\u003e`sync`\u003c/span\u003e, defaults to \u003cspan pulumi-lang-nodejs=\"`sync`\" pulumi-lang-dotnet=\"`Sync`\" pulumi-lang-go=\"`sync`\" pulumi-lang-python=\"`sync`\" pulumi-lang-yaml=\"`sync`\" pulumi-lang-java=\"`sync`\"\u003e`sync`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the backend policy name.\nThe valid length is limited from can contain \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e, only letters, digits and underscores (_) are allowed.\n"},"networkType":{"type":"string","description":"Function network architecture.\nThe valid values are `VPC` and `NON-VPC`, defaults to `NON-VPC`.\n"},"timeout":{"type":"number","description":"Specifies the timeout, in ms, which allowed for APIGW to request the backend service. The\nvalid value is range from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to `600,000`, defaults to `5,000`.\n"},"version":{"type":"string","description":"Specifies the version of the FunctionGraph function.\n"}},"type":"object","required":["conditions","functionUrn","name"]},"opentelekomcloud:index/ApigwApiV2FuncGraphPolicyBackendParam:ApigwApiV2FuncGraphPolicyBackendParam":{"properties":{"description":{"type":"string","description":"Specifies the description of the constant or system parameter.\nThe description contains a maximum of \u003cspan pulumi-lang-nodejs=\"`255`\" pulumi-lang-dotnet=\"`255`\" pulumi-lang-go=\"`255`\" pulumi-lang-python=\"`255`\" pulumi-lang-yaml=\"`255`\" pulumi-lang-java=\"`255`\"\u003e`255`\u003c/span\u003e characters and the angle brackets (\u003c and \u003e) are not allowed.\n"},"location":{"type":"string","description":"Specifies the location of the backend parameter.\nThe valid values are `PATH`, `QUERY` and `HEADER`.\n"},"name":{"type":"string","description":"Specifies the backend policy name.\nThe valid length is limited from can contain \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e, only letters, digits and underscores (_) are allowed.\n"},"systemParamType":{"type":"string","description":"Specifies the type of the system parameter.\nThe valid values are \u003cspan pulumi-lang-nodejs=\"`frontend`\" pulumi-lang-dotnet=\"`Frontend`\" pulumi-lang-go=\"`frontend`\" pulumi-lang-python=\"`frontend`\" pulumi-lang-yaml=\"`frontend`\" pulumi-lang-java=\"`frontend`\"\u003e`frontend`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`backend`\" pulumi-lang-dotnet=\"`Backend`\" pulumi-lang-go=\"`backend`\" pulumi-lang-python=\"`backend`\" pulumi-lang-yaml=\"`backend`\" pulumi-lang-java=\"`backend`\"\u003e`backend`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`internal`\" pulumi-lang-dotnet=\"`Internal`\" pulumi-lang-go=\"`internal`\" pulumi-lang-python=\"`internal`\" pulumi-lang-yaml=\"`internal`\" pulumi-lang-java=\"`internal`\"\u003e`internal`\u003c/span\u003e, defaults to \u003cspan pulumi-lang-nodejs=\"`internal`\" pulumi-lang-dotnet=\"`Internal`\" pulumi-lang-go=\"`internal`\" pulumi-lang-python=\"`internal`\" pulumi-lang-yaml=\"`internal`\" pulumi-lang-java=\"`internal`\"\u003e`internal`\u003c/span\u003e.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"apigwApiMock\"\" pulumi-lang-dotnet=\"\"ApigwApiMock\"\" pulumi-lang-go=\"\"apigwApiMock\"\" pulumi-lang-python=\"\"apigw_api_mock\"\" pulumi-lang-yaml=\"\"apigwApiMock\"\" pulumi-lang-java=\"\"apigwApiMock\"\"\u003e\"apigw_api_mock\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`mock`\" pulumi-lang-dotnet=\"`Mock`\" pulumi-lang-go=\"`mock`\" pulumi-lang-python=\"`mock`\" pulumi-lang-yaml=\"`mock`\" pulumi-lang-java=\"`mock`\"\u003e`mock`\u003c/span\u003e block supports:\n"},"type":{"type":"string","description":"Specifies the condition type of the backend policy.\nThe valid values are `EXACT`, `ENUM` and `PATTERN`, defaults to `EXACT`.\n"},"value":{"type":"string","description":"Specifies the value of the backend policy.\nFor a condition with the input parameter source:\n+ If the condition type is `ENUM`, separate condition values with commas.\n+ If the condition type is `PATTERN`, enter a regular expression compatible with PERL.\n\nFor a condition with the Source IP address source, enter IPv4 addresses and separate them with commas. The CIDR\naddress format is supported.\n"}},"type":"object","required":["location","name","type","value"]},"opentelekomcloud:index/ApigwApiV2FuncGraphPolicyCondition:ApigwApiV2FuncGraphPolicyCondition":{"properties":{"origin":{"type":"string","description":"Specifies the backend policy type.\nThe valid values are \u003cspan pulumi-lang-nodejs=\"`param`\" pulumi-lang-dotnet=\"`Param`\" pulumi-lang-go=\"`param`\" pulumi-lang-python=\"`param`\" pulumi-lang-yaml=\"`param`\" pulumi-lang-java=\"`param`\"\u003e`param`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e, defaults to \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e.\n"},"paramName":{"type":"string","description":"Specifies the request parameter name.\nThis parameter is required if the policy type is \u003cspan pulumi-lang-nodejs=\"`param`\" pulumi-lang-dotnet=\"`Param`\" pulumi-lang-go=\"`param`\" pulumi-lang-python=\"`param`\" pulumi-lang-yaml=\"`param`\" pulumi-lang-java=\"`param`\"\u003e`param`\u003c/span\u003e. The valid values are \u003cspan pulumi-lang-nodejs=\"`userAge`\" pulumi-lang-dotnet=\"`UserAge`\" pulumi-lang-go=\"`userAge`\" pulumi-lang-python=\"`user_age`\" pulumi-lang-yaml=\"`userAge`\" pulumi-lang-java=\"`userAge`\"\u003e`user_age`\u003c/span\u003e and `X-TEST-ENUM`.\n"},"type":{"type":"string","description":"Specifies the condition type of the backend policy.\nThe valid values are `EXACT`, `ENUM` and `PATTERN`, defaults to `EXACT`.\n"},"value":{"type":"string","description":"Specifies the value of the backend policy.\nFor a condition with the input parameter source:\n+ If the condition type is `ENUM`, separate condition values with commas.\n+ If the condition type is `PATTERN`, enter a regular expression compatible with PERL.\n\nFor a condition with the Source IP address source, enter IPv4 addresses and separate them with commas. The CIDR\naddress format is supported.\n"}},"type":"object","required":["value"]},"opentelekomcloud:index/ApigwApiV2Http:ApigwApiV2Http":{"properties":{"authorizerId":{"type":"string","description":"Specifies the ID of the backend custom authorization.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"apigwApiConditions\"\" pulumi-lang-dotnet=\"\"ApigwApiConditions\"\" pulumi-lang-go=\"\"apigwApiConditions\"\" pulumi-lang-python=\"\"apigw_api_conditions\"\" pulumi-lang-yaml=\"\"apigwApiConditions\"\" pulumi-lang-java=\"\"apigwApiConditions\"\"\u003e\"apigw_api_conditions\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`conditions`\" pulumi-lang-dotnet=\"`Conditions`\" pulumi-lang-go=\"`conditions`\" pulumi-lang-python=\"`conditions`\" pulumi-lang-yaml=\"`conditions`\" pulumi-lang-java=\"`conditions`\"\u003e`conditions`\u003c/span\u003e block supports:\n"},"description":{"type":"string","description":"Specifies the description of the constant or system parameter.\nThe description contains a maximum of \u003cspan pulumi-lang-nodejs=\"`255`\" pulumi-lang-dotnet=\"`255`\" pulumi-lang-go=\"`255`\" pulumi-lang-python=\"`255`\" pulumi-lang-yaml=\"`255`\" pulumi-lang-java=\"`255`\"\u003e`255`\u003c/span\u003e characters and the angle brackets (\u003c and \u003e) are not allowed.\n"},"requestMethod":{"type":"string","description":"Specifies the backend request method of the API.\nThe valid values are `GET`, `POST`, `PUT`, `DELETE`, `HEAD`, `PATCH`, `OPTIONS` and `ANY`.\n"},"requestProtocol":{"type":"string","description":"Specifies the backend request protocol. The valid values are `HTTP` and\n`HTTPS`, defaults to `HTTPS`.\n"},"requestUri":{"type":"string","description":"Specifies the backend request address, which can contain a maximum of \u003cspan pulumi-lang-nodejs=\"`512`\" pulumi-lang-dotnet=\"`512`\" pulumi-lang-go=\"`512`\" pulumi-lang-python=\"`512`\" pulumi-lang-yaml=\"`512`\" pulumi-lang-java=\"`512`\"\u003e`512`\u003c/span\u003e characters and\nmust comply with URI specifications.\n+ The address can contain request parameters enclosed with brackets ({}).\n+ The address can contain special characters, such as asterisks (*), percent signs (%), hyphens (-) and\nunderscores (_) and must comply with URI specifications.\n+ The address can contain environment variables, each starting with a letter and consisting of \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e characters.\nOnly letters, digits, hyphens (-), and underscores (_) are allowed in environment variables.\n"},"retryCount":{"type":"number","description":"Specifies the number of retry attempts to request the backend service.\nThe valid value ranges from `-1` to \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e, defaults to `-1`.\n`-1` indicates that idempotent APIs will retry once and non-idempotent APIs will not retry.\n`POST` and `PATCH` are not-idempotent.\n`GET`, `HEAD`, `PUT`, `OPTIONS` and `DELETE` are idempotent.\n\n\u003e When the (web) backend uses the channel, the \u003cspan pulumi-lang-nodejs=\"`retryCount`\" pulumi-lang-dotnet=\"`RetryCount`\" pulumi-lang-go=\"`retryCount`\" pulumi-lang-python=\"`retry_count`\" pulumi-lang-yaml=\"`retryCount`\" pulumi-lang-java=\"`retryCount`\"\u003e`retry_count`\u003c/span\u003e must be less than the number of available backend\nservers in the channel.\n"},"sslEnable":{"type":"boolean","description":"Specifies whether to enable two-way authentication, defaults to **false**.\n"},"timeout":{"type":"number","description":"Specifies the timeout, in ms, which allowed for APIGW to request the backend service. The\nvalid value is range from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to `600,000`, defaults to `5,000`.\n"},"urlDomain":{"type":"string","description":"Specifies the backend service address.\nThe value which consists of a domain name or IP address, and a port number, with not more than \u003cspan pulumi-lang-nodejs=\"`255`\" pulumi-lang-dotnet=\"`255`\" pulumi-lang-go=\"`255`\" pulumi-lang-python=\"`255`\" pulumi-lang-yaml=\"`255`\" pulumi-lang-java=\"`255`\"\u003e`255`\u003c/span\u003e characters.\nThe backend service address must be in the format \"{host name}:{Port number}\", for example, `apig.example.com:7443`.\nIf the port number is not specified, the default HTTPS port \u003cspan pulumi-lang-nodejs=\"`443`\" pulumi-lang-dotnet=\"`443`\" pulumi-lang-go=\"`443`\" pulumi-lang-python=\"`443`\" pulumi-lang-yaml=\"`443`\" pulumi-lang-java=\"`443`\"\u003e`443`\u003c/span\u003e, or the default HTTP port \u003cspan pulumi-lang-nodejs=\"`80`\" pulumi-lang-dotnet=\"`80`\" pulumi-lang-go=\"`80`\" pulumi-lang-python=\"`80`\" pulumi-lang-yaml=\"`80`\" pulumi-lang-java=\"`80`\"\u003e`80`\u003c/span\u003e is used.\nThe backend service address can contain environment variables, each starting with a letter and consisting of \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e to\n\u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e characters. Only letters, digits, hyphens (-), and underscores (_) are allowed.\n"},"version":{"type":"string","description":"Specifies the version of the FunctionGraph function.\n"},"vpcChannelId":{"type":"string","description":"Specifies the VPC channel ID.\nThis parameter and \u003cspan pulumi-lang-nodejs=\"`urlDomain`\" pulumi-lang-dotnet=\"`UrlDomain`\" pulumi-lang-go=\"`urlDomain`\" pulumi-lang-python=\"`url_domain`\" pulumi-lang-yaml=\"`urlDomain`\" pulumi-lang-java=\"`urlDomain`\"\u003e`url_domain`\u003c/span\u003e are alternative.\n"},"vpcChannelProxyHost":{"type":"string","description":"Specifies the proxy host header.\nThe host header can be customized for requests to be forwarded to cloud servers through the VPC channel.\nBy default, the original host header of the request is used.\n"}},"type":"object","required":["requestMethod","requestUri"]},"opentelekomcloud:index/ApigwApiV2HttpPolicy:ApigwApiV2HttpPolicy":{"properties":{"authorizerId":{"type":"string","description":"Specifies the ID of the backend custom authorization.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"apigwApiConditions\"\" pulumi-lang-dotnet=\"\"ApigwApiConditions\"\" pulumi-lang-go=\"\"apigwApiConditions\"\" pulumi-lang-python=\"\"apigw_api_conditions\"\" pulumi-lang-yaml=\"\"apigwApiConditions\"\" pulumi-lang-java=\"\"apigwApiConditions\"\"\u003e\"apigw_api_conditions\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`conditions`\" pulumi-lang-dotnet=\"`Conditions`\" pulumi-lang-go=\"`conditions`\" pulumi-lang-python=\"`conditions`\" pulumi-lang-yaml=\"`conditions`\" pulumi-lang-java=\"`conditions`\"\u003e`conditions`\u003c/span\u003e block supports:\n"},"backendParams":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FApigwApiV2HttpPolicyBackendParam:ApigwApiV2HttpPolicyBackendParam"},"description":"Specifies an array of one or more backend parameters. The maximum of request\nparameters is 50. The object structure is documented above.\n"},"conditions":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FApigwApiV2HttpPolicyCondition:ApigwApiV2HttpPolicyCondition"},"description":"Specifies an array of one or more policy conditions.\nUp to five conditions can be set.\nThe object structure is documented below.\n"},"effectiveMode":{"type":"string","description":"Specifies the effective mode of the backend policy. The valid values are `ALL`\nand `ANY`, defaults to `ANY`.\n"},"name":{"type":"string","description":"Specifies the backend policy name.\nThe valid length is limited from can contain \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e, only letters, digits and underscores (_) are allowed.\n"},"requestMethod":{"type":"string","description":"Specifies the backend request method of the API.\nThe valid values are `GET`, `POST`, `PUT`, `DELETE`, `HEAD`, `PATCH`, `OPTIONS` and `ANY`.\n"},"requestProtocol":{"type":"string","description":"Specifies the backend request protocol. The valid values are `HTTP` and\n`HTTPS`, defaults to `HTTPS`.\n"},"requestUri":{"type":"string","description":"Specifies the backend request address, which can contain a maximum of \u003cspan pulumi-lang-nodejs=\"`512`\" pulumi-lang-dotnet=\"`512`\" pulumi-lang-go=\"`512`\" pulumi-lang-python=\"`512`\" pulumi-lang-yaml=\"`512`\" pulumi-lang-java=\"`512`\"\u003e`512`\u003c/span\u003e characters and\nmust comply with URI specifications.\n+ The address can contain request parameters enclosed with brackets ({}).\n+ The address can contain special characters, such as asterisks (*), percent signs (%), hyphens (-) and\nunderscores (_) and must comply with URI specifications.\n+ The address can contain environment variables, each starting with a letter and consisting of \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e characters.\nOnly letters, digits, hyphens (-), and underscores (_) are allowed in environment variables.\n"},"retryCount":{"type":"number","description":"Specifies the number of retry attempts to request the backend service.\nThe valid value ranges from `-1` to \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e, defaults to `-1`.\n`-1` indicates that idempotent APIs will retry once and non-idempotent APIs will not retry.\n`POST` and `PATCH` are not-idempotent.\n`GET`, `HEAD`, `PUT`, `OPTIONS` and `DELETE` are idempotent.\n\n\u003e When the (web) backend uses the channel, the \u003cspan pulumi-lang-nodejs=\"`retryCount`\" pulumi-lang-dotnet=\"`RetryCount`\" pulumi-lang-go=\"`retryCount`\" pulumi-lang-python=\"`retry_count`\" pulumi-lang-yaml=\"`retryCount`\" pulumi-lang-java=\"`retryCount`\"\u003e`retry_count`\u003c/span\u003e must be less than the number of available backend\nservers in the channel.\n"},"timeout":{"type":"number","description":"Specifies the timeout, in ms, which allowed for APIGW to request the backend service. The\nvalid value is range from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to `600,000`, defaults to `5,000`.\n"},"urlDomain":{"type":"string","description":"Specifies the backend service address.\nThe value which consists of a domain name or IP address, and a port number, with not more than \u003cspan pulumi-lang-nodejs=\"`255`\" pulumi-lang-dotnet=\"`255`\" pulumi-lang-go=\"`255`\" pulumi-lang-python=\"`255`\" pulumi-lang-yaml=\"`255`\" pulumi-lang-java=\"`255`\"\u003e`255`\u003c/span\u003e characters.\nThe backend service address must be in the format \"{host name}:{Port number}\", for example, `apig.example.com:7443`.\nIf the port number is not specified, the default HTTPS port \u003cspan pulumi-lang-nodejs=\"`443`\" pulumi-lang-dotnet=\"`443`\" pulumi-lang-go=\"`443`\" pulumi-lang-python=\"`443`\" pulumi-lang-yaml=\"`443`\" pulumi-lang-java=\"`443`\"\u003e`443`\u003c/span\u003e, or the default HTTP port \u003cspan pulumi-lang-nodejs=\"`80`\" pulumi-lang-dotnet=\"`80`\" pulumi-lang-go=\"`80`\" pulumi-lang-python=\"`80`\" pulumi-lang-yaml=\"`80`\" pulumi-lang-java=\"`80`\"\u003e`80`\u003c/span\u003e is used.\nThe backend service address can contain environment variables, each starting with a letter and consisting of \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e to\n\u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e characters. Only letters, digits, hyphens (-), and underscores (_) are allowed.\n"},"vpcChannelId":{"type":"string","description":"Specifies the VPC channel ID.\nThis parameter and \u003cspan pulumi-lang-nodejs=\"`urlDomain`\" pulumi-lang-dotnet=\"`UrlDomain`\" pulumi-lang-go=\"`urlDomain`\" pulumi-lang-python=\"`url_domain`\" pulumi-lang-yaml=\"`urlDomain`\" pulumi-lang-java=\"`urlDomain`\"\u003e`url_domain`\u003c/span\u003e are alternative.\n"},"vpcChannelProxyHost":{"type":"string","description":"Specifies the proxy host header.\nThe host header can be customized for requests to be forwarded to cloud servers through the VPC channel.\nBy default, the original host header of the request is used.\n"}},"type":"object","required":["conditions","name","requestMethod","requestUri"]},"opentelekomcloud:index/ApigwApiV2HttpPolicyBackendParam:ApigwApiV2HttpPolicyBackendParam":{"properties":{"description":{"type":"string","description":"Specifies the description of the constant or system parameter.\nThe description contains a maximum of \u003cspan pulumi-lang-nodejs=\"`255`\" pulumi-lang-dotnet=\"`255`\" pulumi-lang-go=\"`255`\" pulumi-lang-python=\"`255`\" pulumi-lang-yaml=\"`255`\" pulumi-lang-java=\"`255`\"\u003e`255`\u003c/span\u003e characters and the angle brackets (\u003c and \u003e) are not allowed.\n"},"location":{"type":"string","description":"Specifies the location of the backend parameter.\nThe valid values are `PATH`, `QUERY` and `HEADER`.\n"},"name":{"type":"string","description":"Specifies the backend policy name.\nThe valid length is limited from can contain \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e, only letters, digits and underscores (_) are allowed.\n"},"systemParamType":{"type":"string","description":"Specifies the type of the system parameter.\nThe valid values are \u003cspan pulumi-lang-nodejs=\"`frontend`\" pulumi-lang-dotnet=\"`Frontend`\" pulumi-lang-go=\"`frontend`\" pulumi-lang-python=\"`frontend`\" pulumi-lang-yaml=\"`frontend`\" pulumi-lang-java=\"`frontend`\"\u003e`frontend`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`backend`\" pulumi-lang-dotnet=\"`Backend`\" pulumi-lang-go=\"`backend`\" pulumi-lang-python=\"`backend`\" pulumi-lang-yaml=\"`backend`\" pulumi-lang-java=\"`backend`\"\u003e`backend`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`internal`\" pulumi-lang-dotnet=\"`Internal`\" pulumi-lang-go=\"`internal`\" pulumi-lang-python=\"`internal`\" pulumi-lang-yaml=\"`internal`\" pulumi-lang-java=\"`internal`\"\u003e`internal`\u003c/span\u003e, defaults to \u003cspan pulumi-lang-nodejs=\"`internal`\" pulumi-lang-dotnet=\"`Internal`\" pulumi-lang-go=\"`internal`\" pulumi-lang-python=\"`internal`\" pulumi-lang-yaml=\"`internal`\" pulumi-lang-java=\"`internal`\"\u003e`internal`\u003c/span\u003e.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"apigwApiMock\"\" pulumi-lang-dotnet=\"\"ApigwApiMock\"\" pulumi-lang-go=\"\"apigwApiMock\"\" pulumi-lang-python=\"\"apigw_api_mock\"\" pulumi-lang-yaml=\"\"apigwApiMock\"\" pulumi-lang-java=\"\"apigwApiMock\"\"\u003e\"apigw_api_mock\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`mock`\" pulumi-lang-dotnet=\"`Mock`\" pulumi-lang-go=\"`mock`\" pulumi-lang-python=\"`mock`\" pulumi-lang-yaml=\"`mock`\" pulumi-lang-java=\"`mock`\"\u003e`mock`\u003c/span\u003e block supports:\n"},"type":{"type":"string","description":"Specifies the condition type of the backend policy.\nThe valid values are `EXACT`, `ENUM` and `PATTERN`, defaults to `EXACT`.\n"},"value":{"type":"string","description":"Specifies the value of the backend policy.\nFor a condition with the input parameter source:\n+ If the condition type is `ENUM`, separate condition values with commas.\n+ If the condition type is `PATTERN`, enter a regular expression compatible with PERL.\n\nFor a condition with the Source IP address source, enter IPv4 addresses and separate them with commas. The CIDR\naddress format is supported.\n"}},"type":"object","required":["location","name","type","value"]},"opentelekomcloud:index/ApigwApiV2HttpPolicyCondition:ApigwApiV2HttpPolicyCondition":{"properties":{"origin":{"type":"string","description":"Specifies the backend policy type.\nThe valid values are \u003cspan pulumi-lang-nodejs=\"`param`\" pulumi-lang-dotnet=\"`Param`\" pulumi-lang-go=\"`param`\" pulumi-lang-python=\"`param`\" pulumi-lang-yaml=\"`param`\" pulumi-lang-java=\"`param`\"\u003e`param`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e, defaults to \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e.\n"},"paramName":{"type":"string","description":"Specifies the request parameter name.\nThis parameter is required if the policy type is \u003cspan pulumi-lang-nodejs=\"`param`\" pulumi-lang-dotnet=\"`Param`\" pulumi-lang-go=\"`param`\" pulumi-lang-python=\"`param`\" pulumi-lang-yaml=\"`param`\" pulumi-lang-java=\"`param`\"\u003e`param`\u003c/span\u003e. The valid values are \u003cspan pulumi-lang-nodejs=\"`userAge`\" pulumi-lang-dotnet=\"`UserAge`\" pulumi-lang-go=\"`userAge`\" pulumi-lang-python=\"`user_age`\" pulumi-lang-yaml=\"`userAge`\" pulumi-lang-java=\"`userAge`\"\u003e`user_age`\u003c/span\u003e and `X-TEST-ENUM`.\n"},"type":{"type":"string","description":"Specifies the condition type of the backend policy.\nThe valid values are `EXACT`, `ENUM` and `PATTERN`, defaults to `EXACT`.\n"},"value":{"type":"string","description":"Specifies the value of the backend policy.\nFor a condition with the input parameter source:\n+ If the condition type is `ENUM`, separate condition values with commas.\n+ If the condition type is `PATTERN`, enter a regular expression compatible with PERL.\n\nFor a condition with the Source IP address source, enter IPv4 addresses and separate them with commas. The CIDR\naddress format is supported.\n"}},"type":"object","required":["value"]},"opentelekomcloud:index/ApigwApiV2Mock:ApigwApiV2Mock":{"properties":{"authorizerId":{"type":"string","description":"Specifies the ID of the backend custom authorization.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"apigwApiConditions\"\" pulumi-lang-dotnet=\"\"ApigwApiConditions\"\" pulumi-lang-go=\"\"apigwApiConditions\"\" pulumi-lang-python=\"\"apigw_api_conditions\"\" pulumi-lang-yaml=\"\"apigwApiConditions\"\" pulumi-lang-java=\"\"apigwApiConditions\"\"\u003e\"apigw_api_conditions\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`conditions`\" pulumi-lang-dotnet=\"`Conditions`\" pulumi-lang-go=\"`conditions`\" pulumi-lang-python=\"`conditions`\" pulumi-lang-yaml=\"`conditions`\" pulumi-lang-java=\"`conditions`\"\u003e`conditions`\u003c/span\u003e block supports:\n"},"description":{"type":"string","description":"Specifies the description of the constant or system parameter.\nThe description contains a maximum of \u003cspan pulumi-lang-nodejs=\"`255`\" pulumi-lang-dotnet=\"`255`\" pulumi-lang-go=\"`255`\" pulumi-lang-python=\"`255`\" pulumi-lang-yaml=\"`255`\" pulumi-lang-java=\"`255`\"\u003e`255`\u003c/span\u003e characters and the angle brackets (\u003c and \u003e) are not allowed.\n"},"response":{"type":"string","description":"Specifies the response of the backend policy.\nThe description contains a maximum of `2,048` characters and the angle brackets (\u003c and \u003e) are not allowed.\n"},"version":{"type":"string","description":"Specifies the version of the FunctionGraph function.\n"}},"type":"object"},"opentelekomcloud:index/ApigwApiV2MockPolicy:ApigwApiV2MockPolicy":{"properties":{"authorizerId":{"type":"string","description":"Specifies the ID of the backend custom authorization.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"apigwApiConditions\"\" pulumi-lang-dotnet=\"\"ApigwApiConditions\"\" pulumi-lang-go=\"\"apigwApiConditions\"\" pulumi-lang-python=\"\"apigw_api_conditions\"\" pulumi-lang-yaml=\"\"apigwApiConditions\"\" pulumi-lang-java=\"\"apigwApiConditions\"\"\u003e\"apigw_api_conditions\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`conditions`\" pulumi-lang-dotnet=\"`Conditions`\" pulumi-lang-go=\"`conditions`\" pulumi-lang-python=\"`conditions`\" pulumi-lang-yaml=\"`conditions`\" pulumi-lang-java=\"`conditions`\"\u003e`conditions`\u003c/span\u003e block supports:\n"},"backendParams":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FApigwApiV2MockPolicyBackendParam:ApigwApiV2MockPolicyBackendParam"},"description":"Specifies an array of one or more backend parameters. The maximum of request\nparameters is 50. The object structure is documented above.\n"},"conditions":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FApigwApiV2MockPolicyCondition:ApigwApiV2MockPolicyCondition"},"description":"Specifies an array of one or more policy conditions.\nUp to five conditions can be set.\nThe object structure is documented below.\n"},"effectiveMode":{"type":"string","description":"Specifies the effective mode of the backend policy. The valid values are `ALL`\nand `ANY`, defaults to `ANY`.\n"},"name":{"type":"string","description":"Specifies the backend policy name.\nThe valid length is limited from can contain \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e, only letters, digits and underscores (_) are allowed.\n"},"response":{"type":"string","description":"Specifies the response of the backend policy.\nThe description contains a maximum of `2,048` characters and the angle brackets (\u003c and \u003e) are not allowed.\n"}},"type":"object","required":["conditions","name"]},"opentelekomcloud:index/ApigwApiV2MockPolicyBackendParam:ApigwApiV2MockPolicyBackendParam":{"properties":{"description":{"type":"string","description":"Specifies the description of the constant or system parameter.\nThe description contains a maximum of \u003cspan pulumi-lang-nodejs=\"`255`\" pulumi-lang-dotnet=\"`255`\" pulumi-lang-go=\"`255`\" pulumi-lang-python=\"`255`\" pulumi-lang-yaml=\"`255`\" pulumi-lang-java=\"`255`\"\u003e`255`\u003c/span\u003e characters and the angle brackets (\u003c and \u003e) are not allowed.\n"},"location":{"type":"string","description":"Specifies the location of the backend parameter.\nThe valid values are `PATH`, `QUERY` and `HEADER`.\n"},"name":{"type":"string","description":"Specifies the backend policy name.\nThe valid length is limited from can contain \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e, only letters, digits and underscores (_) are allowed.\n"},"systemParamType":{"type":"string","description":"Specifies the type of the system parameter.\nThe valid values are \u003cspan pulumi-lang-nodejs=\"`frontend`\" pulumi-lang-dotnet=\"`Frontend`\" pulumi-lang-go=\"`frontend`\" pulumi-lang-python=\"`frontend`\" pulumi-lang-yaml=\"`frontend`\" pulumi-lang-java=\"`frontend`\"\u003e`frontend`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`backend`\" pulumi-lang-dotnet=\"`Backend`\" pulumi-lang-go=\"`backend`\" pulumi-lang-python=\"`backend`\" pulumi-lang-yaml=\"`backend`\" pulumi-lang-java=\"`backend`\"\u003e`backend`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`internal`\" pulumi-lang-dotnet=\"`Internal`\" pulumi-lang-go=\"`internal`\" pulumi-lang-python=\"`internal`\" pulumi-lang-yaml=\"`internal`\" pulumi-lang-java=\"`internal`\"\u003e`internal`\u003c/span\u003e, defaults to \u003cspan pulumi-lang-nodejs=\"`internal`\" pulumi-lang-dotnet=\"`Internal`\" pulumi-lang-go=\"`internal`\" pulumi-lang-python=\"`internal`\" pulumi-lang-yaml=\"`internal`\" pulumi-lang-java=\"`internal`\"\u003e`internal`\u003c/span\u003e.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"apigwApiMock\"\" pulumi-lang-dotnet=\"\"ApigwApiMock\"\" pulumi-lang-go=\"\"apigwApiMock\"\" pulumi-lang-python=\"\"apigw_api_mock\"\" pulumi-lang-yaml=\"\"apigwApiMock\"\" pulumi-lang-java=\"\"apigwApiMock\"\"\u003e\"apigw_api_mock\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`mock`\" pulumi-lang-dotnet=\"`Mock`\" pulumi-lang-go=\"`mock`\" pulumi-lang-python=\"`mock`\" pulumi-lang-yaml=\"`mock`\" pulumi-lang-java=\"`mock`\"\u003e`mock`\u003c/span\u003e block supports:\n"},"type":{"type":"string","description":"Specifies the condition type of the backend policy.\nThe valid values are `EXACT`, `ENUM` and `PATTERN`, defaults to `EXACT`.\n"},"value":{"type":"string","description":"Specifies the value of the backend policy.\nFor a condition with the input parameter source:\n+ If the condition type is `ENUM`, separate condition values with commas.\n+ If the condition type is `PATTERN`, enter a regular expression compatible with PERL.\n\nFor a condition with the Source IP address source, enter IPv4 addresses and separate them with commas. The CIDR\naddress format is supported.\n"}},"type":"object","required":["location","name","type","value"]},"opentelekomcloud:index/ApigwApiV2MockPolicyCondition:ApigwApiV2MockPolicyCondition":{"properties":{"origin":{"type":"string","description":"Specifies the backend policy type.\nThe valid values are \u003cspan pulumi-lang-nodejs=\"`param`\" pulumi-lang-dotnet=\"`Param`\" pulumi-lang-go=\"`param`\" pulumi-lang-python=\"`param`\" pulumi-lang-yaml=\"`param`\" pulumi-lang-java=\"`param`\"\u003e`param`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e, defaults to \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e.\n"},"paramName":{"type":"string","description":"Specifies the request parameter name.\nThis parameter is required if the policy type is \u003cspan pulumi-lang-nodejs=\"`param`\" pulumi-lang-dotnet=\"`Param`\" pulumi-lang-go=\"`param`\" pulumi-lang-python=\"`param`\" pulumi-lang-yaml=\"`param`\" pulumi-lang-java=\"`param`\"\u003e`param`\u003c/span\u003e. The valid values are \u003cspan pulumi-lang-nodejs=\"`userAge`\" pulumi-lang-dotnet=\"`UserAge`\" pulumi-lang-go=\"`userAge`\" pulumi-lang-python=\"`user_age`\" pulumi-lang-yaml=\"`userAge`\" pulumi-lang-java=\"`userAge`\"\u003e`user_age`\u003c/span\u003e and `X-TEST-ENUM`.\n"},"type":{"type":"string","description":"Specifies the condition type of the backend policy.\nThe valid values are `EXACT`, `ENUM` and `PATTERN`, defaults to `EXACT`.\n"},"value":{"type":"string","description":"Specifies the value of the backend policy.\nFor a condition with the input parameter source:\n+ If the condition type is `ENUM`, separate condition values with commas.\n+ If the condition type is `PATTERN`, enter a regular expression compatible with PERL.\n\nFor a condition with the Source IP address source, enter IPv4 addresses and separate them with commas. The CIDR\naddress format is supported.\n"}},"type":"object","required":["value"]},"opentelekomcloud:index/ApigwApiV2RequestParam:ApigwApiV2RequestParam":{"properties":{"default":{"type":"string","description":"Specifies the default value of the request parameter.\nThe value contains a maximum of \u003cspan pulumi-lang-nodejs=\"`255`\" pulumi-lang-dotnet=\"`255`\" pulumi-lang-go=\"`255`\" pulumi-lang-python=\"`255`\" pulumi-lang-yaml=\"`255`\" pulumi-lang-java=\"`255`\"\u003e`255`\u003c/span\u003e characters and the angle brackets (\u003c and \u003e) are not allowed.\n"},"description":{"type":"string","description":"Specifies the description of the constant or system parameter.\nThe description contains a maximum of \u003cspan pulumi-lang-nodejs=\"`255`\" pulumi-lang-dotnet=\"`255`\" pulumi-lang-go=\"`255`\" pulumi-lang-python=\"`255`\" pulumi-lang-yaml=\"`255`\" pulumi-lang-java=\"`255`\"\u003e`255`\u003c/span\u003e characters and the angle brackets (\u003c and \u003e) are not allowed.\n"},"enumeration":{"type":"string","description":"Specifies the enumerated value(s).\nUse commas to separate multiple enumeration values, such as `VALUE_A,VALUE_B`.\n"},"location":{"type":"string","description":"Specifies the location of the backend parameter.\nThe valid values are `PATH`, `QUERY` and `HEADER`.\n"},"maximum":{"type":"number","description":"Specifies the maximum value or size of the request parameter.\n"},"minimum":{"type":"number","description":"Specifies the minimum value or size of the request parameter.\n\n\u003e For string type, The \u003cspan pulumi-lang-nodejs=\"`maximum`\" pulumi-lang-dotnet=\"`Maximum`\" pulumi-lang-go=\"`maximum`\" pulumi-lang-python=\"`maximum`\" pulumi-lang-yaml=\"`maximum`\" pulumi-lang-java=\"`maximum`\"\u003e`maximum`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`minimum`\" pulumi-lang-dotnet=\"`Minimum`\" pulumi-lang-go=\"`minimum`\" pulumi-lang-python=\"`minimum`\" pulumi-lang-yaml=\"`minimum`\" pulumi-lang-java=\"`minimum`\"\u003e`minimum`\u003c/span\u003e means size. For number type, they means value.\n"},"name":{"type":"string","description":"Specifies the backend policy name.\nThe valid length is limited from can contain \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e, only letters, digits and underscores (_) are allowed.\n"},"passthrough":{"type":"boolean","description":"Specifies whether to transparently transfer the parameter.\n"},"required":{"type":"boolean","description":"Specifies whether the request parameter is required.\n"},"sample":{"type":"string","description":"Specifies the example value of the request parameter.\nThe example contains a maximum of \u003cspan pulumi-lang-nodejs=\"`255`\" pulumi-lang-dotnet=\"`255`\" pulumi-lang-go=\"`255`\" pulumi-lang-python=\"`255`\" pulumi-lang-yaml=\"`255`\" pulumi-lang-java=\"`255`\"\u003e`255`\u003c/span\u003e characters and the angle brackets (\u003c and \u003e) are not allowed.\n"},"type":{"type":"string","description":"Specifies the condition type of the backend policy.\nThe valid values are `EXACT`, `ENUM` and `PATTERN`, defaults to `EXACT`.\n"},"validityCheck":{"type":"boolean"}},"type":"object","required":["name"],"language":{"nodejs":{"requiredOutputs":["enumeration","name"]}}},"opentelekomcloud:index/ApigwApplicationAuthorizationV2Timeouts:ApigwApplicationAuthorizationV2Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/ApigwCustomAuthorizerV2Identity:ApigwCustomAuthorizerV2Identity":{"properties":{"location":{"type":"string","description":"Specifies the parameter location, which support `HEADER` and `QUERY`.\n"},"name":{"type":"string","description":"Specifies the name of the parameter to be verified.\nThe parameter includes front-end and back-end parameters.\n"},"validation":{"type":"string","description":"Specifies the parameter verification expression.\nIf omitted, the custom authorizer will not perform verification.\nThe valid value is range form \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to `2,048`.\n"}},"type":"object","required":["location","name"]},"opentelekomcloud:index/ApigwGatewayFeatureV2Timeouts:ApigwGatewayFeatureV2Timeouts":{"properties":{"create":{"type":"string"}},"type":"object"},"opentelekomcloud:index/ApigwGatewayV2Timeouts:ApigwGatewayV2Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/ApigwGroupV2Environment:ApigwGroupV2Environment":{"properties":{"environmentId":{"type":"string","description":"Specifies the environment ID of the associated group.\n"},"variables":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FApigwGroupV2EnvironmentVariable:ApigwGroupV2EnvironmentVariable"},"description":"Specifies an array of one or more environment variables.\nThe \u003cspan pulumi-lang-nodejs=\"`variable`\" pulumi-lang-dotnet=\"`Variable`\" pulumi-lang-go=\"`variable`\" pulumi-lang-python=\"`variable`\" pulumi-lang-yaml=\"`variable`\" pulumi-lang-java=\"`variable`\"\u003e`variable`\u003c/span\u003e structure is documented below.\n\n\u003e The environment variables of different groups are isolated in the same environment.\n"}},"type":"object","required":["environmentId","variables"]},"opentelekomcloud:index/ApigwGroupV2EnvironmentVariable:ApigwGroupV2EnvironmentVariable":{"properties":{"id":{"type":"string","description":"The variable ID.\n"},"name":{"type":"string","description":"Specifies the variable name.\nThe valid length is limited from \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e characters.\nOnly letters, digits, hyphens (-), and underscores (_) are allowed, and must start with a letter.\n"},"value":{"type":"string","description":"Specifies the variable value.\nThe valid length is limited from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`255`\" pulumi-lang-dotnet=\"`255`\" pulumi-lang-go=\"`255`\" pulumi-lang-python=\"`255`\" pulumi-lang-yaml=\"`255`\" pulumi-lang-java=\"`255`\"\u003e`255`\u003c/span\u003e characters.\nOnly letters, digits and special characters (_-/.:) are allowed.\n"}},"type":"object","required":["name","value"],"language":{"nodejs":{"requiredOutputs":["id","name","value"]}}},"opentelekomcloud:index/ApigwResponseV2Rule:ApigwResponseV2Rule":{"properties":{"body":{"type":"string","description":"Specifies the body template of the API response rule, e.g.\n`{\\\"code\\\":\\\"$context.authorizer.frontend.code\\\",\\\"message\\\":\\\"$context.authorizer.frontend.message\\\"}`\n"},"errorType":{"type":"string","description":"Specifies the error type of the API response rule.\nThe valid values and the related default status code are as follows:\n+ `ACCESS_DENIED`: (\u003cspan pulumi-lang-nodejs=\"`403`\" pulumi-lang-dotnet=\"`403`\" pulumi-lang-go=\"`403`\" pulumi-lang-python=\"`403`\" pulumi-lang-yaml=\"`403`\" pulumi-lang-java=\"`403`\"\u003e`403`\u003c/span\u003e) Access denied.\n+ `AUTH_FAILURE`: (\u003cspan pulumi-lang-nodejs=\"`401`\" pulumi-lang-dotnet=\"`401`\" pulumi-lang-go=\"`401`\" pulumi-lang-python=\"`401`\" pulumi-lang-yaml=\"`401`\" pulumi-lang-java=\"`401`\"\u003e`401`\u003c/span\u003e) Authentication failed.\n+ `AUTH_HEADER_MISSING`: (\u003cspan pulumi-lang-nodejs=\"`401`\" pulumi-lang-dotnet=\"`401`\" pulumi-lang-go=\"`401`\" pulumi-lang-python=\"`401`\" pulumi-lang-yaml=\"`401`\" pulumi-lang-java=\"`401`\"\u003e`401`\u003c/span\u003e) The identity source is missing.\n+ `AUTHORIZER_CONF_FAILURE`: (\u003cspan pulumi-lang-nodejs=\"`500`\" pulumi-lang-dotnet=\"`500`\" pulumi-lang-go=\"`500`\" pulumi-lang-python=\"`500`\" pulumi-lang-yaml=\"`500`\" pulumi-lang-java=\"`500`\"\u003e`500`\u003c/span\u003e) There has been a custom authorizer error.\n+ `AUTHORIZER_FAILURE`: (\u003cspan pulumi-lang-nodejs=\"`500`\" pulumi-lang-dotnet=\"`500`\" pulumi-lang-go=\"`500`\" pulumi-lang-python=\"`500`\" pulumi-lang-yaml=\"`500`\" pulumi-lang-java=\"`500`\"\u003e`500`\u003c/span\u003e) Custom authentication failed.\n+ `AUTHORIZER_IDENTITIES_FAILURE`: (\u003cspan pulumi-lang-nodejs=\"`401`\" pulumi-lang-dotnet=\"`401`\" pulumi-lang-go=\"`401`\" pulumi-lang-python=\"`401`\" pulumi-lang-yaml=\"`401`\" pulumi-lang-java=\"`401`\"\u003e`401`\u003c/span\u003e) The identity source of the custom authorizer is invalid.\n+ `BACKEND_TIMEOUT`: (\u003cspan pulumi-lang-nodejs=\"`504`\" pulumi-lang-dotnet=\"`504`\" pulumi-lang-go=\"`504`\" pulumi-lang-python=\"`504`\" pulumi-lang-yaml=\"`504`\" pulumi-lang-java=\"`504`\"\u003e`504`\u003c/span\u003e) Communication with the backend service timed out.\n+ `BACKEND_UNAVAILABLE`: (\u003cspan pulumi-lang-nodejs=\"`502`\" pulumi-lang-dotnet=\"`502`\" pulumi-lang-go=\"`502`\" pulumi-lang-python=\"`502`\" pulumi-lang-yaml=\"`502`\" pulumi-lang-java=\"`502`\"\u003e`502`\u003c/span\u003e) The backend service is unavailable.\n+ `NOT_FOUND`: (\u003cspan pulumi-lang-nodejs=\"`404`\" pulumi-lang-dotnet=\"`404`\" pulumi-lang-go=\"`404`\" pulumi-lang-python=\"`404`\" pulumi-lang-yaml=\"`404`\" pulumi-lang-java=\"`404`\"\u003e`404`\u003c/span\u003e) No API is found.\n+ `REQUEST_PARAMETERS_FAILURE`: (\u003cspan pulumi-lang-nodejs=\"`400`\" pulumi-lang-dotnet=\"`400`\" pulumi-lang-go=\"`400`\" pulumi-lang-python=\"`400`\" pulumi-lang-yaml=\"`400`\" pulumi-lang-java=\"`400`\"\u003e`400`\u003c/span\u003e) The request parameters are incorrect.\n+ `THROTTLED`: (\u003cspan pulumi-lang-nodejs=\"`429`\" pulumi-lang-dotnet=\"`429`\" pulumi-lang-go=\"`429`\" pulumi-lang-python=\"`429`\" pulumi-lang-yaml=\"`429`\" pulumi-lang-java=\"`429`\"\u003e`429`\u003c/span\u003e) The request was rejected due to request throttling.\n+ `UNAUTHORIZED`: (\u003cspan pulumi-lang-nodejs=\"`401`\" pulumi-lang-dotnet=\"`401`\" pulumi-lang-go=\"`401`\" pulumi-lang-python=\"`401`\" pulumi-lang-yaml=\"`401`\" pulumi-lang-java=\"`401`\"\u003e`401`\u003c/span\u003e) The app you are using has not been authorized to call the API.\n+ `DEFAULT_4XX`: (`NONE`) Another 4XX error occurred.\n+ `DEFAULT_5XX`: (`NONE`) Another 5XX error occurred.\n+ `THIRD_AUTH_CONF_FAILURE`: (\u003cspan pulumi-lang-nodejs=\"`500`\" pulumi-lang-dotnet=\"`500`\" pulumi-lang-go=\"`500`\" pulumi-lang-python=\"`500`\" pulumi-lang-yaml=\"`500`\" pulumi-lang-java=\"`500`\"\u003e`500`\u003c/span\u003e) Third-party authorizer configuration error.\n+ `THIRD_AUTH_FAILURE`: (\u003cspan pulumi-lang-nodejs=\"`401`\" pulumi-lang-dotnet=\"`401`\" pulumi-lang-go=\"`401`\" pulumi-lang-python=\"`401`\" pulumi-lang-yaml=\"`401`\" pulumi-lang-java=\"`401`\"\u003e`401`\u003c/span\u003e) Third-party authentication failed.\n+ `THIRD_AUTH_IDENTITIES_FAILURE`: (\u003cspan pulumi-lang-nodejs=\"`401`\" pulumi-lang-dotnet=\"`401`\" pulumi-lang-go=\"`401`\" pulumi-lang-python=\"`401`\" pulumi-lang-yaml=\"`401`\" pulumi-lang-java=\"`401`\"\u003e`401`\u003c/span\u003e) Identity source of the third-party authorizer is invalid.\n"},"statusCode":{"type":"number","description":"Specifies the HTTP status code of the API response rule.\n"}},"type":"object","required":["body","errorType"],"language":{"nodejs":{"requiredOutputs":["body","errorType","statusCode"]}}},"opentelekomcloud:index/ApigwSignatureAssociateV2Timeouts:ApigwSignatureAssociateV2Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/ApigwThrottlingPolicyV2AppThrottle:ApigwThrottlingPolicyV2AppThrottle":{"properties":{"id":{"type":"string","description":"ID of the special user/application throttling policy.\n"},"maxApiRequests":{"type":"number","description":"Specifies the maximum number of times an API can be accessed within a specified\nperiod.\n"},"throttlingObjectId":{"type":"string","description":"Specifies the object ID which the special throttling policy belongs.\n"},"throttlingObjectName":{"type":"string","description":"The object name which the special user/application throttling policy belongs.\n"}},"type":"object","required":["maxApiRequests","throttlingObjectId"],"language":{"nodejs":{"requiredOutputs":["id","maxApiRequests","throttlingObjectId","throttlingObjectName"]}}},"opentelekomcloud:index/ApigwThrottlingPolicyV2UserThrottle:ApigwThrottlingPolicyV2UserThrottle":{"properties":{"id":{"type":"string","description":"ID of the special user/application throttling policy.\n"},"maxApiRequests":{"type":"number","description":"Specifies the maximum number of times an API can be accessed within a specified\nperiod.\n"},"throttlingObjectId":{"type":"string","description":"Specifies the object ID which the special throttling policy belongs.\n"},"throttlingObjectName":{"type":"string","description":"The object name which the special user/application throttling policy belongs.\n"}},"type":"object","required":["maxApiRequests","throttlingObjectId"],"language":{"nodejs":{"requiredOutputs":["id","maxApiRequests","throttlingObjectId","throttlingObjectName"]}}},"opentelekomcloud:index/ApigwVpcChannelV2HealthCheck:ApigwVpcChannelV2HealthCheck":{"properties":{"enableClientSsl":{"type":"boolean","description":"Specifies whether to enable two-way authentication.\nDefaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"httpCodes":{"type":"string","description":"Specifies the response codes for determining a successful HTTP response.\nThe valid value ranges from \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`599`\" pulumi-lang-dotnet=\"`599`\" pulumi-lang-go=\"`599`\" pulumi-lang-python=\"`599`\" pulumi-lang-yaml=\"`599`\" pulumi-lang-java=\"`599`\"\u003e`599`\u003c/span\u003e and the valid formats are as follows:\n+ The multiple values, for example, `200,201,202`.\n+ The range, for example, `200-299`.\n+ Both multiple values and ranges, for example, `201,202,210-299`.\n"},"interval":{"type":"number","description":"Specifies the interval between consecutive checks, in second.\nThe valid value ranges from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e.\n"},"method":{"type":"string","description":"Specifies the request method for health check.\nThe valid values are `GET` and `HEAD`.\n"},"path":{"type":"string","description":"Specifies the destination path for health checks.\nRequired if the \u003cspan pulumi-lang-nodejs=\"`protocol`\" pulumi-lang-dotnet=\"`Protocol`\" pulumi-lang-go=\"`protocol`\" pulumi-lang-python=\"`protocol`\" pulumi-lang-yaml=\"`protocol`\" pulumi-lang-java=\"`protocol`\"\u003e`protocol`\u003c/span\u003e is `HTTP` or `HTTPS`.\n"},"port":{"type":"number","description":"Specifies the destination host port for health check.\nThe valid value ranges from \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e to `65,535`.\n"},"protocol":{"type":"string","description":"Specifies the microservice for performing health check on backend servers.\nThe valid values are `TCP`, `HTTP` and `HTTPS`, defaults to `TCP`.\n"},"status":{"type":"number","description":"Specifies the status of health check.\nThe valid values are as follows:\n"},"thresholdAbnormal":{"type":"number","description":"Specifies the unhealthy threshold, which refers to the number of consecutive\nfailed checks required for a backend server to be considered unhealthy.\nThe valid value ranges from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e.\n"},"thresholdNormal":{"type":"number","description":"Specifies the healthy threshold, which refers to the number of consecutive\nsuccessful checks required for a backend server to be considered healthy.\nThe valid value ranges from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e.\n"},"timeout":{"type":"number","description":"Specifies the timeout for determining whether a health check fails, in second.\nThe value must be less than the value of the time \u003cspan pulumi-lang-nodejs=\"`interval`\" pulumi-lang-dotnet=\"`Interval`\" pulumi-lang-go=\"`interval`\" pulumi-lang-python=\"`interval`\" pulumi-lang-yaml=\"`interval`\" pulumi-lang-java=\"`interval`\"\u003e`interval`\u003c/span\u003e.\nThe valid value ranges from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e.\n"}},"type":"object","required":["interval","protocol","thresholdAbnormal","thresholdNormal","timeout"],"language":{"nodejs":{"requiredOutputs":["enableClientSsl","httpCodes","interval","method","path","port","protocol","status","thresholdAbnormal","thresholdNormal","timeout"]}}},"opentelekomcloud:index/ApigwVpcChannelV2Member:ApigwVpcChannelV2Member":{"properties":{"groupName":{"type":"string","description":"Specifies the IP address each backend servers.\nIf omitted, means that all backend servers are both in one group.\n"},"host":{"type":"string","description":"Specifies the IP address each backend servers.\n"},"id":{"type":"string","description":"Specifies the ECS ID for each backend servers.\n\n\u003e One of the parameter `member.host` and `member.id` must be set if \u003cspan pulumi-lang-nodejs=\"`memberType`\" pulumi-lang-dotnet=\"`MemberType`\" pulumi-lang-go=\"`memberType`\" pulumi-lang-python=\"`member_type`\" pulumi-lang-yaml=\"`memberType`\" pulumi-lang-java=\"`memberType`\"\u003e`member_type`\u003c/span\u003e is **ecs**.\nThe parameter `member.host` and `member.id` are alternative.\n"},"isBackup":{"type":"boolean","description":"Specifies whether this member is the backup member.\nDefaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the backend server.\nRequired if the parameter `member.id` is set.\n"},"port":{"type":"number","description":"Specifies the destination host port for health check.\nThe valid value ranges from \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e to `65,535`.\n"},"status":{"type":"number","description":"Specifies the status of health check.\nThe valid values are as follows:\n"},"weight":{"type":"number","description":"Specifies the weight of current backend server.\nThe valid value ranges from \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e to `10,000`, defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["groupName","host","id","isBackup","name","port","status","weight"]}}},"opentelekomcloud:index/ApigwVpcChannelV2MemberGroup:ApigwVpcChannelV2MemberGroup":{"properties":{"description":{"type":"string","description":"Specifies the description of the member group.\n"},"microservicePort":{"type":"number","description":"Specifies the microservice port of the backend server group.\nThe valid value ranges from \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e to `65,535`.\n"},"microserviceTags":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the microservice tags of the backend server group.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"channelMembers\"\" pulumi-lang-dotnet=\"\"ChannelMembers\"\" pulumi-lang-go=\"\"channelMembers\"\" pulumi-lang-python=\"\"channel_members\"\" pulumi-lang-yaml=\"\"channelMembers\"\" pulumi-lang-java=\"\"channelMembers\"\"\u003e\"channel_members\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`member`\" pulumi-lang-dotnet=\"`Member`\" pulumi-lang-go=\"`member`\" pulumi-lang-python=\"`member`\" pulumi-lang-yaml=\"`member`\" pulumi-lang-java=\"`member`\"\u003e`member`\u003c/span\u003e block supports:\n"},"microserviceVersion":{"type":"string","description":"Specifies the microservice version of the backend server group.\n"},"name":{"type":"string","description":"Specifies the name of the backend server.\nRequired if the parameter `member.id` is set.\n"},"weight":{"type":"number","description":"Specifies the weight of current backend server.\nThe valid value ranges from \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e to `10,000`, defaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"}},"type":"object","required":["name"],"language":{"nodejs":{"requiredOutputs":["description","microservicePort","microserviceTags","microserviceVersion","name","weight"]}}},"opentelekomcloud:index/ApigwVpcChannelV2Microservice:ApigwVpcChannelV2Microservice":{"properties":{"cceConfig":{"$ref":"#/types/opentelekomcloud:index%2FApigwVpcChannelV2MicroserviceCceConfig:ApigwVpcChannelV2MicroserviceCceConfig","description":"Specifies the CCE microservice details.\nThe object structure is documented below.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"microserviceCceConfig\"\" pulumi-lang-dotnet=\"\"MicroserviceCceConfig\"\" pulumi-lang-go=\"\"microserviceCceConfig\"\" pulumi-lang-python=\"\"microservice_cce_config\"\" pulumi-lang-yaml=\"\"microserviceCceConfig\"\" pulumi-lang-java=\"\"microserviceCceConfig\"\"\u003e\"microservice_cce_config\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`cceConfig`\" pulumi-lang-dotnet=\"`CceConfig`\" pulumi-lang-go=\"`cceConfig`\" pulumi-lang-python=\"`cce_config`\" pulumi-lang-yaml=\"`cceConfig`\" pulumi-lang-java=\"`cceConfig`\"\u003e`cce_config`\u003c/span\u003e block supports:\n"},"cseConfig":{"$ref":"#/types/opentelekomcloud:index%2FApigwVpcChannelV2MicroserviceCseConfig:ApigwVpcChannelV2MicroserviceCseConfig"}},"type":"object"},"opentelekomcloud:index/ApigwVpcChannelV2MicroserviceCceConfig:ApigwVpcChannelV2MicroserviceCceConfig":{"properties":{"clusterId":{"type":"string","description":"Specifies the CCE cluster ID.\n"},"labelKey":{"type":"string","description":"Specifies the service label key.\n"},"labelValue":{"type":"string","description":"Specifies the service label value.\n"},"namespace":{"type":"string","description":"Specifies the namespace, such as the default namespace for CCE cluster: \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.\n"},"workloadName":{"type":"string"},"workloadType":{"type":"string","description":"Specifies the workload type.\n"}},"type":"object","required":["clusterId","namespace","workloadType"]},"opentelekomcloud:index/ApigwVpcChannelV2MicroserviceCseConfig:ApigwVpcChannelV2MicroserviceCseConfig":{"properties":{"engineId":{"type":"string"},"serviceId":{"type":"string"}},"type":"object","required":["engineId","serviceId"]},"opentelekomcloud:index/AsConfigurationV1InstanceConfig:AsConfigurationV1InstanceConfig":{"properties":{"disks":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FAsConfigurationV1InstanceConfigDisk:AsConfigurationV1InstanceConfigDisk"},"description":"The disk group information. System disks are mandatory and data disks are optional.\nThe dick structure is described below.\n"},"flavor":{"type":"string","description":"The flavor ID. By default, it tries to get from env by `OS_FLAVOR_ID`.\n"},"image":{"type":"string","description":"The image ID. By default, it tries to get from env by `OS_IMAGE_ID`.\n"},"instanceId":{"type":"string","description":"When using the existing instance specifications as the template to\ncreate AS configurations, specify this argument. In this case, \u003cspan pulumi-lang-nodejs=\"`flavor`\" pulumi-lang-dotnet=\"`Flavor`\" pulumi-lang-go=\"`flavor`\" pulumi-lang-python=\"`flavor`\" pulumi-lang-yaml=\"`flavor`\" pulumi-lang-java=\"`flavor`\"\u003e`flavor`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`image`\" pulumi-lang-dotnet=\"`Image`\" pulumi-lang-go=\"`image`\" pulumi-lang-python=\"`image`\" pulumi-lang-yaml=\"`image`\" pulumi-lang-java=\"`image`\"\u003e`image`\u003c/span\u003e,\nand \u003cspan pulumi-lang-nodejs=\"`disk`\" pulumi-lang-dotnet=\"`Disk`\" pulumi-lang-go=\"`disk`\" pulumi-lang-python=\"`disk`\" pulumi-lang-yaml=\"`disk`\" pulumi-lang-java=\"`disk`\"\u003e`disk`\u003c/span\u003e arguments do not take effect. If the \u003cspan pulumi-lang-nodejs=\"`instanceId`\" pulumi-lang-dotnet=\"`InstanceId`\" pulumi-lang-go=\"`instanceId`\" pulumi-lang-python=\"`instance_id`\" pulumi-lang-yaml=\"`instanceId`\" pulumi-lang-java=\"`instanceId`\"\u003e`instance_id`\u003c/span\u003e argument is not specified,\n\u003cspan pulumi-lang-nodejs=\"`flavor`\" pulumi-lang-dotnet=\"`Flavor`\" pulumi-lang-go=\"`flavor`\" pulumi-lang-python=\"`flavor`\" pulumi-lang-yaml=\"`flavor`\" pulumi-lang-java=\"`flavor`\"\u003e`flavor`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`image`\" pulumi-lang-dotnet=\"`Image`\" pulumi-lang-go=\"`image`\" pulumi-lang-python=\"`image`\" pulumi-lang-yaml=\"`image`\" pulumi-lang-java=\"`image`\"\u003e`image`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`disk`\" pulumi-lang-dotnet=\"`Disk`\" pulumi-lang-go=\"`disk`\" pulumi-lang-python=\"`disk`\" pulumi-lang-yaml=\"`disk`\" pulumi-lang-java=\"`disk`\"\u003e`disk`\u003c/span\u003e arguments are mandatory.\n"},"keyName":{"type":"string","description":"The name of the SSH key pair used to log in to the instance.\n"},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"Metadata key/value pairs to make available from\nwithin the instance.\n"},"personalities":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FAsConfigurationV1InstanceConfigPersonality:AsConfigurationV1InstanceConfigPersonality"},"description":"Customize the personality of an instance by\ndefining one or more files and their contents. The personality structure\nis described below.\n"},"publicIp":{"$ref":"#/types/opentelekomcloud:index%2FAsConfigurationV1InstanceConfigPublicIp:AsConfigurationV1InstanceConfigPublicIp","description":"The elastic IP address of the instance. The\u003cspan pulumi-lang-nodejs=\" publicIp \" pulumi-lang-dotnet=\" PublicIp \" pulumi-lang-go=\" publicIp \" pulumi-lang-python=\" public_ip \" pulumi-lang-yaml=\" publicIp \" pulumi-lang-java=\" publicIp \"\u003e public_ip \u003c/span\u003estructure\nis described below.\n"},"securityGroups":{"type":"array","items":{"type":"string"},"description":"An array of one or more security group IDs\nto associate with the AS configuration.\n"},"userData":{"type":"string","description":"The user data to provide when launching the instance.\nThe file content must be encoded with Base64.\n"}},"type":"object","required":["keyName"]},"opentelekomcloud:index/AsConfigurationV1InstanceConfigDisk:AsConfigurationV1InstanceConfigDisk":{"properties":{"diskType":{"type":"string","description":"Specifies a disk type. The options are as follows:\n* `DATA`: indicates a data disk.\n* `SYS`: indicates a system disk.\n"},"kmsId":{"type":"string","description":"The Encryption KMS ID of the data disk.\n"},"size":{"type":"number","description":"The disk size. The unit is GB. The system disk size ranges from \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`32768`\" pulumi-lang-dotnet=\"`32768`\" pulumi-lang-go=\"`32768`\" pulumi-lang-python=\"`32768`\" pulumi-lang-yaml=\"`32768`\" pulumi-lang-java=\"`32768`\"\u003e`32768`\u003c/span\u003e and must\nbe greater than or equal to the minimum size (\u003cspan pulumi-lang-nodejs=\"`minDisk`\" pulumi-lang-dotnet=\"`MinDisk`\" pulumi-lang-go=\"`minDisk`\" pulumi-lang-python=\"`min_disk`\" pulumi-lang-yaml=\"`minDisk`\" pulumi-lang-java=\"`minDisk`\"\u003e`min_disk`\u003c/span\u003e value) of the system disk specified in the image.\nThe data disk size ranges from \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`32768`\" pulumi-lang-dotnet=\"`32768`\" pulumi-lang-go=\"`32768`\" pulumi-lang-python=\"`32768`\" pulumi-lang-yaml=\"`32768`\" pulumi-lang-java=\"`32768`\"\u003e`32768`\u003c/span\u003e.\n"},"volumeType":{"type":"string","description":"Specifies the ECS system disk type. The disk type must match the available disk type.\n* `SATA`: common I/O disk type.\n* `SAS`: high I/O disk type.\n* `SSD`: ultra-high I/O disk type.\n* `co-p1`: high I/O (performance-optimized I) disk type.\n* `uh-l1`: ultra-high I/O (latency-optimized) disk type.\n* `ESSD`: the extreme SSD type\n\n\u003e **NOTE:**\nCommon I/O (SATA) will reach end of life, end of 2025.\n"}},"type":"object","required":["diskType","size","volumeType"]},"opentelekomcloud:index/AsConfigurationV1InstanceConfigPersonality:AsConfigurationV1InstanceConfigPersonality":{"properties":{"content":{"type":"string"},"path":{"type":"string","description":"The absolute path of the destination file.\n"}},"type":"object","required":["content","path"]},"opentelekomcloud:index/AsConfigurationV1InstanceConfigPublicIp:AsConfigurationV1InstanceConfigPublicIp":{"properties":{"eip":{"$ref":"#/types/opentelekomcloud:index%2FAsConfigurationV1InstanceConfigPublicIpEip:AsConfigurationV1InstanceConfigPublicIpEip","description":"The configuration parameter for creating an elastic IP address\nthat will be automatically assigned to the instance. The eip structure is described below.\n"}},"type":"object","required":["eip"]},"opentelekomcloud:index/AsConfigurationV1InstanceConfigPublicIpEip:AsConfigurationV1InstanceConfigPublicIpEip":{"properties":{"bandwidth":{"$ref":"#/types/opentelekomcloud:index%2FAsConfigurationV1InstanceConfigPublicIpEipBandwidth:AsConfigurationV1InstanceConfigPublicIpEipBandwidth","description":"The bandwidth information. The structure is described below.\n"},"ipType":{"type":"string","description":"The IP address type. The system only supports \u003cspan pulumi-lang-nodejs=\"`5Bgp`\" pulumi-lang-dotnet=\"`5Bgp`\" pulumi-lang-go=\"`5Bgp`\" pulumi-lang-python=\"`5_bgp`\" pulumi-lang-yaml=\"`5Bgp`\" pulumi-lang-java=\"`5Bgp`\"\u003e`5_bgp`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`5Mailbgp`\" pulumi-lang-dotnet=\"`5Mailbgp`\" pulumi-lang-go=\"`5Mailbgp`\" pulumi-lang-python=\"`5_mailbgp`\" pulumi-lang-yaml=\"`5Mailbgp`\" pulumi-lang-java=\"`5Mailbgp`\"\u003e`5_mailbgp`\u003c/span\u003e.\n"}},"type":"object","required":["bandwidth","ipType"]},"opentelekomcloud:index/AsConfigurationV1InstanceConfigPublicIpEipBandwidth:AsConfigurationV1InstanceConfigPublicIpEipBandwidth":{"properties":{"chargingMode":{"type":"string","description":"The bandwidth charging mode. The system only supports \u003cspan pulumi-lang-nodejs=\"`traffic`\" pulumi-lang-dotnet=\"`Traffic`\" pulumi-lang-go=\"`traffic`\" pulumi-lang-python=\"`traffic`\" pulumi-lang-yaml=\"`traffic`\" pulumi-lang-java=\"`traffic`\"\u003e`traffic`\u003c/span\u003e.\n"},"shareType":{"type":"string","description":"The bandwidth sharing type. The system only supports `PER`.\n"},"size":{"type":"number","description":"The bandwidth (Mbit/s). The value range is 1 to 500.\n\n-\u003eThe specific range may vary depending on the configuration in each region. You can see the bandwidth range of\neach region on the management console. The minimum unit is 1 Mbit/s if the allowed bandwidth size ranges from\n0 to 300 Mbit/s. The minimum unit is 50 Mbit/s if the allowed bandwidth size ranges 300 Mbit/s to 500 Mbit/s.\n"}},"type":"object","required":["chargingMode","shareType","size"]},"opentelekomcloud:index/AsGroupV1LbaasListener:AsGroupV1LbaasListener":{"properties":{"poolId":{"type":"string","description":"Specifies the backend ECS group ID.\n"},"protocolPort":{"type":"number","description":"Specifies the backend protocol, which is the port on which\na backend ECS listens for traffic. The number of the port ranges from 1 to 65535.\n"},"weight":{"type":"number","description":"Specifies the weight, which determines the portion of requests a\nbackend ECS processes compared to other backend ECSs added to the same listener. The value\nof this parameter ranges from 0 to 100. The default value is 1.\n"}},"type":"object","required":["poolId","protocolPort"]},"opentelekomcloud:index/AsGroupV1Network:AsGroupV1Network":{"properties":{"id":{"type":"string","description":"The network UUID.\n"}},"type":"object","required":["id"]},"opentelekomcloud:index/AsGroupV1SecurityGroups:AsGroupV1SecurityGroups":{"properties":{"id":{"type":"string","description":"The UUID of the security group.\n"}},"type":"object","required":["id"]},"opentelekomcloud:index/AsGroupV1Timeouts:AsGroupV1Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/AsPolicyV1ScalingPolicyAction:AsPolicyV1ScalingPolicyAction":{"properties":{"instanceNumber":{"type":"number","description":"The number of instances to be operated. The default number is 1.\n"},"operation":{"type":"string","description":"The operation to be performed. The options include `ADD` (default), `REMOVE`,\nand `SET`.\n"}},"type":"object"},"opentelekomcloud:index/AsPolicyV1ScheduledPolicy:AsPolicyV1ScheduledPolicy":{"properties":{"endTime":{"type":"string","description":"The end time of the scaling action triggered periodically.\nThe time format complies with UTC. This argument is mandatory when \u003cspan pulumi-lang-nodejs=\"`scalingPolicyType`\" pulumi-lang-dotnet=\"`ScalingPolicyType`\" pulumi-lang-go=\"`scalingPolicyType`\" pulumi-lang-python=\"`scaling_policy_type`\" pulumi-lang-yaml=\"`scalingPolicyType`\" pulumi-lang-java=\"`scalingPolicyType`\"\u003e`scaling_policy_type`\u003c/span\u003e\nis set to `RECURRENCE`. The time format is YYYY-MM-DDThh:mmZ.\n"},"launchTime":{"type":"string","description":"The time when the scaling action is triggered. If \u003cspan pulumi-lang-nodejs=\"`scalingPolicyType`\" pulumi-lang-dotnet=\"`ScalingPolicyType`\" pulumi-lang-go=\"`scalingPolicyType`\" pulumi-lang-python=\"`scaling_policy_type`\" pulumi-lang-yaml=\"`scalingPolicyType`\" pulumi-lang-java=\"`scalingPolicyType`\"\u003e`scaling_policy_type`\u003c/span\u003e\nis set to `SCHEDULED`, the time format is YYYY-MM-DDThh:mmZ. If \u003cspan pulumi-lang-nodejs=\"`scalingPolicyType`\" pulumi-lang-dotnet=\"`ScalingPolicyType`\" pulumi-lang-go=\"`scalingPolicyType`\" pulumi-lang-python=\"`scaling_policy_type`\" pulumi-lang-yaml=\"`scalingPolicyType`\" pulumi-lang-java=\"`scalingPolicyType`\"\u003e`scaling_policy_type`\u003c/span\u003e is set to\n`RECURRENCE`, the time format is hh:mm.\n"},"recurrenceType":{"type":"string","description":"The periodic triggering type. This argument is mandatory when\n\u003cspan pulumi-lang-nodejs=\"`scalingPolicyType`\" pulumi-lang-dotnet=\"`ScalingPolicyType`\" pulumi-lang-go=\"`scalingPolicyType`\" pulumi-lang-python=\"`scaling_policy_type`\" pulumi-lang-yaml=\"`scalingPolicyType`\" pulumi-lang-java=\"`scalingPolicyType`\"\u003e`scaling_policy_type`\u003c/span\u003e is set to `RECURRENCE`. The options include `Daily`, `Weekly`, and `Monthly`.\n"},"recurrenceValue":{"type":"string","description":"The frequency at which scaling actions are triggered.\n"},"startTime":{"type":"string","description":"The start time of the scaling action triggered periodically.\nThe time format complies with UTC. The current time is used by default. The time\nformat is YYYY-MM-DDThh:mmZ.\n"}},"type":"object","required":["launchTime"]},"opentelekomcloud:index/AsPolicyV2Metadata:AsPolicyV2Metadata":{"properties":{"bandwidthShareType":{"type":"string","description":"Specifies the bandwidth sharing type in the bandwidth scaling policy.\n"},"eipAddress":{"type":"string","description":"Specifies the EIP for the bandwidth in the bandwidth scaling policy.\n"},"eipId":{"type":"string","description":"Specifies the EIP ID for the bandwidth in the bandwidth scaling policy.\n"}},"type":"object","required":["bandwidthShareType","eipAddress","eipId"]},"opentelekomcloud:index/AsPolicyV2ScalingPolicyAction:AsPolicyV2ScalingPolicyAction":{"properties":{"limits":{"type":"number"},"operation":{"type":"string","description":"The operation to be performed.\n"},"percentage":{"type":"number"},"size":{"type":"number"}},"type":"object","language":{"nodejs":{"requiredOutputs":["limits","percentage","size"]}}},"opentelekomcloud:index/AsPolicyV2ScheduledPolicy:AsPolicyV2ScheduledPolicy":{"properties":{"endTime":{"type":"string","description":"The end time of the scaling action triggered periodically.\nThe time format complies with UTC. This argument is mandatory when \u003cspan pulumi-lang-nodejs=\"`scalingPolicyType`\" pulumi-lang-dotnet=\"`ScalingPolicyType`\" pulumi-lang-go=\"`scalingPolicyType`\" pulumi-lang-python=\"`scaling_policy_type`\" pulumi-lang-yaml=\"`scalingPolicyType`\" pulumi-lang-java=\"`scalingPolicyType`\"\u003e`scaling_policy_type`\u003c/span\u003e\nis set to `RECURRENCE`. The time format is `YYYY-MM-DDThh:mmZ`.\n"},"launchTime":{"type":"string","description":"The time when the scaling action is triggered. If \u003cspan pulumi-lang-nodejs=\"`scalingPolicyType`\" pulumi-lang-dotnet=\"`ScalingPolicyType`\" pulumi-lang-go=\"`scalingPolicyType`\" pulumi-lang-python=\"`scaling_policy_type`\" pulumi-lang-yaml=\"`scalingPolicyType`\" pulumi-lang-java=\"`scalingPolicyType`\"\u003e`scaling_policy_type`\u003c/span\u003e\nis set to `SCHEDULED`, the time format is `YYYY-MM-DDThh:mmZ`. If \u003cspan pulumi-lang-nodejs=\"`scalingPolicyType`\" pulumi-lang-dotnet=\"`ScalingPolicyType`\" pulumi-lang-go=\"`scalingPolicyType`\" pulumi-lang-python=\"`scaling_policy_type`\" pulumi-lang-yaml=\"`scalingPolicyType`\" pulumi-lang-java=\"`scalingPolicyType`\"\u003e`scaling_policy_type`\u003c/span\u003e is set to\n`RECURRENCE`, the time format is `hh:mm`.\n"},"recurrenceType":{"type":"string","description":"The periodic triggering type. This argument is mandatory when\n\u003cspan pulumi-lang-nodejs=\"`scalingPolicyType`\" pulumi-lang-dotnet=\"`ScalingPolicyType`\" pulumi-lang-go=\"`scalingPolicyType`\" pulumi-lang-python=\"`scaling_policy_type`\" pulumi-lang-yaml=\"`scalingPolicyType`\" pulumi-lang-java=\"`scalingPolicyType`\"\u003e`scaling_policy_type`\u003c/span\u003e is set to `RECURRENCE`. The options include `Daily`, `Weekly`, and `Monthly`.\n"},"recurrenceValue":{"type":"string","description":"The frequency at which scaling actions are triggered.\n\n\u003e When \u003cspan pulumi-lang-nodejs=\"`recurrenceType`\" pulumi-lang-dotnet=\"`RecurrenceType`\" pulumi-lang-go=\"`recurrenceType`\" pulumi-lang-python=\"`recurrence_type`\" pulumi-lang-yaml=\"`recurrenceType`\" pulumi-lang-java=\"`recurrenceType`\"\u003e`recurrence_type`\u003c/span\u003e is set to `Daily`, this parameter does not take effect.\n"},"startTime":{"type":"string","description":"The start time of the scaling action triggered periodically.\nThe time format complies with UTC. The current time is used by default. The time\nformat is `YYYY-MM-DDThh:mmZ`.\n"}},"type":"object","required":["launchTime"],"language":{"nodejs":{"requiredOutputs":["launchTime","startTime"]}}},"opentelekomcloud:index/AsmServiceMeshV1Cluster:AsmServiceMeshV1Cluster":{"properties":{"clusterId":{"type":"string","description":"Specifies the CCE Cluster ID.\n"},"injectionNamespaces":{"type":"array","items":{"type":"string"},"description":"Specifies the name of namespaces where sidecars are to be injected.\n"},"installationNodes":{"type":"array","items":{"type":"string"},"description":"Specifies the node ID of nodes where service mesh components are to be installed.\n"}},"type":"object","required":["clusterId","installationNodes"]},"opentelekomcloud:index/AsmServiceMeshV1ProxyConfig:AsmServiceMeshV1ProxyConfig":{"properties":{"excludeInboundPorts":{"type":"string","description":"Specifies the ports that will be excluded for inbound traffic redirection. Use commas (,) to separate the ports.\n"},"excludeIpRanges":{"type":"string","description":"Specifies the IP address ranges that will be excluded for outbound traffic redirection. Use commas (,) to separate the IP address ranges.\n"},"excludeOutboundPorts":{"type":"string","description":"Specifies the ports that will be excluded for outbound traffic redirection. Use commas (,) to separate the ports.\n"},"includeInboundPorts":{"type":"string","description":"Specifies the Ports that will be included for inbound traffic redirection. Use commas (,) to separate the ports.\n"},"includeIpRanges":{"type":"string","description":"Specifies the IP address ranges that will be included for outbound traffic redirection. Use commas (,) to separate the IP address ranges.\n"},"includeOutboundPorts":{"type":"string","description":"Specifies the ports that will be included for outbound traffic redirection. Use commas (,) to separate the ports.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["excludeInboundPorts","excludeIpRanges","excludeOutboundPorts","includeInboundPorts","includeIpRanges","includeOutboundPorts"]}}},"opentelekomcloud:index/AsmServiceMeshV1TelemetryConfigTracing:AsmServiceMeshV1TelemetryConfigTracing":{"properties":{"defaultProviders":{"type":"array","items":{"type":"string"},"description":"Specifies the name of the default provider that tracing reports data to, which must match the name field in \u003cspan pulumi-lang-nodejs=\"`extensionProviders`\" pulumi-lang-dotnet=\"`ExtensionProviders`\" pulumi-lang-go=\"`extensionProviders`\" pulumi-lang-python=\"`extension_providers`\" pulumi-lang-yaml=\"`extensionProviders`\" pulumi-lang-java=\"`extensionProviders`\"\u003e`extension_providers`\u003c/span\u003e or use the preset provider `apm-otel` of ASM. If `apm-otel` is used, ensure that APM 2.0 is supported in the current region and the service mesh version is later than 1.18.\n"},"extensionProviders":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FAsmServiceMeshV1TelemetryConfigTracingExtensionProvider:AsmServiceMeshV1TelemetryConfigTracingExtensionProvider"},"description":"Specifies the user-defined provider. Currently, Zipkin is supported. If you configure the Zipkin provider, ensure that the service mesh version is 1.15 or later. The structure is documented below:\n"},"randomSamplingPercentage":{"type":"number","description":"Specifies the tracing sampling rate.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["defaultProviders","randomSamplingPercentage"]}}},"opentelekomcloud:index/AsmServiceMeshV1TelemetryConfigTracingExtensionProvider:AsmServiceMeshV1TelemetryConfigTracingExtensionProvider":{"properties":{"name":{"type":"string","description":"Specifies the provider name.\n"},"zipkinServiceAddr":{"type":"string","description":"Specifies the service address of Zipkin.\n"},"zipkinServicePort":{"type":"number","description":"Specifies the service port of Zipkin.\n"}},"type":"object"},"opentelekomcloud:index/AsmServiceMeshV1Timeouts:AsmServiceMeshV1Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/BlockstorageVolumeV2Attachment:BlockstorageVolumeV2Attachment":{"properties":{"device":{"type":"string"},"id":{"type":"string"},"instanceId":{"type":"string"}},"type":"object","required":["device","id","instanceId"]},"opentelekomcloud:index/BlockstorageVolumeV2Timeouts:BlockstorageVolumeV2Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/CbrPolicyV3OperationDefinition:CbrPolicyV3OperationDefinition":{"properties":{"dayBackups":{"type":"number","description":"Specifies the number of retained daily backups. The latest\nbackup of each day is saved in the long term. This parameter can be effective together\nwith the maximum number of retained backups specified by \u003cspan pulumi-lang-nodejs=\"`maxBackups`\" pulumi-lang-dotnet=\"`MaxBackups`\" pulumi-lang-go=\"`maxBackups`\" pulumi-lang-python=\"`max_backups`\" pulumi-lang-yaml=\"`maxBackups`\" pulumi-lang-java=\"`maxBackups`\"\u003e`max_backups`\u003c/span\u003e. The value ranges\nfrom \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e. If this parameter is configured, \u003cspan pulumi-lang-nodejs=\"`timezone`\" pulumi-lang-dotnet=\"`Timezone`\" pulumi-lang-go=\"`timezone`\" pulumi-lang-python=\"`timezone`\" pulumi-lang-yaml=\"`timezone`\" pulumi-lang-java=\"`timezone`\"\u003e`timezone`\u003c/span\u003e is mandatory.\n"},"maxBackups":{"type":"number","description":"Maximum number of retained backups. The value can be `-1` or ranges\nfrom \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`99999`\" pulumi-lang-dotnet=\"`99999`\" pulumi-lang-go=\"`99999`\" pulumi-lang-python=\"`99999`\" pulumi-lang-yaml=\"`99999`\" pulumi-lang-java=\"`99999`\"\u003e`99999`\u003c/span\u003e. If the value is set to `-1`, the backups will not be cleared even though\nthe configured retained backup quantity is exceeded. If this parameter and \u003cspan pulumi-lang-nodejs=\"`retentionDurationDays`\" pulumi-lang-dotnet=\"`RetentionDurationDays`\" pulumi-lang-go=\"`retentionDurationDays`\" pulumi-lang-python=\"`retention_duration_days`\" pulumi-lang-yaml=\"`retentionDurationDays`\" pulumi-lang-java=\"`retentionDurationDays`\"\u003e`retention_duration_days`\u003c/span\u003e\nare both left blank, the backups will be retained permanently.\n"},"monthBackups":{"type":"number","description":"Specifies the number of retained monthly backups. The latest\nbackup of each month is saved in the long term. This parameter can be effective together\nwith the maximum number of retained backups specified by \u003cspan pulumi-lang-nodejs=\"`maxBackups`\" pulumi-lang-dotnet=\"`MaxBackups`\" pulumi-lang-go=\"`maxBackups`\" pulumi-lang-python=\"`max_backups`\" pulumi-lang-yaml=\"`maxBackups`\" pulumi-lang-java=\"`maxBackups`\"\u003e`max_backups`\u003c/span\u003e. The value ranges from\n\u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e. If this parameter is configured, \u003cspan pulumi-lang-nodejs=\"`timezone`\" pulumi-lang-dotnet=\"`Timezone`\" pulumi-lang-go=\"`timezone`\" pulumi-lang-python=\"`timezone`\" pulumi-lang-yaml=\"`timezone`\" pulumi-lang-java=\"`timezone`\"\u003e`timezone`\u003c/span\u003e is mandatory.\n"},"retentionDurationDays":{"type":"number","description":"Duration of retaining a backup, in days.\nThe maximum value is \u003cspan pulumi-lang-nodejs=\"`99999`\" pulumi-lang-dotnet=\"`99999`\" pulumi-lang-go=\"`99999`\" pulumi-lang-python=\"`99999`\" pulumi-lang-yaml=\"`99999`\" pulumi-lang-java=\"`99999`\"\u003e`99999`\u003c/span\u003e. `-1` indicates that the backups will not be cleared based on\nthe retention duration. If this parameter and \u003cspan pulumi-lang-nodejs=\"`maxBackups`\" pulumi-lang-dotnet=\"`MaxBackups`\" pulumi-lang-go=\"`maxBackups`\" pulumi-lang-python=\"`max_backups`\" pulumi-lang-yaml=\"`maxBackups`\" pulumi-lang-java=\"`maxBackups`\"\u003e`max_backups`\u003c/span\u003e are left blank at the same time,\nthe backups will be retained permanently.\n"},"timezone":{"type":"string","description":"Time zone where the user is located, for example, `UTC+00:00`.\n"},"weekBackups":{"type":"number","description":"Specifies the number of retained weekly backups. The latest\nbackup of each week is saved in the long term. This parameter can be effective together\nwith the maximum number of retained backups specified by \u003cspan pulumi-lang-nodejs=\"`maxBackups`\" pulumi-lang-dotnet=\"`MaxBackups`\" pulumi-lang-go=\"`maxBackups`\" pulumi-lang-python=\"`max_backups`\" pulumi-lang-yaml=\"`maxBackups`\" pulumi-lang-java=\"`maxBackups`\"\u003e`max_backups`\u003c/span\u003e. The value ranges\nfrom \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e. If this parameter is configured, \u003cspan pulumi-lang-nodejs=\"`timezone`\" pulumi-lang-dotnet=\"`Timezone`\" pulumi-lang-go=\"`timezone`\" pulumi-lang-python=\"`timezone`\" pulumi-lang-yaml=\"`timezone`\" pulumi-lang-java=\"`timezone`\"\u003e`timezone`\u003c/span\u003e is mandatory.\n"},"yearBackups":{"type":"number","description":"Specifies the number of retained yearly backups. The latest\nbackup of each year is saved in the long term. This parameter can be effective together\nwith the maximum number of retained backups specified by \u003cspan pulumi-lang-nodejs=\"`maxBackups`\" pulumi-lang-dotnet=\"`MaxBackups`\" pulumi-lang-go=\"`maxBackups`\" pulumi-lang-python=\"`max_backups`\" pulumi-lang-yaml=\"`maxBackups`\" pulumi-lang-java=\"`maxBackups`\"\u003e`max_backups`\u003c/span\u003e. The value ranges\nfrom \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e. If this parameter is configured, \u003cspan pulumi-lang-nodejs=\"`timezone`\" pulumi-lang-dotnet=\"`Timezone`\" pulumi-lang-go=\"`timezone`\" pulumi-lang-python=\"`timezone`\" pulumi-lang-yaml=\"`timezone`\" pulumi-lang-java=\"`timezone`\"\u003e`timezone`\u003c/span\u003e is mandatory.\n"}},"type":"object","required":["timezone"],"language":{"nodejs":{"requiredOutputs":["dayBackups","maxBackups","monthBackups","retentionDurationDays","timezone","weekBackups","yearBackups"]}}},"opentelekomcloud:index/CbrVaultV3Billing:CbrVaultV3Billing":{"properties":{"allocated":{"type":"number","description":"Allocated capacity, in MB.\n"},"chargingMode":{"type":"string","description":"Billing mode. Possible value is \u003cspan pulumi-lang-nodejs=\"`postPaid`\" pulumi-lang-dotnet=\"`PostPaid`\" pulumi-lang-go=\"`postPaid`\" pulumi-lang-python=\"`post_paid`\" pulumi-lang-yaml=\"`postPaid`\" pulumi-lang-java=\"`postPaid`\"\u003e`post_paid`\u003c/span\u003e (pay-per-use).\n"},"cloudType":{"type":"string","description":"Cloud platform. One of \u003cspan pulumi-lang-nodejs=\"`public`\" pulumi-lang-dotnet=\"`Public`\" pulumi-lang-go=\"`public`\" pulumi-lang-python=\"`public`\" pulumi-lang-yaml=\"`public`\" pulumi-lang-java=\"`public`\"\u003e`public`\u003c/span\u003e (default), \u003cspan pulumi-lang-nodejs=\"`hybrid`\" pulumi-lang-dotnet=\"`Hybrid`\" pulumi-lang-go=\"`hybrid`\" pulumi-lang-python=\"`hybrid`\" pulumi-lang-yaml=\"`hybrid`\" pulumi-lang-java=\"`hybrid`\"\u003e`hybrid`\u003c/span\u003e\n"},"consistentLevel":{"type":"string","description":"Backup specifications. The default value is \u003cspan pulumi-lang-nodejs=\"`crashConsistent`\" pulumi-lang-dotnet=\"`CrashConsistent`\" pulumi-lang-go=\"`crashConsistent`\" pulumi-lang-python=\"`crash_consistent`\" pulumi-lang-yaml=\"`crashConsistent`\" pulumi-lang-java=\"`crashConsistent`\"\u003e`crash_consistent`\u003c/span\u003e\n"},"consoleUrl":{"type":"string","description":"Redirection URL.\n"},"extraInfo":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of extra info.\n"},"frozenScene":{"type":"string","description":"Scenario when an account is frozen.\n"},"isAutoPay":{"type":"boolean","description":"Whether the fee is automatically deducted from the customer's account balance after an\norder is submitted. The non-automatic payment mode is used by default.\n"},"isAutoRenew":{"type":"boolean","description":"Whether to automatically renew the subscription after expiration. By default, it is\nnot renewed.\n"},"objectType":{"type":"string","description":"Object type. One of \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`disk`\" pulumi-lang-dotnet=\"`Disk`\" pulumi-lang-go=\"`disk`\" pulumi-lang-python=\"`disk`\" pulumi-lang-yaml=\"`disk`\" pulumi-lang-java=\"`disk`\"\u003e`disk`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`turbo`\" pulumi-lang-dotnet=\"`Turbo`\" pulumi-lang-go=\"`turbo`\" pulumi-lang-python=\"`turbo`\" pulumi-lang-yaml=\"`turbo`\" pulumi-lang-java=\"`turbo`\"\u003e`turbo`\u003c/span\u003e.\n"},"orderId":{"type":"string","description":"Order ID.\n"},"periodNum":{"type":"number","deprecationMessage":"Deprecated"},"periodType":{"type":"string","deprecationMessage":"Deprecated"},"productId":{"type":"string","description":"Product ID.\n"},"protectType":{"type":"string","description":"Operation type. One of \u003cspan pulumi-lang-nodejs=\"`backup`\" pulumi-lang-dotnet=\"`Backup`\" pulumi-lang-go=\"`backup`\" pulumi-lang-python=\"`backup`\" pulumi-lang-yaml=\"`backup`\" pulumi-lang-java=\"`backup`\"\u003e`backup`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`replication`\" pulumi-lang-dotnet=\"`Replication`\" pulumi-lang-go=\"`replication`\" pulumi-lang-python=\"`replication`\" pulumi-lang-yaml=\"`replication`\" pulumi-lang-java=\"`replication`\"\u003e`replication`\u003c/span\u003e\n"},"size":{"type":"number","description":"Capacity, in GB. Minimum \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, maximum \u003cspan pulumi-lang-nodejs=\"`10485760`\" pulumi-lang-dotnet=\"`10485760`\" pulumi-lang-go=\"`10485760`\" pulumi-lang-python=\"`10485760`\" pulumi-lang-yaml=\"`10485760`\" pulumi-lang-java=\"`10485760`\"\u003e`10485760`\u003c/span\u003e\n"},"specCode":{"type":"string","description":"Specification code.\n"},"status":{"type":"string","description":"Vault status.\n"},"storageUnit":{"type":"string","description":"Name of the bucket for the vault.\n"},"used":{"type":"number","description":"Used capacity, in MB.\n"}},"type":"object","required":["objectType","protectType","size"],"language":{"nodejs":{"requiredOutputs":["allocated","chargingMode","frozenScene","objectType","orderId","periodNum","periodType","productId","protectType","size","specCode","status","storageUnit","used"]}}},"opentelekomcloud:index/CbrVaultV3BindRule:CbrVaultV3BindRule":{"properties":{"key":{"type":"string"},"value":{"type":"string"}},"type":"object","required":["key","value"]},"opentelekomcloud:index/CbrVaultV3Policy:CbrVaultV3Policy":{"properties":{"destinationVaultId":{"type":"string","description":"Specifies the ID of destination vault to which the replication policy\nwill be associated.\n\n\u003e Only one policy of each type (backup and replication) can be associated.\n"},"id":{"type":"string","description":"Specifies the policy ID.\n"}},"type":"object","required":["id"]},"opentelekomcloud:index/CbrVaultV3Resource:CbrVaultV3Resource":{"properties":{"backupCount":{"type":"number"},"backupSize":{"type":"number"},"excludeVolumes":{"type":"array","items":{"type":"string"},"description":"List of excluded volumes.\n"},"id":{"type":"string","description":"ID of the resource to be backed up.\n"},"includeVolumes":{"type":"array","items":{"type":"string"},"description":"List of included volumes.\n"},"name":{"type":"string","description":"Resource name.\n"},"protectStatus":{"type":"string"},"size":{"type":"number","description":"Capacity, in GB. Minimum \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, maximum \u003cspan pulumi-lang-nodejs=\"`10485760`\" pulumi-lang-dotnet=\"`10485760`\" pulumi-lang-go=\"`10485760`\" pulumi-lang-python=\"`10485760`\" pulumi-lang-yaml=\"`10485760`\" pulumi-lang-java=\"`10485760`\"\u003e`10485760`\u003c/span\u003e\n"},"type":{"type":"string","description":"Type of the resource to be backed up. Possible values are `OS::Nova::Server`, `OS::Cinder::Volume` and `OS::Sfs::Turbo`.\n"}},"type":"object","required":["backupCount","backupSize","excludeVolumes","id","includeVolumes","name","protectStatus","size","type"]},"opentelekomcloud:index/CceAddonV3Timeouts:CceAddonV3Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/CceAddonV3Values:CceAddonV3Values":{"properties":{"basic":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the key/value pairs vary depending on the add-on.\nOnly supports non-nested structure and only supports string type elements.\nThis is an alternative to \u003cspan pulumi-lang-nodejs=\"`basicJson`\" pulumi-lang-dotnet=\"`BasicJson`\" pulumi-lang-go=\"`basicJson`\" pulumi-lang-python=\"`basic_json`\" pulumi-lang-yaml=\"`basicJson`\" pulumi-lang-java=\"`basicJson`\"\u003e`basic_json`\u003c/span\u003e, but it is not recommended.\n"},"basicJson":{"type":"string","description":"Specifies the json string vary depending on the add-on.\n"},"custom":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the key/value pairs vary depending on the add-on.\nOnly supports non-nested structure and only supports string type elements.\nThis is an alternative to \u003cspan pulumi-lang-nodejs=\"`customJson`\" pulumi-lang-dotnet=\"`CustomJson`\" pulumi-lang-go=\"`customJson`\" pulumi-lang-python=\"`custom_json`\" pulumi-lang-yaml=\"`customJson`\" pulumi-lang-java=\"`customJson`\"\u003e`custom_json`\u003c/span\u003e, but it is not recommended.\n"},"customJson":{"type":"string","description":"Specifies the json string vary depending on the add-on.\n"},"flavor":{"type":"string","description":"Specifies the json string vary depending on the add-on.\nThis is an alternative to \u003cspan pulumi-lang-nodejs=\"`flavorJson`\" pulumi-lang-dotnet=\"`FlavorJson`\" pulumi-lang-go=\"`flavorJson`\" pulumi-lang-python=\"`flavor_json`\" pulumi-lang-yaml=\"`flavorJson`\" pulumi-lang-java=\"`flavorJson`\"\u003e`flavor_json`\u003c/span\u003e, left for backward compatibility.\n\nArguments which can be passed to the \u003cspan pulumi-lang-nodejs=\"`basic`\" pulumi-lang-dotnet=\"`Basic`\" pulumi-lang-go=\"`basic`\" pulumi-lang-python=\"`basic`\" pulumi-lang-yaml=\"`basic`\" pulumi-lang-java=\"`basic`\"\u003e`basic`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\"\u003e`custom`\u003c/span\u003e addon parameters depends on the addon type and version.\nFor more detailed description of addons for k8s version `v1.17.9` see addons description.\nFor more detailed description of addons for k8s version `v1.19.8` see addons description.\nFor more detailed description of addons for k8s version `v1.25` see addons description.\nFor more detailed description of addons for k8s version `v1.28` see addons description.\n"},"flavorJson":{"type":"string","description":"Specifies the json string vary depending on the add-on.\n"}},"type":"object"},"opentelekomcloud:index/CceClusterV3AuthenticatingProxy:CceClusterV3AuthenticatingProxy":{"properties":{"ca":{"type":"string","description":"X509 CA certificate configured in \u003cspan pulumi-lang-nodejs=\"`authenticatingProxy`\" pulumi-lang-dotnet=\"`AuthenticatingProxy`\" pulumi-lang-go=\"`authenticatingProxy`\" pulumi-lang-python=\"`authenticating_proxy`\" pulumi-lang-yaml=\"`authenticatingProxy`\" pulumi-lang-java=\"`authenticatingProxy`\"\u003e`authenticating_proxy`\u003c/span\u003e mode. The maximum size of the certificate is 1 MB.\n"},"cert":{"type":"string","description":"Client certificate issued by the X509 CA certificate configured in \u003cspan pulumi-lang-nodejs=\"`authenticatingProxy`\" pulumi-lang-dotnet=\"`AuthenticatingProxy`\" pulumi-lang-go=\"`authenticatingProxy`\" pulumi-lang-python=\"`authenticating_proxy`\" pulumi-lang-yaml=\"`authenticatingProxy`\" pulumi-lang-java=\"`authenticatingProxy`\"\u003e`authenticating_proxy`\u003c/span\u003e mode.\nThis certificate is used for authentication from kube-apiserver to the extended API server.\n"},"privateKey":{"type":"string","description":"Private key of the client certificate issued by the X509 CA certificate configured in \u003cspan pulumi-lang-nodejs=\"`authenticatingProxy`\" pulumi-lang-dotnet=\"`AuthenticatingProxy`\" pulumi-lang-go=\"`authenticatingProxy`\" pulumi-lang-python=\"`authenticating_proxy`\" pulumi-lang-yaml=\"`authenticatingProxy`\" pulumi-lang-java=\"`authenticatingProxy`\"\u003e`authenticating_proxy`\u003c/span\u003e mode.\nThis key is used for authentication from kube-apiserver to the extended API server.\n\n~\u003e\nThe private key used by the Kubernetes cluster does not support password encryption. Use an unencrypted private key.\n"}},"type":"object","required":["ca","cert","privateKey"]},"opentelekomcloud:index/CceClusterV3CertificateCluster:CceClusterV3CertificateCluster":{"properties":{"certificateAuthorityData":{"type":"string"},"name":{"type":"string","description":"Specifies the component name.\n"},"server":{"type":"string"}},"type":"object","required":["certificateAuthorityData","name","server"]},"opentelekomcloud:index/CceClusterV3CertificateUser:CceClusterV3CertificateUser":{"properties":{"clientCertificateData":{"type":"string"},"clientKeyData":{"type":"string"},"name":{"type":"string","description":"Specifies the component name.\n"}},"type":"object","required":["clientCertificateData","clientKeyData","name"]},"opentelekomcloud:index/CceClusterV3ComponentConfiguration:CceClusterV3ComponentConfiguration":{"properties":{"configurations":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCceClusterV3ComponentConfigurationConfiguration:CceClusterV3ComponentConfigurationConfiguration"},"description":"Specifies object of the component configurations.\nThe object structure is documented below.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"cceClusterConfigurations\"\" pulumi-lang-dotnet=\"\"CceClusterConfigurations\"\" pulumi-lang-go=\"\"cceClusterConfigurations\"\" pulumi-lang-python=\"\"cce_cluster_configurations\"\" pulumi-lang-yaml=\"\"cceClusterConfigurations\"\" pulumi-lang-java=\"\"cceClusterConfigurations\"\"\u003e\"cce_cluster_configurations\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`configurations`\" pulumi-lang-dotnet=\"`Configurations`\" pulumi-lang-go=\"`configurations`\" pulumi-lang-python=\"`configurations`\" pulumi-lang-yaml=\"`configurations`\" pulumi-lang-java=\"`configurations`\"\u003e`configurations`\u003c/span\u003e block supports:\n"},"name":{"type":"string","description":"Specifies the component name.\n"}},"type":"object","required":["name"]},"opentelekomcloud:index/CceClusterV3ComponentConfigurationConfiguration:CceClusterV3ComponentConfigurationConfiguration":{"properties":{"name":{"type":"string","description":"Specifies the component name.\n"},"value":{"type":"string","description":"Specifies value of the component.\n\nIf you specify a component or parameter that is not supported, this configuration item will be ignored.\n"}},"type":"object","required":["name","value"]},"opentelekomcloud:index/CceClusterV3Master:CceClusterV3Master":{"properties":{"availabilityZone":{"type":"string","description":"Specifies the availability zone of the master node.\nChanging this parameter will create a new cluster resource.\n\n\u003e Note: Cluster custom deletion info and properties can be checked here:\n[Deleting a Specified Cluster.](https://docs.otc.t-systems.com/cloud-container-engine/api-ref/apis/cluster_management/deleting_a_specified_cluster.html)\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"cceClusterComponentConfigurations\"\" pulumi-lang-dotnet=\"\"CceClusterComponentConfigurations\"\" pulumi-lang-go=\"\"cceClusterComponentConfigurations\"\" pulumi-lang-python=\"\"cce_cluster_component_configurations\"\" pulumi-lang-yaml=\"\"cceClusterComponentConfigurations\"\" pulumi-lang-java=\"\"cceClusterComponentConfigurations\"\"\u003e\"cce_cluster_component_configurations\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`componentConfigurations`\" pulumi-lang-dotnet=\"`ComponentConfigurations`\" pulumi-lang-go=\"`componentConfigurations`\" pulumi-lang-python=\"`component_configurations`\" pulumi-lang-yaml=\"`componentConfigurations`\" pulumi-lang-java=\"`componentConfigurations`\"\u003e`component_configurations`\u003c/span\u003e block supports:\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["availabilityZone"]}}},"opentelekomcloud:index/CceClusterV3Timeouts:CceClusterV3Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/CceNodeAttachV3DataVolume:CceNodeAttachV3DataVolume":{"properties":{"dssPoolId":{"type":"string"},"extendParam":{"type":"string"},"extendParams":{"type":"object","additionalProperties":{"type":"string"},"description":"The disk expansion parameters.\n"},"hwPassthrough":{"type":"boolean"},"kmsId":{"type":"string","description":"The ID of a KMS key. This is used to encrypt the volume.\n"},"size":{"type":"number","description":"The disk size in GB.\n"},"volumetype":{"type":"string","description":"The disk type.\n"}},"type":"object","required":["dssPoolId","extendParam","extendParams","hwPassthrough","kmsId","size","volumetype"]},"opentelekomcloud:index/CceNodeAttachV3RootVolume:CceNodeAttachV3RootVolume":{"properties":{"extendParam":{"type":"string"},"extendParams":{"type":"object","additionalProperties":{"type":"string"},"description":"The disk expansion parameters.\n"},"kmsId":{"type":"string","description":"The ID of a KMS key. This is used to encrypt the volume.\n"},"size":{"type":"number","description":"The disk size in GB.\n"},"volumetype":{"type":"string","description":"The disk type.\n"}},"type":"object","required":["extendParam","extendParams","kmsId","size","volumetype"]},"opentelekomcloud:index/CceNodeAttachV3Storage:CceNodeAttachV3Storage":{"properties":{"groups":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCceNodeAttachV3StorageGroup:CceNodeAttachV3StorageGroup"},"description":"Specifies the storage group consists of multiple storage devices.\nThis is used to divide storage space. Structure is documented below.\nChanging this parameter will reset the node.\n"},"selectors":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCceNodeAttachV3StorageSelector:CceNodeAttachV3StorageSelector"},"description":"Specifies the disk selection.\nMatched disks are managed according to match labels and storage type. Structure is documented below.\nChanging this parameter will reset the node.\n"}},"type":"object","required":["groups","selectors"]},"opentelekomcloud:index/CceNodeAttachV3StorageGroup:CceNodeAttachV3StorageGroup":{"properties":{"cceManaged":{"type":"boolean","description":"Specifies the whether the storage space is for **kubernetes** and\n**runtime** components. Only one group can be set to true. The default value is **false**.\nChanging this parameter will reset the node.\n"},"name":{"type":"string","description":"Specifies the name of a virtual storage group. Each group name must be unique.\nChanging this parameter will reset the node.\n"},"selectorNames":{"type":"array","items":{"type":"string"},"description":"Specifies the list of names of selectors to match.\nThis parameter corresponds to name in \u003cspan pulumi-lang-nodejs=\"`selectors`\" pulumi-lang-dotnet=\"`Selectors`\" pulumi-lang-go=\"`selectors`\" pulumi-lang-python=\"`selectors`\" pulumi-lang-yaml=\"`selectors`\" pulumi-lang-java=\"`selectors`\"\u003e`selectors`\u003c/span\u003e. A group can match multiple selectors,\nbut a selector can match only one group. Changing this parameter will reset the node.\n"},"virtualSpaces":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCceNodeAttachV3StorageGroupVirtualSpace:CceNodeAttachV3StorageGroupVirtualSpace"},"description":"Specifies the detailed management of space configuration in a group.\nChanging this parameter will reset the node.\n"}},"type":"object","required":["name","selectorNames","virtualSpaces"]},"opentelekomcloud:index/CceNodeAttachV3StorageGroupVirtualSpace:CceNodeAttachV3StorageGroupVirtualSpace":{"properties":{"lvmLvType":{"type":"string","description":"Specifies the LVM write mode, values can be **linear** and **striped**.\nThis parameter takes effect only in **kubernetes** and **user** configuration. Changing this parameter will create\na new resource.\n"},"lvmPath":{"type":"string","description":"Specifies the absolute path to which the disk is attached.\nThis parameter takes effect only in **user** configuration. Changing this parameter will reset the node.\n"},"name":{"type":"string","description":"Specifies the virtual space name. Currently, only **kubernetes**, **runtime**,\nand **user** are supported. Changing this parameter will reset the node.\n"},"runtimeLvType":{"type":"string","description":"Specifies the LVM write mode, values can be **linear** and **striped**.\nThis parameter takes effect only in **runtime** configuration. Changing this parameter will reset the node.\n"},"size":{"type":"string","description":"Specifies the size of a virtual space. Only an integer percentage is supported.\nExample: 90%. Note that the total percentage of all virtual spaces in a group cannot exceed 100%.\nChanging this parameter will reset the node.\n"}},"type":"object","required":["name","size"]},"opentelekomcloud:index/CceNodeAttachV3StorageSelector:CceNodeAttachV3StorageSelector":{"properties":{"matchLabelCount":{"type":"string","description":"Specifies the number of disks to be selected. If omitted,\nall disks of this type are selected. Changing this parameter will reset the node.\n"},"matchLabelMetadataCmkid":{"type":"string","description":"Specifies the customer master key ID of an encrypted\ndisk. Changing this parameter will reset the node.\n"},"matchLabelMetadataEncrypted":{"type":"string","description":"Specifies the disk encryption identifier.\nValues can be: **0** indicates that the disk is not encrypted and **1** indicates that the disk is encrypted.\nIf omitted, whether the disk is encrypted is not limited. Changing this parameter will reset the node.\n"},"matchLabelSize":{"type":"string","description":"Specifies the matched disk size. If omitted,\nthe disk size is not limited. Example: 100. Changing this parameter will reset the node.\n"},"matchLabelVolumeType":{"type":"string","description":"Specifies the EVS disk type. Currently,\n**SSD**, **GPSSD**, and **SAS** are supported. If omitted, the disk type is not limited.\nChanging this parameter will reset the node.\n"},"name":{"type":"string","description":"Specifies the selector name, used as the index of \u003cspan pulumi-lang-nodejs=\"`selectorNames`\" pulumi-lang-dotnet=\"`SelectorNames`\" pulumi-lang-go=\"`selectorNames`\" pulumi-lang-python=\"`selector_names`\" pulumi-lang-yaml=\"`selectorNames`\" pulumi-lang-java=\"`selectorNames`\"\u003e`selector_names`\u003c/span\u003e in storage group.\nThe name of each selector must be unique. Changing this parameter will reset the node.\n"},"type":{"type":"string","description":"Specifies the storage type. Currently, only **evs (EVS volumes)** is supported.\nThe default value is **evs**. Changing this parameter will reset the node.\n"}},"type":"object","required":["name"]},"opentelekomcloud:index/CceNodeAttachV3Taint:CceNodeAttachV3Taint":{"properties":{"effect":{"type":"string","description":"Available options are NoSchedule, PreferNoSchedule, and NoExecute.\nChanging this parameter will reset the node.\n"},"key":{"type":"string","description":"A key must contain 1 to 63 characters starting with a letter or digit.\nOnly letters, digits, hyphens (-), underscores (_), and periods (.) are allowed. A DNS subdomain name can be used\nas the prefix of a key. Changing this parameter will reset the node.\n"},"value":{"type":"string","description":"A value must start with a letter or digit and can contain a maximum of 63\ncharacters, including letters, digits, hyphens (-), underscores (_), and periods (.). Changing this parameter will\nreset the node.\n"}},"type":"object","required":["effect","key","value"]},"opentelekomcloud:index/CceNodeAttachV3Timeouts:CceNodeAttachV3Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/CceNodePoolConfigV3Package:CceNodePoolConfigV3Package":{"properties":{"configurations":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCceNodePoolConfigV3PackageConfiguration:CceNodePoolConfigV3PackageConfiguration"},"description":"Specifies configuration items. The structure is documented below:\n"},"name":{"type":"string","description":"Specifies the component/package name.\n"}},"type":"object","required":["configurations","name"]},"opentelekomcloud:index/CceNodePoolConfigV3PackageConfiguration:CceNodePoolConfigV3PackageConfiguration":{"properties":{"name":{"type":"string","description":"Specifies the configuration item name one wishes to override. This configuration item will be ignored if unsupported component or parameter is specified.\n"},"value":{"type":"string","description":"Specifies the configuration item value. This configuration item will be ignored if unsupported component or parameter is specified.\n\n\u003e **Note:** Supported values for package names and their corresponding configurable items can be found at this page in [CCE user guide](https://docs.otc.t-systems.com/cloud-container-engine/umn/node_pools/managing_node_pools/modifying_node_pool_configurations.html#containerd-available-only-for-containerd-node-pools)\n"}},"type":"object","required":["name","value"]},"opentelekomcloud:index/CceNodePoolConfigV3Timeouts:CceNodePoolConfigV3Timeouts":{"properties":{"create":{"type":"string"},"default":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/CceNodePoolV3DataVolume:CceNodePoolV3DataVolume":{"properties":{"extendParam":{"type":"string","description":"**DEPRECATED** - (Optional, String, ForceNew) Disk expansion parameters.\nPlease use alternative parameter \u003cspan pulumi-lang-nodejs=\"`extendParams`\" pulumi-lang-dotnet=\"`ExtendParams`\" pulumi-lang-go=\"`extendParams`\" pulumi-lang-python=\"`extend_params`\" pulumi-lang-yaml=\"`extendParams`\" pulumi-lang-java=\"`extendParams`\"\u003e`extend_params`\u003c/span\u003e.\n","deprecationMessage":"Deprecated"},"extendParams":{"type":"object","additionalProperties":{"type":"string"},"description":"Disk expansion parameters. A list of strings which describes additional disk parameters.\n"},"kmsId":{"type":"string","description":"The Encryption KMS ID of the data volume. By default, it tries to get from env by `OS_KMS_ID`.\n\u003e **NOTE:** Common I/O (SATA) will reach end of life, end of 2025.\n\n\u003e To enable encryption with the KMS. Firstly, you need to create the agency to grant KMS rights to EVS.\nThe agency has to be created for a new project first with a user who has security \u003cspan pulumi-lang-nodejs=\"`admin`\" pulumi-lang-dotnet=\"`Admin`\" pulumi-lang-go=\"`admin`\" pulumi-lang-python=\"`admin`\" pulumi-lang-yaml=\"`admin`\" pulumi-lang-java=\"`admin`\"\u003e`admin`\u003c/span\u003e permissions.\nIt is created automatically with the first encrypted EVS disk via UI.\n"},"size":{"type":"number","description":"Disk size in GB.\n"},"volumetype":{"type":"string","description":"Disk type.\n"}},"type":"object","required":["size","volumetype"]},"opentelekomcloud:index/CceNodePoolV3RootVolume:CceNodePoolV3RootVolume":{"properties":{"extendParam":{"type":"string","description":"**DEPRECATED** - (Optional, String, ForceNew) Disk expansion parameters.\nPlease use alternative parameter \u003cspan pulumi-lang-nodejs=\"`extendParams`\" pulumi-lang-dotnet=\"`ExtendParams`\" pulumi-lang-go=\"`extendParams`\" pulumi-lang-python=\"`extend_params`\" pulumi-lang-yaml=\"`extendParams`\" pulumi-lang-java=\"`extendParams`\"\u003e`extend_params`\u003c/span\u003e.\n","deprecationMessage":"Deprecated"},"extendParams":{"type":"object","additionalProperties":{"type":"string"},"description":"Disk expansion parameters. A list of strings which describes additional disk parameters.\n"},"kmsId":{"type":"string","description":"The Encryption KMS ID of the system volume. By default, it tries to get from env by `OS_KMS_ID`.\n\u003e **NOTE:** Common I/O (SATA) will reach end of life, end of 2025.\n"},"size":{"type":"number","description":"Disk size in GB.\n"},"volumetype":{"type":"string","description":"Disk type.\n"}},"type":"object","required":["size","volumetype"]},"opentelekomcloud:index/CceNodePoolV3Taint:CceNodePoolV3Taint":{"properties":{"effect":{"type":"string","description":"Available options are `NoSchedule`, `PreferNoSchedule`, and `NoExecute`.\n"},"key":{"type":"string","description":"A key must contain 1 to 63 characters starting with a letter or digit. Only letters, digits, hyphens (-), underscores (_), and periods (.) are allowed. A DNS subdomain name can be used as the prefix of a key.\n"},"value":{"type":"string","description":"A value must start with a letter or digit and can contain a maximum of 63 characters, including letters, digits, hyphens (-), underscores (_), and periods (.).\n"}},"type":"object","required":["effect","key","value"]},"opentelekomcloud:index/CceNodePoolV3Timeouts:CceNodePoolV3Timeouts":{"properties":{"create":{"type":"string"},"default":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/CceNodeV3DataVolume:CceNodeV3DataVolume":{"properties":{"extendParam":{"type":"string","description":"**DEPRECATED** - (Optional, ForceNew, String) Disk expansion parameters.\nPlease use alternative parameter \u003cspan pulumi-lang-nodejs=\"`extendParams`\" pulumi-lang-dotnet=\"`ExtendParams`\" pulumi-lang-go=\"`extendParams`\" pulumi-lang-python=\"`extend_params`\" pulumi-lang-yaml=\"`extendParams`\" pulumi-lang-java=\"`extendParams`\"\u003e`extend_params`\u003c/span\u003e.\n","deprecationMessage":"Deprecated"},"extendParams":{"type":"object","additionalProperties":{"type":"string"},"description":"Disk expansion parameters. A list of strings which describes additional disk parameters.\n"},"kmsId":{"type":"string","description":"The Encryption KMS ID of the data volume. By default, it tries to get from env by `OS_KMS_ID`.\n\u003e **NOTE:** Common I/O (SATA) will reach end of life, end of 2025.\n\n\u003e To enable encryption with the KMS. Firstly, you need to create the agency to grant KMS rights to EVS.\nThe agency has to be created for a new project first with a user who has security \u003cspan pulumi-lang-nodejs=\"`admin`\" pulumi-lang-dotnet=\"`Admin`\" pulumi-lang-go=\"`admin`\" pulumi-lang-python=\"`admin`\" pulumi-lang-yaml=\"`admin`\" pulumi-lang-java=\"`admin`\"\u003e`admin`\u003c/span\u003e permissions.\nIt is created automatically with the first encrypted EVS disk via UI.\n"},"size":{"type":"number","description":"Disk size in GB.\n"},"volumetype":{"type":"string","description":"Disk type.\n"}},"type":"object","required":["size","volumetype"],"language":{"nodejs":{"requiredOutputs":["extendParams","size","volumetype"]}}},"opentelekomcloud:index/CceNodeV3RootVolume:CceNodeV3RootVolume":{"properties":{"extendParam":{"type":"string","description":"**DEPRECATED** - (Optional, ForceNew, String) Disk expansion parameters.\nPlease use alternative parameter \u003cspan pulumi-lang-nodejs=\"`extendParams`\" pulumi-lang-dotnet=\"`ExtendParams`\" pulumi-lang-go=\"`extendParams`\" pulumi-lang-python=\"`extend_params`\" pulumi-lang-yaml=\"`extendParams`\" pulumi-lang-java=\"`extendParams`\"\u003e`extend_params`\u003c/span\u003e.\n","deprecationMessage":"Deprecated"},"extendParams":{"type":"object","additionalProperties":{"type":"string"},"description":"Disk expansion parameters. A list of strings which describes additional disk parameters.\n"},"kmsId":{"type":"string","description":"The Encryption KMS ID of the system volume. By default, it tries to get from env by `OS_KMS_ID`.\n\u003e **NOTE:** Common I/O (SATA) will reach end of life, end of 2025.\n"},"size":{"type":"number","description":"Disk size in GB.\n"},"volumetype":{"type":"string","description":"Disk type.\n"}},"type":"object","required":["size","volumetype"],"language":{"nodejs":{"requiredOutputs":["extendParams","size","volumetype"]}}},"opentelekomcloud:index/CceNodeV3Taint:CceNodeV3Taint":{"properties":{"effect":{"type":"string","description":"Available options are `NoSchedule`, `PreferNoSchedule`, and `NoExecute`.\n"},"key":{"type":"string","description":"A key must contain 1 to 63 characters starting with a letter or digit. Only letters, digits, hyphens (-), underscores (_), and periods (.) are allowed. A DNS subdomain name can be used as the prefix of a key.\n"},"value":{"type":"string","description":"A value must start with a letter or digit and can contain a maximum of 63 characters, including letters, digits, hyphens (-), underscores (_), and periods (.).\n"}},"type":"object","required":["effect","key","value"]},"opentelekomcloud:index/CceNodeV3Timeouts:CceNodeV3Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/CciNamespaceV2Timeouts:CciNamespaceV2Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/CesAlarmRuleV2AlarmAction:CesAlarmRuleV2AlarmAction":{"properties":{"notificationLists":{"type":"array","items":{"type":"string"},"description":"Specifies the list of objects to be notified if the alarm status changes.\nThe maximum length is \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e. If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to **notification**, the value of \u003cspan pulumi-lang-nodejs=\"`notificationList`\" pulumi-lang-dotnet=\"`NotificationList`\" pulumi-lang-go=\"`notificationList`\" pulumi-lang-python=\"`notification_list`\" pulumi-lang-yaml=\"`notificationList`\" pulumi-lang-java=\"`notificationList`\"\u003e`notification_list`\u003c/span\u003e cannot be empty.\nIf \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to **autoscaling**, the value of \u003cspan pulumi-lang-nodejs=\"`notificationList`\" pulumi-lang-dotnet=\"`NotificationList`\" pulumi-lang-go=\"`notificationList`\" pulumi-lang-python=\"`notification_list`\" pulumi-lang-yaml=\"`notificationList`\" pulumi-lang-java=\"`notificationList`\"\u003e`notification_list`\u003c/span\u003e must be `[]` and the value of \u003cspan pulumi-lang-nodejs=\"`namespace`\" pulumi-lang-dotnet=\"`Namespace`\" pulumi-lang-go=\"`namespace`\" pulumi-lang-python=\"`namespace`\" pulumi-lang-yaml=\"`namespace`\" pulumi-lang-java=\"`namespace`\"\u003e`namespace`\u003c/span\u003e\nmust be **SYS.AS**.\n\n\u003e To enable the autoscaling alarm rules take effect, you must bind scaling policies.\n"},"type":{"type":"string","description":"Specifies the type of action triggered by an alarm. The value can be:\n+ **notification**: indicates that a notification will be sent to the user.\n+ **autoscaling**: indicates that a scaling action will be triggered.\n"}},"type":"object","required":["notificationLists","type"]},"opentelekomcloud:index/CesAlarmRuleV2OkAction:CesAlarmRuleV2OkAction":{"properties":{"notificationLists":{"type":"array","items":{"type":"string"},"description":"Specifies the list of objects to be notified if the alarm status changes.\nThe maximum length is \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e.\n"},"type":{"type":"string","description":"Specifies the type of action triggered by the clearing of an alarm.\nThe value can be:\n+ **notification**: indicates that a notification will be sent to the user.\n+ **autoscaling**: indicates that a scaling action will be triggered.\n"}},"type":"object","required":["notificationLists","type"]},"opentelekomcloud:index/CesAlarmRuleV2Policy:CesAlarmRuleV2Policy":{"properties":{"comparisonOperator":{"type":"string","description":"Specifies the comparison condition of alarm thresholds.\nThe value can be `\u003e`, `=`, `\u003c`, `\u003e=`, `\u003c=`, or `!=`.\n"},"count":{"type":"number","description":"Specifies the number of consecutive occurrence times.\nThe value ranges from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e.\n"},"filter":{"type":"string","description":"Specifies the data rollup method. The value can be \u003cspan pulumi-lang-nodejs=\"`max`\" pulumi-lang-dotnet=\"`Max`\" pulumi-lang-go=\"`max`\" pulumi-lang-python=\"`max`\" pulumi-lang-yaml=\"`max`\" pulumi-lang-java=\"`max`\"\u003e`max`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`min`\" pulumi-lang-dotnet=\"`Min`\" pulumi-lang-go=\"`min`\" pulumi-lang-python=\"`min`\" pulumi-lang-yaml=\"`min`\" pulumi-lang-java=\"`min`\"\u003e`min`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`average`\" pulumi-lang-dotnet=\"`Average`\" pulumi-lang-go=\"`average`\" pulumi-lang-python=\"`average`\" pulumi-lang-yaml=\"`average`\" pulumi-lang-java=\"`average`\"\u003e`average`\u003c/span\u003e,\n\u003cspan pulumi-lang-nodejs=\"`sum`\" pulumi-lang-dotnet=\"`Sum`\" pulumi-lang-go=\"`sum`\" pulumi-lang-python=\"`sum`\" pulumi-lang-yaml=\"`sum`\" pulumi-lang-java=\"`sum`\"\u003e`sum`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`variance`\" pulumi-lang-dotnet=\"`Variance`\" pulumi-lang-go=\"`variance`\" pulumi-lang-python=\"`variance`\" pulumi-lang-yaml=\"`variance`\" pulumi-lang-java=\"`variance`\"\u003e`variance`\u003c/span\u003e.\n"},"level":{"type":"number","description":"Specifies the alarm severity. The value can be \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e, which indicates\n*critical*, *major*, *minor*, and *informational*, respectively.\nThe default value is \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"resourcesStruct\"\" pulumi-lang-dotnet=\"\"ResourcesStruct\"\" pulumi-lang-go=\"\"resourcesStruct\"\" pulumi-lang-python=\"\"resources_struct\"\" pulumi-lang-yaml=\"\"resourcesStruct\"\" pulumi-lang-java=\"\"resourcesStruct\"\"\u003e\"resources_struct\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`resources`\" pulumi-lang-dotnet=\"`Resources`\" pulumi-lang-go=\"`resources`\" pulumi-lang-python=\"`resources`\" pulumi-lang-yaml=\"`resources`\" pulumi-lang-java=\"`resources`\"\u003e`resources`\u003c/span\u003e block supports:\n"},"metricName":{"type":"string","description":"Specifies the metric name. The value can be a string of \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e characters\nthat must start with a letter and contain only letters, digits, and underscores (_).\nFor details, see [Services Interconnected with Cloud Eye](https://docs.otc.t-systems.com/cloud-eye/api-ref/appendix/services_interconnected_with_cloud_eye.html).\n"},"period":{"type":"number","description":"Specifies the alarm checking period in seconds. The value can be \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e,\n\u003cspan pulumi-lang-nodejs=\"`1200`\" pulumi-lang-dotnet=\"`1200`\" pulumi-lang-go=\"`1200`\" pulumi-lang-python=\"`1200`\" pulumi-lang-yaml=\"`1200`\" pulumi-lang-java=\"`1200`\"\u003e`1200`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`3600`\" pulumi-lang-dotnet=\"`3600`\" pulumi-lang-go=\"`3600`\" pulumi-lang-python=\"`3600`\" pulumi-lang-yaml=\"`3600`\" pulumi-lang-java=\"`3600`\"\u003e`3600`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`14400`\" pulumi-lang-dotnet=\"`14400`\" pulumi-lang-go=\"`14400`\" pulumi-lang-python=\"`14400`\" pulumi-lang-yaml=\"`14400`\" pulumi-lang-java=\"`14400`\"\u003e`14400`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`86400`\" pulumi-lang-dotnet=\"`86400`\" pulumi-lang-go=\"`86400`\" pulumi-lang-python=\"`86400`\" pulumi-lang-yaml=\"`86400`\" pulumi-lang-java=\"`86400`\"\u003e`86400`\u003c/span\u003e.\n\n\u003e If \u003cspan pulumi-lang-nodejs=\"`period`\" pulumi-lang-dotnet=\"`Period`\" pulumi-lang-go=\"`period`\" pulumi-lang-python=\"`period`\" pulumi-lang-yaml=\"`period`\" pulumi-lang-java=\"`period`\"\u003e`period`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, the raw metric data is used to determine whether to generate an alarm.\nWhen the value of \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is **EVENT.SYS** or **EVENT.CUSTOM**, \u003cspan pulumi-lang-nodejs=\"`period`\" pulumi-lang-dotnet=\"`Period`\" pulumi-lang-go=\"`period`\" pulumi-lang-python=\"`period`\" pulumi-lang-yaml=\"`period`\" pulumi-lang-java=\"`period`\"\u003e`period`\u003c/span\u003e can be set to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"suppressDuration":{"type":"number","description":"Specifies the interval for triggering an alarm if the alarm persists.\nPossible values are as follows:\n+ **0**: Cloud Eye triggers the alarm only once.\n+ **300**: Cloud Eye triggers the alarm every 5 minutes.\n+ **600**: Cloud Eye triggers the alarm every 10 minutes.\n+ **900**: Cloud Eye triggers the alarm every 15 minutes.\n+ **1800**: Cloud Eye triggers the alarm every 30 minutes.\n+ **3600**: Cloud Eye triggers the alarm every hour.\n+ **10800**: Cloud Eye triggers the alarm every 3 hours.\n+ **21600**: Cloud Eye triggers the alarm every 6 hours.\n+ **43200**: Cloud Eye triggers the alarm every 12 hours.\n+ **86400**: Cloud Eye triggers the alarm every day.\n\nThe default value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"unit":{"type":"string","description":"Specifies the data unit. The value can be a string of \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e characters.\n"},"value":{"type":"number","description":"Specifies the dimension value. The value can be a string of \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e characters\nthat must start with a letter or a number and contain only letters, digits, underscores (_), and hyphens (-).\nFor **ALL_INSTANCE** type alarms, this field can be left empty.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"actionsStruct\"\" pulumi-lang-dotnet=\"\"ActionsStruct\"\" pulumi-lang-go=\"\"actionsStruct\"\" pulumi-lang-python=\"\"actions_struct\"\" pulumi-lang-yaml=\"\"actionsStruct\"\" pulumi-lang-java=\"\"actionsStruct\"\"\u003e\"actions_struct\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`alarmActions`\" pulumi-lang-dotnet=\"`AlarmActions`\" pulumi-lang-go=\"`alarmActions`\" pulumi-lang-python=\"`alarm_actions`\" pulumi-lang-yaml=\"`alarmActions`\" pulumi-lang-java=\"`alarmActions`\"\u003e`alarm_actions`\u003c/span\u003e block supports:\n"}},"type":"object","required":["comparisonOperator","count","filter","metricName","period"]},"opentelekomcloud:index/CesAlarmRuleV2Resource:CesAlarmRuleV2Resource":{"properties":{"dimensions":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCesAlarmRuleV2ResourceDimension:CesAlarmRuleV2ResourceDimension"},"description":"Specifies the list of metric dimensions.\nThe dimensions structure is documented below.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"dimensionsStruct\"\" pulumi-lang-dotnet=\"\"DimensionsStruct\"\" pulumi-lang-go=\"\"dimensionsStruct\"\" pulumi-lang-python=\"\"dimensions_struct\"\" pulumi-lang-yaml=\"\"dimensionsStruct\"\" pulumi-lang-java=\"\"dimensionsStruct\"\"\u003e\"dimensions_struct\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`dimensions`\" pulumi-lang-dotnet=\"`Dimensions`\" pulumi-lang-go=\"`dimensions`\" pulumi-lang-python=\"`dimensions`\" pulumi-lang-yaml=\"`dimensions`\" pulumi-lang-java=\"`dimensions`\"\u003e`dimensions`\u003c/span\u003e block supports:\n"}},"type":"object","required":["dimensions"]},"opentelekomcloud:index/CesAlarmRuleV2ResourceDimension:CesAlarmRuleV2ResourceDimension":{"properties":{"name":{"type":"string","description":"Specifies the dimension name. The value can be a string of \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e characters\nthat must start with a letter and contain only letters, digits, underscores (_), and hyphens (-).\n"},"value":{"type":"string","description":"Specifies the dimension value. The value can be a string of \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e characters\nthat must start with a letter or a number and contain only letters, digits, underscores (_), and hyphens (-).\nFor **ALL_INSTANCE** type alarms, this field can be left empty.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"actionsStruct\"\" pulumi-lang-dotnet=\"\"ActionsStruct\"\" pulumi-lang-go=\"\"actionsStruct\"\" pulumi-lang-python=\"\"actions_struct\"\" pulumi-lang-yaml=\"\"actionsStruct\"\" pulumi-lang-java=\"\"actionsStruct\"\"\u003e\"actions_struct\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`alarmActions`\" pulumi-lang-dotnet=\"`AlarmActions`\" pulumi-lang-go=\"`alarmActions`\" pulumi-lang-python=\"`alarm_actions`\" pulumi-lang-yaml=\"`alarmActions`\" pulumi-lang-java=\"`alarmActions`\"\u003e`alarm_actions`\u003c/span\u003e block supports:\n"}},"type":"object","required":["name"],"language":{"nodejs":{"requiredOutputs":["name","value"]}}},"opentelekomcloud:index/CesAlarmRuleV2Timeouts:CesAlarmRuleV2Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/CesAlarmTemplateV2Policy:CesAlarmTemplateV2Policy":{"properties":{"alarmLevel":{"type":"number","description":"Specifies the alarm level.\nDefaults to \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e. The valid values are as follows:\n+ **1**: critical.\n+ **2**: major.\n+ **3**: minor.\n+ **4**: warning.\n"},"comparisonOperator":{"type":"string","description":"Specifies the comparison conditions for alarm threshold.\nValue options: **\u003e**, **\u003c**, **=**, **\u003e=**, **\u003c=**, **!=**.\n"},"count":{"type":"number","description":"Specifies the number of consecutive alarm triggering times.\n+ For event alarms, the value ranges from **1** to **180**.\n+ For metric alarms, the value can be **1**, **2**, **3**, **4**, **5**, **10**, **15**, **30**, **60**,\n**90**, **120**, **180**.\n"},"dimensionName":{"type":"string","description":"Specifies the resource dimension.\nLeave this parameter blank for an event alarm template.\n"},"filter":{"type":"string","description":"Specifies the data rollup methods.\nValue options: **average**, **variance**, **min**, **max**, **sum**.\n"},"metricName":{"type":"string","description":"Specifies the alarm metric name.\nThe value must start with a letter and can contain \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`96`\" pulumi-lang-dotnet=\"`96`\" pulumi-lang-go=\"`96`\" pulumi-lang-python=\"`96`\" pulumi-lang-yaml=\"`96`\" pulumi-lang-java=\"`96`\"\u003e`96`\u003c/span\u003e characters,\nincluding letters, digits, and underscores (_).\n"},"namespace":{"type":"string","description":"Specifies the namespace of the service.\nThe value must be in the `service.item` format and can contain \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e characters.\nFor details, see [Services Interconnected with Cloud Eye](https://docs.otc.t-systems.com/cloud-eye/api-ref/appendix/services_interconnected_with_cloud_eye.html).\n"},"period":{"type":"number","description":"Specifies the aggregation period of alarm condition in seconds.\nValue options: **0**, **1**, **300**, **1200**, **3600**, **14400**, **86400**.\n\n\u003e If \u003cspan pulumi-lang-nodejs=\"`period`\" pulumi-lang-dotnet=\"`Period`\" pulumi-lang-go=\"`period`\" pulumi-lang-python=\"`period`\" pulumi-lang-yaml=\"`period`\" pulumi-lang-java=\"`period`\"\u003e`period`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, the raw metric data is used to determine whether to generate an alarm.\nWhen the value of \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is **2** (event alarm template), \u003cspan pulumi-lang-nodejs=\"`period`\" pulumi-lang-dotnet=\"`Period`\" pulumi-lang-go=\"`period`\" pulumi-lang-python=\"`period`\" pulumi-lang-yaml=\"`period`\" pulumi-lang-java=\"`period`\"\u003e`period`\u003c/span\u003e can be set to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"suppressDuration":{"type":"number","description":"Specifies the alarm suppression cycle in seconds.\nOnly one alarm is sent when the alarm suppression period is **0**.\nValue options: **0**, **300**, **600**, **900**, **1800**, **3600**, **10800**, **21600**,\n**43200**, **86400**.\n"},"unit":{"type":"string","description":"Specifies the unit string of the alarm threshold.\n"},"value":{"type":"number","description":"Specifies the alarm threshold.\nThe value ranges from \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e to `Number.MAX_VALUE` (1.7976931348623157e+108).\n"}},"type":"object","required":["comparisonOperator","count","filter","metricName","namespace","period","suppressDuration"]},"opentelekomcloud:index/CesAlarmruleAlarmAction:CesAlarmruleAlarmAction":{"properties":{"notificationLists":{"type":"array","items":{"type":"string"},"description":"Specifies the topic urn list of the target\nnotification objects. The maximum length is \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e. The topic urn list can be\nobtained from simple message notification (SMN) and in the following format:\n`urn:smn:([a-z]|[a-z]|[0-9]|\\-){1,32}:([a-z]|[a-z]|[0-9]){32}:([a-z]|[a-z]|[0-9]|\\-|\\_){1,256}`.\nIf \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`notification`\" pulumi-lang-dotnet=\"`Notification`\" pulumi-lang-go=\"`notification`\" pulumi-lang-python=\"`notification`\" pulumi-lang-yaml=\"`notification`\" pulumi-lang-java=\"`notification`\"\u003e`notification`\u003c/span\u003e, the value of \u003cspan pulumi-lang-nodejs=\"`notificationList`\" pulumi-lang-dotnet=\"`NotificationList`\" pulumi-lang-go=\"`notificationList`\" pulumi-lang-python=\"`notification_list`\" pulumi-lang-yaml=\"`notificationList`\" pulumi-lang-java=\"`notificationList`\"\u003e`notification_list`\u003c/span\u003e cannot be\nempty. If \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`autoscaling`\" pulumi-lang-dotnet=\"`Autoscaling`\" pulumi-lang-go=\"`autoscaling`\" pulumi-lang-python=\"`autoscaling`\" pulumi-lang-yaml=\"`autoscaling`\" pulumi-lang-java=\"`autoscaling`\"\u003e`autoscaling`\u003c/span\u003e, the value of \u003cspan pulumi-lang-nodejs=\"`notificationList`\" pulumi-lang-dotnet=\"`NotificationList`\" pulumi-lang-go=\"`notificationList`\" pulumi-lang-python=\"`notification_list`\" pulumi-lang-yaml=\"`notificationList`\" pulumi-lang-java=\"`notificationList`\"\u003e`notification_list`\u003c/span\u003e must\nbe `[]`.\n\n\u003e To enable the AS alarm rules take effect, you must bind scaling\npolicies. For details, see the [AutoScaling API Reference](https://docs.otc.t-systems.com/en-us/api/as/en-us_topic_0045219159.html).\n"},"type":{"type":"string","description":"Specifies the type of action triggered by an alarm. The\nvalue can be notification or autoscaling.\n"}},"type":"object","required":["notificationLists","type"]},"opentelekomcloud:index/CesAlarmruleCondition:CesAlarmruleCondition":{"properties":{"alarmFrequency":{"type":"number","description":"Specifies frequency for alarm triggering. If argument is not provided alarm will be triggered once.\n\u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e: Cloud Eye triggers the alarm every 5 minutes.\n\u003cspan pulumi-lang-nodejs=\"`600`\" pulumi-lang-dotnet=\"`600`\" pulumi-lang-go=\"`600`\" pulumi-lang-python=\"`600`\" pulumi-lang-yaml=\"`600`\" pulumi-lang-java=\"`600`\"\u003e`600`\u003c/span\u003e: Cloud Eye triggers the alarm every 10 minutes.\n\u003cspan pulumi-lang-nodejs=\"`900`\" pulumi-lang-dotnet=\"`900`\" pulumi-lang-go=\"`900`\" pulumi-lang-python=\"`900`\" pulumi-lang-yaml=\"`900`\" pulumi-lang-java=\"`900`\"\u003e`900`\u003c/span\u003e: Cloud Eye triggers the alarm every 15 minutes.\n\u003cspan pulumi-lang-nodejs=\"`1800`\" pulumi-lang-dotnet=\"`1800`\" pulumi-lang-go=\"`1800`\" pulumi-lang-python=\"`1800`\" pulumi-lang-yaml=\"`1800`\" pulumi-lang-java=\"`1800`\"\u003e`1800`\u003c/span\u003e: Cloud Eye triggers the alarm every 30 minutes.\n\u003cspan pulumi-lang-nodejs=\"`3600`\" pulumi-lang-dotnet=\"`3600`\" pulumi-lang-go=\"`3600`\" pulumi-lang-python=\"`3600`\" pulumi-lang-yaml=\"`3600`\" pulumi-lang-java=\"`3600`\"\u003e`3600`\u003c/span\u003e: Cloud Eye triggers the alarm every hour.\n\u003cspan pulumi-lang-nodejs=\"`10800`\" pulumi-lang-dotnet=\"`10800`\" pulumi-lang-go=\"`10800`\" pulumi-lang-python=\"`10800`\" pulumi-lang-yaml=\"`10800`\" pulumi-lang-java=\"`10800`\"\u003e`10800`\u003c/span\u003e: Cloud Eye triggers the alarm every 3 hours.\n\u003cspan pulumi-lang-nodejs=\"`21600`\" pulumi-lang-dotnet=\"`21600`\" pulumi-lang-go=\"`21600`\" pulumi-lang-python=\"`21600`\" pulumi-lang-yaml=\"`21600`\" pulumi-lang-java=\"`21600`\"\u003e`21600`\u003c/span\u003e: Cloud Eye triggers the alarm every 6 hours.\n\u003cspan pulumi-lang-nodejs=\"`43200`\" pulumi-lang-dotnet=\"`43200`\" pulumi-lang-go=\"`43200`\" pulumi-lang-python=\"`43200`\" pulumi-lang-yaml=\"`43200`\" pulumi-lang-java=\"`43200`\"\u003e`43200`\u003c/span\u003e: Cloud Eye triggers the alarm every 12 hours.\n\u003cspan pulumi-lang-nodejs=\"`86400`\" pulumi-lang-dotnet=\"`86400`\" pulumi-lang-go=\"`86400`\" pulumi-lang-python=\"`86400`\" pulumi-lang-yaml=\"`86400`\" pulumi-lang-java=\"`86400`\"\u003e`86400`\u003c/span\u003e: Cloud Eye triggers the alarm every day.\n"},"comparisonOperator":{"type":"string","description":"Specifies the comparison condition of alarm\nthresholds. The value can be `\u003e`, `=`, `\u003c`, `\u003e=`, or `\u003c=`.\n"},"count":{"type":"number","description":"Specifies the number of consecutive occurrence times.\nThe value ranges from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e.\n"},"filter":{"type":"string","description":"Specifies the data rollup methods. The value can be\n\u003cspan pulumi-lang-nodejs=\"`max`\" pulumi-lang-dotnet=\"`Max`\" pulumi-lang-go=\"`max`\" pulumi-lang-python=\"`max`\" pulumi-lang-yaml=\"`max`\" pulumi-lang-java=\"`max`\"\u003e`max`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`min`\" pulumi-lang-dotnet=\"`Min`\" pulumi-lang-go=\"`min`\" pulumi-lang-python=\"`min`\" pulumi-lang-yaml=\"`min`\" pulumi-lang-java=\"`min`\"\u003e`min`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`average`\" pulumi-lang-dotnet=\"`Average`\" pulumi-lang-go=\"`average`\" pulumi-lang-python=\"`average`\" pulumi-lang-yaml=\"`average`\" pulumi-lang-java=\"`average`\"\u003e`average`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sum`\" pulumi-lang-dotnet=\"`Sum`\" pulumi-lang-go=\"`sum`\" pulumi-lang-python=\"`sum`\" pulumi-lang-yaml=\"`sum`\" pulumi-lang-java=\"`sum`\"\u003e`sum`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`variance`\" pulumi-lang-dotnet=\"`Variance`\" pulumi-lang-go=\"`variance`\" pulumi-lang-python=\"`variance`\" pulumi-lang-yaml=\"`variance`\" pulumi-lang-java=\"`variance`\"\u003e`variance`\u003c/span\u003e.\n"},"period":{"type":"number","description":"Specifies the alarm checking period in seconds. The\nvalue can be \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1200`\" pulumi-lang-dotnet=\"`1200`\" pulumi-lang-go=\"`1200`\" pulumi-lang-python=\"`1200`\" pulumi-lang-yaml=\"`1200`\" pulumi-lang-java=\"`1200`\"\u003e`1200`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`3600`\" pulumi-lang-dotnet=\"`3600`\" pulumi-lang-go=\"`3600`\" pulumi-lang-python=\"`3600`\" pulumi-lang-yaml=\"`3600`\" pulumi-lang-java=\"`3600`\"\u003e`3600`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`14400`\" pulumi-lang-dotnet=\"`14400`\" pulumi-lang-go=\"`14400`\" pulumi-lang-python=\"`14400`\" pulumi-lang-yaml=\"`14400`\" pulumi-lang-java=\"`14400`\"\u003e`14400`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`86400`\" pulumi-lang-dotnet=\"`86400`\" pulumi-lang-go=\"`86400`\" pulumi-lang-python=\"`86400`\" pulumi-lang-yaml=\"`86400`\" pulumi-lang-java=\"`86400`\"\u003e`86400`\u003c/span\u003e.\n\n\u003e If \u003cspan pulumi-lang-nodejs=\"`period`\" pulumi-lang-dotnet=\"`Period`\" pulumi-lang-go=\"`period`\" pulumi-lang-python=\"`period`\" pulumi-lang-yaml=\"`period`\" pulumi-lang-java=\"`period`\"\u003e`period`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, the raw metric data is used to determine\nwhether to generate an alarm.\n\n\u003e To trigger an event immediately, simply set the \u003cspan pulumi-lang-nodejs=\"`period`\" pulumi-lang-dotnet=\"`Period`\" pulumi-lang-go=\"`period`\" pulumi-lang-python=\"`period`\" pulumi-lang-yaml=\"`period`\" pulumi-lang-java=\"`period`\"\u003e`period`\u003c/span\u003e parameter to 0\n"},"unit":{"type":"string","description":"Specifies the data unit.\n"},"value":{"type":"number","description":"Specifies the alarm threshold. The value ranges from\n\u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e to `Number.MAX_VALUE` of `1.7976931348623157e+108`.\n"}},"type":"object","required":["comparisonOperator","count","filter","period","value"]},"opentelekomcloud:index/CesAlarmruleMetric:CesAlarmruleMetric":{"properties":{"dimensions":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCesAlarmruleMetricDimension:CesAlarmruleMetricDimension"},"description":"Specifies the list of metric dimensions.\nIf CES \u003cspan pulumi-lang-nodejs=\"`alarmType`\" pulumi-lang-dotnet=\"`AlarmType`\" pulumi-lang-go=\"`alarmType`\" pulumi-lang-python=\"`alarm_type`\" pulumi-lang-yaml=\"`alarmType`\" pulumi-lang-java=\"`alarmType`\"\u003e`alarm_type`\u003c/span\u003e is set to `EVENT.SYS` leaving this argument empty will enable monitoring for all service instances.\nOtherwise, argument is \u003cspan pulumi-lang-nodejs=\"`required`\" pulumi-lang-dotnet=\"`Required`\" pulumi-lang-go=\"`required`\" pulumi-lang-python=\"`required`\" pulumi-lang-yaml=\"`required`\" pulumi-lang-java=\"`required`\"\u003e`required`\u003c/span\u003e. Currently, the maximum length of the dimension list that are supported is \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e.\nThe structure is described below.\n"},"metricName":{"type":"string","description":"Specifies the metric name. The value can be a string\nof \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e characters that must start with a letter and can consists of uppercase\nletters, lowercase letters, numbers, underscores (_) or slashes (/).\u003c/br\u003e\nAvailable metrics.\n"},"namespace":{"type":"string","description":"Specifies the namespace in `service.item` format. `service.item`\ncan be a string of \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e characters that must start with a letter and can\nconsists of uppercase letters, lowercase letters, numbers, or underscores (_).\n"}},"type":"object","required":["metricName","namespace"]},"opentelekomcloud:index/CesAlarmruleMetricDimension:CesAlarmruleMetricDimension":{"properties":{"name":{"type":"string","description":"Specifies the dimension name. The value can be a string\nof \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e characters that must start with a letter and can consists of uppercase\nletters, lowercase letters, numbers, underscores (_), or hyphens (-).\n"},"value":{"type":"string","description":"Specifies the dimension value. The value can be a string\nof \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e characters that must start with a letter or a number and can consists\nof uppercase letters, lowercase letters, numbers, underscores (_), or hyphens (-).\n\n\u003e Available dimensions can be checked here.\n"}},"type":"object","required":["name","value"]},"opentelekomcloud:index/CesAlarmruleOkAction:CesAlarmruleOkAction":{"properties":{"notificationLists":{"type":"array","items":{"type":"string"},"description":"Indicates the list of objects to be notified\nif the alarm status changes. The maximum length is \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e.\n"},"type":{"type":"string","description":"specifies the type of action triggered by an alarm. the\nvalue is notification.\n"}},"type":"object","required":["notificationLists","type"]},"opentelekomcloud:index/CesAlarmruleTimeouts:CesAlarmruleTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/CesEventReportV1Detail:CesEventReportV1Detail":{"properties":{"content":{"type":"string","description":"Specifies the event content. Enter up to `4,096` characters.\n"},"eventLevel":{"type":"string","description":"Specifies the event severity. The value can be `Critical`, `Major`, `Minor`, or `Info`.\n"},"eventState":{"type":"string","description":"Specifies the event status. The value can be \u003cspan pulumi-lang-nodejs=\"`normal`\" pulumi-lang-dotnet=\"`Normal`\" pulumi-lang-go=\"`normal`\" pulumi-lang-python=\"`normal`\" pulumi-lang-yaml=\"`normal`\" pulumi-lang-java=\"`normal`\"\u003e`normal`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`warning`\" pulumi-lang-dotnet=\"`Warning`\" pulumi-lang-go=\"`warning`\" pulumi-lang-python=\"`warning`\" pulumi-lang-yaml=\"`warning`\" pulumi-lang-java=\"`warning`\"\u003e`warning`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`incident`\" pulumi-lang-dotnet=\"`Incident`\" pulumi-lang-go=\"`incident`\" pulumi-lang-python=\"`incident`\" pulumi-lang-yaml=\"`incident`\" pulumi-lang-java=\"`incident`\"\u003e`incident`\u003c/span\u003e.\n"},"eventType":{"type":"string","description":"Specifies the event type. Its value can be `EVENT.SYS` or `EVENT.CUSTOM`. `EVENT.SYS` indicates system events that cannot be reported by users. **Only custom events can be reported.**\n"},"eventUser":{"type":"string","description":"Specifies the event user.\n"},"groupId":{"type":"string","description":"Specifies the resource group the event belongs to. This ID must be an existing resource group ID. This can be attained from `Cloud Eye` in management console. Resource group ID is listed under `Name/ID` column in `Resource Groups`.\n"},"resourceId":{"type":"string","description":"Specifies the resource ID.\n"},"resourceName":{"type":"string","description":"Specifies the resource name.\n"}},"type":"object"},"opentelekomcloud:index/CesEventReportV1Timeouts:CesEventReportV1Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/CesMetricDataV1Metric:CesMetricDataV1Metric":{"properties":{"dimensions":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCesMetricDataV1MetricDimension:CesMetricDataV1MetricDimension"},"description":"Specifies the metric dimension. A maximum of three dimensions are supported.\n"},"metricName":{"type":"string","description":"Specifies the metric ID. \nAvailable metrics.\n"},"namespace":{"type":"string","description":"Specifies the namespace in `service.item` format. `service.item` can be a string of \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e characters that must start with a letter and can consists of uppercase letters, lowercase letters, numbers, or underscores (_). In addition, service **cannot** start with `SYS`, `AGT`, or `SRE`, and namespace **cannot** be `SERVICE.BMS` because this namespace has been used by the system.\n"}},"type":"object","required":["dimensions","metricName","namespace"]},"opentelekomcloud:index/CesMetricDataV1MetricDimension:CesMetricDataV1MetricDimension":{"properties":{"name":{"type":"string","description":"Specifies the dimension name. The value can be a string\nof \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e characters that must start with a letter and can consists of uppercase\nletters, lowercase letters, numbers, underscores (_), or hyphens (-).\n"},"value":{"type":"string","description":"Specifies the dimension value. The value can be a string\nof \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e characters that must start with a letter or a number and can consists\nof uppercase letters, lowercase letters, numbers, underscores (_), or hyphens (-).\n"}},"type":"object","required":["name","value"]},"opentelekomcloud:index/CesMetricDataV1Timeouts:CesMetricDataV1Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/CesOneClickAlarmV2AlarmNotification:CesOneClickAlarmV2AlarmNotification":{"properties":{"notificationLists":{"type":"array","items":{"type":"string"},"description":"Specifies the list of SMN topic URNs.\nA maximum of \u003cspan pulumi-lang-nodejs=\"`20`\" pulumi-lang-dotnet=\"`20`\" pulumi-lang-go=\"`20`\" pulumi-lang-python=\"`20`\" pulumi-lang-yaml=\"`20`\" pulumi-lang-java=\"`20`\"\u003e`20`\u003c/span\u003e items are supported.\n"},"type":{"type":"string","description":"Specifies the notification type. The value is **notification**,\nwhich indicates that a notification will be sent via SMN topic subscriptions.\n"}},"type":"object","required":["notificationLists","type"]},"opentelekomcloud:index/CesOneClickAlarmV2DimensionNames:CesOneClickAlarmV2DimensionNames":{"properties":{"event":{"type":"boolean","description":"Specifies whether to enable event alarm rules.\nDefaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e At least one of \u003cspan pulumi-lang-nodejs=\"`metric`\" pulumi-lang-dotnet=\"`Metric`\" pulumi-lang-go=\"`metric`\" pulumi-lang-python=\"`metric`\" pulumi-lang-yaml=\"`metric`\" pulumi-lang-java=\"`metric`\"\u003e`metric`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`event`\" pulumi-lang-dotnet=\"`Event`\" pulumi-lang-go=\"`event`\" pulumi-lang-python=\"`event`\" pulumi-lang-yaml=\"`event`\" pulumi-lang-java=\"`event`\"\u003e`event`\u003c/span\u003e must be configured within \u003cspan pulumi-lang-nodejs=\"`dimensionNames`\" pulumi-lang-dotnet=\"`DimensionNames`\" pulumi-lang-go=\"`dimensionNames`\" pulumi-lang-python=\"`dimension_names`\" pulumi-lang-yaml=\"`dimensionNames`\" pulumi-lang-java=\"`dimensionNames`\"\u003e`dimension_names`\u003c/span\u003e.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"notificationsStruct\"\" pulumi-lang-dotnet=\"\"NotificationsStruct\"\" pulumi-lang-go=\"\"notificationsStruct\"\" pulumi-lang-python=\"\"notifications_struct\"\" pulumi-lang-yaml=\"\"notificationsStruct\"\" pulumi-lang-java=\"\"notificationsStruct\"\"\u003e\"notifications_struct\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`alarmNotifications`\" pulumi-lang-dotnet=\"`AlarmNotifications`\" pulumi-lang-go=\"`alarmNotifications`\" pulumi-lang-python=\"`alarm_notifications`\" pulumi-lang-yaml=\"`alarmNotifications`\" pulumi-lang-java=\"`alarmNotifications`\"\u003e`alarm_notifications`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`okNotifications`\" pulumi-lang-dotnet=\"`OkNotifications`\" pulumi-lang-go=\"`okNotifications`\" pulumi-lang-python=\"`ok_notifications`\" pulumi-lang-yaml=\"`okNotifications`\" pulumi-lang-java=\"`okNotifications`\"\u003e`ok_notifications`\u003c/span\u003e blocks support:\n"},"metrics":{"type":"array","items":{"type":"string"},"description":"Specifies the dimension strings for metric alarm rules.\nA maximum of \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e items are supported. Each element can be a string of \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`131`\" pulumi-lang-dotnet=\"`131`\" pulumi-lang-go=\"`131`\" pulumi-lang-python=\"`131`\" pulumi-lang-yaml=\"`131`\" pulumi-lang-java=\"`131`\"\u003e`131`\u003c/span\u003e characters\nthat must start with a letter and contain only letters, digits, underscores (_), hyphens (-), and commas (,).\n"}},"type":"object"},"opentelekomcloud:index/CesOneClickAlarmV2OkNotification:CesOneClickAlarmV2OkNotification":{"properties":{"notificationLists":{"type":"array","items":{"type":"string"},"description":"Specifies the list of SMN topic URNs.\nA maximum of \u003cspan pulumi-lang-nodejs=\"`20`\" pulumi-lang-dotnet=\"`20`\" pulumi-lang-go=\"`20`\" pulumi-lang-python=\"`20`\" pulumi-lang-yaml=\"`20`\" pulumi-lang-java=\"`20`\"\u003e`20`\u003c/span\u003e items are supported.\n"},"type":{"type":"string","description":"Specifies the notification type. The value is **notification**,\nwhich indicates that a notification will be sent via SMN topic subscriptions.\n"}},"type":"object","required":["notificationLists","type"]},"opentelekomcloud:index/CesOneClickAlarmV2Timeouts:CesOneClickAlarmV2Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/CesResourceGroupV2Resource:CesResourceGroupV2Resource":{"properties":{"dimensions":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCesResourceGroupV2ResourceDimension:CesResourceGroupV2ResourceDimension"},"description":"Specifies the list of dimensions.\nThe dimensions structure is documented below.\n\n\u003ca name=\"ResourceGroup_dimensions\"\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`dimensions`\" pulumi-lang-dotnet=\"`Dimensions`\" pulumi-lang-go=\"`dimensions`\" pulumi-lang-python=\"`dimensions`\" pulumi-lang-yaml=\"`dimensions`\" pulumi-lang-java=\"`dimensions`\"\u003e`dimensions`\u003c/span\u003e block supports:\n"},"namespace":{"type":"string","description":"Specifies the namespace in **service.item** format.\n**service** and **item** each must be a string that starts with a letter and contains only letters, digits, and\nunderscores (_). For details,\nsee [Services Interconnected with Cloud Eye](https://docs.otc.t-systems.com/cloud-eye/api-ref/appendix/services_interconnected_with_cloud_eye.html).\n"}},"type":"object","required":["dimensions","namespace"]},"opentelekomcloud:index/CesResourceGroupV2ResourceDimension:CesResourceGroupV2ResourceDimension":{"properties":{"name":{"type":"string","description":"Specifies the dimension name.\nThe value can be a string of 1 to 32 characters that must start with a letter\nand contain only letters, digits, and underscores (_).\n"},"value":{"type":"string","description":"Specifies the dimension value.\nThe value can be a string of 1 to 256 characters that must start with a letter or a number\nand contain only letters, digits, underscores (_), hyphens (-), and dots (.).\n"}},"type":"object","required":["name","value"]},"opentelekomcloud:index/CfwAclRuleV1Destination:CfwAclRuleV1Destination":{"properties":{"address":{"type":"string","description":"Specifies the IP address information. It cannot be left blank if type is set to 0.\n"},"addressGroups":{"type":"array","items":{"type":"string"},"description":"Specifies the Address group ID list. This parameter cannot be left blank when type is set to 5 (multiple objects).\n\n\u003ca name=\"service\"\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`service`\" pulumi-lang-dotnet=\"`Service`\" pulumi-lang-go=\"`service`\" pulumi-lang-python=\"`service`\" pulumi-lang-yaml=\"`service`\" pulumi-lang-java=\"`service`\"\u003e`service`\u003c/span\u003e block supports:\n"},"addressSetId":{"type":"string","description":"Specifies the ID of an associated IP address group. This parameter cannot be left blank when type is set to 1.\n"},"addressSetName":{"type":"string","description":"Specifies the name of an associated IP address group. This parameter cannot be left blank when type is set to 1.\n"},"addressSetType":{"type":"number","description":"Specifies the Address group type. It cannot be left blank when type is set to 1 (associated IP address group). It value can be \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (user-defined address group), \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (WAF back-to-source IP address group), \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e (DDoS back-to-source IP address group), or \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e (NAT64 address group).\n"},"addressType":{"type":"number","description":"Specifies theInternet protocol type of an address: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (IPv4), \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (IPv6). If type is 0, this parameter cannot be left blank.\n"},"domainAddressName":{"type":"string","description":"Specifies the name of a domain name address. This parameter is valid when type is set to 2 (domain name) or 7 (application domain name group).\n"},"domainSetId":{"type":"string","description":"Specifies the domain group ID. The value cannot be left blank when type is set to 4 (domain name group) or 7 (domain name group - application).\n"},"domainSetName":{"type":"string","description":"Specifies the domain group name. The value cannot be left blank when type is set to 4 (domain name group) or 7 (domain name group - application).\n"},"ipAddresses":{"type":"array","items":{"type":"string"},"description":"Specifies the IP address list. This parameter cannot be left blank when type is set to 5 (multiple objects).\n"},"predefinedGroups":{"type":"array","items":{"type":"string"},"description":"Specifies the pre-defined service group ID list.\n"},"regionListJson":{"type":"string","description":"Specifies the JSON value of the rule region list.\n"},"regionLists":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCfwAclRuleV1DestinationRegionList:CfwAclRuleV1DestinationRegionList"},"description":"Specifies the rule region list.\n"},"type":{"type":"number","description":"Specifies the service input type: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (manual), \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (automatic).\n"}},"type":"object","required":["type"]},"opentelekomcloud:index/CfwAclRuleV1DestinationRegionList:CfwAclRuleV1DestinationRegionList":{"properties":{"regionId":{"type":"string","description":"Specifies the region ID.\n"},"regionType":{"type":"number","description":"Specifies the region type: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (country), \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (province), and \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e (continent).\n"}},"type":"object"},"opentelekomcloud:index/CfwAclRuleV1Sequence:CfwAclRuleV1Sequence":{"properties":{"bottom":{"type":"number","description":"Specifies whether to pin to bottom: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (no), \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (yes).\n\n\u003ca name=\"dto\"\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`destination`\" pulumi-lang-dotnet=\"`Destination`\" pulumi-lang-go=\"`destination`\" pulumi-lang-python=\"`destination`\" pulumi-lang-yaml=\"`destination`\" pulumi-lang-java=\"`destination`\"\u003e`destination`\u003c/span\u003e block supports:\n"},"destRuleId":{"type":"string","description":"Specifies the ID of the target rule.\n"},"top":{"type":"number","description":"Specifies whether to pin on top: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (no), \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (yes).\n"}},"type":"object"},"opentelekomcloud:index/CfwAclRuleV1Service:CfwAclRuleV1Service":{"properties":{"customServices":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCfwAclRuleV1ServiceCustomService:CfwAclRuleV1ServiceCustomService"},"description":"Specifies the custom service.\n"},"destPort":{"type":"string","description":"Specifies the destination port.\n"},"predefinedGroups":{"type":"array","items":{"type":"string"},"description":"Specifies the pre-defined service group ID list.\n"},"protocol":{"type":"number","description":"Specifies the protocol type: \u003cspan pulumi-lang-nodejs=\"`6`\" pulumi-lang-dotnet=\"`6`\" pulumi-lang-go=\"`6`\" pulumi-lang-python=\"`6`\" pulumi-lang-yaml=\"`6`\" pulumi-lang-java=\"`6`\"\u003e`6`\u003c/span\u003e (TCP), \u003cspan pulumi-lang-nodejs=\"`17`\" pulumi-lang-dotnet=\"`17`\" pulumi-lang-go=\"`17`\" pulumi-lang-python=\"`17`\" pulumi-lang-yaml=\"`17`\" pulumi-lang-java=\"`17`\"\u003e`17`\u003c/span\u003e (UDP), \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (ICMP), \u003cspan pulumi-lang-nodejs=\"`58`\" pulumi-lang-dotnet=\"`58`\" pulumi-lang-go=\"`58`\" pulumi-lang-python=\"`58`\" pulumi-lang-yaml=\"`58`\" pulumi-lang-java=\"`58`\"\u003e`58`\u003c/span\u003e (ICMPv6), or `-1` (any). It cannot be left blank when type is set to 0 (manual).\n"},"protocols":{"type":"array","items":{"type":"number"},"description":"Specifies the protocol list. Permitted list values: \u003cspan pulumi-lang-nodejs=\"`6`\" pulumi-lang-dotnet=\"`6`\" pulumi-lang-go=\"`6`\" pulumi-lang-python=\"`6`\" pulumi-lang-yaml=\"`6`\" pulumi-lang-java=\"`6`\"\u003e`6`\u003c/span\u003e (TCP), \u003cspan pulumi-lang-nodejs=\"`17`\" pulumi-lang-dotnet=\"`17`\" pulumi-lang-go=\"`17`\" pulumi-lang-python=\"`17`\" pulumi-lang-yaml=\"`17`\" pulumi-lang-java=\"`17`\"\u003e`17`\u003c/span\u003e (UDP), \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (ICMP), \u003cspan pulumi-lang-nodejs=\"`58`\" pulumi-lang-dotnet=\"`58`\" pulumi-lang-go=\"`58`\" pulumi-lang-python=\"`58`\" pulumi-lang-yaml=\"`58`\" pulumi-lang-java=\"`58`\"\u003e`58`\u003c/span\u003e (ICMPv6), or `-1` (any). It cannot be left blank when type is set to 0 (manual).\n"},"serviceGroupNames":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCfwAclRuleV1ServiceServiceGroupName:CfwAclRuleV1ServiceServiceGroupName"},"description":"Specifies the service group name list.\n"},"serviceGroups":{"type":"array","items":{"type":"string"},"description":"Specifies the service group ID list.\n"},"serviceSetId":{"type":"string","description":"Specifies the Service group ID. This parameter cannot be left blank when type is set to 1 (associated IP address group).\n"},"serviceSetName":{"type":"string","description":"Specifies the Service group name. This parameter cannot be left blank when type is set to 1 (associated IP address group).\n"},"serviceSetType":{"type":"number","description":"Specifies the service group type: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (user-defined service group), \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (common web service), \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e (common remote login and ping), or \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e (common database).\n"},"sourcePort":{"type":"string","description":"Specifies the source port.\n"},"type":{"type":"number","description":"Specifies the service input type: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (manual), \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (automatic).\n"}},"type":"object","required":["type"]},"opentelekomcloud:index/CfwAclRuleV1ServiceCustomService:CfwAclRuleV1ServiceCustomService":{"properties":{"description":{"type":"string","description":"Specifies the service member description.\n"},"destPort":{"type":"string","description":"Specifies the destination port.\n"},"name":{"type":"string","description":"Specifies the service member name.\n"},"protocol":{"type":"number","description":"Specifies the protocol type: \u003cspan pulumi-lang-nodejs=\"`6`\" pulumi-lang-dotnet=\"`6`\" pulumi-lang-go=\"`6`\" pulumi-lang-python=\"`6`\" pulumi-lang-yaml=\"`6`\" pulumi-lang-java=\"`6`\"\u003e`6`\u003c/span\u003e (TCP), \u003cspan pulumi-lang-nodejs=\"`17`\" pulumi-lang-dotnet=\"`17`\" pulumi-lang-go=\"`17`\" pulumi-lang-python=\"`17`\" pulumi-lang-yaml=\"`17`\" pulumi-lang-java=\"`17`\"\u003e`17`\u003c/span\u003e (UDP), \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (ICMP), \u003cspan pulumi-lang-nodejs=\"`58`\" pulumi-lang-dotnet=\"`58`\" pulumi-lang-go=\"`58`\" pulumi-lang-python=\"`58`\" pulumi-lang-yaml=\"`58`\" pulumi-lang-java=\"`58`\"\u003e`58`\u003c/span\u003e (ICMPv6), or `-1` (any). It cannot be left blank when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to 0 (manual) in \u003cspan pulumi-lang-nodejs=\"`service`\" pulumi-lang-dotnet=\"`Service`\" pulumi-lang-go=\"`service`\" pulumi-lang-python=\"`service`\" pulumi-lang-yaml=\"`service`\" pulumi-lang-java=\"`service`\"\u003e`service`\u003c/span\u003e block.\n"},"sourcePort":{"type":"string","description":"Specifies the source port.\n"}},"type":"object"},"opentelekomcloud:index/CfwAclRuleV1ServiceServiceGroupName:CfwAclRuleV1ServiceServiceGroupName":{"properties":{"name":{"type":"string","description":"Specifies the service group name.\n"},"protocols":{"type":"array","items":{"type":"number"},"description":"Specifies the protocols list. Permitted list values: \u003cspan pulumi-lang-nodejs=\"`6`\" pulumi-lang-dotnet=\"`6`\" pulumi-lang-go=\"`6`\" pulumi-lang-python=\"`6`\" pulumi-lang-yaml=\"`6`\" pulumi-lang-java=\"`6`\"\u003e`6`\u003c/span\u003e (TCP), \u003cspan pulumi-lang-nodejs=\"`17`\" pulumi-lang-dotnet=\"`17`\" pulumi-lang-go=\"`17`\" pulumi-lang-python=\"`17`\" pulumi-lang-yaml=\"`17`\" pulumi-lang-java=\"`17`\"\u003e`17`\u003c/span\u003e (UDP), \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (ICMP), \u003cspan pulumi-lang-nodejs=\"`58`\" pulumi-lang-dotnet=\"`58`\" pulumi-lang-go=\"`58`\" pulumi-lang-python=\"`58`\" pulumi-lang-yaml=\"`58`\" pulumi-lang-java=\"`58`\"\u003e`58`\u003c/span\u003e (ICMPv6), or `-1` (any).\n"},"serviceSetType":{"type":"number","description":"Specifies the service group type: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (user-defined service group), \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (predefined service group).\n"},"setId":{"type":"string","description":"Specifies the service group ID.\n"}},"type":"object"},"opentelekomcloud:index/CfwAclRuleV1Source:CfwAclRuleV1Source":{"properties":{"address":{"type":"string","description":"Specifies the IP address information. It cannot be left blank if type is set to 0.\n"},"addressGroups":{"type":"array","items":{"type":"string"},"description":"Specifies the Address group ID list. This parameter cannot be left blank when type is set to 5 (multiple objects).\n\n\u003ca name=\"service\"\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`service`\" pulumi-lang-dotnet=\"`Service`\" pulumi-lang-go=\"`service`\" pulumi-lang-python=\"`service`\" pulumi-lang-yaml=\"`service`\" pulumi-lang-java=\"`service`\"\u003e`service`\u003c/span\u003e block supports:\n"},"addressSetId":{"type":"string","description":"Specifies the ID of an associated IP address group. This parameter cannot be left blank when type is set to 1.\n"},"addressSetName":{"type":"string","description":"Specifies the name of an associated IP address group. This parameter cannot be left blank when type is set to 1.\n"},"addressSetType":{"type":"number","description":"Specifies the Address group type. It cannot be left blank when type is set to 1 (associated IP address group). It value can be \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (user-defined address group), \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (WAF back-to-source IP address group), \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e (DDoS back-to-source IP address group), or \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e (NAT64 address group).\n"},"addressType":{"type":"number","description":"Specifies theInternet protocol type of an address: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (IPv4), \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (IPv6). If type is 0, this parameter cannot be left blank.\n"},"domainAddressName":{"type":"string","description":"Specifies the name of a domain name address. This parameter is valid when type is set to 2 (domain name) or 7 (application domain name group).\n"},"domainSetId":{"type":"string","description":"Specifies the domain group ID. The value cannot be left blank when type is set to 4 (domain name group) or 7 (domain name group - application).\n"},"domainSetName":{"type":"string","description":"Specifies the domain group name. The value cannot be left blank when type is set to 4 (domain name group) or 7 (domain name group - application).\n"},"ipAddresses":{"type":"array","items":{"type":"string"},"description":"Specifies the IP address list. This parameter cannot be left blank when type is set to 5 (multiple objects).\n"},"predefinedGroups":{"type":"array","items":{"type":"string"},"description":"Specifies the pre-defined service group ID list.\n"},"regionListJson":{"type":"string","description":"Specifies the JSON value of the rule region list.\n"},"regionLists":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCfwAclRuleV1SourceRegionList:CfwAclRuleV1SourceRegionList"},"description":"Specifies the rule region list.\n"},"type":{"type":"number","description":"Specifies the service input type: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (manual), \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (automatic).\n"}},"type":"object","required":["type"]},"opentelekomcloud:index/CfwAclRuleV1SourceRegionList:CfwAclRuleV1SourceRegionList":{"properties":{"regionId":{"type":"string","description":"Specifies the region ID.\n"},"regionType":{"type":"number","description":"Specifies the region type: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (country), \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (province), and \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e (continent).\n"}},"type":"object"},"opentelekomcloud:index/CfwAclRuleV1Timeouts:CfwAclRuleV1Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/CfwAddressGroupMemberV1Timeouts:CfwAddressGroupMemberV1Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/CfwAddressGroupV1Timeouts:CfwAddressGroupV1Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/CfwBlacklistWhitelistRuleV1Timeouts:CfwBlacklistWhitelistRuleV1Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/CfwDomainNameGroupV1DomainName:CfwDomainNameGroupV1DomainName":{"properties":{"description":{"type":"string","description":"Specifies the domain name description.\n"},"domainAddressId":{"type":"string","description":"Indicates the domain name ID.\n"},"domainName":{"type":"string","description":"Specifies the domain name, for example, www.test.com.\n"}},"type":"object","required":["domainName"],"language":{"nodejs":{"requiredOutputs":["domainAddressId","domainName"]}}},"opentelekomcloud:index/CfwDomainNameGroupV1Rule:CfwDomainNameGroupV1Rule":{"properties":{"id":{"type":"string","description":"Indicates the rule ID.\n"},"name":{"type":"string","description":"Specifies the CFW domain name group name. The CFW domain name group name of the same type is unique in the same firewall.\n"}},"type":"object","required":["id","name"]},"opentelekomcloud:index/CfwDomainNameGroupV1Timeouts:CfwDomainNameGroupV1Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/CfwEipProtectionV1Timeouts:CfwEipProtectionV1Timeouts":{"properties":{"create":{"type":"string"}},"type":"object"},"opentelekomcloud:index/CfwFirewallV1ChargeInfo:CfwFirewallV1ChargeInfo":{"properties":{"chargeMode":{"type":"string","description":"Specifies the Billing mode. The value can only be `postPaid` (case-sensitive), indicating pay-per-use billing.\n"}},"type":"object","required":["chargeMode"]},"opentelekomcloud:index/CfwFirewallV1Flavor:CfwFirewallV1Flavor":{"properties":{"bandwidth":{"type":"number","description":"Indicates the bandwidth, in Mbits/s.\n"},"defaultBandwidth":{"type":"number","description":"Indicates the default firewall bandwidth, in Mbits/s.\n"},"defaultEipCount":{"type":"number","description":"Indicates the default number of EIPs.\n"},"defaultLogStorage":{"type":"number","description":"Indicates the default log storage, in bytes.\n"},"defaultVpcCount":{"type":"number","description":"Indicates the default number of VPCs.\n"},"eipCount":{"type":"number","description":"Indicates the number of EIPs.\n"},"logStorage":{"type":"number","description":"Indicates the log storage, in bytes.\n"},"version":{"type":"string","description":"Specifies the Firewall edition. Only the professional edition \u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\"\u003e`standard`\u003c/span\u003e is supported.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"chargeInfo\"\" pulumi-lang-dotnet=\"\"ChargeInfo\"\" pulumi-lang-go=\"\"chargeInfo\"\" pulumi-lang-python=\"\"charge_info\"\" pulumi-lang-yaml=\"\"chargeInfo\"\" pulumi-lang-java=\"\"chargeInfo\"\"\u003e\"charge_info\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`chargeInfo`\" pulumi-lang-dotnet=\"`ChargeInfo`\" pulumi-lang-go=\"`chargeInfo`\" pulumi-lang-python=\"`charge_info`\" pulumi-lang-yaml=\"`chargeInfo`\" pulumi-lang-java=\"`chargeInfo`\"\u003e`charge_info`\u003c/span\u003e block supports:\n"},"versionCode":{"type":"number","description":"Indicates the firewall version. Its value can only be 1 (professional edition).\n"},"vpcCount":{"type":"number","description":"Indicates the number of VPCs.\n"}},"type":"object","required":["version"],"language":{"nodejs":{"requiredOutputs":["bandwidth","defaultBandwidth","defaultEipCount","defaultLogStorage","defaultVpcCount","eipCount","logStorage","version","versionCode","vpcCount"]}}},"opentelekomcloud:index/CfwFirewallV1ProtectObject:CfwFirewallV1ProtectObject":{"properties":{"objectId":{"type":"string","description":"Indicates the protected object ID. It is used to distinguish Internet border protection from VPC border protection after a CFW instance is created.\n"},"objectName":{"type":"string","description":"Indicates the protected object name.\n"},"type":{"type":"number","description":"Indicates the project type: 0 (north-south), 1 (east-west).\n"}},"type":"object","required":["objectId","objectName","type"]},"opentelekomcloud:index/CfwFirewallV1Resource:CfwFirewallV1Resource":{"properties":{"cloudServiceType":{"type":"string","description":"Indicates the Service type, which is used by CBC.\n"},"resourceId":{"type":"string","description":"Indicates the resource ID. It can be the firewall ID, bandwidth ID, EIP ID, VPC ID, or the ID returned after CBC callback.\n"},"resourceSize":{"type":"number","description":"Indicates the resource quantity.\n"},"resourceSizeMeasureId":{"type":"number","description":"Indicates the resource unit.\n"},"resourceSpecCode":{"type":"string","description":"Indicates the inventory unit code.\n"},"resourceType":{"type":"string","description":"Indicates the resource type.\n"}},"type":"object","required":["cloudServiceType","resourceId","resourceSize","resourceSizeMeasureId","resourceSpecCode","resourceType"]},"opentelekomcloud:index/CfwFirewallV1Timeouts:CfwFirewallV1Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/CfwIpsProtectionV1Timeouts:CfwIpsProtectionV1Timeouts":{"properties":{"create":{"type":"string"}},"type":"object"},"opentelekomcloud:index/CfwServiceGroupMemberV1Timeouts:CfwServiceGroupMemberV1Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/CfwServiceGroupV1Timeouts:CfwServiceGroupV1Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/ComputeBmsServerV2BlockDevice:ComputeBmsServerV2BlockDevice":{"properties":{"bootIndex":{"type":"number"},"deleteOnTermination":{"type":"boolean"},"destinationType":{"type":"string"},"deviceName":{"type":"string"},"guestFormat":{"type":"string"},"sourceType":{"type":"string"},"uuid":{"type":"string","description":"The network UUID to\nattach to the BMS server. Changing this creates a new BMS server.\n"},"volumeSize":{"type":"number"},"volumeType":{"type":"string"}},"type":"object","required":["sourceType"]},"opentelekomcloud:index/ComputeBmsServerV2Network:ComputeBmsServerV2Network":{"properties":{"accessNetwork":{"type":"boolean","description":"Specifies if this network should be used for\nprovisioning access. Accepts true or false. Defaults to false.\n"},"fixedIpV4":{"type":"string","description":"Specifies a fixed IPv4 address to be used on this\nnetwork. Changing this creates a new BMS server.\n"},"fixedIpV6":{"type":"string","description":"Specifies a fixed IPv6 address to be used on this\nnetwork. Changing this creates a new BMS server.\n"},"mac":{"type":"string"},"name":{"type":"string","description":"The human-readable\nname of the network. Changing this creates a new BMS server.\n"},"port":{"type":"string","description":"The port UUID of a\nnetwork to attach to the BMS server. Changing this creates a new server.\n"},"uuid":{"type":"string","description":"The network UUID to\nattach to the BMS server. Changing this creates a new BMS server.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["fixedIpV4","fixedIpV6","mac","name","port","uuid"]}}},"opentelekomcloud:index/ComputeBmsServerV2Timeouts:ComputeBmsServerV2Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/ComputeBmsTagsV2Timeouts:ComputeBmsTagsV2Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/ComputeInstanceV2BlockDevice:ComputeInstanceV2BlockDevice":{"properties":{"bootIndex":{"type":"number","description":"The boot index of the volume. It defaults to 0. Changing this creates a new server.\n"},"deleteOnTermination":{"type":"boolean","description":"Delete the volume / block device upon termination of the instance. Defaults to\nfalse. Changing this creates a new server.\n"},"destinationType":{"type":"string","description":"The type that gets created. Currently only support \"volume\". Changing this creates a\nnew server.\n"},"deviceName":{"type":"string"},"guestFormat":{"type":"string"},"sourceType":{"type":"string","description":"The source type of the device. Must be one of\n\"blank\", \"image\", \"volume\", or \"snapshot\". Changing this creates a new server.\n"},"uuid":{"type":"string","description":"The UUID of the image, volume, or snapshot. Changing\nthis creates a new server.\n"},"volumeSize":{"type":"number","description":"The size of the volume to create (in gigabytes). Required in the following combinations: source=image\nand destination=volume, and source=blank and destination=volume. Changing this creates a new server.\n"},"volumeType":{"type":"string","description":"Currently, the value can be `SSD` (ultra-I/O disk type),\n`SAS` (high I/O disk type), or `SATA` (common I/O disk type)\n[OTC-API](https://docs.otc.t-systems.com/en-us/api/ecs/en-us_topic_0065817708.html)\n\u003e **NOTE:** Common I/O (SATA) will reach end of life, end of 2025.\n"}},"type":"object","required":["sourceType"]},"opentelekomcloud:index/ComputeInstanceV2Network:ComputeInstanceV2Network":{"properties":{"accessNetwork":{"type":"boolean","description":"Specifies if this network should be used for provisioning access. Accepts true or false.\nDefaults to false.\n"},"fixedIpV4":{"type":"string","description":"Specifies a fixed IPv4 address to be used on this network. Changing this creates a new\nserver.\n"},"fixedIpV6":{"type":"string","description":"Specifies a fixed IPv6 address to be used on this network. Changing this creates a new\nserver.\n"},"mac":{"type":"string"},"name":{"type":"string","description":"The human-readable name of the network. Changing this creates\na new server.\n"},"port":{"type":"string","description":"The port UUID of a network to attach to the server. Changing\nthis creates a new server.\n"},"uuid":{"type":"string","description":"The network UUID to attach to the server. Changing this\ncreates a new server.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["fixedIpV4","fixedIpV6","mac","name","port","uuid"]}}},"opentelekomcloud:index/ComputeInstanceV2SchedulerHint:ComputeInstanceV2SchedulerHint":{"properties":{"buildNearHostIp":{"type":"string","description":"An IP Address in CIDR form. The instance will be placed on a compute node that is in\nthe same subnet.\n"},"dehId":{"type":"string","description":"The ID of DeH. This parameter takes effect only when the value of tenancy is dedicated.\n"},"differentHosts":{"type":"array","items":{"type":"string"},"description":"A list of instance UUIDs. The instance will be scheduled on a different host than all\nother instances.\n"},"group":{"type":"string","description":"A UUID of a Server Group. The instance will be placed into that group.\n"},"queries":{"type":"array","items":{"type":"string"},"description":"A conditional query that a compute node must pass in order to host an instance.\n"},"sameHosts":{"type":"array","items":{"type":"string"},"description":"A list of instance UUIDs. The instance will be scheduled on the same host of those specified.\n"},"targetCell":{"type":"string","description":"The name of a cell to host the instance.\n"},"tenancy":{"type":"string","description":"The tenancy specifies whether the ECS is to be created on a Dedicated Host\n(DeH) or in a shared pool.\n"}},"type":"object"},"opentelekomcloud:index/ComputeInstanceV2Timeouts:ComputeInstanceV2Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/ComputeInstanceV2VolumeAttached:ComputeInstanceV2VolumeAttached":{"properties":{"id":{"type":"string"}},"type":"object","required":["id"]},"opentelekomcloud:index/ComputeSecgroupV2Rule:ComputeSecgroupV2Rule":{"properties":{"cidr":{"type":"string","description":"Required if \u003cspan pulumi-lang-nodejs=\"`fromGroupId`\" pulumi-lang-dotnet=\"`FromGroupId`\" pulumi-lang-go=\"`fromGroupId`\" pulumi-lang-python=\"`from_group_id`\" pulumi-lang-yaml=\"`fromGroupId`\" pulumi-lang-java=\"`fromGroupId`\"\u003e`from_group_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`self`\" pulumi-lang-dotnet=\"`Self`\" pulumi-lang-go=\"`self`\" pulumi-lang-python=\"`self`\" pulumi-lang-yaml=\"`self`\" pulumi-lang-java=\"`self`\"\u003e`self`\u003c/span\u003e is empty. The IP range\nthat will be the source of network traffic to the security group. Use 0.0.0.0/0\nto allow all IP addresses. Changing this creates a new security group rule. Cannot\nbe combined with \u003cspan pulumi-lang-nodejs=\"`fromGroupId`\" pulumi-lang-dotnet=\"`FromGroupId`\" pulumi-lang-go=\"`fromGroupId`\" pulumi-lang-python=\"`from_group_id`\" pulumi-lang-yaml=\"`fromGroupId`\" pulumi-lang-java=\"`fromGroupId`\"\u003e`from_group_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`self`\" pulumi-lang-dotnet=\"`Self`\" pulumi-lang-go=\"`self`\" pulumi-lang-python=\"`self`\" pulumi-lang-yaml=\"`self`\" pulumi-lang-java=\"`self`\"\u003e`self`\u003c/span\u003e.\n"},"fromGroupId":{"type":"string","description":"Required if \u003cspan pulumi-lang-nodejs=\"`cidr`\" pulumi-lang-dotnet=\"`Cidr`\" pulumi-lang-go=\"`cidr`\" pulumi-lang-python=\"`cidr`\" pulumi-lang-yaml=\"`cidr`\" pulumi-lang-java=\"`cidr`\"\u003e`cidr`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`self`\" pulumi-lang-dotnet=\"`Self`\" pulumi-lang-go=\"`self`\" pulumi-lang-python=\"`self`\" pulumi-lang-yaml=\"`self`\" pulumi-lang-java=\"`self`\"\u003e`self`\u003c/span\u003e is empty. The ID of a\ngroup from which to forward traffic to the parent group. Changing this creates a\nnew security group rule. Cannot be combined with \u003cspan pulumi-lang-nodejs=\"`cidr`\" pulumi-lang-dotnet=\"`Cidr`\" pulumi-lang-go=\"`cidr`\" pulumi-lang-python=\"`cidr`\" pulumi-lang-yaml=\"`cidr`\" pulumi-lang-java=\"`cidr`\"\u003e`cidr`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`self`\" pulumi-lang-dotnet=\"`Self`\" pulumi-lang-go=\"`self`\" pulumi-lang-python=\"`self`\" pulumi-lang-yaml=\"`self`\" pulumi-lang-java=\"`self`\"\u003e`self`\u003c/span\u003e.\n"},"fromPort":{"type":"number","description":"An integer representing the lower bound of the port\nrange to open. Changing this creates a new security group rule.\n"},"id":{"type":"string"},"ipProtocol":{"type":"string","description":"The protocol type that will be allowed. Changing\nthis creates a new security group rule.\n"},"self":{"type":"boolean","description":"Required if \u003cspan pulumi-lang-nodejs=\"`cidr`\" pulumi-lang-dotnet=\"`Cidr`\" pulumi-lang-go=\"`cidr`\" pulumi-lang-python=\"`cidr`\" pulumi-lang-yaml=\"`cidr`\" pulumi-lang-java=\"`cidr`\"\u003e`cidr`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`fromGroupId`\" pulumi-lang-dotnet=\"`FromGroupId`\" pulumi-lang-go=\"`fromGroupId`\" pulumi-lang-python=\"`from_group_id`\" pulumi-lang-yaml=\"`fromGroupId`\" pulumi-lang-java=\"`fromGroupId`\"\u003e`from_group_id`\u003c/span\u003e is empty. If true,\nthe security group itself will be added as a source to this ingress rule. Cannot\nbe combined with \u003cspan pulumi-lang-nodejs=\"`cidr`\" pulumi-lang-dotnet=\"`Cidr`\" pulumi-lang-go=\"`cidr`\" pulumi-lang-python=\"`cidr`\" pulumi-lang-yaml=\"`cidr`\" pulumi-lang-java=\"`cidr`\"\u003e`cidr`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`fromGroupId`\" pulumi-lang-dotnet=\"`FromGroupId`\" pulumi-lang-go=\"`fromGroupId`\" pulumi-lang-python=\"`from_group_id`\" pulumi-lang-yaml=\"`fromGroupId`\" pulumi-lang-java=\"`fromGroupId`\"\u003e`from_group_id`\u003c/span\u003e.\n"},"toPort":{"type":"number","description":"An integer representing the upper bound of the port\nrange to open. Changing this creates a new security group rule.\n"}},"type":"object","required":["fromPort","ipProtocol","toPort"],"language":{"nodejs":{"requiredOutputs":["fromPort","id","ipProtocol","toPort"]}}},"opentelekomcloud:index/ComputeSecgroupV2Timeouts:ComputeSecgroupV2Timeouts":{"properties":{"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/ComputeVolumeAttachV2Timeouts:ComputeVolumeAttachV2Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/CsbsBackupPolicyV1Resource:CsbsBackupPolicyV1Resource":{"properties":{"id":{"type":"string","description":"Specifies the ID of the object to be backed up.\n"},"name":{"type":"string","description":"Specifies backup object name.\n"},"type":{"type":"string","description":"Entity object type of the backup object. If the type is VMs, the value is **OS::Nova::Server**.\n"}},"type":"object","required":["id","name","type"]},"opentelekomcloud:index/CsbsBackupPolicyV1ScheduledOperation:CsbsBackupPolicyV1ScheduledOperation":{"properties":{"dayBackups":{"type":"number","description":"Specifies the maximum number of retained daily backups.\nThe latest backup of each day is saved in the long term. This parameter can be effective\ntogether with the maximum number of retained backups specified by \u003cspan pulumi-lang-nodejs=\"`maxBackups`\" pulumi-lang-dotnet=\"`MaxBackups`\" pulumi-lang-go=\"`maxBackups`\" pulumi-lang-python=\"`max_backups`\" pulumi-lang-yaml=\"`maxBackups`\" pulumi-lang-java=\"`maxBackups`\"\u003e`max_backups`\u003c/span\u003e.\n"},"description":{"type":"string","description":"Specifies Scheduling period description.The value consists of 0 to 255 characters and must not contain a greater-than sign (\u003e) or less-than sign (\u003c).\n"},"enabled":{"type":"boolean","description":"Specifies whether the scheduling period is enabled. Default value is **true**\n"},"id":{"type":"string","description":"Specifies Scheduling period ID.\n"},"maxBackups":{"type":"number","description":"Specifies maximum number of backups that can be automatically created for a backup object.\n"},"monthBackups":{"type":"number","description":"Specifies the maximum number of retained monthly backups.\nThe latest backup of each month is saved in the long term. This parameter can be effective\ntogether with the maximum number of retained backups specified by \u003cspan pulumi-lang-nodejs=\"`maxBackups`\" pulumi-lang-dotnet=\"`MaxBackups`\" pulumi-lang-go=\"`maxBackups`\" pulumi-lang-python=\"`max_backups`\" pulumi-lang-yaml=\"`maxBackups`\" pulumi-lang-java=\"`maxBackups`\"\u003e`max_backups`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies Scheduling period name.The value consists of 1 to 255 characters and can contain only letters, digits, underscores (_), and hyphens (-).\n"},"operationType":{"type":"string","description":"Specifies Operation type, which can be backup.\n"},"permanent":{"type":"boolean","description":"Specifies whether backups are permanently retained.\n"},"retentionDurationDays":{"type":"number","description":"Specifies duration of retaining a backup, in days.\n\n\u003e **Note:** If \u003cspan pulumi-lang-nodejs=\"`dayBackups`\" pulumi-lang-dotnet=\"`DayBackups`\" pulumi-lang-go=\"`dayBackups`\" pulumi-lang-python=\"`day_backups`\" pulumi-lang-yaml=\"`dayBackups`\" pulumi-lang-java=\"`dayBackups`\"\u003e`day_backups`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`weekBackups`\" pulumi-lang-dotnet=\"`WeekBackups`\" pulumi-lang-go=\"`weekBackups`\" pulumi-lang-python=\"`week_backups`\" pulumi-lang-yaml=\"`weekBackups`\" pulumi-lang-java=\"`weekBackups`\"\u003e`week_backups`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`monthBackups`\" pulumi-lang-dotnet=\"`MonthBackups`\" pulumi-lang-go=\"`monthBackups`\" pulumi-lang-python=\"`month_backups`\" pulumi-lang-yaml=\"`monthBackups`\" pulumi-lang-java=\"`monthBackups`\"\u003e`month_backups`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`yearBackups`\" pulumi-lang-dotnet=\"`YearBackups`\" pulumi-lang-go=\"`yearBackups`\" pulumi-lang-python=\"`year_backups`\" pulumi-lang-yaml=\"`yearBackups`\" pulumi-lang-java=\"`yearBackups`\"\u003e`year_backups`\u003c/span\u003e is configured\n\u003cspan pulumi-lang-nodejs=\"`timezone`\" pulumi-lang-dotnet=\"`Timezone`\" pulumi-lang-go=\"`timezone`\" pulumi-lang-python=\"`timezone`\" pulumi-lang-yaml=\"`timezone`\" pulumi-lang-java=\"`timezone`\"\u003e`timezone`\u003c/span\u003e is mandatory.\n"},"timezone":{"type":"string","description":"Time zone where the user is located, for example, `UTC+08:00`.\n"},"triggerId":{"type":"string","description":"Specifies Scheduler ID.\n"},"triggerName":{"type":"string","description":"Specifies Scheduler name.\n"},"triggerPattern":{"type":"string","description":"Specifies Scheduling policy of the scheduler.\n"},"triggerType":{"type":"string","description":"Specifies Scheduler type.\n"},"weekBackups":{"type":"number","description":"Specifies the maximum number of retained weekly backups.\nThe latest backup of each week is saved in the long term. This parameter can be effective\ntogether with the maximum number of retained backups specified by \u003cspan pulumi-lang-nodejs=\"`maxBackups`\" pulumi-lang-dotnet=\"`MaxBackups`\" pulumi-lang-go=\"`maxBackups`\" pulumi-lang-python=\"`max_backups`\" pulumi-lang-yaml=\"`maxBackups`\" pulumi-lang-java=\"`maxBackups`\"\u003e`max_backups`\u003c/span\u003e.\n"},"yearBackups":{"type":"number","description":"Specifies the maximum number of retained yearly backups.\nThe latest backup of each year is saved in the long term. This parameter can be effective\ntogether with the maximum number of retained backups specified by \u003cspan pulumi-lang-nodejs=\"`maxBackups`\" pulumi-lang-dotnet=\"`MaxBackups`\" pulumi-lang-go=\"`maxBackups`\" pulumi-lang-python=\"`max_backups`\" pulumi-lang-yaml=\"`maxBackups`\" pulumi-lang-java=\"`maxBackups`\"\u003e`max_backups`\u003c/span\u003e.\n"}},"type":"object","required":["operationType","triggerPattern"],"language":{"nodejs":{"requiredOutputs":["id","name","operationType","permanent","triggerId","triggerName","triggerPattern","triggerType"]}}},"opentelekomcloud:index/CsbsBackupPolicyV1Tag:CsbsBackupPolicyV1Tag":{"properties":{"key":{"type":"string","description":"Tag key. It cannot be an empty string.\n"},"value":{"type":"string","description":"Tag value. It can be an empty string.\n"}},"type":"object","required":["key","value"]},"opentelekomcloud:index/CsbsBackupPolicyV1Timeouts:CsbsBackupPolicyV1Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/CsbsBackupV1Tag:CsbsBackupV1Tag":{"properties":{"key":{"type":"string","description":"Tag key. It cannot be an empty string.Changing key creates a new backup.\n"},"value":{"type":"string","description":"Tag value. It can be an empty string.Changing value creates a new backup.\n"}},"type":"object","required":["key","value"]},"opentelekomcloud:index/CsbsBackupV1Timeouts:CsbsBackupV1Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/CsbsBackupV1VmMetadata:CsbsBackupV1VmMetadata":{"properties":{"cloudServiceType":{"type":"string","description":"Specifies ECS type.\n"},"disk":{"type":"number","description":"Shows system disk size corresponding to the ECS specifications.\n"},"eip":{"type":"string","description":"Specifies elastic IP address of the ECS.\n"},"imageType":{"type":"string","description":"Specifies image type.\n"},"name":{"type":"string","description":"Name of backup data.\n"},"privateIp":{"type":"string","description":"It specifies internal IP address of the ECS.\n"},"ram":{"type":"number","description":"Specifies memory size of the ECS, in MB.\n"},"vcpus":{"type":"number","description":"Specifies CPU cores corresponding to the ECS.\n"}},"type":"object","required":["cloudServiceType","disk","eip","imageType","name","privateIp","ram","vcpus"]},"opentelekomcloud:index/CsbsBackupV1VolumeBackup:CsbsBackupV1VolumeBackup":{"properties":{"averageSpeed":{"type":"number","description":"Specifies the average speed.\n"},"bootable":{"type":"boolean","description":"Specifies whether the disk is bootable.\n"},"id":{"type":"string","description":"Specifies Cinder backup ID.\n"},"imageType":{"type":"string","description":"Specifies image type.\n"},"incremental":{"type":"boolean","description":"Shows whether incremental backup is used.\n"},"name":{"type":"string","description":"Name of backup data.\n"},"size":{"type":"number","description":"Specifies accumulated size (MB) of backups.\n"},"snapshotId":{"type":"string","description":"ID of snapshot.\n"},"sourceVolumeId":{"type":"string","description":"It specifies source volume ID.\n"},"sourceVolumeName":{"type":"string","description":"Specifies source volume name.\n"},"sourceVolumeSize":{"type":"number","description":"Shows source volume size in GB.\n"},"spaceSavingRatio":{"type":"number","description":"Specifies space saving rate.\n"},"status":{"type":"string","description":"Status of backup Volume.\n"}},"type":"object","required":["averageSpeed","bootable","id","imageType","incremental","name","size","snapshotId","sourceVolumeId","sourceVolumeName","sourceVolumeSize","spaceSavingRatio","status"]},"opentelekomcloud:index/CssClusterRestartV1Timeouts:CssClusterRestartV1Timeouts":{"properties":{"create":{"type":"string"}},"type":"object"},"opentelekomcloud:index/CssClusterV1BackupStrategy:CssClusterV1BackupStrategy":{"properties":{"keepDays":{"type":"number","description":"Specifies the number of days to retain the generated snapshots. Snapshots are reserved\nfor seven days by default.\n"},"prefix":{"type":"string","description":"Specifies the prefix of the snapshot that is automatically created.\n"},"startTime":{"type":"string","description":"Specifies the time when a snapshot is automatically created everyday. Snapshots can\nonly be created on the hour. The time format is the time followed by the time zone, specifically, **HH:mm z**. In the\nformat, **HH:mm** refers to the hour time and z refers to the time zone. For example, \"00:00 GMT+08:00\"\nand \"01:00 GMT+08:00\".\n"}},"type":"object","required":["keepDays","prefix","startTime"]},"opentelekomcloud:index/CssClusterV1Datastore:CssClusterV1Datastore":{"properties":{"type":{"type":"string","description":"Supported type: \u003cspan pulumi-lang-nodejs=\"`ess`\" pulumi-lang-dotnet=\"`Ess`\" pulumi-lang-go=\"`ess`\" pulumi-lang-python=\"`ess`\" pulumi-lang-yaml=\"`ess`\" pulumi-lang-java=\"`ess`\"\u003e`ess`\u003c/span\u003e (indicating the Elasticsearch node)\n"},"version":{"type":"string","description":"Engine version. The value can be `7.6.2`, `7.9.3`, `7.10.2` or `1.3.6` for \u003cspan pulumi-lang-nodejs=\"`opensearch`\" pulumi-lang-dotnet=\"`Opensearch`\" pulumi-lang-go=\"`opensearch`\" pulumi-lang-python=\"`opensearch`\" pulumi-lang-yaml=\"`opensearch`\" pulumi-lang-java=\"`opensearch`\"\u003e`opensearch`\u003c/span\u003e.\nThe default value is `7.6.2`.\n"}},"type":"object"},"opentelekomcloud:index/CssClusterV1Node:CssClusterV1Node":{"properties":{"id":{"type":"string","description":"Instance ID.\n"},"name":{"type":"string","description":"Cluster name. It contains \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e characters. Only letters, digits,\nhyphens (`-`), and underscores (`_`) are allowed. The value must start with a letter.\nChanging this parameter will create a new resource.\n"},"type":{"type":"string","description":"Supported type: \u003cspan pulumi-lang-nodejs=\"`ess`\" pulumi-lang-dotnet=\"`Ess`\" pulumi-lang-go=\"`ess`\" pulumi-lang-python=\"`ess`\" pulumi-lang-yaml=\"`ess`\" pulumi-lang-java=\"`ess`\"\u003e`ess`\u003c/span\u003e (indicating the Elasticsearch node)\n"}},"type":"object","required":["id","name","type"]},"opentelekomcloud:index/CssClusterV1NodeConfig:CssClusterV1NodeConfig":{"properties":{"availabilityZone":{"type":"string","description":"Availability zone (AZ). Changing this parameter will create a new resource.\n"},"flavor":{"type":"string","description":"Instance flavor name.\n- Value range of flavor `css.medium.8`: 40 GB to 640 GB\n- Value range of flavor `css.xlarge.8`: 40 GB to 2560 GB\n- Value range of flavor `css.2xlarge.8`: 80 GB to 5120 GB\n- Value range of flavor `css.4xlarge.8`: 160 GB to 10240 GB\n- Value range of flavor `css.xlarge.4`: 40 GB to 1,600 GB\n- Value range of flavor `css.2xlarge.4`: 80 GB to 3,200 GB\n- Value range of flavor `css.4xlarge.4`: 100 GB to 6,400 GB\n- Value range of flavor `css.8xlarge.4`: 160 GB to 10,240 GB\n- Value range of flavor `css.xlarge.2`: 40 GB to 800 GB\n- Value range of flavor `css.2xlarge.2`: 80 GB to 1,600 GB\n- Value range of flavor `css.4xlarge.2`: 100 GB to 3,200 GB\n- Value range of flavor `css.8xlarge.2`: 320 GB to 10,240 GB\n\nChanging this parameter will create a new resource.\n"},"networkInfo":{"$ref":"#/types/opentelekomcloud:index%2FCssClusterV1NodeConfigNetworkInfo:CssClusterV1NodeConfigNetworkInfo","description":"Network information. Structure is documented below.\nChanging this parameter will create a new resource.\n"},"volume":{"$ref":"#/types/opentelekomcloud:index%2FCssClusterV1NodeConfigVolume:CssClusterV1NodeConfigVolume","description":"Information about the volume. Structure is documented below.\nChanging this parameter will create a new resource.\n"}},"type":"object","required":["flavor","networkInfo","volume"]},"opentelekomcloud:index/CssClusterV1NodeConfigNetworkInfo:CssClusterV1NodeConfigNetworkInfo":{"properties":{"networkId":{"type":"string","description":"Network ID. All instances in a cluster must have the same\nnetworks and security groups. Changing this parameter will create a new resource.\n"},"securityGroupId":{"type":"string","description":"Security group ID. All instances in a cluster must have the\nsame subnets and security groups. Changing this parameter will create a new resource.\n"},"vpcId":{"type":"string","description":"VPC ID, which is used for configuring cluster network.\nChanging this parameter will create a new resource.\n"}},"type":"object","required":["networkId","securityGroupId","vpcId"]},"opentelekomcloud:index/CssClusterV1NodeConfigVolume:CssClusterV1NodeConfigVolume":{"properties":{"encryptionKey":{"type":"string","description":"Key ID. The Default Master Keys cannot be used to create\ngrants. Specifically, you cannot use Default Master Keys\nwhose aliases end with /default in KMS to create clusters.\nAfter a cluster is created, do not delete the key used by the cluster.\nOtherwise, the cluster will become unavailable.\nChanging this parameter will create a new resource.\n"},"size":{"type":"number","description":"Volume size, which must be a multiple of \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e.\n"},"volumeType":{"type":"string","description":"`COMMON`: Common I/O. The SATA disk is used. `HIGH`: High I/O.\nThe SAS disk is used. `ULTRAHIGH`: Ultra-high I/O. The solid-state drive (SSD) is used.\nChanging this parameter will create a new resource.\n\nThe \u003cspan pulumi-lang-nodejs=\"`datastore`\" pulumi-lang-dotnet=\"`Datastore`\" pulumi-lang-go=\"`datastore`\" pulumi-lang-python=\"`datastore`\" pulumi-lang-yaml=\"`datastore`\" pulumi-lang-java=\"`datastore`\"\u003e`datastore`\u003c/span\u003e block contains:\n"}},"type":"object","required":["size","volumeType"],"language":{"nodejs":{"requiredOutputs":["encryptionKey","size","volumeType"]}}},"opentelekomcloud:index/CssClusterV1PublicAccess:CssClusterV1PublicAccess":{"properties":{"bandwidth":{"type":"number","description":"Specifies the public network bandwidth.\n"},"publicIp":{"type":"string"},"whitelist":{"type":"string","description":"Specifies the whitelist of Kibana access control.\nSeparate the whitelisted network segments or IP addresses with commas (,), and each of them must be unique.\n"},"whitelistEnabled":{"type":"boolean","description":"Specifies whether to enable the Kibana access control.\n"}},"type":"object","required":["bandwidth","whitelistEnabled"],"language":{"nodejs":{"requiredOutputs":["bandwidth","publicIp","whitelistEnabled"]}}},"opentelekomcloud:index/CssClusterV1Timeouts:CssClusterV1Timeouts":{"properties":{"create":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/CssConfigurationV1Timeouts:CssConfigurationV1Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/CssSnapshotConfigurationV1Configuration:CssSnapshotConfigurationV1Configuration":{"properties":{"agency":{"type":"string","description":"The agency used by CSS to access OBS.\n"},"basePath":{"type":"string","description":"Storage path of the snapshot in the OBS bucket.\n"},"bucket":{"type":"string","description":"The bucket which will be used for storing snapshots.\n"},"kmsId":{"type":"string","description":"Key ID used for snapshot encryption.\n\n~\u003e\nIf the key used for encryption is in the Pending deletion or disable state,\nyou cannot perform backup and restoration operations on the cluster.\nSpecifically, new snapshots cannot be created for the cluster, and existing snapshots cannot be used for restoration.\nIn this case, switch to the KMS management console and change the state of the target key to enable so that backup\nand restore operations are allowed on the cluster. For more details\nsee https://docs.otc.t-systems.com/api/css/css_03_0030.html\n"}},"type":"object","required":["agency","basePath","bucket"]},"opentelekomcloud:index/CssSnapshotConfigurationV1CreationPolicy:CssSnapshotConfigurationV1CreationPolicy":{"properties":{"deleteAuto":{"type":"boolean","description":"Whether to delete all automatically created snapshots when the automatic\nsnapshot creation policy is disabled. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, indicating that snapshots that have been\nautomatically created are not deleted when the automatic snapshot creation function is disabled.\nIf this parameter is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, all automatically created snapshots are deleted when the automatic snapshot\ncreation policy is disabled.\n"},"enable":{"type":"boolean","description":"Value \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e indicates that the automatic snapshot creation policy is enabled,\nand value \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e indicates that the automatic snapshot creation policy is disabled.\n"},"frequency":{"type":"string","description":"Snapshot creation frequency. The default value is `DAY`.\nAvailable options are: `HOUR`, `DAY`, `SUN`, `MON`, `TUE`, `WED`, `THU`, `FRI`, `SAT`.\n"},"keepday":{"type":"number","description":"Number of days that a snapshot can be retained. The value ranges from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`90`\" pulumi-lang-dotnet=\"`90`\" pulumi-lang-go=\"`90`\" pulumi-lang-python=\"`90`\" pulumi-lang-yaml=\"`90`\" pulumi-lang-java=\"`90`\"\u003e`90`\u003c/span\u003e.\nThe system automatically deletes snapshots that have been retained for the allowed maximum duration on the half hour.\n"},"period":{"type":"string","description":"Time when a snapshot is created every day. Snapshots can only be created on the hour.\nThe time format is the time followed by the time zone, specifically, `HH:mm z`.\nIn the format, `HH:mm` refers to the hour time and \u003cspan pulumi-lang-nodejs=\"`z`\" pulumi-lang-dotnet=\"`Z`\" pulumi-lang-go=\"`z`\" pulumi-lang-python=\"`z`\" pulumi-lang-yaml=\"`z`\" pulumi-lang-java=\"`z`\"\u003e`z`\u003c/span\u003e refers to the time zone, for example,\n`00:00 GMT+08:00` and `01:00 GMT+08:00`.\n"},"prefix":{"type":"string","description":"Prefix of the snapshot name that is automatically created.\n"}},"type":"object","required":["enable","keepday","period","prefix"],"language":{"nodejs":{"requiredOutputs":["enable","frequency","keepday","period","prefix"]}}},"opentelekomcloud:index/CssSnapshotConfigurationV1Timeouts:CssSnapshotConfigurationV1Timeouts":{"properties":{"create":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/CtsEventNotificationV3Filter:CtsEventNotificationV3Filter":{"properties":{"condition":{"type":"string","description":"Specifies the relationship between multiple rules. The valid values are as follows:\n+ **AND**: Effective after all filtering conditions are met.\n+ **OR**: Effective when any one of the conditions is met.\n"},"rules":{"type":"array","items":{"type":"string"},"description":"Specifies an array of filtering rules. It consists of three parts,\nthe first part is the **key**, the second part is the **rule**, and the third part is the **value**,\nthe format is: **key != value**.\n+ The **key** can be: **api_version**, **code**, **trace_rating**, **trace_type**, **resource_id** and\n**resource_name**.\nWhen the key is **api_version**, the value needs to follow the regular constraint: **^ (a-zA-Z0-9_ -.) {1,64}$**.\nWhen the key is **code**, the length range of value is from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`256`\" pulumi-lang-dotnet=\"`256`\" pulumi-lang-go=\"`256`\" pulumi-lang-python=\"`256`\" pulumi-lang-yaml=\"`256`\" pulumi-lang-java=\"`256`\"\u003e`256`\u003c/span\u003e.\nWhen the key is **trace_rating**, the value can be **normal**, **warning** or **incident**.\nWhen the key is **trace_type**, the value can be **ConsoleAction**, **ApiCall** or **SystemAction**.\nWhen the key is **resource_id**, the length range of value is from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`350`\" pulumi-lang-dotnet=\"`350`\" pulumi-lang-go=\"`350`\" pulumi-lang-python=\"`350`\" pulumi-lang-yaml=\"`350`\" pulumi-lang-java=\"`350`\"\u003e`350`\u003c/span\u003e.\nWhen the key is **resource_name**, the length range of value is from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`256`\" pulumi-lang-dotnet=\"`256`\" pulumi-lang-go=\"`256`\" pulumi-lang-python=\"`256`\" pulumi-lang-yaml=\"`256`\" pulumi-lang-java=\"`256`\"\u003e`256`\u003c/span\u003e.\n+ The **rule** can be: **!=** or **=**.\n\n\u003ca name=\"CTS_Notification_Operations\"\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`operations`\" pulumi-lang-dotnet=\"`Operations`\" pulumi-lang-go=\"`operations`\" pulumi-lang-python=\"`operations`\" pulumi-lang-yaml=\"`operations`\" pulumi-lang-java=\"`operations`\"\u003e`operations`\u003c/span\u003e block supports:\n"}},"type":"object","required":["condition","rules"]},"opentelekomcloud:index/CtsEventNotificationV3NotifyUserList:CtsEventNotificationV3NotifyUserList":{"properties":{"userGroup":{"type":"string","description":"Specifies the IAM user group.\n"},"userLists":{"type":"array","items":{"type":"string"},"description":"Specifies the list with IAM users which belong to \u003cspan pulumi-lang-nodejs=\"`userGroup`\" pulumi-lang-dotnet=\"`UserGroup`\" pulumi-lang-go=\"`userGroup`\" pulumi-lang-python=\"`user_group`\" pulumi-lang-yaml=\"`userGroup`\" pulumi-lang-java=\"`userGroup`\"\u003e`user_group`\u003c/span\u003e.\n\n\u003ca name=\"CTS_Notification_Filter\"\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`filter`\" pulumi-lang-dotnet=\"`Filter`\" pulumi-lang-go=\"`filter`\" pulumi-lang-python=\"`filter`\" pulumi-lang-yaml=\"`filter`\" pulumi-lang-java=\"`filter`\"\u003e`filter`\u003c/span\u003e block supports:\n"}},"type":"object","required":["userGroup","userLists"]},"opentelekomcloud:index/CtsEventNotificationV3Operation:CtsEventNotificationV3Operation":{"properties":{"resourceType":{"type":"string","description":"Specifies the resource type of custom operation.\n"},"serviceType":{"type":"string","description":"Specifies the cloud service. Every service should be provided separately, the value\nmust be the acronym of a cloud service that has been connected with CTS.\n"},"traceNames":{"type":"array","items":{"type":"string"},"description":"Specifies the list with trace names of custom operation.\n"}},"type":"object","required":["resourceType","serviceType","traceNames"]},"opentelekomcloud:index/CtsTrackerV1Timeouts:CtsTrackerV1Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/CtsTrackerV3Timeouts:CtsTrackerV3Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/DcEndpointGroupV2Timeouts:DcEndpointGroupV2Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/DcHostedConnectV3Timeouts:DcHostedConnectV3Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/DcVirtualGatewayV2LocalEpGroup:DcVirtualGatewayV2LocalEpGroup":{"properties":{"description":{"type":"string"},"endpoints":{"type":"array","items":{"type":"string"}},"name":{"type":"string"},"type":{"type":"string"}},"type":"object","required":["endpoints"]},"opentelekomcloud:index/DcVirtualGatewayV2LocalEpGroupV6:DcVirtualGatewayV2LocalEpGroupV6":{"properties":{"description":{"type":"string"},"endpoints":{"type":"array","items":{"type":"string"}},"name":{"type":"string"},"type":{"type":"string"}},"type":"object","required":["endpoints"]},"opentelekomcloud:index/DcVirtualInterfaceV2RemoteEpGroup:DcVirtualInterfaceV2RemoteEpGroup":{"properties":{"description":{"type":"string"},"endpoints":{"type":"array","items":{"type":"string"}},"name":{"type":"string"},"projectId":{"type":"string"},"type":{"type":"string"}},"type":"object","required":["endpoints"]},"opentelekomcloud:index/DcVirtualInterfaceV3VifPeer:DcVirtualInterfaceV3VifPeer":{"properties":{"addressFamily":{"type":"string","description":"Specifies the service type of the virtual interface.\nThe valid values are \u003cspan pulumi-lang-nodejs=\"`ipv4`\" pulumi-lang-dotnet=\"`Ipv4`\" pulumi-lang-go=\"`ipv4`\" pulumi-lang-python=\"`ipv4`\" pulumi-lang-yaml=\"`ipv4`\" pulumi-lang-java=\"`ipv4`\"\u003e`ipv4`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`ipv6`\" pulumi-lang-dotnet=\"`Ipv6`\" pulumi-lang-go=\"`ipv6`\" pulumi-lang-python=\"`ipv6`\" pulumi-lang-yaml=\"`ipv6`\" pulumi-lang-java=\"`ipv6`\"\u003e`ipv6`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`ipv4`\" pulumi-lang-dotnet=\"`Ipv4`\" pulumi-lang-go=\"`ipv4`\" pulumi-lang-python=\"`ipv4`\" pulumi-lang-yaml=\"`ipv4`\" pulumi-lang-java=\"`ipv4`\"\u003e`ipv4`\u003c/span\u003e.\nChanging this will create a new resource.\n"},"bgpAsn":{"type":"number","description":"The ASN of the BGP peer.\n"},"bgpMd5":{"type":"string","description":"Specifies the (MD5) password for the local BGP.\nChanging this will create a new resource.\n"},"bgpRouteLimit":{"type":"number","description":"The BGP route configuration.\n"},"bgpStatus":{"type":"string","description":"The BGP protocol status of the virtual interface peer. If the virtual interface peer uses \u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\"\u003e`static`\u003c/span\u003e\nrouting, the status is null.\n"},"description":{"type":"string","description":"Specifies the description of the virtual interface.\nThe description contain a maximum of \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e characters and the angle brackets (`\u003c` and `\u003e`) are not allowed.\nChinese characters must be in `UTF-8` or `Unicode` format.\n"},"deviceId":{"type":"string","description":"The ID of the device that the virtual interface peer belongs to.\n"},"enableBfd":{"type":"boolean","description":"Specifies whether to enable the Bidirectional Forwarding Detection (BFD) function.\nDefaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. (This is a reserved parameter and is not supported currently.)\n"},"enableNqa":{"type":"boolean","description":"Specifies whether to enable the Network Quality Analysis (NQA) function.\nDefaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. (This is a reserved parameter and is not supported currently.)\n\n\u003e The values of parameter \u003cspan pulumi-lang-nodejs=\"`enableBfd`\" pulumi-lang-dotnet=\"`EnableBfd`\" pulumi-lang-go=\"`enableBfd`\" pulumi-lang-python=\"`enable_bfd`\" pulumi-lang-yaml=\"`enableBfd`\" pulumi-lang-java=\"`enableBfd`\"\u003e`enable_bfd`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`enableNqa`\" pulumi-lang-dotnet=\"`EnableNqa`\" pulumi-lang-go=\"`enableNqa`\" pulumi-lang-python=\"`enable_nqa`\" pulumi-lang-yaml=\"`enableNqa`\" pulumi-lang-java=\"`enableNqa`\"\u003e`enable_nqa`\u003c/span\u003e cannot be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e at the same time.\n"},"id":{"type":"string","description":"The VIF peer resource ID.\n"},"localGatewayIp":{"type":"string","description":"The address of the virtual interface peer used on the cloud.\n"},"name":{"type":"string","description":"Specifies the name of the virtual interface.\n"},"receiveRouteNum":{"type":"number","description":"The number of received BGP routes if \u003cspan pulumi-lang-nodejs=\"`bgp`\" pulumi-lang-dotnet=\"`Bgp`\" pulumi-lang-go=\"`bgp`\" pulumi-lang-python=\"`bgp`\" pulumi-lang-yaml=\"`bgp`\" pulumi-lang-java=\"`bgp`\"\u003e`bgp`\u003c/span\u003e routing is used. If \u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\"\u003e`static`\u003c/span\u003e routing is used,\nthis parameter is meaningless and the value is `-1`.\n"},"remoteEpGroups":{"type":"array","items":{"type":"string"},"description":"Specifies the CIDR list of remote subnets.\nA CIDR that contains CIDRs of local subnet (corresponding to the parameter \u003cspan pulumi-lang-nodejs=\"`localGatewayV4Ip`\" pulumi-lang-dotnet=\"`LocalGatewayV4Ip`\" pulumi-lang-go=\"`localGatewayV4Ip`\" pulumi-lang-python=\"`local_gateway_v4_ip`\" pulumi-lang-yaml=\"`localGatewayV4Ip`\" pulumi-lang-java=\"`localGatewayV4Ip`\"\u003e`local_gateway_v4_ip`\u003c/span\u003e or\n\u003cspan pulumi-lang-nodejs=\"`localGatewayV6Ip`\" pulumi-lang-dotnet=\"`LocalGatewayV6Ip`\" pulumi-lang-go=\"`localGatewayV6Ip`\" pulumi-lang-python=\"`local_gateway_v6_ip`\" pulumi-lang-yaml=\"`localGatewayV6Ip`\" pulumi-lang-java=\"`localGatewayV6Ip`\"\u003e`local_gateway_v6_ip`\u003c/span\u003e) and remote subnet (corresponding to the parameter \u003cspan pulumi-lang-nodejs=\"`remoteGatewayV4Ip`\" pulumi-lang-dotnet=\"`RemoteGatewayV4Ip`\" pulumi-lang-go=\"`remoteGatewayV4Ip`\" pulumi-lang-python=\"`remote_gateway_v4_ip`\" pulumi-lang-yaml=\"`remoteGatewayV4Ip`\" pulumi-lang-java=\"`remoteGatewayV4Ip`\"\u003e`remote_gateway_v4_ip`\u003c/span\u003e or\n\u003cspan pulumi-lang-nodejs=\"`remoteGatewayV6Ip`\" pulumi-lang-dotnet=\"`RemoteGatewayV6Ip`\" pulumi-lang-go=\"`remoteGatewayV6Ip`\" pulumi-lang-python=\"`remote_gateway_v6_ip`\" pulumi-lang-yaml=\"`remoteGatewayV6Ip`\" pulumi-lang-java=\"`remoteGatewayV6Ip`\"\u003e`remote_gateway_v6_ip`\u003c/span\u003e) must exist in the list.\n"},"remoteGatewayIp":{"type":"string","description":"The address of the virtual interface peer used in the on-premises data center.\n"},"routeMode":{"type":"string","description":"Specifies the route mode of the virtual interface.\nThe valid values are \u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\"\u003e`static`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`bgp`\" pulumi-lang-dotnet=\"`Bgp`\" pulumi-lang-go=\"`bgp`\" pulumi-lang-python=\"`bgp`\" pulumi-lang-yaml=\"`bgp`\" pulumi-lang-java=\"`bgp`\"\u003e`bgp`\u003c/span\u003e.\nChanging this will create a new resource.\n"},"serviceEpGroups":{"type":"array","items":{"type":"string"},"description":"Specifies the subnets that access Internet services through a connection.\n"},"status":{"type":"string","description":"The status of the virtual interface peer.\n"},"tenantId":{"type":"string"},"vifId":{"type":"string","description":"The ID of the virtual interface corresponding to the virtual interface peer.\n"}},"type":"object","required":["addressFamily","bgpAsn","bgpMd5","bgpRouteLimit","bgpStatus","description","deviceId","enableBfd","enableNqa","id","localGatewayIp","name","receiveRouteNum","remoteEpGroups","remoteGatewayIp","routeMode","serviceEpGroups","status","tenantId","vifId"]},"opentelekomcloud:index/DcsInstanceV1BackupPolicy:DcsInstanceV1BackupPolicy":{"properties":{"backupAts":{"type":"array","items":{"type":"number"},"description":"Day in a week on which backup starts. Range: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e–\u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e. Where: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e\nindicates Monday; \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e indicates Sunday.\n"},"backupType":{"type":"string","description":"Backup type. Valid values are: \u003cspan pulumi-lang-nodejs=\"`auto`\" pulumi-lang-dotnet=\"`Auto`\" pulumi-lang-go=\"`auto`\" pulumi-lang-python=\"`auto`\" pulumi-lang-yaml=\"`auto`\" pulumi-lang-java=\"`auto`\"\u003e`auto`\u003c/span\u003e automatic backup,\n\u003cspan pulumi-lang-nodejs=\"`manual`\" pulumi-lang-dotnet=\"`Manual`\" pulumi-lang-go=\"`manual`\" pulumi-lang-python=\"`manual`\" pulumi-lang-yaml=\"`manual`\" pulumi-lang-java=\"`manual`\"\u003e`manual`\u003c/span\u003e manual backup (default).\n"},"beginAt":{"type":"string","description":"Time at which backup starts. `00:00-01:00` indicates that backup\nstarts at `00:00:00`.\n"},"periodType":{"type":"string","description":"Interval at which backup is performed.\nCurrently, only weekly backup is supported.\n"},"saveDays":{"type":"number","description":"Retention time. Unit: day. Range: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e–\u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e.\n"}},"type":"object","required":["backupAts","beginAt","periodType"]},"opentelekomcloud:index/DcsInstanceV1Configuration:DcsInstanceV1Configuration":{"properties":{"parameterId":{"type":"string","description":"Configuration item ID.\n"},"parameterName":{"type":"string","description":"Configuration item name.\n"},"parameterValue":{"type":"string","description":"Value of the configuration item.\n"}},"type":"object","required":["parameterId","parameterName","parameterValue"]},"opentelekomcloud:index/DcsInstanceV1Timeouts:DcsInstanceV1Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/DcsInstanceV1Whitelist:DcsInstanceV1Whitelist":{"properties":{"groupName":{"type":"string","description":"Whitelist group name. A maximum of four groups can be created for each instance.\n"},"ipLists":{"type":"array","items":{"type":"string"},"description":"List of IP addresses in the whitelist group. A maximum of 20 IP addresses or IP address\nranges can be added to an instance. Separate multiple IP addresses or IP address ranges with commas (,).\nIP address 0.0.0.0 and IP address range 0.0.0/0 are not supported.\n"}},"type":"object","required":["groupName","ipLists"]},"opentelekomcloud:index/DcsInstanceV2BackupPolicy:DcsInstanceV2BackupPolicy":{"properties":{"backupAts":{"type":"array","items":{"type":"number"},"description":"Day in a week on which backup starts, the value ranges from 1 to 7.\nWhere: 1 indicates Monday; 7 indicates Sunday.\n"},"backupType":{"type":"string","description":"Backup type. Default value is \u003cspan pulumi-lang-nodejs=\"`auto`\" pulumi-lang-dotnet=\"`Auto`\" pulumi-lang-go=\"`auto`\" pulumi-lang-python=\"`auto`\" pulumi-lang-yaml=\"`auto`\" pulumi-lang-java=\"`auto`\"\u003e`auto`\u003c/span\u003e. The valid values are as follows:\n"},"beginAt":{"type":"string","description":"Time at which backup starts.\nFormat: `hh24:00-hh24:00`, \"00:00-01:00\" indicates that backup starts at 00:00:00.\n\n\u003ca name=\"DcsInstance_Parameters\"\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`parameters`\" pulumi-lang-dotnet=\"`Parameters`\" pulumi-lang-go=\"`parameters`\" pulumi-lang-python=\"`parameters`\" pulumi-lang-yaml=\"`parameters`\" pulumi-lang-java=\"`parameters`\"\u003e`parameters`\u003c/span\u003e block supports:\n"},"periodType":{"type":"string","description":"Interval at which backup is performed. Default value is \u003cspan pulumi-lang-nodejs=\"`weekly`\" pulumi-lang-dotnet=\"`Weekly`\" pulumi-lang-go=\"`weekly`\" pulumi-lang-python=\"`weekly`\" pulumi-lang-yaml=\"`weekly`\" pulumi-lang-java=\"`weekly`\"\u003e`weekly`\u003c/span\u003e.\nCurrently, only weekly backup is supported.\n"},"saveDays":{"type":"number","description":"Retention time. Unit: day, the value ranges from 1 to 7.\nThis parameter is required if the\u003cspan pulumi-lang-nodejs=\" backupType \" pulumi-lang-dotnet=\" BackupType \" pulumi-lang-go=\" backupType \" pulumi-lang-python=\" backup_type \" pulumi-lang-yaml=\" backupType \" pulumi-lang-java=\" backupType \"\u003e backup_type \u003c/span\u003eis **auto**.\n"}},"type":"object","required":["backupAts","beginAt"]},"opentelekomcloud:index/DcsInstanceV2BandwidthInfo:DcsInstanceV2BandwidthInfo":{"properties":{"bandwidth":{"type":"number","description":"Indicates the bandwidth size, the unit is **GB**.\n"},"beginTime":{"type":"string","description":"Indicates the begin time of temporary increase.\n"},"currentTime":{"type":"string","description":"Indicates the current time.\n"},"endTime":{"type":"string","description":"Indicates the end time of temporary increase.\n"},"expandCount":{"type":"number","description":"Indicates the number of increases.\n"},"expandEffectTime":{"type":"number","description":"Indicates the interval between temporary increases, the unit is **ms**.\n"},"expandIntervalTime":{"type":"number","description":"Indicates the time interval to the next increase, the unit is **ms**.\n"},"maxExpandCount":{"type":"number","description":"Indicates the maximum number of increases.\n"},"nextExpandTime":{"type":"string","description":"Indicates the next increase time.\n"},"taskRunning":{"type":"boolean","description":"Indicates whether the increase task is running.\n"}},"type":"object","required":["bandwidth","beginTime","currentTime","endTime","expandCount","expandEffectTime","expandIntervalTime","maxExpandCount","nextExpandTime","taskRunning"]},"opentelekomcloud:index/DcsInstanceV2Parameter:DcsInstanceV2Parameter":{"properties":{"id":{"type":"string","description":"A resource ID in UUID format.\n"},"name":{"type":"string","description":"Specifies the name of an instance.\nThe name must be 4 to 64 characters and start with a letter.\nOnly chinese, letters (case-insensitive), digits, underscores (_) ,and hyphens (-) are allowed.\n"},"value":{"type":"string","description":"Specifies the value of the configuration item.\n"}},"type":"object","required":["id","name","value"]},"opentelekomcloud:index/DcsInstanceV2Timeouts:DcsInstanceV2Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/DcsInstanceV2Whitelist:DcsInstanceV2Whitelist":{"properties":{"groupName":{"type":"string","description":"Specifies the name of IP address group.\n"},"ipLists":{"type":"array","items":{"type":"string"},"description":"Specifies the list of IP address or CIDR which can be whitelisted for an instance.\nThe maximum is 20.\n"}},"type":"object","required":["groupName","ipLists"]},"opentelekomcloud:index/DdmInstanceV1Node:DdmInstanceV1Node":{"properties":{"ip":{"type":"string","description":"Indicates the node IP.\n"},"port":{"type":"string","description":"Indicates the node port.\n"},"status":{"type":"string","description":"Indicates the node status.\n"}},"type":"object","required":["ip","port","status"]},"opentelekomcloud:index/DdmInstanceV1Timeouts:DdmInstanceV1Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/DdmSchemaV1Database:DdmSchemaV1Database":{"properties":{"createdAt":{"type":"number","description":"(uint64) Indicates the creation time.\n"},"dbSlot":{"type":"number","description":"(String) Indicates the Number of shards.\n"},"id":{"type":"string","description":"(String) ID of the RDS instance where the shard is located.\n"},"name":{"type":"string","description":"Specifies the DDM schema name. The DDM instance name of the same\ntype is unique in the same tenant. It can be  2 to 48 characters long. It must start with a letter and it can only contain etters, digits, and underscores (_).\n"},"rdsName":{"type":"string","description":"(String) Name of the RDS instance where the shard is located\n"},"status":{"type":"string","description":"(String) Indicates the shard status.\n"},"updatedAt":{"type":"number","description":"(uint64) Indicates the update time.\n"}},"type":"object","required":["createdAt","dbSlot","id","name","rdsName","status","updatedAt"]},"opentelekomcloud:index/DdmSchemaV1Rd:DdmSchemaV1Rd":{"properties":{"adminPassword":{"type":"string","description":"Specifies the password of RDS admin.\n\n\n`NOTE:` Currently DDM schema supports only MySQL RDS databases. Also the parameter, \u003cspan pulumi-lang-nodejs=\"`lowerCaseTableNames`\" pulumi-lang-dotnet=\"`LowerCaseTableNames`\" pulumi-lang-go=\"`lowerCaseTableNames`\" pulumi-lang-python=\"`lower_case_table_names`\" pulumi-lang-yaml=\"`lowerCaseTableNames`\" pulumi-lang-java=\"`lowerCaseTableNames`\"\u003e`lower_case_table_names`\u003c/span\u003e, must be set to 1 in RDS (on console, Table Name: Case insensitive).\n","secret":true},"adminUsername":{"type":"string","description":"Specifies the username of RDS admin.\n","secret":true},"id":{"type":"string","description":"Specifies the ID of the rds instance.\n"}},"type":"object","required":["adminPassword","adminUsername","id"]},"opentelekomcloud:index/DdmSchemaV1Timeouts:DdmSchemaV1Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/DdmSchemaV1UsedRd:DdmSchemaV1UsedRd":{"properties":{"id":{"type":"string","description":"(String) ID of the RDS instance where the shard is located.\n"},"name":{"type":"string","description":"Specifies the DDM schema name. The DDM instance name of the same\ntype is unique in the same tenant. It can be  2 to 48 characters long. It must start with a letter and it can only contain etters, digits, and underscores (_).\n"},"status":{"type":"string","description":"(String) Indicates the shard status.\n"}},"type":"object","required":["id","name","status"]},"opentelekomcloud:index/DdsBackupV3Datastore:DdsBackupV3Datastore":{"properties":{"storageEngine":{"type":"string","description":"Indicates the database storage engine.\n"},"type":{"type":"string","description":"Indicates the DB engine.\n"},"version":{"type":"string","description":"Indicates the database version.\n"}},"type":"object","required":["storageEngine","type","version"]},"opentelekomcloud:index/DdsBackupV3Timeouts:DdsBackupV3Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/DdsInstanceV3BackupStrategy:DdsInstanceV3BackupStrategy":{"properties":{"keepDays":{"type":"number","description":"Specifies the number of days to retain the generated backup files. The\nvalue range is from \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`732`\" pulumi-lang-dotnet=\"`732`\" pulumi-lang-go=\"`732`\" pulumi-lang-python=\"`732`\" pulumi-lang-yaml=\"`732`\" pulumi-lang-java=\"`732`\"\u003e`732`\u003c/span\u003e.\n* If this parameter is set to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e, the automated backup policy is not set.\n* If this parameter is not transferred, the automated backup policy is enabled by default.\nBackup files are stored for seven days by default.\n"},"period":{"type":"string","description":"Specifies the backup cycle. Data will be automatically backed up on the\nselected days every week.\n+ If you set the \u003cspan pulumi-lang-nodejs=\"`keepDays`\" pulumi-lang-dotnet=\"`KeepDays`\" pulumi-lang-go=\"`keepDays`\" pulumi-lang-python=\"`keep_days`\" pulumi-lang-yaml=\"`keepDays`\" pulumi-lang-java=\"`keepDays`\"\u003e`keep_days`\u003c/span\u003e to 0, this parameter is no need to set.\n+ If you set the \u003cspan pulumi-lang-nodejs=\"`keepDays`\" pulumi-lang-dotnet=\"`KeepDays`\" pulumi-lang-go=\"`keepDays`\" pulumi-lang-python=\"`keep_days`\" pulumi-lang-yaml=\"`keepDays`\" pulumi-lang-java=\"`keepDays`\"\u003e`keep_days`\u003c/span\u003e within 6 days, set the parameter value to `1,2,3,4,5,6,7`, data is automatically\nbacked up on each day every week.\n+ If you set the \u003cspan pulumi-lang-nodejs=\"`keepDays`\" pulumi-lang-dotnet=\"`KeepDays`\" pulumi-lang-go=\"`keepDays`\" pulumi-lang-python=\"`keep_days`\" pulumi-lang-yaml=\"`keepDays`\" pulumi-lang-java=\"`keepDays`\"\u003e`keep_days`\u003c/span\u003e between 7 and 732 days, set the parameter value to at least one day of every week.\nFor example: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, `3,5`.\n"},"startTime":{"type":"string","description":"Specifies the backup time window. Automated backups will be triggered\nduring the backup time window. The value cannot be empty. It must be a valid value in the\n`\"hh:mm-HH:MM\"` format. The current time is in the UTC format.\n* The `HH` value must be 1 greater than the \u003cspan pulumi-lang-nodejs=\"`hh`\" pulumi-lang-dotnet=\"`Hh`\" pulumi-lang-go=\"`hh`\" pulumi-lang-python=\"`hh`\" pulumi-lang-yaml=\"`hh`\" pulumi-lang-java=\"`hh`\"\u003e`hh`\u003c/span\u003e value.\n* The values from \u003cspan pulumi-lang-nodejs=\"`mm`\" pulumi-lang-dotnet=\"`Mm`\" pulumi-lang-go=\"`mm`\" pulumi-lang-python=\"`mm`\" pulumi-lang-yaml=\"`mm`\" pulumi-lang-java=\"`mm`\"\u003e`mm`\u003c/span\u003e and `MM` must be the same and must be set to any of the following \u003cspan pulumi-lang-nodejs=\"`00`\" pulumi-lang-dotnet=\"`00`\" pulumi-lang-go=\"`00`\" pulumi-lang-python=\"`00`\" pulumi-lang-yaml=\"`00`\" pulumi-lang-java=\"`00`\"\u003e`00`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`15`\" pulumi-lang-dotnet=\"`15`\" pulumi-lang-go=\"`15`\" pulumi-lang-python=\"`15`\" pulumi-lang-yaml=\"`15`\" pulumi-lang-java=\"`15`\"\u003e`15`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`45`\" pulumi-lang-dotnet=\"`45`\" pulumi-lang-go=\"`45`\" pulumi-lang-python=\"`45`\" pulumi-lang-yaml=\"`45`\" pulumi-lang-java=\"`45`\"\u003e`45`\u003c/span\u003e.\n"}},"type":"object","required":["keepDays","startTime"],"language":{"nodejs":{"requiredOutputs":["keepDays","period","startTime"]}}},"opentelekomcloud:index/DdsInstanceV3Datastore:DdsInstanceV3Datastore":{"properties":{"storageEngine":{"type":"string","description":"Specifies the storage engine. Currently, DDS supports the WiredTiger and RocksDB\nstorage engine. The values are `wiredTiger`, `rocksDB`.\nWiredTiger engine supports versions `3.2`, `3.4`, `4.0` while RocksDB supports versions `4.2`, `4.4`\n"},"type":{"type":"string","description":"Specifies the database type. DDS Community Edition is supported.\nThe value is `DDS-Community`.\n"},"version":{"type":"string","description":"Specifies the database version.\nThe values are `3.2`, `3.4`, `4.0`, `4.2`, `4.4`.\n"}},"type":"object","required":["type","version"]},"opentelekomcloud:index/DdsInstanceV3Flavor:DdsInstanceV3Flavor":{"properties":{"num":{"type":"number","description":"Specifies the node quantity. Valid value:\n"},"size":{"type":"number","description":"Specifies the disk size. The value must be a multiple of \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e. The unit is GB.\n* For a \u003cspan pulumi-lang-nodejs=\"`cluster`\" pulumi-lang-dotnet=\"`Cluster`\" pulumi-lang-go=\"`cluster`\" pulumi-lang-python=\"`cluster`\" pulumi-lang-yaml=\"`cluster`\" pulumi-lang-java=\"`cluster`\"\u003e`cluster`\u003c/span\u003e instance, the storage space of a shard node can be \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e GB, and the config\nstorage space is \u003cspan pulumi-lang-nodejs=\"`20`\" pulumi-lang-dotnet=\"`20`\" pulumi-lang-go=\"`20`\" pulumi-lang-python=\"`20`\" pulumi-lang-yaml=\"`20`\" pulumi-lang-java=\"`20`\"\u003e`20`\u003c/span\u003e GB. This parameter is invalid for \u003cspan pulumi-lang-nodejs=\"`mongos`\" pulumi-lang-dotnet=\"`Mongos`\" pulumi-lang-go=\"`mongos`\" pulumi-lang-python=\"`mongos`\" pulumi-lang-yaml=\"`mongos`\" pulumi-lang-java=\"`mongos`\"\u003e`mongos`\u003c/span\u003e nodes. Therefore, you do not need\nto specify the storage space for \u003cspan pulumi-lang-nodejs=\"`mongos`\" pulumi-lang-dotnet=\"`Mongos`\" pulumi-lang-go=\"`mongos`\" pulumi-lang-python=\"`mongos`\" pulumi-lang-yaml=\"`mongos`\" pulumi-lang-java=\"`mongos`\"\u003e`mongos`\u003c/span\u003e nodes.\n* For a `replica set` instance, the value ranges from \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`2000`\" pulumi-lang-dotnet=\"`2000`\" pulumi-lang-go=\"`2000`\" pulumi-lang-python=\"`2000`\" pulumi-lang-yaml=\"`2000`\" pulumi-lang-java=\"`2000`\"\u003e`2000`\u003c/span\u003e.\n\n\u003e This parameter is mandatory for all nodes except \u003cspan pulumi-lang-nodejs=\"`mongos`\" pulumi-lang-dotnet=\"`Mongos`\" pulumi-lang-go=\"`mongos`\" pulumi-lang-python=\"`mongos`\" pulumi-lang-yaml=\"`mongos`\" pulumi-lang-java=\"`mongos`\"\u003e`mongos`\u003c/span\u003e. This parameter is invalid\nfor the \u003cspan pulumi-lang-nodejs=\"`mongos`\" pulumi-lang-dotnet=\"`Mongos`\" pulumi-lang-go=\"`mongos`\" pulumi-lang-python=\"`mongos`\" pulumi-lang-yaml=\"`mongos`\" pulumi-lang-java=\"`mongos`\"\u003e`mongos`\u003c/span\u003e nodes.\n"},"specCode":{"type":"string","description":"Specifies the resource specification code.\n\nThe \u003cspan pulumi-lang-nodejs=\"`backupStrategy \" pulumi-lang-dotnet=\"`BackupStrategy \" pulumi-lang-go=\"`backupStrategy \" pulumi-lang-python=\"`backup_strategy \" pulumi-lang-yaml=\"`backupStrategy \" pulumi-lang-java=\"`backupStrategy \"\u003e`backup_strategy \u003c/span\u003e` block supports:\n"},"storage":{"type":"string","description":"Specifies the disk type. Valid value: `ULTRAHIGH` which indicates the type SSD.\n\n\u003e This parameter is optional for all nodes except \u003cspan pulumi-lang-nodejs=\"`mongos`\" pulumi-lang-dotnet=\"`Mongos`\" pulumi-lang-go=\"`mongos`\" pulumi-lang-python=\"`mongos`\" pulumi-lang-yaml=\"`mongos`\" pulumi-lang-java=\"`mongos`\"\u003e`mongos`\u003c/span\u003e. This parameter is invalid for\nthe \u003cspan pulumi-lang-nodejs=\"`mongos`\" pulumi-lang-dotnet=\"`Mongos`\" pulumi-lang-go=\"`mongos`\" pulumi-lang-python=\"`mongos`\" pulumi-lang-yaml=\"`mongos`\" pulumi-lang-java=\"`mongos`\"\u003e`mongos`\u003c/span\u003e nodes.\n"},"type":{"type":"string","description":"Specifies the node type. Valid value:\n* For a cluster instance, the value can be \u003cspan pulumi-lang-nodejs=\"`mongos`\" pulumi-lang-dotnet=\"`Mongos`\" pulumi-lang-go=\"`mongos`\" pulumi-lang-python=\"`mongos`\" pulumi-lang-yaml=\"`mongos`\" pulumi-lang-java=\"`mongos`\"\u003e`mongos`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`shard`\" pulumi-lang-dotnet=\"`Shard`\" pulumi-lang-go=\"`shard`\" pulumi-lang-python=\"`shard`\" pulumi-lang-yaml=\"`shard`\" pulumi-lang-java=\"`shard`\"\u003e`shard`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`config`\" pulumi-lang-dotnet=\"`Config`\" pulumi-lang-go=\"`config`\" pulumi-lang-python=\"`config`\" pulumi-lang-yaml=\"`config`\" pulumi-lang-java=\"`config`\"\u003e`config`\u003c/span\u003e.\n* For a replica set instance, the value is \u003cspan pulumi-lang-nodejs=\"`replica`\" pulumi-lang-dotnet=\"`Replica`\" pulumi-lang-go=\"`replica`\" pulumi-lang-python=\"`replica`\" pulumi-lang-yaml=\"`replica`\" pulumi-lang-java=\"`replica`\"\u003e`replica`\u003c/span\u003e.\n* For a single node instance, the value is \u003cspan pulumi-lang-nodejs=\"`single`\" pulumi-lang-dotnet=\"`Single`\" pulumi-lang-go=\"`single`\" pulumi-lang-python=\"`single`\" pulumi-lang-yaml=\"`single`\" pulumi-lang-java=\"`single`\"\u003e`single`\u003c/span\u003e.\n"}},"type":"object","required":["num","specCode","type"]},"opentelekomcloud:index/DdsInstanceV3Node:DdsInstanceV3Node":{"properties":{"id":{"type":"string","description":"Indicates the node ID.\n"},"name":{"type":"string","description":"Specifies the DB instance name. The DB instance name of the same\ntype is unique in the same tenant.\n"},"privateIp":{"type":"string","description":"Indicates the private IP address of a node. This parameter is valid only for\nmongos nodes, replica set instances.\n"},"publicIp":{"type":"string","description":"Indicates the EIP that has been bound on a node. This parameter is valid only for\nmongos nodes of cluster instances, primary nodes and secondary nodes of replica set instances.\n"},"role":{"type":"string","description":"Indicates the node role.\n"},"status":{"type":"string","description":"Indicates the node status.\n"},"type":{"type":"string","description":"Indicates the node type.\n"}},"type":"object","required":["id","name","privateIp","publicIp","role","status","type"]},"opentelekomcloud:index/DdsInstanceV3Timeouts:DdsInstanceV3Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/DdsLtsLogV3Timeouts:DdsLtsLogV3Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/DehHostV1AvailableInstanceCapacity:DehHostV1AvailableInstanceCapacity":{"properties":{"flavor":{"type":"string"}},"type":"object","language":{"nodejs":{"requiredOutputs":["flavor"]}}},"opentelekomcloud:index/DehHostV1Timeouts:DehHostV1Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/DirectConnectV2Timeouts:DirectConnectV2Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/DmsConsumerGroupV2GroupMessageOffset:DmsConsumerGroupV2GroupMessageOffset":{"properties":{"lag":{"type":"number","description":"Indicates the number of remaining messages that can be retrieved, that is, the number of accumulated messages.\n"},"messageCurrentOffset":{"type":"number","description":"Indicates the consumer offset.\n"},"messageLogEndOffset":{"type":"number","description":"Indicates the log end offset (LEO).\n"},"partition":{"type":"number","description":"Indicates the partition number.\n"},"topic":{"type":"string","description":"Indicates the topic name.\n"}},"type":"object","required":["lag","messageCurrentOffset","messageLogEndOffset","partition","topic"]},"opentelekomcloud:index/DmsConsumerGroupV2Member:DmsConsumerGroupV2Member":{"properties":{"assignments":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FDmsConsumerGroupV2MemberAssignment:DmsConsumerGroupV2MemberAssignment"},"description":"Indicates the details about the partition assigned to the consumer. The structure is as follows:\n"},"clientId":{"type":"string","description":"Indicates the client ID.\n"},"host":{"type":"string","description":"Indicates the consumer address.\n"},"memberId":{"type":"string","description":"Indicates the consumer ID.\n"}},"type":"object","required":["assignments","clientId","host","memberId"]},"opentelekomcloud:index/DmsConsumerGroupV2MemberAssignment:DmsConsumerGroupV2MemberAssignment":{"properties":{"partitions":{"type":"array","items":{"type":"number"},"description":"Indicates the partition list.\n"},"topic":{"type":"string","description":"Indicates the topic name.\n"}},"type":"object","required":["partitions","topic"]},"opentelekomcloud:index/DmsDedicatedInstanceV2CrossVpcAccess:DmsDedicatedInstanceV2CrossVpcAccess":{"properties":{"advertisedIp":{"type":"string","description":"The advertised IP Address or domain name.\n"},"listenerIp":{"type":"string","description":"The listener IP address.\n"},"port":{"type":"number","description":"The port number.\n"},"portId":{"type":"string","description":"The port ID associated with the address.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["advertisedIp","listenerIp","port","portId"]}}},"opentelekomcloud:index/DmsDedicatedInstanceV2Timeouts:DmsDedicatedInstanceV2Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/DmsInstanceV2Timeouts:DmsInstanceV2Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/DmsReassignPartitionsV2Reassignment:DmsReassignPartitionsV2Reassignment":{"properties":{"assignments":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FDmsReassignPartitionsV2ReassignmentAssignment:DmsReassignPartitionsV2ReassignmentAssignment"}},"brokers":{"type":"array","items":{"type":"number"}},"replicationFactor":{"type":"number"},"topic":{"type":"string"}},"type":"object","required":["topic"]},"opentelekomcloud:index/DmsReassignPartitionsV2ReassignmentAssignment:DmsReassignPartitionsV2ReassignmentAssignment":{"properties":{"partition":{"type":"number"},"partitionBrokers":{"type":"array","items":{"type":"number"}}},"type":"object"},"opentelekomcloud:index/DmsSmartConnectTaskActionV2Timeouts:DmsSmartConnectTaskActionV2Timeouts":{"properties":{"create":{"type":"string"}},"type":"object"},"opentelekomcloud:index/DmsSmartConnectTaskV2DestinationTask:DmsSmartConnectTaskV2DestinationTask":{"properties":{"accessKey":{"type":"string","description":"Specifies the access key used to access the OBS bucket.\nIt's **required** when \u003cspan pulumi-lang-nodejs=\"`destinationType`\" pulumi-lang-dotnet=\"`DestinationType`\" pulumi-lang-go=\"`destinationType`\" pulumi-lang-python=\"`destination_type`\" pulumi-lang-yaml=\"`destinationType`\" pulumi-lang-java=\"`destinationType`\"\u003e`destination_type`\u003c/span\u003e is **OBS_SINK**.\nChanging this parameter will create a new resource.\n"},"consumerStrategy":{"type":"string","description":"Specifies the consumer strategy of the smart connect task.\nValue options:\n+ **latest**: Read the latest data.\n+ **earliest**: Read the earliest data.\n\nIt's **required** when \u003cspan pulumi-lang-nodejs=\"`destinationType`\" pulumi-lang-dotnet=\"`DestinationType`\" pulumi-lang-go=\"`destinationType`\" pulumi-lang-python=\"`destination_type`\" pulumi-lang-yaml=\"`destinationType`\" pulumi-lang-java=\"`destinationType`\"\u003e`destination_type`\u003c/span\u003e is **OBS_SINK**.\nChanging this parameter will create a new resource.\n"},"deliverTimeInterval":{"type":"number","description":"Specifies the deliver time interval of the smart connect task.\nIt's **required** when \u003cspan pulumi-lang-nodejs=\"`destinationType`\" pulumi-lang-dotnet=\"`DestinationType`\" pulumi-lang-go=\"`destinationType`\" pulumi-lang-python=\"`destination_type`\" pulumi-lang-yaml=\"`destinationType`\" pulumi-lang-java=\"`destinationType`\"\u003e`destination_type`\u003c/span\u003e is **OBS_SINK**.\nThe value should be between \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`900`\" pulumi-lang-dotnet=\"`900`\" pulumi-lang-go=\"`900`\" pulumi-lang-python=\"`900`\" pulumi-lang-yaml=\"`900`\" pulumi-lang-java=\"`900`\"\u003e`900`\u003c/span\u003e. Changing this parameter will create a new resource.\n"},"destinationFileType":{"type":"string","description":"Specifies the destination file type of the smart connect task.\nOnly **TEXT** is supported. Changing this parameter will create a new resource.\n"},"obsBucketName":{"type":"string","description":"Specifies the obs bucket name of the smart connect task.\nIt's **required** when \u003cspan pulumi-lang-nodejs=\"`destinationType`\" pulumi-lang-dotnet=\"`DestinationType`\" pulumi-lang-go=\"`destinationType`\" pulumi-lang-python=\"`destination_type`\" pulumi-lang-yaml=\"`destinationType`\" pulumi-lang-java=\"`destinationType`\"\u003e`destination_type`\u003c/span\u003e is **OBS_SINK**.\nChanging this parameter will create a new resource.\n"},"obsPath":{"type":"string","description":"Specifies the obs path of the smart connect task.\nObs path is separated by a slash. Changing this parameter will create a new resource.\n"},"partitionFormat":{"type":"string","description":"Specifies the time directory format of the smart connect task.\nValue options: **yyyy**, **yyyy/MM**, **yyyy/MM/dd**, **yyyy/MM/dd/HH**, **yyyy/MM/dd/HH/mm**.\nIt's **required** when \u003cspan pulumi-lang-nodejs=\"`destinationType`\" pulumi-lang-dotnet=\"`DestinationType`\" pulumi-lang-go=\"`destinationType`\" pulumi-lang-python=\"`destination_type`\" pulumi-lang-yaml=\"`destinationType`\" pulumi-lang-java=\"`destinationType`\"\u003e`destination_type`\u003c/span\u003e is **OBS_SINK**.\nChanging this parameter will create a new resource.\n"},"recordDelimiter":{"type":"string","description":"Specifies the record delimiter of the smart connect task.\nValue options: **,**, **;**, **|**, **\\n**.\nChanging this parameter will create a new resource.\n"},"secretKey":{"type":"string","description":"Specifies the secret access key used to access the OBS bucket.\nIt's **required** when \u003cspan pulumi-lang-nodejs=\"`destinationType`\" pulumi-lang-dotnet=\"`DestinationType`\" pulumi-lang-go=\"`destinationType`\" pulumi-lang-python=\"`destination_type`\" pulumi-lang-yaml=\"`destinationType`\" pulumi-lang-java=\"`destinationType`\"\u003e`destination_type`\u003c/span\u003e is **OBS_SINK**.\nChanging this parameter will create a new resource.\n","secret":true},"storeKeys":{"type":"boolean","description":"Specifies whether to dump keys.\nChanging this parameter will create a new resource.\n"}},"type":"object"},"opentelekomcloud:index/DmsSmartConnectTaskV2SourceTask:DmsSmartConnectTaskV2SourceTask":{"properties":{"compressionType":{"type":"string","description":"Specifies the compression algorithm to use for copying messages.\nValid values are **none**, **gzip**, **snappy**, **lz4** and **zstd**.\nChanging this parameter will create a new resource.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"dmsDestinationTask\"\" pulumi-lang-dotnet=\"\"DmsDestinationTask\"\" pulumi-lang-go=\"\"dmsDestinationTask\"\" pulumi-lang-python=\"\"dms_destination_task\"\" pulumi-lang-yaml=\"\"dmsDestinationTask\"\" pulumi-lang-java=\"\"dmsDestinationTask\"\"\u003e\"dms_destination_task\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`destinationTask`\" pulumi-lang-dotnet=\"`DestinationTask`\" pulumi-lang-go=\"`destinationTask`\" pulumi-lang-python=\"`destination_task`\" pulumi-lang-yaml=\"`destinationTask`\" pulumi-lang-java=\"`destinationTask`\"\u003e`destination_task`\u003c/span\u003e block supports:\n"},"consumerStrategy":{"type":"string","description":"Specifies the consumer strategy of the smart connect task.\nValue options:\n+ **latest**: Read the latest data.\n+ **earliest**: Read the earliest data.\n\nIt's **required** when \u003cspan pulumi-lang-nodejs=\"`destinationType`\" pulumi-lang-dotnet=\"`DestinationType`\" pulumi-lang-go=\"`destinationType`\" pulumi-lang-python=\"`destination_type`\" pulumi-lang-yaml=\"`destinationType`\" pulumi-lang-java=\"`destinationType`\"\u003e`destination_type`\u003c/span\u003e is **OBS_SINK**.\nChanging this parameter will create a new resource.\n"},"currentInstanceAlias":{"type":"string","description":"Specifies the current Kafka instance alias.\nChanging this parameter will create a new resource.\n"},"direction":{"type":"string","description":"Specifies the sync direction. Valid values are:\n+ **pull**: Copy the data of the peer Kafka instance to the current Kafka instance.\n+ **push**: Copy the data of the current Kafka instance to the peer Kafka instance.\n+ **two-way**: Copy the data of the Kafka instances at both ends in both directions.\n\nChanging this parameter will create a new resource.\n"},"password":{"type":"string","description":"Specifies the peer Kafka user password.\nIt's **required** when \u003cspan pulumi-lang-nodejs=\"`securityProtocol`\" pulumi-lang-dotnet=\"`SecurityProtocol`\" pulumi-lang-go=\"`securityProtocol`\" pulumi-lang-python=\"`security_protocol`\" pulumi-lang-yaml=\"`securityProtocol`\" pulumi-lang-java=\"`securityProtocol`\"\u003e`security_protocol`\u003c/span\u003e is **SASL_SSL**. Changing this parameter will create a new resource.\n","secret":true},"peerInstanceAddresses":{"type":"array","items":{"type":"string"},"description":"Specifies the peer Kafka instance address list.\nChanging this parameter will create a new resource.\n\n\u003e Exactly one of \u003cspan pulumi-lang-nodejs=\"`peerInstanceId`\" pulumi-lang-dotnet=\"`PeerInstanceId`\" pulumi-lang-go=\"`peerInstanceId`\" pulumi-lang-python=\"`peer_instance_id`\" pulumi-lang-yaml=\"`peerInstanceId`\" pulumi-lang-java=\"`peerInstanceId`\"\u003e`peer_instance_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`peerInstanceAddress`\" pulumi-lang-dotnet=\"`PeerInstanceAddress`\" pulumi-lang-go=\"`peerInstanceAddress`\" pulumi-lang-python=\"`peer_instance_address`\" pulumi-lang-yaml=\"`peerInstanceAddress`\" pulumi-lang-java=\"`peerInstanceAddress`\"\u003e`peer_instance_address`\u003c/span\u003e should be specified.\n"},"peerInstanceAlias":{"type":"string","description":"Specifies the peer Kafka instance alias.\nChanging this parameter will create a new resource.\n"},"peerInstanceId":{"type":"string","description":"Specifies the peer Kafka instance ID.\nChanging this parameter will create a new resource.\n"},"provenanceHeaderEnabled":{"type":"boolean","description":"Specifies whether the message header contains the message source.\nChanging this parameter will create a new resource.\n"},"renameTopicEnabled":{"type":"boolean","description":"Specifies whether to rename the topic. If true, will add the\nalias of the source Kafka instance before the target topic name to form a new name of the target topic.\nChanging this parameter will create a new resource.\n"},"replicationFactor":{"type":"number","description":"Specifies the number of topic replicas. The value of this parameter\ncannot exceed the number of brokers in the peer instance. Changing this parameter will create a new resource.\n"},"saslMechanism":{"type":"string","description":"Specifies the peer Kafka authentication mode.\nChanging this parameter will create a new resource.\n"},"securityProtocol":{"type":"string","description":"Specifies the peer Kafka authentication. Valid values are:\n+ **SASL_SSL**: SASL_SSL is enabled.\n+ **PLAINTEXT**: SASL_SSL is disabled.\n\nChanging this parameter will create a new resource.\n"},"syncConsumerOffsetsEnabled":{"type":"boolean","description":"Specifies whether to sync the consumption progress.\nChanging this parameter will create a new resource.\n"},"taskNum":{"type":"number","description":"Specifies the number of data replication tasks.\nIf the \u003cspan pulumi-lang-nodejs=\"`direction`\" pulumi-lang-dotnet=\"`Direction`\" pulumi-lang-go=\"`direction`\" pulumi-lang-python=\"`direction`\" pulumi-lang-yaml=\"`direction`\" pulumi-lang-java=\"`direction`\"\u003e`direction`\u003c/span\u003e is set to **two-way**, the actual number of tasks will be twice the number of tasks you configure here.\nChanging this parameter will create a new resource.\n"},"topicsMappings":{"type":"array","items":{"type":"string"},"description":"Specifies the topic mapping string list, which is used to customize\nthe target topic name, e.g., topic-sc-1:topic-sc-2. Changing this parameter will create a new resource.\n\n\u003e When \u003cspan pulumi-lang-nodejs=\"`renameTopicEnabled`\" pulumi-lang-dotnet=\"`RenameTopicEnabled`\" pulumi-lang-go=\"`renameTopicEnabled`\" pulumi-lang-python=\"`rename_topic_enabled`\" pulumi-lang-yaml=\"`renameTopicEnabled`\" pulumi-lang-java=\"`renameTopicEnabled`\"\u003e`rename_topic_enabled`\u003c/span\u003e is true, \u003cspan pulumi-lang-nodejs=\"`topicsMapping`\" pulumi-lang-dotnet=\"`TopicsMapping`\" pulumi-lang-go=\"`topicsMapping`\" pulumi-lang-python=\"`topics_mapping`\" pulumi-lang-yaml=\"`topicsMapping`\" pulumi-lang-java=\"`topicsMapping`\"\u003e`topics_mapping`\u003c/span\u003e can not be specified.\n"},"userName":{"type":"string","description":"Specifies the peer Kafka user name.\nIt's **required** when \u003cspan pulumi-lang-nodejs=\"`securityProtocol`\" pulumi-lang-dotnet=\"`SecurityProtocol`\" pulumi-lang-go=\"`securityProtocol`\" pulumi-lang-python=\"`security_protocol`\" pulumi-lang-yaml=\"`securityProtocol`\" pulumi-lang-java=\"`securityProtocol`\"\u003e`security_protocol`\u003c/span\u003e is **SASL_SSL**. Changing this parameter will create a new resource.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["compressionType","consumerStrategy","currentInstanceAlias","direction","peerInstanceAddresses","peerInstanceAlias","provenanceHeaderEnabled","renameTopicEnabled","saslMechanism","securityProtocol","syncConsumerOffsetsEnabled"]}}},"opentelekomcloud:index/DmsSmartConnectTaskV2Timeouts:DmsSmartConnectTaskV2Timeouts":{"properties":{"create":{"type":"string"}},"type":"object"},"opentelekomcloud:index/DmsSmartConnectV2Timeouts:DmsSmartConnectV2Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/DmsUserPermissionV1Policy:DmsUserPermissionV1Policy":{"properties":{"accessPolicy":{"type":"string","description":"Permission type. Possible values:\n"},"owner":{"type":"boolean","description":"Indicates whether the user is the one selected during topic creation.\n"},"username":{"type":"string","description":"DMS instance user name.\n"}},"type":"object","required":["accessPolicy","username"],"language":{"nodejs":{"requiredOutputs":["accessPolicy","owner","username"]}}},"opentelekomcloud:index/DnsPtrrecordV2Timeouts:DnsPtrrecordV2Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/DnsRecordsetV2Timeouts:DnsRecordsetV2Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/DnsZoneV2Router:DnsZoneV2Router":{"properties":{"routerId":{"type":"string","description":"The Router(VPC) ID. which VPC network will assicate with.\n"},"routerRegion":{"type":"string","description":"The Region name for this private zone.\n"}},"type":"object","required":["routerId","routerRegion"]},"opentelekomcloud:index/DnsZoneV2Timeouts:DnsZoneV2Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/DrsTaskV3DestinationDb:DrsTaskV3DestinationDb":{"properties":{"engineType":{"type":"string","description":"Specifies the migration engine type.\nChanging this parameter will create a new resource. The options are as follows:\n+ **mysql**:  MySQL migration, MySQL synchronization use.\n+ **mongodb**: Mongodb migration use.\n+ **cloudDataGuard-mysql**: Disaster recovery use.\n+ **gaussdbv5**: GaussDB (for openGauss) synchronization use.\n+ **mysql-to-kafka**: Synchronization from MySQL to Kafka use.\n+ **taurus-to-kafka**: Synchronization from GaussDB(for MySQL) to Kafka use.\n+ **gaussdbv5ha-to-kafka**: Synchronization from GaussDB primary/standby to Kafka use.\n+ **postgresql**: Synchronization from PostgreSQL to PostgreSQL use.\n"},"instanceId":{"type":"string","description":"Specifies the instance id of database when it is a RDS database.\nChanging this parameter will create a new resource.\n"},"ip":{"type":"string","description":"Specifies the IP of database. Changing this parameter will create a new resource.\n"},"name":{"type":"string","description":"Specifies the job name. The name consists of 4 to 50 characters, starting with\na letter. Only letters, digits, underscores (\\_) and hyphens (-) are allowed.\n"},"password":{"type":"string","description":"Specifies the password of database.\nChanging this parameter will create a new resource.\n","secret":true},"port":{"type":"number","description":"Specifies the port of database. Changing this parameter will create a new resource.\n"},"privateIp":{"type":"string","description":"Private IP.\n"},"region":{"type":"string","description":"The region in which to create the resource.\n"},"sslCertCheckSum":{"type":"string","description":"Specifies the checksum of SSL certificate content.\nIt is mandatory when \u003cspan pulumi-lang-nodejs=\"`sslEnabled`\" pulumi-lang-dotnet=\"`SslEnabled`\" pulumi-lang-go=\"`sslEnabled`\" pulumi-lang-python=\"`ssl_enabled`\" pulumi-lang-yaml=\"`sslEnabled`\" pulumi-lang-java=\"`sslEnabled`\"\u003e`ssl_enabled`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this parameter will create a new resource.\n"},"sslCertKey":{"type":"string","description":"Specifies the SSL certificate content, encrypted with base64.\nIt is mandatory when \u003cspan pulumi-lang-nodejs=\"`sslEnabled`\" pulumi-lang-dotnet=\"`SslEnabled`\" pulumi-lang-go=\"`sslEnabled`\" pulumi-lang-python=\"`ssl_enabled`\" pulumi-lang-yaml=\"`sslEnabled`\" pulumi-lang-java=\"`sslEnabled`\"\u003e`ssl_enabled`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this parameter will create a new resource.\n"},"sslCertName":{"type":"string","description":"Specifies SSL certificate name.\nIt is mandatory when \u003cspan pulumi-lang-nodejs=\"`sslEnabled`\" pulumi-lang-dotnet=\"`SslEnabled`\" pulumi-lang-go=\"`sslEnabled`\" pulumi-lang-python=\"`ssl_enabled`\" pulumi-lang-yaml=\"`sslEnabled`\" pulumi-lang-java=\"`sslEnabled`\"\u003e`ssl_enabled`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this parameter will create a new resource.\n"},"sslCertPassword":{"type":"string","description":"Specifies SSL certificate password. It is mandatory when\n\u003cspan pulumi-lang-nodejs=\"`sslEnabled`\" pulumi-lang-dotnet=\"`SslEnabled`\" pulumi-lang-go=\"`sslEnabled`\" pulumi-lang-python=\"`ssl_enabled`\" pulumi-lang-yaml=\"`sslEnabled`\" pulumi-lang-java=\"`sslEnabled`\"\u003e`ssl_enabled`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and the certificate file suffix is `.p12`. Changing this parameter will create a new resource.\n"},"sslEnabled":{"type":"boolean","description":"Specifies whether to enable SSL connection.\nChanging this parameter will create a new resource.\n"},"subnetId":{"type":"string","description":"The subnet ID to which the DRS instance belongs.\n"},"user":{"type":"string","description":"Specifies the user name of database.\nChanging this parameter will create a new resource.\n"},"vpcId":{"type":"string","description":"The VPC ID to which the DRS instance belongs.\n"}},"type":"object","required":["engineType","ip","password","port","user"],"language":{"nodejs":{"requiredOutputs":["engineType","ip","name","password","port","privateIp","region","user","vpcId"]}}},"opentelekomcloud:index/DrsTaskV3LimitSpeed:DrsTaskV3LimitSpeed":{"properties":{"endTime":{"type":"string","description":"Specifies the time to end speed limit, this time is UTC time. The input must\nend at 59 minutes, the format is `hh:mm`, for example: 15:59. Changing this parameter will create a new resource.\n"},"speed":{"type":"string","description":"Specifies the transmission speed, the value range is 1 to 9999, unit: `MB/s`.\nChanging this parameter will create a new resource.\n"},"startTime":{"type":"string","description":"Specifies the time to start speed limit, this time is UTC time. The start\ntime is the whole hour, if there is a minute, it will be ignored, the format is `hh:mm`, and the hour number\nis two digits, for example: 01:00. Changing this parameter will create a new resource.\n"}},"type":"object","required":["endTime","speed","startTime"]},"opentelekomcloud:index/DrsTaskV3SourceDb:DrsTaskV3SourceDb":{"properties":{"engineType":{"type":"string","description":"Specifies the migration engine type.\nChanging this parameter will create a new resource. The options are as follows:\n+ **mysql**:  MySQL migration, MySQL synchronization use.\n+ **mongodb**: Mongodb migration use.\n+ **cloudDataGuard-mysql**: Disaster recovery use.\n+ **gaussdbv5**: GaussDB (for openGauss) synchronization use.\n+ **mysql-to-kafka**: Synchronization from MySQL to Kafka use.\n+ **taurus-to-kafka**: Synchronization from GaussDB(for MySQL) to Kafka use.\n+ **gaussdbv5ha-to-kafka**: Synchronization from GaussDB primary/standby to Kafka use.\n+ **postgresql**: Synchronization from PostgreSQL to PostgreSQL use.\n"},"instanceId":{"type":"string","description":"Specifies the instance id of database when it is a RDS database.\nChanging this parameter will create a new resource.\n"},"ip":{"type":"string","description":"Specifies the IP of database. Changing this parameter will create a new resource.\n"},"name":{"type":"string","description":"Specifies the job name. The name consists of 4 to 50 characters, starting with\na letter. Only letters, digits, underscores (\\_) and hyphens (-) are allowed.\n"},"password":{"type":"string","description":"Specifies the password of database.\nChanging this parameter will create a new resource.\n","secret":true},"port":{"type":"number","description":"Specifies the port of database. Changing this parameter will create a new resource.\n"},"privateIp":{"type":"string","description":"Private IP.\n"},"region":{"type":"string","description":"The region in which to create the resource.\n"},"sslCertCheckSum":{"type":"string","description":"Specifies the checksum of SSL certificate content.\nIt is mandatory when \u003cspan pulumi-lang-nodejs=\"`sslEnabled`\" pulumi-lang-dotnet=\"`SslEnabled`\" pulumi-lang-go=\"`sslEnabled`\" pulumi-lang-python=\"`ssl_enabled`\" pulumi-lang-yaml=\"`sslEnabled`\" pulumi-lang-java=\"`sslEnabled`\"\u003e`ssl_enabled`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this parameter will create a new resource.\n"},"sslCertKey":{"type":"string","description":"Specifies the SSL certificate content, encrypted with base64.\nIt is mandatory when \u003cspan pulumi-lang-nodejs=\"`sslEnabled`\" pulumi-lang-dotnet=\"`SslEnabled`\" pulumi-lang-go=\"`sslEnabled`\" pulumi-lang-python=\"`ssl_enabled`\" pulumi-lang-yaml=\"`sslEnabled`\" pulumi-lang-java=\"`sslEnabled`\"\u003e`ssl_enabled`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this parameter will create a new resource.\n"},"sslCertName":{"type":"string","description":"Specifies SSL certificate name.\nIt is mandatory when \u003cspan pulumi-lang-nodejs=\"`sslEnabled`\" pulumi-lang-dotnet=\"`SslEnabled`\" pulumi-lang-go=\"`sslEnabled`\" pulumi-lang-python=\"`ssl_enabled`\" pulumi-lang-yaml=\"`sslEnabled`\" pulumi-lang-java=\"`sslEnabled`\"\u003e`ssl_enabled`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this parameter will create a new resource.\n"},"sslCertPassword":{"type":"string","description":"Specifies SSL certificate password. It is mandatory when\n\u003cspan pulumi-lang-nodejs=\"`sslEnabled`\" pulumi-lang-dotnet=\"`SslEnabled`\" pulumi-lang-go=\"`sslEnabled`\" pulumi-lang-python=\"`ssl_enabled`\" pulumi-lang-yaml=\"`sslEnabled`\" pulumi-lang-java=\"`sslEnabled`\"\u003e`ssl_enabled`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and the certificate file suffix is `.p12`. Changing this parameter will create a new resource.\n"},"sslEnabled":{"type":"boolean","description":"Specifies whether to enable SSL connection.\nChanging this parameter will create a new resource.\n"},"subnetId":{"type":"string","description":"The subnet ID to which the DRS instance belongs.\n"},"user":{"type":"string","description":"Specifies the user name of database.\nChanging this parameter will create a new resource.\n"},"vpcId":{"type":"string","description":"The VPC ID to which the DRS instance belongs.\n"}},"type":"object","required":["engineType","ip","password","port","user"],"language":{"nodejs":{"requiredOutputs":["engineType","ip","name","password","port","privateIp","region","user","vpcId"]}}},"opentelekomcloud:index/DrsTaskV3Timeouts:DrsTaskV3Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/DwsClusterV1Endpoint:DwsClusterV1Endpoint":{"properties":{"connectInfo":{"type":"string","description":"(Optional, String) Private network connection information.\n"},"jdbcUrl":{"type":"string","description":"(Optional, String)\nJDBC URL. The following is the default format:\njdbc:postgresql://\u003c public_connect_info\u003e/\u003cYOUR_DATABASE_NAME\u003e\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["connectInfo","jdbcUrl"]}}},"opentelekomcloud:index/DwsClusterV1PublicEndpoint:DwsClusterV1PublicEndpoint":{"properties":{"jdbcUrl":{"type":"string","description":"(Optional, String)\nJDBC URL. The following is the default format:\njdbc:postgresql://\u003c public_connect_info\u003e/\u003cYOUR_DATABASE_NAME\u003e\n"},"publicConnectInfo":{"type":"string","description":"(Optional, String)\nPublic network connection information.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["jdbcUrl","publicConnectInfo"]}}},"opentelekomcloud:index/DwsClusterV1PublicIp:DwsClusterV1PublicIp":{"properties":{"eipId":{"type":"string","description":"EIP ID.\n"},"publicBindType":{"type":"string","description":"Binding type of an EIP. The value can be either of the following:\n\u003cspan pulumi-lang-nodejs=\"`autoAssign`\" pulumi-lang-dotnet=\"`AutoAssign`\" pulumi-lang-go=\"`autoAssign`\" pulumi-lang-python=\"`auto_assign`\" pulumi-lang-yaml=\"`autoAssign`\" pulumi-lang-java=\"`autoAssign`\"\u003e`auto_assign`\u003c/span\u003e \u003cspan pulumi-lang-nodejs=\"`notUse`\" pulumi-lang-dotnet=\"`NotUse`\" pulumi-lang-go=\"`notUse`\" pulumi-lang-python=\"`not_use`\" pulumi-lang-yaml=\"`notUse`\" pulumi-lang-java=\"`notUse`\"\u003e`not_use`\u003c/span\u003e \u003cspan pulumi-lang-nodejs=\"`bindExisting`\" pulumi-lang-dotnet=\"`BindExisting`\" pulumi-lang-go=\"`bindExisting`\" pulumi-lang-python=\"`bind_existing`\" pulumi-lang-yaml=\"`bindExisting`\" pulumi-lang-java=\"`bindExisting`\"\u003e`bind_existing`\u003c/span\u003e The default value is \u003cspan pulumi-lang-nodejs=\"`notUse`\" pulumi-lang-dotnet=\"`NotUse`\" pulumi-lang-go=\"`notUse`\" pulumi-lang-python=\"`not_use`\" pulumi-lang-yaml=\"`notUse`\" pulumi-lang-java=\"`notUse`\"\u003e`not_use`\u003c/span\u003e.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["eipId","publicBindType"]}}},"opentelekomcloud:index/DwsClusterV1Timeouts:DwsClusterV1Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/EcsInstanceV1DataDisk:EcsInstanceV1DataDisk":{"properties":{"id":{"type":"string"},"kmsId":{"type":"string","description":"The Encryption KMS ID of the data disk. Changing this\ncreates a new server.\n"},"size":{"type":"number","description":"The size of the data disk in GB. The value range is 10 to 32768.\nChanging this creates a new server.\n"},"snapshotId":{"type":"string","description":"Specifies the snapshot ID or ID of the original data disk contained in the full-ECS image.\nChanging this creates a new server.\n"},"type":{"type":"string","description":"The data disk type of the server.\nChanging this creates a new server. Options are limited depending on AZ. Available options are:\n* `SATA`: common I/O disk type. Available for all AZs.\n* `SAS`: high I/O disk type. Available for all AZs.\n* `SSD`: ultra-high I/O disk type. Available for all AZs.\n* `GPSSD`: the general purpose SSD type\n* `ESSD`: extreme SSD disk type.\n\n\u003e **NOTE:**\nCommon I/O (SATA) will reach end of life, end of 2025.\n"}},"type":"object","required":["size","type"],"language":{"nodejs":{"requiredOutputs":["id","size","type"]}}},"opentelekomcloud:index/EcsInstanceV1Metadata:EcsInstanceV1Metadata":{"properties":{"agencyName":{"type":"string","description":"Association to an agency\n"}},"type":"object"},"opentelekomcloud:index/EcsInstanceV1Nic:EcsInstanceV1Nic":{"properties":{"ipAddress":{"type":"string","description":"Specifies a fixed IPv4 address to be used on this\nnetwork. Changing this creates a new server.\n"},"ipv6Address":{"type":"string"},"ipv6Enable":{"type":"boolean","description":"Specifies whether to support IPv6 addresses. If this parameter is set to true, the NIC supports IPv6 addresses.\n\n\u003e **NOTE:**\nIPV6 enable requires the subnet to have IPV6 enabled as well.\n"},"macAddress":{"type":"string"},"networkId":{"type":"string","description":"The network UUID to attach to the server. Changing this creates a new server.\n"},"portId":{"type":"string"},"type":{"type":"string","description":"The data disk type of the server.\nChanging this creates a new server. Options are limited depending on AZ. Available options are:\n* `SATA`: common I/O disk type. Available for all AZs.\n* `SAS`: high I/O disk type. Available for all AZs.\n* `SSD`: ultra-high I/O disk type. Available for all AZs.\n* `GPSSD`: the general purpose SSD type\n* `ESSD`: extreme SSD disk type.\n\n\u003e **NOTE:**\nCommon I/O (SATA) will reach end of life, end of 2025.\n"}},"type":"object","required":["networkId"],"language":{"nodejs":{"requiredOutputs":["ipAddress","ipv6Address","macAddress","networkId","portId","type"]}}},"opentelekomcloud:index/EcsInstanceV1OsSchedulerHint:EcsInstanceV1OsSchedulerHint":{"properties":{"dedicatedHostId":{"type":"string","description":"Specifies the dedicated host ID. A Dedicated Host ID takes effect only when \u003cspan pulumi-lang-nodejs=\"`tenancy`\" pulumi-lang-dotnet=\"`Tenancy`\" pulumi-lang-go=\"`tenancy`\" pulumi-lang-python=\"`tenancy`\" pulumi-lang-yaml=\"`tenancy`\" pulumi-lang-java=\"`tenancy`\"\u003e`tenancy`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`dedicated`\" pulumi-lang-dotnet=\"`Dedicated`\" pulumi-lang-go=\"`dedicated`\" pulumi-lang-python=\"`dedicated`\" pulumi-lang-yaml=\"`dedicated`\" pulumi-lang-java=\"`dedicated`\"\u003e`dedicated`\u003c/span\u003e.\n"},"group":{"type":"string","description":"Specifies the ECS group ID in UUID format.\n"},"tenancy":{"type":"string","description":"Creates ECSs on a dedicated or shared host. Available options are: `dedicated ` or \u003cspan pulumi-lang-nodejs=\"`shared`\" pulumi-lang-dotnet=\"`Shared`\" pulumi-lang-go=\"`shared`\" pulumi-lang-python=\"`shared`\" pulumi-lang-yaml=\"`shared`\" pulumi-lang-java=\"`shared`\"\u003e`shared`\u003c/span\u003e.\n"}},"type":"object"},"opentelekomcloud:index/EcsInstanceV1Timeouts:EcsInstanceV1Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/EcsInstanceV1VolumesAttached:EcsInstanceV1VolumesAttached":{"properties":{"id":{"type":"string"},"kmsId":{"type":"string","description":"The Encryption KMS ID of the data disk. Changing this\ncreates a new server.\n"},"size":{"type":"number","description":"The size of the data disk in GB. The value range is 10 to 32768.\nChanging this creates a new server.\n"},"snapshotId":{"type":"string","description":"Specifies the snapshot ID or ID of the original data disk contained in the full-ECS image.\nChanging this creates a new server.\n"},"type":{"type":"string","description":"The data disk type of the server.\nChanging this creates a new server. Options are limited depending on AZ. Available options are:\n* `SATA`: common I/O disk type. Available for all AZs.\n* `SAS`: high I/O disk type. Available for all AZs.\n* `SSD`: ultra-high I/O disk type. Available for all AZs.\n* `GPSSD`: the general purpose SSD type\n* `ESSD`: extreme SSD disk type.\n\n\u003e **NOTE:**\nCommon I/O (SATA) will reach end of life, end of 2025.\n"}},"type":"object","required":["id","kmsId","size","snapshotId","type"]},"opentelekomcloud:index/EnterpriseVpnConnectionV5Ikepolicy:EnterpriseVpnConnectionV5Ikepolicy":{"properties":{"authenticationAlgorithm":{"type":"string"},"authenticationMethod":{"type":"string"},"dhGroup":{"type":"string"},"dpd":{"$ref":"#/types/opentelekomcloud:index%2FEnterpriseVpnConnectionV5IkepolicyDpd:EnterpriseVpnConnectionV5IkepolicyDpd"},"encryptionAlgorithm":{"type":"string"},"ikeVersion":{"type":"string"},"lifetimeSeconds":{"type":"number"},"localId":{"type":"string"},"localIdType":{"type":"string"},"peerId":{"type":"string"},"peerIdType":{"type":"string"},"phaseOneNegotiationMode":{"type":"string"}},"type":"object","language":{"nodejs":{"requiredOutputs":["authenticationAlgorithm","authenticationMethod","dhGroup","encryptionAlgorithm","ikeVersion","lifetimeSeconds","localId","localIdType","peerId","peerIdType","phaseOneNegotiationMode"]}}},"opentelekomcloud:index/EnterpriseVpnConnectionV5IkepolicyDpd:EnterpriseVpnConnectionV5IkepolicyDpd":{"properties":{"interval":{"type":"number"},"msg":{"type":"string"},"timeout":{"type":"number"}},"type":"object","language":{"nodejs":{"requiredOutputs":["interval","msg","timeout"]}}},"opentelekomcloud:index/EnterpriseVpnConnectionV5Ipsecpolicy:EnterpriseVpnConnectionV5Ipsecpolicy":{"properties":{"authenticationAlgorithm":{"type":"string"},"encapsulationMode":{"type":"string"},"encryptionAlgorithm":{"type":"string"},"lifetimeSeconds":{"type":"number"},"pfs":{"type":"string"},"transformProtocol":{"type":"string"}},"type":"object","language":{"nodejs":{"requiredOutputs":["authenticationAlgorithm","encapsulationMode","encryptionAlgorithm","lifetimeSeconds","pfs","transformProtocol"]}}},"opentelekomcloud:index/EnterpriseVpnConnectionV5PolicyRule:EnterpriseVpnConnectionV5PolicyRule":{"properties":{"destinations":{"type":"array","items":{"type":"string"}},"source":{"type":"string"}},"type":"object","language":{"nodejs":{"requiredOutputs":["destinations","source"]}}},"opentelekomcloud:index/EnterpriseVpnConnectionV5Timeouts:EnterpriseVpnConnectionV5Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/EnterpriseVpnGatewayV5Eip1:EnterpriseVpnGatewayV5Eip1":{"properties":{"bandwidthId":{"type":"string"},"bandwidthName":{"type":"string"},"bandwidthSize":{"type":"number"},"chargeMode":{"type":"string"},"id":{"type":"string"},"ipAddress":{"type":"string"},"ipVersion":{"type":"number"},"type":{"type":"string"}},"type":"object","language":{"nodejs":{"requiredOutputs":["bandwidthId","bandwidthName","bandwidthSize","chargeMode","id","ipAddress","ipVersion","type"]}}},"opentelekomcloud:index/EnterpriseVpnGatewayV5Eip2:EnterpriseVpnGatewayV5Eip2":{"properties":{"bandwidthId":{"type":"string"},"bandwidthName":{"type":"string"},"bandwidthSize":{"type":"number"},"chargeMode":{"type":"string"},"id":{"type":"string"},"ipAddress":{"type":"string"},"ipVersion":{"type":"number"},"type":{"type":"string"}},"type":"object","language":{"nodejs":{"requiredOutputs":["bandwidthId","bandwidthName","bandwidthSize","chargeMode","id","ipAddress","ipVersion","type"]}}},"opentelekomcloud:index/EnterpriseVpnGatewayV5Timeouts:EnterpriseVpnGatewayV5Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/ErAssociationV3Timeouts:ErAssociationV3Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/ErFlowLogV3Timeouts:ErFlowLogV3Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/ErInstanceV3Timeouts:ErInstanceV3Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/ErPropagationV3Timeouts:ErPropagationV3Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/ErRouteTableV3Timeouts:ErRouteTableV3Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/ErStaticRouteV3Timeouts:ErStaticRouteV3Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/ErVpcAttachmentV3Timeouts:ErVpcAttachmentV3Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/EvsVolumeV3Attachment:EvsVolumeV3Attachment":{"properties":{"device":{"type":"string"},"id":{"type":"string"},"instanceId":{"type":"string"}},"type":"object","required":["device","id","instanceId"]},"opentelekomcloud:index/EvsVolumeV3Timeouts:EvsVolumeV3Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/FgsAsyncInvokeConfigV2OnFailure:FgsAsyncInvokeConfigV2OnFailure":{"properties":{"destination":{"type":"string","description":"Specifies the object type.\nThe valid values are as follows:\n+ **OBS**\n+ **SMN**\n+ **DIS**\n+ **FunctionGraph**\n"},"param":{"type":"string","description":"Specifies the parameters (map object in JSON format) corresponding to the target service.\n+ The **OBS** objects include: \u003cspan pulumi-lang-nodejs=\"`bucket`\" pulumi-lang-dotnet=\"`Bucket`\" pulumi-lang-go=\"`bucket`\" pulumi-lang-python=\"`bucket`\" pulumi-lang-yaml=\"`bucket`\" pulumi-lang-java=\"`bucket`\"\u003e`bucket`\u003c/span\u003e (bucket name), \u003cspan pulumi-lang-nodejs=\"`prefix`\" pulumi-lang-dotnet=\"`Prefix`\" pulumi-lang-go=\"`prefix`\" pulumi-lang-python=\"`prefix`\" pulumi-lang-yaml=\"`prefix`\" pulumi-lang-java=\"`prefix`\"\u003e`prefix`\u003c/span\u003e (object directory prefix) and \u003cspan pulumi-lang-nodejs=\"`expires`\" pulumi-lang-dotnet=\"`Expires`\" pulumi-lang-go=\"`expires`\" pulumi-lang-python=\"`expires`\" pulumi-lang-yaml=\"`expires`\" pulumi-lang-java=\"`expires`\"\u003e`expires`\u003c/span\u003e (object\nexpiration time, the valid value ranges from \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`365`\" pulumi-lang-dotnet=\"`365`\" pulumi-lang-go=\"`365`\" pulumi-lang-python=\"`365`\" pulumi-lang-yaml=\"`365`\" pulumi-lang-java=\"`365`\"\u003e`365`\u003c/span\u003e. If the value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e, the object will not expire.).\n+ The **SMN** objects include: \u003cspan pulumi-lang-nodejs=\"`topicUrn`\" pulumi-lang-dotnet=\"`TopicUrn`\" pulumi-lang-go=\"`topicUrn`\" pulumi-lang-python=\"`topic_urn`\" pulumi-lang-yaml=\"`topicUrn`\" pulumi-lang-java=\"`topicUrn`\"\u003e`topic_urn`\u003c/span\u003e.\n+ The **DIS** objects include: \u003cspan pulumi-lang-nodejs=\"`streamName`\" pulumi-lang-dotnet=\"`StreamName`\" pulumi-lang-go=\"`streamName`\" pulumi-lang-python=\"`stream_name`\" pulumi-lang-yaml=\"`streamName`\" pulumi-lang-java=\"`streamName`\"\u003e`stream_name`\u003c/span\u003e.\n+ The **FunctionGraph** objects include: \u003cspan pulumi-lang-nodejs=\"`funcUrn`\" pulumi-lang-dotnet=\"`FuncUrn`\" pulumi-lang-go=\"`funcUrn`\" pulumi-lang-python=\"`func_urn`\" pulumi-lang-yaml=\"`funcUrn`\" pulumi-lang-java=\"`funcUrn`\"\u003e`func_urn`\u003c/span\u003e (function URN).\n\n\u003e If you enable the destination function, you must ensure that the agent contains the operation authority of the\ncorresponding service.\n"}},"type":"object","required":["destination","param"]},"opentelekomcloud:index/FgsAsyncInvokeConfigV2OnSuccess:FgsAsyncInvokeConfigV2OnSuccess":{"properties":{"destination":{"type":"string","description":"Specifies the object type.\nThe valid values are as follows:\n+ **OBS**\n+ **SMN**\n+ **DIS**\n+ **FunctionGraph**\n"},"param":{"type":"string","description":"Specifies the parameters (map object in JSON format) corresponding to the target service.\n+ The **OBS** objects include: \u003cspan pulumi-lang-nodejs=\"`bucket`\" pulumi-lang-dotnet=\"`Bucket`\" pulumi-lang-go=\"`bucket`\" pulumi-lang-python=\"`bucket`\" pulumi-lang-yaml=\"`bucket`\" pulumi-lang-java=\"`bucket`\"\u003e`bucket`\u003c/span\u003e (bucket name), \u003cspan pulumi-lang-nodejs=\"`prefix`\" pulumi-lang-dotnet=\"`Prefix`\" pulumi-lang-go=\"`prefix`\" pulumi-lang-python=\"`prefix`\" pulumi-lang-yaml=\"`prefix`\" pulumi-lang-java=\"`prefix`\"\u003e`prefix`\u003c/span\u003e (object directory prefix) and \u003cspan pulumi-lang-nodejs=\"`expires`\" pulumi-lang-dotnet=\"`Expires`\" pulumi-lang-go=\"`expires`\" pulumi-lang-python=\"`expires`\" pulumi-lang-yaml=\"`expires`\" pulumi-lang-java=\"`expires`\"\u003e`expires`\u003c/span\u003e (object\nexpiration time, the valid value ranges from \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`365`\" pulumi-lang-dotnet=\"`365`\" pulumi-lang-go=\"`365`\" pulumi-lang-python=\"`365`\" pulumi-lang-yaml=\"`365`\" pulumi-lang-java=\"`365`\"\u003e`365`\u003c/span\u003e. If the value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e, the object will not expire.).\n+ The **SMN** objects include: \u003cspan pulumi-lang-nodejs=\"`topicUrn`\" pulumi-lang-dotnet=\"`TopicUrn`\" pulumi-lang-go=\"`topicUrn`\" pulumi-lang-python=\"`topic_urn`\" pulumi-lang-yaml=\"`topicUrn`\" pulumi-lang-java=\"`topicUrn`\"\u003e`topic_urn`\u003c/span\u003e.\n+ The **DIS** objects include: \u003cspan pulumi-lang-nodejs=\"`streamName`\" pulumi-lang-dotnet=\"`StreamName`\" pulumi-lang-go=\"`streamName`\" pulumi-lang-python=\"`stream_name`\" pulumi-lang-yaml=\"`streamName`\" pulumi-lang-java=\"`streamName`\"\u003e`stream_name`\u003c/span\u003e.\n+ The **FunctionGraph** objects include: \u003cspan pulumi-lang-nodejs=\"`funcUrn`\" pulumi-lang-dotnet=\"`FuncUrn`\" pulumi-lang-go=\"`funcUrn`\" pulumi-lang-python=\"`func_urn`\" pulumi-lang-yaml=\"`funcUrn`\" pulumi-lang-java=\"`funcUrn`\"\u003e`func_urn`\u003c/span\u003e (function URN).\n\n\u003e If you enable the destination function, you must ensure that the agent contains the operation authority of the\ncorresponding service.\n"}},"type":"object","required":["destination","param"]},"opentelekomcloud:index/FgsFunctionV2CustomImage:FgsFunctionV2CustomImage":{"properties":{"args":{"type":"string","description":"Specifies the command line arguments used to start the SWR image.\nIf multiple arguments are separated by commas (,). e.g. `-args,value`.\nIf this parameter is not specified, the CMD in the image configuration will be used by default.\n"},"command":{"type":"string","description":"Specifies the startup commands of the SWR image.\nMultiple commands are separated by commas (,). e.g. `/bin/sh`.\nIf this parameter is not specified, the entrypoint or CMD in the image configuration will be used by default.\n"},"url":{"type":"string","description":"Specifies the URL of SWR image, the URL must start with `swr.`.\n"},"userGroupId":{"type":"string"},"userId":{"type":"string"},"workingDir":{"type":"string","description":"Specifies the working directory of the SWR image.\nIf not specified, the default value is `/`.\nCurrently, the folder path can only be set to `/` and it cannot be created or modified.\n"}},"type":"object","required":["url"],"language":{"nodejs":{"requiredOutputs":["url","workingDir"]}}},"opentelekomcloud:index/FgsFunctionV2FuncMount:FgsFunctionV2FuncMount":{"properties":{"localMountPath":{"type":"string","description":"Specifies the function access path.\n"},"mountResource":{"type":"string","description":"Specifies the ID of the mounted resource (corresponding cloud service).\n"},"mountSharePath":{"type":"string","description":"Specifies the remote mount path. Example: 192.168.0.12:/data.\n"},"mountType":{"type":"string","description":"Specifies the mount type.\n+ **sfs**\n+ **sfsTurbo**\n+ **ecs**\n"}},"type":"object","required":["localMountPath","mountResource","mountSharePath","mountType"]},"opentelekomcloud:index/FgsFunctionV2NetworkController:FgsFunctionV2NetworkController":{"properties":{"disablePublicNetwork":{"type":"boolean","description":"Specifies whether to disable the public network access.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"functionNetworkControllerTriggerAccessVpcs\"\" pulumi-lang-dotnet=\"\"FunctionNetworkControllerTriggerAccessVpcs\"\" pulumi-lang-go=\"\"functionNetworkControllerTriggerAccessVpcs\"\" pulumi-lang-python=\"\"function_network_controller_trigger_access_vpcs\"\" pulumi-lang-yaml=\"\"functionNetworkControllerTriggerAccessVpcs\"\" pulumi-lang-java=\"\"functionNetworkControllerTriggerAccessVpcs\"\"\u003e\"function_network_controller_trigger_access_vpcs\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`triggerAccessVpcs`\" pulumi-lang-dotnet=\"`TriggerAccessVpcs`\" pulumi-lang-go=\"`triggerAccessVpcs`\" pulumi-lang-python=\"`trigger_access_vpcs`\" pulumi-lang-yaml=\"`triggerAccessVpcs`\" pulumi-lang-java=\"`triggerAccessVpcs`\"\u003e`trigger_access_vpcs`\u003c/span\u003e block supports:\n"},"triggerAccessVpcs":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FFgsFunctionV2NetworkControllerTriggerAccessVpc:FgsFunctionV2NetworkControllerTriggerAccessVpc"},"description":"Specifies the configuration of the VPCs that can trigger the function.\nThe\u003cspan pulumi-lang-nodejs=\" triggerAccessVpcs \" pulumi-lang-dotnet=\" TriggerAccessVpcs \" pulumi-lang-go=\" triggerAccessVpcs \" pulumi-lang-python=\" trigger_access_vpcs \" pulumi-lang-yaml=\" triggerAccessVpcs \" pulumi-lang-java=\" triggerAccessVpcs \"\u003e trigger_access_vpcs \u003c/span\u003estructure is documented below.\n"}},"type":"object"},"opentelekomcloud:index/FgsFunctionV2NetworkControllerTriggerAccessVpc:FgsFunctionV2NetworkControllerTriggerAccessVpc":{"properties":{"vpcId":{"type":"string","description":"Specifies the ID of VPC.\n"},"vpcName":{"type":"string","description":"Specifies the name of the VPC that can trigger the function.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["vpcId","vpcName"]}}},"opentelekomcloud:index/FgsFunctionV2ReservedInstance:FgsFunctionV2ReservedInstance":{"properties":{"count":{"type":"number","description":"Specifies the number of reserved instance.\nThe valid value ranges from \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e to `1,000`.\nIf this parameter is set to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e, the reserved instance will not run.\n"},"idleMode":{"type":"boolean","description":"Specifies whether to enable the idle mode. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\nIf this parameter is enabled, reserved instances are initialized and the mode change needs some time to take effect.\nYou will still be billed at the price of reserved instances for non-idle mode in this period.\n"},"qualifierName":{"type":"string","description":"Specifies the version name or alias name.\n"},"qualifierType":{"type":"string","description":"Specifies qualifier type of reserved instance. The valid values are as follows:\n+ **version**\n+ **alias**\n\n\u003e Reserved instances cannot be configured for both a function alias and the corresponding version. For example,\nif the alias of the \u003cspan pulumi-lang-nodejs=\"`latest`\" pulumi-lang-dotnet=\"`Latest`\" pulumi-lang-go=\"`latest`\" pulumi-lang-python=\"`latest`\" pulumi-lang-yaml=\"`latest`\" pulumi-lang-java=\"`latest`\"\u003e`latest`\u003c/span\u003e version is `1.0` and reserved instances have been configured for this version,\nno more instances can be configured for alias `1.0`.\n"},"tacticsConfig":{"$ref":"#/types/opentelekomcloud:index%2FFgsFunctionV2ReservedInstanceTacticsConfig:FgsFunctionV2ReservedInstanceTacticsConfig","description":"Specifies the auto scaling policies for reserved instance.\nThe \u003cspan pulumi-lang-nodejs=\"`tacticsConfig`\" pulumi-lang-dotnet=\"`TacticsConfig`\" pulumi-lang-go=\"`tacticsConfig`\" pulumi-lang-python=\"`tactics_config`\" pulumi-lang-yaml=\"`tacticsConfig`\" pulumi-lang-java=\"`tacticsConfig`\"\u003e`tactics_config`\u003c/span\u003e structure is documented below.\n"}},"type":"object","required":["count","qualifierName","qualifierType"]},"opentelekomcloud:index/FgsFunctionV2ReservedInstanceTacticsConfig:FgsFunctionV2ReservedInstanceTacticsConfig":{"properties":{"cronConfigs":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FFgsFunctionV2ReservedInstanceTacticsConfigCronConfig:FgsFunctionV2ReservedInstanceTacticsConfigCronConfig"},"description":"Specifies the list of scheduled policy configurations.\nThe \u003cspan pulumi-lang-nodejs=\"`cronConfigs`\" pulumi-lang-dotnet=\"`CronConfigs`\" pulumi-lang-go=\"`cronConfigs`\" pulumi-lang-python=\"`cron_configs`\" pulumi-lang-yaml=\"`cronConfigs`\" pulumi-lang-java=\"`cronConfigs`\"\u003e`cron_configs`\u003c/span\u003e structure is documented below.\n"}},"type":"object"},"opentelekomcloud:index/FgsFunctionV2ReservedInstanceTacticsConfigCronConfig:FgsFunctionV2ReservedInstanceTacticsConfigCronConfig":{"properties":{"count":{"type":"number","description":"Specifies the number of reserved instance to which the policy belongs.\nThe valid value ranges from \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e to `1,000`.\n\n\u003e The number of reserved instances must be greater than or equal to the number of reserved instances in the basic configuration.\n"},"cron":{"type":"string","description":"Specifies the cron expression.\n"},"expiredTime":{"type":"number","description":"Specifies the expiration timestamp of the policy. The unit is \u003cspan pulumi-lang-nodejs=\"`s`\" pulumi-lang-dotnet=\"`S`\" pulumi-lang-go=\"`s`\" pulumi-lang-python=\"`s`\" pulumi-lang-yaml=\"`s`\" pulumi-lang-java=\"`s`\"\u003e`s`\u003c/span\u003e, e.g. **1740560074**.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"functionNetworkController\"\" pulumi-lang-dotnet=\"\"FunctionNetworkController\"\" pulumi-lang-go=\"\"functionNetworkController\"\" pulumi-lang-python=\"\"function_network_controller\"\" pulumi-lang-yaml=\"\"functionNetworkController\"\" pulumi-lang-java=\"\"functionNetworkController\"\"\u003e\"function_network_controller\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`networkController`\" pulumi-lang-dotnet=\"`NetworkController`\" pulumi-lang-go=\"`networkController`\" pulumi-lang-python=\"`network_controller`\" pulumi-lang-yaml=\"`networkController`\" pulumi-lang-java=\"`networkController`\"\u003e`network_controller`\u003c/span\u003e block supports:\n"},"name":{"type":"string","description":"Specifies the name of scheduled policy configuration.\nThe valid length is limited from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e characters, only letters, digits, hyphens (-), and underscores (_) are allowed.\nThe name must start with a letter and ending with a letter or digit.\n"},"startTime":{"type":"number","description":"Specifies the effective timestamp of policy. The unit is \u003cspan pulumi-lang-nodejs=\"`s`\" pulumi-lang-dotnet=\"`S`\" pulumi-lang-go=\"`s`\" pulumi-lang-python=\"`s`\" pulumi-lang-yaml=\"`s`\" pulumi-lang-java=\"`s`\"\u003e`s`\u003c/span\u003e, e.g. **1740560074**.\n"}},"type":"object","required":["count","cron","expiredTime","name","startTime"]},"opentelekomcloud:index/FgsFunctionV2Timeouts:FgsFunctionV2Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/FgsFunctionV2Version:FgsFunctionV2Version":{"properties":{"aliases":{"$ref":"#/types/opentelekomcloud:index%2FFgsFunctionV2VersionAliases:FgsFunctionV2VersionAliases","description":"Specifies the aliases management for specified version.\nThe \u003cspan pulumi-lang-nodejs=\"`aliases`\" pulumi-lang-dotnet=\"`Aliases`\" pulumi-lang-go=\"`aliases`\" pulumi-lang-python=\"`aliases`\" pulumi-lang-yaml=\"`aliases`\" pulumi-lang-java=\"`aliases`\"\u003e`aliases`\u003c/span\u003e structure is documented below.\n"},"description":{"type":"string","description":"Specifies the description of the function.\n"},"name":{"type":"string","description":"Specifies the version name.\n\n\u003e Currently, only supports the management of the default version (**latest**).\n"}},"type":"object","required":["name"]},"opentelekomcloud:index/FgsFunctionV2VersionAliases:FgsFunctionV2VersionAliases":{"properties":{"description":{"type":"string","description":"Specifies the description of the version alias.\n"},"name":{"type":"string","description":"Specifies the name of the version alias.\n"}},"type":"object","required":["name"]},"opentelekomcloud:index/FgsTriggerV2Timeouts:FgsTriggerV2Timeouts":{"properties":{"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/FwFirewallGroupV2Timeouts:FwFirewallGroupV2Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/FwPolicyV2Timeouts:FwPolicyV2Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/GaussdbMysqlInstanceV3BackupStrategy:GaussdbMysqlInstanceV3BackupStrategy":{"properties":{"keepDays":{"type":"string","description":"Specifies the number of days to retain the generated backup files. The value ranges from\n0 to 35. If this parameter is set to 0, the automated backup policy is not set. If this parameter is not transferred,\nthe automated backup policy is enabled by default. Backup files are stored for seven days by default.\n"},"startTime":{"type":"string","description":"Specifies the backup time window. Automated backups will be triggered during the\nbackup time window. It must be a valid value in the \"hh:mm-HH:MM\" format. The current time is in the UTC format. The\nHH value must be 1 greater than the hh value. The values of mm and MM must be the same and must be set to 00. Example\nvalue: 08:00-09:00, 03:00-04:00.\n"}},"type":"object","required":["startTime"]},"opentelekomcloud:index/GaussdbMysqlInstanceV3Datastore:GaussdbMysqlInstanceV3Datastore":{"properties":{"engine":{"type":"string","description":"Specifies the database engine. Only \"gaussdb-mysql\" is supported now.\n"},"version":{"type":"string","description":"Specifies the database version. Only \"8.0\" is supported now.\n"}},"type":"object","required":["engine"],"language":{"nodejs":{"requiredOutputs":["engine","version"]}}},"opentelekomcloud:index/GaussdbMysqlInstanceV3Node:GaussdbMysqlInstanceV3Node":{"properties":{"azCode":{"type":"string","description":"Indicates the availability zone where the node resides.\n"},"created":{"type":"string","description":"Indicates the created time of the DB node.\n"},"flavorRef":{"type":"string","description":"Indicates the specification code of DB node.\n"},"id":{"type":"string","description":"Indicates the node ID.\n"},"maxConnections":{"type":"string","description":"Indicates the maximum number of connections of DB node.\n"},"name":{"type":"string","description":"Specifies the instance name, which can be the same as an existing instance name. The value\nmust be 4 to 64 characters in length and start with a letter. It is case-sensitive and can contain only letters,\ndigits, hyphens (-), and underscores (_).\n"},"needRestart":{"type":"boolean","description":"Indicates whether the reboot of DB instance is needed for the parameter modifications to take effect.\n"},"port":{"type":"number","description":"Indicates the database port.\n"},"priority":{"type":"number","description":"Indicates the failover priority of the DB node.\n"},"privateReadIps":{"type":"array","items":{"type":"string"}},"ram":{"type":"string","description":"Indicates the memory size in GB of the DB node.\n"},"regionCode":{"type":"string","description":"Indicates the region where the node resides.\n"},"status":{"type":"string","description":"Indicates the node status.\n"},"type":{"type":"string","description":"Indicates the node type: master or slave.\n"},"updated":{"type":"string","description":"Indicates the updated time of the DB node.\n"},"vcpus":{"type":"string","description":"Indicates the vCPUs number of DB node.\n"}},"type":"object","required":["azCode","created","flavorRef","id","maxConnections","name","needRestart","port","priority","privateReadIps","ram","regionCode","status","type","updated","vcpus"]},"opentelekomcloud:index/GaussdbMysqlInstanceV3Timeouts:GaussdbMysqlInstanceV3Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/GeminiInstanceV3BackupStrategy:GeminiInstanceV3BackupStrategy":{"properties":{"keepDays":{"type":"number","description":"Specifies the number of days to retain the generated backup files. The value ranges from\n0 to 35. If this parameter is set to 0, the automated backup policy is not set. If this parameter is not transferred,\nthe automated backup policy is enabled by default. Backup files are stored for seven days by default.\n"},"startTime":{"type":"string","description":"Specifies the backup time window. Automated backups will be triggered during the\nbackup time window. It must be a valid value in the \"hh:mm-HH:MM\" format. The current time is in the UTC format. The\nHH value must be 1 greater than the hh value. The values of mm and MM must be the same and must be set to 00. Example\nvalue: 08:00-09:00, 03:00-04:00.\n"}},"type":"object","required":["startTime"],"language":{"nodejs":{"requiredOutputs":["keepDays","startTime"]}}},"opentelekomcloud:index/GeminiInstanceV3Datastore:GeminiInstanceV3Datastore":{"properties":{"engine":{"type":"string","description":"Specifies the database engine. Only \"GeminiDB-Cassandra\" is supported now.\nChanging this parameter will create a new resource.\n"},"storageEngine":{"type":"string","description":"Specifies the storage engine. Only \"rocksDB\" is supported now.\nChanging this parameter will create a new resource.\n"},"version":{"type":"string","description":"Specifies the database version.\nChanging this parameter will create a new resource.\n"}},"type":"object","required":["engine","storageEngine","version"]},"opentelekomcloud:index/GeminiInstanceV3Node:GeminiInstanceV3Node":{"properties":{"id":{"type":"string","description":"Indicates the node ID.\n"},"name":{"type":"string","description":"Specifies the instance name, which can be the same as an existing instance name. The value\nmust be 4 to 64 characters in length and start with a letter. It is case-sensitive and can contain only letters,\ndigits, hyphens (-), and underscores (_).\n"},"privateIp":{"type":"string","description":"Indicates the private IP address of a node.\n"},"status":{"type":"string","description":"Indicates the node status.\n"},"supportReduce":{"type":"boolean","description":"Indicates whether the node support reduce or not.\n"}},"type":"object","required":["id","name","privateIp","status","supportReduce"]},"opentelekomcloud:index/GeminiInstanceV3Timeouts:GeminiInstanceV3Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/GeminiTemplateV3Parameter:GeminiTemplateV3Parameter":{"properties":{"dataType":{"type":"string","description":"The data type of the parameter.\n"},"description":{"type":"string","description":"Specifies the parameter template description. It can contain a\nmaximum of 256 characters. The following special characters are not allowed: `\u003e!\u003c\"\u0026'=`\n"},"name":{"type":"string","description":"Specifies the parameter name.\n"},"needRestart":{"type":"boolean","description":"Indicates whether the instance needs to be restarted after the parameter is modified.\n"},"readonly":{"type":"boolean","description":"Indicates whether the parameter is read-only.\n"},"value":{"type":"string","description":"Specifies the parameter value.\n"},"valueRange":{"type":"string","description":"The value range of the parameter.\n"}},"type":"object","required":["name","value"],"language":{"nodejs":{"requiredOutputs":["dataType","description","name","needRestart","readonly","value","valueRange"]}}},"opentelekomcloud:index/HssHostGroupV5Timeouts:HssHostGroupV5Timeouts":{"properties":{"create":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/HssHostProtectionV5Timeouts:HssHostProtectionV5Timeouts":{"properties":{"create":{"type":"string"}},"type":"object"},"opentelekomcloud:index/IdentityAclV3IpCidr:IdentityAclV3IpCidr":{"properties":{"cidr":{"type":"string","description":"Specifies the IPv4 CIDR block, for example, **192.168.0.0/24**.\n"},"description":{"type":"string","description":"Specifies a description about an IPv4 CIDR block.\n"}},"type":"object","required":["cidr"]},"opentelekomcloud:index/IdentityAclV3IpRange:IdentityAclV3IpRange":{"properties":{"description":{"type":"string","description":"Specifies a description about an IP address range.\n"},"range":{"type":"string","description":"Specifies the Ip address range, for example, **0.0.0.0-255.255.255.0**.\n"}},"type":"object","required":["range"]},"opentelekomcloud:index/IdentityAclV3Ipv6Cidr:IdentityAclV3Ipv6Cidr":{"properties":{"cidr":{"type":"string","description":"Specifies the IPv6 CIDR block, for example, **0000:0000:0000:0000:0000:0000:0000:0000/100**.\n"},"description":{"type":"string","description":"Specifies a description about an IPv6 CIDR block.\n"}},"type":"object","required":["cidr"]},"opentelekomcloud:index/IdentityAclV3Ipv6Range:IdentityAclV3Ipv6Range":{"properties":{"description":{"type":"string","description":"Specifies a description about an IPv6 address range.\n\n\u003e **NOTE:** Up to 200 \u003cspan pulumi-lang-nodejs=\"`ipCidrs`\" pulumi-lang-dotnet=\"`IpCidrs`\" pulumi-lang-go=\"`ipCidrs`\" pulumi-lang-python=\"`ip_cidrs`\" pulumi-lang-yaml=\"`ipCidrs`\" pulumi-lang-java=\"`ipCidrs`\"\u003e`ip_cidrs`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ipRanges`\" pulumi-lang-dotnet=\"`IpRanges`\" pulumi-lang-go=\"`ipRanges`\" pulumi-lang-python=\"`ip_ranges`\" pulumi-lang-yaml=\"`ipRanges`\" pulumi-lang-java=\"`ipRanges`\"\u003e`ip_ranges`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ipv6Cidrs`\" pulumi-lang-dotnet=\"`Ipv6Cidrs`\" pulumi-lang-go=\"`ipv6Cidrs`\" pulumi-lang-python=\"`ipv6_cidrs`\" pulumi-lang-yaml=\"`ipv6Cidrs`\" pulumi-lang-java=\"`ipv6Cidrs`\"\u003e`ipv6_cidrs`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`ipv6Ranges`\" pulumi-lang-dotnet=\"`Ipv6Ranges`\" pulumi-lang-go=\"`ipv6Ranges`\" pulumi-lang-python=\"`ipv6_ranges`\" pulumi-lang-yaml=\"`ipv6Ranges`\" pulumi-lang-java=\"`ipv6Ranges`\"\u003e`ipv6_ranges`\u003c/span\u003e can be created in total for each access method.\n"},"range":{"type":"string","description":"Specifies the IPv6 address range, for example, **0000:0000:0000:0000:0000:0000:0000:0000-FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF**.\n"}},"type":"object","required":["range"]},"opentelekomcloud:index/IdentityAgencyV3ProjectRole:IdentityAgencyV3ProjectRole":{"properties":{"allProjects":{"type":"boolean","description":"Whether roles are applied to all projects.\nEither \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`allProjects`\" pulumi-lang-dotnet=\"`AllProjects`\" pulumi-lang-go=\"`allProjects`\" pulumi-lang-python=\"`all_projects`\" pulumi-lang-yaml=\"`allProjects`\" pulumi-lang-java=\"`allProjects`\"\u003e`all_projects`\u003c/span\u003e must be provided to specify single \u003cspan pulumi-lang-nodejs=\"`projectRole`\" pulumi-lang-dotnet=\"`ProjectRole`\" pulumi-lang-go=\"`projectRole`\" pulumi-lang-python=\"`project_role`\" pulumi-lang-yaml=\"`projectRole`\" pulumi-lang-java=\"`projectRole`\"\u003e`project_role`\u003c/span\u003e element.\n\n\u003e **Note**: One or both of \u003cspan pulumi-lang-nodejs=\"`projectRole`\" pulumi-lang-dotnet=\"`ProjectRole`\" pulumi-lang-go=\"`projectRole`\" pulumi-lang-python=\"`project_role`\" pulumi-lang-yaml=\"`projectRole`\" pulumi-lang-java=\"`projectRole`\"\u003e`project_role`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`domainRoles`\" pulumi-lang-dotnet=\"`DomainRoles`\" pulumi-lang-go=\"`domainRoles`\" pulumi-lang-python=\"`domain_roles`\" pulumi-lang-yaml=\"`domainRoles`\" pulumi-lang-java=\"`domainRoles`\"\u003e`domain_roles`\u003c/span\u003e must be input when creating an agency.\n"},"project":{"type":"string","description":"The name of project\nEither \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`allProjects`\" pulumi-lang-dotnet=\"`AllProjects`\" pulumi-lang-go=\"`allProjects`\" pulumi-lang-python=\"`all_projects`\" pulumi-lang-yaml=\"`allProjects`\" pulumi-lang-java=\"`allProjects`\"\u003e`all_projects`\u003c/span\u003e must be provided to specify single \u003cspan pulumi-lang-nodejs=\"`projectRole`\" pulumi-lang-dotnet=\"`ProjectRole`\" pulumi-lang-go=\"`projectRole`\" pulumi-lang-python=\"`project_role`\" pulumi-lang-yaml=\"`projectRole`\" pulumi-lang-java=\"`projectRole`\"\u003e`project_role`\u003c/span\u003e element.\n"},"roles":{"type":"array","items":{"type":"string"},"description":"An array of role names\n"}},"type":"object","required":["roles"],"language":{"nodejs":{"requiredOutputs":["allProjects","project","roles"]}}},"opentelekomcloud:index/IdentityAgencyV3Timeouts:IdentityAgencyV3Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/IdentityProtectionPolicyV3SelfManagement:IdentityProtectionPolicyV3SelfManagement":{"properties":{"accessKey":{"type":"boolean","description":"Specifies whether to allow IAM users to manage access keys by themselves.\n"},"email":{"type":"boolean","description":"Specifies whether to allow IAM users to change their email addresses.\n"},"mobile":{"type":"boolean","description":"Specifies whether to allow IAM users to change their mobile numbers.\n"},"password":{"type":"boolean","description":"Specifies whether to allow IAM users to change their passwords.\n"}},"type":"object"},"opentelekomcloud:index/IdentityProtocolV3AccessConfig:IdentityProtocolV3AccessConfig":{"properties":{"accessType":{"type":"string","description":"Specifies the access type of the identity provider.\nAvailable options are:\n"},"authorizationEndpoint":{"type":"string","description":"Specifies the authorization endpoint of the OpenID Connect identity\nprovider. This field is required only if the access type is set to \u003cspan pulumi-lang-nodejs=\"`programConsole`\" pulumi-lang-dotnet=\"`ProgramConsole`\" pulumi-lang-go=\"`programConsole`\" pulumi-lang-python=\"`program_console`\" pulumi-lang-yaml=\"`programConsole`\" pulumi-lang-java=\"`programConsole`\"\u003e`program_console`\u003c/span\u003e.\n"},"clientId":{"type":"string","description":"Specifies the ID of a client registered with the OpenID Connect identity provider.\n"},"providerUrl":{"type":"string","description":"Specifies the URL of the identity provider.\nThis field corresponds to the iss field in the ID token.\n"},"responseMode":{"type":"string","description":"Response mode.\nValid values is *form_post* and *fragment*, default value is *form_post*.\nThis field is required only if the access type is set to \u003cspan pulumi-lang-nodejs=\"`programConsole`\" pulumi-lang-dotnet=\"`ProgramConsole`\" pulumi-lang-go=\"`programConsole`\" pulumi-lang-python=\"`program_console`\" pulumi-lang-yaml=\"`programConsole`\" pulumi-lang-java=\"`programConsole`\"\u003e`program_console`\u003c/span\u003e.\n"},"responseType":{"type":"string","description":"Response type. Valid values is *id_token*, default value is *id_token*.\nThis field is required only if the access type is set to \u003cspan pulumi-lang-nodejs=\"`programConsole`\" pulumi-lang-dotnet=\"`ProgramConsole`\" pulumi-lang-go=\"`programConsole`\" pulumi-lang-python=\"`program_console`\" pulumi-lang-yaml=\"`programConsole`\" pulumi-lang-java=\"`programConsole`\"\u003e`program_console`\u003c/span\u003e.\n"},"scopes":{"type":"array","items":{"type":"string"},"description":"Specifies the scopes of authorization requests. It is an array of one or more scopes.\nValid values are *openid*, *email*, *profile* and other values defined by you.\nThis field is required only if the access type is set to \u003cspan pulumi-lang-nodejs=\"`programConsole`\" pulumi-lang-dotnet=\"`ProgramConsole`\" pulumi-lang-go=\"`programConsole`\" pulumi-lang-python=\"`program_console`\" pulumi-lang-yaml=\"`programConsole`\" pulumi-lang-java=\"`programConsole`\"\u003e`program_console`\u003c/span\u003e.\n\n\u003e **NOTE:** 1. *openid* must be specified for this field.\n\u003cbr/\u003e2. A maximum of 10 values can be specified, and they must be separated with spaces.\n\u003cbr/\u003eExample: openid email host.\n"},"signingKey":{"type":"string","description":"Public key used to sign the ID token of the OpenID Connect identity provider.\nThis field is required only if the protocol is set to *oidc*.\n"}},"type":"object","required":["accessType","clientId","providerUrl","signingKey"],"language":{"nodejs":{"requiredOutputs":["accessType","authorizationEndpoint","clientId","providerUrl","responseMode","scopes","signingKey"]}}},"opentelekomcloud:index/IdentityProtocolV3Metadata:IdentityProtocolV3Metadata":{"properties":{"domainId":{"type":"string","description":"ID of the domain that a user belongs to.\n"},"metadata":{"type":"string","description":"Content of the metadata file on the IdP server.\n"},"xaccountType":{"type":"string","description":"Source of a domain. Blank by the default.\n"}},"type":"object","required":["domainId","metadata"]},"opentelekomcloud:index/IdentityProviderAccessConfig:IdentityProviderAccessConfig":{"properties":{"accessType":{"type":"string","description":"Specifies the access type of the identity provider.\nAvailable options are:\n"},"authorizationEndpoint":{"type":"string","description":"Specifies the authorization endpoint of the OpenID Connect identity\nprovider. This field is required only if the access type is set to \u003cspan pulumi-lang-nodejs=\"`programConsole`\" pulumi-lang-dotnet=\"`ProgramConsole`\" pulumi-lang-go=\"`programConsole`\" pulumi-lang-python=\"`program_console`\" pulumi-lang-yaml=\"`programConsole`\" pulumi-lang-java=\"`programConsole`\"\u003e`program_console`\u003c/span\u003e.\n"},"clientId":{"type":"string","description":"Specifies the ID of a client registered with the OpenID Connect identity provider.\n"},"providerUrl":{"type":"string","description":"Specifies the URL of the identity provider.\nThis field corresponds to the iss field in the ID token.\n"},"responseMode":{"type":"string","description":"Response mode.\nValid values is *form_post* and *fragment*, default value is *form_post*.\nThis field is required only if the access type is set to \u003cspan pulumi-lang-nodejs=\"`programConsole`\" pulumi-lang-dotnet=\"`ProgramConsole`\" pulumi-lang-go=\"`programConsole`\" pulumi-lang-python=\"`program_console`\" pulumi-lang-yaml=\"`programConsole`\" pulumi-lang-java=\"`programConsole`\"\u003e`program_console`\u003c/span\u003e.\n"},"responseType":{"type":"string","description":"Response type. Valid values is *id_token*, default value is *id_token*.\nThis field is required only if the access type is set to \u003cspan pulumi-lang-nodejs=\"`programConsole`\" pulumi-lang-dotnet=\"`ProgramConsole`\" pulumi-lang-go=\"`programConsole`\" pulumi-lang-python=\"`program_console`\" pulumi-lang-yaml=\"`programConsole`\" pulumi-lang-java=\"`programConsole`\"\u003e`program_console`\u003c/span\u003e.\n"},"scopes":{"type":"array","items":{"type":"string"},"description":"Specifies the scopes of authorization requests. It is an array of one or more scopes.\nValid values are *openid*, *email*, *profile* and other values defined by you.\nThis field is required only if the access type is set to \u003cspan pulumi-lang-nodejs=\"`programConsole`\" pulumi-lang-dotnet=\"`ProgramConsole`\" pulumi-lang-go=\"`programConsole`\" pulumi-lang-python=\"`program_console`\" pulumi-lang-yaml=\"`programConsole`\" pulumi-lang-java=\"`programConsole`\"\u003e`program_console`\u003c/span\u003e.\n\n\u003e **NOTE:** 1. *openid* must be specified for this field.\n\u003cbr/\u003e2. A maximum of 10 values can be specified, and they must be separated with spaces.\n\u003cbr/\u003eExample: openid email host.\n"},"signingKey":{"type":"string","description":"Public key used to sign the ID token of the OpenID Connect identity provider.\nThis field is required only if the protocol is set to *oidc*.\n"}},"type":"object","required":["accessType","clientId","providerUrl","signingKey"],"language":{"nodejs":{"requiredOutputs":["accessType","authorizationEndpoint","clientId","providerUrl","responseMode","scopes","signingKey"]}}},"opentelekomcloud:index/IdentityProviderConversionRule:IdentityProviderConversionRule":{"properties":{"locals":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FIdentityProviderConversionRuleLocal:IdentityProviderConversionRuleLocal"},"description":"The federated user information on the cloud platform.\n"},"remotes":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FIdentityProviderConversionRuleRemote:IdentityProviderConversionRuleRemote"},"description":"The description of the identity provider.\n"}},"type":"object","required":["locals","remotes"]},"opentelekomcloud:index/IdentityProviderConversionRuleLocal:IdentityProviderConversionRuleLocal":{"properties":{"group":{"type":"string","description":"The user group to which the federated user belongs on the cloud platform.\n"},"groups":{"type":"string","description":"The user groups to which the federated user belongs on the cloud platform.\n"},"username":{"type":"string","description":"The name of a federated user on the cloud platform.\n"}},"type":"object","required":["group","groups","username"]},"opentelekomcloud:index/IdentityProviderConversionRuleRemote:IdentityProviderConversionRuleRemote":{"properties":{"attribute":{"type":"string","description":"The attribute in the IDP assertion.\n"},"condition":{"type":"string","description":"The condition of conversion rule.\n"},"values":{"type":"array","items":{"type":"string"},"description":"The rule is matched only if the specified strings appear in the attribute type.\n"}},"type":"object","required":["attribute","condition","values"]},"opentelekomcloud:index/IdentityRoleV3Statement:IdentityRoleV3Statement":{"properties":{"actions":{"type":"array","items":{"type":"string"},"description":"Permission set, which specifies the operation permissions on\nresources. The number of permission sets cannot exceed 100.\nFormat:  The value format is Service name:Resource type:Action,\nfor example, vpc:ports:create. Service name: indicates the\nproduct name, such as ecs, evs, or vpc. Only lowercase letters\nare allowed. Resource type and Action: The values are\ncase-insensitive, and the wildcard (*) are allowed. A wildcard\n(*) can represent all or part of information about resource\ntypes and actions for the specific service.\n"},"condition":{"type":"string","description":"The conditions for the permission to take effect. A maximum of 10 conditions are allowed.\nConditions should be provided as string as in example above.\n\n\u003e For the full reference checkout [Policy Syntax](https://docs.otc.t-systems.com/en-us/usermanual/iam/iam_01_0017.html).\n"},"effect":{"type":"string","description":"The value can be Allow and Deny. If both Allow and Deny are\nfound in statements, the policy evaluation starts with Deny.\n"},"resources":{"type":"array","items":{"type":"string"},"description":"The resources which will be granted/denied accesses.\nFormat: `Service:*:*:resource:resource_path`.\nExamples: `KMS:*:*:KeyId:your_key`, `OBS:*:*:bucket:your_bucket`, `OBS:*:*:object:your_object`.\n"}},"type":"object","required":["actions","effect"]},"opentelekomcloud:index/IdentityUserV3LoginProtection:IdentityUserV3LoginProtection":{"properties":{"enabled":{"type":"boolean","description":"Indicates whether login protection has been enabled for the user. The value can be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"verificationMethod":{"type":"string","description":"Login authentication method of the user. Options: \u003cspan pulumi-lang-nodejs=\"`sms`\" pulumi-lang-dotnet=\"`Sms`\" pulumi-lang-go=\"`sms`\" pulumi-lang-python=\"`sms`\" pulumi-lang-yaml=\"`sms`\" pulumi-lang-java=\"`sms`\"\u003e`sms`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`email`\" pulumi-lang-dotnet=\"`Email`\" pulumi-lang-go=\"`email`\" pulumi-lang-python=\"`email`\" pulumi-lang-yaml=\"`email`\" pulumi-lang-java=\"`email`\"\u003e`email`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`vmfa`\" pulumi-lang-dotnet=\"`Vmfa`\" pulumi-lang-go=\"`vmfa`\" pulumi-lang-python=\"`vmfa`\" pulumi-lang-yaml=\"`vmfa`\" pulumi-lang-java=\"`vmfa`\"\u003e`vmfa`\u003c/span\u003e.\n"}},"type":"object","required":["enabled","verificationMethod"]},"opentelekomcloud:index/ImagesImageV2Timeouts:ImagesImageV2Timeouts":{"properties":{"create":{"type":"string"}},"type":"object"},"opentelekomcloud:index/ImsDataImageV2Timeouts:ImsDataImageV2Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/ImsImageShareAcceptV1Timeouts:ImsImageShareAcceptV1Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/ImsImageShareV1Timeouts:ImsImageShareV1Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/ImsImageV2Timeouts:ImsImageV2Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/LbCertificateV2Timeouts:LbCertificateV2Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/LbIpgroupV3IpList:LbIpgroupV3IpList":{"properties":{"description":{"type":"string","description":"Provides remarks about the IP address group.\n"},"ip":{"type":"string","description":"Specifies the IP addresses in the IP address group.\nIPv6 is unsupported. The value cannot be an IPv6 address.\n"}},"type":"object","required":["ip"]},"opentelekomcloud:index/LbL7policyV2Timeouts:LbL7policyV2Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/LbL7ruleV2Timeouts:LbL7ruleV2Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/LbListenerV2IpGroup:LbListenerV2IpGroup":{"properties":{"enable":{"type":"boolean","description":"Specifies whether to enable access control.\n\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e: Access control will be enabled.\n\u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e (default): Access control will be disabled.\n"},"id":{"type":"string","description":"Specifies the ID of the IP address group associated with the listener.\nSpecifies the ID of the IP address group associated with the listener.\nIf \u003cspan pulumi-lang-nodejs=\"`ipList`\" pulumi-lang-dotnet=\"`IpList`\" pulumi-lang-go=\"`ipList`\" pulumi-lang-python=\"`ip_list`\" pulumi-lang-yaml=\"`ipList`\" pulumi-lang-java=\"`ipList`\"\u003e`ip_list`\u003c/span\u003e in \u003cspan pulumi-lang-nodejs=\"`opentelekomcloud.LbIpgroupV3`\" pulumi-lang-dotnet=\"`opentelekomcloud.LbIpgroupV3`\" pulumi-lang-go=\"`LbIpgroupV3`\" pulumi-lang-python=\"`LbIpgroupV3`\" pulumi-lang-yaml=\"`opentelekomcloud.LbIpgroupV3`\" pulumi-lang-java=\"`opentelekomcloud.LbIpgroupV3`\"\u003e`opentelekomcloud.LbIpgroupV3`\u003c/span\u003e is set to an empty array `[]` and type to \u003cspan pulumi-lang-nodejs=\"`whitelist`\" pulumi-lang-dotnet=\"`Whitelist`\" pulumi-lang-go=\"`whitelist`\" pulumi-lang-python=\"`whitelist`\" pulumi-lang-yaml=\"`whitelist`\" pulumi-lang-java=\"`whitelist`\"\u003e`whitelist`\u003c/span\u003e, no IP addresses are allowed to access the listener.\nIf \u003cspan pulumi-lang-nodejs=\"`ipList`\" pulumi-lang-dotnet=\"`IpList`\" pulumi-lang-go=\"`ipList`\" pulumi-lang-python=\"`ip_list`\" pulumi-lang-yaml=\"`ipList`\" pulumi-lang-java=\"`ipList`\"\u003e`ip_list`\u003c/span\u003e in \u003cspan pulumi-lang-nodejs=\"`opentelekomcloud.LbIpgroupV3`\" pulumi-lang-dotnet=\"`opentelekomcloud.LbIpgroupV3`\" pulumi-lang-go=\"`LbIpgroupV3`\" pulumi-lang-python=\"`LbIpgroupV3`\" pulumi-lang-yaml=\"`opentelekomcloud.LbIpgroupV3`\" pulumi-lang-java=\"`opentelekomcloud.LbIpgroupV3`\"\u003e`opentelekomcloud.LbIpgroupV3`\u003c/span\u003e is set to an empty array `[]` and type to \u003cspan pulumi-lang-nodejs=\"`blacklist`\" pulumi-lang-dotnet=\"`Blacklist`\" pulumi-lang-go=\"`blacklist`\" pulumi-lang-python=\"`blacklist`\" pulumi-lang-yaml=\"`blacklist`\" pulumi-lang-java=\"`blacklist`\"\u003e`blacklist`\u003c/span\u003e, any IP address is allowed to access the listener.\n"},"type":{"type":"string","description":"Specifies how access to the listener is controlled.\n\u003cspan pulumi-lang-nodejs=\"`white`\" pulumi-lang-dotnet=\"`White`\" pulumi-lang-go=\"`white`\" pulumi-lang-python=\"`white`\" pulumi-lang-yaml=\"`white`\" pulumi-lang-java=\"`white`\"\u003e`white`\u003c/span\u003e (default): A whitelist will be configured. Only IP addresses in the whitelist can access the listener.\n\u003cspan pulumi-lang-nodejs=\"`black`\" pulumi-lang-dotnet=\"`Black`\" pulumi-lang-go=\"`black`\" pulumi-lang-python=\"`black`\" pulumi-lang-yaml=\"`black`\" pulumi-lang-java=\"`black`\"\u003e`black`\u003c/span\u003e: A blacklist will be configured. IP addresses in the blacklist are not allowed to access the listener.\n*\n"}},"type":"object","required":["id"],"language":{"nodejs":{"requiredOutputs":["enable","id","type"]}}},"opentelekomcloud:index/LbListenerV2Timeouts:LbListenerV2Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/LbListenerV3InsertHeaders:LbListenerV3InsertHeaders":{"properties":{"forwardElbIp":{"type":"boolean","description":"Specifies whether to transparently transmit the load balancer EIP\nto backend servers. If \u003cspan pulumi-lang-nodejs=\"`forwardElbIp`\" pulumi-lang-dotnet=\"`ForwardElbIp`\" pulumi-lang-go=\"`forwardElbIp`\" pulumi-lang-python=\"`forward_elb_ip`\" pulumi-lang-yaml=\"`forwardElbIp`\" pulumi-lang-java=\"`forwardElbIp`\"\u003e`forward_elb_ip`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the load balancer EIP will be stored in\nthe HTTP header and passed to backend servers.\n"},"forwardedForPort":{"type":"boolean","description":"Specifies whether to transparently transmit the source port of\nthe client to backend servers. If \u003cspan pulumi-lang-nodejs=\"`forwardedForPort`\" pulumi-lang-dotnet=\"`ForwardedForPort`\" pulumi-lang-go=\"`forwardedForPort`\" pulumi-lang-python=\"`forwarded_for_port`\" pulumi-lang-yaml=\"`forwardedForPort`\" pulumi-lang-java=\"`forwardedForPort`\"\u003e`forwarded_for_port`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the source port of the\nclient will be stored in the HTTP header and passed to backend servers.\n"},"forwardedHost":{"type":"boolean","description":"Specifies whether to rewrite the `X-Forwarded-Host` header.\nIf \u003cspan pulumi-lang-nodejs=\"`forwardedHost`\" pulumi-lang-dotnet=\"`ForwardedHost`\" pulumi-lang-go=\"`forwardedHost`\" pulumi-lang-python=\"`forwarded_host`\" pulumi-lang-yaml=\"`forwardedHost`\" pulumi-lang-java=\"`forwardedHost`\"\u003e`forwarded_host`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, `X-Forwarded-Host` in the request header from the clients\ncan be set to Host in the request header sent from the load balancer to backend servers.\n"},"forwardedPort":{"type":"boolean","description":"Specifies whether to transparently transmit the listening port of\nthe load balancer to backend servers. If \u003cspan pulumi-lang-nodejs=\"`forwardedPort`\" pulumi-lang-dotnet=\"`ForwardedPort`\" pulumi-lang-go=\"`forwardedPort`\" pulumi-lang-python=\"`forwarded_port`\" pulumi-lang-yaml=\"`forwardedPort`\" pulumi-lang-java=\"`forwardedPort`\"\u003e`forwarded_port`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the listening port of\nthe load balancer will be stored in the HTTP header and passed to backend servers.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["forwardElbIp","forwardedForPort","forwardedHost","forwardedPort"]}}},"opentelekomcloud:index/LbListenerV3IpGroup:LbListenerV3IpGroup":{"properties":{"enable":{"type":"boolean","description":"Specifies whether to enable access control.\n\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e: Access control will be enabled.\n\u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e (default): Access control will be disabled.\n"},"id":{"type":"string","description":"Specifies the ID of the IP address group associated with the listener.\nSpecifies the ID of the IP address group associated with the listener.\nIf \u003cspan pulumi-lang-nodejs=\"`ipList`\" pulumi-lang-dotnet=\"`IpList`\" pulumi-lang-go=\"`ipList`\" pulumi-lang-python=\"`ip_list`\" pulumi-lang-yaml=\"`ipList`\" pulumi-lang-java=\"`ipList`\"\u003e`ip_list`\u003c/span\u003e in \u003cspan pulumi-lang-nodejs=\"`opentelekomcloud.LbIpgroupV3`\" pulumi-lang-dotnet=\"`opentelekomcloud.LbIpgroupV3`\" pulumi-lang-go=\"`LbIpgroupV3`\" pulumi-lang-python=\"`LbIpgroupV3`\" pulumi-lang-yaml=\"`opentelekomcloud.LbIpgroupV3`\" pulumi-lang-java=\"`opentelekomcloud.LbIpgroupV3`\"\u003e`opentelekomcloud.LbIpgroupV3`\u003c/span\u003e is set to an empty array `[]` and type to \u003cspan pulumi-lang-nodejs=\"`whitelist`\" pulumi-lang-dotnet=\"`Whitelist`\" pulumi-lang-go=\"`whitelist`\" pulumi-lang-python=\"`whitelist`\" pulumi-lang-yaml=\"`whitelist`\" pulumi-lang-java=\"`whitelist`\"\u003e`whitelist`\u003c/span\u003e, no IP addresses are allowed to access the listener.\nIf \u003cspan pulumi-lang-nodejs=\"`ipList`\" pulumi-lang-dotnet=\"`IpList`\" pulumi-lang-go=\"`ipList`\" pulumi-lang-python=\"`ip_list`\" pulumi-lang-yaml=\"`ipList`\" pulumi-lang-java=\"`ipList`\"\u003e`ip_list`\u003c/span\u003e in \u003cspan pulumi-lang-nodejs=\"`opentelekomcloud.LbIpgroupV3`\" pulumi-lang-dotnet=\"`opentelekomcloud.LbIpgroupV3`\" pulumi-lang-go=\"`LbIpgroupV3`\" pulumi-lang-python=\"`LbIpgroupV3`\" pulumi-lang-yaml=\"`opentelekomcloud.LbIpgroupV3`\" pulumi-lang-java=\"`opentelekomcloud.LbIpgroupV3`\"\u003e`opentelekomcloud.LbIpgroupV3`\u003c/span\u003e is set to an empty array `[]` and type to \u003cspan pulumi-lang-nodejs=\"`blacklist`\" pulumi-lang-dotnet=\"`Blacklist`\" pulumi-lang-go=\"`blacklist`\" pulumi-lang-python=\"`blacklist`\" pulumi-lang-yaml=\"`blacklist`\" pulumi-lang-java=\"`blacklist`\"\u003e`blacklist`\u003c/span\u003e, any IP address is allowed to access the listener.\n"},"type":{"type":"string","description":"Specifies how access to the listener is controlled.\n\u003cspan pulumi-lang-nodejs=\"`white`\" pulumi-lang-dotnet=\"`White`\" pulumi-lang-go=\"`white`\" pulumi-lang-python=\"`white`\" pulumi-lang-yaml=\"`white`\" pulumi-lang-java=\"`white`\"\u003e`white`\u003c/span\u003e (default): A whitelist will be configured. Only IP addresses in the whitelist can access the listener.\n\u003cspan pulumi-lang-nodejs=\"`black`\" pulumi-lang-dotnet=\"`Black`\" pulumi-lang-go=\"`black`\" pulumi-lang-python=\"`black`\" pulumi-lang-yaml=\"`black`\" pulumi-lang-java=\"`black`\"\u003e`black`\u003c/span\u003e: A blacklist will be configured. IP addresses in the blacklist are not allowed to access the listener.\n"}},"type":"object","required":["id"],"language":{"nodejs":{"requiredOutputs":["enable","id","type"]}}},"opentelekomcloud:index/LbLoadbalancerV2Timeouts:LbLoadbalancerV2Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/LbLoadbalancerV3PublicIp:LbLoadbalancerV3PublicIp":{"properties":{"_managed":{"type":"boolean"},"address":{"type":"string"},"bandwidthChargeMode":{"type":"string","description":"Bandwidth billing type. Possible value is \u003cspan pulumi-lang-nodejs=\"`traffic`\" pulumi-lang-dotnet=\"`Traffic`\" pulumi-lang-go=\"`traffic`\" pulumi-lang-python=\"`traffic`\" pulumi-lang-yaml=\"`traffic`\" pulumi-lang-java=\"`traffic`\"\u003e`traffic`\u003c/span\u003e.\n"},"bandwidthName":{"type":"string","description":"Bandwidth name. Required when creating a new EIP.\n"},"bandwidthShareType":{"type":"string","description":"Bandwidth sharing type. Possible values are: `PER`, `WHOLE`.\nRequired when creating a new EIP.\n"},"bandwidthSize":{"type":"number","description":"Bandwidth size. Required when creating a new EIP.\n"},"id":{"type":"string","description":"ID of an existing elastic IP. Required when using existing EIP.\n"},"ipType":{"type":"string","description":"Elastic IP type. The value can be \u003cspan pulumi-lang-nodejs=\"`5Bgp`\" pulumi-lang-dotnet=\"`5Bgp`\" pulumi-lang-go=\"`5Bgp`\" pulumi-lang-python=\"`5_bgp`\" pulumi-lang-yaml=\"`5Bgp`\" pulumi-lang-java=\"`5Bgp`\"\u003e`5_bgp`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`5Mailbgp`\" pulumi-lang-dotnet=\"`5Mailbgp`\" pulumi-lang-go=\"`5Mailbgp`\" pulumi-lang-python=\"`5_mailbgp`\" pulumi-lang-yaml=\"`5Mailbgp`\" pulumi-lang-java=\"`5Mailbgp`\"\u003e`5_mailbgp`\u003c/span\u003e.\nRequired when creating a new EIP.\n\n-\u003e\nIn `eu-de` region the value can be \u003cspan pulumi-lang-nodejs=\"`5Bgp`\" pulumi-lang-dotnet=\"`5Bgp`\" pulumi-lang-go=\"`5Bgp`\" pulumi-lang-python=\"`5_bgp`\" pulumi-lang-yaml=\"`5Bgp`\" pulumi-lang-java=\"`5Bgp`\"\u003e`5_bgp`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`5Mailbgp`\" pulumi-lang-dotnet=\"`5Mailbgp`\" pulumi-lang-go=\"`5Mailbgp`\" pulumi-lang-python=\"`5_mailbgp`\" pulumi-lang-yaml=\"`5Mailbgp`\" pulumi-lang-java=\"`5Mailbgp`\"\u003e`5_mailbgp`\u003c/span\u003e.\nIn `eu-nl` region the value can only be \u003cspan pulumi-lang-nodejs=\"`5Bgp`\" pulumi-lang-dotnet=\"`5Bgp`\" pulumi-lang-go=\"`5Bgp`\" pulumi-lang-python=\"`5_bgp`\" pulumi-lang-yaml=\"`5Bgp`\" pulumi-lang-java=\"`5Bgp`\"\u003e`5_bgp`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`5Mailbgp`\" pulumi-lang-dotnet=\"`5Mailbgp`\" pulumi-lang-go=\"`5Mailbgp`\" pulumi-lang-python=\"`5_mailbgp`\" pulumi-lang-yaml=\"`5Mailbgp`\" pulumi-lang-java=\"`5Mailbgp`\"\u003e`5_mailbgp`\u003c/span\u003e.\nIn `eu-ch2` region the value can only be \u003cspan pulumi-lang-nodejs=\"`5Bgp`\" pulumi-lang-dotnet=\"`5Bgp`\" pulumi-lang-go=\"`5Bgp`\" pulumi-lang-python=\"`5_bgp`\" pulumi-lang-yaml=\"`5Bgp`\" pulumi-lang-java=\"`5Bgp`\"\u003e`5_bgp`\u003c/span\u003e.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["_managed","address","bandwidthName","bandwidthShareType","bandwidthSize","id","ipType"]}}},"opentelekomcloud:index/LbMemberV2Timeouts:LbMemberV2Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/LbMonitorV2Timeouts:LbMonitorV2Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/LbPolicyV3FixedResponseConfig:LbPolicyV3FixedResponseConfig":{"properties":{"contentType":{"type":"string","description":"Specifies the format of the response body.\n"},"messageBody":{"type":"string","description":"Specifies the content of the response message body.\n"},"statusCode":{"type":"string","description":"Specifies the fixed HTTP status code configured in the forwarding rule.\nThe value can be any integer in the range of `200-299`, `400-499`, or `500-599`.\n"}},"type":"object","required":["statusCode"]},"opentelekomcloud:index/LbPolicyV3RedirectPoolsConfig:LbPolicyV3RedirectPoolsConfig":{"properties":{"poolId":{"type":"string","description":"Specifies the ID of the backend server group.\n"},"weight":{"type":"number","description":"Specifies the weight of the backend server group. The value ranges from 0 to 100.\n"}},"type":"object","required":["poolId","weight"]},"opentelekomcloud:index/LbPolicyV3RedirectUrlConfig:LbPolicyV3RedirectUrlConfig":{"properties":{"host":{"type":"string","description":"Specifies the host name that requests are redirected to.\nThe value can contain only letters, digits, hyphens (-), and periods (.) and must start with a letter or digit.\nThe default value is `${host}`, indicating that the host of the request will be used.\n"},"path":{"type":"string","description":"Specifies the path that requests are redirected to.\nThe default value is `${path}`, indicating that the path of the request will be used.\nThe value can contain only letters, digits, and special characters `_~';@^- %#\u0026$.*+?,=!:|/()[]{}`\nand must start with a slash (`/`).\n"},"port":{"type":"string","description":"Specifies the port that requests are redirected to. The default value is `${port}`,\nindicating that the port of the request will be used.\n"},"protocol":{"type":"string","description":"Specifies the protocol for redirection. The value can be `HTTP`, `HTTPS`,\nor `${protocol}`.\nThe default value is `${protocol}`, indicating that the protocol of the request will be used.\n"},"query":{"type":"string","description":"Specifies the query string set in the URL for redirection.\nThe default value is `${query}`, indicating that the query string of the request will be used.\n"},"statusCode":{"type":"string","description":"Specifies the status code returned after the requests are redirected.\nThe value can be \u003cspan pulumi-lang-nodejs=\"`301`\" pulumi-lang-dotnet=\"`301`\" pulumi-lang-go=\"`301`\" pulumi-lang-python=\"`301`\" pulumi-lang-yaml=\"`301`\" pulumi-lang-java=\"`301`\"\u003e`301`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`302`\" pulumi-lang-dotnet=\"`302`\" pulumi-lang-go=\"`302`\" pulumi-lang-python=\"`302`\" pulumi-lang-yaml=\"`302`\" pulumi-lang-java=\"`302`\"\u003e`302`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`303`\" pulumi-lang-dotnet=\"`303`\" pulumi-lang-go=\"`303`\" pulumi-lang-python=\"`303`\" pulumi-lang-yaml=\"`303`\" pulumi-lang-java=\"`303`\"\u003e`303`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`307`\" pulumi-lang-dotnet=\"`307`\" pulumi-lang-go=\"`307`\" pulumi-lang-python=\"`307`\" pulumi-lang-yaml=\"`307`\" pulumi-lang-java=\"`307`\"\u003e`307`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`308`\" pulumi-lang-dotnet=\"`308`\" pulumi-lang-go=\"`308`\" pulumi-lang-python=\"`308`\" pulumi-lang-yaml=\"`308`\" pulumi-lang-java=\"`308`\"\u003e`308`\u003c/span\u003e.\n"}},"type":"object","required":["statusCode"]},"opentelekomcloud:index/LbPolicyV3Rule:LbPolicyV3Rule":{"properties":{"compareType":{"type":"string","description":"Specifies how requests are matched with the domain name or URL.\nThe values can be: `EQUAL_TO`, `REGEX`, `STARTS_WITH`.\n\n-\u003eIf \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `HOST_NAME`, this parameter can only be set to `EQUAL_TO` (exact match).\nIf \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `PATH`, this parameter can be set to `REGEX` (regular expression match),\n`STARTS_WITH` (prefix match), or `EQUAL_TO` (exact match).\n"},"type":{"type":"string","description":"Specifies the match content. The value can be one of the following: `HOST_NAME`, `PATH`.\n"},"value":{"type":"string","description":"Specifies the value of the match item. For example, if a domain name is\nused for matching, value is the domain name.\n\n-\u003eIf type is set to `HOST_NAME`, the value can contain letters, digits, hyphens `-`, and periods `.`\nand must start with a letter or digit. If you want to use a wildcard domain name, enter an asterisk `*`\nas the leftmost label of the domain name.\nIf type is set to `PATH` and \u003cspan pulumi-lang-nodejs=\"`compareType`\" pulumi-lang-dotnet=\"`CompareType`\" pulumi-lang-go=\"`compareType`\" pulumi-lang-python=\"`compare_type`\" pulumi-lang-yaml=\"`compareType`\" pulumi-lang-java=\"`compareType`\"\u003e`compare_type`\u003c/span\u003e to `STARTS_WITH` or `EQUAL_TO`, the value must start with\na slash `/` and can contain only letters, digits, and special characters `_~';@^-%#\u0026$.*+?,=!:|/()[]{}`.\n"}},"type":"object","required":["compareType","type","value"]},"opentelekomcloud:index/LbPoolV2Persistence:LbPoolV2Persistence":{"properties":{"cookieName":{"type":"string","description":"The name of the cookie if persistence mode is set\nappropriately.\n"},"type":{"type":"string","description":"The type of persistence mode. The current specification\nsupports `SOURCE_IP`, `HTTP_COOKIE`, and `APP_COOKIE`.\n"}},"type":"object"},"opentelekomcloud:index/LbPoolV2Timeouts:LbPoolV2Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/LbPoolV3SessionPersistence:LbPoolV3SessionPersistence":{"properties":{"cookieName":{"type":"string","description":"Specifies the cookie name. This parameter will take effect only when type is set to `APP_COOKIE`.\nThe value can contain only letters, digits, hyphens (-), underscores (_), and periods (.).\n"},"persistenceTimeout":{"type":"number","description":"Specifies the stickiness duration, in minutes.\nThis parameter will not take effect when type is set to `APP_COOKIE`.\n* If the protocol of the backend server group is TCP or UDP,\nthe value ranges from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e, and the default value is \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n* If the protocol of the backend server group is HTTP or HTTPS, the value ranges from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`1440`\" pulumi-lang-dotnet=\"`1440`\" pulumi-lang-go=\"`1440`\" pulumi-lang-python=\"`1440`\" pulumi-lang-yaml=\"`1440`\" pulumi-lang-java=\"`1440`\"\u003e`1440`\u003c/span\u003e,\nand the default value is \u003cspan pulumi-lang-nodejs=\"`1440`\" pulumi-lang-dotnet=\"`1440`\" pulumi-lang-go=\"`1440`\" pulumi-lang-python=\"`1440`\" pulumi-lang-yaml=\"`1440`\" pulumi-lang-java=\"`1440`\"\u003e`1440`\u003c/span\u003e.\n"},"type":{"type":"string","description":"Specifies the type of the backend server group.\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["cookieName","persistenceTimeout","type"]}}},"opentelekomcloud:index/LbRuleV3Condition:LbRuleV3Condition":{"properties":{"key":{"type":"string","description":"Specifies the key of match item.\n\n-\u003eIf type is set to `HOST_NAME`, `PATH`, `METHOD`, or `SOURCE_IP`, this parameter is left blank.\nIf type is set to `HEADER`, key indicates the name of the HTTP header parameter.\nThe value can contain 1 to 40 characters, including letters, digits, hyphens (`-`), and underscores (`_`).\nIf type is set to `QUERY_STRING`, key indicates the name of the query parameter.\nThe value is case-sensitive and can contain 1 to 128 characters.\nSpaces, square brackets (`[ ]`), curly brackets (`{ }`), angle brackets (`\u003c \u003e`), backslashes (`\\`),\ndouble quotation marks (` `), pound signs (`#`), ampersands (`\u0026`), vertical bars (`|`),\npercent signs (`%`), and tildes (`~`) are not supported.\nAll keys in the conditions list in the same rule must be the same.\n"},"value":{"type":"string","description":"Specifies the value of the match item.\n\n-\u003eIf type is set to `HOST_NAME`, key is left blank, and value indicates the domain name,\nwhich can contain 1 to 128 characters, including letters, digits, hyphens (`-`), periods (`.`), and asterisks (`*`),\nand must start with a letter, digit, or asterisk (`*`).\nIf you want to use a wildcard domain name, enter an asterisk (`*`) as the leftmost label of the domain name.\nIf type is set to `PATH`, key is left blank, and value indicates the request path,\nwhich can contain 1 to 128 characters.\nIf\u003cspan pulumi-lang-nodejs=\" compareType \" pulumi-lang-dotnet=\" CompareType \" pulumi-lang-go=\" compareType \" pulumi-lang-python=\" compare_type \" pulumi-lang-yaml=\" compareType \" pulumi-lang-java=\" compareType \"\u003e compare_type \u003c/span\u003eis set to `STARTS_WITH` or `EQUAL_TO` for the forwarding rule,\nthe value must start with a slash (`/`) and can contain only letters, digits,\nand special characters `_~';@^-%#\u0026$.*+?,=!:|/()[]{}`\nIf type is set to `HEADER`, key indicates the name of the HTTP header parameter,\nand value indicates the value of the HTTP header parameter.\nThe value can contain 1 to 128 characters. Asterisks (`*`) and question marks (`?`) are allowed,\nbut spaces and double quotation marks are not allowed. An asterisk can match zero or more characters,\nand a question mark can match 1 character.\nIf type is set to `QUERY_STRING`, key indicates the name of the query parameter,\nand value indicates the value of the query parameter.\nThe value is case-sensitive and can contain 1 to 128 characters. Spaces, square brackets (`[ ]`),\ncurly brackets (`{ }`), angle brackets (`\u003c \u003e`), backslashes (`\\`), double quotation marks (` `), pound signs (`#`),\nampersands (`\u0026`), vertical bars (`|`), percent signs (`%`), and tildes (`~`) are not supported.\nAsterisks (`*`) and question marks (`?`) are allowed. An asterisk can match zero or more characters,\nand a question mark can match 1 character.\nIf type is set to `METHOD`, key is left blank, and value indicates the HTTP method.\nThe value can be `GET`, `PUT`, `POST`, `DELETE`, `PATCH`, `HEAD`, or `OPTIONS`.\nIf type is set to `SOURCE_IP`, key is left blank, and value indicates the source IP address of the request.\nThe value is an `IPv4` or `IPv6` CIDR block, for example, `192.168.0.2/32` or \u003cspan pulumi-lang-nodejs=\"`elb`\" pulumi-lang-dotnet=\"`Elb`\" pulumi-lang-go=\"`elb`\" pulumi-lang-python=\"`elb`\" pulumi-lang-yaml=\"`elb`\" pulumi-lang-java=\"`elb`\"\u003e`elb`\u003c/span\u003e.\nAll keys in the conditions list in the same rule must be the same.\n"}},"type":"object","required":["value"]},"opentelekomcloud:index/LtsCceAccessV3AccessConfig:LtsCceAccessV3AccessConfig":{"properties":{"blackPaths":{"type":"array","items":{"type":"string"},"description":"Specifies the collection path blacklist.\n"},"containerNameRegex":{"type":"string","description":"Specifies the regular expression matching of kubernetes container names.\nLTS will collect logs of the containers with names matching this expression. To collect logs of all containers,\nleave this field empty.\n"},"excludeEnvs":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the environment variable blacklist. A maximum of \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e tags can be\ncreated. The key names must be unique. LTS will exclude all containers with environment variables containing either\nan environment variable key with an empty corresponding environment variable value, or an environment variable key\nwith its corresponding environment variable value. LabelKey must be fully matched, and labelValue supports regular\nexpression matching.\n"},"excludeK8sLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the kubernetes label blacklist. A maximum of \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e tags can be\ncreated. The key names must be unique. If labelValue is empty, all containers whose K8s label contains labelKey are\nexcluded. If labelValue is not empty, only containers whose K8s label contains `LabelKey=LabelValue` are excluded.\nLabelKey must be fully matched, and labelValue supports regular expression matching. Multiple blacklists are in the\nOR relationship. That is, a K8s Label can be excluded as long as it meets any of the blacklists.\n\n\u003e These parameters include \u003cspan pulumi-lang-nodejs=\"`nameSpaceRegex`\" pulumi-lang-dotnet=\"`NameSpaceRegex`\" pulumi-lang-go=\"`nameSpaceRegex`\" pulumi-lang-python=\"`name_space_regex`\" pulumi-lang-yaml=\"`nameSpaceRegex`\" pulumi-lang-java=\"`nameSpaceRegex`\"\u003e`name_space_regex`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`podNameRegex`\" pulumi-lang-dotnet=\"`PodNameRegex`\" pulumi-lang-go=\"`podNameRegex`\" pulumi-lang-python=\"`pod_name_regex`\" pulumi-lang-yaml=\"`podNameRegex`\" pulumi-lang-java=\"`podNameRegex`\"\u003e`pod_name_regex`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`containerNameRegex`\" pulumi-lang-dotnet=\"`ContainerNameRegex`\" pulumi-lang-go=\"`containerNameRegex`\" pulumi-lang-python=\"`container_name_regex`\" pulumi-lang-yaml=\"`containerNameRegex`\" pulumi-lang-java=\"`containerNameRegex`\"\u003e`container_name_regex`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`logLabels`\" pulumi-lang-dotnet=\"`LogLabels`\" pulumi-lang-go=\"`logLabels`\" pulumi-lang-python=\"`log_labels`\" pulumi-lang-yaml=\"`logLabels`\" pulumi-lang-java=\"`logLabels`\"\u003e`log_labels`\u003c/span\u003e,\n\u003cspan pulumi-lang-nodejs=\"`includeLabels`\" pulumi-lang-dotnet=\"`IncludeLabels`\" pulumi-lang-go=\"`includeLabels`\" pulumi-lang-python=\"`include_labels`\" pulumi-lang-yaml=\"`includeLabels`\" pulumi-lang-java=\"`includeLabels`\"\u003e`include_labels`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`excludeLabels`\" pulumi-lang-dotnet=\"`ExcludeLabels`\" pulumi-lang-go=\"`excludeLabels`\" pulumi-lang-python=\"`exclude_labels`\" pulumi-lang-yaml=\"`excludeLabels`\" pulumi-lang-java=\"`excludeLabels`\"\u003e`exclude_labels`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`logEnvs`\" pulumi-lang-dotnet=\"`LogEnvs`\" pulumi-lang-go=\"`logEnvs`\" pulumi-lang-python=\"`log_envs`\" pulumi-lang-yaml=\"`logEnvs`\" pulumi-lang-java=\"`logEnvs`\"\u003e`log_envs`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`includeEnvs`\" pulumi-lang-dotnet=\"`IncludeEnvs`\" pulumi-lang-go=\"`includeEnvs`\" pulumi-lang-python=\"`include_envs`\" pulumi-lang-yaml=\"`includeEnvs`\" pulumi-lang-java=\"`includeEnvs`\"\u003e`include_envs`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`excludeEnvs`\" pulumi-lang-dotnet=\"`ExcludeEnvs`\" pulumi-lang-go=\"`excludeEnvs`\" pulumi-lang-python=\"`exclude_envs`\" pulumi-lang-yaml=\"`excludeEnvs`\" pulumi-lang-java=\"`excludeEnvs`\"\u003e`exclude_envs`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`logK8s`\" pulumi-lang-dotnet=\"`LogK8s`\" pulumi-lang-go=\"`logK8s`\" pulumi-lang-python=\"`log_k8s`\" pulumi-lang-yaml=\"`logK8s`\" pulumi-lang-java=\"`logK8s`\"\u003e`log_k8s`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`includeK8sLabels`\" pulumi-lang-dotnet=\"`IncludeK8sLabels`\" pulumi-lang-go=\"`includeK8sLabels`\" pulumi-lang-python=\"`include_k8s_labels`\" pulumi-lang-yaml=\"`includeK8sLabels`\" pulumi-lang-java=\"`includeK8sLabels`\"\u003e`include_k8s_labels`\u003c/span\u003e and\n\u003cspan pulumi-lang-nodejs=\"`excludeK8sLabels`\" pulumi-lang-dotnet=\"`ExcludeK8sLabels`\" pulumi-lang-go=\"`excludeK8sLabels`\" pulumi-lang-python=\"`exclude_k8s_labels`\" pulumi-lang-yaml=\"`excludeK8sLabels`\" pulumi-lang-java=\"`excludeK8sLabels`\"\u003e`exclude_k8s_labels`\u003c/span\u003e are available, only \u003cspan pulumi-lang-nodejs=\"`pathType`\" pulumi-lang-dotnet=\"`PathType`\" pulumi-lang-go=\"`pathType`\" pulumi-lang-python=\"`path_type`\" pulumi-lang-yaml=\"`pathType`\" pulumi-lang-java=\"`pathType`\"\u003e`path_type`\u003c/span\u003e is not **host_file**.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"singleLogFormat\"\" pulumi-lang-dotnet=\"\"SingleLogFormat\"\" pulumi-lang-go=\"\"singleLogFormat\"\" pulumi-lang-python=\"\"single_log_format\"\" pulumi-lang-yaml=\"\"singleLogFormat\"\" pulumi-lang-java=\"\"singleLogFormat\"\"\u003e\"single_log_format\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`singleLogFormat`\" pulumi-lang-dotnet=\"`SingleLogFormat`\" pulumi-lang-go=\"`singleLogFormat`\" pulumi-lang-python=\"`single_log_format`\" pulumi-lang-yaml=\"`singleLogFormat`\" pulumi-lang-java=\"`singleLogFormat`\"\u003e`single_log_format`\u003c/span\u003e block supports:\n"},"excludeLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the container label blacklist. A maximum of \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e tags can be created.\nThe key names must be unique. If labelValue is empty, all containers whose container label contains labelKey are\nexcluded. If labelValue is not empty, only containers whose container label contains `LabelKey=LabelValue` are\nexcluded. LabelKey must be fully matched, and labelValue supports regular expression matching. Multiple blacklists\nare in the OR relationship. That is, a container label can be excluded as long as it meets any of the blacklists.\n"},"includeEnvs":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the environment variable whitelist. A maximum of \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e tags can be\ncreated. The key names must be unique. LTS will match all containers with environment variables containing either\nan environment variable key with an empty corresponding environment variable value, or an environment variable key\nwith its corresponding environment variable value. LabelKey must be fully matched, and labelValue supports regular\nexpression matching.\n"},"includeK8sLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the kubernetes label whitelist. A maximum of \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e tags can be\ncreated. The key names must be unique. If labelValue is empty, all containers whose K8s label contains labelKey are\nmatched. If labelValue is not empty, only containers whose K8s Label contains `LabelKey=LabelValue` are matched.\nLabelKey must be fully matched, and labelValue supports regular expression matching. Multiple whitelists are in the\nOR relationship. That is, a K8s label can be matched as long as it meets any of the whitelists.\n"},"includeLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the container label whitelist. A maximum of \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e tags can be created.\nThe key names must be unique. If labelValue is empty, all containers whose container label contains labelKey are\nmatched. If labelValue is not empty, only containers whose container label contains `LabelKey=LabelValue` are\nmatched. LabelKey must be fully matched, and labelValue supports regular expression matching. Multiple whitelists\nare in the OR relationship. That is, a container label can be matched as long as it meets any of the whitelists.\n"},"logEnvs":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the environment variable tag. A maximum of \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e tags can be created.\nThe key names must be unique. LTS adds the specified fields to the log when each environment variable key has a\ncorresponding environment variable value. For example, if you enter \u003cspan pulumi-lang-nodejs=\"`app`\" pulumi-lang-dotnet=\"`App`\" pulumi-lang-go=\"`app`\" pulumi-lang-python=\"`app`\" pulumi-lang-yaml=\"`app`\" pulumi-lang-java=\"`app`\"\u003e`app`\u003c/span\u003e as the key and \u003cspan pulumi-lang-nodejs=\"`appAlias`\" pulumi-lang-dotnet=\"`AppAlias`\" pulumi-lang-go=\"`appAlias`\" pulumi-lang-python=\"`app_alias`\" pulumi-lang-yaml=\"`appAlias`\" pulumi-lang-java=\"`appAlias`\"\u003e`app_alias`\u003c/span\u003e as the value,\nwhen the kubernetes environment variable contains `app=lts`, `{app_alias: lts}` will be added to the log.\n"},"logK8s":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the kubernetes label log tag. A maximum of \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e tags can be created.\nThe key names must be unique. LTS adds the specified fields to the log when each label key has a corresponding label\nvalue. For example, if you enter \u003cspan pulumi-lang-nodejs=\"`app`\" pulumi-lang-dotnet=\"`App`\" pulumi-lang-go=\"`app`\" pulumi-lang-python=\"`app`\" pulumi-lang-yaml=\"`app`\" pulumi-lang-java=\"`app`\"\u003e`app`\u003c/span\u003e as the key and \u003cspan pulumi-lang-nodejs=\"`appAlias`\" pulumi-lang-dotnet=\"`AppAlias`\" pulumi-lang-go=\"`appAlias`\" pulumi-lang-python=\"`app_alias`\" pulumi-lang-yaml=\"`appAlias`\" pulumi-lang-java=\"`appAlias`\"\u003e`app_alias`\u003c/span\u003e as the value, when the K8s label contains\n`app=lts`, `{app_alias: lts}` will be added to the log.\n"},"logLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the container label log tag. A maximum of \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e tags can be created.\nThe key names must be unique. LTS adds the specified fields to the log when each label key has a corresponding\nlabel value. For example, if you enter \u003cspan pulumi-lang-nodejs=\"`app`\" pulumi-lang-dotnet=\"`App`\" pulumi-lang-go=\"`app`\" pulumi-lang-python=\"`app`\" pulumi-lang-yaml=\"`app`\" pulumi-lang-java=\"`app`\"\u003e`app`\u003c/span\u003e as the key and \u003cspan pulumi-lang-nodejs=\"`appAlias`\" pulumi-lang-dotnet=\"`AppAlias`\" pulumi-lang-go=\"`appAlias`\" pulumi-lang-python=\"`app_alias`\" pulumi-lang-yaml=\"`appAlias`\" pulumi-lang-java=\"`appAlias`\"\u003e`app_alias`\u003c/span\u003e as the value, when the Container label\ncontains `app=lts`, `{app_alias: lts}` will be added to the log.\n"},"multiLogFormat":{"$ref":"#/types/opentelekomcloud:index%2FLtsCceAccessV3AccessConfigMultiLogFormat:LtsCceAccessV3AccessConfigMultiLogFormat","description":"Specifies the configuration multi-line logs. Multiple lines of exception log\nevents can be displayed as a single log event. This is helpful when you check logs to locate problems.\nThe\u003cspan pulumi-lang-nodejs=\" multiLogFormat \" pulumi-lang-dotnet=\" MultiLogFormat \" pulumi-lang-go=\" multiLogFormat \" pulumi-lang-python=\" multi_log_format \" pulumi-lang-yaml=\" multiLogFormat \" pulumi-lang-java=\" multiLogFormat \"\u003e multi_log_format \u003c/span\u003estructure is documented below.\n\n\u003e \u003cspan pulumi-lang-nodejs=\"`singleLogFormat`\" pulumi-lang-dotnet=\"`SingleLogFormat`\" pulumi-lang-go=\"`singleLogFormat`\" pulumi-lang-python=\"`single_log_format`\" pulumi-lang-yaml=\"`singleLogFormat`\" pulumi-lang-java=\"`singleLogFormat`\"\u003e`single_log_format`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`multiLogFormat`\" pulumi-lang-dotnet=\"`MultiLogFormat`\" pulumi-lang-go=\"`multiLogFormat`\" pulumi-lang-python=\"`multi_log_format`\" pulumi-lang-yaml=\"`multiLogFormat`\" pulumi-lang-java=\"`multiLogFormat`\"\u003e`multi_log_format`\u003c/span\u003e must be specified.\n"},"nameSpaceRegex":{"type":"string","description":"Specifies the regular expression matching of kubernetes namespaces.\nLTS will collect logs of the namespaces with names matching this expression. To collect logs of all namespaces,\nleave this field empty.\n"},"pathType":{"type":"string","description":"Specifies the type of the CCE access. The options are as follows:\n"},"paths":{"type":"array","items":{"type":"string"},"description":"Specifies the collection paths. Required when \u003cspan pulumi-lang-nodejs=\"`pathType`\" pulumi-lang-dotnet=\"`PathType`\" pulumi-lang-go=\"`pathType`\" pulumi-lang-python=\"`path_type`\" pulumi-lang-yaml=\"`pathType`\" pulumi-lang-java=\"`pathType`\"\u003e`path_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`containerFile`\" pulumi-lang-dotnet=\"`ContainerFile`\" pulumi-lang-go=\"`containerFile`\" pulumi-lang-python=\"`container_file`\" pulumi-lang-yaml=\"`containerFile`\" pulumi-lang-java=\"`containerFile`\"\u003e`container_file`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`containerStdout`\" pulumi-lang-dotnet=\"`ContainerStdout`\" pulumi-lang-go=\"`containerStdout`\" pulumi-lang-python=\"`container_stdout`\" pulumi-lang-yaml=\"`containerStdout`\" pulumi-lang-java=\"`containerStdout`\"\u003e`container_stdout`\u003c/span\u003e\nor \u003cspan pulumi-lang-nodejs=\"`hostFile`\" pulumi-lang-dotnet=\"`HostFile`\" pulumi-lang-go=\"`hostFile`\" pulumi-lang-python=\"`host_file`\" pulumi-lang-yaml=\"`hostFile`\" pulumi-lang-java=\"`hostFile`\"\u003e`host_file`\u003c/span\u003e.\n"},"podNameRegex":{"type":"string","description":"Specifies the regular expression matching of kubernetes pods.\nLTS will collect logs of the Pods with names matching this expression. To collect logs of all Pods,\nleave this field empty.\n"},"singleLogFormat":{"$ref":"#/types/opentelekomcloud:index%2FLtsCceAccessV3AccessConfigSingleLogFormat:LtsCceAccessV3AccessConfigSingleLogFormat","description":"Specifies the configuration single-line logs. Each log line is displayed\nas a single log event.\nThe\u003cspan pulumi-lang-nodejs=\" singleLogFormat \" pulumi-lang-dotnet=\" SingleLogFormat \" pulumi-lang-go=\" singleLogFormat \" pulumi-lang-python=\" single_log_format \" pulumi-lang-yaml=\" singleLogFormat \" pulumi-lang-java=\" singleLogFormat \"\u003e single_log_format \u003c/span\u003estructure is documented below.\n"},"stderr":{"type":"boolean","description":"Specifies whether error output is standard. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e  If the value of \u003cspan pulumi-lang-nodejs=\"`pathType`\" pulumi-lang-dotnet=\"`PathType`\" pulumi-lang-go=\"`pathType`\" pulumi-lang-python=\"`path_type`\" pulumi-lang-yaml=\"`pathType`\" pulumi-lang-java=\"`pathType`\"\u003e`path_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`containerStdout`\" pulumi-lang-dotnet=\"`ContainerStdout`\" pulumi-lang-go=\"`containerStdout`\" pulumi-lang-python=\"`container_stdout`\" pulumi-lang-yaml=\"`containerStdout`\" pulumi-lang-java=\"`containerStdout`\"\u003e`container_stdout`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`stdout`\" pulumi-lang-dotnet=\"`Stdout`\" pulumi-lang-go=\"`stdout`\" pulumi-lang-python=\"`stdout`\" pulumi-lang-yaml=\"`stdout`\" pulumi-lang-java=\"`stdout`\"\u003e`stdout`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`stderr`\" pulumi-lang-dotnet=\"`Stderr`\" pulumi-lang-go=\"`stderr`\" pulumi-lang-python=\"`stderr`\" pulumi-lang-yaml=\"`stderr`\" pulumi-lang-java=\"`stderr`\"\u003e`stderr`\u003c/span\u003e must be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"stdout":{"type":"boolean","description":"Specifies whether output is standard. Default is false.\n"}},"type":"object","required":["pathType"],"language":{"nodejs":{"requiredOutputs":["pathType","stderr","stdout"]}}},"opentelekomcloud:index/LtsCceAccessV3AccessConfigMultiLogFormat:LtsCceAccessV3AccessConfigMultiLogFormat":{"properties":{"mode":{"type":"string","description":"Specifies mode of multi-line log format. The options are as follows:\n"},"value":{"type":"string","description":"Specifies value of multi-line log format.\n+ If mode is \u003cspan pulumi-lang-nodejs=\"`regular`\" pulumi-lang-dotnet=\"`Regular`\" pulumi-lang-go=\"`regular`\" pulumi-lang-python=\"`regular`\" pulumi-lang-yaml=\"`regular`\" pulumi-lang-java=\"`regular`\"\u003e`regular`\u003c/span\u003e, the value is a regular expression.\n+ If mode is \u003cspan pulumi-lang-nodejs=\"`time`\" pulumi-lang-dotnet=\"`Time`\" pulumi-lang-go=\"`time`\" pulumi-lang-python=\"`time`\" pulumi-lang-yaml=\"`time`\" pulumi-lang-java=\"`time`\"\u003e`time`\u003c/span\u003e, the value is a time wildcard, which is used to look for the log printing time\nas the beginning of a log event. If the time format in a log event is `2019-01-01 23:59:59`, the time\nwildcard is `YYYY-MM-DD hh:mm:ss`. If the time format in a log event is `19-1-1 23:59:59`, the time\nwildcard is `YY-M-D hh:mm:ss`.\n\n\u003e The time wildcard and regular expression will look for the specified pattern right from the beginning of each\nlog line. If no match is found, the system time, which may be different from the time in the log event, is used.\nIn general cases, you are advised to select `Single-line` for Log Format and \u003cspan pulumi-lang-nodejs=\"`system`\" pulumi-lang-dotnet=\"`System`\" pulumi-lang-go=\"`system`\" pulumi-lang-python=\"`system`\" pulumi-lang-yaml=\"`system`\" pulumi-lang-java=\"`system`\"\u003e`system`\u003c/span\u003e time for Log Time.\n"}},"type":"object","required":["mode"],"language":{"nodejs":{"requiredOutputs":["mode","value"]}}},"opentelekomcloud:index/LtsCceAccessV3AccessConfigSingleLogFormat:LtsCceAccessV3AccessConfigSingleLogFormat":{"properties":{"mode":{"type":"string","description":"Specifies mode of multi-line log format. The options are as follows:\n"},"value":{"type":"string","description":"Specifies value of multi-line log format.\n+ If mode is \u003cspan pulumi-lang-nodejs=\"`regular`\" pulumi-lang-dotnet=\"`Regular`\" pulumi-lang-go=\"`regular`\" pulumi-lang-python=\"`regular`\" pulumi-lang-yaml=\"`regular`\" pulumi-lang-java=\"`regular`\"\u003e`regular`\u003c/span\u003e, the value is a regular expression.\n+ If mode is \u003cspan pulumi-lang-nodejs=\"`time`\" pulumi-lang-dotnet=\"`Time`\" pulumi-lang-go=\"`time`\" pulumi-lang-python=\"`time`\" pulumi-lang-yaml=\"`time`\" pulumi-lang-java=\"`time`\"\u003e`time`\u003c/span\u003e, the value is a time wildcard, which is used to look for the log printing time\nas the beginning of a log event. If the time format in a log event is `2019-01-01 23:59:59`, the time\nwildcard is `YYYY-MM-DD hh:mm:ss`. If the time format in a log event is `19-1-1 23:59:59`, the time\nwildcard is `YY-M-D hh:mm:ss`.\n\n\u003e The time wildcard and regular expression will look for the specified pattern right from the beginning of each\nlog line. If no match is found, the system time, which may be different from the time in the log event, is used.\nIn general cases, you are advised to select `Single-line` for Log Format and \u003cspan pulumi-lang-nodejs=\"`system`\" pulumi-lang-dotnet=\"`System`\" pulumi-lang-go=\"`system`\" pulumi-lang-python=\"`system`\" pulumi-lang-yaml=\"`system`\" pulumi-lang-java=\"`system`\"\u003e`system`\u003c/span\u003e time for Log Time.\n"}},"type":"object","required":["mode"],"language":{"nodejs":{"requiredOutputs":["mode","value"]}}},"opentelekomcloud:index/LtsHostAccessV3AccessConfig:LtsHostAccessV3AccessConfig":{"properties":{"blackPaths":{"type":"array","items":{"type":"string"},"description":"Specifies the collection path blacklist.\n\n+ A path must start with `/` or `Letter:\\`.\n+ A path cannot contain only slashes (/). The following special characters are not allowed: \u003c\u003e'|\"\n+ A path cannot start with `/**` or `/*`.\n+ Only one double asterisk (**) can be contained in a path.\n+ Up to 10 paths can be specified.\n\n\u003e If you blacklist a file or directory that has been set as a collection path, the blacklist settings\nwill be used and the file or files in the directory will be filtered out.\n"},"multiLogFormat":{"$ref":"#/types/opentelekomcloud:index%2FLtsHostAccessV3AccessConfigMultiLogFormat:LtsHostAccessV3AccessConfigMultiLogFormat","description":"Specifies the configuration multi-line logs. Multiple lines of exception log events\ncan be displayed as a single log event. This is helpful when you check logs to locate problems.\nThe\u003cspan pulumi-lang-nodejs=\" multiLogFormat \" pulumi-lang-dotnet=\" MultiLogFormat \" pulumi-lang-go=\" multiLogFormat \" pulumi-lang-python=\" multi_log_format \" pulumi-lang-yaml=\" multiLogFormat \" pulumi-lang-java=\" multiLogFormat \"\u003e multi_log_format \u003c/span\u003estructure is documented below.\n"},"paths":{"type":"array","items":{"type":"string"},"description":"Specifies the collection paths.\n\n+ A path must start with `/` or `Letter:\\`.\n+ A path cannot contain only slashes (/). The following special characters are not allowed: \u003c\u003e'|\"\n+ A path cannot start with `/**` or `/*`.\n+ Only one double asterisk (**) can be contained in a path.\n+ Up to 10 paths can be specified.\n"},"singleLogFormat":{"$ref":"#/types/opentelekomcloud:index%2FLtsHostAccessV3AccessConfigSingleLogFormat:LtsHostAccessV3AccessConfigSingleLogFormat","description":"Specifies the configuration single-line logs. Each log line is displayed as a\nsingle log event. The\u003cspan pulumi-lang-nodejs=\" singleLogFormat \" pulumi-lang-dotnet=\" SingleLogFormat \" pulumi-lang-go=\" singleLogFormat \" pulumi-lang-python=\" single_log_format \" pulumi-lang-yaml=\" singleLogFormat \" pulumi-lang-java=\" singleLogFormat \"\u003e single_log_format \u003c/span\u003estructure is documented below.\n"},"windowsLogInfo":{"$ref":"#/types/opentelekomcloud:index%2FLtsHostAccessV3AccessConfigWindowsLogInfo:LtsHostAccessV3AccessConfigWindowsLogInfo","description":"Specifies the configuration of Windows event logs.\nThe\u003cspan pulumi-lang-nodejs=\" windowsLogInfo \" pulumi-lang-dotnet=\" WindowsLogInfo \" pulumi-lang-go=\" windowsLogInfo \" pulumi-lang-python=\" windows_log_info \" pulumi-lang-yaml=\" windowsLogInfo \" pulumi-lang-java=\" windowsLogInfo \"\u003e windows_log_info \u003c/span\u003estructure is documented below.\n"}},"type":"object","required":["paths"],"language":{"nodejs":{"requiredOutputs":["blackPaths","paths"]}}},"opentelekomcloud:index/LtsHostAccessV3AccessConfigMultiLogFormat:LtsHostAccessV3AccessConfigMultiLogFormat":{"properties":{"mode":{"type":"string","description":"Specifies mode of multi-line log format. The options are as follows:\n"},"value":{"type":"string","description":"Specifies value of multi-line log format.\n+ If mode is \u003cspan pulumi-lang-nodejs=\"`regular`\" pulumi-lang-dotnet=\"`Regular`\" pulumi-lang-go=\"`regular`\" pulumi-lang-python=\"`regular`\" pulumi-lang-yaml=\"`regular`\" pulumi-lang-java=\"`regular`\"\u003e`regular`\u003c/span\u003e, the value is a regular expression.\n+ If mode is \u003cspan pulumi-lang-nodejs=\"`time`\" pulumi-lang-dotnet=\"`Time`\" pulumi-lang-go=\"`time`\" pulumi-lang-python=\"`time`\" pulumi-lang-yaml=\"`time`\" pulumi-lang-java=\"`time`\"\u003e`time`\u003c/span\u003e, the value is a time wildcard, which is used to look for the log printing time as the beginning\nof a log event. If the time format in a log event is `2019-01-01 23:59:59`, the time wildcard is `YYYY-MM-DD hh:mm:ss`.\nIf the time format in a log event is `19-1-1 23:59:59`, the time wildcard is `YY-M-D hh:mm:ss`.\n\n\u003e The time wildcard and regular expression will look for the specified pattern right from the beginning of each log line.\nIf no match is found, the system time, which may be different from the time in the log event, is used. In general cases,\nyou are advised to select `Single-line` for Log Format and \u003cspan pulumi-lang-nodejs=\"`system`\" pulumi-lang-dotnet=\"`System`\" pulumi-lang-go=\"`system`\" pulumi-lang-python=\"`system`\" pulumi-lang-yaml=\"`system`\" pulumi-lang-java=\"`system`\"\u003e`system`\u003c/span\u003e time for Log Time.\n\n\u003ca name=\"HostAccessConfigWindowsLogInfo\"\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`windowsLogInfo`\" pulumi-lang-dotnet=\"`WindowsLogInfo`\" pulumi-lang-go=\"`windowsLogInfo`\" pulumi-lang-python=\"`windows_log_info`\" pulumi-lang-yaml=\"`windowsLogInfo`\" pulumi-lang-java=\"`windowsLogInfo`\"\u003e`windows_log_info`\u003c/span\u003e block supports:\n"}},"type":"object","required":["mode"],"language":{"nodejs":{"requiredOutputs":["mode","value"]}}},"opentelekomcloud:index/LtsHostAccessV3AccessConfigSingleLogFormat:LtsHostAccessV3AccessConfigSingleLogFormat":{"properties":{"mode":{"type":"string","description":"Specifies mode of multi-line log format. The options are as follows:\n"},"value":{"type":"string","description":"Specifies value of multi-line log format.\n+ If mode is \u003cspan pulumi-lang-nodejs=\"`regular`\" pulumi-lang-dotnet=\"`Regular`\" pulumi-lang-go=\"`regular`\" pulumi-lang-python=\"`regular`\" pulumi-lang-yaml=\"`regular`\" pulumi-lang-java=\"`regular`\"\u003e`regular`\u003c/span\u003e, the value is a regular expression.\n+ If mode is \u003cspan pulumi-lang-nodejs=\"`time`\" pulumi-lang-dotnet=\"`Time`\" pulumi-lang-go=\"`time`\" pulumi-lang-python=\"`time`\" pulumi-lang-yaml=\"`time`\" pulumi-lang-java=\"`time`\"\u003e`time`\u003c/span\u003e, the value is a time wildcard, which is used to look for the log printing time as the beginning\nof a log event. If the time format in a log event is `2019-01-01 23:59:59`, the time wildcard is `YYYY-MM-DD hh:mm:ss`.\nIf the time format in a log event is `19-1-1 23:59:59`, the time wildcard is `YY-M-D hh:mm:ss`.\n\n\u003e The time wildcard and regular expression will look for the specified pattern right from the beginning of each log line.\nIf no match is found, the system time, which may be different from the time in the log event, is used. In general cases,\nyou are advised to select `Single-line` for Log Format and \u003cspan pulumi-lang-nodejs=\"`system`\" pulumi-lang-dotnet=\"`System`\" pulumi-lang-go=\"`system`\" pulumi-lang-python=\"`system`\" pulumi-lang-yaml=\"`system`\" pulumi-lang-java=\"`system`\"\u003e`system`\u003c/span\u003e time for Log Time.\n\n\u003ca name=\"HostAccessConfigWindowsLogInfo\"\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`windowsLogInfo`\" pulumi-lang-dotnet=\"`WindowsLogInfo`\" pulumi-lang-go=\"`windowsLogInfo`\" pulumi-lang-python=\"`windows_log_info`\" pulumi-lang-yaml=\"`windowsLogInfo`\" pulumi-lang-java=\"`windowsLogInfo`\"\u003e`windows_log_info`\u003c/span\u003e block supports:\n"}},"type":"object","required":["mode"],"language":{"nodejs":{"requiredOutputs":["mode","value"]}}},"opentelekomcloud:index/LtsHostAccessV3AccessConfigWindowsLogInfo:LtsHostAccessV3AccessConfigWindowsLogInfo":{"properties":{"categories":{"type":"array","items":{"type":"string"},"description":"Specifies the types of Windows event logs to collect. The valid values are\n`Application`, `System`, `Security` and `Setup`.\n"},"eventLevels":{"type":"array","items":{"type":"string"},"description":"Specifies the Windows event severity. The valid values are \u003cspan pulumi-lang-nodejs=\"`information`\" pulumi-lang-dotnet=\"`Information`\" pulumi-lang-go=\"`information`\" pulumi-lang-python=\"`information`\" pulumi-lang-yaml=\"`information`\" pulumi-lang-java=\"`information`\"\u003e`information`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`warning`\" pulumi-lang-dotnet=\"`Warning`\" pulumi-lang-go=\"`warning`\" pulumi-lang-python=\"`warning`\" pulumi-lang-yaml=\"`warning`\" pulumi-lang-java=\"`warning`\"\u003e`warning`\u003c/span\u003e,\n\u003cspan pulumi-lang-nodejs=\"`error`\" pulumi-lang-dotnet=\"`Error`\" pulumi-lang-go=\"`error`\" pulumi-lang-python=\"`error`\" pulumi-lang-yaml=\"`error`\" pulumi-lang-java=\"`error`\"\u003e`error`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`critical`\" pulumi-lang-dotnet=\"`Critical`\" pulumi-lang-go=\"`critical`\" pulumi-lang-python=\"`critical`\" pulumi-lang-yaml=\"`critical`\" pulumi-lang-java=\"`critical`\"\u003e`critical`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`verbose`\" pulumi-lang-dotnet=\"`Verbose`\" pulumi-lang-go=\"`verbose`\" pulumi-lang-python=\"`verbose`\" pulumi-lang-yaml=\"`verbose`\" pulumi-lang-java=\"`verbose`\"\u003e`verbose`\u003c/span\u003e.\n"},"timeOffset":{"type":"number","description":"Specifies the collection time offset. This time takes effect only for the first\ntime to ensure that the logs are not collected repeatedly.\n\n+ When \u003cspan pulumi-lang-nodejs=\"`timeOffsetUnit`\" pulumi-lang-dotnet=\"`TimeOffsetUnit`\" pulumi-lang-go=\"`timeOffsetUnit`\" pulumi-lang-python=\"`time_offset_unit`\" pulumi-lang-yaml=\"`timeOffsetUnit`\" pulumi-lang-java=\"`timeOffsetUnit`\"\u003e`time_offset_unit`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`day`\" pulumi-lang-dotnet=\"`Day`\" pulumi-lang-go=\"`day`\" pulumi-lang-python=\"`day`\" pulumi-lang-yaml=\"`day`\" pulumi-lang-java=\"`day`\"\u003e`day`\u003c/span\u003e, the value ranges from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e days.\n+ When \u003cspan pulumi-lang-nodejs=\"`timeOffsetUnit`\" pulumi-lang-dotnet=\"`TimeOffsetUnit`\" pulumi-lang-go=\"`timeOffsetUnit`\" pulumi-lang-python=\"`time_offset_unit`\" pulumi-lang-yaml=\"`timeOffsetUnit`\" pulumi-lang-java=\"`timeOffsetUnit`\"\u003e`time_offset_unit`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`hour`\" pulumi-lang-dotnet=\"`Hour`\" pulumi-lang-go=\"`hour`\" pulumi-lang-python=\"`hour`\" pulumi-lang-yaml=\"`hour`\" pulumi-lang-java=\"`hour`\"\u003e`hour`\u003c/span\u003e, the value ranges from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`168`\" pulumi-lang-dotnet=\"`168`\" pulumi-lang-go=\"`168`\" pulumi-lang-python=\"`168`\" pulumi-lang-yaml=\"`168`\" pulumi-lang-java=\"`168`\"\u003e`168`\u003c/span\u003e hours.\n+ When \u003cspan pulumi-lang-nodejs=\"`timeOffsetUnit`\" pulumi-lang-dotnet=\"`TimeOffsetUnit`\" pulumi-lang-go=\"`timeOffsetUnit`\" pulumi-lang-python=\"`time_offset_unit`\" pulumi-lang-yaml=\"`timeOffsetUnit`\" pulumi-lang-java=\"`timeOffsetUnit`\"\u003e`time_offset_unit`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`sec`\" pulumi-lang-dotnet=\"`Sec`\" pulumi-lang-go=\"`sec`\" pulumi-lang-python=\"`sec`\" pulumi-lang-yaml=\"`sec`\" pulumi-lang-java=\"`sec`\"\u003e`sec`\u003c/span\u003e, the value ranges from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to `604,800` seconds.\n"},"timeOffsetUnit":{"type":"string","description":"Specifies the collection time offset unit. The valid values are\n\u003cspan pulumi-lang-nodejs=\"`day`\" pulumi-lang-dotnet=\"`Day`\" pulumi-lang-go=\"`day`\" pulumi-lang-python=\"`day`\" pulumi-lang-yaml=\"`day`\" pulumi-lang-java=\"`day`\"\u003e`day`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`hour`\" pulumi-lang-dotnet=\"`Hour`\" pulumi-lang-go=\"`hour`\" pulumi-lang-python=\"`hour`\" pulumi-lang-yaml=\"`hour`\" pulumi-lang-java=\"`hour`\"\u003e`hour`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`sec`\" pulumi-lang-dotnet=\"`Sec`\" pulumi-lang-go=\"`sec`\" pulumi-lang-python=\"`sec`\" pulumi-lang-yaml=\"`sec`\" pulumi-lang-java=\"`sec`\"\u003e`sec`\u003c/span\u003e.\n"}},"type":"object","required":["categories","eventLevels","timeOffset","timeOffsetUnit"]},"opentelekomcloud:index/LtsHostGroupV3Timeouts:LtsHostGroupV3Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/LtsKeywordsAlarmRuleV2Frequency:LtsKeywordsAlarmRuleV2Frequency":{"properties":{"cronExpression":{"type":"string","description":"Specifies the cron expression.\nThis parameter is used when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to **CRON**.\n"},"dayOfWeek":{"type":"number","description":"Specifies the day of week.\nThis parameter is used when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to **WEEKLY**.\nThe value ranges from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e. \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e means Sunday.\n"},"fixedRate":{"type":"number","description":"Specifies the unit fixed rate.\nThis parameter is used when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to **FIXED_RATE**.\n+ When the \u003cspan pulumi-lang-nodejs=\"`fixedRateUnit`\" pulumi-lang-dotnet=\"`FixedRateUnit`\" pulumi-lang-go=\"`fixedRateUnit`\" pulumi-lang-python=\"`fixed_rate_unit`\" pulumi-lang-yaml=\"`fixedRateUnit`\" pulumi-lang-java=\"`fixedRateUnit`\"\u003e`fixed_rate_unit`\u003c/span\u003e is **minute**, the value ranges from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e.\n+ When the \u003cspan pulumi-lang-nodejs=\"`fixedRateUnit`\" pulumi-lang-dotnet=\"`FixedRateUnit`\" pulumi-lang-go=\"`fixedRateUnit`\" pulumi-lang-python=\"`fixed_rate_unit`\" pulumi-lang-yaml=\"`fixedRateUnit`\" pulumi-lang-java=\"`fixedRateUnit`\"\u003e`fixed_rate_unit`\u003c/span\u003e is **hour**, the value ranges from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`24`\" pulumi-lang-dotnet=\"`24`\" pulumi-lang-go=\"`24`\" pulumi-lang-python=\"`24`\" pulumi-lang-yaml=\"`24`\" pulumi-lang-java=\"`24`\"\u003e`24`\u003c/span\u003e\n\n\u003ca name=\"KeywordsAlarmRule_NotificationRule\"\u003e\u003c/a\u003e\nThe `NotificationRule` block supports:\n"},"fixedRateUnit":{"type":"string","description":"Specifies the unit of fixed rate.\nThe value can be: **minute** and **hour**.\n"},"hourOfDay":{"type":"number","description":"Specifies the hour of day.\nThis parameter is used when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to **DAILY** or **WEEKLY**.\nThe value ranges from \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`23`\" pulumi-lang-dotnet=\"`23`\" pulumi-lang-go=\"`23`\" pulumi-lang-python=\"`23`\" pulumi-lang-yaml=\"`23`\" pulumi-lang-java=\"`23`\"\u003e`23`\u003c/span\u003e.\n"},"type":{"type":"string","description":"Specifies the frequency type.\nThe value can be: **CRON**, **HOURLY**, **DAILY**, **WEEKLY** and **FIXED_RATE**.\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["cronExpression","dayOfWeek","fixedRate","fixedRateUnit","hourOfDay","type"]}}},"opentelekomcloud:index/LtsKeywordsAlarmRuleV2KeywordsRequest:LtsKeywordsAlarmRuleV2KeywordsRequest":{"properties":{"condition":{"type":"string","description":"Specifies the keywords request condition.\nThe value can be: **\u003e=**, **\u003c=**, **\u003c** and **\u003e**.\n"},"keyword":{"type":"string","description":"Specifies the keywords.\n"},"logGroupId":{"type":"string","description":"Specifies the log group id.\n"},"logStreamId":{"type":"string","description":"Specifies the log stream id.\n"},"number":{"type":"number","description":"Specifies the line number.\n"},"searchTimeRange":{"type":"number","description":"Specifies the search time range.\n+ When the \u003cspan pulumi-lang-nodejs=\"`searchTimeRangeUnit`\" pulumi-lang-dotnet=\"`SearchTimeRangeUnit`\" pulumi-lang-go=\"`searchTimeRangeUnit`\" pulumi-lang-python=\"`search_time_range_unit`\" pulumi-lang-yaml=\"`searchTimeRangeUnit`\" pulumi-lang-java=\"`searchTimeRangeUnit`\"\u003e`search_time_range_unit`\u003c/span\u003e is **minute**, the value ranges from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e.\n+ When the \u003cspan pulumi-lang-nodejs=\"`searchTimeRangeUnit`\" pulumi-lang-dotnet=\"`SearchTimeRangeUnit`\" pulumi-lang-go=\"`searchTimeRangeUnit`\" pulumi-lang-python=\"`search_time_range_unit`\" pulumi-lang-yaml=\"`searchTimeRangeUnit`\" pulumi-lang-java=\"`searchTimeRangeUnit`\"\u003e`search_time_range_unit`\u003c/span\u003e is **hour**, the value ranges from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`24`\" pulumi-lang-dotnet=\"`24`\" pulumi-lang-go=\"`24`\" pulumi-lang-python=\"`24`\" pulumi-lang-yaml=\"`24`\" pulumi-lang-java=\"`24`\"\u003e`24`\u003c/span\u003e.\n\n\u003ca name=\"KeywordsAlarmRule_Frequency\"\u003e\u003c/a\u003e\nThe `Frequency` block supports:\n"},"searchTimeRangeUnit":{"type":"string","description":"Specifies the unit of search time range.\nThe value can be: **minute** and **hour**.\n"}},"type":"object","required":["condition","keyword","logGroupId","logStreamId","number","searchTimeRange","searchTimeRangeUnit"]},"opentelekomcloud:index/LtsKeywordsAlarmRuleV2NotificationRule:LtsKeywordsAlarmRuleV2NotificationRule":{"properties":{"language":{"type":"string","description":"Specifies the notification language.\nThe value can be **en-us**.\n\n\u003ca name=\"KeywordsAlarmRule_Topic\"\u003e\u003c/a\u003e\nThe `NotificationRuleTopic` block supports:\n"},"templateName":{"type":"string","description":"Specifies the notification template name.\n"},"timezone":{"type":"string","description":"Specifies the timezone.\n"},"topics":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FLtsKeywordsAlarmRuleV2NotificationRuleTopic:LtsKeywordsAlarmRuleV2NotificationRuleTopic"},"description":"Specifies the SMN topics.\nThe Topic structure is documented below.\n"},"userName":{"type":"string","description":"Specifies the username.\n"}},"type":"object","required":["topics","userName"],"language":{"nodejs":{"requiredOutputs":["language","timezone","topics","userName"]}}},"opentelekomcloud:index/LtsKeywordsAlarmRuleV2NotificationRuleTopic:LtsKeywordsAlarmRuleV2NotificationRuleTopic":{"properties":{"displayName":{"type":"string","description":"Specifies the display name.\nThis will be shown as the sender of the message.\nChanging this parameter will create a new resource.\n"},"name":{"type":"string","description":"Specifies the topic name.\nChanging this parameter will create a new resource.\n"},"pushPolicy":{"type":"number","description":"Specifies the push policy.\nChanging this parameter will create a new resource.\n"},"topicUrn":{"type":"string","description":"Specifies the topic URN.\nChanging this parameter will create a new resource.\n"}},"type":"object","required":["name","topicUrn"],"language":{"nodejs":{"requiredOutputs":["displayName","name","pushPolicy","topicUrn"]}}},"opentelekomcloud:index/LtsNotificationTemplateV2Template:LtsNotificationTemplateV2Template":{"properties":{"content":{"type":"string","description":"The content of the sub-template.\nIn the sub-template body, only the following variables are supported for the variables following the `$` symbol.\nThe supported variables vary according to the alarm type (keyword alarm and SQL alarm).\n\n+ Common variables:\n* Alarm severity: **${event_severity}**.\n* Occurrence time: **${starts_at}**.\n* Alarm source: **$event.metadata.resource_provider**.\n* Resource type: **$event.metadata.resource_type**.\n* Resource ID: **${resources}**.\n* Expression: **$event.annotations.condition_expression**.\n* current value: **$event.annotations.current_value**.\n* Statistical period: **$event.annotations.frequency**.\n\n+ Keywords alarm specific variable:\n* query time: **$event.annotations.results[0].time**.\n* Run the **$event.annotations.results[0].raw_results** command to query LTSs.\n\n+ SQL alarm specific variable:\n* LTS group/stream name: **$event.annotations.results[0].resource_id**.\n* Query statement: **$event.annotations.results[0].sql**.\n* Query time: **$event.annotations.results[0].time**.\n* Query URL: **$event.annotations.results[0].url**.\n* Run the **$event.annotations.results[0].raw_results** command to query LTSs.\n\n\u003e semicolon(;) after variable must be added. Otherwise, the template will fail to be replaced.\n"},"subType":{"type":"string","description":"The type of the sub-template.\nOnly the following five types are supported: \u003cspan pulumi-lang-nodejs=\"`sms`\" pulumi-lang-dotnet=\"`Sms`\" pulumi-lang-go=\"`sms`\" pulumi-lang-python=\"`sms`\" pulumi-lang-yaml=\"`sms`\" pulumi-lang-java=\"`sms`\"\u003e`sms`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`email`\" pulumi-lang-dotnet=\"`Email`\" pulumi-lang-go=\"`email`\" pulumi-lang-python=\"`email`\" pulumi-lang-yaml=\"`email`\" pulumi-lang-java=\"`email`\"\u003e`email`\u003c/span\u003e.\n"}},"type":"object","required":["content","subType"]},"opentelekomcloud:index/LtsTransferV2LogStream:LtsTransferV2LogStream":{"properties":{"logStreamId":{"type":"string","description":"Log stream ID.\n\nChanging this parameter will create a new resource.\n"},"logStreamName":{"type":"string","description":"Log stream name.\n\nChanging this parameter will create a new resource.\n\n\u003ca name=\"LtsTransfer_LogTransferInfo\"\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`logTransferInfo`\" pulumi-lang-dotnet=\"`LogTransferInfo`\" pulumi-lang-go=\"`logTransferInfo`\" pulumi-lang-python=\"`log_transfer_info`\" pulumi-lang-yaml=\"`logTransferInfo`\" pulumi-lang-java=\"`logTransferInfo`\"\u003e`log_transfer_info`\u003c/span\u003e block supports:\n"}},"type":"object","required":["logStreamId"],"language":{"nodejs":{"requiredOutputs":["logStreamId","logStreamName"]}}},"opentelekomcloud:index/LtsTransferV2LogTransferInfo:LtsTransferV2LogTransferInfo":{"properties":{"logAgencyTransfer":{"$ref":"#/types/opentelekomcloud:index%2FLtsTransferV2LogTransferInfoLogAgencyTransfer:LtsTransferV2LogTransferInfoLogAgencyTransfer","description":"Information about agency which lets an account delegate resource management\nto other accounts.\nThis parameter is mandatory if you transfer logs for another account.\nThe\u003cspan pulumi-lang-nodejs=\" logAgencyTransfer \" pulumi-lang-dotnet=\" LogAgencyTransfer \" pulumi-lang-go=\" logAgencyTransfer \" pulumi-lang-python=\" log_agency_transfer \" pulumi-lang-yaml=\" logAgencyTransfer \" pulumi-lang-java=\" logAgencyTransfer \"\u003e log_agency_transfer \u003c/span\u003estructure is documented below.\n\nChanging this parameter will create a new resource.\n"},"logCreatedAt":{"type":"string"},"logStorageFormat":{"type":"string","description":"Log transfer format.\nValue options are as follows:\n+ `JSON`: JSON format.\n+ `RAW`: Raw log format.\n"},"logTransferDetail":{"$ref":"#/types/opentelekomcloud:index%2FLtsTransferV2LogTransferInfoLogTransferDetail:LtsTransferV2LogTransferInfoLogTransferDetail","description":"Log transfer details.\nThe\u003cspan pulumi-lang-nodejs=\" logTransferDetail \" pulumi-lang-dotnet=\" LogTransferDetail \" pulumi-lang-go=\" logTransferDetail \" pulumi-lang-python=\" log_transfer_detail \" pulumi-lang-yaml=\" logTransferDetail \" pulumi-lang-java=\" logTransferDetail \"\u003e log_transfer_detail \u003c/span\u003estructure is documented below.\n\n\u003ca name=\"LtsTransfer_LogAgency\"\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`logAgencyTransfer`\" pulumi-lang-dotnet=\"`LogAgencyTransfer`\" pulumi-lang-go=\"`logAgencyTransfer`\" pulumi-lang-python=\"`log_agency_transfer`\" pulumi-lang-yaml=\"`logAgencyTransfer`\" pulumi-lang-java=\"`logAgencyTransfer`\"\u003e`log_agency_transfer`\u003c/span\u003e block supports:\n"},"logTransferMode":{"type":"string","description":"Log transfer mode.\nValue options are as follows:\n"},"logTransferStatus":{"type":"string","description":"Log transfer status.\nValue options are as follows:\n+ `ENABLE`: Log transfer is enabled.\n+ `DISABLE`: Log transfer is disabled\n"},"logTransferType":{"type":"string","description":"Log transfer type.\nThe valid values are `OBS`.\n\nChanging this parameter will create a new resource.\n"}},"type":"object","required":["logStorageFormat","logTransferDetail","logTransferMode","logTransferStatus","logTransferType"],"language":{"nodejs":{"requiredOutputs":["logCreatedAt","logStorageFormat","logTransferDetail","logTransferMode","logTransferStatus","logTransferType"]}}},"opentelekomcloud:index/LtsTransferV2LogTransferInfoLogAgencyTransfer:LtsTransferV2LogTransferInfoLogAgencyTransfer":{"properties":{"agencyDomainId":{"type":"string","description":"Delegator account ID.\n\nChanging this parameter will create a new resource.\n"},"agencyDomainName":{"type":"string","description":"Delegator account name.\n\nChanging this parameter will create a new resource.\n"},"agencyName":{"type":"string","description":"The agency name created by the delegator.\n\nChanging this parameter will create a new resource.\n"},"agencyProjectId":{"type":"string","description":"Project ID of the delegator.\n\nChanging this parameter will create a new resource.\n\n\u003ca name=\"LtsTransfer_LogTransferDetail\"\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`logTransferDetail`\" pulumi-lang-dotnet=\"`LogTransferDetail`\" pulumi-lang-go=\"`logTransferDetail`\" pulumi-lang-python=\"`log_transfer_detail`\" pulumi-lang-yaml=\"`logTransferDetail`\" pulumi-lang-java=\"`logTransferDetail`\"\u003e`log_transfer_detail`\u003c/span\u003e block supports:\n"}},"type":"object","required":["agencyDomainId","agencyDomainName","agencyName","agencyProjectId"]},"opentelekomcloud:index/LtsTransferV2LogTransferInfoLogTransferDetail:LtsTransferV2LogTransferInfoLogTransferDetail":{"properties":{"obsBucketName":{"type":"string","description":"OBS bucket name.\nThis parameter is mandatory when you create an OBS transfer task.\n"},"obsDirPrefixName":{"type":"string","description":"Custom transfer path of an OBS transfer task.\n"},"obsEncryptedEnable":{"type":"boolean","description":"Whether OBS bucket encryption is enabled.\n"},"obsEncryptedId":{"type":"string","description":"KMS key ID for an OBS transfer task.\nThis parameter is mandatory if encryption is enabled for the target OBS bucket.\n"},"obsEpsId":{"type":"string","description":"Enterprise project ID of an OBS transfer task.\n"},"obsPeriod":{"type":"number","description":"Length of the transfer interval for an OBS transfer task.\nThis parameter is mandatory when you create an OBS transfer task.\nThe log transfer interval is specified by the combination of the values of **obs_period** and **obs_period_unit**,\nand must be set to one of the following: 2 min, 5 min, 30 min, 1 hour, 3 hours, 6 hours, and 12 hours.\nValue options are as follows:\n"},"obsPeriodUnit":{"type":"string","description":"Unit of the transfer interval for an OBS transfer task.\nThis parameter is mandatory when you create an OBS transfer task.\nThe log transfer interval is specified by the combination of the values of \u003cspan pulumi-lang-nodejs=\"`obsPeriod`\" pulumi-lang-dotnet=\"`ObsPeriod`\" pulumi-lang-go=\"`obsPeriod`\" pulumi-lang-python=\"`obs_period`\" pulumi-lang-yaml=\"`obsPeriod`\" pulumi-lang-java=\"`obsPeriod`\"\u003e`obs_period`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`obsPeriodUnit`\" pulumi-lang-dotnet=\"`ObsPeriodUnit`\" pulumi-lang-go=\"`obsPeriodUnit`\" pulumi-lang-python=\"`obs_period_unit`\" pulumi-lang-yaml=\"`obsPeriodUnit`\" pulumi-lang-java=\"`obsPeriodUnit`\"\u003e`obs_period_unit`\u003c/span\u003e,\nand must be set to one of the following: `2 min`, `5 min`, `30 min`, `1 hour`, `3 hours`, `6 hours`, and `12 hours`.\nValue options are as follows:\n"},"obsPrefixName":{"type":"string","description":"Transfer file prefix of an OBS transfer task.\n"},"obsTimeZone":{"type":"string","description":"Time zone for an OBS transfer task.\nIf this parameter is specified, \u003cspan pulumi-lang-nodejs=\"`obsTimeZoneId`\" pulumi-lang-dotnet=\"`ObsTimeZoneId`\" pulumi-lang-go=\"`obsTimeZoneId`\" pulumi-lang-python=\"`obs_time_zone_id`\" pulumi-lang-yaml=\"`obsTimeZoneId`\" pulumi-lang-java=\"`obsTimeZoneId`\"\u003e`obs_time_zone_id`\u003c/span\u003e must also be specified.\n"},"obsTimeZoneId":{"type":"string","description":"ID of the time zone for an OBS transfer task.\nIf this parameter is specified, \u003cspan pulumi-lang-nodejs=\"`obsTimeZone`\" pulumi-lang-dotnet=\"`ObsTimeZone`\" pulumi-lang-go=\"`obsTimeZone`\" pulumi-lang-python=\"`obs_time_zone`\" pulumi-lang-yaml=\"`obsTimeZone`\" pulumi-lang-java=\"`obsTimeZone`\"\u003e`obs_time_zone`\u003c/span\u003e must also be specified.\n"},"obsTransferPath":{"type":"string","description":"OBS bucket path, which is the log transfer destination.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"The list of tag fields will be delivered when transferring.\nThis field must contain the following host information: `hostIP`, `hostId`, `hostName`, `pathFile`, and `collectTime`.\nThe common fields include `logStreamName`, `regionName`, `logGroupName`, and `projectId`, which are optional.\nThe transfer tag: `streamTag`, which is optional.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["obsBucketName","obsDirPrefixName","obsEncryptedEnable","obsEncryptedId","obsEpsId","obsPeriod","obsPeriodUnit","obsPrefixName","obsTimeZone","obsTimeZoneId","obsTransferPath","tags"]}}},"opentelekomcloud:index/MrsClusterV1AddJob:MrsClusterV1AddJob":{"properties":{"arguments":{"type":"string","description":"Key parameter for program execution. The parameter is specified by the function of the user's program. MRS is only responsible for loading the parameter. The parameter contains a maximum of \u003cspan pulumi-lang-nodejs=\"`2047`\" pulumi-lang-dotnet=\"`2047`\" pulumi-lang-go=\"`2047`\" pulumi-lang-python=\"`2047`\" pulumi-lang-yaml=\"`2047`\" pulumi-lang-java=\"`2047`\"\u003e`2047`\u003c/span\u003e characters, excluding special characters such as `;|\u0026\u003e'\u003c$`, and can be empty.\n"},"fileAction":{"type":"string","description":"Data import and export import export\n"},"hiveScriptPath":{"type":"string","description":"SQL program path. This parameter is needed by Spark Script and Hive Script jobs only and must meet the following requirements: Contains a maximum of \u003cspan pulumi-lang-nodejs=\"`1023`\" pulumi-lang-dotnet=\"`1023`\" pulumi-lang-go=\"`1023`\" pulumi-lang-python=\"`1023`\" pulumi-lang-yaml=\"`1023`\" pulumi-lang-java=\"`1023`\"\u003e`1023`\u003c/span\u003e characters, excluding special characters such as `;|\u0026\u003e\u003c'$`. The address cannot be empty or full of spaces. Starts with `/` or `s3a://`. Ends with `.sql`. \u003cspan pulumi-lang-nodejs=\"`sql`\" pulumi-lang-dotnet=\"`Sql`\" pulumi-lang-go=\"`sql`\" pulumi-lang-python=\"`sql`\" pulumi-lang-yaml=\"`sql`\" pulumi-lang-java=\"`sql`\"\u003e`sql`\u003c/span\u003e is case-insensitive.\n"},"hql":{"type":"string","description":"HiveQL statement.\n"},"input":{"type":"string","description":"Path for inputting data, which must start with `/` or `s3a://`. A correct OBS path is required. The parameter contains a maximum of \u003cspan pulumi-lang-nodejs=\"`1023`\" pulumi-lang-dotnet=\"`1023`\" pulumi-lang-go=\"`1023`\" pulumi-lang-python=\"`1023`\" pulumi-lang-yaml=\"`1023`\" pulumi-lang-java=\"`1023`\"\u003e`1023`\u003c/span\u003e characters, excluding special characters such as `;|\u0026\u003e'\u003c$`, and can be empty.\n"},"jarPath":{"type":"string","description":"Path of the `.jar` file or `.sql` file for program execution. The parameter must meet the following requirements: Contains a maximum of \u003cspan pulumi-lang-nodejs=\"`1023`\" pulumi-lang-dotnet=\"`1023`\" pulumi-lang-go=\"`1023`\" pulumi-lang-python=\"`1023`\" pulumi-lang-yaml=\"`1023`\" pulumi-lang-java=\"`1023`\"\u003e`1023`\u003c/span\u003e characters, excluding special characters such as `;|\u0026\u003e\u003c'$`. The address cannot be empty or full of spaces. Starts with `/` or `s3a://`. Spark Script must end with `.sql` while `MapReduce` and `Spark Jar` must end with `.jar`. \u003cspan pulumi-lang-nodejs=\"`sql`\" pulumi-lang-dotnet=\"`Sql`\" pulumi-lang-go=\"`sql`\" pulumi-lang-python=\"`sql`\" pulumi-lang-yaml=\"`sql`\" pulumi-lang-java=\"`sql`\"\u003e`sql`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`jar`\" pulumi-lang-dotnet=\"`Jar`\" pulumi-lang-go=\"`jar`\" pulumi-lang-python=\"`jar`\" pulumi-lang-yaml=\"`jar`\" pulumi-lang-java=\"`jar`\"\u003e`jar`\u003c/span\u003e are case-insensitive.\n"},"jobLog":{"type":"string","description":"Path for storing job logs that record job running status. This path must start with `/` or `s3a://`. A correct OBS path is required. The parameter contains a maximum of \u003cspan pulumi-lang-nodejs=\"`1023`\" pulumi-lang-dotnet=\"`1023`\" pulumi-lang-go=\"`1023`\" pulumi-lang-python=\"`1023`\" pulumi-lang-yaml=\"`1023`\" pulumi-lang-java=\"`1023`\"\u003e`1023`\u003c/span\u003e characters, excluding special characters such as `;|\u0026\u003e'\u003c$`, and can be empty.\n"},"jobName":{"type":"string","description":"It contains only \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e letters, digits, hyphens (-), and underscores (_).\n"},"jobType":{"type":"number","description":"Type. \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e: MapReduce, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e: Spark, \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e: Hive Script, \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e: HiveQL (not supported currently), \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e: DistCp, importing and exporting data (not supported in this API currently), \u003cspan pulumi-lang-nodejs=\"`6`\" pulumi-lang-dotnet=\"`6`\" pulumi-lang-go=\"`6`\" pulumi-lang-python=\"`6`\" pulumi-lang-yaml=\"`6`\" pulumi-lang-java=\"`6`\"\u003e`6`\u003c/span\u003e: Spark Script, \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e: Spark SQL, submitting Spark SQL statements (not supported in this API currently).\n"},"output":{"type":"string","description":"Path for outputting data, which must start with `/` or `s3a://`. A correct OBS path is required. If the path does not exist, the system automatically creates it. The parameter contains a maximum of \u003cspan pulumi-lang-nodejs=\"`1023`\" pulumi-lang-dotnet=\"`1023`\" pulumi-lang-go=\"`1023`\" pulumi-lang-python=\"`1023`\" pulumi-lang-yaml=\"`1023`\" pulumi-lang-java=\"`1023`\"\u003e`1023`\u003c/span\u003e characters, excluding special characters such as `;|\u0026\u003e'\u003c$`, and can be empty.\n"},"shutdownCluster":{"type":"boolean","description":"Whether to delete the cluster after the jobs are complete. \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e: Yes, \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e: No.\n"},"submitJobOnceClusterRun":{"type":"boolean","description":"Possible values are: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e a job is submitted when a cluster is created and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e a job is submitted separately.\n"}},"type":"object","required":["jarPath","jobName","jobType","submitJobOnceClusterRun"],"language":{"nodejs":{"requiredOutputs":["arguments","fileAction","hiveScriptPath","hql","input","jarPath","jobLog","jobName","jobType","output","shutdownCluster","submitJobOnceClusterRun"]}}},"opentelekomcloud:index/MrsClusterV1BootstrapScript:MrsClusterV1BootstrapScript":{"properties":{"activeMaster":{"type":"boolean","description":"Whether the bootstrap action script runs only on active Master nodes.\n"},"beforeComponentStart":{"type":"boolean","description":"Time when the bootstrap action script is executed. Currently, the script can be executed before and after the component is started. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, indicating that the bootstrap action script is executed after the component is started.\n"},"failAction":{"type":"string","description":"Whether to continue to execute subsequent scripts and create a cluster after the bootstrap action script fails to be executed. \u003cspan pulumi-lang-nodejs=\"`continue`\" pulumi-lang-dotnet=\"`Continue`\" pulumi-lang-go=\"`continue`\" pulumi-lang-python=\"`continue`\" pulumi-lang-yaml=\"`continue`\" pulumi-lang-java=\"`continue`\"\u003e`continue`\u003c/span\u003e: Continue to execute subsequent scripts. \u003cspan pulumi-lang-nodejs=\"`errorout`\" pulumi-lang-dotnet=\"`Errorout`\" pulumi-lang-go=\"`errorout`\" pulumi-lang-python=\"`errorout`\" pulumi-lang-yaml=\"`errorout`\" pulumi-lang-java=\"`errorout`\"\u003e`errorout`\u003c/span\u003e: Stop the action.\n\n\u003e **NOTE:**\nPlease refer to [user guide](https://docs.otc.t-systems.com/mapreduce-service/umn/managing_clusters/bootstrap_actions/index.html) for configuring bootstrap actions.\n"},"name":{"type":"string","description":"Name of a bootstrap action script. It must be unique in a cluster. The value can contain only digits, letters, spaces, hyphens (-), and underscores (_) and cannot start with a space.The value can contain \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e characters.\n"},"nodes":{"type":"array","items":{"type":"string"},"description":"Type of node where the bootstrap action script is executed, including \u003cspan pulumi-lang-nodejs=\"`master`\" pulumi-lang-dotnet=\"`Master`\" pulumi-lang-go=\"`master`\" pulumi-lang-python=\"`master`\" pulumi-lang-yaml=\"`master`\" pulumi-lang-java=\"`master`\"\u003e`master`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`core`\" pulumi-lang-dotnet=\"`Core`\" pulumi-lang-go=\"`core`\" pulumi-lang-python=\"`core`\" pulumi-lang-yaml=\"`core`\" pulumi-lang-java=\"`core`\"\u003e`core`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`task`\" pulumi-lang-dotnet=\"`Task`\" pulumi-lang-go=\"`task`\" pulumi-lang-python=\"`task`\" pulumi-lang-yaml=\"`task`\" pulumi-lang-java=\"`task`\"\u003e`task`\u003c/span\u003e.\n"},"parameters":{"type":"string","description":"Bootstrap action script parameters.\n"},"uri":{"type":"string","description":"Path of a bootstrap action script. Set this parameter to an OBS bucket path or a local VM path.\n**OBS bucket path**: Enter a script path manually. For example, enter the path of the public sample script provided by MRS. Example: s3a://bootstrap/presto/presto-install.sh. If dualroles is installed, the parameter of the presto-install.sh script is dualroles. If worker is installed, the parameter of the presto-install.sh script is worker. Based on the Presto usage habit, you are advised to install dualroles on the active Master nodes and worker on the Core nodes.\n**Local VM path**: Enter a script path. The script path must start with a slash (/) and end with .sh.\n"}},"type":"object","required":["failAction","name","nodes","uri"],"language":{"nodejs":{"requiredOutputs":["activeMaster","beforeComponentStart","failAction","name","nodes","parameters","uri"]}}},"opentelekomcloud:index/MrsClusterV1ComponentList:MrsClusterV1ComponentList":{"properties":{"componentDesc":{"type":"string"},"componentId":{"type":"string","description":"Component ID.\n"},"componentName":{"type":"string","description":"Component name.\n"},"componentVersion":{"type":"string","description":"Component version.\n"}},"type":"object","required":["componentName"],"language":{"nodejs":{"requiredOutputs":["componentDesc","componentId","componentName","componentVersion"]}}},"opentelekomcloud:index/MrsClusterV1Timeouts:MrsClusterV1Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/MrsJobV1Timeouts:MrsJobV1Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/NatDnatRuleV2Timeouts:NatDnatRuleV2Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/NatGatewayV2Timeouts:NatGatewayV2Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/NatSnatRuleV2Timeouts:NatSnatRuleV2Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/NetworkingFloatingipV2Timeouts:NetworkingFloatingipV2Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/NetworkingNetworkV2Segment:NetworkingNetworkV2Segment":{"properties":{"networkType":{"type":"string","description":"The type of physical network.\n"},"physicalNetwork":{"type":"string","description":"The physical network where this network is implemented.\n"},"segmentationId":{"type":"number","description":"An isolated segment on the physical network.\n"}},"type":"object"},"opentelekomcloud:index/NetworkingNetworkV2Timeouts:NetworkingNetworkV2Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/NetworkingPortV2AllowedAddressPair:NetworkingPortV2AllowedAddressPair":{"properties":{"ipAddress":{"type":"string","description":"The additional IP address.\n"},"macAddress":{"type":"string","description":"The additional MAC address.\n"}},"type":"object","required":["ipAddress"],"language":{"nodejs":{"requiredOutputs":["ipAddress","macAddress"]}}},"opentelekomcloud:index/NetworkingPortV2ExtraDhcpOption:NetworkingPortV2ExtraDhcpOption":{"properties":{"name":{"type":"string","description":"Specifies the option name.\n"},"value":{"type":"string","description":"Specifies the option value.\n"}},"type":"object","required":["name","value"]},"opentelekomcloud:index/NetworkingPortV2FixedIp:NetworkingPortV2FixedIp":{"properties":{"ipAddress":{"type":"string","description":"IP address desired in the subnet for this port. If\nyou don't specify \u003cspan pulumi-lang-nodejs=\"`ipAddress`\" pulumi-lang-dotnet=\"`IpAddress`\" pulumi-lang-go=\"`ipAddress`\" pulumi-lang-python=\"`ip_address`\" pulumi-lang-yaml=\"`ipAddress`\" pulumi-lang-java=\"`ipAddress`\"\u003e`ip_address`\u003c/span\u003e, an available IP address from the specified\nsubnet will be allocated to this port.\n"},"subnetId":{"type":"string","description":"Subnet in which to allocate IP address for\nthis port.\n"}},"type":"object","required":["subnetId"]},"opentelekomcloud:index/NetworkingPortV2Timeouts:NetworkingPortV2Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/NetworkingRouterInterfaceV2Timeouts:NetworkingRouterInterfaceV2Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/NetworkingRouterV2Timeouts:NetworkingRouterV2Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/NetworkingSecgroupRuleV2Timeouts:NetworkingSecgroupRuleV2Timeouts":{"properties":{"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/NetworkingSecgroupV2Timeouts:NetworkingSecgroupV2Timeouts":{"properties":{"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/NetworkingSubnetV2AllocationPool:NetworkingSubnetV2AllocationPool":{"properties":{"end":{"type":"string","description":"The ending address.\n"},"start":{"type":"string","description":"The starting address.\n"}},"type":"object","required":["end","start"]},"opentelekomcloud:index/NetworkingSubnetV2HostRoute:NetworkingSubnetV2HostRoute":{"properties":{"destinationCidr":{"type":"string","description":"The destination CIDR.\n"},"nextHop":{"type":"string","description":"The next hop in the route.\n"}},"type":"object","required":["destinationCidr","nextHop"]},"opentelekomcloud:index/NetworkingSubnetV2Timeouts:NetworkingSubnetV2Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/ObsBucketAclAccountPermission:ObsBucketAclAccountPermission":{"properties":{"accessToAcls":{"type":"array","items":{"type":"string"},"description":"Specifies the access to acl. Valid values are **READ_ACP** and **WRITE_ACP**.\n"},"accessToBuckets":{"type":"array","items":{"type":"string"},"description":"Specifies the access to bucket. Valid values are **READ** and **WRITE**.\n"},"accountId":{"type":"string","description":"Specifies the account id to authorize. The account id cannot be the bucket owner,\nand must be unique.\n"}},"type":"object","required":["accountId"]},"opentelekomcloud:index/ObsBucketAclLogDeliveryUserPermission:ObsBucketAclLogDeliveryUserPermission":{"properties":{"accessToAcls":{"type":"array","items":{"type":"string"},"description":"Specifies the access to acl. Valid values are **READ_ACP** and **WRITE_ACP**.\n"},"accessToBuckets":{"type":"array","items":{"type":"string"},"description":"Specifies the access to bucket. Valid values are **READ** and **WRITE**.\n"}},"type":"object"},"opentelekomcloud:index/ObsBucketAclOwnerPermission:ObsBucketAclOwnerPermission":{"properties":{"accessToAcls":{"type":"array","items":{"type":"string"},"description":"Specifies the access to acl. Valid values are **READ_ACP** and **WRITE_ACP**.\n"},"accessToBuckets":{"type":"array","items":{"type":"string"},"description":"Specifies the access to bucket. Valid values are **READ** and **WRITE**.\n"}},"type":"object"},"opentelekomcloud:index/ObsBucketAclPublicPermission:ObsBucketAclPublicPermission":{"properties":{"accessToAcls":{"type":"array","items":{"type":"string"},"description":"Specifies the access to acl. Valid values are **READ_ACP** and **WRITE_ACP**.\n"},"accessToBuckets":{"type":"array","items":{"type":"string"},"description":"Specifies the access to bucket. Valid values are **READ** and **WRITE**.\n"}},"type":"object"},"opentelekomcloud:index/ObsBucketCorsRule:ObsBucketCorsRule":{"properties":{"allowedHeaders":{"type":"array","items":{"type":"string"},"description":"Specifies the allowed header of cross-origin requests.\nOnly CORS requests matching the allowed header are valid.\n"},"allowedMethods":{"type":"array","items":{"type":"string"},"description":"Specifies the acceptable operation type of buckets and objects.\nThe methods include `GET`, `PUT`, `POST`, `DELETE` or `HEAD`.\n"},"allowedOrigins":{"type":"array","items":{"type":"string"},"description":"Requests from this origin can access the bucket. Multiple matching rules are allowed.\nOne rule occupies one line, and allows one wildcard character (*) at most.\n"},"exposeHeaders":{"type":"array","items":{"type":"string"},"description":"Specifies the exposed header in CORS responses, providing additional\ninformation for clients.\n"},"maxAgeSeconds":{"type":"number","description":"Specifies the duration that your browser can cache CORS responses,\nexpressed in seconds. The default value is \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e.\n"}},"type":"object","required":["allowedMethods","allowedOrigins"]},"opentelekomcloud:index/ObsBucketEventNotification:ObsBucketEventNotification":{"properties":{"events":{"type":"array","items":{"type":"string"},"description":"Type of events that need to be notified.\n\n\u003e Events should not have `s3:` prefix, e.g. `\"ObjectCreated:*\"` is valid value, but `\"s3:ObjectCreated:*\"` is not.\n"},"filterRules":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FObsBucketEventNotificationFilterRule:ObsBucketEventNotificationFilterRule"},"description":"Filtering rules. The rules filter objects based on the prefixes and suffixes of object names.\n"},"id":{"type":"string","description":"Unique ID of the event notification. If the user does not specify an ID, the system assigns an ID automatically.\n"},"topic":{"type":"string","description":"URN of the event notification topic. After detecting a specific event, OBS sends a message to the topic.\n\n\u003e Topic should exist and be authorized to be used by OBS.\n"}},"type":"object","required":["events","topic"],"language":{"nodejs":{"requiredOutputs":["events","id","topic"]}}},"opentelekomcloud:index/ObsBucketEventNotificationFilterRule:ObsBucketEventNotificationFilterRule":{"properties":{"name":{"type":"string","description":"Specifies the prefix or suffix of object names for filtering. Valid values are \u003cspan pulumi-lang-nodejs=\"`prefix`\" pulumi-lang-dotnet=\"`Prefix`\" pulumi-lang-go=\"`prefix`\" pulumi-lang-python=\"`prefix`\" pulumi-lang-yaml=\"`prefix`\" pulumi-lang-java=\"`prefix`\"\u003e`prefix`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`suffix`\" pulumi-lang-dotnet=\"`Suffix`\" pulumi-lang-go=\"`suffix`\" pulumi-lang-python=\"`suffix`\" pulumi-lang-yaml=\"`suffix`\" pulumi-lang-java=\"`suffix`\"\u003e`suffix`\u003c/span\u003e.\n"},"value":{"type":"string","description":"Specifies keywords of object names so that objects can be filtered based on the prefixes or suffixes.\nThe value contains a maximum of \u003cspan pulumi-lang-nodejs=\"`1024`\" pulumi-lang-dotnet=\"`1024`\" pulumi-lang-go=\"`1024`\" pulumi-lang-python=\"`1024`\" pulumi-lang-yaml=\"`1024`\" pulumi-lang-java=\"`1024`\"\u003e`1024`\u003c/span\u003e characters.\n"}},"type":"object"},"opentelekomcloud:index/ObsBucketInventoryDestination:ObsBucketInventoryDestination":{"properties":{"bucket":{"type":"string","description":"Name of the bucket for saving inventories.\n"},"format":{"type":"string","description":"Inventory format. Only the `CSV` format is supported.\n"},"prefix":{"type":"string","description":"The name prefix of inventory files. If no prefix is configured, the names of inventory files will start with the `BucketInventory` by default.\n"}},"type":"object","required":["bucket","format"]},"opentelekomcloud:index/ObsBucketLifecycleRule:ObsBucketLifecycleRule":{"properties":{"abortIncompleteMultipartUploads":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FObsBucketLifecycleRuleAbortIncompleteMultipartUpload:ObsBucketLifecycleRuleAbortIncompleteMultipartUpload"},"description":"Specifies a period when the not merged parts (fragments) in an\nincomplete upload are automatically deleted. (documented below).\n\n\u003e At least one of \u003cspan pulumi-lang-nodejs=\"`expiration`\" pulumi-lang-dotnet=\"`Expiration`\" pulumi-lang-go=\"`expiration`\" pulumi-lang-python=\"`expiration`\" pulumi-lang-yaml=\"`expiration`\" pulumi-lang-java=\"`expiration`\"\u003e`expiration`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`transition`\" pulumi-lang-dotnet=\"`Transition`\" pulumi-lang-go=\"`transition`\" pulumi-lang-python=\"`transition`\" pulumi-lang-yaml=\"`transition`\" pulumi-lang-java=\"`transition`\"\u003e`transition`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`noncurrentVersionExpiration`\" pulumi-lang-dotnet=\"`NoncurrentVersionExpiration`\" pulumi-lang-go=\"`noncurrentVersionExpiration`\" pulumi-lang-python=\"`noncurrent_version_expiration`\" pulumi-lang-yaml=\"`noncurrentVersionExpiration`\" pulumi-lang-java=\"`noncurrentVersionExpiration`\"\u003e`noncurrent_version_expiration`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`noncurrentVersionTransition`\" pulumi-lang-dotnet=\"`NoncurrentVersionTransition`\" pulumi-lang-go=\"`noncurrentVersionTransition`\" pulumi-lang-python=\"`noncurrent_version_transition`\" pulumi-lang-yaml=\"`noncurrentVersionTransition`\" pulumi-lang-java=\"`noncurrentVersionTransition`\"\u003e`noncurrent_version_transition`\u003c/span\u003e\nmust be specified.\n"},"enabled":{"type":"boolean","description":"Specifies lifecycle rule status.\n"},"expirations":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FObsBucketLifecycleRuleExpiration:ObsBucketLifecycleRuleExpiration"},"description":"Specifies a period when objects that have been last updated are automatically\ndeleted. (documented below).\n"},"name":{"type":"string","description":"Unique identifier for lifecycle rules. The Rule Name contains a maximum of 255 characters.\n"},"noncurrentVersionExpirations":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FObsBucketLifecycleRuleNoncurrentVersionExpiration:ObsBucketLifecycleRuleNoncurrentVersionExpiration"},"description":"Specifies a period when noncurrent object versions are\nautomatically deleted. (documented below).\n"},"noncurrentVersionTransitions":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FObsBucketLifecycleRuleNoncurrentVersionTransition:ObsBucketLifecycleRuleNoncurrentVersionTransition"},"description":"Specifies a period when noncurrent object versions are\nautomatically transitioned to `WARM` or `COLD` storage class (documented below).\n"},"prefix":{"type":"string","description":"Object key prefix identifying one or more objects to which the rule applies.\nIf omitted, all objects in the bucket will be managed by the lifecycle rule. The prefix cannot start\nor end with a slash (/), cannot have consecutive slashes (/), and cannot contain the following\nspecial characters: \\:*?\"\u003c\u003e|.\n"},"tags":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FObsBucketLifecycleRuleTag:ObsBucketLifecycleRuleTag"},"description":"A list of tags to filter objects. Maximum 10 tags per rule with unique keys (documented below).\n"},"transitions":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FObsBucketLifecycleRuleTransition:ObsBucketLifecycleRuleTransition"},"description":"Specifies a period when objects that have been last updated are automatically\ntransitioned to `WARM` or `COLD` storage class (documented below).\n"}},"type":"object","required":["enabled","name"]},"opentelekomcloud:index/ObsBucketLifecycleRuleAbortIncompleteMultipartUpload:ObsBucketLifecycleRuleAbortIncompleteMultipartUpload":{"properties":{"days":{"type":"number","description":"Specifies the number of days since the initiation of an incomplete multipart upload that OBS\nwill wait before deleting the not merged parts (fragments) of the upload.\n"}},"type":"object","required":["days"]},"opentelekomcloud:index/ObsBucketLifecycleRuleExpiration:ObsBucketLifecycleRuleExpiration":{"properties":{"days":{"type":"number","description":"Specifies the number of days when objects that have been last updated are automatically deleted.\nThe expiration time must be greater than the transition times.\n"}},"type":"object","required":["days"]},"opentelekomcloud:index/ObsBucketLifecycleRuleNoncurrentVersionExpiration:ObsBucketLifecycleRuleNoncurrentVersionExpiration":{"properties":{"days":{"type":"number","description":"Specifies the number of days when noncurrent object versions are automatically deleted.\n"}},"type":"object","required":["days"]},"opentelekomcloud:index/ObsBucketLifecycleRuleNoncurrentVersionTransition:ObsBucketLifecycleRuleNoncurrentVersionTransition":{"properties":{"days":{"type":"number","description":"Specifies the number of days when noncurrent object versions are automatically\ntransitioned to the specified storage class.\n"},"storageClass":{"type":"string","description":"The class of storage used to store the object. Only `WARM` and `COLD` are supported.\n"}},"type":"object","required":["days","storageClass"]},"opentelekomcloud:index/ObsBucketLifecycleRuleTag:ObsBucketLifecycleRuleTag":{"properties":{"key":{"type":"string","description":"The tag key. Must be unique within the rule, cannot be blank, maximum 128 characters. Cannot contain: =*\u003c\u003e\\,|/?!;\n"},"value":{"type":"string","description":"The tag value. Can be blank, maximum 255 characters. Cannot contain: =*\u003c\u003e\\,|?!;\n"}},"type":"object","required":["key","value"]},"opentelekomcloud:index/ObsBucketLifecycleRuleTransition:ObsBucketLifecycleRuleTransition":{"properties":{"days":{"type":"number","description":"Specifies the number of days when objects that have been last updated are automatically\ntransitioned to the specified storage class.\n"},"storageClass":{"type":"string","description":"The class of storage used to store the object. Only `WARM` and `COLD` are supported.\n"}},"type":"object","required":["days","storageClass"]},"opentelekomcloud:index/ObsBucketLogging:ObsBucketLogging":{"properties":{"agency":{"type":"string","description":"Specifies the IAM agency of OBS cloud service.\n\n\u003e The IAM agency requires the `PutObject` permission for the target bucket.  If default encryption is enabled for the\ntarget bucket, the agency also requires the `KMS Administrator` permission in the region where the target bucket is\nlocated.\n"},"targetBucket":{"type":"string","description":"The name of the bucket that will receive the log objects.\nThe acl policy of the target bucket should be `log-delivery-write`.\n"},"targetPrefix":{"type":"string","description":"To specify a key prefix for log objects.\n"}},"type":"object","required":["targetBucket"],"language":{"nodejs":{"requiredOutputs":["agency","targetBucket"]}}},"opentelekomcloud:index/ObsBucketObjectAclAccountPermission:ObsBucketObjectAclAccountPermission":{"properties":{"accessToAcls":{"type":"array","items":{"type":"string"},"description":"Specifies the access to acl. Valid values are **READ_ACP** and **WRITE_ACP**.\n"},"accessToObjects":{"type":"array","items":{"type":"string"},"description":"Specifies the access to object. Only **READ** supported.\n"},"accountId":{"type":"string","description":"Specifies the account id to authorize. The account id cannot be the object owner,\nand must be unique.\n"}},"type":"object","required":["accountId"]},"opentelekomcloud:index/ObsBucketObjectAclOwnerPermission:ObsBucketObjectAclOwnerPermission":{"properties":{"accessToAcls":{"type":"array","items":{"type":"string"},"description":"Specifies the access to acl. Valid values are **READ_ACP** and **WRITE_ACP**.\n"},"accessToObjects":{"type":"array","items":{"type":"string"},"description":"Specifies the access to object. Only **READ** supported.\n"}},"type":"object","required":["accessToAcls","accessToObjects"]},"opentelekomcloud:index/ObsBucketObjectAclPublicPermission:ObsBucketObjectAclPublicPermission":{"properties":{"accessToAcls":{"type":"array","items":{"type":"string"},"description":"Specifies the access to acl. Valid values are **READ_ACP** and **WRITE_ACP**.\n"},"accessToObjects":{"type":"array","items":{"type":"string"},"description":"Specifies the access to object. Only **READ** supported.\n"}},"type":"object"},"opentelekomcloud:index/ObsBucketReplicationRule:ObsBucketReplicationRule":{"properties":{"deleteData":{"type":"boolean","description":"Specifies cross-region replication object deletion operations status. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\nIf the value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, object deletion for the source bucket will be replicated to the destination bucket.\n"},"enabled":{"type":"boolean","description":"Specifies cross-region replication rule status. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"historyEnabled":{"type":"boolean","description":"Specifies cross-region replication history rule status. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\nIf the value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, historical objects meeting this rule are copied.\n"},"id":{"type":"string","description":"The name of the bucket.\n* `rule/id` - The ID of a rule in UUID format.\n"},"prefix":{"type":"string","description":"Specifies the prefix of an object key name, applicable to one or more objects.\nThe maximum length of a prefix is 1024 characters.\nDuplicated prefixes are not supported. If omitted, all objects in the bucket will be managed by the lifecycle rule.\nTo copy a folder, end the prefix with a slash (/), for example, imgs/.\n"},"storageClass":{"type":"string","description":"Specifies the storage class for replicated objects. Valid values are `STANDARD`,\n`WARM` (Infrequent Access) and `COLD` (Archive).\nIf omitted, the storage class of object copies is the same as that of objects in the source bucket.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["id"]}}},"opentelekomcloud:index/ObsBucketServerSideEncryption:ObsBucketServerSideEncryption":{"properties":{"algorithm":{"type":"string","description":"The algorithm used for SSE. Only \u003cspan pulumi-lang-nodejs=\"`kms`\" pulumi-lang-dotnet=\"`Kms`\" pulumi-lang-go=\"`kms`\" pulumi-lang-python=\"`kms`\" pulumi-lang-yaml=\"`kms`\" pulumi-lang-java=\"`kms`\"\u003e`kms`\u003c/span\u003e is supported.\n"},"kmsKeyId":{"type":"string","description":"The ID of KMS key used for the encryption.\n"},"kmsProjectId":{"type":"string","description":"The ID of the project where the KMS master key belongs.\n\n\u003e Only base project (e.g. `eu-de`) KMS keys can be used for the encryption\n"}},"type":"object","required":["algorithm","kmsKeyId"]},"opentelekomcloud:index/ObsBucketWebsite:ObsBucketWebsite":{"properties":{"errorDocument":{"type":"string","description":"Specifies the error page returned when an error occurs during static website access.\nOnly HTML, JPG, PNG, BMP, and WEBP files under the root directory are supported.\n"},"indexDocument":{"type":"string","description":"Specifies the default homepage of the\nstatic website, only HTML web pages are supported. OBS only allows files such as `index.html` in the root\ndirectory of a bucket to function as the default homepage. That is to say, do not set the default homepage\nwith a multi-level directory structure (for example, `/page/index.html`).\n"},"redirectAllRequestsTo":{"type":"string","description":"A hostname to redirect all website requests for this bucket to.\nHostname can optionally be prefixed with a protocol (`http://` or `https://`) to use when redirecting\nrequests. The default is the protocol that is used in the original request.\n"},"routingRules":{"type":"string","description":"A JSON or XML format containing routing rules describing redirect\nbehavior and when redirects are applied. Each rule contains a `Condition` and a `Redirect`\nas shown in the following table:\n\n| Parameter | Key |\n|-----------|-----|\n| Condition | KeyPrefixEquals, HttpErrorCodeReturnedEquals |\n| Redirect | Protocol, HostName, ReplaceKeyPrefixWith, ReplaceKeyWith, HttpRedirectCode |\n"}},"type":"object"},"opentelekomcloud:index/ObsBucketWormPolicy:ObsBucketWormPolicy":{"properties":{"days":{"type":"number","description":"Default protection period, in \u003cspan pulumi-lang-nodejs=\"`days`\" pulumi-lang-dotnet=\"`Days`\" pulumi-lang-go=\"`days`\" pulumi-lang-python=\"`days`\" pulumi-lang-yaml=\"`days`\" pulumi-lang-java=\"`days`\"\u003e`days`\u003c/span\u003e.\nThe value is from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`36500`\" pulumi-lang-dotnet=\"`36500`\" pulumi-lang-go=\"`36500`\" pulumi-lang-python=\"`36500`\" pulumi-lang-yaml=\"`36500`\" pulumi-lang-java=\"`36500`\"\u003e`36500`\u003c/span\u003e.\n"},"years":{"type":"number","description":"Default protection period, in years. In a leap year, only 365 days are calculated.\nThe value is from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e.\n"}},"type":"object"},"opentelekomcloud:index/PrivateNatDnatRuleV3Timeouts:PrivateNatDnatRuleV3Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/PrivateNatGatewayV3DownlinkVpc:PrivateNatGatewayV3DownlinkVpc":{"properties":{"ngportIpAddress":{"type":"string","description":"Specifies the private IP address of the private NAT gateway.\n"},"virsubnetId":{"type":"string","description":"Specifies the ID of the subnet where the private NAT gateway works.\n"},"vpcId":{"type":"string","description":"Indicates the ID of the VPC where the private NAT gateway works.\n"}},"type":"object","required":["virsubnetId"],"language":{"nodejs":{"requiredOutputs":["ngportIpAddress","virsubnetId","vpcId"]}}},"opentelekomcloud:index/PrivateNatGatewayV3Timeouts:PrivateNatGatewayV3Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/PrivateNatSnatRuleV3Timeouts:PrivateNatSnatRuleV3Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/PrivateNatSnatRuleV3TransitIpAssociation:PrivateNatSnatRuleV3TransitIpAssociation":{"properties":{"transitIpAddress":{"type":"string","description":"Indicates the transit IP address.\n"},"transitIpId":{"type":"string","description":"Indicates the ID of the transit IP address.\n"}},"type":"object","required":["transitIpAddress","transitIpId"]},"opentelekomcloud:index/PrivateNatTransitIpV3Timeouts:PrivateNatTransitIpV3Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/RdsBackupV3Timeouts:RdsBackupV3Timeouts":{"properties":{"create":{"type":"string"}},"type":"object"},"opentelekomcloud:index/RdsInstanceV1Backupstrategy:RdsInstanceV1Backupstrategy":{"properties":{"keepdays":{"type":"number","description":"Specifies the number of days to retain the generated backup files.\nIts value range is 0 to 35. If this parameter is not specified or set to 0, the\nautomated backup policy is disabled.\n"},"starttime":{"type":"string","description":"Indicates the backup start time that has been set.\nThe backup task will be triggered within one hour after the backup start time.\nValid value: The value cannot be empty. It must use the hh:mm:ss format and\nmust be valid. The current time is the UTC time.\n"}},"type":"object"},"opentelekomcloud:index/RdsInstanceV1Datastore:RdsInstanceV1Datastore":{"properties":{"type":{"type":"string","description":"Specifies the DB engine. Currently, MySQL, PostgreSQL, and\nMicrosoft SQL Server are supported. The value is MySQL, PostgreSQL, or SQLServer.\n"},"version":{"type":"string","description":"Specifies the DB instance version.\n\n* Available value for attributes\n\n| type       | version                                                                   |\n|------------|---------------------------------------------------------------------------|\n| PostgreSQL | 9.5.5 \u003cbr\u003e 9.6.3 \u003cbr\u003e 9.6.5                                               |\n| MySQL      | 5.6.33 \u003cbr\u003e5.6.30  \u003cbr\u003e5.6.34 \u003cbr\u003e5.6.35 \u003cbr\u003e5.6.36 \u003cbr\u003e5.7.17 \u003cbr\u003e5.7.20 |\n| SQLServer  | 2014 SP2 SE                                                               |\n"}},"type":"object","required":["type","version"]},"opentelekomcloud:index/RdsInstanceV1Ha:RdsInstanceV1Ha":{"properties":{"enable":{"type":"boolean","description":"Specifies the configured parameters on the HA.\nValid value: The value is true or false. The value true indicates creating\nHA DB instances. The value false indicates creating a single DB instance.\n"},"replicationmode":{"type":"string","description":"Specifies the replication mode for the standby DB instance.\nThe value cannot be empty.\nFor MySQL, the value is async or semisync.\nFor PostgreSQL, the value is async or sync.\n"}},"type":"object"},"opentelekomcloud:index/RdsInstanceV1Nics:RdsInstanceV1Nics":{"properties":{"subnetid":{"type":"string"}},"type":"object","required":["subnetid"]},"opentelekomcloud:index/RdsInstanceV1Securitygroup:RdsInstanceV1Securitygroup":{"properties":{"id":{"type":"string","description":"Specifies the ID obtained from the securitygroup.\n\nThe `backupstrategy ` block supports:\n"}},"type":"object","required":["id"]},"opentelekomcloud:index/RdsInstanceV1Timeouts:RdsInstanceV1Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/RdsInstanceV1Volume:RdsInstanceV1Volume":{"properties":{"size":{"type":"number","description":"Specifies the volume size.\nIts value must be a multiple of 10 and the value range is 100 GB to 2000 GB.\n"},"type":{"type":"string","description":"Specifies the volume type. Valid value:\nIt must be COMMON (SATA) or ULTRAHIGH (SSD) and is case-sensitive.\n"}},"type":"object","required":["size","type"]},"opentelekomcloud:index/RdsInstanceV3BackupStrategy:RdsInstanceV3BackupStrategy":{"properties":{"keepDays":{"type":"number","description":"Specifies the retention days for specific backup files. The value\nrange is from 0 to 732. If this parameter is not specified or set\nto 0, the automated backup policy is disabled. NOTICE:\nPrimary/standby DB instances of Microsoft SQL Server do not\nsupport disabling the automated backup policy.\n"},"period":{"type":"string","description":"Specifies the backup cycle configuration. Data will be automatically backed up on the selected days every week.\nThis parameter is mandatory except that the automated backup policy is disabled.\nValue range: The value is digits separated by commas (,), indicating the day of the week and starting from Monday.\nFor example, the value `1,2,3,4` indicates that the backup period is Monday, Tuesday, Wednesday, and Thursday.\n"},"startTime":{"type":"string","description":"Specifies the backup time window. Automated backups will be\ntriggered during the backup time window. It must be a valid value in the \u0026quot;hh:mm-HH:MM\u0026quot;\nformat. The current time is in the UTC format. The HH value must\nbe 1 greater than the hh value. The values of mm and MM must be\nthe same and must be set to any of the following: 00, 15, 30, or\n45. Example value: 08:15-09:15 23:00-00:00.\n"}},"type":"object","required":["startTime"],"language":{"nodejs":{"requiredOutputs":["keepDays","period","startTime"]}}},"opentelekomcloud:index/RdsInstanceV3Db:RdsInstanceV3Db":{"properties":{"password":{"type":"string","description":"Specifies the database password. The value cannot be\nempty and should contain 8 to 32 characters, including uppercase\nand lowercase letters, digits, and the following special\ncharacters: ~!@#%^*-_=+? You are advised to enter a strong\npassword to improve security, preventing security risks such as\nbrute force cracking.  Changing this parameter will create a new resource.\n","secret":true},"port":{"type":"number","description":"Specifies the database port information. The MySQL database port\nranges from 1024 to 65535 (excluding 12017 and 33071, which are\noccupied by the RDS system and cannot be used). The PostgreSQL\ndatabase port ranges from 2100 to 9500. The Microsoft SQL Server\ndatabase port can be 1433 or ranges from 2100 to 9500, excluding\n5355 and 5985. If this parameter is not set, the default value is\nas follows: For MySQL, the default value is 3306. For PostgreSQL,\nthe default value is 5432. For Microsoft SQL Server, the default\nvalue is 1433.  Changing this parameter will create a new resource.\n"},"type":{"type":"string","description":"Specifies the DB engine. Value: MySQL, PostgreSQL, SQLServer. Changing this parameter will create a new resource.\n"},"userName":{"type":"string","description":"Indicates the default user name of database.\n"},"version":{"type":"string","description":"Specifies the database version.\n* MySQL: 8.0, 5.7, and 5.6\n* PostgreSQL: 12 through 16\n* Microsoft SQL Server: 2017 (Enterprise/Standard) through 2022 (Enterprise/Standard)\nChanging this parameter will create a new resource.\n"}},"type":"object","required":["password"],"language":{"nodejs":{"requiredOutputs":["password","port","type","userName","version"]}}},"opentelekomcloud:index/RdsInstanceV3Node:RdsInstanceV3Node":{"properties":{"availabilityZone":{"type":"string","description":"Specifies the AZ name. Changing this parameter will create a new resource.\n"},"id":{"type":"string","description":"Indicates the node ID.\n"},"name":{"type":"string","description":"Specifies the DB instance name. The DB instance name of the same type\nmust be unique for the same tenant. The value must be 4 to 64\ncharacters in length and start with a letter. It is case-sensitive\nand can contain only letters, digits, hyphens (-), and underscores\n(_).\n"},"role":{"type":"string","description":"Indicates the node type. The value can be master or slave, indicating the primary node or standby node respectively.\n"},"status":{"type":"string","description":"Indicates the node status.\n"}},"type":"object","required":["availabilityZone","id","name","role","status"]},"opentelekomcloud:index/RdsInstanceV3RestoreFromBackup:RdsInstanceV3RestoreFromBackup":{"properties":{"backupId":{"type":"string","description":"Specifies the ID of the backup used to restore data.\nThis parameter must be specified when the backup file is used for restoration.\n"},"restoreTime":{"type":"number","description":"Specifies the time point of data restoration in the UNIX timestamp.\nThe unit is millisecond and the time zone is UTC.\n\n\u003e Exactly one of \u003cspan pulumi-lang-nodejs=\"`backupId`\" pulumi-lang-dotnet=\"`BackupId`\" pulumi-lang-go=\"`backupId`\" pulumi-lang-python=\"`backup_id`\" pulumi-lang-yaml=\"`backupId`\" pulumi-lang-java=\"`backupId`\"\u003e`backup_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`restoreTime`\" pulumi-lang-dotnet=\"`RestoreTime`\" pulumi-lang-go=\"`restoreTime`\" pulumi-lang-python=\"`restore_time`\" pulumi-lang-yaml=\"`restoreTime`\" pulumi-lang-java=\"`restoreTime`\"\u003e`restore_time`\u003c/span\u003e needs to be set.\n"},"sourceInstanceId":{"type":"string","description":"Specifies the source instance ID.\n"},"type":{"type":"string","description":"Specifies the restoration mode. The values can be:\n"}},"type":"object","required":["sourceInstanceId","type"]},"opentelekomcloud:index/RdsInstanceV3RestorePoint:RdsInstanceV3RestorePoint":{"properties":{"backupId":{"type":"string","description":"Specifies the ID of the backup used to restore data.\n"},"instanceId":{"type":"string","description":"Specifies the original DB instance ID.\n"},"restoreTime":{"type":"number","description":"Specifies the time point of data restoration in the UNIX timestamp.\nThe unit is millisecond and the time zone is UTC.\n\n\u003e Exactly one of \u003cspan pulumi-lang-nodejs=\"`backupId`\" pulumi-lang-dotnet=\"`BackupId`\" pulumi-lang-go=\"`backupId`\" pulumi-lang-python=\"`backup_id`\" pulumi-lang-yaml=\"`backupId`\" pulumi-lang-java=\"`backupId`\"\u003e`backup_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`restoreTime`\" pulumi-lang-dotnet=\"`RestoreTime`\" pulumi-lang-go=\"`restoreTime`\" pulumi-lang-python=\"`restore_time`\" pulumi-lang-yaml=\"`restoreTime`\" pulumi-lang-java=\"`restoreTime`\"\u003e`restore_time`\u003c/span\u003e needs to be set.\n"}},"type":"object","required":["instanceId"]},"opentelekomcloud:index/RdsInstanceV3Timeouts:RdsInstanceV3Timeouts":{"properties":{"create":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/RdsInstanceV3Volume:RdsInstanceV3Volume":{"properties":{"diskEncryptionId":{"type":"string","description":"Specifies the key ID for disk encryption. Changing this parameter will create a new resource.\n"},"limitSize":{"type":"number","description":"Specifies the upper limit of automatic expansion of storage, in GB.\nThe value ranges from 40 GB to 4,000 GB and must be no less than the current storage of the instance.\nIf this parameter is configured, \u003cspan pulumi-lang-nodejs=\"`triggerThreshold`\" pulumi-lang-dotnet=\"`TriggerThreshold`\" pulumi-lang-go=\"`triggerThreshold`\" pulumi-lang-python=\"`trigger_threshold`\" pulumi-lang-yaml=\"`triggerThreshold`\" pulumi-lang-java=\"`triggerThreshold`\"\u003e`trigger_threshold`\u003c/span\u003e is mandatory.\n"},"size":{"type":"number","description":"Specifies the volume size. Its value range is from 40 GB to 4000\nGB. The value must be a multiple of 10. Changing this resize the volume.\n"},"triggerThreshold":{"type":"number","description":"Specifies the threshold to trigger automatic expansion.\nIf this parameter is configured, \u003cspan pulumi-lang-nodejs=\"`limitSize`\" pulumi-lang-dotnet=\"`LimitSize`\" pulumi-lang-go=\"`limitSize`\" pulumi-lang-python=\"`limit_size`\" pulumi-lang-yaml=\"`limitSize`\" pulumi-lang-java=\"`limitSize`\"\u003e`limit_size`\u003c/span\u003e is mandatory.\nIf the available storage drops to this threshold or \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e GB, the automatic expansion is triggered.\nThe valid values are as follows:\n+ **10**\n+ **15**\n+ **20**\n"},"type":{"type":"string","description":"Specifies the volume type. Changing this resize the volume. Its value can be any of the following\nand is case-sensitive:\n* `CLOUDSSD`: indicates cloud SSD storage.\n* `ESSD`: indicates the extreme SSD type.\n\n\u003e Note\nThe MySQL, PostgreSQL and SQLServer DB engines support the following volume types: CLOUDSSD and ESSD.\nHowever, ESSD is not supported for MySQL DB Single instances and PostgreSQL DB Single instances.\n\n\u003e **Warning** Specifying both \u003cspan pulumi-lang-nodejs=\"`limitSize`\" pulumi-lang-dotnet=\"`LimitSize`\" pulumi-lang-go=\"`limitSize`\" pulumi-lang-python=\"`limit_size`\" pulumi-lang-yaml=\"`limitSize`\" pulumi-lang-java=\"`limitSize`\"\u003e`limit_size`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`triggerThreshold`\" pulumi-lang-dotnet=\"`TriggerThreshold`\" pulumi-lang-go=\"`triggerThreshold`\" pulumi-lang-python=\"`trigger_threshold`\" pulumi-lang-yaml=\"`triggerThreshold`\" pulumi-lang-java=\"`triggerThreshold`\"\u003e`trigger_threshold`\u003c/span\u003e will enable autoscaling for RDS instance.\nOnce autoscaling is activated, the \u003cspan pulumi-lang-nodejs=\"`size`\" pulumi-lang-dotnet=\"`Size`\" pulumi-lang-go=\"`size`\" pulumi-lang-python=\"`size`\" pulumi-lang-yaml=\"`size`\" pulumi-lang-java=\"`size`\"\u003e`size`\u003c/span\u003e parameter for the volume will be ignored to prevent discrepancies\nbetween configuration and actual state.\n"}},"type":"object","required":["size","type"],"language":{"nodejs":{"requiredOutputs":["diskEncryptionId","size","type"]}}},"opentelekomcloud:index/RdsParametergroupV3ConfigurationParameter:RdsParametergroupV3ConfigurationParameter":{"properties":{"description":{"type":"string","description":"The parameter group description. It contains a maximum of 256 characters\nand cannot contain the following special characters: `\u003e!\u003c\"\u0026'=` the value is left blank by default.\n"},"name":{"type":"string","description":"The parameter group name. It contains a maximum of 64 characters.\n"},"readonly":{"type":"boolean","description":"Indicates whether the parameter is read-only.\n"},"restartRequired":{"type":"boolean","description":"Indicates whether a restart is required.\n"},"type":{"type":"string","description":"Indicates the parameter type.\n"},"value":{"type":"string","description":"Indicates the parameter value.\n"},"valueRange":{"type":"string","description":"Indicates the parameter value range.\n"}},"type":"object","required":["description","name","readonly","restartRequired","type","value","valueRange"]},"opentelekomcloud:index/RdsParametergroupV3Datastore:RdsParametergroupV3Datastore":{"properties":{"type":{"type":"string","description":"Specifies the DB engine. Currently, MySQL, PostgreSQL and MS SQLServer are supported.\nThe value is case-insensitive and can be \u003cspan pulumi-lang-nodejs=\"`mysql`\" pulumi-lang-dotnet=\"`Mysql`\" pulumi-lang-go=\"`mysql`\" pulumi-lang-python=\"`mysql`\" pulumi-lang-yaml=\"`mysql`\" pulumi-lang-java=\"`mysql`\"\u003e`mysql`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`postgresql`\" pulumi-lang-dotnet=\"`Postgresql`\" pulumi-lang-go=\"`postgresql`\" pulumi-lang-python=\"`postgresql`\" pulumi-lang-yaml=\"`postgresql`\" pulumi-lang-java=\"`postgresql`\"\u003e`postgresql`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sqlserver`\" pulumi-lang-dotnet=\"`Sqlserver`\" pulumi-lang-go=\"`sqlserver`\" pulumi-lang-python=\"`sqlserver`\" pulumi-lang-yaml=\"`sqlserver`\" pulumi-lang-java=\"`sqlserver`\"\u003e`sqlserver`\u003c/span\u003e.\n"},"version":{"type":"string","description":"Specifies the database version.\n* MySQL databases support MySQL `5.6`, `5.7`, `8.0`. Example value: `8.0`.\n* PostgreSQL databases support PostgreSQL \u003cspan pulumi-lang-nodejs=\"`12`\" pulumi-lang-dotnet=\"`12`\" pulumi-lang-go=\"`12`\" pulumi-lang-python=\"`12`\" pulumi-lang-yaml=\"`12`\" pulumi-lang-java=\"`12`\"\u003e`12`\u003c/span\u003e and above. Example value: \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e.\n* Microsoft SQL Server databases support `2017_SE`, `2017_EE`, and above. Example value: `2022_EE`.\n"}},"type":"object","required":["type","version"]},"opentelekomcloud:index/RdsPublicIpAssociateV3Timeouts:RdsPublicIpAssociateV3Timeouts":{"properties":{"create":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/RdsReadReplicaV3Db:RdsReadReplicaV3Db":{"properties":{"port":{"type":"number","description":"Indicates the database port information.\n"},"type":{"type":"string","description":"Indicates the DB engine. Value: `MySQL`, `PostgreSQL`, `SQLServer`\n"},"userName":{"type":"string","description":"Indicates the default user name of database.\n"},"version":{"type":"string","description":"Indicates the database version.\n"}},"type":"object","required":["port","type","userName","version"]},"opentelekomcloud:index/RdsReadReplicaV3Timeouts:RdsReadReplicaV3Timeouts":{"properties":{"create":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/RdsReadReplicaV3Volume:RdsReadReplicaV3Volume":{"properties":{"diskEncryptionId":{"type":"string","description":"Specifies the key ID for disk encryption. Changing this parameter will create a new\nresource.\n"},"size":{"type":"number","description":"Indicates the volume size. Same as replicated instance disk size.\n"},"type":{"type":"string","description":"Specifies the volume type. Changing this parameter will create a new resource. Its value can be any of the\nfollowing and is case-sensitive.\n* `CLOUDSSD`: indicates cloud SSD storage.\n* `ESSD`: indicates the extreme SSD type.\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["diskEncryptionId","size","type"]}}},"opentelekomcloud:index/RmsPolicyAssignmentV1CustomPolicy:RmsPolicyAssignmentV1CustomPolicy":{"properties":{"authType":{"type":"string","description":"Specifies the authorization type of the custom policy.\n"},"authValue":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the authorization value of the custom policy.\n"},"functionUrn":{"type":"string","description":"Specifies the function URN used to create the custom policy.\n"}},"type":"object","required":["authType","functionUrn"]},"opentelekomcloud:index/RmsPolicyAssignmentV1PolicyFilter:RmsPolicyAssignmentV1PolicyFilter":{"properties":{"region":{"type":"string","description":"Specifies the name of the region to which the filtered resources belong.\n"},"resourceId":{"type":"string","description":"Specifies the resource ID used to filter a specified resource.\n"},"resourceProvider":{"type":"string","description":"Specifies the service name to which the filtered resources belong.\n"},"resourceType":{"type":"string","description":"Specifies the resource type of the filtered resources.\n"},"tagKey":{"type":"string","description":"Specifies the tag name used to filter resources.\nThis parameter and \u003cspan pulumi-lang-nodejs=\"`resourceId`\" pulumi-lang-dotnet=\"`ResourceId`\" pulumi-lang-go=\"`resourceId`\" pulumi-lang-python=\"`resource_id`\" pulumi-lang-yaml=\"`resourceId`\" pulumi-lang-java=\"`resourceId`\"\u003e`resource_id`\u003c/span\u003e are alternative.\n"},"tagValue":{"type":"string","description":"Specifies the tag value used to filter resources.\nRequired if \u003cspan pulumi-lang-nodejs=\"`tagKey`\" pulumi-lang-dotnet=\"`TagKey`\" pulumi-lang-go=\"`tagKey`\" pulumi-lang-python=\"`tag_key`\" pulumi-lang-yaml=\"`tagKey`\" pulumi-lang-java=\"`tagKey`\"\u003e`tag_key`\u003c/span\u003e is set.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"rmsCustomPolicy\"\" pulumi-lang-dotnet=\"\"RmsCustomPolicy\"\" pulumi-lang-go=\"\"rmsCustomPolicy\"\" pulumi-lang-python=\"\"rms_custom_policy\"\" pulumi-lang-yaml=\"\"rmsCustomPolicy\"\" pulumi-lang-java=\"\"rmsCustomPolicy\"\"\u003e\"rms_custom_policy\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`customPolicy`\" pulumi-lang-dotnet=\"`CustomPolicy`\" pulumi-lang-go=\"`customPolicy`\" pulumi-lang-python=\"`custom_policy`\" pulumi-lang-yaml=\"`customPolicy`\" pulumi-lang-java=\"`customPolicy`\"\u003e`custom_policy`\u003c/span\u003e block supports:\n"}},"type":"object"},"opentelekomcloud:index/RmsPolicyAssignmentV1Timeouts:RmsPolicyAssignmentV1Timeouts":{"properties":{"create":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/RmsResourceRecorderV1ObsChannel:RmsResourceRecorderV1ObsChannel":{"properties":{"bucket":{"type":"string","description":"Specifies the OBS bucket name used for data dumping.\n"},"bucketPrefix":{"type":"string","description":"Specifies the OBS bucket prefix.\n\n\u003ca name=\"Recorder_TrackerSMNChannelConfigBody\"\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`smnChannel`\" pulumi-lang-dotnet=\"`SmnChannel`\" pulumi-lang-go=\"`smnChannel`\" pulumi-lang-python=\"`smn_channel`\" pulumi-lang-yaml=\"`smnChannel`\" pulumi-lang-java=\"`smnChannel`\"\u003e`smn_channel`\u003c/span\u003e block supports:\n"},"region":{"type":"string","description":"Specifies the region where this bucket is located.\n"}},"type":"object","required":["bucket","region"]},"opentelekomcloud:index/RmsResourceRecorderV1Selector:RmsResourceRecorderV1Selector":{"properties":{"allSupported":{"type":"boolean","description":"Specifies whether to select all supported resources.\n"},"resourceTypes":{"type":"array","items":{"type":"string"},"description":"Specifies the resource type list.\n\n\u003ca name=\"Recorder_TrackerOBSChannelConfigBody\"\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`obsChannel`\" pulumi-lang-dotnet=\"`ObsChannel`\" pulumi-lang-go=\"`obsChannel`\" pulumi-lang-python=\"`obs_channel`\" pulumi-lang-yaml=\"`obsChannel`\" pulumi-lang-java=\"`obsChannel`\"\u003e`obs_channel`\u003c/span\u003e block supports:\n"}},"type":"object","required":["allSupported"]},"opentelekomcloud:index/RmsResourceRecorderV1SmnChannel:RmsResourceRecorderV1SmnChannel":{"properties":{"projectId":{"type":"string","description":"The project ID where this SMN topic is located.\n"},"region":{"type":"string","description":"Specifies the region where this bucket is located.\n"},"topicUrn":{"type":"string","description":"Specifies the SMN topic URN used to send notifications.\n"}},"type":"object","required":["topicUrn"],"language":{"nodejs":{"requiredOutputs":["projectId","region","topicUrn"]}}},"opentelekomcloud:index/RtsSoftwareConfigV1Timeouts:RtsSoftwareConfigV1Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/RtsSoftwareDeploymentV1Timeouts:RtsSoftwareDeploymentV1Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/RtsStackV1Timeouts:RtsStackV1Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/S3BucketCorsRule:S3BucketCorsRule":{"properties":{"allowedHeaders":{"type":"array","items":{"type":"string"},"description":"Specifies which headers are allowed.\n"},"allowedMethods":{"type":"array","items":{"type":"string"},"description":"Specifies which methods are allowed. Can be `GET`, `PUT`, `POST`, `DELETE` or `HEAD`.\n"},"allowedOrigins":{"type":"array","items":{"type":"string"},"description":"Specifies which origins are allowed.\n"},"exposeHeaders":{"type":"array","items":{"type":"string"},"description":"Specifies expose header in the response.\n"},"maxAgeSeconds":{"type":"number","description":"Specifies time in seconds that browser can cache the response for a preflight request.\n"}},"type":"object","required":["allowedMethods","allowedOrigins"]},"opentelekomcloud:index/S3BucketLifecycleRule:S3BucketLifecycleRule":{"properties":{"abortIncompleteMultipartUploadDays":{"type":"number","description":"Specifies the number of days after initiating\na multipart upload when the multipart upload must be completed.\n"},"enabled":{"type":"boolean","description":"Specifies lifecycle rule status.\n"},"expirations":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FS3BucketLifecycleRuleExpiration:S3BucketLifecycleRuleExpiration"},"description":"Specifies a period in the object's expire (documented below).\n"},"id":{"type":"string","description":"Unique identifier for the rule.\n"},"noncurrentVersionExpirations":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FS3BucketLifecycleRuleNoncurrentVersionExpiration:S3BucketLifecycleRuleNoncurrentVersionExpiration"},"description":"Specifies when noncurrent object versions expire (documented below).\n\nAt least one of \u003cspan pulumi-lang-nodejs=\"`expiration`\" pulumi-lang-dotnet=\"`Expiration`\" pulumi-lang-go=\"`expiration`\" pulumi-lang-python=\"`expiration`\" pulumi-lang-yaml=\"`expiration`\" pulumi-lang-java=\"`expiration`\"\u003e`expiration`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`noncurrentVersionExpiration`\" pulumi-lang-dotnet=\"`NoncurrentVersionExpiration`\" pulumi-lang-go=\"`noncurrentVersionExpiration`\" pulumi-lang-python=\"`noncurrent_version_expiration`\" pulumi-lang-yaml=\"`noncurrentVersionExpiration`\" pulumi-lang-java=\"`noncurrentVersionExpiration`\"\u003e`noncurrent_version_expiration`\u003c/span\u003e must be specified.\n"},"prefix":{"type":"string","description":"Object key prefix identifying one or more objects to which the rule applies.\n"}},"type":"object","required":["enabled"],"language":{"nodejs":{"requiredOutputs":["enabled","id"]}}},"opentelekomcloud:index/S3BucketLifecycleRuleExpiration:S3BucketLifecycleRuleExpiration":{"properties":{"date":{"type":"string","description":"Specifies the date after which you want the corresponding action to take effect.\n"},"days":{"type":"number","description":"Specifies the number of days after object creation when the specific rule action takes effect.\n"},"expiredObjectDeleteMarker":{"type":"boolean","description":"On a versioned bucket (versioning-enabled or versioning-suspended bucket),\nyou can add this element in the lifecycle configuration to direct Amazon S3 to delete expired object delete markers.\n"}},"type":"object"},"opentelekomcloud:index/S3BucketLifecycleRuleNoncurrentVersionExpiration:S3BucketLifecycleRuleNoncurrentVersionExpiration":{"properties":{"days":{"type":"number","description":"Specifies the number of days an object is noncurrent object versions expire.\n"}},"type":"object"},"opentelekomcloud:index/S3BucketLogging:S3BucketLogging":{"properties":{"targetBucket":{"type":"string","description":"The name of the bucket that will receive the log objects.\n"},"targetPrefix":{"type":"string","description":"To specify a key prefix for log objects.\n"}},"type":"object","required":["targetBucket"]},"opentelekomcloud:index/S3BucketVersioning:S3BucketVersioning":{"properties":{"enabled":{"type":"boolean","description":"Enable versioning. Once you version-enable a bucket, it can never return to an unversioned state.\nYou can, however, suspend versioning on that bucket. If omitted, during bucket creation it will be in `Disabled` state.\n"},"mfaDelete":{"type":"boolean","description":"Enable MFA delete for either `Change the versioning state of your bucket` or\n`Permanently delete an object version`. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object"},"opentelekomcloud:index/S3BucketWebsite:S3BucketWebsite":{"properties":{"errorDocument":{"type":"string","description":"An absolute path to the document to return in case of a 4XX error.\n"},"indexDocument":{"type":"string","description":"Amazon S3 returns this index document when\nrequests are made to the root domain or any of the subfolders.\n"},"redirectAllRequestsTo":{"type":"string","description":"A hostname to redirect all website requests for this bucket to.\nHostname can optionally be prefixed with a protocol (`http://` or `https://`) to use when redirecting\nrequests. The default is the protocol that is used in the original request.\n"},"routingRules":{"type":"string","description":"A json array containing [routing rules](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-routingrules.html)\ndescribing redirect behavior and when redirects are applied.\n"}},"type":"object"},"opentelekomcloud:index/SdrsProtectedInstanceV1Timeouts:SdrsProtectedInstanceV1Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/SdrsProtectiongroupV1Timeouts:SdrsProtectiongroupV1Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/SdrsReplicationAttachV1Timeouts:SdrsReplicationAttachV1Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/SdrsReplicationPairV1Timeouts:SdrsReplicationPairV1Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/SfsFileSystemV2Timeouts:SfsFileSystemV2Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/SfsShareAccessRulesV2AccessRule:SfsShareAccessRulesV2AccessRule":{"properties":{"accessLevel":{"type":"string","description":"The access level of the shared file system. Possible values are \u003cspan pulumi-lang-nodejs=\"`ro`\" pulumi-lang-dotnet=\"`Ro`\" pulumi-lang-go=\"`ro`\" pulumi-lang-python=\"`ro`\" pulumi-lang-yaml=\"`ro`\" pulumi-lang-java=\"`ro`\"\u003e`ro`\u003c/span\u003e (read-only)\nand \u003cspan pulumi-lang-nodejs=\"`rw`\" pulumi-lang-dotnet=\"`Rw`\" pulumi-lang-go=\"`rw`\" pulumi-lang-python=\"`rw`\" pulumi-lang-yaml=\"`rw`\" pulumi-lang-java=\"`rw`\"\u003e`rw`\u003c/span\u003e (read-write). The default value is \u003cspan pulumi-lang-nodejs=\"`rw`\" pulumi-lang-dotnet=\"`Rw`\" pulumi-lang-go=\"`rw`\" pulumi-lang-python=\"`rw`\" pulumi-lang-yaml=\"`rw`\" pulumi-lang-java=\"`rw`\"\u003e`rw`\u003c/span\u003e (read/write).\n"},"accessRuleStatus":{"type":"string","description":"The status of the share access rule.\n"},"accessTo":{"type":"string","description":"The value that defines the access. The format depends on \u003cspan pulumi-lang-nodejs=\"`accessType`\" pulumi-lang-dotnet=\"`AccessType`\" pulumi-lang-go=\"`accessType`\" pulumi-lang-python=\"`access_type`\" pulumi-lang-yaml=\"`accessType`\" pulumi-lang-java=\"`accessType`\"\u003e`access_type`\u003c/span\u003e:\n* When \u003cspan pulumi-lang-nodejs=\"`accessType`\" pulumi-lang-dotnet=\"`AccessType`\" pulumi-lang-go=\"`accessType`\" pulumi-lang-python=\"`access_type`\" pulumi-lang-yaml=\"`accessType`\" pulumi-lang-java=\"`accessType`\"\u003e`access_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`cert`\" pulumi-lang-dotnet=\"`Cert`\" pulumi-lang-go=\"`cert`\" pulumi-lang-python=\"`cert`\" pulumi-lang-yaml=\"`cert`\" pulumi-lang-java=\"`cert`\"\u003e`cert`\u003c/span\u003e:\n* VPC ID only: `\u003cvpc_id\u003e` - grants access to the entire VPC.\n* VPC ID with IP address: `\u003cvpc_id\u003e#\u003cip_address\u003e/\u003cmask\u003e#\u003cpriority\u003e#\u003cuser_permission\u003e` - grants access to specific IP addresses within the VPC.\n"},"accessType":{"type":"string","description":"The type of the share access rule. Valid values are:\n"},"shareAccessId":{"type":"string","description":"The UUID of the share access rule.\n"}},"type":"object","required":["accessLevel","accessTo"],"language":{"nodejs":{"requiredOutputs":["accessLevel","accessRuleStatus","accessTo","shareAccessId"]}}},"opentelekomcloud:index/SfsTurboShareV1Timeouts:SfsTurboShareV1Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/SwrDomainV2Timeouts:SwrDomainV2Timeouts":{"properties":{"default":{"type":"string"}},"type":"object"},"opentelekomcloud:index/SwrOrganizationPermissionsV2Timeouts:SwrOrganizationPermissionsV2Timeouts":{"properties":{"default":{"type":"string"}},"type":"object"},"opentelekomcloud:index/SwrOrganizationV2Timeouts:SwrOrganizationV2Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/SwrPolicyV2Rule:SwrPolicyV2Rule":{"properties":{"params":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the image retention policy parameters. If \u003cspan pulumi-lang-nodejs=\"`template`\" pulumi-lang-dotnet=\"`Template`\" pulumi-lang-go=\"`template`\" pulumi-lang-python=\"`template`\" pulumi-lang-yaml=\"`template`\" pulumi-lang-java=\"`template`\"\u003e`template`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`dateRule`\" pulumi-lang-dotnet=\"`DateRule`\" pulumi-lang-go=\"`dateRule`\" pulumi-lang-python=\"`date_rule`\" pulumi-lang-yaml=\"`dateRule`\" pulumi-lang-java=\"`dateRule`\"\u003e`date_rule`\u003c/span\u003e, set \u003cspan pulumi-lang-nodejs=\"`params`\" pulumi-lang-dotnet=\"`Params`\" pulumi-lang-go=\"`params`\" pulumi-lang-python=\"`params`\" pulumi-lang-yaml=\"`params`\" pulumi-lang-java=\"`params`\"\u003e`params`\u003c/span\u003e to `{ days = \"xxx\" }`. If template is set to \u003cspan pulumi-lang-nodejs=\"`tagRule`\" pulumi-lang-dotnet=\"`TagRule`\" pulumi-lang-go=\"`tagRule`\" pulumi-lang-python=\"`tag_rule`\" pulumi-lang-yaml=\"`tagRule`\" pulumi-lang-java=\"`tagRule`\"\u003e`tag_rule`\u003c/span\u003e, set \u003cspan pulumi-lang-nodejs=\"`params`\" pulumi-lang-dotnet=\"`Params`\" pulumi-lang-go=\"`params`\" pulumi-lang-python=\"`params`\" pulumi-lang-yaml=\"`params`\" pulumi-lang-java=\"`params`\"\u003e`params`\u003c/span\u003e to `{ num = \"xxx\" }`.\n"},"tagSelectors":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FSwrPolicyV2RuleTagSelector:SwrPolicyV2RuleTagSelector"},"description":"Specifies the exception images. The structure is documented below.\n"},"template":{"type":"string","description":"Specifies the image retention policy type. Acceped values: \u003cspan pulumi-lang-nodejs=\"`dateRule`\" pulumi-lang-dotnet=\"`DateRule`\" pulumi-lang-go=\"`dateRule`\" pulumi-lang-python=\"`date_rule`\" pulumi-lang-yaml=\"`dateRule`\" pulumi-lang-java=\"`dateRule`\"\u003e`date_rule`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`tagRule`\" pulumi-lang-dotnet=\"`TagRule`\" pulumi-lang-go=\"`tagRule`\" pulumi-lang-python=\"`tag_rule`\" pulumi-lang-yaml=\"`tagRule`\" pulumi-lang-java=\"`tagRule`\"\u003e`tag_rule`\u003c/span\u003e.\n"}},"type":"object","required":["params","tagSelectors","template"]},"opentelekomcloud:index/SwrPolicyV2RuleTagSelector:SwrPolicyV2RuleTagSelector":{"properties":{"kind":{"type":"string","description":"Specifies the matching rule. Accepted values: \u003cspan pulumi-lang-nodejs=\"`label`\" pulumi-lang-dotnet=\"`Label`\" pulumi-lang-go=\"`label`\" pulumi-lang-python=\"`label`\" pulumi-lang-yaml=\"`label`\" pulumi-lang-java=\"`label`\"\u003e`label`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`regexp`\" pulumi-lang-dotnet=\"`Regexp`\" pulumi-lang-go=\"`regexp`\" pulumi-lang-python=\"`regexp`\" pulumi-lang-yaml=\"`regexp`\" pulumi-lang-java=\"`regexp`\"\u003e`regexp`\u003c/span\u003e.\n"},"pattern":{"type":"string","description":"Specifies the matching rule value. If \u003cspan pulumi-lang-nodejs=\"`kind`\" pulumi-lang-dotnet=\"`Kind`\" pulumi-lang-go=\"`kind`\" pulumi-lang-python=\"`kind`\" pulumi-lang-yaml=\"`kind`\" pulumi-lang-java=\"`kind`\"\u003e`kind`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`label`\" pulumi-lang-dotnet=\"`Label`\" pulumi-lang-go=\"`label`\" pulumi-lang-python=\"`label`\" pulumi-lang-yaml=\"`label`\" pulumi-lang-java=\"`label`\"\u003e`label`\u003c/span\u003e, set \u003cspan pulumi-lang-nodejs=\"`pattern`\" pulumi-lang-dotnet=\"`Pattern`\" pulumi-lang-go=\"`pattern`\" pulumi-lang-python=\"`pattern`\" pulumi-lang-yaml=\"`pattern`\" pulumi-lang-java=\"`pattern`\"\u003e`pattern`\u003c/span\u003e to the `\u003cimage tag\u003e`, e.g. `\"v1\"`. If \u003cspan pulumi-lang-nodejs=\"`kind`\" pulumi-lang-dotnet=\"`Kind`\" pulumi-lang-go=\"`kind`\" pulumi-lang-python=\"`kind`\" pulumi-lang-yaml=\"`kind`\" pulumi-lang-java=\"`kind`\"\u003e`kind`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`regexp`\" pulumi-lang-dotnet=\"`Regexp`\" pulumi-lang-go=\"`regexp`\" pulumi-lang-python=\"`regexp`\" pulumi-lang-yaml=\"`regexp`\" pulumi-lang-java=\"`regexp`\"\u003e`regexp`\u003c/span\u003e, set \u003cspan pulumi-lang-nodejs=\"`pattern`\" pulumi-lang-dotnet=\"`Pattern`\" pulumi-lang-go=\"`pattern`\" pulumi-lang-python=\"`pattern`\" pulumi-lang-yaml=\"`pattern`\" pulumi-lang-java=\"`pattern`\"\u003e`pattern`\u003c/span\u003e to a `\u003cregular expression\u003e`, e.g. `\"^123$\"`.\n"}},"type":"object","required":["kind","pattern"]},"opentelekomcloud:index/SwrPolicyV2Timeouts:SwrPolicyV2Timeouts":{"properties":{"default":{"type":"string"}},"type":"object"},"opentelekomcloud:index/SwrRepositoryV2Timeouts:SwrRepositoryV2Timeouts":{"properties":{"default":{"type":"string"}},"type":"object"},"opentelekomcloud:index/TaurusdbMysqlBackupV3Datastore:TaurusdbMysqlBackupV3Datastore":{"properties":{"type":{"type":"string","description":"Indicates the database engine.\n"},"version":{"type":"string","description":"Indicates the database version.\n"}},"type":"object","required":["type","version"]},"opentelekomcloud:index/TaurusdbMysqlBackupV3Timeouts:TaurusdbMysqlBackupV3Timeouts":{"properties":{"create":{"type":"string"}},"type":"object"},"opentelekomcloud:index/TaurusdbMysqlInstanceV3BackupStrategy:TaurusdbMysqlInstanceV3BackupStrategy":{"properties":{"keepDays":{"type":"number","description":"Specifies the number of days to retain the generated backup files.\nThe value ranges from \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`35`\" pulumi-lang-dotnet=\"`35`\" pulumi-lang-go=\"`35`\" pulumi-lang-python=\"`35`\" pulumi-lang-yaml=\"`35`\" pulumi-lang-java=\"`35`\"\u003e`35`\u003c/span\u003e. If this parameter is set to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e, the automated backup policy is not set.\nIf this parameter is not transferred, the automated backup policy is enabled by default.\nBackup files are stored for seven days by default.\n"},"startTime":{"type":"string","description":"Specifies the backup time window. Automated backups will be triggered during the\nbackup time window. It must be a valid value in the \"hh:mm-HH:MM\" format. The current time is in the UTC format. The\nHH value must be 1 greater than the hh value. The values of mm and MM must be the same and must be set to 00. Example\nvalue: **08:00-09:00**, **03:00-04:00**.\n"}},"type":"object","required":["startTime"]},"opentelekomcloud:index/TaurusdbMysqlInstanceV3Datastore:TaurusdbMysqlInstanceV3Datastore":{"properties":{"engine":{"type":"string","description":"Specifies the database engine. Only \"gaussdb-mysql\" is supported now.\nChanging this parameter will create a new resource.\n"},"version":{"type":"string","description":"Specifies the database version. Only \"8.0\" is supported now.\nChanging this parameter will create a new resource.\n"}},"type":"object","required":["engine"],"language":{"nodejs":{"requiredOutputs":["engine","version"]}}},"opentelekomcloud:index/TaurusdbMysqlInstanceV3Node:TaurusdbMysqlInstanceV3Node":{"properties":{"availabilityZone":{"type":"string","description":"Indicates the availability zone where the node resides.\n"},"id":{"type":"string","description":"Indicates the node ID.\n"},"name":{"type":"string","description":"Specifies the instance name, which can be the same as an existing instance name.\nThe value must be \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e characters in length and start with a letter.\nIt is case-sensitive and can contain only letters, digits, hyphens (-), and underscores (_).\n"},"privateReadIp":{"type":"string","description":"Indicates the private IP address of a node.\n"},"status":{"type":"string","description":"Indicates the node status.\n"},"type":{"type":"string","description":"Indicates the node type: master or slave.\n"}},"type":"object","required":["availabilityZone","id","name","privateReadIp","status","type"]},"opentelekomcloud:index/TaurusdbMysqlInstanceV3Timeouts:TaurusdbMysqlInstanceV3Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/TaurusdbMysqlProxyV3MasterNodeWeight:TaurusdbMysqlProxyV3MasterNodeWeight":{"properties":{"id":{"type":"string","description":"Specifies the ID of the node.\n"},"weight":{"type":"number","description":"Specifies the weight assigned to the node.\n"}},"type":"object","required":["id","weight"]},"opentelekomcloud:index/TaurusdbMysqlProxyV3Node:TaurusdbMysqlProxyV3Node":{"properties":{"azCode":{"type":"string","description":"Indicates the proxy node availability zone.\n"},"frozenFlag":{"type":"number","description":"Indicates whether the proxy node is frozen. The values can be:\n+ **0**: unfrozen.\n+ **1**: frozen.\n+ **2**: deleted after being frozen.\n"},"id":{"type":"string","description":"Specifies the ID of the node.\n"},"name":{"type":"string","description":"Indicates the proxy node name.\n"},"role":{"type":"string","description":"Indicates the proxy node role. The values can be:\n+ **master**: primary node.\n+ **slave**: read replica.\n"},"status":{"type":"string","description":"Indicates the proxy node status. The values can be:\n+ **ACTIVE**: The node is available.\n+ **ABNORMAL**: The node is abnormal.\n+ **FAILED**: The node fails.\n+ **DELETED**: The node has been deleted.\n"}},"type":"object","required":["azCode","frozenFlag","id","name","role","status"]},"opentelekomcloud:index/TaurusdbMysqlProxyV3ReadonlyNodesWeight:TaurusdbMysqlProxyV3ReadonlyNodesWeight":{"properties":{"id":{"type":"string","description":"Specifies the ID of the node.\n"},"weight":{"type":"number","description":"Specifies the weight assigned to the node.\n"}},"type":"object","required":["id","weight"]},"opentelekomcloud:index/TaurusdbMysqlProxyV3Timeouts:TaurusdbMysqlProxyV3Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/TaurusdbMysqlSqlControlRuleV3Timeouts:TaurusdbMysqlSqlControlRuleV3Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/TmsResourceTagsV1Resource:TmsResourceTagsV1Resource":{"properties":{"resourceId":{"type":"string","description":"Specifies the resource ID.\n"},"resourceType":{"type":"string","description":"Specifies the resource type.\n"}},"type":"object","required":["resourceId","resourceType"]},"opentelekomcloud:index/TmsTagsV1Tag:TmsTagsV1Tag":{"properties":{"key":{"type":"string","description":"Specifies the tag key. The value can contain up to 36 characters.\nOnly letters, digits, hyphens (-), underscores (_), and Unicode characters from \\u4e00 to \\u9fff are allowed.\n"},"value":{"type":"string","description":"Specifies the tag value. The value can contain up to 43 characters.\nOnly letters, digits, periods (.), hyphens (-), and underscores (_), and Unicode characters from \\u4e00 to \\u9fff\nare allowed.\n"}},"type":"object","required":["key","value"]},"opentelekomcloud:index/TmsTagsV1Timeouts:TmsTagsV1Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/VbsBackupPolicyV2Tag:VbsBackupPolicyV2Tag":{"properties":{"key":{"type":"string","description":"Specifies the tag key. A tag key consists of up to 36 characters, chosen from letters, digits, hyphens (-), and underscores (_).\n"},"value":{"type":"string","description":"Specifies the tag value. A tag value consists of 0 to 43 characters, chosen from letters, digits, hyphens (-), and underscores (_).\n"}},"type":"object","required":["key","value"]},"opentelekomcloud:index/VbsBackupPolicyV2Timeouts:VbsBackupPolicyV2Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/VbsBackupShareV2Timeouts:VbsBackupShareV2Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/VbsBackupV2Tag:VbsBackupV2Tag":{"properties":{"key":{"type":"string","description":"Specifies the tag key.\n"},"value":{"type":"string","description":"Specifies the tag value.\n"}},"type":"object","required":["key","value"]},"opentelekomcloud:index/VbsBackupV2Timeouts:VbsBackupV2Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/VpcEipV1Bandwidth:VpcEipV1Bandwidth":{"properties":{"chargeMode":{"type":"string","description":"This is a reserved field. If the system supports charging\nby traffic and this field is specified, then you are charged by traffic for elastic\nIP addresses. Changing this creates a new eip.\n"},"name":{"type":"string","description":"The bandwidth name, which is a string of 1 to 64 characters\nthat contain letters, digits, underscores (_), and hyphens (-).\n"},"shareType":{"type":"string","description":"Whether the bandwidth is shared or exclusive. Changing\nthis creates a new eip.\n"},"size":{"type":"number","description":"The bandwidth size. The value ranges from 1 to 300 Mbit/s.\n"}},"type":"object","required":["name","shareType","size"],"language":{"nodejs":{"requiredOutputs":["chargeMode","name","shareType","size"]}}},"opentelekomcloud:index/VpcEipV1Publicip:VpcEipV1Publicip":{"properties":{"ipAddress":{"type":"string","description":"The value must be a valid IP address in the available\nIP address segment. Changing this creates a new eip.\n"},"name":{"type":"string","description":"The ip name, which is a string of 1 to 64 characters.\n"},"portId":{"type":"string","description":"The port id which this eip will associate with. If the value\nis `\"\"` or this not specified, the eip will be in unbind state.\n"},"type":{"type":"string","description":"The value must be a type supported by [the system](https://docs.otc.t-systems.com/api/eip/eip_api_0001.html#eip_api_0001__en-us_topic_0201534274_table4491214).\nThe value can be \u003cspan pulumi-lang-nodejs=\"`5Bgp`\" pulumi-lang-dotnet=\"`5Bgp`\" pulumi-lang-go=\"`5Bgp`\" pulumi-lang-python=\"`5_bgp`\" pulumi-lang-yaml=\"`5Bgp`\" pulumi-lang-java=\"`5Bgp`\"\u003e`5_bgp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`5Mailbgp`\" pulumi-lang-dotnet=\"`5Mailbgp`\" pulumi-lang-go=\"`5Mailbgp`\" pulumi-lang-python=\"`5_mailbgp`\" pulumi-lang-yaml=\"`5Mailbgp`\" pulumi-lang-java=\"`5Mailbgp`\"\u003e`5_mailbgp`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`5Gray`\" pulumi-lang-dotnet=\"`5Gray`\" pulumi-lang-go=\"`5Gray`\" pulumi-lang-python=\"`5_gray`\" pulumi-lang-yaml=\"`5Gray`\" pulumi-lang-java=\"`5Gray`\"\u003e`5_gray`\u003c/span\u003e. Changing this creates a new eip.\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["ipAddress","name","portId","type"]}}},"opentelekomcloud:index/VpcEipV1Timeouts:VpcEipV1Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/VpcFlowLogV1Timeouts:VpcFlowLogV1Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/VpcPeeringConnectionAccepterV2Timeouts:VpcPeeringConnectionAccepterV2Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/VpcPeeringConnectionV2Timeouts:VpcPeeringConnectionV2Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/VpcRouteTableV1Route:VpcRouteTableV1Route":{"properties":{"description":{"type":"string","description":"Specifies the supplementary information about the route.\nThe value is a string of no more than 255 characters and cannot contain angle brackets (\u003c or \u003e).\n"},"destination":{"type":"string","description":"Specifies the destination address in the CIDR notation format,\nfor example, 192.168.200.0/24. The destination of each route must be unique and cannot overlap\nwith any subnet in the VPC.\n"},"nexthop":{"type":"string","description":"Specifies the next hop.\n+ If the route type is **ecs**, the value is an ECS instance ID in the VPC.\n+ If the route type is **eni**, the value is the extension NIC of an ECS in the VPC.\n+ If the route type is **vip**, the value is a virtual IP address.\n+ If the route type is **nat**, the value is a VPN gateway ID.\n+ If the route type is **peering**, the value is a VPC peering connection ID.\n+ If the route type is **vpn**, the value is a VPN gateway ID.\n+ If the route type is **dc**, the value is a Direct Connect gateway ID.\n+ If the route type is **egw**, the value is a VPC endpoint ID.\n+ If the route type is **er**, the value is the ID of an enterprise router.\n+ If the route type is **subeni**, the value is the ID of a supplementary network interface.\n"},"type":{"type":"string","description":"Specifies the route type. Currently, the value can be:\n**ecs**, **eni**, **vip**, **nat**, **peering**, **vpn**, **dc**, **egw**, **er**, **subeni** and **local**\n"}},"type":"object","required":["destination","nexthop","type"]},"opentelekomcloud:index/VpcRouteTableV1Timeouts:VpcRouteTableV1Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/VpcRouteV2Timeouts:VpcRouteV2Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/VpcSecgroupRuleV3Timeouts:VpcSecgroupRuleV3Timeouts":{"properties":{"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/VpcSecgroupV3Timeouts:VpcSecgroupV3Timeouts":{"properties":{"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/VpcSubnetV1Timeouts:VpcSubnetV1Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/VpcV1Timeouts:VpcV1Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/VpcepApprovalV1Connection:VpcepApprovalV1Connection":{"properties":{"createdAt":{"type":"string"},"description":{"type":"string","description":"The description of the VPC endpoint service connection.\n"},"domainId":{"type":"string","description":"The user's domain ID.\n"},"endpointId":{"type":"string","description":"The unique ID of the VPC endpoint.\n"},"packetId":{"type":"number","description":"The packet ID of the VPC endpoint.\n"},"status":{"type":"string","description":"The connection status of the VPC endpoint.\n"},"updatedAt":{"type":"string"}},"type":"object","required":["createdAt","description","domainId","endpointId","packetId","status","updatedAt"]},"opentelekomcloud:index/VpcepApprovalV1Timeouts:VpcepApprovalV1Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/VpcepEndpointV1Timeouts:VpcepEndpointV1Timeouts":{"properties":{"default":{"type":"string"}},"type":"object"},"opentelekomcloud:index/VpcepServiceV1Connection:VpcepServiceV1Connection":{"properties":{"createdAt":{"type":"string"},"description":{"type":"string","description":"Specifies the description of the VPC endpoint service.\n"},"domainId":{"type":"string","description":"The user's domain ID.\n"},"endpointId":{"type":"string","description":"The unique ID of the VPC endpoint.\n"},"packetId":{"type":"number","description":"The packet ID of the VPC endpoint.\n"},"status":{"type":"string","description":"The connection status of the VPC endpoint.\n"},"updatedAt":{"type":"string"}},"type":"object","required":["createdAt","description","domainId","endpointId","packetId","status","updatedAt"]},"opentelekomcloud:index/VpcepServiceV1Port:VpcepServiceV1Port":{"properties":{"clientPort":{"type":"number","description":"Specifies the port for accessing the VPC endpoint.\n"},"protocol":{"type":"string","description":"Specifies the protocol used in port mappings. The value can be `TCP` or `UDP`.\nThe default value is `TCP`.\n"},"serverPort":{"type":"number","description":"Specifies the port for accessing the VPC endpoint service.\n"}},"type":"object","required":["clientPort","serverPort"]},"opentelekomcloud:index/VpcepServiceV1Timeouts:VpcepServiceV1Timeouts":{"properties":{"default":{"type":"string"}},"type":"object"},"opentelekomcloud:index/VpnaasEndpointGroupV2Timeouts:VpnaasEndpointGroupV2Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/VpnaasIkePolicyV2Lifetime:VpnaasIkePolicyV2Lifetime":{"properties":{"units":{"type":"string"},"value":{"type":"number","description":"The value for the lifetime of the security association. Default is \u003cspan pulumi-lang-nodejs=\"`3600`\" pulumi-lang-dotnet=\"`3600`\" pulumi-lang-go=\"`3600`\" pulumi-lang-python=\"`3600`\" pulumi-lang-yaml=\"`3600`\" pulumi-lang-java=\"`3600`\"\u003e`3600`\u003c/span\u003e.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["units","value"]}}},"opentelekomcloud:index/VpnaasIkePolicyV2Timeouts:VpnaasIkePolicyV2Timeouts":{"properties":{"create":{"type":"string"}},"type":"object"},"opentelekomcloud:index/VpnaasIpsecPolicyV2Lifetime:VpnaasIpsecPolicyV2Lifetime":{"properties":{"units":{"type":"string"},"value":{"type":"number","description":"The value for the lifetime of the security association. Must be a positive integer. Default is \u003cspan pulumi-lang-nodejs=\"`3600`\" pulumi-lang-dotnet=\"`3600`\" pulumi-lang-go=\"`3600`\" pulumi-lang-python=\"`3600`\" pulumi-lang-yaml=\"`3600`\" pulumi-lang-java=\"`3600`\"\u003e`3600`\u003c/span\u003e.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["units","value"]}}},"opentelekomcloud:index/VpnaasIpsecPolicyV2Timeouts:VpnaasIpsecPolicyV2Timeouts":{"properties":{"create":{"type":"string"}},"type":"object"},"opentelekomcloud:index/VpnaasServiceV2Timeouts:VpnaasServiceV2Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/VpnaasSiteConnectionV2Dpd:VpnaasSiteConnectionV2Dpd":{"properties":{"action":{"type":"string","description":"The dead peer detection (DPD) action.\nA valid value is \u003cspan pulumi-lang-nodejs=\"`clear`\" pulumi-lang-dotnet=\"`Clear`\" pulumi-lang-go=\"`clear`\" pulumi-lang-python=\"`clear`\" pulumi-lang-yaml=\"`clear`\" pulumi-lang-java=\"`clear`\"\u003e`clear`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`hold`\" pulumi-lang-dotnet=\"`Hold`\" pulumi-lang-go=\"`hold`\" pulumi-lang-python=\"`hold`\" pulumi-lang-yaml=\"`hold`\" pulumi-lang-java=\"`hold`\"\u003e`hold`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`restart`\" pulumi-lang-dotnet=\"`Restart`\" pulumi-lang-go=\"`restart`\" pulumi-lang-python=\"`restart`\" pulumi-lang-yaml=\"`restart`\" pulumi-lang-java=\"`restart`\"\u003e`restart`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e or `restart-by-peer`. Default value is \u003cspan pulumi-lang-nodejs=\"`hold`\" pulumi-lang-dotnet=\"`Hold`\" pulumi-lang-go=\"`hold`\" pulumi-lang-python=\"`hold`\" pulumi-lang-yaml=\"`hold`\" pulumi-lang-java=\"`hold`\"\u003e`hold`\u003c/span\u003e.\n"},"interval":{"type":"number","description":"The dead peer detection (DPD) interval, in seconds.\nA valid value is a positive integer. Default is \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e.\n"},"timeout":{"type":"number","description":"The dead peer detection (DPD) timeout in seconds.\nA valid value is a positive integer that is greater than the DPD interval value. Default is \u003cspan pulumi-lang-nodejs=\"`120`\" pulumi-lang-dotnet=\"`120`\" pulumi-lang-go=\"`120`\" pulumi-lang-python=\"`120`\" pulumi-lang-yaml=\"`120`\" pulumi-lang-java=\"`120`\"\u003e`120`\u003c/span\u003e.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["action","interval","timeout"]}}},"opentelekomcloud:index/VpnaasSiteConnectionV2Timeouts:VpnaasSiteConnectionV2Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/WafCcattackprotectionRuleV1Timeouts:WafCcattackprotectionRuleV1Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/WafCertificateV1Timeouts:WafCertificateV1Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/WafDatamaskingRuleV1Timeouts:WafDatamaskingRuleV1Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/WafDedicatedAlarmMaskingRuleV1AdvancedSettings:WafDedicatedAlarmMaskingRuleV1AdvancedSettings":{"properties":{"contents":{"type":"array","items":{"type":"string"},"description":"Subfield of the specified field type. The default value is all.\n"},"index":{"type":"string","description":"Field type.\nThe following field types are supported: `Params`, `Cookie`, `Header`, `Body`, and `Multipart`.\nWhen you select `Params`, `Cookie`, or `Header`, you can set this parameter to \u003cspan pulumi-lang-nodejs=\"`all`\" pulumi-lang-dotnet=\"`All`\" pulumi-lang-go=\"`all`\" pulumi-lang-python=\"`all`\" pulumi-lang-yaml=\"`all`\" pulumi-lang-java=\"`all`\"\u003e`all`\u003c/span\u003e or configure subfields as required.\n"}},"type":"object"},"opentelekomcloud:index/WafDedicatedAlarmMaskingRuleV1Condition:WafDedicatedAlarmMaskingRuleV1Condition":{"properties":{"category":{"type":"string","description":"Field type. The value can be \u003cspan pulumi-lang-nodejs=\"`url`\" pulumi-lang-dotnet=\"`Url`\" pulumi-lang-go=\"`url`\" pulumi-lang-python=\"`url`\" pulumi-lang-yaml=\"`url`\" pulumi-lang-java=\"`url`\"\u003e`url`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ip`\" pulumi-lang-dotnet=\"`Ip`\" pulumi-lang-go=\"`ip`\" pulumi-lang-python=\"`ip`\" pulumi-lang-yaml=\"`ip`\" pulumi-lang-java=\"`ip`\"\u003e`ip`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`params`\" pulumi-lang-dotnet=\"`Params`\" pulumi-lang-go=\"`params`\" pulumi-lang-python=\"`params`\" pulumi-lang-yaml=\"`params`\" pulumi-lang-java=\"`params`\"\u003e`params`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`cookie`\" pulumi-lang-dotnet=\"`Cookie`\" pulumi-lang-go=\"`cookie`\" pulumi-lang-python=\"`cookie`\" pulumi-lang-yaml=\"`cookie`\" pulumi-lang-java=\"`cookie`\"\u003e`cookie`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`header`\" pulumi-lang-dotnet=\"`Header`\" pulumi-lang-go=\"`header`\" pulumi-lang-python=\"`header`\" pulumi-lang-yaml=\"`header`\" pulumi-lang-java=\"`header`\"\u003e`header`\u003c/span\u003e.\n"},"contents":{"type":"array","items":{"type":"string"},"description":"Content. The array length is limited to 1.\nThe content format varies depending on the field type.\n+ For example, if the field type is \u003cspan pulumi-lang-nodejs=\"`ip`\" pulumi-lang-dotnet=\"`Ip`\" pulumi-lang-go=\"`ip`\" pulumi-lang-python=\"`ip`\" pulumi-lang-yaml=\"`ip`\" pulumi-lang-java=\"`ip`\"\u003e`ip`\u003c/span\u003e, the value must be an `IP address` or `IP address range`.\n+ If the field type is \u003cspan pulumi-lang-nodejs=\"`url`\" pulumi-lang-dotnet=\"`Url`\" pulumi-lang-go=\"`url`\" pulumi-lang-python=\"`url`\" pulumi-lang-yaml=\"`url`\" pulumi-lang-java=\"`url`\"\u003e`url`\u003c/span\u003e, the value must be in the `standard URL format`.\n+ IF the field type is \u003cspan pulumi-lang-nodejs=\"`params`\" pulumi-lang-dotnet=\"`Params`\" pulumi-lang-go=\"`params`\" pulumi-lang-python=\"`params`\" pulumi-lang-yaml=\"`params`\" pulumi-lang-java=\"`params`\"\u003e`params`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`cookie`\" pulumi-lang-dotnet=\"`Cookie`\" pulumi-lang-go=\"`cookie`\" pulumi-lang-python=\"`cookie`\" pulumi-lang-yaml=\"`cookie`\" pulumi-lang-java=\"`cookie`\"\u003e`cookie`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`header`\" pulumi-lang-dotnet=\"`Header`\" pulumi-lang-go=\"`header`\" pulumi-lang-python=\"`header`\" pulumi-lang-yaml=\"`header`\" pulumi-lang-java=\"`header`\"\u003e`header`\u003c/span\u003e, the content format is not limited.\n"},"index":{"type":"string","description":"Subfield. When \u003cspan pulumi-lang-nodejs=\"`category`\" pulumi-lang-dotnet=\"`Category`\" pulumi-lang-go=\"`category`\" pulumi-lang-python=\"`category`\" pulumi-lang-yaml=\"`category`\" pulumi-lang-java=\"`category`\"\u003e`category`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`params`\" pulumi-lang-dotnet=\"`Params`\" pulumi-lang-go=\"`params`\" pulumi-lang-python=\"`params`\" pulumi-lang-yaml=\"`params`\" pulumi-lang-java=\"`params`\"\u003e`params`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`cookie`\" pulumi-lang-dotnet=\"`Cookie`\" pulumi-lang-go=\"`cookie`\" pulumi-lang-python=\"`cookie`\" pulumi-lang-yaml=\"`cookie`\" pulumi-lang-java=\"`cookie`\"\u003e`cookie`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`header`\" pulumi-lang-dotnet=\"`Header`\" pulumi-lang-go=\"`header`\" pulumi-lang-python=\"`header`\" pulumi-lang-yaml=\"`header`\" pulumi-lang-java=\"`header`\"\u003e`header`\u003c/span\u003e, set this parameter based on site requirements. This parameter is mandatory.\n"},"logicOperation":{"type":"string","description":"The matching logic varies depending on the field type.\n+ if the field type is \u003cspan pulumi-lang-nodejs=\"`ip`\" pulumi-lang-dotnet=\"`Ip`\" pulumi-lang-go=\"`ip`\" pulumi-lang-python=\"`ip`\" pulumi-lang-yaml=\"`ip`\" pulumi-lang-java=\"`ip`\"\u003e`ip`\u003c/span\u003e, the logic can be \u003cspan pulumi-lang-nodejs=\"`equal`\" pulumi-lang-dotnet=\"`Equal`\" pulumi-lang-go=\"`equal`\" pulumi-lang-python=\"`equal`\" pulumi-lang-yaml=\"`equal`\" pulumi-lang-java=\"`equal`\"\u003e`equal`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`notEqual`\" pulumi-lang-dotnet=\"`NotEqual`\" pulumi-lang-go=\"`notEqual`\" pulumi-lang-python=\"`not_equal`\" pulumi-lang-yaml=\"`notEqual`\" pulumi-lang-java=\"`notEqual`\"\u003e`not_equal`\u003c/span\u003e.\n+ If the field type is \u003cspan pulumi-lang-nodejs=\"`url`\" pulumi-lang-dotnet=\"`Url`\" pulumi-lang-go=\"`url`\" pulumi-lang-python=\"`url`\" pulumi-lang-yaml=\"`url`\" pulumi-lang-java=\"`url`\"\u003e`url`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`params`\" pulumi-lang-dotnet=\"`Params`\" pulumi-lang-go=\"`params`\" pulumi-lang-python=\"`params`\" pulumi-lang-yaml=\"`params`\" pulumi-lang-java=\"`params`\"\u003e`params`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`cookie`\" pulumi-lang-dotnet=\"`Cookie`\" pulumi-lang-go=\"`cookie`\" pulumi-lang-python=\"`cookie`\" pulumi-lang-yaml=\"`cookie`\" pulumi-lang-java=\"`cookie`\"\u003e`cookie`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`header`\" pulumi-lang-dotnet=\"`Header`\" pulumi-lang-go=\"`header`\" pulumi-lang-python=\"`header`\" pulumi-lang-yaml=\"`header`\" pulumi-lang-java=\"`header`\"\u003e`header`\u003c/span\u003e, the logic can be \u003cspan pulumi-lang-nodejs=\"`equal`\" pulumi-lang-dotnet=\"`Equal`\" pulumi-lang-go=\"`equal`\" pulumi-lang-python=\"`equal`\" pulumi-lang-yaml=\"`equal`\" pulumi-lang-java=\"`equal`\"\u003e`equal`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`notEqual`\" pulumi-lang-dotnet=\"`NotEqual`\" pulumi-lang-go=\"`notEqual`\" pulumi-lang-python=\"`not_equal`\" pulumi-lang-yaml=\"`notEqual`\" pulumi-lang-java=\"`notEqual`\"\u003e`not_equal`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`contain`\" pulumi-lang-dotnet=\"`Contain`\" pulumi-lang-go=\"`contain`\" pulumi-lang-python=\"`contain`\" pulumi-lang-yaml=\"`contain`\" pulumi-lang-java=\"`contain`\"\u003e`contain`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`notContain`\" pulumi-lang-dotnet=\"`NotContain`\" pulumi-lang-go=\"`notContain`\" pulumi-lang-python=\"`not_contain`\" pulumi-lang-yaml=\"`notContain`\" pulumi-lang-java=\"`notContain`\"\u003e`not_contain`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`prefix`\" pulumi-lang-dotnet=\"`Prefix`\" pulumi-lang-go=\"`prefix`\" pulumi-lang-python=\"`prefix`\" pulumi-lang-yaml=\"`prefix`\" pulumi-lang-java=\"`prefix`\"\u003e`prefix`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`notPrefix`\" pulumi-lang-dotnet=\"`NotPrefix`\" pulumi-lang-go=\"`notPrefix`\" pulumi-lang-python=\"`not_prefix`\" pulumi-lang-yaml=\"`notPrefix`\" pulumi-lang-java=\"`notPrefix`\"\u003e`not_prefix`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`suffix`\" pulumi-lang-dotnet=\"`Suffix`\" pulumi-lang-go=\"`suffix`\" pulumi-lang-python=\"`suffix`\" pulumi-lang-yaml=\"`suffix`\" pulumi-lang-java=\"`suffix`\"\u003e`suffix`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`notSuffix`\" pulumi-lang-dotnet=\"`NotSuffix`\" pulumi-lang-go=\"`notSuffix`\" pulumi-lang-python=\"`not_suffix`\" pulumi-lang-yaml=\"`notSuffix`\" pulumi-lang-java=\"`notSuffix`\"\u003e`not_suffix`\u003c/span\u003e.\n"}},"type":"object","required":["category","logicOperation"]},"opentelekomcloud:index/WafDedicatedAlarmMaskingRuleV1Timeouts:WafDedicatedAlarmMaskingRuleV1Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/WafDedicatedAntiCrawlerRuleV1Timeouts:WafDedicatedAntiCrawlerRuleV1Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/WafDedicatedAntiLeakageRuleV1Timeouts:WafDedicatedAntiLeakageRuleV1Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/WafDedicatedBlacklistRuleV1Timeouts:WafDedicatedBlacklistRuleV1Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/WafDedicatedCcRuleV1Action:WafDedicatedCcRuleV1Action":{"properties":{"category":{"type":"string","description":"Action type. Changing this creates a new rule.\n"},"content":{"type":"string","description":"Protection page content. Changing this creates a new rule.\n"},"contentType":{"type":"string","description":"User identifier. The value is fixed at referer. Changing this creates a new rule.\n"}},"type":"object","required":["category"]},"opentelekomcloud:index/WafDedicatedCcRuleV1Condition:WafDedicatedCcRuleV1Condition":{"properties":{"category":{"type":"string","description":"Field type. The value can be \u003cspan pulumi-lang-nodejs=\"`url`\" pulumi-lang-dotnet=\"`Url`\" pulumi-lang-go=\"`url`\" pulumi-lang-python=\"`url`\" pulumi-lang-yaml=\"`url`\" pulumi-lang-java=\"`url`\"\u003e`url`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ip`\" pulumi-lang-dotnet=\"`Ip`\" pulumi-lang-go=\"`ip`\" pulumi-lang-python=\"`ip`\" pulumi-lang-yaml=\"`ip`\" pulumi-lang-java=\"`ip`\"\u003e`ip`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`params`\" pulumi-lang-dotnet=\"`Params`\" pulumi-lang-go=\"`params`\" pulumi-lang-python=\"`params`\" pulumi-lang-yaml=\"`params`\" pulumi-lang-java=\"`params`\"\u003e`params`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`cookie`\" pulumi-lang-dotnet=\"`Cookie`\" pulumi-lang-go=\"`cookie`\" pulumi-lang-python=\"`cookie`\" pulumi-lang-yaml=\"`cookie`\" pulumi-lang-java=\"`cookie`\"\u003e`cookie`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`header`\" pulumi-lang-dotnet=\"`Header`\" pulumi-lang-go=\"`header`\" pulumi-lang-python=\"`header`\" pulumi-lang-yaml=\"`header`\" pulumi-lang-java=\"`header`\"\u003e`header`\u003c/span\u003e.\n"},"contents":{"type":"array","items":{"type":"string"},"description":"Content of the conditions. This parameter is mandatory when the suffix of \u003cspan pulumi-lang-nodejs=\"`logicOperation`\" pulumi-lang-dotnet=\"`LogicOperation`\" pulumi-lang-go=\"`logicOperation`\" pulumi-lang-python=\"`logic_operation`\" pulumi-lang-yaml=\"`logicOperation`\" pulumi-lang-java=\"`logicOperation`\"\u003e`logic_operation`\u003c/span\u003e is not \u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\"\u003e`any`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`all`\" pulumi-lang-dotnet=\"`All`\" pulumi-lang-go=\"`all`\" pulumi-lang-python=\"`all`\" pulumi-lang-yaml=\"`all`\" pulumi-lang-java=\"`all`\"\u003e`all`\u003c/span\u003e. Changing this creates a new rule.\n"},"index":{"type":"string","description":"Subfield. When \u003cspan pulumi-lang-nodejs=\"`category`\" pulumi-lang-dotnet=\"`Category`\" pulumi-lang-go=\"`category`\" pulumi-lang-python=\"`category`\" pulumi-lang-yaml=\"`category`\" pulumi-lang-java=\"`category`\"\u003e`category`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`params`\" pulumi-lang-dotnet=\"`Params`\" pulumi-lang-go=\"`params`\" pulumi-lang-python=\"`params`\" pulumi-lang-yaml=\"`params`\" pulumi-lang-java=\"`params`\"\u003e`params`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`cookie`\" pulumi-lang-dotnet=\"`Cookie`\" pulumi-lang-go=\"`cookie`\" pulumi-lang-python=\"`cookie`\" pulumi-lang-yaml=\"`cookie`\" pulumi-lang-java=\"`cookie`\"\u003e`cookie`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`header`\" pulumi-lang-dotnet=\"`Header`\" pulumi-lang-go=\"`header`\" pulumi-lang-python=\"`header`\" pulumi-lang-yaml=\"`header`\" pulumi-lang-java=\"`header`\"\u003e`header`\u003c/span\u003e, set this parameter based on site requirements. This parameter is mandatory. Changing this creates a new rule.\n"},"logicOperation":{"type":"string","description":"Logic for matching the condition.\n+ If the category is \u003cspan pulumi-lang-nodejs=\"`url`\" pulumi-lang-dotnet=\"`Url`\" pulumi-lang-go=\"`url`\" pulumi-lang-python=\"`url`\" pulumi-lang-yaml=\"`url`\" pulumi-lang-java=\"`url`\"\u003e`url`\u003c/span\u003e, the optional operations are \u003cspan pulumi-lang-nodejs=\"`contain`\" pulumi-lang-dotnet=\"`Contain`\" pulumi-lang-go=\"`contain`\" pulumi-lang-python=\"`contain`\" pulumi-lang-yaml=\"`contain`\" pulumi-lang-java=\"`contain`\"\u003e`contain`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`notContain`\" pulumi-lang-dotnet=\"`NotContain`\" pulumi-lang-go=\"`notContain`\" pulumi-lang-python=\"`not_contain`\" pulumi-lang-yaml=\"`notContain`\" pulumi-lang-java=\"`notContain`\"\u003e`not_contain`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`equal`\" pulumi-lang-dotnet=\"`Equal`\" pulumi-lang-go=\"`equal`\" pulumi-lang-python=\"`equal`\" pulumi-lang-yaml=\"`equal`\" pulumi-lang-java=\"`equal`\"\u003e`equal`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`notEqual`\" pulumi-lang-dotnet=\"`NotEqual`\" pulumi-lang-go=\"`notEqual`\" pulumi-lang-python=\"`not_equal`\" pulumi-lang-yaml=\"`notEqual`\" pulumi-lang-java=\"`notEqual`\"\u003e`not_equal`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`prefix`\" pulumi-lang-dotnet=\"`Prefix`\" pulumi-lang-go=\"`prefix`\" pulumi-lang-python=\"`prefix`\" pulumi-lang-yaml=\"`prefix`\" pulumi-lang-java=\"`prefix`\"\u003e`prefix`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`notPrefix`\" pulumi-lang-dotnet=\"`NotPrefix`\" pulumi-lang-go=\"`notPrefix`\" pulumi-lang-python=\"`not_prefix`\" pulumi-lang-yaml=\"`notPrefix`\" pulumi-lang-java=\"`notPrefix`\"\u003e`not_prefix`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`suffix`\" pulumi-lang-dotnet=\"`Suffix`\" pulumi-lang-go=\"`suffix`\" pulumi-lang-python=\"`suffix`\" pulumi-lang-yaml=\"`suffix`\" pulumi-lang-java=\"`suffix`\"\u003e`suffix`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`notSuffix`\" pulumi-lang-dotnet=\"`NotSuffix`\" pulumi-lang-go=\"`notSuffix`\" pulumi-lang-python=\"`not_suffix`\" pulumi-lang-yaml=\"`notSuffix`\" pulumi-lang-java=\"`notSuffix`\"\u003e`not_suffix`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`containAny`\" pulumi-lang-dotnet=\"`ContainAny`\" pulumi-lang-go=\"`containAny`\" pulumi-lang-python=\"`contain_any`\" pulumi-lang-yaml=\"`containAny`\" pulumi-lang-java=\"`containAny`\"\u003e`contain_any`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`notContainAll`\" pulumi-lang-dotnet=\"`NotContainAll`\" pulumi-lang-go=\"`notContainAll`\" pulumi-lang-python=\"`not_contain_all`\" pulumi-lang-yaml=\"`notContainAll`\" pulumi-lang-java=\"`notContainAll`\"\u003e`not_contain_all`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`equalAny`\" pulumi-lang-dotnet=\"`EqualAny`\" pulumi-lang-go=\"`equalAny`\" pulumi-lang-python=\"`equal_any`\" pulumi-lang-yaml=\"`equalAny`\" pulumi-lang-java=\"`equalAny`\"\u003e`equal_any`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`notEqualAll`\" pulumi-lang-dotnet=\"`NotEqualAll`\" pulumi-lang-go=\"`notEqualAll`\" pulumi-lang-python=\"`not_equal_all`\" pulumi-lang-yaml=\"`notEqualAll`\" pulumi-lang-java=\"`notEqualAll`\"\u003e`not_equal_all`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`equalAny`\" pulumi-lang-dotnet=\"`EqualAny`\" pulumi-lang-go=\"`equalAny`\" pulumi-lang-python=\"`equal_any`\" pulumi-lang-yaml=\"`equalAny`\" pulumi-lang-java=\"`equalAny`\"\u003e`equal_any`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`notEqualAll`\" pulumi-lang-dotnet=\"`NotEqualAll`\" pulumi-lang-go=\"`notEqualAll`\" pulumi-lang-python=\"`not_equal_all`\" pulumi-lang-yaml=\"`notEqualAll`\" pulumi-lang-java=\"`notEqualAll`\"\u003e`not_equal_all`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`prefixAny`\" pulumi-lang-dotnet=\"`PrefixAny`\" pulumi-lang-go=\"`prefixAny`\" pulumi-lang-python=\"`prefix_any`\" pulumi-lang-yaml=\"`prefixAny`\" pulumi-lang-java=\"`prefixAny`\"\u003e`prefix_any`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`notPrefixAll`\" pulumi-lang-dotnet=\"`NotPrefixAll`\" pulumi-lang-go=\"`notPrefixAll`\" pulumi-lang-python=\"`not_prefix_all`\" pulumi-lang-yaml=\"`notPrefixAll`\" pulumi-lang-java=\"`notPrefixAll`\"\u003e`not_prefix_all`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`suffixAny`\" pulumi-lang-dotnet=\"`SuffixAny`\" pulumi-lang-go=\"`suffixAny`\" pulumi-lang-python=\"`suffix_any`\" pulumi-lang-yaml=\"`suffixAny`\" pulumi-lang-java=\"`suffixAny`\"\u003e`suffix_any`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`notSuffixAll`\" pulumi-lang-dotnet=\"`NotSuffixAll`\" pulumi-lang-go=\"`notSuffixAll`\" pulumi-lang-python=\"`not_suffix_all`\" pulumi-lang-yaml=\"`notSuffixAll`\" pulumi-lang-java=\"`notSuffixAll`\"\u003e`not_suffix_all`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lenGreater`\" pulumi-lang-dotnet=\"`LenGreater`\" pulumi-lang-go=\"`lenGreater`\" pulumi-lang-python=\"`len_greater`\" pulumi-lang-yaml=\"`lenGreater`\" pulumi-lang-java=\"`lenGreater`\"\u003e`len_greater`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lenLess`\" pulumi-lang-dotnet=\"`LenLess`\" pulumi-lang-go=\"`lenLess`\" pulumi-lang-python=\"`len_less`\" pulumi-lang-yaml=\"`lenLess`\" pulumi-lang-java=\"`lenLess`\"\u003e`len_less`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lenEqual`\" pulumi-lang-dotnet=\"`LenEqual`\" pulumi-lang-go=\"`lenEqual`\" pulumi-lang-python=\"`len_equal`\" pulumi-lang-yaml=\"`lenEqual`\" pulumi-lang-java=\"`lenEqual`\"\u003e`len_equal`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`lenNotEqual`\" pulumi-lang-dotnet=\"`LenNotEqual`\" pulumi-lang-go=\"`lenNotEqual`\" pulumi-lang-python=\"`len_not_equal`\" pulumi-lang-yaml=\"`lenNotEqual`\" pulumi-lang-java=\"`lenNotEqual`\"\u003e`len_not_equal`\u003c/span\u003e\n+ If the category is \u003cspan pulumi-lang-nodejs=\"`ip`\" pulumi-lang-dotnet=\"`Ip`\" pulumi-lang-go=\"`ip`\" pulumi-lang-python=\"`ip`\" pulumi-lang-yaml=\"`ip`\" pulumi-lang-java=\"`ip`\"\u003e`ip`\u003c/span\u003e, the optional operations are: \u003cspan pulumi-lang-nodejs=\"`equal`\" pulumi-lang-dotnet=\"`Equal`\" pulumi-lang-go=\"`equal`\" pulumi-lang-python=\"`equal`\" pulumi-lang-yaml=\"`equal`\" pulumi-lang-java=\"`equal`\"\u003e`equal`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`notEqual`\" pulumi-lang-dotnet=\"`NotEqual`\" pulumi-lang-go=\"`notEqual`\" pulumi-lang-python=\"`not_equal`\" pulumi-lang-yaml=\"`notEqual`\" pulumi-lang-java=\"`notEqual`\"\u003e`not_equal`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`equalAny`\" pulumi-lang-dotnet=\"`EqualAny`\" pulumi-lang-go=\"`equalAny`\" pulumi-lang-python=\"`equal_any`\" pulumi-lang-yaml=\"`equalAny`\" pulumi-lang-java=\"`equalAny`\"\u003e`equal_any`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`notEqualAll`\" pulumi-lang-dotnet=\"`NotEqualAll`\" pulumi-lang-go=\"`notEqualAll`\" pulumi-lang-python=\"`not_equal_all`\" pulumi-lang-yaml=\"`notEqualAll`\" pulumi-lang-java=\"`notEqualAll`\"\u003e`not_equal_all`\u003c/span\u003e\n+ If the category is \u003cspan pulumi-lang-nodejs=\"`params`\" pulumi-lang-dotnet=\"`Params`\" pulumi-lang-go=\"`params`\" pulumi-lang-python=\"`params`\" pulumi-lang-yaml=\"`params`\" pulumi-lang-java=\"`params`\"\u003e`params`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`cookie`\" pulumi-lang-dotnet=\"`Cookie`\" pulumi-lang-go=\"`cookie`\" pulumi-lang-python=\"`cookie`\" pulumi-lang-yaml=\"`cookie`\" pulumi-lang-java=\"`cookie`\"\u003e`cookie`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`header`\" pulumi-lang-dotnet=\"`Header`\" pulumi-lang-go=\"`header`\" pulumi-lang-python=\"`header`\" pulumi-lang-yaml=\"`header`\" pulumi-lang-java=\"`header`\"\u003e`header`\u003c/span\u003e, the optional operations are: \u003cspan pulumi-lang-nodejs=\"`contain`\" pulumi-lang-dotnet=\"`Contain`\" pulumi-lang-go=\"`contain`\" pulumi-lang-python=\"`contain`\" pulumi-lang-yaml=\"`contain`\" pulumi-lang-java=\"`contain`\"\u003e`contain`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`notContain`\" pulumi-lang-dotnet=\"`NotContain`\" pulumi-lang-go=\"`notContain`\" pulumi-lang-python=\"`not_contain`\" pulumi-lang-yaml=\"`notContain`\" pulumi-lang-java=\"`notContain`\"\u003e`not_contain`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`equal`\" pulumi-lang-dotnet=\"`Equal`\" pulumi-lang-go=\"`equal`\" pulumi-lang-python=\"`equal`\" pulumi-lang-yaml=\"`equal`\" pulumi-lang-java=\"`equal`\"\u003e`equal`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`notEqual`\" pulumi-lang-dotnet=\"`NotEqual`\" pulumi-lang-go=\"`notEqual`\" pulumi-lang-python=\"`not_equal`\" pulumi-lang-yaml=\"`notEqual`\" pulumi-lang-java=\"`notEqual`\"\u003e`not_equal`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`prefix`\" pulumi-lang-dotnet=\"`Prefix`\" pulumi-lang-go=\"`prefix`\" pulumi-lang-python=\"`prefix`\" pulumi-lang-yaml=\"`prefix`\" pulumi-lang-java=\"`prefix`\"\u003e`prefix`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`notPrefix`\" pulumi-lang-dotnet=\"`NotPrefix`\" pulumi-lang-go=\"`notPrefix`\" pulumi-lang-python=\"`not_prefix`\" pulumi-lang-yaml=\"`notPrefix`\" pulumi-lang-java=\"`notPrefix`\"\u003e`not_prefix`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`suffix`\" pulumi-lang-dotnet=\"`Suffix`\" pulumi-lang-go=\"`suffix`\" pulumi-lang-python=\"`suffix`\" pulumi-lang-yaml=\"`suffix`\" pulumi-lang-java=\"`suffix`\"\u003e`suffix`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`notSuffix`\" pulumi-lang-dotnet=\"`NotSuffix`\" pulumi-lang-go=\"`notSuffix`\" pulumi-lang-python=\"`not_suffix`\" pulumi-lang-yaml=\"`notSuffix`\" pulumi-lang-java=\"`notSuffix`\"\u003e`not_suffix`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`containAny`\" pulumi-lang-dotnet=\"`ContainAny`\" pulumi-lang-go=\"`containAny`\" pulumi-lang-python=\"`contain_any`\" pulumi-lang-yaml=\"`containAny`\" pulumi-lang-java=\"`containAny`\"\u003e`contain_any`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`notContainAll`\" pulumi-lang-dotnet=\"`NotContainAll`\" pulumi-lang-go=\"`notContainAll`\" pulumi-lang-python=\"`not_contain_all`\" pulumi-lang-yaml=\"`notContainAll`\" pulumi-lang-java=\"`notContainAll`\"\u003e`not_contain_all`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`equalAny`\" pulumi-lang-dotnet=\"`EqualAny`\" pulumi-lang-go=\"`equalAny`\" pulumi-lang-python=\"`equal_any`\" pulumi-lang-yaml=\"`equalAny`\" pulumi-lang-java=\"`equalAny`\"\u003e`equal_any`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`notEqualAll`\" pulumi-lang-dotnet=\"`NotEqualAll`\" pulumi-lang-go=\"`notEqualAll`\" pulumi-lang-python=\"`not_equal_all`\" pulumi-lang-yaml=\"`notEqualAll`\" pulumi-lang-java=\"`notEqualAll`\"\u003e`not_equal_all`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`equalAny`\" pulumi-lang-dotnet=\"`EqualAny`\" pulumi-lang-go=\"`equalAny`\" pulumi-lang-python=\"`equal_any`\" pulumi-lang-yaml=\"`equalAny`\" pulumi-lang-java=\"`equalAny`\"\u003e`equal_any`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`notEqualAll`\" pulumi-lang-dotnet=\"`NotEqualAll`\" pulumi-lang-go=\"`notEqualAll`\" pulumi-lang-python=\"`not_equal_all`\" pulumi-lang-yaml=\"`notEqualAll`\" pulumi-lang-java=\"`notEqualAll`\"\u003e`not_equal_all`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`prefixAny`\" pulumi-lang-dotnet=\"`PrefixAny`\" pulumi-lang-go=\"`prefixAny`\" pulumi-lang-python=\"`prefix_any`\" pulumi-lang-yaml=\"`prefixAny`\" pulumi-lang-java=\"`prefixAny`\"\u003e`prefix_any`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`notPrefixAll`\" pulumi-lang-dotnet=\"`NotPrefixAll`\" pulumi-lang-go=\"`notPrefixAll`\" pulumi-lang-python=\"`not_prefix_all`\" pulumi-lang-yaml=\"`notPrefixAll`\" pulumi-lang-java=\"`notPrefixAll`\"\u003e`not_prefix_all`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`suffixAny`\" pulumi-lang-dotnet=\"`SuffixAny`\" pulumi-lang-go=\"`suffixAny`\" pulumi-lang-python=\"`suffix_any`\" pulumi-lang-yaml=\"`suffixAny`\" pulumi-lang-java=\"`suffixAny`\"\u003e`suffix_any`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`notSuffixAll`\" pulumi-lang-dotnet=\"`NotSuffixAll`\" pulumi-lang-go=\"`notSuffixAll`\" pulumi-lang-python=\"`not_suffix_all`\" pulumi-lang-yaml=\"`notSuffixAll`\" pulumi-lang-java=\"`notSuffixAll`\"\u003e`not_suffix_all`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lenGreater`\" pulumi-lang-dotnet=\"`LenGreater`\" pulumi-lang-go=\"`lenGreater`\" pulumi-lang-python=\"`len_greater`\" pulumi-lang-yaml=\"`lenGreater`\" pulumi-lang-java=\"`lenGreater`\"\u003e`len_greater`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lenLess`\" pulumi-lang-dotnet=\"`LenLess`\" pulumi-lang-go=\"`lenLess`\" pulumi-lang-python=\"`len_less`\" pulumi-lang-yaml=\"`lenLess`\" pulumi-lang-java=\"`lenLess`\"\u003e`len_less`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lenEqual`\" pulumi-lang-dotnet=\"`LenEqual`\" pulumi-lang-go=\"`lenEqual`\" pulumi-lang-python=\"`len_equal`\" pulumi-lang-yaml=\"`lenEqual`\" pulumi-lang-java=\"`lenEqual`\"\u003e`len_equal`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lenNotEqual`\" pulumi-lang-dotnet=\"`LenNotEqual`\" pulumi-lang-go=\"`lenNotEqual`\" pulumi-lang-python=\"`len_not_equal`\" pulumi-lang-yaml=\"`lenNotEqual`\" pulumi-lang-java=\"`lenNotEqual`\"\u003e`len_not_equal`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`numGreater`\" pulumi-lang-dotnet=\"`NumGreater`\" pulumi-lang-go=\"`numGreater`\" pulumi-lang-python=\"`num_greater`\" pulumi-lang-yaml=\"`numGreater`\" pulumi-lang-java=\"`numGreater`\"\u003e`num_greater`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`numLess`\" pulumi-lang-dotnet=\"`NumLess`\" pulumi-lang-go=\"`numLess`\" pulumi-lang-python=\"`num_less`\" pulumi-lang-yaml=\"`numLess`\" pulumi-lang-java=\"`numLess`\"\u003e`num_less`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`numEqual`\" pulumi-lang-dotnet=\"`NumEqual`\" pulumi-lang-go=\"`numEqual`\" pulumi-lang-python=\"`num_equal`\" pulumi-lang-yaml=\"`numEqual`\" pulumi-lang-java=\"`numEqual`\"\u003e`num_equal`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`numNotEqual`\" pulumi-lang-dotnet=\"`NumNotEqual`\" pulumi-lang-go=\"`numNotEqual`\" pulumi-lang-python=\"`num_not_equal`\" pulumi-lang-yaml=\"`numNotEqual`\" pulumi-lang-java=\"`numNotEqual`\"\u003e`num_not_equal`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`exist`\" pulumi-lang-dotnet=\"`Exist`\" pulumi-lang-go=\"`exist`\" pulumi-lang-python=\"`exist`\" pulumi-lang-yaml=\"`exist`\" pulumi-lang-java=\"`exist`\"\u003e`exist`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`notExist`\" pulumi-lang-dotnet=\"`NotExist`\" pulumi-lang-go=\"`notExist`\" pulumi-lang-python=\"`not_exist`\" pulumi-lang-yaml=\"`notExist`\" pulumi-lang-java=\"`notExist`\"\u003e`not_exist`\u003c/span\u003e\nChanging this creates a new rule.\n"},"valueListId":{"type":"string","description":"Reference table ID. This parameter is mandatory when the suffix of \u003cspan pulumi-lang-nodejs=\"`logicOperation`\" pulumi-lang-dotnet=\"`LogicOperation`\" pulumi-lang-go=\"`logicOperation`\" pulumi-lang-python=\"`logic_operation`\" pulumi-lang-yaml=\"`logicOperation`\" pulumi-lang-java=\"`logicOperation`\"\u003e`logic_operation`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\"\u003e`any`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`all`\" pulumi-lang-dotnet=\"`All`\" pulumi-lang-go=\"`all`\" pulumi-lang-python=\"`all`\" pulumi-lang-yaml=\"`all`\" pulumi-lang-java=\"`all`\"\u003e`all`\u003c/span\u003e. The reference table type must be the same as the category type. Changing this creates a new rule.\n"}},"type":"object","required":["category","logicOperation"]},"opentelekomcloud:index/WafDedicatedCcRuleV1Timeouts:WafDedicatedCcRuleV1Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/WafDedicatedCertificateV1Timeouts:WafDedicatedCertificateV1Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/WafDedicatedDataMaskingRuleV1Timeouts:WafDedicatedDataMaskingRuleV1Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/WafDedicatedDomainV1Server:WafDedicatedDomainV1Server":{"properties":{"address":{"type":"string","description":"IP address or domain name of the web server that the client accesses. For\nexample, `192.168.1.1` or `www.example.com`. Changing this creates a new server.\n"},"clientProtocol":{"type":"string","description":"Protocol type of the client. Values are `HTTP` and `HTTPS`.\nChanging this creates a new server.\n"},"port":{"type":"number","description":"Port number used by the web server. The value ranges from 0 to 65535. Changing this\ncreates a new server.\n"},"serverProtocol":{"type":"string","description":"Protocol used by WAF to forward client requests to the server.\nValues are`HTTP` and `HTTPS`. Changing this creates a new server.\n"},"type":{"type":"string","description":"Server network type, IPv4 or IPv6. Valid values are: \u003cspan pulumi-lang-nodejs=\"`ipv4`\" pulumi-lang-dotnet=\"`Ipv4`\" pulumi-lang-go=\"`ipv4`\" pulumi-lang-python=\"`ipv4`\" pulumi-lang-yaml=\"`ipv4`\" pulumi-lang-java=\"`ipv4`\"\u003e`ipv4`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`ipv6`\" pulumi-lang-dotnet=\"`Ipv6`\" pulumi-lang-go=\"`ipv6`\" pulumi-lang-python=\"`ipv6`\" pulumi-lang-yaml=\"`ipv6`\" pulumi-lang-java=\"`ipv6`\"\u003e`ipv6`\u003c/span\u003e. Changing\nthis creates a new server.\n"},"vpcId":{"type":"string","description":"The id of the vpc used by the server. Changing this creates a server.\n"}},"type":"object","required":["address","clientProtocol","port","serverProtocol","type","vpcId"]},"opentelekomcloud:index/WafDedicatedDomainV1TimeoutConfig:WafDedicatedDomainV1TimeoutConfig":{"properties":{"connectTimeout":{"type":"number","description":"Specifies the timeout in seconds for WAF to connect to the origin server.\n"},"readTimeout":{"type":"number","description":"Specifies the timeout in seconds for WAF to receive responses from the origin server.\n"},"sendTimeout":{"type":"number"}},"type":"object","language":{"nodejs":{"requiredOutputs":["connectTimeout","readTimeout","sendTimeout"]}}},"opentelekomcloud:index/WafDedicatedGeoIpRuleV1Timeouts:WafDedicatedGeoIpRuleV1Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/WafDedicatedInstanceV1Timeouts:WafDedicatedInstanceV1Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/WafDedicatedKnownAttackSourceRuleV1Timeouts:WafDedicatedKnownAttackSourceRuleV1Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/WafDedicatedPolicyV1Option:WafDedicatedPolicyV1Option":{"properties":{"antiCrawler":{"type":"boolean","description":"JavaScript anti-crawler function.\n"},"antiLeakage":{"type":"boolean","description":"Whether the information leakage prevention is enabled.\n"},"antiTamper":{"type":"boolean","description":"Specifies whether Web Tamper Protection is enabled.\n"},"blacklist":{"type":"boolean","description":"Specifies whether Blacklist and Whitelist is enabled.\n"},"botEnable":{"type":"boolean"},"cc":{"type":"boolean","description":"Specifies whether CC Attack Protection is enabled.\n"},"common":{"type":"boolean","description":"Specifies whether General Check in Basic Web Protection is enabled.\n"},"crawler":{"type":"boolean","description":"Specifies whether the master crawler detection switch in Basic Web Protection is enabled.\n"},"crawlerEngine":{"type":"boolean","description":"Specifies whether the Search Engine switch in Basic Web Protection is enabled.\n"},"crawlerOther":{"type":"boolean","description":"Specifies whether detection of other crawlers in Basic Web Protection is enabled.\n"},"crawlerScanner":{"type":"boolean","description":"Specifies whether the Scanner switch in Basic Web Protection is enabled.\n"},"crawlerScript":{"type":"boolean","description":"Specifies whether the Script Tool switch in Basic Web Protection is enabled.\n"},"custom":{"type":"boolean","description":"Specifies whether Precise Protection is enabled.\n"},"followedAction":{"type":"boolean","description":"Whether the Known Attack Source protection is enabled.\n"},"geolocationAccessControl":{"type":"boolean","description":"Whether geolocation access control is enabled.\n"},"ignore":{"type":"boolean","description":"Specifies whether False Alarm Masking is enabled.\n"},"precise":{"type":"boolean"},"privacy":{"type":"boolean","description":"Specifies whether Data Masking is enabled.\n"},"webAttack":{"type":"boolean","description":"Specifies whether Basic Web Protection is enabled.\n"},"webShell":{"type":"boolean","description":"Specifies whether webshell detection in Basic Web Protection is enabled.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["antiCrawler","antiLeakage","antiTamper","blacklist","botEnable","cc","common","crawler","crawlerEngine","crawlerOther","crawlerScanner","crawlerScript","custom","followedAction","geolocationAccessControl","ignore","precise","privacy","webAttack","webShell"]}}},"opentelekomcloud:index/WafDedicatedPolicyV1Timeouts:WafDedicatedPolicyV1Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/WafDedicatedPreciseProtectionRuleV1Action:WafDedicatedPreciseProtectionRuleV1Action":{"properties":{"category":{"type":"string","description":"Action type. Changing this creates a new rule.\n"},"followedActionId":{"type":"string","description":"ID of a known attack source rule. This parameter can be configured only when category is set to block. Changing this creates a new rule.\n"}},"type":"object","required":["category"]},"opentelekomcloud:index/WafDedicatedPreciseProtectionRuleV1Condition:WafDedicatedPreciseProtectionRuleV1Condition":{"properties":{"category":{"type":"string","description":"Field type. The options are \u003cspan pulumi-lang-nodejs=\"`url`\" pulumi-lang-dotnet=\"`Url`\" pulumi-lang-go=\"`url`\" pulumi-lang-python=\"`url`\" pulumi-lang-yaml=\"`url`\" pulumi-lang-java=\"`url`\"\u003e`url`\u003c/span\u003e, `user-agent`, \u003cspan pulumi-lang-nodejs=\"`ip`\" pulumi-lang-dotnet=\"`Ip`\" pulumi-lang-go=\"`ip`\" pulumi-lang-python=\"`ip`\" pulumi-lang-yaml=\"`ip`\" pulumi-lang-java=\"`ip`\"\u003e`ip`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`params`\" pulumi-lang-dotnet=\"`Params`\" pulumi-lang-go=\"`params`\" pulumi-lang-python=\"`params`\" pulumi-lang-yaml=\"`params`\" pulumi-lang-java=\"`params`\"\u003e`params`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`cookie`\" pulumi-lang-dotnet=\"`Cookie`\" pulumi-lang-go=\"`cookie`\" pulumi-lang-python=\"`cookie`\" pulumi-lang-yaml=\"`cookie`\" pulumi-lang-java=\"`cookie`\"\u003e`cookie`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`referer`\" pulumi-lang-dotnet=\"`Referer`\" pulumi-lang-go=\"`referer`\" pulumi-lang-python=\"`referer`\" pulumi-lang-yaml=\"`referer`\" pulumi-lang-java=\"`referer`\"\u003e`referer`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`header`\" pulumi-lang-dotnet=\"`Header`\" pulumi-lang-go=\"`header`\" pulumi-lang-python=\"`header`\" pulumi-lang-yaml=\"`header`\" pulumi-lang-java=\"`header`\"\u003e`header`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`requestLine`\" pulumi-lang-dotnet=\"`RequestLine`\" pulumi-lang-go=\"`requestLine`\" pulumi-lang-python=\"`request_line`\" pulumi-lang-yaml=\"`requestLine`\" pulumi-lang-java=\"`requestLine`\"\u003e`request_line`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`method`\" pulumi-lang-dotnet=\"`Method`\" pulumi-lang-go=\"`method`\" pulumi-lang-python=\"`method`\" pulumi-lang-yaml=\"`method`\" pulumi-lang-java=\"`method`\"\u003e`method`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`request`\" pulumi-lang-dotnet=\"`Request`\" pulumi-lang-go=\"`request`\" pulumi-lang-python=\"`request`\" pulumi-lang-yaml=\"`request`\" pulumi-lang-java=\"`request`\"\u003e`request`\u003c/span\u003e.\n"},"contents":{"type":"array","items":{"type":"string"},"description":"Content of the conditions. This parameter is mandatory when the suffix of \u003cspan pulumi-lang-nodejs=\"`logicOperation`\" pulumi-lang-dotnet=\"`LogicOperation`\" pulumi-lang-go=\"`logicOperation`\" pulumi-lang-python=\"`logic_operation`\" pulumi-lang-yaml=\"`logicOperation`\" pulumi-lang-java=\"`logicOperation`\"\u003e`logic_operation`\u003c/span\u003e is not \u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\"\u003e`any`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`all`\" pulumi-lang-dotnet=\"`All`\" pulumi-lang-go=\"`all`\" pulumi-lang-python=\"`all`\" pulumi-lang-yaml=\"`all`\" pulumi-lang-java=\"`all`\"\u003e`all`\u003c/span\u003e. This parameter is mandatory when the suffix of \u003cspan pulumi-lang-nodejs=\"`logicOperation`\" pulumi-lang-dotnet=\"`LogicOperation`\" pulumi-lang-go=\"`logicOperation`\" pulumi-lang-python=\"`logic_operation`\" pulumi-lang-yaml=\"`logicOperation`\" pulumi-lang-java=\"`logicOperation`\"\u003e`logic_operation`\u003c/span\u003e is not \u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\"\u003e`any`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`all`\" pulumi-lang-dotnet=\"`All`\" pulumi-lang-go=\"`all`\" pulumi-lang-python=\"`all`\" pulumi-lang-yaml=\"`all`\" pulumi-lang-java=\"`all`\"\u003e`all`\u003c/span\u003e. Changing this creates a new rule.\n"},"index":{"type":"string","description":"Subfield. Changing this creates a new rule.\n+ When the field type is \u003cspan pulumi-lang-nodejs=\"`url`\" pulumi-lang-dotnet=\"`Url`\" pulumi-lang-go=\"`url`\" pulumi-lang-python=\"`url`\" pulumi-lang-yaml=\"`url`\" pulumi-lang-java=\"`url`\"\u003e`url`\u003c/span\u003e, `user-agent`, \u003cspan pulumi-lang-nodejs=\"`ip`\" pulumi-lang-dotnet=\"`Ip`\" pulumi-lang-go=\"`ip`\" pulumi-lang-python=\"`ip`\" pulumi-lang-yaml=\"`ip`\" pulumi-lang-java=\"`ip`\"\u003e`ip`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`refer`\" pulumi-lang-dotnet=\"`Refer`\" pulumi-lang-go=\"`refer`\" pulumi-lang-python=\"`refer`\" pulumi-lang-yaml=\"`refer`\" pulumi-lang-java=\"`refer`\"\u003e`refer`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`requestLine`\" pulumi-lang-dotnet=\"`RequestLine`\" pulumi-lang-go=\"`requestLine`\" pulumi-lang-python=\"`request_line`\" pulumi-lang-yaml=\"`requestLine`\" pulumi-lang-java=\"`requestLine`\"\u003e`request_line`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`method`\" pulumi-lang-dotnet=\"`Method`\" pulumi-lang-go=\"`method`\" pulumi-lang-python=\"`method`\" pulumi-lang-yaml=\"`method`\" pulumi-lang-java=\"`method`\"\u003e`method`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`request`\" pulumi-lang-dotnet=\"`Request`\" pulumi-lang-go=\"`request`\" pulumi-lang-python=\"`request`\" pulumi-lang-yaml=\"`request`\" pulumi-lang-java=\"`request`\"\u003e`request`\u003c/span\u003e, index is not required.\n+ When the field type is \u003cspan pulumi-lang-nodejs=\"`params`\" pulumi-lang-dotnet=\"`Params`\" pulumi-lang-go=\"`params`\" pulumi-lang-python=\"`params`\" pulumi-lang-yaml=\"`params`\" pulumi-lang-java=\"`params`\"\u003e`params`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`header`\" pulumi-lang-dotnet=\"`Header`\" pulumi-lang-go=\"`header`\" pulumi-lang-python=\"`header`\" pulumi-lang-yaml=\"`header`\" pulumi-lang-java=\"`header`\"\u003e`header`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`cookie`\" pulumi-lang-dotnet=\"`Cookie`\" pulumi-lang-go=\"`cookie`\" pulumi-lang-python=\"`cookie`\" pulumi-lang-yaml=\"`cookie`\" pulumi-lang-java=\"`cookie`\"\u003e`cookie`\u003c/span\u003e, and the subfield is customized, the value of index is the customized subfield.\n"},"logicOperation":{"type":"string","description":"Logic for matching the condition. Changing this creates a new rule.\n+ If the category is \u003cspan pulumi-lang-nodejs=\"`url`\" pulumi-lang-dotnet=\"`Url`\" pulumi-lang-go=\"`url`\" pulumi-lang-python=\"`url`\" pulumi-lang-yaml=\"`url`\" pulumi-lang-java=\"`url`\"\u003e`url`\u003c/span\u003e, `user-agent` or \u003cspan pulumi-lang-nodejs=\"`referer`\" pulumi-lang-dotnet=\"`Referer`\" pulumi-lang-go=\"`referer`\" pulumi-lang-python=\"`referer`\" pulumi-lang-yaml=\"`referer`\" pulumi-lang-java=\"`referer`\"\u003e`referer`\u003c/span\u003e , the optional operations are \u003cspan pulumi-lang-nodejs=\"`contain`\" pulumi-lang-dotnet=\"`Contain`\" pulumi-lang-go=\"`contain`\" pulumi-lang-python=\"`contain`\" pulumi-lang-yaml=\"`contain`\" pulumi-lang-java=\"`contain`\"\u003e`contain`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`notContain`\" pulumi-lang-dotnet=\"`NotContain`\" pulumi-lang-go=\"`notContain`\" pulumi-lang-python=\"`not_contain`\" pulumi-lang-yaml=\"`notContain`\" pulumi-lang-java=\"`notContain`\"\u003e`not_contain`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`equal`\" pulumi-lang-dotnet=\"`Equal`\" pulumi-lang-go=\"`equal`\" pulumi-lang-python=\"`equal`\" pulumi-lang-yaml=\"`equal`\" pulumi-lang-java=\"`equal`\"\u003e`equal`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`notEqual`\" pulumi-lang-dotnet=\"`NotEqual`\" pulumi-lang-go=\"`notEqual`\" pulumi-lang-python=\"`not_equal`\" pulumi-lang-yaml=\"`notEqual`\" pulumi-lang-java=\"`notEqual`\"\u003e`not_equal`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`prefix`\" pulumi-lang-dotnet=\"`Prefix`\" pulumi-lang-go=\"`prefix`\" pulumi-lang-python=\"`prefix`\" pulumi-lang-yaml=\"`prefix`\" pulumi-lang-java=\"`prefix`\"\u003e`prefix`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`notPrefix`\" pulumi-lang-dotnet=\"`NotPrefix`\" pulumi-lang-go=\"`notPrefix`\" pulumi-lang-python=\"`not_prefix`\" pulumi-lang-yaml=\"`notPrefix`\" pulumi-lang-java=\"`notPrefix`\"\u003e`not_prefix`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`suffix`\" pulumi-lang-dotnet=\"`Suffix`\" pulumi-lang-go=\"`suffix`\" pulumi-lang-python=\"`suffix`\" pulumi-lang-yaml=\"`suffix`\" pulumi-lang-java=\"`suffix`\"\u003e`suffix`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`notSuffix`\" pulumi-lang-dotnet=\"`NotSuffix`\" pulumi-lang-go=\"`notSuffix`\" pulumi-lang-python=\"`not_suffix`\" pulumi-lang-yaml=\"`notSuffix`\" pulumi-lang-java=\"`notSuffix`\"\u003e`not_suffix`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`containAny`\" pulumi-lang-dotnet=\"`ContainAny`\" pulumi-lang-go=\"`containAny`\" pulumi-lang-python=\"`contain_any`\" pulumi-lang-yaml=\"`containAny`\" pulumi-lang-java=\"`containAny`\"\u003e`contain_any`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`notContainAll`\" pulumi-lang-dotnet=\"`NotContainAll`\" pulumi-lang-go=\"`notContainAll`\" pulumi-lang-python=\"`not_contain_all`\" pulumi-lang-yaml=\"`notContainAll`\" pulumi-lang-java=\"`notContainAll`\"\u003e`not_contain_all`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`equalAny`\" pulumi-lang-dotnet=\"`EqualAny`\" pulumi-lang-go=\"`equalAny`\" pulumi-lang-python=\"`equal_any`\" pulumi-lang-yaml=\"`equalAny`\" pulumi-lang-java=\"`equalAny`\"\u003e`equal_any`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`notEqualAll`\" pulumi-lang-dotnet=\"`NotEqualAll`\" pulumi-lang-go=\"`notEqualAll`\" pulumi-lang-python=\"`not_equal_all`\" pulumi-lang-yaml=\"`notEqualAll`\" pulumi-lang-java=\"`notEqualAll`\"\u003e`not_equal_all`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`equalAny`\" pulumi-lang-dotnet=\"`EqualAny`\" pulumi-lang-go=\"`equalAny`\" pulumi-lang-python=\"`equal_any`\" pulumi-lang-yaml=\"`equalAny`\" pulumi-lang-java=\"`equalAny`\"\u003e`equal_any`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`notEqualAll`\" pulumi-lang-dotnet=\"`NotEqualAll`\" pulumi-lang-go=\"`notEqualAll`\" pulumi-lang-python=\"`not_equal_all`\" pulumi-lang-yaml=\"`notEqualAll`\" pulumi-lang-java=\"`notEqualAll`\"\u003e`not_equal_all`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`prefixAny`\" pulumi-lang-dotnet=\"`PrefixAny`\" pulumi-lang-go=\"`prefixAny`\" pulumi-lang-python=\"`prefix_any`\" pulumi-lang-yaml=\"`prefixAny`\" pulumi-lang-java=\"`prefixAny`\"\u003e`prefix_any`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`notPrefixAll`\" pulumi-lang-dotnet=\"`NotPrefixAll`\" pulumi-lang-go=\"`notPrefixAll`\" pulumi-lang-python=\"`not_prefix_all`\" pulumi-lang-yaml=\"`notPrefixAll`\" pulumi-lang-java=\"`notPrefixAll`\"\u003e`not_prefix_all`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`suffixAny`\" pulumi-lang-dotnet=\"`SuffixAny`\" pulumi-lang-go=\"`suffixAny`\" pulumi-lang-python=\"`suffix_any`\" pulumi-lang-yaml=\"`suffixAny`\" pulumi-lang-java=\"`suffixAny`\"\u003e`suffix_any`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`notSuffixAll`\" pulumi-lang-dotnet=\"`NotSuffixAll`\" pulumi-lang-go=\"`notSuffixAll`\" pulumi-lang-python=\"`not_suffix_all`\" pulumi-lang-yaml=\"`notSuffixAll`\" pulumi-lang-java=\"`notSuffixAll`\"\u003e`not_suffix_all`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lenGreater`\" pulumi-lang-dotnet=\"`LenGreater`\" pulumi-lang-go=\"`lenGreater`\" pulumi-lang-python=\"`len_greater`\" pulumi-lang-yaml=\"`lenGreater`\" pulumi-lang-java=\"`lenGreater`\"\u003e`len_greater`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lenLess`\" pulumi-lang-dotnet=\"`LenLess`\" pulumi-lang-go=\"`lenLess`\" pulumi-lang-python=\"`len_less`\" pulumi-lang-yaml=\"`lenLess`\" pulumi-lang-java=\"`lenLess`\"\u003e`len_less`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lenEqual`\" pulumi-lang-dotnet=\"`LenEqual`\" pulumi-lang-go=\"`lenEqual`\" pulumi-lang-python=\"`len_equal`\" pulumi-lang-yaml=\"`lenEqual`\" pulumi-lang-java=\"`lenEqual`\"\u003e`len_equal`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`lenNotEqual`\" pulumi-lang-dotnet=\"`LenNotEqual`\" pulumi-lang-go=\"`lenNotEqual`\" pulumi-lang-python=\"`len_not_equal`\" pulumi-lang-yaml=\"`lenNotEqual`\" pulumi-lang-java=\"`lenNotEqual`\"\u003e`len_not_equal`\u003c/span\u003e\n+ If the category is \u003cspan pulumi-lang-nodejs=\"`ip`\" pulumi-lang-dotnet=\"`Ip`\" pulumi-lang-go=\"`ip`\" pulumi-lang-python=\"`ip`\" pulumi-lang-yaml=\"`ip`\" pulumi-lang-java=\"`ip`\"\u003e`ip`\u003c/span\u003e, the optional operations are: \u003cspan pulumi-lang-nodejs=\"`equal`\" pulumi-lang-dotnet=\"`Equal`\" pulumi-lang-go=\"`equal`\" pulumi-lang-python=\"`equal`\" pulumi-lang-yaml=\"`equal`\" pulumi-lang-java=\"`equal`\"\u003e`equal`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`notEqual`\" pulumi-lang-dotnet=\"`NotEqual`\" pulumi-lang-go=\"`notEqual`\" pulumi-lang-python=\"`not_equal`\" pulumi-lang-yaml=\"`notEqual`\" pulumi-lang-java=\"`notEqual`\"\u003e`not_equal`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`equalAny`\" pulumi-lang-dotnet=\"`EqualAny`\" pulumi-lang-go=\"`equalAny`\" pulumi-lang-python=\"`equal_any`\" pulumi-lang-yaml=\"`equalAny`\" pulumi-lang-java=\"`equalAny`\"\u003e`equal_any`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`notEqualAll`\" pulumi-lang-dotnet=\"`NotEqualAll`\" pulumi-lang-go=\"`notEqualAll`\" pulumi-lang-python=\"`not_equal_all`\" pulumi-lang-yaml=\"`notEqualAll`\" pulumi-lang-java=\"`notEqualAll`\"\u003e`not_equal_all`\u003c/span\u003e\n+ If the category is \u003cspan pulumi-lang-nodejs=\"`method`\" pulumi-lang-dotnet=\"`Method`\" pulumi-lang-go=\"`method`\" pulumi-lang-python=\"`method`\" pulumi-lang-yaml=\"`method`\" pulumi-lang-java=\"`method`\"\u003e`method`\u003c/span\u003e, the optional operations are: \u003cspan pulumi-lang-nodejs=\"`equal`\" pulumi-lang-dotnet=\"`Equal`\" pulumi-lang-go=\"`equal`\" pulumi-lang-python=\"`equal`\" pulumi-lang-yaml=\"`equal`\" pulumi-lang-java=\"`equal`\"\u003e`equal`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`notEqual`\" pulumi-lang-dotnet=\"`NotEqual`\" pulumi-lang-go=\"`notEqual`\" pulumi-lang-python=\"`not_equal`\" pulumi-lang-yaml=\"`notEqual`\" pulumi-lang-java=\"`notEqual`\"\u003e`not_equal`\u003c/span\u003e\n+ If the category is \u003cspan pulumi-lang-nodejs=\"`requestLine`\" pulumi-lang-dotnet=\"`RequestLine`\" pulumi-lang-go=\"`requestLine`\" pulumi-lang-python=\"`request_line`\" pulumi-lang-yaml=\"`requestLine`\" pulumi-lang-java=\"`requestLine`\"\u003e`request_line`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`request`\" pulumi-lang-dotnet=\"`Request`\" pulumi-lang-go=\"`request`\" pulumi-lang-python=\"`request`\" pulumi-lang-yaml=\"`request`\" pulumi-lang-java=\"`request`\"\u003e`request`\u003c/span\u003e, the optional operations are: \u003cspan pulumi-lang-nodejs=\"`lenGreater`\" pulumi-lang-dotnet=\"`LenGreater`\" pulumi-lang-go=\"`lenGreater`\" pulumi-lang-python=\"`len_greater`\" pulumi-lang-yaml=\"`lenGreater`\" pulumi-lang-java=\"`lenGreater`\"\u003e`len_greater`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lenLess`\" pulumi-lang-dotnet=\"`LenLess`\" pulumi-lang-go=\"`lenLess`\" pulumi-lang-python=\"`len_less`\" pulumi-lang-yaml=\"`lenLess`\" pulumi-lang-java=\"`lenLess`\"\u003e`len_less`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lenEqual`\" pulumi-lang-dotnet=\"`LenEqual`\" pulumi-lang-go=\"`lenEqual`\" pulumi-lang-python=\"`len_equal`\" pulumi-lang-yaml=\"`lenEqual`\" pulumi-lang-java=\"`lenEqual`\"\u003e`len_equal`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`lenNotEqual`\" pulumi-lang-dotnet=\"`LenNotEqual`\" pulumi-lang-go=\"`lenNotEqual`\" pulumi-lang-python=\"`len_not_equal`\" pulumi-lang-yaml=\"`lenNotEqual`\" pulumi-lang-java=\"`lenNotEqual`\"\u003e`len_not_equal`\u003c/span\u003e\n+ If the category is \u003cspan pulumi-lang-nodejs=\"`params`\" pulumi-lang-dotnet=\"`Params`\" pulumi-lang-go=\"`params`\" pulumi-lang-python=\"`params`\" pulumi-lang-yaml=\"`params`\" pulumi-lang-java=\"`params`\"\u003e`params`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`header`\" pulumi-lang-dotnet=\"`Header`\" pulumi-lang-go=\"`header`\" pulumi-lang-python=\"`header`\" pulumi-lang-yaml=\"`header`\" pulumi-lang-java=\"`header`\"\u003e`header`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`cookie`\" pulumi-lang-dotnet=\"`Cookie`\" pulumi-lang-go=\"`cookie`\" pulumi-lang-python=\"`cookie`\" pulumi-lang-yaml=\"`cookie`\" pulumi-lang-java=\"`cookie`\"\u003e`cookie`\u003c/span\u003e, the optional operations are: \u003cspan pulumi-lang-nodejs=\"`contain`\" pulumi-lang-dotnet=\"`Contain`\" pulumi-lang-go=\"`contain`\" pulumi-lang-python=\"`contain`\" pulumi-lang-yaml=\"`contain`\" pulumi-lang-java=\"`contain`\"\u003e`contain`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`notContain`\" pulumi-lang-dotnet=\"`NotContain`\" pulumi-lang-go=\"`notContain`\" pulumi-lang-python=\"`not_contain`\" pulumi-lang-yaml=\"`notContain`\" pulumi-lang-java=\"`notContain`\"\u003e`not_contain`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`equal`\" pulumi-lang-dotnet=\"`Equal`\" pulumi-lang-go=\"`equal`\" pulumi-lang-python=\"`equal`\" pulumi-lang-yaml=\"`equal`\" pulumi-lang-java=\"`equal`\"\u003e`equal`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`notEqual`\" pulumi-lang-dotnet=\"`NotEqual`\" pulumi-lang-go=\"`notEqual`\" pulumi-lang-python=\"`not_equal`\" pulumi-lang-yaml=\"`notEqual`\" pulumi-lang-java=\"`notEqual`\"\u003e`not_equal`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`prefix`\" pulumi-lang-dotnet=\"`Prefix`\" pulumi-lang-go=\"`prefix`\" pulumi-lang-python=\"`prefix`\" pulumi-lang-yaml=\"`prefix`\" pulumi-lang-java=\"`prefix`\"\u003e`prefix`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`notPrefix`\" pulumi-lang-dotnet=\"`NotPrefix`\" pulumi-lang-go=\"`notPrefix`\" pulumi-lang-python=\"`not_prefix`\" pulumi-lang-yaml=\"`notPrefix`\" pulumi-lang-java=\"`notPrefix`\"\u003e`not_prefix`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`suffix`\" pulumi-lang-dotnet=\"`Suffix`\" pulumi-lang-go=\"`suffix`\" pulumi-lang-python=\"`suffix`\" pulumi-lang-yaml=\"`suffix`\" pulumi-lang-java=\"`suffix`\"\u003e`suffix`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`notSuffix`\" pulumi-lang-dotnet=\"`NotSuffix`\" pulumi-lang-go=\"`notSuffix`\" pulumi-lang-python=\"`not_suffix`\" pulumi-lang-yaml=\"`notSuffix`\" pulumi-lang-java=\"`notSuffix`\"\u003e`not_suffix`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`containAny`\" pulumi-lang-dotnet=\"`ContainAny`\" pulumi-lang-go=\"`containAny`\" pulumi-lang-python=\"`contain_any`\" pulumi-lang-yaml=\"`containAny`\" pulumi-lang-java=\"`containAny`\"\u003e`contain_any`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`notContainAll`\" pulumi-lang-dotnet=\"`NotContainAll`\" pulumi-lang-go=\"`notContainAll`\" pulumi-lang-python=\"`not_contain_all`\" pulumi-lang-yaml=\"`notContainAll`\" pulumi-lang-java=\"`notContainAll`\"\u003e`not_contain_all`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`equalAny`\" pulumi-lang-dotnet=\"`EqualAny`\" pulumi-lang-go=\"`equalAny`\" pulumi-lang-python=\"`equal_any`\" pulumi-lang-yaml=\"`equalAny`\" pulumi-lang-java=\"`equalAny`\"\u003e`equal_any`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`notEqualAll`\" pulumi-lang-dotnet=\"`NotEqualAll`\" pulumi-lang-go=\"`notEqualAll`\" pulumi-lang-python=\"`not_equal_all`\" pulumi-lang-yaml=\"`notEqualAll`\" pulumi-lang-java=\"`notEqualAll`\"\u003e`not_equal_all`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`equalAny`\" pulumi-lang-dotnet=\"`EqualAny`\" pulumi-lang-go=\"`equalAny`\" pulumi-lang-python=\"`equal_any`\" pulumi-lang-yaml=\"`equalAny`\" pulumi-lang-java=\"`equalAny`\"\u003e`equal_any`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`notEqualAll`\" pulumi-lang-dotnet=\"`NotEqualAll`\" pulumi-lang-go=\"`notEqualAll`\" pulumi-lang-python=\"`not_equal_all`\" pulumi-lang-yaml=\"`notEqualAll`\" pulumi-lang-java=\"`notEqualAll`\"\u003e`not_equal_all`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`prefixAny`\" pulumi-lang-dotnet=\"`PrefixAny`\" pulumi-lang-go=\"`prefixAny`\" pulumi-lang-python=\"`prefix_any`\" pulumi-lang-yaml=\"`prefixAny`\" pulumi-lang-java=\"`prefixAny`\"\u003e`prefix_any`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`notPrefixAll`\" pulumi-lang-dotnet=\"`NotPrefixAll`\" pulumi-lang-go=\"`notPrefixAll`\" pulumi-lang-python=\"`not_prefix_all`\" pulumi-lang-yaml=\"`notPrefixAll`\" pulumi-lang-java=\"`notPrefixAll`\"\u003e`not_prefix_all`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`suffixAny`\" pulumi-lang-dotnet=\"`SuffixAny`\" pulumi-lang-go=\"`suffixAny`\" pulumi-lang-python=\"`suffix_any`\" pulumi-lang-yaml=\"`suffixAny`\" pulumi-lang-java=\"`suffixAny`\"\u003e`suffix_any`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`notSuffixAll`\" pulumi-lang-dotnet=\"`NotSuffixAll`\" pulumi-lang-go=\"`notSuffixAll`\" pulumi-lang-python=\"`not_suffix_all`\" pulumi-lang-yaml=\"`notSuffixAll`\" pulumi-lang-java=\"`notSuffixAll`\"\u003e`not_suffix_all`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lenGreater`\" pulumi-lang-dotnet=\"`LenGreater`\" pulumi-lang-go=\"`lenGreater`\" pulumi-lang-python=\"`len_greater`\" pulumi-lang-yaml=\"`lenGreater`\" pulumi-lang-java=\"`lenGreater`\"\u003e`len_greater`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lenLess`\" pulumi-lang-dotnet=\"`LenLess`\" pulumi-lang-go=\"`lenLess`\" pulumi-lang-python=\"`len_less`\" pulumi-lang-yaml=\"`lenLess`\" pulumi-lang-java=\"`lenLess`\"\u003e`len_less`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lenEqual`\" pulumi-lang-dotnet=\"`LenEqual`\" pulumi-lang-go=\"`lenEqual`\" pulumi-lang-python=\"`len_equal`\" pulumi-lang-yaml=\"`lenEqual`\" pulumi-lang-java=\"`lenEqual`\"\u003e`len_equal`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lenNotEqual`\" pulumi-lang-dotnet=\"`LenNotEqual`\" pulumi-lang-go=\"`lenNotEqual`\" pulumi-lang-python=\"`len_not_equal`\" pulumi-lang-yaml=\"`lenNotEqual`\" pulumi-lang-java=\"`lenNotEqual`\"\u003e`len_not_equal`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`numGreater`\" pulumi-lang-dotnet=\"`NumGreater`\" pulumi-lang-go=\"`numGreater`\" pulumi-lang-python=\"`num_greater`\" pulumi-lang-yaml=\"`numGreater`\" pulumi-lang-java=\"`numGreater`\"\u003e`num_greater`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`numLess`\" pulumi-lang-dotnet=\"`NumLess`\" pulumi-lang-go=\"`numLess`\" pulumi-lang-python=\"`num_less`\" pulumi-lang-yaml=\"`numLess`\" pulumi-lang-java=\"`numLess`\"\u003e`num_less`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`numEqual`\" pulumi-lang-dotnet=\"`NumEqual`\" pulumi-lang-go=\"`numEqual`\" pulumi-lang-python=\"`num_equal`\" pulumi-lang-yaml=\"`numEqual`\" pulumi-lang-java=\"`numEqual`\"\u003e`num_equal`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`numNotEqual`\" pulumi-lang-dotnet=\"`NumNotEqual`\" pulumi-lang-go=\"`numNotEqual`\" pulumi-lang-python=\"`num_not_equal`\" pulumi-lang-yaml=\"`numNotEqual`\" pulumi-lang-java=\"`numNotEqual`\"\u003e`num_not_equal`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`exist`\" pulumi-lang-dotnet=\"`Exist`\" pulumi-lang-go=\"`exist`\" pulumi-lang-python=\"`exist`\" pulumi-lang-yaml=\"`exist`\" pulumi-lang-java=\"`exist`\"\u003e`exist`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`notExist`\" pulumi-lang-dotnet=\"`NotExist`\" pulumi-lang-go=\"`notExist`\" pulumi-lang-python=\"`not_exist`\" pulumi-lang-yaml=\"`notExist`\" pulumi-lang-java=\"`notExist`\"\u003e`not_exist`\u003c/span\u003e\n"},"valueListId":{"type":"string","description":"Reference table ID. This parameter is mandatory when the suffix of \u003cspan pulumi-lang-nodejs=\"`logicOperation`\" pulumi-lang-dotnet=\"`LogicOperation`\" pulumi-lang-go=\"`logicOperation`\" pulumi-lang-python=\"`logic_operation`\" pulumi-lang-yaml=\"`logicOperation`\" pulumi-lang-java=\"`logicOperation`\"\u003e`logic_operation`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\"\u003e`any`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`all`\" pulumi-lang-dotnet=\"`All`\" pulumi-lang-go=\"`all`\" pulumi-lang-python=\"`all`\" pulumi-lang-yaml=\"`all`\" pulumi-lang-java=\"`all`\"\u003e`all`\u003c/span\u003e. The reference table type must be the same as the category type. Changing this creates a new rule.\n"}},"type":"object"},"opentelekomcloud:index/WafDedicatedPreciseProtectionRuleV1Timeouts:WafDedicatedPreciseProtectionRuleV1Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/WafDedicatedWebTamperRuleV1Timeouts:WafDedicatedWebTamperRuleV1Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"opentelekomcloud:index/WafDomainV1BlockPage:WafDomainV1BlockPage":{"properties":{"content":{"type":"string","description":"The page content based on the selected page type.\n"},"contentType":{"type":"string","description":"The content type of the custom alarm page.\nThe value can be `text/html`, `text/xml`, or `application/json`.\n"},"redirectUrl":{"type":"string","description":"URL of the redirected page.\n\n\u003e Custom alarm page arguments (\u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\"\u003e`custom`\u003c/span\u003e template):\n"},"statusCode":{"type":"string","description":"Status Codes for custom.\n"},"template":{"type":"string","description":"Template name which can be \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\"\u003e`custom`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`redirect`\" pulumi-lang-dotnet=\"`Redirect`\" pulumi-lang-go=\"`redirect`\" pulumi-lang-python=\"`redirect`\" pulumi-lang-yaml=\"`redirect`\" pulumi-lang-java=\"`redirect`\"\u003e`redirect`\u003c/span\u003e.\n\n\u003e Redirection arguments (\u003cspan pulumi-lang-nodejs=\"`redirect`\" pulumi-lang-dotnet=\"`Redirect`\" pulumi-lang-go=\"`redirect`\" pulumi-lang-python=\"`redirect`\" pulumi-lang-yaml=\"`redirect`\" pulumi-lang-java=\"`redirect`\"\u003e`redirect`\u003c/span\u003e template):\n"}},"type":"object","required":["template"],"language":{"nodejs":{"requiredOutputs":["content","contentType","redirectUrl","statusCode","template"]}}},"opentelekomcloud:index/WafDomainV1Server:WafDomainV1Server":{"properties":{"address":{"type":"string","description":"IP address or domain name of the web server that the client accesses.\nFor example, `192.168.1.1` or `www.bla-bla.com`.\n"},"backProtocol":{"type":"string","deprecationMessage":"Deprecated"},"clientProtocol":{"type":"string","description":"Protocol type of the client. The options are HTTP and HTTPS.\nRequired if \u003cspan pulumi-lang-nodejs=\"`frontProtocol`\" pulumi-lang-dotnet=\"`FrontProtocol`\" pulumi-lang-go=\"`frontProtocol`\" pulumi-lang-python=\"`front_protocol`\" pulumi-lang-yaml=\"`frontProtocol`\" pulumi-lang-java=\"`frontProtocol`\"\u003e`front_protocol`\u003c/span\u003e is not set\n"},"frontProtocol":{"type":"string","deprecationMessage":"Deprecated"},"port":{"type":"string","description":"Port number used by the web server. The value ranges from \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`65535`\" pulumi-lang-dotnet=\"`65535`\" pulumi-lang-go=\"`65535`\" pulumi-lang-python=\"`65535`\" pulumi-lang-yaml=\"`65535`\" pulumi-lang-java=\"`65535`\"\u003e`65535`\u003c/span\u003e, for example, \u003cspan pulumi-lang-nodejs=\"`8080`\" pulumi-lang-dotnet=\"`8080`\" pulumi-lang-go=\"`8080`\" pulumi-lang-python=\"`8080`\" pulumi-lang-yaml=\"`8080`\" pulumi-lang-java=\"`8080`\"\u003e`8080`\u003c/span\u003e.\n"},"serverProtocol":{"type":"string","description":"Protocol used by WAF to forward client requests to the server.\nThe options are HTTP and HTTPS. Required if \u003cspan pulumi-lang-nodejs=\"`backProtocol`\" pulumi-lang-dotnet=\"`BackProtocol`\" pulumi-lang-go=\"`backProtocol`\" pulumi-lang-python=\"`back_protocol`\" pulumi-lang-yaml=\"`backProtocol`\" pulumi-lang-java=\"`backProtocol`\"\u003e`back_protocol`\u003c/span\u003e is not set.\n"}},"type":"object","required":["address","port"],"language":{"nodejs":{"requiredOutputs":["address","backProtocol","clientProtocol","frontProtocol","port","serverProtocol"]}}},"opentelekomcloud:index/WafDomainV1Timeouts:WafDomainV1Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/WafFalsealarmmaskingRuleV1Timeouts:WafFalsealarmmaskingRuleV1Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/WafPolicyV1Action:WafPolicyV1Action":{"properties":{"category":{"type":"string","description":"Specifies the protective action.\n"}},"type":"object","required":["category"]},"opentelekomcloud:index/WafPolicyV1Options:WafPolicyV1Options":{"properties":{"antitamper":{"type":"boolean","description":"Specifies whether Web Tamper Protection is enabled.\n"},"cc":{"type":"boolean","description":"Specifies whether CC Attack Protection is enabled.\n"},"common":{"type":"boolean","description":"Specifies whether General Check in Basic Web Protection is enabled.\n"},"crawler":{"type":"boolean","description":"Specifies whether the master crawler detection switch in Basic Web Protection is enabled.\n"},"crawlerEngine":{"type":"boolean","description":"Specifies whether the Search Engine switch in Basic Web Protection is enabled.\n"},"crawlerOther":{"type":"boolean","description":"Specifies whether detection of other crawlers in Basic Web Protection is enabled.\n"},"crawlerScanner":{"type":"boolean","description":"Specifies whether the Scanner switch in Basic Web Protection is enabled.\n"},"crawlerScript":{"type":"boolean","description":"Specifies whether the Script Tool switch in Basic Web Protection is enabled.\n"},"custom":{"type":"boolean","description":"Specifies whether Precise Protection is enabled.\n"},"ignore":{"type":"boolean","description":"Specifies whether False Alarm Masking is enabled.\n"},"privacy":{"type":"boolean","description":"Specifies whether Data Masking is enabled.\n"},"webattack":{"type":"boolean","description":"Specifies whether Basic Web Protection is enabled.\n"},"webshell":{"type":"boolean","description":"Specifies whether webshell detection in Basic Web Protection is enabled.\n"},"whiteblackip":{"type":"boolean","description":"Specifies whether Blacklist and Whitelist is enabled.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["antitamper","cc","common","crawler","crawlerEngine","crawlerOther","crawlerScanner","crawlerScript","custom","ignore","privacy","webattack","webshell","whiteblackip"]}}},"opentelekomcloud:index/WafPolicyV1Timeouts:WafPolicyV1Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/WafPreciseprotectionRuleV1Condition:WafPreciseprotectionRuleV1Condition":{"properties":{"category":{"type":"string","description":"Specifies the condition type. The value can be path, user-agent, ip, params, cookie, referer, or header.\n"},"contents":{"type":"array","items":{"type":"string"},"description":"Specifies a list of content matching the condition. Currently, only one value is accepted.\n"},"index":{"type":"string","description":"If \u003cspan pulumi-lang-nodejs=\"`category`\" pulumi-lang-dotnet=\"`Category`\" pulumi-lang-go=\"`category`\" pulumi-lang-python=\"`category`\" pulumi-lang-yaml=\"`category`\" pulumi-lang-java=\"`category`\"\u003e`category`\u003c/span\u003e is set to cookie, index indicates cookie name, if set to params, index indicates param name,\nif set to header, index indicates an option in the header.\n"},"logic":{"type":"string","description":"contain, not_contain, equal, not_equal, prefix, not_prefix, suffix, and\u003cspan pulumi-lang-nodejs=\" notSuffix \" pulumi-lang-dotnet=\" NotSuffix \" pulumi-lang-go=\" notSuffix \" pulumi-lang-python=\" not_suffix \" pulumi-lang-yaml=\" notSuffix \" pulumi-lang-java=\" notSuffix \"\u003e not_suffix \u003c/span\u003eindicate Include, Exclude, Equal to, Not equal to, Prefix is, Prefix is not, Suffix is, and Suffix is not respectively. If category is set to ip, logic can only be equal or not_equal.\n"}},"type":"object","required":["category","contents","logic"]},"opentelekomcloud:index/WafPreciseprotectionRuleV1Timeouts:WafPreciseprotectionRuleV1Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/WafWebtamperprotectionRuleV1Timeouts:WafWebtamperprotectionRuleV1Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/WafWhiteblackipRuleV1Timeouts:WafWhiteblackipRuleV1Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"opentelekomcloud:index/getApigwApiHistoryV2History:getApigwApiHistoryV2History":{"properties":{"description":{"type":"string","description":"The description about the API publication.\n"},"id":{"type":"string","description":"API version ID.\n"},"name":{"type":"string","description":"API version name.\n"},"publishTime":{"type":"string","description":"Time when the APIGW publication was created, in RFC-3339 format.\n"},"status":{"type":"number","description":"Version status.\nValues:\n\u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e: \u003cspan pulumi-lang-nodejs=\"`effective`\" pulumi-lang-dotnet=\"`Effective`\" pulumi-lang-go=\"`effective`\" pulumi-lang-python=\"`effective`\" pulumi-lang-yaml=\"`effective`\" pulumi-lang-java=\"`effective`\"\u003e`effective`\u003c/span\u003e\n\u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e: `not effective`\n"}},"type":"object","required":["description","id","name","publishTime","status"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getApigwEnvironmentsV2Environment:getApigwEnvironmentsV2Environment":{"properties":{"createdAt":{"type":"string","description":"Time when the APIGW environment was created, in RFC-3339 format.\n"},"description":{"type":"string","description":"The description about the API environment.\n"},"id":{"type":"string","description":"ID of the APIGW environment.\n"},"name":{"type":"string","description":"Specifies the name of the API environment. The API environment name consists of 3 to 64\ncharacters, starting with a letter. Only letters, digits and underscores (_) are allowed.\n"}},"type":"object","required":["createdAt","description","id","name"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getApigwGatewayFeaturesV2Feature:getApigwGatewayFeaturesV2Feature":{"properties":{"config":{"type":"string","description":"The detailed configuration of the instance feature.\n"},"enabled":{"type":"boolean","description":"Whether the feature is enabled.\n"},"id":{"type":"string","description":"The ID of the feature.\n"},"name":{"type":"string","description":"Specified the name of the feature.\n"},"updatedAt":{"type":"string","description":"The latest update time of the feature, in RFC3339 format.\n"}},"type":"object","required":["config","enabled","id","name","updatedAt"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getApigwGroupsV2Group:getApigwGroupsV2Group":{"properties":{"createdAt":{"type":"string","description":"The creation time of the API group.\n"},"description":{"type":"string","description":"The description of the API group.\n"},"environments":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FgetApigwGroupsV2GroupEnvironment:getApigwGroupsV2GroupEnvironment"},"description":"The array of one or more environments of the API group.\nThe environment structure is documented below.\n"},"id":{"type":"string","description":"The variable ID.\n"},"isDefault":{"type":"number","description":"Indicates whether the API group is the default group.\n"},"name":{"type":"string","description":"Specifies the API group name used to query.\n"},"onSellStatus":{"type":"number","description":"Whether it has been listed on the cloud store.\nThe valid values are as follows:\n+ **1**: Listed.\n+ **2**: Not listed.\n+ **3**: Under review.\n"},"slDomain":{"type":"string","description":"The subdomain name assigned by the system by default.\n"},"slDomains":{"type":"array","items":{"type":"string"},"description":"List of subdomain names assigned by the system by default.\n"},"status":{"type":"number","description":"The current status of the API group.\nThe valid values are as follows:\n+ **1**: Normal.\n"},"updatedAt":{"type":"string","description":"The latest update time of the API group.\n"},"urlDomains":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FgetApigwGroupsV2GroupUrlDomain:getApigwGroupsV2GroupUrlDomain"},"description":"List of independent domains bound on the API group.\nThe\u003cspan pulumi-lang-nodejs=\" urlDomains \" pulumi-lang-dotnet=\" UrlDomains \" pulumi-lang-go=\" urlDomains \" pulumi-lang-python=\" url_domains \" pulumi-lang-yaml=\" urlDomains \" pulumi-lang-java=\" urlDomains \"\u003e url_domains \u003c/span\u003estructure is documented below.\n"}},"type":"object","required":["createdAt","description","environments","id","isDefault","name","onSellStatus","slDomain","slDomains","status","updatedAt","urlDomains"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getApigwGroupsV2GroupEnvironment:getApigwGroupsV2GroupEnvironment":{"properties":{"environmentId":{"type":"string","description":"The ID of the environment to which the variables belong.\n"},"variables":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FgetApigwGroupsV2GroupEnvironmentVariable:getApigwGroupsV2GroupEnvironmentVariable"},"description":"The array of one or more environment variables.\nThe variable structure is documented below.\n"}},"type":"object","required":["environmentId","variables"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getApigwGroupsV2GroupEnvironmentVariable:getApigwGroupsV2GroupEnvironmentVariable":{"properties":{"id":{"type":"string","description":"The variable ID.\n"},"name":{"type":"string","description":"Specifies the API group name used to query.\n"},"value":{"type":"string","description":"The variable value.\n"}},"type":"object","required":["id","name","value"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getApigwGroupsV2GroupUrlDomain:getApigwGroupsV2GroupUrlDomain":{"properties":{"cnameStatus":{"type":"number","description":"CNAME resolution status of the domain name.\nThe valid values are as follows:\n+ **1**: Not resolved.\n+ **2**: Resolving.\n+ **3**: Resolved.\n+ **4**: Resolution failed.\n"},"id":{"type":"string","description":"The variable ID.\n"},"isHasTrustedRootCa":{"type":"boolean","description":"Whether a trusted root certificate (CA) exists. The value is true\nif\u003cspan pulumi-lang-nodejs=\" trustedRootCa \" pulumi-lang-dotnet=\" TrustedRootCa \" pulumi-lang-go=\" trustedRootCa \" pulumi-lang-python=\" trusted_root_ca \" pulumi-lang-yaml=\" trustedRootCa \" pulumi-lang-java=\" trustedRootCa \"\u003e trusted_root_ca \u003c/span\u003eexists in the bound certificate. The default is **false**.\n"},"minSslVersion":{"type":"string","description":"Minimum SSL version. The default is **TLSv1.1**.\nThe valid values are as follows:\n+ **TLSv1.1**\n+ **TLSv1.2**\n"},"name":{"type":"string","description":"Specifies the API group name used to query.\n"},"sslId":{"type":"string","description":"The SSL certificate ID.\n"},"sslName":{"type":"string","description":"The SSL certificate name.\n"},"verifiedClientCertificateEnabled":{"type":"boolean","description":"Whether to enable client certificate verification.\nThis parameter is available only when a certificate is bound. It is enabled by default if\u003cspan pulumi-lang-nodejs=\" trustedRootCa \" pulumi-lang-dotnet=\" TrustedRootCa \" pulumi-lang-go=\" trustedRootCa \" pulumi-lang-python=\" trusted_root_ca \" pulumi-lang-yaml=\" trustedRootCa \" pulumi-lang-java=\" trustedRootCa \"\u003e trusted_root_ca \u003c/span\u003eexists,\nand disabled if\u003cspan pulumi-lang-nodejs=\" trustedRootCa \" pulumi-lang-dotnet=\" TrustedRootCa \" pulumi-lang-go=\" trustedRootCa \" pulumi-lang-python=\" trusted_root_ca \" pulumi-lang-yaml=\" trustedRootCa \" pulumi-lang-java=\" trustedRootCa \"\u003e trusted_root_ca \u003c/span\u003edoes not exist. The default is **false**.\n"}},"type":"object","required":["cnameStatus","id","isHasTrustedRootCa","minSslVersion","name","sslId","sslName","verifiedClientCertificateEnabled"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getAsmServiceMeshV1ServiceMesh:getAsmServiceMeshV1ServiceMesh":{"properties":{"clusterIds":{"type":"array","items":{"type":"string"},"description":"Indicates the cluster id of CCE clusters associated with service mesh.\n"},"creationTimestamp":{"type":"string","description":"Indicates the time when the service mesh was created..\n"},"id":{"type":"string","description":"Specifies the service mesh ID.\n"},"ipv6Enable":{"type":"boolean","description":"Indicates whether the service mesh supports IPv6.\n"},"name":{"type":"string","description":"Indicates the provider name.\n"},"proxyConfigs":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FgetAsmServiceMeshV1ServiceMeshProxyConfig:getAsmServiceMeshV1ServiceMeshProxyConfig"},"description":"Indicates the data plane configuration of the service mesh. The structure is documented below.\n"},"status":{"type":"string","description":"Indicates the service mesh status. The value can be: `Running`, `Creating`, `CreateFailed`, `Deleting`, `DeleteFailed`, `Upgrading`, `UpgradeFailed`, `RollingBack`, `RollbackFailed`.\n"},"telemetryConfigTracings":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FgetAsmServiceMeshV1ServiceMeshTelemetryConfigTracing:getAsmServiceMeshV1ServiceMeshTelemetryConfigTracing"},"description":"Indicates the observability/tracing configuration, which is used to report traces in the service mesh. The structure is documented below.\n"},"type":{"type":"string","description":"Indicates the service mesh type.\n"},"version":{"type":"string","description":"Indicates the service mesh version.\n"}},"type":"object","required":["clusterIds","creationTimestamp","id","ipv6Enable","name","proxyConfigs","status","telemetryConfigTracings","type","version"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getAsmServiceMeshV1ServiceMeshProxyConfig:getAsmServiceMeshV1ServiceMeshProxyConfig":{"properties":{"excludeInboundPorts":{"type":"string","description":"Indicates the ports that will be excluded for inbound traffic redirection.\n"},"excludeIpRanges":{"type":"string","description":"Indicates the IP address ranges that will be excluded for outbound traffic redirection.\n"},"excludeOutboundPorts":{"type":"string","description":"Indicates the ports that will be excluded for outbound traffic redirection.\n"},"includeInboundPorts":{"type":"string","description":"Indicates the Ports that will be included for inbound traffic redirection.\n"},"includeIpRanges":{"type":"string","description":"Indicates the IP address ranges that will be included for outbound traffic redirection.\n"},"includeOutboundPorts":{"type":"string","description":"Indicates the ports that will be included for outbound traffic redirection.\n"}},"type":"object","required":["excludeInboundPorts","excludeIpRanges","excludeOutboundPorts","includeInboundPorts","includeIpRanges","includeOutboundPorts"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getAsmServiceMeshV1ServiceMeshTelemetryConfigTracing:getAsmServiceMeshV1ServiceMeshTelemetryConfigTracing":{"properties":{"defaultProviders":{"type":"array","items":{"type":"string"},"description":"Indicates the name of the default provider that tracing reports data to.\n"},"extensionProviders":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FgetAsmServiceMeshV1ServiceMeshTelemetryConfigTracingExtensionProvider:getAsmServiceMeshV1ServiceMeshTelemetryConfigTracingExtensionProvider"},"description":"Indicates the user-defined provider. Currently, Zipkin is supported.The structure is documented below:\n"},"randomSamplingPercentage":{"type":"number","description":"Indicates the tracing sampling rate.\n"}},"type":"object","required":["defaultProviders","extensionProviders","randomSamplingPercentage"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getAsmServiceMeshV1ServiceMeshTelemetryConfigTracingExtensionProvider:getAsmServiceMeshV1ServiceMeshTelemetryConfigTracingExtensionProvider":{"properties":{"name":{"type":"string","description":"Indicates the provider name.\n"},"zipkinServiceAddr":{"type":"string","description":"Indicates the service address of Zipkin.\n"},"zipkinServicePort":{"type":"number","description":"Indicates the service port of Zipkin.\n"}},"type":"object","required":["name","zipkinServiceAddr","zipkinServicePort"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getCceAddonTemplatesV3Addon:getCceAddonTemplatesV3Addon":{"properties":{"addonVersion":{"type":"string","description":"Supported addon version.\n"},"clusterIp":{"type":"string","description":"The cluster ip.\n"},"eulerosVersion":{"type":"string","description":"The euler os version.\n"},"imageVersion":{"type":"string","description":"The cluster image version.\n"},"obsUrl":{"type":"string","description":"The obs endpoint url.\n"},"platform":{"type":"string","description":"The cluster image version.\n"},"swrAddr":{"type":"string","description":"The cluster \u003cspan pulumi-lang-nodejs=\"`swrAddr`\" pulumi-lang-dotnet=\"`SwrAddr`\" pulumi-lang-go=\"`swrAddr`\" pulumi-lang-python=\"`swr_addr`\" pulumi-lang-yaml=\"`swrAddr`\" pulumi-lang-java=\"`swrAddr`\"\u003e`swr_addr`\u003c/span\u003e.\n"},"swrUser":{"type":"string","description":"The cluster \u003cspan pulumi-lang-nodejs=\"`swrUser`\" pulumi-lang-dotnet=\"`SwrUser`\" pulumi-lang-go=\"`swrUser`\" pulumi-lang-python=\"`swr_user`\" pulumi-lang-yaml=\"`swrUser`\" pulumi-lang-java=\"`swrUser`\"\u003e`swr_user`\u003c/span\u003e.\n"}},"type":"object","required":["addonVersion","clusterIp","eulerosVersion","imageVersion","obsUrl","platform","swrAddr","swrUser"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getCceClusterV3CertificateCluster:getCceClusterV3CertificateCluster":{"properties":{"certificateAuthorityData":{"type":"string"},"name":{"type":"string","description":"The Name of the cluster resource.\n"},"server":{"type":"string"}},"type":"object","required":["certificateAuthorityData","name","server"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getCceClusterV3CertificateUser:getCceClusterV3CertificateUser":{"properties":{"clientCertificateData":{"type":"string"},"clientKeyData":{"type":"string"},"name":{"type":"string","description":"The Name of the cluster resource.\n"}},"type":"object","required":["clientCertificateData","clientKeyData","name"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getCceClustersV3Cluster:getCceClustersV3Cluster":{"properties":{"authenticationMode":{"type":"string","description":"The authentication mode of the cluster, possible values are \u003cspan pulumi-lang-nodejs=\"`x509`\" pulumi-lang-dotnet=\"`X509`\" pulumi-lang-go=\"`x509`\" pulumi-lang-python=\"`x509`\" pulumi-lang-yaml=\"`x509`\" pulumi-lang-java=\"`x509`\"\u003e`x509`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`rbac`\" pulumi-lang-dotnet=\"`Rbac`\" pulumi-lang-go=\"`rbac`\" pulumi-lang-python=\"`rbac`\" pulumi-lang-yaml=\"`rbac`\" pulumi-lang-java=\"`rbac`\"\u003e`rbac`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`rbac`\" pulumi-lang-dotnet=\"`Rbac`\" pulumi-lang-go=\"`rbac`\" pulumi-lang-python=\"`rbac`\" pulumi-lang-yaml=\"`rbac`\" pulumi-lang-java=\"`rbac`\"\u003e`rbac`\u003c/span\u003e.\n"},"billingMode":{"type":"number","description":"The charging mode of the cluster.\n"},"certificateClusters":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FgetCceClustersV3ClusterCertificateCluster:getCceClustersV3ClusterCertificateCluster"},"description":"The certificate clusters. Structure is documented below.\n"},"certificateUsers":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FgetCceClustersV3ClusterCertificateUser:getCceClustersV3ClusterCertificateUser"},"description":"The certificate users. Structure is documented below.\n"},"clusterType":{"type":"string","description":"Specifies the type of the cluster. Possible values: `VirtualMachine`, `BareMetal`.\n"},"clusterVersion":{"type":"string","description":"The version of the cluster.\n"},"containerNetworkCidr":{"type":"string","description":"The container network segment.\n"},"containerNetworkType":{"type":"string","description":"The container network type: \u003cspan pulumi-lang-nodejs=\"`overlayL2`\" pulumi-lang-dotnet=\"`OverlayL2`\" pulumi-lang-go=\"`overlayL2`\" pulumi-lang-python=\"`overlay_l2`\" pulumi-lang-yaml=\"`overlayL2`\" pulumi-lang-java=\"`overlayL2`\"\u003e`overlay_l2`\u003c/span\u003e , \u003cspan pulumi-lang-nodejs=\"`underlayIpvlan`\" pulumi-lang-dotnet=\"`UnderlayIpvlan`\" pulumi-lang-go=\"`underlayIpvlan`\" pulumi-lang-python=\"`underlay_ipvlan`\" pulumi-lang-yaml=\"`underlayIpvlan`\" pulumi-lang-java=\"`underlayIpvlan`\"\u003e`underlay_ipvlan`\u003c/span\u003e, `vpc-router` or \u003cspan pulumi-lang-nodejs=\"`eni`\" pulumi-lang-dotnet=\"`Eni`\" pulumi-lang-go=\"`eni`\" pulumi-lang-python=\"`eni`\" pulumi-lang-yaml=\"`eni`\" pulumi-lang-java=\"`eni`\"\u003e`eni`\u003c/span\u003e.\n"},"description":{"type":"string","description":"The description of the cluster.\n"},"endpoints":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FgetCceClustersV3ClusterEndpoint:getCceClustersV3ClusterEndpoint"},"description":"The access addresses of kube-apiserver in the cluster. Structure is documented below.\n"},"eniSubnetCidr":{"type":"string","description":"The ENI network segment.\n"},"eniSubnetId":{"type":"string","description":"The `IPv4 subnet ID` of the subnet where the ENI resides.\n"},"enterpriseProjectId":{"type":"string","description":"Specifies the enterprise project ID of the cluster.\n"},"flavorId":{"type":"string","description":"The specification of the cluster.\n"},"id":{"type":"string","description":"The ID of the cluster.\n"},"kubeConfigRaw":{"type":"string","description":"The raw Kubernetes config to be used by kubectl and other compatible tools.\n"},"masters":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FgetCceClustersV3ClusterMaster:getCceClustersV3ClusterMaster"},"description":"The advanced configuration of master nodes. Structure is documented below.\n"},"name":{"type":"string","description":"Specifies the name of the cluster.\n"},"securityGroupId":{"type":"string","description":"The security group ID of the cluster.\n"},"serviceNetworkCidr":{"type":"string","description":"The service network segment.\n"},"status":{"type":"string","description":"Specifies the status of the cluster.\n"},"subnetId":{"type":"string","description":"The ID of the subnet used to create the node.\n"},"vpcId":{"type":"string","description":"Specifies the VPC ID to which the cluster belongs.\n"}},"type":"object","required":["authenticationMode","billingMode","certificateClusters","certificateUsers","clusterType","clusterVersion","containerNetworkCidr","containerNetworkType","description","endpoints","eniSubnetCidr","eniSubnetId","enterpriseProjectId","flavorId","id","kubeConfigRaw","masters","name","securityGroupId","serviceNetworkCidr","status","subnetId","vpcId"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getCceClustersV3ClusterCertificateCluster:getCceClustersV3ClusterCertificateCluster":{"properties":{"certificateAuthorityData":{"type":"string","description":"The certificate data.\n"},"name":{"type":"string","description":"Specifies the name of the cluster.\n"},"server":{"type":"string","description":"The server IP address.\n"}},"type":"object","required":["certificateAuthorityData","name","server"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getCceClustersV3ClusterCertificateUser:getCceClustersV3ClusterCertificateUser":{"properties":{"clientCertificateData":{"type":"string","description":"The client certificate data.\n"},"clientKeyData":{"type":"string","description":"The client key data.\n"},"name":{"type":"string","description":"Specifies the name of the cluster.\n"}},"type":"object","required":["clientCertificateData","clientKeyData","name"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getCceClustersV3ClusterEndpoint:getCceClustersV3ClusterEndpoint":{"properties":{"type":{"type":"string","description":"The type of the cluster access address.\n+ `Internal`: The user's subnet access address.\n+ `External`: The public network access address.\n"},"url":{"type":"string","description":"The URL of the cluster access address.\n"}},"type":"object","required":["type","url"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getCceClustersV3ClusterMaster:getCceClustersV3ClusterMaster":{"properties":{"availabilityZone":{"type":"string","description":"The availability zone (AZ) of the master node.\n"}},"type":"object","required":["availabilityZone"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getCceNodeV3DataVolume:getCceNodeV3DataVolume":{"properties":{"diskSize":{"type":"number","description":"Root volume disk size in GB.\n"},"extendParams":{"type":"object","additionalProperties":{"type":"string"}},"kmsId":{"type":"string","description":"The Encryption KMS ID of the data volume.\n"},"volumeType":{"type":"string","description":"Root volume disk type.\n"}},"type":"object","required":["diskSize","extendParams","kmsId","volumeType"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getCesAlarmRulesV2Alarm:getCesAlarmRulesV2Alarm":{"properties":{"alarmActions":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FgetCesAlarmRulesV2AlarmAlarmAction:getCesAlarmRulesV2AlarmAlarmAction"},"description":"The action triggered by an alarm.\n"},"alarmEnabled":{"type":"boolean","description":"Whether the alarm rule is enabled.\n"},"alarmId":{"type":"string","description":"Specifies the alarm rule ID.\n"},"alarmTemplateId":{"type":"string","description":"The ID of an alarm template associated with an alarm rule.\n"},"description":{"type":"string","description":"The alarm rule description.\n"},"enterpriseProjectId":{"type":"string","description":"The enterprise project ID.\n"},"name":{"type":"string","description":"Specifies the name of an alarm rule.\n"},"namespace":{"type":"string","description":"Specifies the namespace of a service.\n"},"notificationBeginTime":{"type":"string","description":"The time when the alarm notification was enabled.\n"},"notificationEnabled":{"type":"boolean","description":"Whether the action to be triggered by an alarm is enabled.\n"},"notificationEndTime":{"type":"string","description":"The time when the alarm notification was disabled.\n"},"okActions":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FgetCesAlarmRulesV2AlarmOkAction:getCesAlarmRulesV2AlarmOkAction"},"description":"The action triggered after an alarm is cleared.\n"},"policies":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FgetCesAlarmRulesV2AlarmPolicy:getCesAlarmRulesV2AlarmPolicy"},"description":"The alarm policy list.\n"},"resources":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FgetCesAlarmRulesV2AlarmResource:getCesAlarmRulesV2AlarmResource"},"description":"The resource list.\n"},"type":{"type":"string","description":"The type of action triggered by an alarm.\n"}},"type":"object","required":["alarmActions","alarmEnabled","alarmId","alarmTemplateId","description","enterpriseProjectId","name","namespace","notificationBeginTime","notificationEnabled","notificationEndTime","okActions","policies","resources","type"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getCesAlarmRulesV2AlarmAlarmAction:getCesAlarmRulesV2AlarmAlarmAction":{"properties":{"notificationLists":{"type":"array","items":{"type":"string"},"description":"The list of objects to be notified if the alarm status changes.\n"},"type":{"type":"string","description":"The type of action triggered by an alarm.\n"}},"type":"object","required":["notificationLists","type"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getCesAlarmRulesV2AlarmOkAction:getCesAlarmRulesV2AlarmOkAction":{"properties":{"notificationLists":{"type":"array","items":{"type":"string"},"description":"The list of objects to be notified if the alarm status changes.\n"},"type":{"type":"string","description":"The type of action triggered by an alarm.\n"}},"type":"object","required":["notificationLists","type"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getCesAlarmRulesV2AlarmPolicy:getCesAlarmRulesV2AlarmPolicy":{"properties":{"comparisonOperator":{"type":"string","description":"The comparison condition of alarm thresholds.\n"},"count":{"type":"number","description":"The number of consecutive times that the alarm triggering conditions are met.\n"},"filter":{"type":"string","description":"The data rollup method.\n"},"level":{"type":"number","description":"The alarm severity.\n"},"metricName":{"type":"string","description":"The metric name of a resource.\n"},"period":{"type":"number","description":"The monitoring period of a metric.\n"},"suppressDuration":{"type":"number","description":"The interval for triggering an alarm if the alarm persists.\n"},"unit":{"type":"string","description":"The metric unit.\n"},"value":{"type":"number","description":"The value of the metric dimension.\n"}},"type":"object","required":["comparisonOperator","count","filter","level","metricName","period","suppressDuration","unit","value"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getCesAlarmRulesV2AlarmResource:getCesAlarmRulesV2AlarmResource":{"properties":{"dimensions":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FgetCesAlarmRulesV2AlarmResourceDimension:getCesAlarmRulesV2AlarmResourceDimension"},"description":"The dimension information.\n"}},"type":"object","required":["dimensions"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getCesAlarmRulesV2AlarmResourceDimension:getCesAlarmRulesV2AlarmResourceDimension":{"properties":{"name":{"type":"string","description":"Specifies the name of an alarm rule.\n"},"value":{"type":"string","description":"The value of the metric dimension.\n"}},"type":"object","required":["name","value"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getCesEventDetailsV1EventInfo:getCesEventDetailsV1EventInfo":{"properties":{"details":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FgetCesEventDetailsV1EventInfoDetail:getCesEventDetailsV1EventInfoDetail"},"description":"Specifies the event details. The structure is described below.\n"},"eventId":{"type":"string","description":"Specifies the event ID.\n"},"eventName":{"type":"string","description":"Specifies the event name.\n"},"eventSource":{"type":"string","description":"Specifies the event name. The name can be a system event name or a custom event name.\n"},"time":{"type":"number","description":"Specifies when the event occurred, which is a UNIX timestamp (ms).\n"}},"type":"object","required":["details","eventId","eventName","eventSource","time"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getCesEventDetailsV1EventInfoDetail:getCesEventDetailsV1EventInfoDetail":{"properties":{"content":{"type":"string","description":"Specifies the event content.\n"},"eventLevel":{"type":"string","description":"Specifies the event severity. The value can be `Critical`, `Major`, `Minor`, or `Info`.\n"},"eventState":{"type":"string","description":"Specifies the event status. The value can be \u003cspan pulumi-lang-nodejs=\"`normal`\" pulumi-lang-dotnet=\"`Normal`\" pulumi-lang-go=\"`normal`\" pulumi-lang-python=\"`normal`\" pulumi-lang-yaml=\"`normal`\" pulumi-lang-java=\"`normal`\"\u003e`normal`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`warning`\" pulumi-lang-dotnet=\"`Warning`\" pulumi-lang-go=\"`warning`\" pulumi-lang-python=\"`warning`\" pulumi-lang-yaml=\"`warning`\" pulumi-lang-java=\"`warning`\"\u003e`warning`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`incident`\" pulumi-lang-dotnet=\"`Incident`\" pulumi-lang-go=\"`incident`\" pulumi-lang-python=\"`incident`\" pulumi-lang-yaml=\"`incident`\" pulumi-lang-java=\"`incident`\"\u003e`incident`\u003c/span\u003e.\n"},"eventType":{"type":"string","description":"Specifies the event type. The value can be `EVENT.SYS` (system event) or `EVENT.CUSTOM` (custom event).\n"},"eventUser":{"type":"string","description":"Specifies the name of the user who reports the event monitoring data. It can also be a project ID.\n"},"groupId":{"type":"string","description":"Specifies the resource group the event belongs to.\n"},"resourceId":{"type":"string","description":"Specifies the resource ID.\n"},"resourceName":{"type":"string","description":"Specifies the resource name.\n"}},"type":"object","required":["content","eventLevel","eventState","eventType","eventUser","groupId","resourceId","resourceName"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getCesEventDetailsV1MetaData:getCesEventDetailsV1MetaData":{"properties":{"total":{"type":"number","description":"Specifies the total number of events.\n"}},"type":"object","required":["total"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getCesEventsV1Event:getCesEventsV1Event":{"properties":{"eventCount":{"type":"number","description":"Specifies the number of occurrences of this event within the specified query time range.\n"},"eventName":{"type":"string","description":"Specifies the event name.\n"},"eventType":{"type":"string","description":"Specifies the event type. The value can be `EVENT.SYS` (system event) or `EVENT.CUSTOM` (custom event).\n"},"latestEventSource":{"type":"string","description":"Specifies the event source. If the event is a system event, the source is the namespace of each service. If the event is a custom event, the event source is defined by the user.\n"},"latestOccurTime":{"type":"number","description":"Specifies when the event occurred, which is a UNIX timestamp (ms).\n"}},"type":"object","required":["eventCount","eventName","eventType","latestEventSource","latestOccurTime"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getCesEventsV1MetaData:getCesEventsV1MetaData":{"properties":{"total":{"type":"number","description":"Specifies the total number of events.\n"}},"type":"object","required":["total"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getCesMetricDataV1Datapoint:getCesMetricDataV1Datapoint":{"properties":{"average":{"type":"number","description":"Specifies the average value of metric data within a rollup period.\n"},"max":{"type":"number","description":"Specifies the maximum value of metric data within a rollup period.\n"},"min":{"type":"number","description":"Specifies the minimum value of metric data within a rollup period.\n"},"sum":{"type":"number","description":"Specifies the sum of metric data within a rollup period.\n"},"timestamp":{"type":"number","description":"Specifies when the metric is collected. It is a UNIX timestamp in milliseconds.\n"},"unit":{"type":"string","description":"Specifies the metric unit.\n"},"variance":{"type":"number","description":"Specifies the variance of metric data within a rollup period.\n"}},"type":"object","required":["average","max","min","sum","timestamp","unit","variance"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getCesMetricsV1MetaData:getCesMetricsV1MetaData":{"properties":{"count":{"type":"number","description":"Specifies the number of returned results.\n"},"marker":{"type":"string","description":"Specifies the pagination marker.\n"},"total":{"type":"number","description":"Specifies the total number of metrics.\n"}},"type":"object","required":["count","marker","total"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getCesMetricsV1Metric:getCesMetricsV1Metric":{"properties":{"dimensions":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FgetCesMetricsV1MetricDimension:getCesMetricsV1MetricDimension"},"description":"Specifies the list of metric dimensions. The structure is described below.\n"},"metricName":{"type":"string","description":"Specifies the metric ID.\n"},"namespace":{"type":"string","description":"Specifies the namespace of a service.\n"},"unit":{"type":"string","description":"Specifies the metric unit.\n"}},"type":"object","required":["dimensions","metricName","namespace","unit"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getCesMetricsV1MetricDimension:getCesMetricsV1MetricDimension":{"properties":{"name":{"type":"string","description":"Specifies the dimension name.\n"},"value":{"type":"string","description":"Specifies the dimension value.\n"}},"type":"object","required":["name","value"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getCesMultipleMetricDataV1Metric:getCesMultipleMetricDataV1Metric":{"properties":{"datapoints":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FgetCesMultipleMetricDataV1MetricDatapoint:getCesMultipleMetricDataV1MetricDatapoint"},"description":"Specifies the metric data list. Since Cloud Eye rounds up from based on the level of granularity for data query, datapoints may contain more data points than expected. The structure is described below.\n"},"dimensions":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FgetCesMultipleMetricDataV1MetricDimension:getCesMultipleMetricDataV1MetricDimension"},"description":"Specifies the list of metric dimensions. Maximum number of supported dimensions is \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e. The structure is described below.\n"},"metricName":{"type":"string","description":"Specifies the metric name.\n"},"namespace":{"type":"string","description":"Specifies the namespace of a service.\n"},"unit":{"type":"string","description":"Specifies the metric unit.\n"}},"type":"object","required":["datapoints","dimensions","metricName","namespace","unit"],"language":{"nodejs":{"requiredInputs":["dimensions","metricName","namespace"]}}},"opentelekomcloud:index/getCesMultipleMetricDataV1MetricDatapoint:getCesMultipleMetricDataV1MetricDatapoint":{"properties":{"average":{"type":"number","description":"Specifies the average value of metric data within a rollup period.\n"},"max":{"type":"number","description":"Specifies the maximum value of metric data within a rollup period.\n"},"min":{"type":"number","description":"Specifies the minimum value of metric data within a rollup period.\n"},"sum":{"type":"number","description":"Specifies the sum of metric data within a rollup period.\n"},"timestamp":{"type":"number","description":"Specifies when the metric is collected. It is a UNIX timestamp in milliseconds.\n"},"variance":{"type":"number","description":"Specifies the variance of metric data within a rollup period.\n"}},"type":"object","required":["average","max","min","sum","timestamp","variance"]},"opentelekomcloud:index/getCesMultipleMetricDataV1MetricDimension:getCesMultipleMetricDataV1MetricDimension":{"properties":{"name":{"type":"string","description":"Specifies the dimension name.\n"},"value":{"type":"string","description":"Specifies the dimension value.\n"}},"type":"object","required":["name","value"]},"opentelekomcloud:index/getCesQuotasV1Quota:getCesQuotasV1Quota":{"properties":{"resources":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FgetCesQuotasV1QuotaResource:getCesQuotasV1QuotaResource"},"description":"Specifies the resource quota list. The structure is described below.\n"}},"type":"object","required":["resources"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getCesQuotasV1QuotaResource:getCesQuotasV1QuotaResource":{"properties":{"quota":{"type":"number","description":"Specifies the total amount of the quota.\n"},"type":{"type":"string","description":"Specifies the quota type. \u003cspan pulumi-lang-nodejs=\"`alarm`\" pulumi-lang-dotnet=\"`Alarm`\" pulumi-lang-go=\"`alarm`\" pulumi-lang-python=\"`alarm`\" pulumi-lang-yaml=\"`alarm`\" pulumi-lang-java=\"`alarm`\"\u003e`alarm`\u003c/span\u003e indicates the alarm rule.\n"},"unit":{"type":"string","description":"Specifies the quota unit.\n"},"used":{"type":"number","description":"Specifies the used amount of the quota.\n"}},"type":"object","required":["quota","type","unit","used"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getCfwFirewallV1Flavor:getCfwFirewallV1Flavor":{"properties":{"bandwidth":{"type":"number","description":"Indicates the bandwidth, in Mbits/s.\n"},"defaultBandwidth":{"type":"number","description":"Indicates the default firewall bandwidth, in Mbits/s.\n"},"defaultEipCount":{"type":"number","description":"Indicates the default number of EIPs.\n"},"defaultLogStorage":{"type":"number","description":"Indicates the default log storage, in bytes.\n"},"defaultVpcCount":{"type":"number","description":"Indicates the default number of VPCs.\n"},"eipCount":{"type":"number","description":"Indicates the number of EIPs.\n"},"logStorage":{"type":"number","description":"Indicates the log storage, in bytes.\n"},"versionCode":{"type":"number","description":"Indicates the firewall version. Its value can only be 1 (professional edition).\n"},"vpcCount":{"type":"number","description":"Indicates the number of VPCs.\n"}},"type":"object","required":["bandwidth","defaultBandwidth","defaultEipCount","defaultLogStorage","defaultVpcCount","eipCount","logStorage","versionCode","vpcCount"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getCfwFirewallV1ProtectObject:getCfwFirewallV1ProtectObject":{"properties":{"objectId":{"type":"string","description":"Indicates the protected object ID. It is used to distinguish Internet border protection from VPC border protection after a CFW instance is created.\n"},"objectName":{"type":"string","description":"Indicates the protected object name.\n"},"type":{"type":"number","description":"Indicates the project type: 0 (north-south), 1 (east-west).\n"}},"type":"object","required":["objectId","objectName","type"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getCfwFirewallV1Resource:getCfwFirewallV1Resource":{"properties":{"cloudServiceType":{"type":"string","description":"Indicates the Service type, which is used by CBC.\n"},"resourceId":{"type":"string","description":"Indicates the resource ID. It can be the firewall ID, bandwidth ID, EIP ID, VPC ID, or the ID returned after CBC callback.\n"},"resourceSize":{"type":"number","description":"Indicates the resource quantity.\n"},"resourceSizeMeasureId":{"type":"number","description":"Indicates the resource unit.\n"},"resourceSpecCode":{"type":"string","description":"Indicates the inventory unit code.\n"},"resourceType":{"type":"string","description":"Indicates the resource type.\n"}},"type":"object","required":["cloudServiceType","resourceId","resourceSize","resourceSizeMeasureId","resourceSpecCode","resourceType"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getComputeBmsNicV2FixedIp:getComputeBmsNicV2FixedIp":{"properties":{"ipAddress":{"type":"string"},"subnetId":{"type":"string"}},"type":"object","required":["ipAddress","subnetId"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getComputeBmsServerV2Network:getComputeBmsServerV2Network":{"properties":{"ip":{"type":"string"},"mac":{"type":"string"},"name":{"type":"string","description":"The name of BMS.\n"},"type":{"type":"string"},"version":{"type":"number"}},"type":"object","required":["ip","mac","name","type","version"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getComputeBmsServerV2SecurityGroup:getComputeBmsServerV2SecurityGroup":{"properties":{"name":{"type":"string","description":"The name of BMS.\n"}},"type":"object","required":["name"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getComputeInstanceV2Network:getComputeInstanceV2Network":{"properties":{"fixedIpV4":{"type":"string","description":"The IPv4 address assigned to this network port.\n"},"fixedIpV6":{"type":"string","description":"The IPv6 address assigned to this network port.\n"},"mac":{"type":"string","description":"The MAC address assigned to this network interface.\n"},"name":{"type":"string","description":"The name of the network\n"},"port":{"type":"string","description":"The port UUID for this network\n"},"uuid":{"type":"string","description":"The UUID of the network\n"}},"type":"object","required":["fixedIpV4","fixedIpV6","mac","name","port","uuid"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getComputeInstancesV2Instance:getComputeInstancesV2Instance":{"properties":{"availabilityZone":{"type":"string","description":"The availability zone of this server.\n"},"description":{"type":"string","description":"Server description.\n"},"flavorId":{"type":"string","description":"Specifies the flavor ID.\n"},"id":{"type":"string","description":"The instance ID in UUID format.\n"},"imageId":{"type":"string","description":"Specifies the image ID of the instance.\n"},"imageName":{"type":"string","description":"The image name used to create the server.\n"},"keyPair":{"type":"string","description":"Specifies the key pair that is used to authenticate the instance.\n"},"name":{"type":"string","description":"Specifies the instance name, which can be queried with a regular expression.\nThe instance name supports fuzzy matching query too.\n"},"networks":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FgetComputeInstancesV2InstanceNetwork:getComputeInstancesV2InstanceNetwork"},"description":"An array of maps, detailed below.\n"},"projectId":{"type":"string","description":"Specifies the project where instance hosted.\n"},"publicIp":{"type":"string"},"securityGroupsIds":{"type":"array","items":{"type":"string"},"description":"An array of one or more security group Ids to associate with the instance.\n"},"status":{"type":"string","description":"Specifies the status of the instance. The valid values are as follows:\n+ **ACTIVE**: The instance is running properly.\n+ **SHUTOFF**: The instance has been properly stopped.\n+ **ERROR**: An error has occurred on the instance.\n"},"systemDiskId":{"type":"string"},"tags":{"type":"object","additionalProperties":{"type":"string"}},"userData":{"type":"string"}},"type":"object","required":["availabilityZone","description","flavorId","id","imageId","imageName","keyPair","name","networks","projectId","publicIp","securityGroupsIds","status","systemDiskId","tags","userData"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getComputeInstancesV2InstanceNetwork:getComputeInstancesV2InstanceNetwork":{"properties":{"fixedIpV4":{"type":"string","description":"The IPv4 address assigned to this network port. Not supported.\n"},"fixedIpV6":{"type":"string","description":"The IPv6 address assigned to this network port. Not supported.\n"},"mac":{"type":"string","description":"The MAC address assigned to this network interface.\n"},"name":{"type":"string","description":"Specifies the instance name, which can be queried with a regular expression.\nThe instance name supports fuzzy matching query too.\n"},"port":{"type":"string","description":"The port UUID for this network\n"},"uuid":{"type":"string","description":"The UUID of the network\n"}},"type":"object","required":["fixedIpV4","fixedIpV6","mac","name","port","uuid"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getCsbsBackupPolicyV1Resource:getCsbsBackupPolicyV1Resource":{"properties":{"id":{"type":"string","description":"Specifies the ID of backup policy.\n"},"name":{"type":"string","description":"Specifies the backup policy name.\n"},"type":{"type":"string","description":"Entity object type of the backup object.\n"}},"type":"object","required":["id","name","type"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getCsbsBackupPolicyV1ScheduledOperation:getCsbsBackupPolicyV1ScheduledOperation":{"properties":{"description":{"type":"string","description":"Specifies Scheduling period description.\n"},"enabled":{"type":"boolean","description":"Specifies whether the scheduling period is enabled.\n"},"id":{"type":"string","description":"Specifies the ID of backup policy.\n"},"maxBackups":{"type":"number","description":"Specifies maximum number of backups that can be automatically created for a backup object.\n"},"name":{"type":"string","description":"Specifies the backup policy name.\n"},"operationType":{"type":"string","description":"Specifies Operation type, which can be backup.\n"},"permanent":{"type":"boolean","description":"Specifies whether backups are permanently retained.\n"},"retentionDurationDays":{"type":"number","description":"Specifies duration of retaining a backup, in days.\n"},"triggerId":{"type":"string","description":"Specifies Scheduler ID.\n"},"triggerName":{"type":"string","description":"Specifies Scheduler name.\n"},"triggerPattern":{"type":"string","description":"Specifies Scheduling policy of the scheduler.\n"},"triggerType":{"type":"string","description":"Specifies Scheduler type.\n"}},"type":"object","required":["description","enabled","id","maxBackups","name","operationType","permanent","retentionDurationDays","triggerId","triggerName","triggerPattern","triggerType"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getCsbsBackupPolicyV1Tag:getCsbsBackupPolicyV1Tag":{"properties":{"key":{"type":"string","description":"Tag key. It cannot be an empty string.\n"},"value":{"type":"string","description":"Tag value. It can be an empty string.\n"}},"type":"object","required":["key","value"]},"opentelekomcloud:index/getCsbsBackupV1Tag:getCsbsBackupV1Tag":{"properties":{"key":{"type":"string","description":"Specifies tag key.\n"},"value":{"type":"string","description":"Specifies tag value.\n"}},"type":"object","required":["key","value"]},"opentelekomcloud:index/getCsbsBackupV1VmMetadata:getCsbsBackupV1VmMetadata":{"properties":{"cloudServiceType":{"type":"string","description":"Specifies ECS type.\n"},"disk":{"type":"number","description":"Shows system disk size corresponding to the ECS specifications.\n"},"eip":{"type":"string","description":"Specifies elastic IP address of the ECS.\n"},"imageType":{"type":"string","description":"Specifies image type.\n"},"name":{"type":"string","description":"Name of backup data.\n"},"privateIp":{"type":"string","description":"It specifies internal IP address of the ECS.\n"},"ram":{"type":"number","description":"Specifies memory size of the ECS, in MB.\n"},"vcpus":{"type":"number","description":"Specifies CPU cores corresponding to the ECS.\n"}},"type":"object","required":["cloudServiceType","disk","eip","imageType","name","privateIp","ram","vcpus"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getCsbsBackupV1VolumeBackup:getCsbsBackupV1VolumeBackup":{"properties":{"averageSpeed":{"type":"number","description":"Specifies the average speed.\n"},"bootable":{"type":"boolean","description":"Specifies whether the disk is bootable.\n"},"id":{"type":"string","description":"Specifies the ID of backup.\n"},"imageType":{"type":"string","description":"Specifies image type.\n"},"incremental":{"type":"boolean","description":"Shows whether incremental backup is used.\n"},"name":{"type":"string","description":"Name of backup data.\n"},"size":{"type":"number","description":"Specifies accumulated size (MB) of backups.\n"},"snapshotId":{"type":"string","description":"ID of snapshot.\n"},"sourceVolumeId":{"type":"string","description":"It specifies source volume ID.\n"},"sourceVolumeName":{"type":"string","description":"Specifies source volume name.\n"},"sourceVolumeSize":{"type":"number","description":"Shows source volume size in GB.\n"},"spaceSavingRatio":{"type":"number","description":"Specifies space saving rate.\n"},"status":{"type":"string","description":"Specifies the backup status.\n"}},"type":"object","required":["averageSpeed","bootable","id","imageType","incremental","name","size","snapshotId","sourceVolumeId","sourceVolumeName","sourceVolumeSize","spaceSavingRatio","status"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getCssFlavorV1DiskRange:getCssFlavorV1DiskRange":{"properties":{"from":{"type":"number","description":"Minimal disk volume the flavor can have\n"},"minFrom":{"type":"number","description":"Minimal disk range start.\n"},"minTo":{"type":"number","description":"Minimal disk range end.\n"},"to":{"type":"number","description":"Maximum disk volume the flavor can have\n"}},"type":"object","required":["from","to"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getDdmEnginesV1Engine:getDdmEnginesV1Engine":{"properties":{"availabilityZones":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FgetDdmEnginesV1EngineAvailabilityZone:getDdmEnginesV1EngineAvailabilityZone"},"description":"Indicates the supported availability zones. Structure is documented below\n"},"id":{"type":"string","description":"Indicates the DDM engine ID.\n"},"name":{"type":"string","description":"Indicates the AZ name.\n"},"version":{"type":"string","description":"Indicates the DDM engine version.\n"}},"type":"object","required":["availabilityZones","id","name","version"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getDdmEnginesV1EngineAvailabilityZone:getDdmEnginesV1EngineAvailabilityZone":{"properties":{"code":{"type":"string","description":"Indicates the AZ code.\n"},"favored":{"type":"boolean","description":"Indicates whether current AZ is favored.\n"},"name":{"type":"string","description":"Indicates the AZ name.\n"}},"type":"object","required":["code","favored","name"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getDdmFlavorsV1FlavorGroup:getDdmFlavorsV1FlavorGroup":{"properties":{"flavors":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FgetDdmFlavorsV1FlavorGroupFlavor:getDdmFlavorsV1FlavorGroupFlavor"},"description":"Indicates the available compute flavors in the flavor group. Structure is documented below\n"},"type":{"type":"string","description":"Indicates the DDM compute flavor group type. The value can be x86 or ARM.\n"}},"type":"object","required":["flavors","type"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getDdmFlavorsV1FlavorGroupFlavor:getDdmFlavorsV1FlavorGroupFlavor":{"properties":{"architecture":{"type":"string","description":"Indicates the coompute resource architecture type. The value can be x86 or ARM.\n"},"azStatus":{"type":"object","additionalProperties":{"type":"string"},"description":"Status of the AZ where node classes are available. The key is the AZ ID and the value is the AZ status. The value can be \u003cspan pulumi-lang-nodejs=\"`normal`\" pulumi-lang-dotnet=\"`Normal`\" pulumi-lang-go=\"`normal`\" pulumi-lang-python=\"`normal`\" pulumi-lang-yaml=\"`normal`\" pulumi-lang-java=\"`normal`\"\u003e`normal`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`unsupported`\" pulumi-lang-dotnet=\"`Unsupported`\" pulumi-lang-go=\"`unsupported`\" pulumi-lang-python=\"`unsupported`\" pulumi-lang-yaml=\"`unsupported`\" pulumi-lang-java=\"`unsupported`\"\u003e`unsupported`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`sellout`\" pulumi-lang-dotnet=\"`Sellout`\" pulumi-lang-go=\"`sellout`\" pulumi-lang-python=\"`sellout`\" pulumi-lang-yaml=\"`sellout`\" pulumi-lang-java=\"`sellout`\"\u003e`sellout`\u003c/span\u003e.\n"},"code":{"type":"string","description":"Indicates the VM flavor types recorded in DDM.\n"},"cpu":{"type":"string","description":"Indicates the number of CPUs.\n"},"iaasCode":{"type":"string","description":"Indicates the VM flavor types recorded by the IaaS layer.\n"},"id":{"type":"string","description":"Indicates the compute flavor ID.\n"},"maxConnections":{"type":"string","description":"Indicates the maximum number of connections.\n"},"memory":{"type":"string","description":"Indicates the memory size, in GB.\n"},"serverType":{"type":"string","description":"Indicates the compute resource type.\n"},"typeCode":{"type":"string","description":"Indicates the resource type code.\n"}},"type":"object","required":["architecture","azStatus","code","cpu","iaasCode","id","maxConnections","memory","serverType","typeCode"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getDdmInstanceV1Node:getDdmInstanceV1Node":{"properties":{"ip":{"type":"string","description":"Indicates the node IP.\n"},"port":{"type":"string","description":"Indicates the node port.\n"},"status":{"type":"string","description":"Indicates the node status.\n"}},"type":"object","required":["ip","port","status"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getDdsFlavorsV3Flavor:getDdsFlavorsV3Flavor":{"properties":{"azStatus":{"type":"object","additionalProperties":{"type":"string"},"description":"Indicates the status of specifications in an AZ.\n"},"memory":{"type":"string","description":"Specifies the RAM of the DDS flavor in GB.\n"},"specCode":{"type":"string","description":"The name of the DDS flavor.\n"},"type":{"type":"string","description":"Specifies the type of the DDS flavor. \u003cspan pulumi-lang-nodejs=\"`mongos`\" pulumi-lang-dotnet=\"`Mongos`\" pulumi-lang-go=\"`mongos`\" pulumi-lang-python=\"`mongos`\" pulumi-lang-yaml=\"`mongos`\" pulumi-lang-java=\"`mongos`\"\u003e`mongos`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`shard`\" pulumi-lang-dotnet=\"`Shard`\" pulumi-lang-go=\"`shard`\" pulumi-lang-python=\"`shard`\" pulumi-lang-yaml=\"`shard`\" pulumi-lang-java=\"`shard`\"\u003e`shard`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`config`\" pulumi-lang-dotnet=\"`Config`\" pulumi-lang-go=\"`config`\" pulumi-lang-python=\"`config`\" pulumi-lang-yaml=\"`config`\" pulumi-lang-java=\"`config`\"\u003e`config`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`replica`\" pulumi-lang-dotnet=\"`Replica`\" pulumi-lang-go=\"`replica`\" pulumi-lang-python=\"`replica`\" pulumi-lang-yaml=\"`replica`\" pulumi-lang-java=\"`replica`\"\u003e`replica`\u003c/span\u003e are supported.\n"},"vcpus":{"type":"string","description":"Specifies the vCPUs of the DDS flavor.\n"}},"type":"object","required":["azStatus","memory","specCode","type","vcpus"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getDdsInstanceV3BackupStrategy:getDdsInstanceV3BackupStrategy":{"properties":{"keepDays":{"type":"number"},"startTime":{"type":"string"}},"type":"object","required":["keepDays","startTime"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getDdsInstanceV3Datastore:getDdsInstanceV3Datastore":{"properties":{"storageEngine":{"type":"string"},"type":{"type":"string"},"version":{"type":"string"}},"type":"object","required":["storageEngine","type","version"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getDdsInstanceV3Node:getDdsInstanceV3Node":{"properties":{"id":{"type":"string","description":"Indicates the DB instance ID.\n"},"name":{"type":"string","description":"Specifies the DB instance name.\n"},"privateIp":{"type":"string"},"publicIp":{"type":"string"},"role":{"type":"string"},"status":{"type":"string","description":"Indicates the DB instance status.\n"},"type":{"type":"string"}},"type":"object","required":["id","name","privateIp","publicIp","role","status","type"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getDehHostV1AvailableInstanceCapacity:getDehHostV1AvailableInstanceCapacity":{"properties":{"flavor":{"type":"string"}},"type":"object","required":["flavor"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getDehServerV1Address:getDehServerV1Address":{"properties":{"fixedIpV4":{"type":"string"},"name":{"type":"string","description":"The server name.\n"}},"type":"object","required":["fixedIpV4","name"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getDmsFlavorV2Flavor:getDmsFlavorV2Flavor":{"properties":{"archTypes":{"type":"array","items":{"type":"string"},"description":"The list of supported CPU architectures.\n"},"chargingModes":{"type":"array","items":{"type":"string"},"description":"The list of supported billing modes.\n"},"id":{"type":"string","description":"The flavor ID.\n"},"ios":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FgetDmsFlavorV2FlavorIo:getDmsFlavorV2FlavorIo"},"description":"The list of supported disk IO types.\nThe object structure is documented below.\n"},"properties":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FgetDmsFlavorV2FlavorProperty:getDmsFlavorV2FlavorProperty"},"description":"The function property details.\nThe object structure is documented below.\n"},"supportFeatures":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FgetDmsFlavorV2FlavorSupportFeature:getDmsFlavorV2FlavorSupportFeature"},"description":"The list of features supported by the current specification.\nThe object structure is documented below.\n"},"type":{"type":"string","description":"Specifies flavor type. The valid values are **single** and **cluster**.\n"},"vmSpecification":{"type":"string","description":"The underlying VM specification.\n"}},"type":"object","required":["archTypes","chargingModes","id","ios","properties","supportFeatures","type","vmSpecification"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getDmsFlavorV2FlavorIo:getDmsFlavorV2FlavorIo":{"properties":{"availabilityZones":{"type":"array","items":{"type":"string"},"description":"Specifies the list of availability zones with available resources.\n"},"storageSpecCode":{"type":"string","description":"Specifies the disk IO encoding.\n+ **dms.physical.storage.high.v2**: Type of the disk that uses high I/O.\n+ **dms.physical.storage.ultra.v2**: Type of the disk that uses ultra-high I/O.\n"},"type":{"type":"string","description":"Specifies flavor type. The valid values are **single** and **cluster**.\n"},"unavailabilityZones":{"type":"array","items":{"type":"string"},"description":"The list of unavailability zones with available resources.\n"}},"type":"object","required":["availabilityZones","storageSpecCode","type","unavailabilityZones"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getDmsFlavorV2FlavorProperty:getDmsFlavorV2FlavorProperty":{"properties":{"flavorAlias":{"type":"string","description":"The flavor ID alias.\n"},"maxBandwidthPerBroker":{"type":"number","description":"The maximum bandwidth per broker.\n"},"maxBroker":{"type":"number","description":"The maximum number of brokers.\n"},"maxConsumerPerBroker":{"type":"number","description":"The maximum number of consumers per broker.\n"},"maxPartitionPerBroker":{"type":"number","description":"The maximum number of partitions per broker.\n"},"maxStoragePerNode":{"type":"number","description":"The maximum storage per node. The unit is GB.\n"},"maxTpsPerBroker":{"type":"number","description":"The maximum TPS per broker.\n"},"minBroker":{"type":"number","description":"The minimum number of brokers.\n"},"minStoragePerNode":{"type":"number","description":"The minimum storage per node. The unit is GB.\n"}},"type":"object","required":["flavorAlias","maxBandwidthPerBroker","maxBroker","maxConsumerPerBroker","maxPartitionPerBroker","maxStoragePerNode","maxTpsPerBroker","minBroker","minStoragePerNode"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getDmsFlavorV2FlavorSupportFeature:getDmsFlavorV2FlavorSupportFeature":{"properties":{"name":{"type":"string","description":"The function name, e.g. **connector_obs**.\n"},"properties":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FgetDmsFlavorV2FlavorSupportFeatureProperty:getDmsFlavorV2FlavorSupportFeatureProperty"},"description":"The function property details.\nThe object structure is documented below.\n"}},"type":"object","required":["name","properties"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getDmsFlavorV2FlavorSupportFeatureProperty:getDmsFlavorV2FlavorSupportFeatureProperty":{"properties":{"maxNode":{"type":"number","description":"The maximum number of nodes for the dump function.\n"},"maxTask":{"type":"number","description":"The maximum number of tasks for the dump function.\n"},"minNode":{"type":"number","description":"The minimum number of nodes for the dump function.\n"},"minTask":{"type":"number","description":"The minimum number of tasks for the dump function.\n"}},"type":"object","required":["maxNode","maxTask","minNode","minTask"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getDnsNameserversV2Nameserver:getDnsNameserversV2Nameserver":{"properties":{"hostname":{"type":"string"},"priority":{"type":"number"}},"type":"object"},"opentelekomcloud:index/getDwsFlavorsV2Flavor:getDwsFlavorsV2Flavor":{"properties":{"availabilityZone":{"type":"string","description":"Specifies the availability zone name.\n"},"flavorId":{"type":"string","description":"The name of the dws node flavor. It is referenced by \u003cspan pulumi-lang-nodejs=\"`nodeType`\" pulumi-lang-dotnet=\"`NodeType`\" pulumi-lang-go=\"`nodeType`\" pulumi-lang-python=\"`node_type`\" pulumi-lang-yaml=\"`nodeType`\" pulumi-lang-java=\"`nodeType`\"\u003e`node_type`\u003c/span\u003e in \u003cspan pulumi-lang-nodejs=\"`opentelekomcloud.getDwsFlavorsV2`\" pulumi-lang-dotnet=\"`opentelekomcloud.getDwsFlavorsV2`\" pulumi-lang-go=\"`getDwsFlavorsV2`\" pulumi-lang-python=\"`get_dws_flavors_v2`\" pulumi-lang-yaml=\"`opentelekomcloud.getDwsFlavorsV2`\" pulumi-lang-java=\"`opentelekomcloud.getDwsFlavorsV2`\"\u003e`opentelekomcloud.getDwsFlavorsV2`\u003c/span\u003e.\n"},"memory":{"type":"number","description":"Specifies the ram of the dws node flavor in GB.\n"},"size":{"type":"number","description":"Indicates the Disk size in GB.\n"},"vcpus":{"type":"number","description":"Specifies the vcpus of the dws node flavor.\n"},"volumetype":{"type":"string","description":"Indicates Disk type.\n+ **LOCAL_DISK**: common I/O disk\n+ **SSD**: ultra-high I/O disk\n"}},"type":"object","required":["availabilityZone","flavorId","memory","size","vcpus","volumetype"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getEnterpriseVpnConnectionV5Ikepolicy:getEnterpriseVpnConnectionV5Ikepolicy":{"properties":{"authenticationAlgorithm":{"type":"string"},"authenticationMethod":{"type":"string"},"dhGroup":{"type":"string"},"dpds":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FgetEnterpriseVpnConnectionV5IkepolicyDpd:getEnterpriseVpnConnectionV5IkepolicyDpd"}},"encryptionAlgorithm":{"type":"string"},"ikeVersion":{"type":"string"},"lifetimeSeconds":{"type":"number"},"localId":{"type":"string"},"localIdType":{"type":"string"},"peerId":{"type":"string"},"peerIdType":{"type":"string"},"phaseOneNegotiationMode":{"type":"string"}},"type":"object","required":["authenticationAlgorithm","authenticationMethod","dhGroup","dpds","encryptionAlgorithm","ikeVersion","lifetimeSeconds","localId","localIdType","peerId","peerIdType","phaseOneNegotiationMode"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getEnterpriseVpnConnectionV5IkepolicyDpd:getEnterpriseVpnConnectionV5IkepolicyDpd":{"properties":{"interval":{"type":"number"},"msg":{"type":"string"},"timeout":{"type":"number"}},"type":"object","required":["interval","msg","timeout"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getEnterpriseVpnConnectionV5Ipsecpolicy:getEnterpriseVpnConnectionV5Ipsecpolicy":{"properties":{"authenticationAlgorithm":{"type":"string"},"encapsulationMode":{"type":"string"},"encryptionAlgorithm":{"type":"string"},"lifetimeSeconds":{"type":"number"},"pfs":{"type":"string"},"transformProtocol":{"type":"string"}},"type":"object","required":["authenticationAlgorithm","encapsulationMode","encryptionAlgorithm","lifetimeSeconds","pfs","transformProtocol"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getEnterpriseVpnConnectionV5PolicyRule:getEnterpriseVpnConnectionV5PolicyRule":{"properties":{"destinations":{"type":"array","items":{"type":"string"}},"ruleIndex":{"type":"number"},"source":{"type":"string"}},"type":"object","required":["destinations","ruleIndex","source"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getEnterpriseVpnGatewayV5Eip1:getEnterpriseVpnGatewayV5Eip1":{"properties":{"bandwidthId":{"type":"string"},"bandwidthName":{"type":"string"},"bandwidthSize":{"type":"number"},"chargeMode":{"type":"string"},"id":{"type":"string"},"ipAddress":{"type":"string"},"ipVersion":{"type":"number"},"type":{"type":"string"}},"type":"object","required":["bandwidthId","bandwidthName","bandwidthSize","chargeMode","id","ipAddress","ipVersion","type"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getEnterpriseVpnGatewayV5Eip2:getEnterpriseVpnGatewayV5Eip2":{"properties":{"bandwidthId":{"type":"string"},"bandwidthName":{"type":"string"},"bandwidthSize":{"type":"number"},"chargeMode":{"type":"string"},"id":{"type":"string"},"ipAddress":{"type":"string"},"ipVersion":{"type":"number"},"type":{"type":"string"}},"type":"object","required":["bandwidthId","bandwidthName","bandwidthSize","chargeMode","id","ipAddress","ipVersion","type"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getErAssociationsV3Association:getErAssociationsV3Association":{"properties":{"attachmentId":{"type":"string","description":"Specifies the attachment ID corresponding to the association.\n"},"attachmentType":{"type":"string","description":"Specifies the attachment type corresponding to the association.\n"},"createdAt":{"type":"string","description":"The creation time.\n"},"id":{"type":"string","description":"The association ID.\n"},"resourceId":{"type":"string","description":"The resource ID of the attachment corresponding to the association.\n"},"routeTableId":{"type":"string","description":"Specifies the route table ID to which the association belongs.\n"},"status":{"type":"string","description":"Specifies the status of the association. Default value is \u003cspan pulumi-lang-nodejs=\"`available`\" pulumi-lang-dotnet=\"`Available`\" pulumi-lang-go=\"`available`\" pulumi-lang-python=\"`available`\" pulumi-lang-yaml=\"`available`\" pulumi-lang-java=\"`available`\"\u003e`available`\u003c/span\u003e.\nThe valid values are as follows:\n+ **available**\n+ **failed**\n"},"updatedAt":{"type":"string","description":"The latest update time.\n"}},"type":"object","required":["attachmentId","attachmentType","createdAt","id","resourceId","routeTableId","status","updatedAt"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getErFlowLogsV3FlowLog:getErFlowLogsV3FlowLog":{"properties":{"createdAt":{"type":"string","description":"The creation time of the flow log.\n"},"description":{"type":"string","description":"The description of the flow log.\n"},"enabled":{"type":"boolean","description":"Specifies the switch status of the flow log.\nThe value can be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"id":{"type":"string","description":"The ID of the flow log.\n"},"logGroupId":{"type":"string","description":"Specifies the ID of the log group to which the flow logs belong.\n"},"logStoreType":{"type":"string","description":"The storage type of the flow log.\n"},"logStreamId":{"type":"string","description":"Specifies the ID of the log stream to which the flow logs belong.\n"},"name":{"type":"string","description":"Specifies the name of the flow log.\n"},"resourceId":{"type":"string","description":"Specifies the ID of the attachment to which the flow logs belong.\n"},"resourceType":{"type":"string","description":"Specifies the type of the flow logs.\nThe valid values are as follows:\n"},"status":{"type":"string","description":"Specifies the status of the flow logs.\n"},"updatedAt":{"type":"string","description":"The latest update time of the flow log.\n"}},"type":"object","required":["createdAt","description","enabled","id","logGroupId","logStoreType","logStreamId","name","resourceId","resourceType","status","updatedAt"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getErInstancesV3Instance:getErInstancesV3Instance":{"properties":{"asn":{"type":"number","description":"The BGP AS number of the ER instance.\n"},"autoAcceptSharedAttachments":{"type":"boolean","description":"Whether to automatically accept the creation of shared attachment.\n"},"availabilityZones":{"type":"array","items":{"type":"string"},"description":"The availability zone list where the ER instance is located.\n"},"createdAt":{"type":"string","description":"The creation time of the ER instance.\n"},"defaultAssociationRouteTableId":{"type":"string","description":"The ID of the default association route table.\n"},"defaultPropagationRouteTableId":{"type":"string","description":"The ID of the default propagation route table.\n"},"description":{"type":"string","description":"The description of the ER instance.\n"},"enableDefaultAssociation":{"type":"boolean","description":"Whether to enable the association of the default route table.\n"},"enableDefaultPropagation":{"type":"boolean","description":"Whether to enable the propagation of the default route table.\n"},"id":{"type":"string","description":"The ER instance ID.\n"},"name":{"type":"string","description":"Specifies the name used to filter the ER instances.\nThe valid length is limited from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e, only Chinese and English letters, digits, underscores (_) and\nhyphens (-) are allowed.\n"},"status":{"type":"string","description":"Specifies the status used to filter the ER instances.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the key/value pairs used to filter the ER instances.\n"},"updatedAt":{"type":"string","description":"The last update time of the ER instance.\n"}},"type":"object","required":["asn","autoAcceptSharedAttachments","availabilityZones","createdAt","defaultAssociationRouteTableId","defaultPropagationRouteTableId","description","enableDefaultAssociation","enableDefaultPropagation","id","name","status","tags","updatedAt"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getErPropagationsV3Propagation:getErPropagationsV3Propagation":{"properties":{"attachmentId":{"type":"string","description":"Specifies the attachment ID to which the propagation belongs.\n"},"attachmentType":{"type":"string","description":"Specifies the attachment type of corresponding to the propagation.\nThe valid values are as follows:\n+ **vpc**: Virtual private cloud.\n+ **vpn**: VPN gateway.\n+ **vgw**: Virtual gateway of cloud private line.\n+ **peering**: Peering connection, through the cloud connection (CC) to load ERs in different regions to create a\npeering connection.\n+ **enc**: Enterprise connect network in EC.\n+ **cfw**: VPC border firewall.\n"},"createdAt":{"type":"string","description":"The creation time of the propagation.\n"},"id":{"type":"string","description":"The propagation ID.\n"},"instanceId":{"type":"string","description":"Specifies the ER instance ID to which the propagation belongs.\n"},"resourceId":{"type":"string","description":"The resource ID of the attachment associated with the propagation.\n"},"routeTableId":{"type":"string","description":"Specifies the route table ID to which the propagation belongs.\n"},"status":{"type":"string","description":"Specifies the status of the propagation. Default value is \u003cspan pulumi-lang-nodejs=\"`available`\" pulumi-lang-dotnet=\"`Available`\" pulumi-lang-go=\"`available`\" pulumi-lang-python=\"`available`\" pulumi-lang-yaml=\"`available`\" pulumi-lang-java=\"`available`\"\u003e`available`\u003c/span\u003e.\nThe valid values are as follows:\n+ **available**\n+ **failed**\n"},"updatedAt":{"type":"string","description":"The latest update time of the propagation.\n"}},"type":"object","required":["attachmentId","attachmentType","createdAt","id","instanceId","resourceId","routeTableId","status","updatedAt"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getErQuotasV3Quota:getErQuotasV3Quota":{"properties":{"available":{"type":"number","description":"The number of available quotas, `-1` means unlimited.\n"},"type":{"type":"string","description":"The quota type to be queried.\nThe valid values are as follows:\n"},"unit":{"type":"string","description":"The unit of usage.\n"},"used":{"type":"number","description":"The number of quota used.\n"}},"type":"object","required":["available","type","unit","used"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getErRouteTablesV3RouteTable:getErRouteTablesV3RouteTable":{"properties":{"associations":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FgetErRouteTablesV3RouteTableAssociation:getErRouteTablesV3RouteTableAssociation"},"description":"The association configurations of the route table.\nThe object structure is documented below.\n"},"createdAt":{"type":"string","description":"The creation time.\n"},"description":{"type":"string","description":"The description of the route table.\n"},"id":{"type":"string","description":"The route ID.\n"},"name":{"type":"string","description":"Specifies the name used to filter the route tables.\nThe name can contain \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e characters, only English letters, digits, underscore (_),\nhyphens (-) and dots (.) allowed.\n"},"propagations":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FgetErRouteTablesV3RouteTablePropagation:getErRouteTablesV3RouteTablePropagation"},"description":"The propagation configurations of the route table.\nThe object structure is documented below.\n"},"routes":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FgetErRouteTablesV3RouteTableRoute:getErRouteTablesV3RouteTableRoute"},"description":"The route details of the route table.\nThe object structure is documented below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the key/value pairs used to filter the route tables.\n"},"updatedAt":{"type":"string","description":"The latest update time.\n"}},"type":"object","required":["associations","createdAt","description","id","name","propagations","routes","tags","updatedAt"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getErRouteTablesV3RouteTableAssociation:getErRouteTablesV3RouteTableAssociation":{"properties":{"attachmentId":{"type":"string","description":"The ID of the nexthop attachment.\n"},"attachmentType":{"type":"string","description":"The type of the nexthop attachment.\n"},"id":{"type":"string","description":"The route ID.\n"}},"type":"object","required":["attachmentId","attachmentType","id"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getErRouteTablesV3RouteTablePropagation:getErRouteTablesV3RouteTablePropagation":{"properties":{"attachmentId":{"type":"string","description":"The ID of the nexthop attachment.\n"},"attachmentType":{"type":"string","description":"The type of the nexthop attachment.\n"},"id":{"type":"string","description":"The route ID.\n"}},"type":"object","required":["attachmentId","attachmentType","id"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getErRouteTablesV3RouteTableRoute:getErRouteTablesV3RouteTableRoute":{"properties":{"attachments":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FgetErRouteTablesV3RouteTableRouteAttachment:getErRouteTablesV3RouteTableRouteAttachment"},"description":"The details of the attachment corresponding to the route.\nThe object structure is documented below.\n"},"destination":{"type":"string","description":"The destination address (CIDR) of the route.\n"},"id":{"type":"string","description":"The route ID.\n"},"isBlackhole":{"type":"boolean","description":"Whether route is the black hole route.\n"}},"type":"object","required":["attachments","destination","id","isBlackhole"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getErRouteTablesV3RouteTableRouteAttachment:getErRouteTablesV3RouteTableRouteAttachment":{"properties":{"attachmentId":{"type":"string","description":"The ID of the nexthop attachment.\n"},"attachmentType":{"type":"string","description":"The type of the nexthop attachment.\n"},"resourceId":{"type":"string","description":"The ID of the resource associated with the attachment.\n"}},"type":"object","required":["attachmentId","attachmentType","resourceId"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getEvsVolumesV2Volume:getEvsVolumesV2Volume":{"properties":{"attachments":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FgetEvsVolumesV2VolumeAttachment:getEvsVolumesV2VolumeAttachment"},"description":"The disk attachment information. Structure is documented below.\n"},"availabilityZone":{"type":"string","description":"Specifies the availability zone for the disks.\n"},"bootable":{"type":"boolean","description":"Whether the disk is bootable.\n"},"createAt":{"type":"string","description":"The time when the disk was created.\n"},"description":{"type":"string","description":"The disk description.\n"},"id":{"type":"string","description":"The ID of the attached resource in UUID format.\n"},"name":{"type":"string","description":"Specifies the name for the disks. This field will undergo a fuzzy matching query, the\nquery result is for all disks whose names contain this value.\n"},"serviceType":{"type":"string","description":"The service type, such as EVS, DSS or DESS.\n"},"shareable":{"type":"boolean","description":"Specifies whether the disk is shareable.\n"},"size":{"type":"number","description":"The disk size, in GB.\n"},"status":{"type":"string","description":"Specifies the disk status. The valid values are as following:\n+ **FREEZED**\n+ **BIND_ERROR**\n+ **BINDING**\n+ **PENDING_DELETE**\n+ **PENDING_CREATE**\n+ **NOTIFYING**\n+ **NOTIFY_DELETE**\n+ **PENDING_UPDATE**\n+ **DOWN**\n+ **ACTIVE**\n+ **ELB**\n+ **ERROR**\n+ **VPN**\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the included key/value pairs which associated with the desired disk.\n"},"updateAt":{"type":"string","description":"The time when the disk was updated.\n"},"volumeType":{"type":"string","description":"The disk type. Valid values are as follows:\n+ **SAS**: High I/O type.\n+ **SSD**: Ultra-high I/O type.\n+ **GPSSD**: General purpose SSD type.\n+ **ESSD**: Extreme SSD type.\n+ **GPSSD2**: General purpose SSD V2 type.\n+ **ESSD2**: Extreme SSD V2 type.\n"},"wwn":{"type":"string","description":"The unique identifier used when attaching the disk.\n"}},"type":"object","required":["attachments","availabilityZone","bootable","createAt","description","id","name","serviceType","shareable","size","status","tags","updateAt","volumeType","wwn"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getEvsVolumesV2VolumeAttachment:getEvsVolumesV2VolumeAttachment":{"properties":{"attachedAt":{"type":"string","description":"The time when the disk was attached.\n"},"attachedMode":{"type":"string","description":"The ID of the attachment information.\n"},"deviceName":{"type":"string","description":"The device name to which the disk is attached.\n"},"id":{"type":"string","description":"The ID of the attached resource in UUID format.\n"},"serverId":{"type":"string","description":"Specifies the server ID to which the disks are attached.\n"}},"type":"object","required":["attachedAt","attachedMode","deviceName","id","serverId"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getFgsFunctionsV2Function:getFgsFunctionsV2Function":{"properties":{"appAgency":{"type":"string","description":"The IAM agency name for the function execution.\n"},"codeFilename":{"type":"string","description":"The name of the function file.\n"},"codeType":{"type":"string","description":"The function code type.\n+ **inline**: inline code.\n+ **zip**: ZIP file.\n+ **jar**: JAR file or java functions.\n+ **obs**: function code stored in an OBS bucket.\n"},"codeUrl":{"type":"string","description":"The code URL.\n"},"description":{"type":"string","description":"The description of the function.\n"},"encryptedUserData":{"type":"string","description":"The custom user data (key/value pairs) defined to be encrypted for the function.\n"},"enterpriseProjectId":{"type":"string","description":"Specifies the ID of the enterprise project to which the functions belong.\n"},"functiongraphVersion":{"type":"string","description":"The functionGraph version.\n"},"handler":{"type":"string","description":"The entry point of the function.\n"},"initializerHandler":{"type":"string","description":"The initializer of the function.\n"},"initializerTimeout":{"type":"number","description":"The maximum duration the function can be initialized.\n"},"logGroupId":{"type":"string","description":"The LTS log group ID.\n"},"logStreamId":{"type":"string","description":"The LTS log stream ID.\n"},"maxInstanceNum":{"type":"number","description":"The maximum number of instances for a single function.\n"},"memorySize":{"type":"number","description":"The memory size allocated to the function, the unit is MB.\n"},"name":{"type":"string","description":"Specifies the function name used to query the specified function.\n"},"networkId":{"type":"string","description":"The network ID of subnet to which the function belongs.\n"},"package":{"type":"string","description":"The package name that the function used.\n"},"runtime":{"type":"string","description":"Specifies the dependency package runtime used to query the functions.\nThe valid values are as follows:\n+ **Java8**\n+ **Java11**\n+ **Node.js6.10**\n+ **Node.js8.10**\n+ **Node.js10.16**\n+ **Node.js12.13**\n+ **Node.js14.18**\n+ **Node.js16.17**\n+ **Node.js18.15**\n+ **Python2.7**\n+ **Python3.6**\n+ **Python3.9**\n+ **Python3.10**\n+ **Go1.x**\n+ **C#(.NET Core 2.1)**\n+ **C#(.NET Core 3.1)**\n+ **Custom**\n+ **PHP7.3**\n+ **http**\n+ **Custom Image**\n+ **Cangjie1.0**\n"},"timeout":{"type":"number","description":"The timeout interval of the function.\n"},"urn":{"type":"string","description":"Specifies the function URN used to query the specified function.\n"},"userData":{"type":"string","description":"The custom user data (key/value pairs) defined for the function.\n"},"version":{"type":"string","description":"The function version.\n"},"vpcId":{"type":"string","description":"The VPC ID to which the function belongs.\n"}},"type":"object","required":["appAgency","codeFilename","codeType","codeUrl","description","encryptedUserData","enterpriseProjectId","functiongraphVersion","handler","initializerHandler","initializerTimeout","logGroupId","logStreamId","maxInstanceNum","memorySize","name","networkId","package","runtime","timeout","urn","userData","version","vpcId"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getGeminiInstanceTemplateV3ConfigurationParameter:getGeminiInstanceTemplateV3ConfigurationParameter":{"properties":{"description":{"type":"string","description":"Indicates the parameter description.\n"},"name":{"type":"string","description":"Indicates the parameter name.\n"},"readonly":{"type":"boolean","description":"Indicates whether the parameter is read-only.\n+ **false**: the parameter is not read-only.\n+ **true**: the parameter is read-only.\n"},"restartRequired":{"type":"boolean","description":"Indicates whether the instance needs to be restarted after the parameter is changed.\n+ **false**: the instance does not need to be restarted.\n+ **true**: the instance needs to be restarted.\n"},"type":{"type":"string","description":"Indicates the parameter type. The value can be **string**, **integer**, **boolean**, **list**, or **float**.\n"},"value":{"type":"string","description":"Indicates the parameter value.\n"},"valueRange":{"type":"string","description":"Indicates the value range. For example, the value of the Integer type ranges from 0 to 1,\nand the value of the Boolean type is true or false.\n"}},"type":"object","required":["description","name","readonly","restartRequired","type","value","valueRange"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getGeminiInstancesV3Instance:getGeminiInstancesV3Instance":{"properties":{"availabilityZone":{"type":"string","description":"Indicates the availability zone where the node resides.\n"},"backupStrategies":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FgetGeminiInstancesV3InstanceBackupStrategy:getGeminiInstancesV3InstanceBackupStrategy"},"description":"Indicates the advanced backup policy. Structure is documented below.\n"},"datastores":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FgetGeminiInstancesV3InstanceDatastore:getGeminiInstancesV3InstanceDatastore"},"description":"Indicates the database information. Structure is documented below.\n"},"dbUserName":{"type":"string","description":"Indicates the default username.\n"},"enterpriseProjectId":{"type":"string","description":"Indicates the enterprise project id.\n"},"flavor":{"type":"string","description":"Indicates the instance specifications.\n"},"id":{"type":"string","description":"Indicates the node ID.\n"},"mode":{"type":"string","description":"Indicates the instance mode.\n"},"name":{"type":"string","description":"Specifies the name of the instance.\n"},"nodeNum":{"type":"number","description":"Indicates the count of the nodes.\n"},"nodes":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FgetGeminiInstancesV3InstanceNode:getGeminiInstancesV3InstanceNode"},"description":"Indicates the instance nodes information. Structure is documented below.\n"},"port":{"type":"number","description":"Indicates the database port.\n"},"privateIps":{"type":"array","items":{"type":"string"},"description":"Indicates the list of private IP address of the nodes.\n"},"securityGroupId":{"type":"string","description":"Indicates the security group ID.\n"},"status":{"type":"string","description":"Indicates the node status.\n"},"subnetId":{"type":"string","description":"Specifies the network ID of a subnet.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Indicates the key/value tags of the instance.\n"},"volumeSize":{"type":"number","description":"Indicates the size of the volume.\n"},"vpcId":{"type":"string","description":"Specifies the VPC ID.\n"}},"type":"object","required":["availabilityZone","backupStrategies","datastores","dbUserName","enterpriseProjectId","flavor","id","mode","name","nodeNum","nodes","port","privateIps","securityGroupId","status","subnetId","tags","volumeSize","vpcId"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getGeminiInstancesV3InstanceBackupStrategy:getGeminiInstancesV3InstanceBackupStrategy":{"properties":{"keepDays":{"type":"number","description":"Indicates the number of days to retain the generated backup.\n"},"startTime":{"type":"string","description":"Indicates the backup time window.\n"}},"type":"object","required":["keepDays","startTime"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getGeminiInstancesV3InstanceDatastore:getGeminiInstancesV3InstanceDatastore":{"properties":{"engine":{"type":"string","description":"Indicates the database engine.\n"},"storageEngine":{"type":"string","description":"Indicates the database storage engine.\n"},"version":{"type":"string","description":"Indicates the database version.\n"}},"type":"object","required":["engine","storageEngine","version"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getGeminiInstancesV3InstanceNode:getGeminiInstancesV3InstanceNode":{"properties":{"availabilityZone":{"type":"string","description":"Indicates the availability zone where the node resides.\n"},"id":{"type":"string","description":"Indicates the node ID.\n"},"name":{"type":"string","description":"Specifies the name of the instance.\n"},"privateIp":{"type":"string","description":"Indicates the private IP address of a node.\n"},"status":{"type":"string","description":"Indicates the node status.\n"},"supportReduce":{"type":"boolean","description":"Indicates whether the node support reduce.\n"}},"type":"object","required":["availabilityZone","id","name","privateIp","status","supportReduce"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getGeminiQuotasV3Quota:getGeminiQuotasV3Quota":{"properties":{"quota":{"type":"number","description":"Indicates the current quota. If set to 0, no quantity limit is set for resources.\n"},"type":{"type":"string","description":"Indicates the quota resource type.\n"},"used":{"type":"number","description":"Indicates the number of used resources.\n"}},"type":"object","required":["quota","type","used"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getGeminiTemplatesV3Template:getGeminiTemplatesV3Template":{"properties":{"createdAt":{"type":"string","description":"Indicates the creation time in the **yyyy-MM-ddTHH:mm:ssZ** format.\n"},"datastoreName":{"type":"string","description":"Indicates the database name.\n"},"datastoreVersionName":{"type":"string","description":"Indicates the database version name.\n"},"description":{"type":"string","description":"Indicates the description of parameter template.\n"},"id":{"type":"string","description":"Indicates the ID of the parameter template.\n"},"mode":{"type":"string","description":"Indicates the instance type.\n"},"name":{"type":"string","description":"Indicates the name of the parameter template.\n"},"updatedAt":{"type":"string","description":"Indicates the update time in the **yyyy-MM-ddTHH:mm:ssZ** format.\n"},"userDefined":{"type":"boolean","description":"Indicates whether the parameter template is a custom template.\n+ **false**: default parameter template.\n+ **true**: custom template.\n"}},"type":"object","required":["createdAt","datastoreName","datastoreVersionName","description","id","mode","name","updatedAt","userDefined"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getHssHostGroupsV5Group:getHssHostGroupsV5Group":{"properties":{"hostIds":{"type":"array","items":{"type":"string"},"description":"The list of host IDs in the host group.\n"},"hostNum":{"type":"number","description":"Specifies the number of hosts in the host groups to be queried.\n"},"id":{"type":"string","description":"The ID of the host group.\n"},"name":{"type":"string","description":"Specifies the name of the host group to be queried. This field will undergo a fuzzy\nmatching query, the query result is for all host groups whose names contain this value.\n"},"riskHostNum":{"type":"number","description":"Specifies the number of risky hosts in the host groups to be queried.\n"},"unprotectHostNum":{"type":"number","description":"Specifies the number of unprotected hosts in the host groups to be queried.\n"}},"type":"object","required":["hostIds","hostNum","id","name","riskHostNum","unprotectHostNum"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getHssHostsV5Host:getHssHostsV5Host":{"properties":{"agentId":{"type":"string","description":"The agent ID installed on the host.\n"},"agentStatus":{"type":"string","description":"Specifies the agent status of the hosts to be queried.\nThe valid values are as follows:\n"},"assetRiskNum":{"type":"number","description":"The number of asset risks in the host\n"},"assetValue":{"type":"string","description":"Specifies the asset importance of the hosts to be queried.\nThe valid values are as follows:\n"},"baselineRiskNum":{"type":"number","description":"The number of baseline risks in the host.\n"},"detectResult":{"type":"string","description":"Specifies the security detection result of the hosts to be queried.\nThe valid values are as follows:\n"},"groupId":{"type":"string","description":"Specifies the host group ID of the hosts to be queried.\n"},"id":{"type":"string","description":"The ID of the host.\n"},"intrusionRiskNum":{"type":"number","description":"The number of intrusion risks in the host.\n"},"name":{"type":"string","description":"Specifies the name of the host to be queried.\nThis field will undergo a fuzzy matching query, the query result is for all hosts whose names contain this value.\n"},"osType":{"type":"string","description":"Specifies the operating system type of the hosts to be queried.\nThe valid values are as follows:\n+ `Linux`\n+ `Windows`\n"},"policyGroupId":{"type":"string","description":"Specifies the policy group ID of the hosts to be queried.\n"},"privateIp":{"type":"string","description":"The private IP address of the host.\n"},"protectChargingMode":{"type":"string","description":"Specifies the charging mode for the hosts protection quota to be queried.\nThe valid values are as follows:\n"},"protectStatus":{"type":"string","description":"Specifies the protection status of the hosts to be queried.\nThe valid values are as follows:\n"},"protectVersion":{"type":"string","description":"Specifies the protection version enabled by the hosts to be queried.\nThe valid values are as follows:\n+ `hss.version.null`\n+ `hss.version.enterprise`\n+ `hss.version.premium`\n+ `hss.version.container.enterprise`\n"},"publicIp":{"type":"string","description":"The elastic public IP address of the host.\n"},"resourceId":{"type":"string","description":"The Cloud service resource instance ID.\n"},"status":{"type":"string","description":"Specifies the status of the hosts to be queried.\nThe valid values are as follows:\n+ `ACTIVE`\n+ `SHUTOFF`\n+ `BUILDING`\n+ `ERROR`\n"},"vulnerabilityRiskNum":{"type":"number","description":"The number of vulnerability risks in the host.\n"}},"type":"object","required":["agentId","agentStatus","assetRiskNum","assetValue","baselineRiskNum","detectResult","groupId","id","intrusionRiskNum","name","osType","policyGroupId","privateIp","protectChargingMode","protectStatus","protectVersion","publicIp","resourceId","status","vulnerabilityRiskNum"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getHssIntrusionEventsV5Event:getHssIntrusionEventsV5Event":{"properties":{"agentStatus":{"type":"string"},"assetValue":{"type":"string"},"attackPhase":{"type":"string"},"attackTag":{"type":"string"},"containerName":{"type":"string"},"eventClassId":{"type":"string"},"eventDetails":{"type":"string"},"eventName":{"type":"string"},"eventType":{"type":"number"},"fileInfoLists":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FgetHssIntrusionEventsV5EventFileInfoList:getHssIntrusionEventsV5EventFileInfoList"}},"handleMethod":{"type":"string"},"handleStatus":{"type":"string"},"handleTime":{"type":"number"},"handler":{"type":"string"},"hostId":{"type":"string"},"hostName":{"type":"string"},"hostStatus":{"type":"string"},"id":{"type":"string"},"imageName":{"type":"string"},"occurTime":{"type":"number"},"operateAcceptLists":{"type":"array","items":{"type":"string"}},"operateDetailLists":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FgetHssIntrusionEventsV5EventOperateDetailList:getHssIntrusionEventsV5EventOperateDetailList"}},"osType":{"type":"string"},"privateIp":{"type":"string"},"processInfoLists":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FgetHssIntrusionEventsV5EventProcessInfoList:getHssIntrusionEventsV5EventProcessInfoList"}},"protectStatus":{"type":"string"},"publicIp":{"type":"string"},"recommendation":{"type":"string"},"resourceInfos":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FgetHssIntrusionEventsV5EventResourceInfo:getHssIntrusionEventsV5EventResourceInfo"}},"severity":{"type":"string"},"userInfoLists":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FgetHssIntrusionEventsV5EventUserInfoList:getHssIntrusionEventsV5EventUserInfoList"}}},"type":"object","required":["agentStatus","assetValue","attackPhase","attackTag","containerName","eventClassId","eventDetails","eventName","eventType","fileInfoLists","handleMethod","handleStatus","handleTime","handler","hostId","hostName","hostStatus","id","imageName","occurTime","operateAcceptLists","operateDetailLists","osType","privateIp","processInfoLists","protectStatus","publicIp","recommendation","resourceInfos","severity","userInfoLists"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getHssIntrusionEventsV5EventFileInfoList:getHssIntrusionEventsV5EventFileInfoList":{"properties":{"fdCount":{"type":"string"},"fdInfo":{"type":"string"},"fileAction":{"type":"string"},"fileAlias":{"type":"string"},"fileAtime":{"type":"string"},"fileAttr":{"type":"string"},"fileChangeAttr":{"type":"string"},"fileContent":{"type":"string"},"fileCtime":{"type":"string"},"fileDesc":{"type":"string"},"fileHash":{"type":"string"},"fileKeyWord":{"type":"string"},"fileMd5":{"type":"string"},"fileMtime":{"type":"string"},"fileNewPath":{"type":"string"},"fileOperation":{"type":"string"},"filePath":{"type":"string"},"fileSha256":{"type":"string"},"fileSize":{"type":"number"},"fileType":{"type":"string"},"isDir":{"type":"string"}},"type":"object","required":["fdCount","fdInfo","fileAction","fileAlias","fileAtime","fileAttr","fileChangeAttr","fileContent","fileCtime","fileDesc","fileHash","fileKeyWord","fileMd5","fileMtime","fileNewPath","fileOperation","filePath","fileSha256","fileSize","fileType","isDir"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getHssIntrusionEventsV5EventOperateDetailList:getHssIntrusionEventsV5EventOperateDetailList":{"properties":{"agentId":{"type":"string"},"fileAttr":{"type":"string"},"fileHash":{"type":"string"},"filePath":{"type":"string"},"hash":{"type":"string"},"isParent":{"type":"boolean"},"keyword":{"type":"string"},"loginIp":{"type":"string"},"loginUserName":{"type":"string"},"privateIp":{"type":"string"},"processPid":{"type":"number"}},"type":"object","required":["agentId","fileAttr","fileHash","filePath","hash","isParent","keyword","loginIp","loginUserName","privateIp","processPid"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getHssIntrusionEventsV5EventProcessInfoList:getHssIntrusionEventsV5EventProcessInfoList":{"properties":{"childProcessCmdline":{"type":"string"},"childProcessEgid":{"type":"number"},"childProcessEuid":{"type":"number"},"childProcessFilename":{"type":"string"},"childProcessGid":{"type":"number"},"childProcessName":{"type":"string"},"childProcessPath":{"type":"string"},"childProcessPid":{"type":"number"},"childProcessStartTime":{"type":"number"},"childProcessUid":{"type":"number"},"escapeCmd":{"type":"string"},"escapeMode":{"type":"string"},"parentProcessCmdline":{"type":"string"},"parentProcessEgid":{"type":"number"},"parentProcessEuid":{"type":"number"},"parentProcessFilename":{"type":"string"},"parentProcessGid":{"type":"number"},"parentProcessName":{"type":"string"},"parentProcessPath":{"type":"string"},"parentProcessPid":{"type":"number"},"parentProcessStartTime":{"type":"number"},"parentProcessUid":{"type":"number"},"processCmdline":{"type":"string"},"processEgid":{"type":"number"},"processEuid":{"type":"number"},"processFilename":{"type":"string"},"processGid":{"type":"number"},"processHash":{"type":"string"},"processName":{"type":"string"},"processPath":{"type":"string"},"processPid":{"type":"number"},"processStartTime":{"type":"number"},"processUid":{"type":"number"},"processUsername":{"type":"string"},"virtCmd":{"type":"string"},"virtProcessName":{"type":"string"}},"type":"object","required":["childProcessCmdline","childProcessEgid","childProcessEuid","childProcessFilename","childProcessGid","childProcessName","childProcessPath","childProcessPid","childProcessStartTime","childProcessUid","escapeCmd","escapeMode","parentProcessCmdline","parentProcessEgid","parentProcessEuid","parentProcessFilename","parentProcessGid","parentProcessName","parentProcessPath","parentProcessPid","parentProcessStartTime","parentProcessUid","processCmdline","processEgid","processEuid","processFilename","processGid","processHash","processName","processPath","processPid","processStartTime","processUid","processUsername","virtCmd","virtProcessName"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getHssIntrusionEventsV5EventResourceInfo:getHssIntrusionEventsV5EventResourceInfo":{"properties":{"containerId":{"type":"string"},"domainId":{"type":"string"},"ecsId":{"type":"string"},"enterpriseProjectId":{"type":"string"},"hostAttr":{"type":"string"},"imageId":{"type":"string"},"imageName":{"type":"string"},"microservice":{"type":"string"},"osBit":{"type":"string"},"osName":{"type":"string"},"osType":{"type":"string"},"osVersion":{"type":"string"},"projectId":{"type":"string"},"regionName":{"type":"string"},"service":{"type":"string"},"sysArch":{"type":"string"},"vmName":{"type":"string"},"vmUuid":{"type":"string"},"vpcId":{"type":"string"}},"type":"object","required":["containerId","domainId","ecsId","enterpriseProjectId","hostAttr","imageId","imageName","microservice","osBit","osName","osType","osVersion","projectId","regionName","service","sysArch","vmName","vmUuid","vpcId"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getHssIntrusionEventsV5EventUserInfoList:getHssIntrusionEventsV5EventUserInfoList":{"properties":{"loginFailCount":{"type":"number"},"loginIp":{"type":"string"},"loginLastTime":{"type":"number"},"loginMode":{"type":"number"},"pwdHash":{"type":"string"},"pwdMaxDays":{"type":"number"},"pwdMinDays":{"type":"number"},"pwdUsedDays":{"type":"number"},"pwdWarnLeftDays":{"type":"number"},"pwdWithFuzzing":{"type":"string"},"servicePort":{"type":"number"},"serviceType":{"type":"string"},"userGid":{"type":"number"},"userGroupName":{"type":"string"},"userHomeDir":{"type":"string"},"userId":{"type":"number"},"userName":{"type":"string"}},"type":"object","required":["loginFailCount","loginIp","loginLastTime","loginMode","pwdHash","pwdMaxDays","pwdMinDays","pwdUsedDays","pwdWarnLeftDays","pwdWithFuzzing","servicePort","serviceType","userGid","userGroupName","userHomeDir","userId","userName"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getHssQuotasV5Quota:getHssQuotasV5Quota":{"properties":{"chargingMode":{"type":"string","description":"Specifies the charging mode of the quotas to be queried.\nThe valid values are as follows:\n"},"expireTime":{"type":"string","description":"The expiration time of quota, in RFC3339 format. This field is valid when the quota is a trial quota.\n"},"hostId":{"type":"string","description":"The host ID for quota binding.\n"},"hostName":{"type":"string","description":"Specifies the host name for the quota binding to be queried.\n"},"id":{"type":"string","description":"The ID of quota.\n"},"sharedQuota":{"type":"string","description":"Is it a shared quota. The value can be \u003cspan pulumi-lang-nodejs=\"`shared`\" pulumi-lang-dotnet=\"`Shared`\" pulumi-lang-go=\"`shared`\" pulumi-lang-python=\"`shared`\" pulumi-lang-yaml=\"`shared`\" pulumi-lang-java=\"`shared`\"\u003e`shared`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`unshared`\" pulumi-lang-dotnet=\"`Unshared`\" pulumi-lang-go=\"`unshared`\" pulumi-lang-python=\"`unshared`\" pulumi-lang-yaml=\"`unshared`\" pulumi-lang-java=\"`unshared`\"\u003e`unshared`\u003c/span\u003e.\n"},"status":{"type":"string","description":"Specifies the status of the quotas to be queried.\nThe value can be \u003cspan pulumi-lang-nodejs=\"`normal`\" pulumi-lang-dotnet=\"`Normal`\" pulumi-lang-go=\"`normal`\" pulumi-lang-python=\"`normal`\" pulumi-lang-yaml=\"`normal`\" pulumi-lang-java=\"`normal`\"\u003e`normal`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`expired`\" pulumi-lang-dotnet=\"`Expired`\" pulumi-lang-go=\"`expired`\" pulumi-lang-python=\"`expired`\" pulumi-lang-yaml=\"`expired`\" pulumi-lang-java=\"`expired`\"\u003e`expired`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`freeze`\" pulumi-lang-dotnet=\"`Freeze`\" pulumi-lang-go=\"`freeze`\" pulumi-lang-python=\"`freeze`\" pulumi-lang-yaml=\"`freeze`\" pulumi-lang-java=\"`freeze`\"\u003e`freeze`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"The key/value pairs to associate with the HSS quota.\n"},"usedStatus":{"type":"string","description":"Specifies the usage status of the quotas to be queried.\nThe value can be \u003cspan pulumi-lang-nodejs=\"`idle`\" pulumi-lang-dotnet=\"`Idle`\" pulumi-lang-go=\"`idle`\" pulumi-lang-python=\"`idle`\" pulumi-lang-yaml=\"`idle`\" pulumi-lang-java=\"`idle`\"\u003e`idle`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`used`\" pulumi-lang-dotnet=\"`Used`\" pulumi-lang-go=\"`used`\" pulumi-lang-python=\"`used`\" pulumi-lang-yaml=\"`used`\" pulumi-lang-java=\"`used`\"\u003e`used`\u003c/span\u003e.\n"},"version":{"type":"string","description":"Specifies the version of the quotas to be queried.\nThe valid values are as follows:\n+ `hss.version.enterprise`: Enterprise version.\n+ `hss.version.premium`: Ultimate version.\n"}},"type":"object","required":["chargingMode","expireTime","hostId","hostName","id","sharedQuota","status","tags","usedStatus","version"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getIdentityAuthScopeV3Role:getIdentityAuthScopeV3Role":{"properties":{"roleId":{"type":"string","description":"The ID of the role.\n"},"roleName":{"type":"string","description":"The name of the role.\n"}},"type":"object","required":["roleId","roleName"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getIdentityCredentialV3Credential:getIdentityCredentialV3Credential":{"properties":{"access":{"type":"string"},"createTime":{"type":"string"},"description":{"type":"string"},"status":{"type":"string"},"userId":{"type":"string"}},"type":"object","required":["access","createTime","description","status","userId"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getIdentityProjectsV3Project:getIdentityProjectsV3Project":{"properties":{"description":{"type":"string","description":"The description of the project.\n"},"domainId":{"type":"string","description":"The domain this project belongs to.\n"},"enabled":{"type":"boolean","description":"Describes whether the project is available\n"},"isDomain":{"type":"boolean","description":"Indicates whether the user calling the API is a tenant.\n"},"name":{"type":"string","description":"Indicated the name of the project.\n"},"parentId":{"type":"string","description":"The parent of this project.\n"},"projectId":{"type":"string","description":"The ID of the project.\n"}},"type":"object","required":["description","domainId","enabled","isDomain","name","parentId","projectId"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getIdentityRoleCustomV3Statement:getIdentityRoleCustomV3Statement":{"properties":{"actions":{"type":"array","items":{"type":"string"},"description":"Permission set, which specifies the operation permissions on\nresources. The number of permission sets cannot exceed 100.\nFormat:  The value format is Service name:Resource type:Action,\nfor example, vpc:ports:create. Service name: indicates the\nproduct name, such as ecs, evs, or vpc. Only lowercase letters\nare allowed. Resource type and Action: The values are\ncase-insensitive, and the wildcard (*) are allowed. A wildcard\n(*) can represent all or part of information about resource\ntypes and actions for the specific service.\n"},"condition":{"type":"string","description":"The conditions for the permission to take effect.\n"},"effect":{"type":"string","description":"The value can be Allow and Deny. If both Allow and Deny are\nfound in statements, the policy evaluation starts with Deny.\n"},"resources":{"type":"array","items":{"type":"string"},"description":"The resources which will be granted/denied accesses.\nFormat: `Service:*:*:resource:resource_path`.\nExamples: `KMS:*:*:KeyId:your_key`, `OBS:*:*:bucket:your_bucket`, `OBS:*:*:object:your_object`.\n"}},"type":"object","required":["actions","condition","effect","resources"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getLbListenerV3InsertHeader:getLbListenerV3InsertHeader":{"properties":{"forwardElbIp":{"type":"boolean","description":"Specifies whether to transparently transmit the load balancer EIP\nto backend servers. If \u003cspan pulumi-lang-nodejs=\"`forwardElbIp`\" pulumi-lang-dotnet=\"`ForwardElbIp`\" pulumi-lang-go=\"`forwardElbIp`\" pulumi-lang-python=\"`forward_elb_ip`\" pulumi-lang-yaml=\"`forwardElbIp`\" pulumi-lang-java=\"`forwardElbIp`\"\u003e`forward_elb_ip`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the load balancer EIP will be stored in\nthe HTTP header and passed to backend servers.\n"},"forwardedForPort":{"type":"boolean","description":"Specifies whether to transparently transmit the source port of\nthe client to backend servers. If \u003cspan pulumi-lang-nodejs=\"`forwardedForPort`\" pulumi-lang-dotnet=\"`ForwardedForPort`\" pulumi-lang-go=\"`forwardedForPort`\" pulumi-lang-python=\"`forwarded_for_port`\" pulumi-lang-yaml=\"`forwardedForPort`\" pulumi-lang-java=\"`forwardedForPort`\"\u003e`forwarded_for_port`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the source port of the\nclient will be stored in the HTTP header and passed to backend servers.\n"},"forwardedHost":{"type":"boolean","description":"Specifies whether to rewrite the `X-Forwarded-Host` header.\nIf \u003cspan pulumi-lang-nodejs=\"`forwardedHost`\" pulumi-lang-dotnet=\"`ForwardedHost`\" pulumi-lang-go=\"`forwardedHost`\" pulumi-lang-python=\"`forwarded_host`\" pulumi-lang-yaml=\"`forwardedHost`\" pulumi-lang-java=\"`forwardedHost`\"\u003e`forwarded_host`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, `X-Forwarded-Host` in the request header from the clients\ncan be set to Host in the request header sent from the load balancer to backend servers.\n"},"forwardedPort":{"type":"boolean","description":"Specifies whether to transparently transmit the listening port of\nthe load balancer to backend servers. If \u003cspan pulumi-lang-nodejs=\"`forwardedPort`\" pulumi-lang-dotnet=\"`ForwardedPort`\" pulumi-lang-go=\"`forwardedPort`\" pulumi-lang-python=\"`forwarded_port`\" pulumi-lang-yaml=\"`forwardedPort`\" pulumi-lang-java=\"`forwardedPort`\"\u003e`forwarded_port`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the listening port of\nthe load balancer will be stored in the HTTP header and passed to backend servers.\n"}},"type":"object","required":["forwardElbIp","forwardedForPort","forwardedHost","forwardedPort"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getLbListenerV3IpGroup:getLbListenerV3IpGroup":{"properties":{"enable":{"type":"boolean"},"id":{"type":"string","description":"Specifies the listener ID.\n"},"type":{"type":"string"}},"type":"object","required":["enable","id","type"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getLbLoadbalancerV3PublicIp:getLbLoadbalancerV3PublicIp":{"properties":{"address":{"type":"string","description":"Elastic IP address.\n"},"bandwidthChargeMode":{"type":"string","description":"Bandwidth billing type.\n"},"bandwidthName":{"type":"string","description":"Bandwidth name.\n"},"bandwidthShareType":{"type":"string","description":"Bandwidth sharing type.\n"},"bandwidthSize":{"type":"number","description":"Bandwidth size.\n"},"id":{"type":"string","description":"Specifies the LoadBalancer ID.\n"},"ipType":{"type":"string","description":"Elastic IP type.\n"}},"type":"object","required":["address","bandwidthChargeMode","bandwidthName","bandwidthShareType","bandwidthSize","id","ipType"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getLtsGroupsV2Group:getLtsGroupsV2Group":{"properties":{"createdAt":{"type":"string","description":"The creation time of the log group, in RFC3339 format.\n"},"enterpriseProjectId":{"type":"string","description":"The enterprise project ID to which the log group belongs.\n"},"id":{"type":"string","description":"The log group ID.\n"},"name":{"type":"string","description":"The log group name.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"The key/value pairs to associate with the log group.\n"},"ttlInDays":{"type":"number","description":"The log expiration time(days).\n"}},"type":"object","required":["createdAt","enterpriseProjectId","id","name","tags","ttlInDays"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getLtsStreamsV2Stream:getLtsStreamsV2Stream":{"properties":{"createdAt":{"type":"string","description":"The creation time of the log stream, in RFC3339 format.\n"},"enterpriseProjectId":{"type":"string"},"id":{"type":"string","description":"The ID of the log stream.\n"},"name":{"type":"string","description":"Specifies the name of the log stream.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"The key/value pairs to associate with the log stream.\n"},"ttlInDays":{"type":"number","description":"The log expiration time (days).\n"}},"type":"object","required":["createdAt","enterpriseProjectId","id","name","tags","ttlInDays"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getNatDnatRulesV2Rule:getNatDnatRulesV2Rule":{"properties":{"createdAt":{"type":"string","description":"The creation time of the DNAT rule.\n"},"description":{"type":"string","description":"Specifies the description of the DNAT rule.\n"},"externalServicePort":{"type":"number","description":"Specifies the port of the EIP associated with the DNAT rule.\n"},"floatingIpAddress":{"type":"string","description":"Specifies the IP address of the EIP associated with the DNAT rule.\n"},"floatingIpId":{"type":"string","description":"Specifies the ID of the EIP associated with the DNAT rule.\n"},"gatewayId":{"type":"string","description":"Specifies the ID of the NAT gateway to which the DNAT rule belongs.\n"},"id":{"type":"string","description":"The ID of the DNAT rule.\n"},"internalServicePort":{"type":"number","description":"Specifies the port of the backend instance to which the DNAT rule\nbelongs.\n"},"portId":{"type":"string","description":"Specifies the port ID of the backend instance to which the DNAT rule belongs.\n"},"privateIp":{"type":"string","description":"Specifies the private IP address of the backend instance to which the DNAT rule\nbelongs.\n"},"protocol":{"type":"string","description":"Specifies the protocol type of the DNAT rule.\nThe value can be one of the following:\n"},"status":{"type":"string","description":"Specifies the status of the DNAT rule.\nThe value can be one of the following:\n* `ACTIVE`: The SNAT rule is available.\n* `EIP_FREEZED`: The EIP is frozen associated with SNAT rule.\n* `INACTIVE`: The SNAT rule is unavailable.\n"}},"type":"object","required":["createdAt","description","externalServicePort","floatingIpAddress","floatingIpId","gatewayId","id","internalServicePort","portId","privateIp","protocol","status"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getNatSnatRulesV2Rule:getNatSnatRulesV2Rule":{"properties":{"adminStateUp":{"type":"boolean","description":"Specifies whether the SNAT rule is enabled or disabled.\n"},"cidr":{"type":"string","description":"Specifies the CIDR block to which the SNAT rule belongs.\n"},"createdAt":{"type":"string","description":"The creation time of the SNAT rule.\n"},"floatingIpAddress":{"type":"string","description":"Specifies the IP of the EIP associated with SNAT rule.\n"},"floatingIpId":{"type":"string","description":"Specifies the ID of the EIP associated with SNAT rule.\n"},"gatewayId":{"type":"string","description":"Specifies the ID of the NAT gateway to which the SNAT rule belongs.\n"},"id":{"type":"string","description":"The ID of the SNAT rule.\n"},"projectId":{"type":"string","description":"Specifies the project ID to which the SNAT rule belongs.\n"},"sourceType":{"type":"number","description":"Specifies the source type of the SNAT rule.\nThe value can be one of the following:\n"},"status":{"type":"string","description":"Specifies the status of the SNAT rule.\nThe value can be one of the following:\n* `ACTIVE`: The SNAT rule is available.\n* `EIP_FREEZED`: The global EIP is frozen associated with SNAT rule.\n+ `INACTIVE`: The SNAT rule is unavailable.\n"},"subnetId":{"type":"string","description":"Specifies the ID of the subnet to which the SNAT rule belongs.\n"}},"type":"object","required":["adminStateUp","cidr","createdAt","floatingIpAddress","floatingIpId","gatewayId","id","projectId","sourceType","status","subnetId"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getObsBucketCorsRule:getObsBucketCorsRule":{"properties":{"allowedHeaders":{"type":"array","items":{"type":"string"}},"allowedMethods":{"type":"array","items":{"type":"string"}},"allowedOrigins":{"type":"array","items":{"type":"string"}},"exposeHeaders":{"type":"array","items":{"type":"string"}},"maxAgeSeconds":{"type":"number"}},"type":"object","required":["allowedHeaders","allowedMethods","allowedOrigins","exposeHeaders","maxAgeSeconds"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getObsBucketEventNotification:getObsBucketEventNotification":{"properties":{"events":{"type":"array","items":{"type":"string"}},"filterRules":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FgetObsBucketEventNotificationFilterRule:getObsBucketEventNotificationFilterRule"}},"id":{"type":"string"},"topic":{"type":"string"}},"type":"object","required":["events","filterRules","id","topic"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getObsBucketEventNotificationFilterRule:getObsBucketEventNotificationFilterRule":{"properties":{"name":{"type":"string","description":"Unique identifier for lifecycle rules. The Rule Name contains a maximum of 255 characters.\n"},"value":{"type":"string"}},"type":"object","required":["name","value"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getObsBucketLifecycleRule:getObsBucketLifecycleRule":{"properties":{"enabled":{"type":"boolean","description":"Specifies lifecycle rule status.\n"},"expirations":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FgetObsBucketLifecycleRuleExpiration:getObsBucketLifecycleRuleExpiration"},"description":"Specifies a period when objects that have been last updated are automatically\ndeleted. (documented below).\n"},"name":{"type":"string","description":"Unique identifier for lifecycle rules. The Rule Name contains a maximum of 255 characters.\n"},"noncurrentVersionExpirations":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FgetObsBucketLifecycleRuleNoncurrentVersionExpiration:getObsBucketLifecycleRuleNoncurrentVersionExpiration"},"description":"Specifies a period when noncurrent object versions are\nautomatically deleted. (documented below).\n"},"noncurrentVersionTransitions":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FgetObsBucketLifecycleRuleNoncurrentVersionTransition:getObsBucketLifecycleRuleNoncurrentVersionTransition"},"description":"Specifies a period when noncurrent object versions are\nautomatically transitioned to `WARM` or `COLD` storage class (documented below).\n"},"prefix":{"type":"string","description":"Object key prefix identifying one or more objects to which the rule applies.\n"},"transitions":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FgetObsBucketLifecycleRuleTransition:getObsBucketLifecycleRuleTransition"},"description":"Specifies a period when objects that have been last updated are automatically\ntransitioned to `WARM` or `COLD` storage class (documented below).\n"}},"type":"object","required":["enabled","expirations","name","noncurrentVersionExpirations","noncurrentVersionTransitions","prefix","transitions"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getObsBucketLifecycleRuleExpiration:getObsBucketLifecycleRuleExpiration":{"properties":{"days":{"type":"number","description":"Specifies the number of days when noncurrent object versions are automatically\ntransitioned to the specified storage class.\n"}},"type":"object","required":["days"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getObsBucketLifecycleRuleNoncurrentVersionExpiration:getObsBucketLifecycleRuleNoncurrentVersionExpiration":{"properties":{"days":{"type":"number","description":"Specifies the number of days when noncurrent object versions are automatically\ntransitioned to the specified storage class.\n"}},"type":"object","required":["days"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getObsBucketLifecycleRuleNoncurrentVersionTransition:getObsBucketLifecycleRuleNoncurrentVersionTransition":{"properties":{"days":{"type":"number","description":"Specifies the number of days when noncurrent object versions are automatically\ntransitioned to the specified storage class.\n"},"storageClass":{"type":"string","description":"The class of storage used to store the object.\n"}},"type":"object","required":["days","storageClass"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getObsBucketLifecycleRuleTransition:getObsBucketLifecycleRuleTransition":{"properties":{"days":{"type":"number","description":"Specifies the number of days when noncurrent object versions are automatically\ntransitioned to the specified storage class.\n"},"storageClass":{"type":"string","description":"The class of storage used to store the object.\n"}},"type":"object","required":["days","storageClass"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getObsBucketLogging:getObsBucketLogging":{"properties":{"agency":{"type":"string","description":"The agency name for logging.\n"},"targetBucket":{"type":"string","description":"The name of the bucket that will receive the log objects.\n"},"targetPrefix":{"type":"string","description":"To specify a key prefix for log objects.\n"}},"type":"object","required":["agency","targetBucket","targetPrefix"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getObsBucketServerSideEncryption:getObsBucketServerSideEncryption":{"properties":{"algorithm":{"type":"string"},"kmsKeyId":{"type":"string"},"kmsProjectId":{"type":"string"}},"type":"object","required":["algorithm","kmsKeyId","kmsProjectId"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getObsBucketWebsite:getObsBucketWebsite":{"properties":{"errorDocument":{"type":"string","description":"Specifies the error page returned when an error occurs during static website access.\n"},"indexDocument":{"type":"string","description":"Specifies the default homepage of the static website, only HTML web pages are supported.\n"},"redirectAllRequestsTo":{"type":"string","description":"A hostname to redirect all website requests for this bucket to.\n"},"routingRules":{"type":"string","description":"A JSON or XML format containing routing rules describing redirect\nbehavior and when redirects are applied.\n"}},"type":"object","required":["errorDocument","indexDocument","redirectAllRequestsTo","routingRules"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getPrivateNatDnatRuleV3DnatRule:getPrivateNatDnatRuleV3DnatRule":{"properties":{"createdAt":{"type":"string","description":"Indicates the time when the private NAT DNAT rule was created. It is a UTC time in yyyy-mm-ddThh:mm:ssZ format.\n"},"description":{"type":"string","description":"Provides supplementary information about the DNAT rule.\n"},"enterpriseProjectId":{"type":"string","description":"Indicates the ID of the enterprise project that is associated with the DNAT rule when the DNAT rule is created.\n"},"gatewayId":{"type":"string","description":"Indicates the private NAT gateway ID.\n"},"id":{"type":"string","description":"Specifies the private NAT DNAT rule ID.\n"},"internalServicePort":{"type":"string","description":"Indicates the port number of the resource, which can be a compute instance, load balancer (v2 or v3), or virtual IP address.\n"},"networkInterfaceId":{"type":"string","description":"Indicates the port ID of the resource that the NAT gateway is bound to. The resource can be a compute instance, load balancer (v2 or v3), or virtual IP address.\n"},"privateIpAddress":{"type":"string","description":"Indicates the port IP address that the NAT gateway uses.\n"},"projectId":{"type":"string","description":"Indicates the project ID.\n"},"protocol":{"type":"string","description":"Indicates the protocol type. Supported values: \u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\"\u003e`tcp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`udp`\" pulumi-lang-dotnet=\"`Udp`\" pulumi-lang-go=\"`udp`\" pulumi-lang-python=\"`udp`\" pulumi-lang-yaml=\"`udp`\" pulumi-lang-java=\"`udp`\"\u003e`udp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\"\u003e`any`\u003c/span\u003e.\n"},"status":{"type":"string","description":"Indicates the private NAT DNAT rule status. The value can be: `ACTIVE` (The DNAT rule is running properly) or `FROZEN` (The DNAT rule is frozen).\n"},"transitIpId":{"type":"string","description":"Indicates the ID of the transit IP address.\n"},"transitServicePort":{"type":"string","description":"Indicates the port number of the transit IP address.\n"},"type":{"type":"string","description":"Indicates the backend resource type of the DNAT rule. The type can be: `COMPUTE`, `VIP`, `ELB`, `ELBv3`, `CUSTOMIZE`.\n"},"updatedAt":{"type":"string","description":"Indicates the time when the private NAT DNAT rule was updated. It is a UTC time in yyyy-mm-ddThh:mm:ssZ format.\n"}},"type":"object","required":["createdAt","description","enterpriseProjectId","gatewayId","id","internalServicePort","networkInterfaceId","privateIpAddress","projectId","protocol","status","transitIpId","transitServicePort","type","updatedAt"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getPrivateNatGatewayV3Gateway:getPrivateNatGatewayV3Gateway":{"properties":{"createdAt":{"type":"string","description":"Indicates the time when the private NAT gateway was created. It is a UTC time in yyyy-mm-ddThh:mm:ssZ format.\n"},"description":{"type":"string","description":"Provides supplementary information about the private NAT gateway.\n"},"downlinkVpcs":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FgetPrivateNatGatewayV3GatewayDownlinkVpc:getPrivateNatGatewayV3GatewayDownlinkVpc"},"description":"Indicates the VPC where the private NAT gateway works. The structure is documented below.\n"},"enterpriseProjectId":{"type":"string","description":"Indicates the ID of the enterprise project that is associated with the private NAT gateway when the private NAT gateway is created.\n"},"id":{"type":"string","description":"Specifies the private NAT gateway name.\n"},"name":{"type":"string","description":"Specifies the private NAT gateway name.\n"},"projectId":{"type":"string","description":"Indicates the project ID.\n"},"ruleMax":{"type":"number","description":"Indicates Specifies the maximum number of rules. Value range: `0-65535`\n"},"spec":{"type":"string","description":"Indicates the private NAT gateway specifications. The value can be: `Small`, `Medium`, `Large`, `Extra-large`.\n"},"status":{"type":"string","description":"Indicates the private NAT gateway status. The value can be: `ACTIVE` (The private NAT gateway is running properly) or `FROZEN` (The private NAT gateway is frozen).\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Indicates the tag list in key/value format.\n"},"transitIpPoolSizeMax":{"type":"number","description":"Specifies the maximum number of transit IP addresses in a transit IP address pool. Value range: `0-100`\n"},"updatedAt":{"type":"string","description":"Indicates the time when the private NAT gateway was updated. It is a UTC time in yyyy-mm-ddThh:mm:ssZ format.\n"}},"type":"object","required":["createdAt","description","downlinkVpcs","enterpriseProjectId","id","name","projectId","ruleMax","spec","status","tags","transitIpPoolSizeMax","updatedAt"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getPrivateNatGatewayV3GatewayDownlinkVpc:getPrivateNatGatewayV3GatewayDownlinkVpc":{"properties":{"ngportIpAddress":{"type":"string","description":"Indicates the private IP address of the private NAT gateway.\n"},"virsubnetId":{"type":"string","description":"Indicates the ID of the subnet where the private NAT gateway works.\n"},"vpcId":{"type":"string","description":"Indicates the ID of the VPC where the private NAT gateway works.\n"}},"type":"object","required":["ngportIpAddress","virsubnetId","vpcId"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getPrivateNatSnatRuleV3SnatRule:getPrivateNatSnatRuleV3SnatRule":{"properties":{"cidr":{"type":"string","description":"Indicates the CIDR block that matches the SNAT rule.\n"},"createdAt":{"type":"string","description":"Indicates the time when the private NAT SNAT rule was created. It is a UTC time in yyyy-mm-ddThh:mm:ssZ format.\n"},"description":{"type":"string","description":"Provides supplementary information about the SNAT rule.\n"},"enterpriseProjectId":{"type":"string","description":"Indicates the ID of the enterprise project that is associated with the SNAT rule when the SNAT rule is created.\n"},"gatewayId":{"type":"string","description":"Indicates the private NAT gateway ID.\n"},"id":{"type":"string","description":"Specifies the private NAT SNAT rule ID.\n"},"projectId":{"type":"string","description":"Indicates the project ID.\n"},"status":{"type":"string","description":"Indicates the private NAT SNAT rule status. The value can be: `ACTIVE` (The SNAT rule is running properly) or `FROZEN` (The SNAT rule is frozen).\n"},"transitIpAssociations":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FgetPrivateNatSnatRuleV3SnatRuleTransitIpAssociation:getPrivateNatSnatRuleV3SnatRuleTransitIpAssociation"},"description":"Indicates the list of details of associated transit IP addresses. The structure is described below.\n"},"transitIpIds":{"type":"array","items":{"type":"string"},"description":"Indicates the IDs of the transit IP addresses.\n"},"updatedAt":{"type":"string","description":"Indicates the time when the private NAT SNAT rule was updated. It is a UTC time in yyyy-mm-ddThh:mm:ssZ format.\n"},"virsubnetId":{"type":"string","description":"Indicates the ID of the subnet that matches the SNAT rule.\n"}},"type":"object","required":["cidr","createdAt","description","enterpriseProjectId","gatewayId","id","projectId","status","transitIpAssociations","transitIpIds","updatedAt","virsubnetId"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getPrivateNatSnatRuleV3SnatRuleTransitIpAssociation:getPrivateNatSnatRuleV3SnatRuleTransitIpAssociation":{"properties":{"transitIpAddress":{"type":"string","description":"Indicates the transit IP address.\n"},"transitIpId":{"type":"string","description":"Indicates the ID of the transit IP address.\n"}},"type":"object","required":["transitIpAddress","transitIpId"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getPrivateNatTransitIpV3TransitIp:getPrivateNatTransitIpV3TransitIp":{"properties":{"createdAt":{"type":"string","description":"Indicates the time when the private NAT Transit IP was created. It is a UTC time in yyyy-mm-ddThh:mm:ssZ format.\n"},"enterpriseProjectId":{"type":"string","description":"Indicates the ID of the enterprise project that is associated with the transit IP address when the transit IP address is being assigned.\n"},"gatewayId":{"type":"string","description":"Indicates the ID of the private NAT gateway associated with the transit IP address.\n"},"id":{"type":"string","description":"Specifies the private NAT transit IP ID.\n"},"ipAddress":{"type":"string","description":"Specifies the transit IP address.\n"},"networkInterfaceId":{"type":"string","description":"Indicates the network interface ID of the transit IP address.\n"},"projectId":{"type":"string","description":"Indicates the project ID.\n"},"status":{"type":"string","description":"Indicates the private NAT transit IP status. The value can be: `ACTIVE` (The Transit IP is running properly) or `FROZEN` (The Transit IP is frozen).\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Indicates the tag list in key/value format.\n"},"updatedAt":{"type":"string","description":"Indicates the time when the private NAT Transit IP was updated. It is a UTC time in yyyy-mm-ddThh:mm:ssZ format.\n"},"virsubnetId":{"type":"string","description":"Specifies the subnet ID of the current project.\n"}},"type":"object","required":["createdAt","enterpriseProjectId","gatewayId","id","ipAddress","networkInterfaceId","projectId","status","tags","updatedAt","virsubnetId"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getRdsFlavorsV3Flavor:getRdsFlavorsV3Flavor":{"properties":{"azStatus":{"type":"object","additionalProperties":{"type":"string"},"description":"Indicates the status of the AZ to which the DB instance specifications belong.\n"},"memory":{"type":"number","description":"Indicates the memory size in GB.\n"},"mode":{"type":"string","description":"Indicates the DB instance type.\n"},"name":{"type":"string","description":"The name of the rds flavor.\n"},"vcpus":{"type":"string","description":"Indicates the CPU size.\n"}},"type":"object","required":["azStatus","memory","mode","name","vcpus"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getRdsInstanceV3BackupStrategy:getRdsInstanceV3BackupStrategy":{"properties":{"keepDays":{"type":"number"},"startTime":{"type":"string"}},"type":"object","required":["keepDays","startTime"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getRdsInstanceV3Node:getRdsInstanceV3Node":{"properties":{"availabilityZone":{"type":"string","description":"Indicates the availability zone.\n"},"id":{"type":"string","description":"ID of the RDS instance.\n"},"name":{"type":"string","description":"Specifies the DB instance ID.\n"},"role":{"type":"string"},"status":{"type":"string","description":"Indicates the DB instance status.\n"}},"type":"object","required":["availabilityZone","id","name","role","status"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getRmsAdvancedQueriesV1Query:getRmsAdvancedQueriesV1Query":{"properties":{"createdAt":{"type":"string","description":"The creation time of the advanced query.\n"},"description":{"type":"string","description":"The advanced query description.\n"},"expression":{"type":"string","description":"The advanced query expression.\n"},"id":{"type":"string","description":"The advanced query ID.\n"},"name":{"type":"string","description":"Specifies the advanced query name.\n"},"type":{"type":"string","description":"The advanced query type.\n"},"updatedAt":{"type":"string","description":"The latest update time of the advanced query.\n"}},"type":"object","required":["createdAt","description","expression","id","name","type","updatedAt"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getRmsAdvancedQuerySchemasV1Schema:getRmsAdvancedQuerySchemasV1Schema":{"properties":{"schema":{"type":"object","additionalProperties":{"type":"string"},"description":"The schema detail.\n"},"type":{"type":"string","description":"Specifies the type of the schema.\n"}},"type":"object","required":["schema","type"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getRmsAdvancedQueryV1QueryInfo:getRmsAdvancedQueryV1QueryInfo":{"properties":{"selectFields":{"type":"array","items":{"type":"string"},"description":"The list of select fields.\n"}},"type":"object","required":["selectFields"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getRmsPolicyDefinitionsV1Definition:getRmsPolicyDefinitionsV1Definition":{"properties":{"description":{"type":"string","description":"The description of the policy definition.\n"},"id":{"type":"string","description":"The ID of the policy definition.\n"},"keywords":{"type":"array","items":{"type":"string"},"description":"Specifies the keyword list used to query definition list.\n"},"name":{"type":"string","description":"Specifies the name of the policy definitions used to query definition list.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"The parameter reference map of the policy definition.\n"},"policyRule":{"type":"string","description":"The policy rule of the policy definition.\n"},"policyRuleType":{"type":"string","description":"Specifies the policy rule type used to query definition list.\n"},"policyType":{"type":"string","description":"Specifies the policy type used to query definition list.\nThe valid value is **builtin**.\n"},"triggerType":{"type":"string","description":"Specifies the trigger type used to query definition list.\nThe valid values are **resource** and **period**.\n"}},"type":"object","required":["description","id","keywords","name","parameters","policyRule","policyRuleType","policyType","triggerType"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getRmsPolicyStatesV1State:getRmsPolicyStatesV1State":{"properties":{"complianceState":{"type":"string"},"domainId":{"type":"string"},"evaluationTime":{"type":"string"},"policyAssignmentId":{"type":"string"},"policyAssignmentName":{"type":"string"},"policyDefinitionId":{"type":"string"},"regionId":{"type":"string"},"resourceId":{"type":"string"},"resourceName":{"type":"string"},"resourceProvider":{"type":"string"},"resourceType":{"type":"string"},"triggerType":{"type":"string"}},"type":"object","required":["complianceState","domainId","evaluationTime","policyAssignmentId","policyAssignmentName","policyDefinitionId","regionId","resourceId","resourceName","resourceProvider","resourceType","triggerType"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getRmsRegionsV1Region:getRmsRegionsV1Region":{"properties":{"displayName":{"type":"string","description":"Specifies the display name.\n"},"regionId":{"type":"string","description":"Specifies the region ID.\n"}},"type":"object","required":["displayName","regionId"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getRmsResourceRelationshipsV1Relation:getRmsResourceRelationshipsV1Relation":{"properties":{"fromResourceId":{"type":"string","description":"Specifies the ID of the source resource.\n"},"fromResourceType":{"type":"string","description":"Specifies the type of the source resource.\n"},"relationType":{"type":"string","description":"Specifies the relationship type.\n"},"toResourceId":{"type":"string","description":"Specifies the ID of the destination resource.\n"},"toResourceType":{"type":"string","description":"Specifies the type of the destination resource.\n"}},"type":"object","required":["fromResourceId","fromResourceType","relationType","toResourceId","toResourceType"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getRmsResourceTagsV1Tag:getRmsResourceTagsV1Tag":{"properties":{"key":{"type":"string","description":"Specifies the name of the tag key. Maximum length: \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e.\n"},"values":{"type":"array","items":{"type":"string"},"description":"Specifies the tag values.\n"}},"type":"object","required":["key","values"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getSmnMessageTemplatesV2Template:getSmnMessageTemplatesV2Template":{"properties":{"createdAt":{"type":"string","description":"Indicates the create time.\n"},"id":{"type":"string","description":"Indicates the message template ID.\n"},"name":{"type":"string","description":"Specifies the name of the message template.\n"},"protocol":{"type":"string","description":"Specifies the protocol of the message template.\n"},"tagNames":{"type":"array","items":{"type":"string"},"description":"Indicates the variable list. The variable name will be quoted in braces ({}) in the template.\nWhen you use a template to send messages, you can replace the variable with any content.\n"},"updatedAt":{"type":"string","description":"Indicates the update time.\n"}},"type":"object","required":["createdAt","id","name","protocol","tagNames","updatedAt"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getTaurusdbMysqlBackupsV3Backup:getTaurusdbMysqlBackupsV3Backup":{"properties":{"beginTime":{"type":"string","description":"Specifies the backup start time.\nThe format is **yyyy-mm-ddThh:mm:ssZ**.\n"},"datastores":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FgetTaurusdbMysqlBackupsV3BackupDatastore:getTaurusdbMysqlBackupsV3BackupDatastore"},"description":"Indicates the database information.\nThe datastore structure is documented below.\n"},"description":{"type":"string","description":"Indicates the description of the backup.\n"},"endTime":{"type":"string","description":"Specifies the backup end time.\nThe format is **yyyy-mm-ddThh:mm:ssZ**.\nThe end time must be later than the start time.\n"},"id":{"type":"string","description":"Indicates the ID of the backup.\n"},"instanceId":{"type":"string","description":"Specifies the ID of the TaurusDB MySQL instance.\n"},"name":{"type":"string","description":"Indicates the name of the backup.\n"},"size":{"type":"number","description":"Indicates the backup size in MB.\n"},"status":{"type":"string","description":"Indicates the backup status.\n"},"takeUpTime":{"type":"number","description":"Indicates the backup duration in minutes.\n"},"type":{"type":"string","description":"Indicates the database engine.\n"}},"type":"object","required":["beginTime","datastores","description","endTime","id","instanceId","name","size","status","takeUpTime","type"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getTaurusdbMysqlBackupsV3BackupDatastore:getTaurusdbMysqlBackupsV3BackupDatastore":{"properties":{"type":{"type":"string","description":"Indicates the database engine.\n"},"version":{"type":"string","description":"Indicates the database version.\n"}},"type":"object","required":["type","version"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getTaurusdbMysqlConfigurationsV3Configuration:getTaurusdbMysqlConfigurationsV3Configuration":{"properties":{"createdAt":{"type":"string","description":"Indicates the creation time in the **yyyy-MM-ddTHH:mm:ssZ** format.\n"},"datastoreName":{"type":"string","description":"Indicates the engine name.\n"},"datastoreVersionName":{"type":"string"},"description":{"type":"string","description":"Indicates the description of parameter template.\n"},"id":{"type":"string","description":"Indicates the ID of the parameter template.\n"},"name":{"type":"string","description":"Indicates the name of the parameter template.\n"},"updatedAt":{"type":"string","description":"Indicates the update time in the **yyyy-MM-ddTHH:mm:ssZ** format.\n"},"userDefined":{"type":"boolean","description":"Indicates whether the parameter template is a custom template.\n+ **false**: default parameter template.\n+ **true**: custom template.\n"}},"type":"object","required":["createdAt","datastoreName","datastoreVersionName","description","id","name","updatedAt","userDefined"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getTaurusdbMysqlEngineVersionsV3Datastore:getTaurusdbMysqlEngineVersionsV3Datastore":{"properties":{"id":{"type":"string","description":"Indicates the DB version ID.\n"},"name":{"type":"string","description":"Indicates the DB version number.\nOnly the major version number with two digits is returned.\n"}},"type":"object","required":["id","name"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getTaurusdbMysqlErrorLogsV3ErrorLogList:getTaurusdbMysqlErrorLogsV3ErrorLogList":{"properties":{"content":{"type":"string","description":"Indicates the error log content.\n"},"level":{"type":"string","description":"Specifies the log level.\n"},"nodeId":{"type":"string","description":"Specifies the ID of the TaurusDB MySQL instance node.\n"},"time":{"type":"string","description":"Indicates the execution time.\n"}},"type":"object","required":["content","level","nodeId","time"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getTaurusdbMysqlFlavorsV3Flavor:getTaurusdbMysqlFlavorsV3Flavor":{"properties":{"azStatus":{"type":"object","additionalProperties":{"type":"string"},"description":"Indicates the flavor status in each availability zone.\n"},"memory":{"type":"string","description":"Indicates the memory size in GB.\n"},"mode":{"type":"string","description":"Indicates the database mode.\n"},"name":{"type":"string","description":"Indicates the name of the TaurusDB MySQL flavor.\n"},"type":{"type":"string","description":"Indicates the arch type of the flavor.\n"},"vcpus":{"type":"string","description":"Indicates the CPU size.\n"},"version":{"type":"string","description":"Specifies the database version. Only **8.0** is supported now.\n"}},"type":"object","required":["azStatus","memory","mode","name","type","vcpus","version"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getTaurusdbMysqlInstanceV3BackupStrategy:getTaurusdbMysqlInstanceV3BackupStrategy":{"properties":{"keepDays":{"type":"number","description":"Indicates the number of days to retain the generated backup.\n"},"startTime":{"type":"string","description":"Indicates the backup time window.\n"}},"type":"object","required":["keepDays","startTime"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getTaurusdbMysqlInstanceV3Datastore:getTaurusdbMysqlInstanceV3Datastore":{"properties":{"engine":{"type":"string","description":"Indicates the database engine.\n"},"version":{"type":"string","description":"Indicates the database version.\n"}},"type":"object","required":["engine","version"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getTaurusdbMysqlInstanceV3Node:getTaurusdbMysqlInstanceV3Node":{"properties":{"availabilityZone":{"type":"string","description":"Indicates the availability zone where the node resides.\n"},"id":{"type":"string","description":"Indicates the node ID.\n"},"name":{"type":"string","description":"Specifies the name of the instance.\n"},"privateReadIp":{"type":"string","description":"Indicates the private IP address of a node.\n"},"status":{"type":"string","description":"Indicates the node status.\n"},"type":{"type":"string","description":"Indicates the node type: master or slave.\n"}},"type":"object","required":["availabilityZone","id","name","privateReadIp","status","type"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getTaurusdbMysqlProjectQuotasV3Quota:getTaurusdbMysqlProjectQuotasV3Quota":{"properties":{"resources":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FgetTaurusdbMysqlProjectQuotasV3QuotaResource:getTaurusdbMysqlProjectQuotasV3QuotaResource"},"description":"Indicates the resource list objects.\nThe resources structure is documented below.\n"}},"type":"object","required":["resources"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getTaurusdbMysqlProjectQuotasV3QuotaResource:getTaurusdbMysqlProjectQuotasV3QuotaResource":{"properties":{"quota":{"type":"number","description":"Indicates the maximum resource quota.\n"},"type":{"type":"string","description":"Specifies the resource type used to filter quotas. Value options: **instance**.\n"},"used":{"type":"number","description":"Indicates the number of created resources.\n"}},"type":"object","required":["quota","type","used"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getTaurusdbMysqlProxiesV3ProxyList:getTaurusdbMysqlProxiesV3ProxyList":{"properties":{"address":{"type":"string","description":"Indicates the address of the proxy.\n"},"delayThresholdInSeconds":{"type":"number","description":"Indicates the delay threshold in seconds.\n"},"elbVip":{"type":"string","description":"Indicates the virtual IP address in ELB mode.\n"},"flavor":{"type":"string","description":"Indicates the flavor of the proxy.\n"},"id":{"type":"string","description":"Indicates the node ID.\n"},"masterNodeWeights":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FgetTaurusdbMysqlProxiesV3ProxyListMasterNodeWeight:getTaurusdbMysqlProxiesV3ProxyListMasterNodeWeight"},"description":"Indicates the read weight of the master node.\nThe\u003cspan pulumi-lang-nodejs=\" masterNodeWeight \" pulumi-lang-dotnet=\" MasterNodeWeight \" pulumi-lang-go=\" masterNodeWeight \" pulumi-lang-python=\" master_node_weight \" pulumi-lang-yaml=\" masterNodeWeight \" pulumi-lang-java=\" masterNodeWeight \"\u003e master_node_weight \u003c/span\u003estructure is documented below.\n"},"mode":{"type":"string","description":"Indicates the proxy mode.\n"},"name":{"type":"string","description":"Indicates the node name.\n"},"nodeNum":{"type":"number","description":"Indicates the number of proxy nodes.\n"},"nodes":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FgetTaurusdbMysqlProxiesV3ProxyListNode:getTaurusdbMysqlProxiesV3ProxyListNode"},"description":"Indicates the node information of the proxy.\nThe nodes structure is documented below.\n"},"port":{"type":"number","description":"Indicates the proxy port.\n"},"ram":{"type":"string","description":"Indicates the memory size of the proxy.\n"},"readonlyNodesWeights":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FgetTaurusdbMysqlProxiesV3ProxyListReadonlyNodesWeight:getTaurusdbMysqlProxiesV3ProxyListReadonlyNodesWeight"},"description":"Indicates the read weight of the read-only node.\nThe\u003cspan pulumi-lang-nodejs=\" readonlyNodesWeight \" pulumi-lang-dotnet=\" ReadonlyNodesWeight \" pulumi-lang-go=\" readonlyNodesWeight \" pulumi-lang-python=\" readonly_nodes_weight \" pulumi-lang-yaml=\" readonlyNodesWeight \" pulumi-lang-java=\" readonlyNodesWeight \"\u003e readonly_nodes_weight \u003c/span\u003estructure is documented below.\n"},"status":{"type":"string","description":"Indicates the proxy node status.\n"},"transactionSplit":{"type":"string","description":"Indicates whether the proxy transaction splitting is enabled.\n"},"vcpus":{"type":"string","description":"Indicates the number of vCPUs of the proxy.\n"}},"type":"object","required":["address","delayThresholdInSeconds","elbVip","flavor","id","masterNodeWeights","mode","name","nodeNum","nodes","port","ram","readonlyNodesWeights","status","transactionSplit","vcpus"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getTaurusdbMysqlProxiesV3ProxyListMasterNodeWeight:getTaurusdbMysqlProxiesV3ProxyListMasterNodeWeight":{"properties":{"id":{"type":"string","description":"Indicates the node ID.\n"},"name":{"type":"string","description":"Indicates the node name.\n"},"weight":{"type":"number","description":"Indicates the weight assigned to the node.\n"}},"type":"object","required":["id","name","weight"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getTaurusdbMysqlProxiesV3ProxyListNode:getTaurusdbMysqlProxiesV3ProxyListNode":{"properties":{"azCode":{"type":"string","description":"Indicates the proxy node AZ.\n"},"frozenFlag":{"type":"number","description":"Indicates whether the proxy node is frozen.\n"},"id":{"type":"string","description":"Indicates the node ID.\n"},"name":{"type":"string","description":"Indicates the node name.\n"},"role":{"type":"string","description":"Indicates the proxy node role.\n"},"status":{"type":"string","description":"Indicates the proxy node status.\n"}},"type":"object","required":["azCode","frozenFlag","id","name","role","status"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getTaurusdbMysqlProxiesV3ProxyListReadonlyNodesWeight:getTaurusdbMysqlProxiesV3ProxyListReadonlyNodesWeight":{"properties":{"id":{"type":"string","description":"Indicates the node ID.\n"},"name":{"type":"string","description":"Indicates the node name.\n"},"weight":{"type":"number","description":"Indicates the weight assigned to the node.\n"}},"type":"object","required":["id","name","weight"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getTaurusdbMysqlProxyFlavorsV3FlavorGroup:getTaurusdbMysqlProxyFlavorsV3FlavorGroup":{"properties":{"flavors":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FgetTaurusdbMysqlProxyFlavorsV3FlavorGroupFlavor:getTaurusdbMysqlProxyFlavorsV3FlavorGroupFlavor"},"description":"Indicates the list of flavors.\nThe flavors structure is documented below.\n"},"type":{"type":"string","description":"Indicates the group type. The value can be **arm** or **x86**.\n"}},"type":"object","required":["flavors","type"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getTaurusdbMysqlProxyFlavorsV3FlavorGroupFlavor:getTaurusdbMysqlProxyFlavorsV3FlavorGroupFlavor":{"properties":{"azStatus":{"type":"object","additionalProperties":{"type":"string"},"description":"Indicates the key/value pairs of the availability zone status.\n**key** indicates the AZ ID, and **value** indicates the specification status in the AZ.\n"},"dbType":{"type":"string","description":"Indicates the database type.\n"},"id":{"type":"string","description":"Indicates the ID of the proxy flavor.\n"},"ram":{"type":"string","description":"Indicates the memory size in GB.\n"},"specCode":{"type":"string","description":"Indicates the proxy specification code.\n"},"vcpus":{"type":"string","description":"Indicates the number of vCPUs.\n"}},"type":"object","required":["azStatus","dbType","id","ram","specCode","vcpus"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getTaurusdbMysqlSlowLogsV3SlowLogList:getTaurusdbMysqlSlowLogsV3SlowLogList":{"properties":{"clientIp":{"type":"string","description":"Indicates the IP address of the client.\n"},"count":{"type":"string","description":"Indicates the number of executions.\n"},"database":{"type":"string","description":"Indicates the database that slow query logs belong to.\n"},"lockTime":{"type":"string","description":"Indicates the lock wait time.\n"},"nodeId":{"type":"string","description":"Specifies the ID of the TaurusDB MySQL instance node.\n"},"querySample":{"type":"string","description":"Indicates the execution syntax.\n"},"rowsExamined":{"type":"string","description":"Indicates the number of scanned rows.\n"},"rowsSent":{"type":"string","description":"Indicates the number of sent rows.\n"},"startTime":{"type":"string","description":"Indicates the start time in the **yyyy-mm-ddThh:mm:ssZ** format.\n"},"time":{"type":"string","description":"Indicates the execution time.\n"},"type":{"type":"string","description":"Specifies the SQL statement type.\n"},"users":{"type":"string","description":"Indicates the name of the account.\n"}},"type":"object","required":["clientIp","count","database","lockTime","nodeId","querySample","rowsExamined","rowsSent","startTime","time","type","users"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getTmsQuotasV1Quota:getTmsQuotasV1Quota":{"properties":{"quotaKey":{"type":"string","description":"Indicates the quota key.\n"},"quotaLimit":{"type":"number","description":"Indicates the quota value/limit.\n"},"unit":{"type":"string","description":"Indicates the unit.\n"},"used":{"type":"number","description":"Indicates the used quota.\n"}},"type":"object","required":["quotaKey","quotaLimit","unit","used"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getTmsResourceInstancesV1Resource:getTmsResourceInstancesV1Resource":{"properties":{"projectId":{"type":"string","description":"Specifies the Project ID. This parameter is mandatory when\u003cspan pulumi-lang-nodejs=\" resourceType \" pulumi-lang-dotnet=\" ResourceType \" pulumi-lang-go=\" resourceType \" pulumi-lang-python=\" resource_type \" pulumi-lang-yaml=\" resourceType \" pulumi-lang-java=\" resourceType \"\u003e resource_type \u003c/span\u003eis a region-specific service.\n"},"projectName":{"type":"string","description":"Indicates the  project name.\n"},"resourceId":{"type":"string","description":"Indicates the resource ID.\n"},"resourceName":{"type":"string","description":"Indicates the resource name.\n"},"resourceType":{"type":"string","description":"Indicates the resource type.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the list of tags. The structure is documented below.\n"}},"type":"object","required":["projectId","projectName","resourceId","resourceName","resourceType","tags"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getTmsResourceInstancesV1Tag:getTmsResourceInstancesV1Tag":{"properties":{"key":{"type":"string","description":"Specifies the key. It can contain up to 36 characters. The key cannot be empty. Only digits, letters, hyphens (-), at signs (@), and underscores (_) are allowed.\n"},"values":{"type":"array","items":{"type":"string"},"description":"Specifies tag values. Each value contains a maximum of 43 Unicode characters and can be an empty string. Only digits, letters, hyphens (-), at signs (@), and underscores (_) are allowed.\n"}},"type":"object","required":["key","values"]},"opentelekomcloud:index/getTmsResourceTypesV1Type:getTmsResourceTypesV1Type":{"properties":{"displayName":{"type":"string","description":"The service display name of the resource type.\n"},"isGlobal":{"type":"boolean","description":"Whether the resource corresponding to this type is a global resource.\n"},"name":{"type":"string","description":"The resource type name.\n"},"serviceName":{"type":"string","description":"Specifies the service name used to filter resource types information.\n"}},"type":"object","required":["displayName","isGlobal","name","serviceName"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getTmsTagsV1Tag:getTmsTagsV1Tag":{"properties":{"key":{"type":"string","description":"Specifies the tag key. Fuzzy search is supported. Key is case-insensitive.\n"},"value":{"type":"string","description":"Specifies the tag value. Fuzzy search is supported. Value is case-insensitive.\n"}},"type":"object","required":["key","value"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getVbsBackupPolicyV2FilterTag:getVbsBackupPolicyV2FilterTag":{"properties":{"key":{"type":"string","description":"Specifies the tag key. Tag keys must be unique.\n"},"values":{"type":"array","items":{"type":"string"},"description":"Specifies the List of tag values. This list can have a maximum of 10 values and all be unique.\n"}},"type":"object","required":["key","values"]},"opentelekomcloud:index/getVbsBackupPolicyV2Tag:getVbsBackupPolicyV2Tag":{"properties":{"key":{"type":"string","description":"Specifies the tag key. Tag keys must be unique.\n"},"value":{"type":"string","description":"Specifies the tag value.\n"}},"type":"object","required":["key","value"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getVpcPeeringConnectionsV2PeeringConnection:getVpcPeeringConnectionsV2PeeringConnection":{"properties":{"description":{"type":"string","description":"The description of the VPC peering connection.\n"},"id":{"type":"string","description":"The ID of the VPC peering connection.\n"},"name":{"type":"string","description":"The name of the VPC peering connection to filter by.\n"},"peerTenantId":{"type":"string","description":"The tenant ID of the accepter/peer VPC to filter by.\n"},"peerVpcId":{"type":"string","description":"The ID of the accepter/peer VPC to filter by.\n"},"status":{"type":"string","description":"The status of the VPC peering connection to filter by.\n"},"vpcId":{"type":"string","description":"The ID of the requester VPC to filter by.\n"}},"type":"object","required":["description","id","name","peerTenantId","peerVpcId","status","vpcId"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getVpcRouteTableV1Route:getVpcRouteTableV1Route":{"properties":{"description":{"type":"string"},"destination":{"type":"string"},"nexthop":{"type":"string"},"type":{"type":"string"}},"type":"object","required":["description","destination","nexthop","type"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getVpcRouteTablesV1Routetable:getVpcRouteTablesV1Routetable":{"properties":{"default":{"type":"boolean","description":"Whether the route table is default or not.\n"},"description":{"type":"string","description":"Route description.\n"},"id":{"type":"string","description":"Specifies the ID of the route table.\n"},"name":{"type":"string"},"routes":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FgetVpcRouteTablesV1RoutetableRoute:getVpcRouteTablesV1RoutetableRoute"},"description":"List of non-local routes in the route table\n(\u003cspan pulumi-lang-nodejs=\"`local`\" pulumi-lang-dotnet=\"`Local`\" pulumi-lang-go=\"`local`\" pulumi-lang-python=\"`local`\" pulumi-lang-yaml=\"`local`\" pulumi-lang-java=\"`local`\"\u003e`local`\u003c/span\u003e routes are considered system internal and can't be managed via API, though are visible in web UI).\nStructure of the route object is documented below.\n"},"subnets":{"type":"array","items":{"type":"string"},"description":"An array of subnets associating with the route table.\n"},"tenantId":{"type":"string","description":"Project id to which route table belongs.\n"},"vpcId":{"type":"string","description":"Specifies the VPC ID where the route tables reside.\n"}},"type":"object","required":["default","description","id","name","routes","subnets","tenantId","vpcId"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getVpcRouteTablesV1RoutetableRoute:getVpcRouteTablesV1RoutetableRoute":{"properties":{"description":{"type":"string","description":"Route description.\n"},"destination":{"type":"string","description":"The destination address in the CIDR notation format\n"},"nexthop":{"type":"string","description":"The next hop. Value depends on the route type.\n"},"type":{"type":"string","description":"The route type. Check [API reference](https://docs.otc.t-systems.com/virtual-private-cloud/api-ref/apis/route_table/creating_a_route_table.html) for supperted types.\n"}},"type":"object","required":["description","destination","nexthop","type"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getVpcV1Route:getVpcV1Route":{"properties":{"destination":{"type":"string"},"nexthop":{"type":"string"}},"type":"object","required":["destination","nexthop"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getVpcepServiceV1Port:getVpcepServiceV1Port":{"properties":{"clientPort":{"type":"number","description":"(Required) Specifies the port for accessing the VPC endpoint.\n"},"protocol":{"type":"string"},"serverPort":{"type":"number","description":"(Required) Specifies the port for accessing the VPC endpoint service.\n"}},"type":"object","required":["clientPort","protocol","serverPort"],"language":{"nodejs":{"requiredInputs":[]}}},"opentelekomcloud:index/getWafDedicatedReferenceTablesV1Table:getWafDedicatedReferenceTablesV1Table":{"properties":{"conditions":{"type":"array","items":{"type":"string"},"description":"The conditions of the reference table.\n"},"createdAt":{"type":"string","description":"The time when reference table was created.\n"},"description":{"type":"string","description":"The description of the reference table.\n"},"id":{"type":"string","description":"The id of the reference table.\n"},"name":{"type":"string","description":"The name of the reference table. The value is case-sensitive and matches exactly.\n"},"type":{"type":"string","description":"The type of the reference table, The options are: \u003cspan pulumi-lang-nodejs=\"`url`\" pulumi-lang-dotnet=\"`Url`\" pulumi-lang-go=\"`url`\" pulumi-lang-python=\"`url`\" pulumi-lang-yaml=\"`url`\" pulumi-lang-java=\"`url`\"\u003e`url`\u003c/span\u003e, `user-agent`, \u003cspan pulumi-lang-nodejs=\"`ip`\" pulumi-lang-dotnet=\"`Ip`\" pulumi-lang-go=\"`ip`\" pulumi-lang-python=\"`ip`\" pulumi-lang-yaml=\"`ip`\" pulumi-lang-java=\"`ip`\"\u003e`ip`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`params`\" pulumi-lang-dotnet=\"`Params`\" pulumi-lang-go=\"`params`\" pulumi-lang-python=\"`params`\" pulumi-lang-yaml=\"`params`\" pulumi-lang-java=\"`params`\"\u003e`params`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`cookie`\" pulumi-lang-dotnet=\"`Cookie`\" pulumi-lang-go=\"`cookie`\" pulumi-lang-python=\"`cookie`\" pulumi-lang-yaml=\"`cookie`\" pulumi-lang-java=\"`cookie`\"\u003e`cookie`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`referer`\" pulumi-lang-dotnet=\"`Referer`\" pulumi-lang-go=\"`referer`\" pulumi-lang-python=\"`referer`\" pulumi-lang-yaml=\"`referer`\" pulumi-lang-java=\"`referer`\"\u003e`referer`\u003c/span\u003e\nand \u003cspan pulumi-lang-nodejs=\"`header`\" pulumi-lang-dotnet=\"`Header`\" pulumi-lang-go=\"`header`\" pulumi-lang-python=\"`header`\" pulumi-lang-yaml=\"`header`\" pulumi-lang-java=\"`header`\"\u003e`header`\u003c/span\u003e.\n"}},"type":"object","required":["conditions","createdAt","description","id","name","type"],"language":{"nodejs":{"requiredInputs":[]}}}},"provider":{"description":"The provider type for the opentelekomcloud package. By default, resources use package-wide configuration\nsettings, however an explicit `Provider` instance may be created and passed during resource\nconstruction to achieve fine-grained programmatic control over provider settings. See the\n[documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information.\n","properties":{"accessKey":{"type":"string","description":"The access key for API operations. You can retrieve this\nfrom the 'My Credential' section of the console."},"agencyDomainName":{"type":"string","description":"The name of domain who created the agency (Identity v3)."},"agencyName":{"type":"string","description":"The name of agency"},"authUrl":{"type":"string","description":"The Identity authentication URL."},"cacertFile":{"type":"string","description":"A Custom CA certificate."},"cert":{"type":"string","description":"A client certificate to authenticate with."},"cloud":{"type":"string","description":"An entry in a `clouds.yaml` file to use."},"delegatedProject":{"type":"string","description":"The name of delegated project (Identity v3)."},"domainId":{"type":"string","description":"The ID of the Domain to scope to (Identity v3)."},"domainName":{"type":"string","description":"The name of the Domain to scope to (Identity v3)."},"endpointType":{"type":"string"},"enterpriseProjectId":{"type":"string","description":"enterprise project id"},"key":{"type":"string","description":"A client private key to authenticate with."},"passcode":{"type":"string","description":"One-time MFA passcode"},"password":{"type":"string","description":"Password to login with.","secret":true},"region":{"type":"string","description":"The OpenTelekomCloud region to connect to."},"secretKey":{"type":"string","description":"The secret key for API operations. You can retrieve this\nfrom the 'My Credential' section of the console.","secret":true},"securityToken":{"type":"string","description":"Security token to use for OBS federated authentication.","secret":true},"tenantId":{"type":"string","description":"The ID of the Tenant (Identity v2) or Project (Identity v3)\nto login with."},"tenantName":{"type":"string","description":"The name of the Tenant (Identity v2) or Project (Identity v3)\nto login with."},"token":{"type":"string","description":"Authentication token to use as an alternative to username/password.","secret":true},"userId":{"type":"string","description":"User ID to login with."},"userName":{"type":"string","description":"Username to login with."}},"type":"object","inputProperties":{"accessKey":{"type":"string","description":"The access key for API operations. You can retrieve this\nfrom the 'My Credential' section of the console."},"agencyDomainName":{"type":"string","description":"The name of domain who created the agency (Identity v3)."},"agencyName":{"type":"string","description":"The name of agency"},"allowReauth":{"type":"boolean"},"authUrl":{"type":"string","description":"The Identity authentication URL."},"backoffRetryTimeout":{"type":"number","description":"Timeout in seconds for backoff retry"},"cacertFile":{"type":"string","description":"A Custom CA certificate."},"cert":{"type":"string","description":"A client certificate to authenticate with."},"cloud":{"type":"string","description":"An entry in a `clouds.yaml` file to use."},"delegatedProject":{"type":"string","description":"The name of delegated project (Identity v3)."},"domainId":{"type":"string","description":"The ID of the Domain to scope to (Identity v3)."},"domainName":{"type":"string","description":"The name of the Domain to scope to (Identity v3)."},"endpointType":{"type":"string"},"enterpriseProjectId":{"type":"string","description":"enterprise project id"},"insecure":{"type":"boolean","description":"Trust self-signed certificates."},"key":{"type":"string","description":"A client private key to authenticate with."},"maxBackoffRetries":{"type":"number","description":"How many times HTTP request should be retried when rate limit reached"},"maxRetries":{"type":"number","description":"How many times HTTP connection should be retried until giving up."},"passcode":{"type":"string","description":"One-time MFA passcode"},"password":{"type":"string","description":"Password to login with.","secret":true},"region":{"type":"string","description":"The OpenTelekomCloud region to connect to."},"secretKey":{"type":"string","description":"The secret key for API operations. You can retrieve this\nfrom the 'My Credential' section of the console.","secret":true},"securityToken":{"type":"string","description":"Security token to use for OBS federated authentication.","secret":true},"swauth":{"type":"boolean","description":"Use Swift's authentication system instead of Keystone. Only used for\ninteraction with Swift."},"tenantId":{"type":"string","description":"The ID of the Tenant (Identity v2) or Project (Identity v3)\nto login with."},"tenantName":{"type":"string","description":"The name of the Tenant (Identity v2) or Project (Identity v3)\nto login with."},"token":{"type":"string","description":"Authentication token to use as an alternative to username/password.","secret":true},"userId":{"type":"string","description":"User ID to login with."},"userName":{"type":"string","description":"Username to login with."}},"methods":{"terraformConfig":"pulumi:providers:opentelekomcloud/terraformConfig"}},"resources":{"opentelekomcloud:index/antiddosV1:AntiddosV1":{"description":"Up-to-date reference of API arguments for Anti-DDoS service you can get at\n[documentation portal](https://docs.otc.t-systems.com/anti-ddos/api-ref/api/anti-ddos_apis).\n\nAnti-DDoS monitors the service traffic from the Internet to ECSs, ELB instances, and BMSs to detect attack traffic in real time. It then cleans attack traffic according to user-configured defense policies so that services run as normal.\n\n~\u003e\nAntiDDoS protection for Elastic IP is provided by default and shouldn't be created manually.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst eipId = config.requireObject\u003cany\u003e(\"eipId\");\nconst myantiddos = new opentelekomcloud.AntiddosV1(\"myantiddos\", {\n    floatingIpId: eipId,\n    enableL7: true,\n    trafficPosId: 1,\n    httpRequestPosId: 3,\n    cleaningAccessPosId: 2,\n    appTypeId: 0,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\neip_id = config.require_object(\"eipId\")\nmyantiddos = opentelekomcloud.AntiddosV1(\"myantiddos\",\n    floating_ip_id=eip_id,\n    enable_l7=True,\n    traffic_pos_id=1,\n    http_request_pos_id=3,\n    cleaning_access_pos_id=2,\n    app_type_id=0)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var eipId = config.RequireObject\u003cdynamic\u003e(\"eipId\");\n    var myantiddos = new Opentelekomcloud.AntiddosV1(\"myantiddos\", new()\n    {\n        FloatingIpId = eipId,\n        EnableL7 = true,\n        TrafficPosId = 1,\n        HttpRequestPosId = 3,\n        CleaningAccessPosId = 2,\n        AppTypeId = 0,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\teipId := cfg.RequireObject(\"eipId\")\n\t\t_, err := opentelekomcloud.NewAntiddosV1(ctx, \"myantiddos\", \u0026opentelekomcloud.AntiddosV1Args{\n\t\t\tFloatingIpId:        pulumi.Any(eipId),\n\t\t\tEnableL7:            pulumi.Bool(true),\n\t\t\tTrafficPosId:        pulumi.Float64(1),\n\t\t\tHttpRequestPosId:    pulumi.Float64(3),\n\t\t\tCleaningAccessPosId: pulumi.Float64(2),\n\t\t\tAppTypeId:           pulumi.Float64(0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.AntiddosV1;\nimport com.pulumi.opentelekomcloud.AntiddosV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var eipId = config.get(\"eipId\");\n        var myantiddos = new AntiddosV1(\"myantiddos\", AntiddosV1Args.builder()\n            .floatingIpId(eipId)\n            .enableL7(true)\n            .trafficPosId(1.0)\n            .httpRequestPosId(3.0)\n            .cleaningAccessPosId(2.0)\n            .appTypeId(0.0)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  eipId:\n    type: dynamic\nresources:\n  myantiddos:\n    type: opentelekomcloud:AntiddosV1\n    properties:\n      floatingIpId: ${eipId}\n      enableL7: true\n      trafficPosId: 1\n      httpRequestPosId: 3\n      cleaningAccessPosId: 2\n      appTypeId: 0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAntiddos can be imported using the floating_ip_id, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/antiddosV1:AntiddosV1 myantiddos c1881895-cdcb-4d23-96cb-032e6a3ee667\n```\n\n","properties":{"antiddosV1Id":{"type":"string"},"appTypeId":{"type":"number","description":"The application type ID.\n"},"cleaningAccessPosId":{"type":"number","description":"The position ID of access limit during cleaning. The value ranges from 1 to 8.\n"},"enableL7":{"type":"boolean","description":"Specifies whether to enable L7 defense.\n"},"floatingIpId":{"type":"string","description":"The ID corresponding to the Elastic IP Address (EIP) of a user.\n"},"httpRequestPosId":{"type":"number","description":"The position ID of number of HTTP requests. The value ranges from 1 to 15.\n"},"region":{"type":"string"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FAntiddosV1Timeouts:AntiddosV1Timeouts"},"trafficPosId":{"type":"number","description":"The position ID of traffic. The value ranges from 1 to 9.\n"}},"type":"object","required":["antiddosV1Id","appTypeId","cleaningAccessPosId","enableL7","floatingIpId","httpRequestPosId","region","trafficPosId"],"inputProperties":{"antiddosV1Id":{"type":"string"},"appTypeId":{"type":"number","description":"The application type ID.\n"},"cleaningAccessPosId":{"type":"number","description":"The position ID of access limit during cleaning. The value ranges from 1 to 8.\n"},"enableL7":{"type":"boolean","description":"Specifies whether to enable L7 defense.\n"},"floatingIpId":{"type":"string","description":"The ID corresponding to the Elastic IP Address (EIP) of a user.\n"},"httpRequestPosId":{"type":"number","description":"The position ID of number of HTTP requests. The value ranges from 1 to 15.\n"},"region":{"type":"string"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FAntiddosV1Timeouts:AntiddosV1Timeouts"},"trafficPosId":{"type":"number","description":"The position ID of traffic. The value ranges from 1 to 9.\n"}},"requiredInputs":["appTypeId","cleaningAccessPosId","enableL7","floatingIpId","httpRequestPosId","trafficPosId"],"stateInputs":{"description":"Input properties used for looking up and filtering AntiddosV1 resources.\n","properties":{"antiddosV1Id":{"type":"string"},"appTypeId":{"type":"number","description":"The application type ID.\n"},"cleaningAccessPosId":{"type":"number","description":"The position ID of access limit during cleaning. The value ranges from 1 to 8.\n"},"enableL7":{"type":"boolean","description":"Specifies whether to enable L7 defense.\n"},"floatingIpId":{"type":"string","description":"The ID corresponding to the Elastic IP Address (EIP) of a user.\n"},"httpRequestPosId":{"type":"number","description":"The position ID of number of HTTP requests. The value ranges from 1 to 15.\n"},"region":{"type":"string"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FAntiddosV1Timeouts:AntiddosV1Timeouts"},"trafficPosId":{"type":"number","description":"The position ID of traffic. The value ranges from 1 to 9.\n"}},"type":"object"}},"opentelekomcloud:index/apigwAclPolicyAssociateV2:ApigwAclPolicyAssociateV2":{"description":"Up-to-date reference of API arguments for API Gateway Acl associate service you can get at\n[documentation portal](https://docs.otc.t-systems.com/api-gateway/api-ref/dedicated_gateway_apis_v2/binding_unbinding_access_control_policies/index.html)\n\nUse this resource to bind the APIs to the ACL policy within OpenTelekomCloud.\n\n\u003e An ACL policy can only create one \u003cspan pulumi-lang-nodejs=\"`opentelekomcloud.ApigwAclPolicyAssociateV2`\" pulumi-lang-dotnet=\"`opentelekomcloud.ApigwAclPolicyAssociateV2`\" pulumi-lang-go=\"`ApigwAclPolicyAssociateV2`\" pulumi-lang-python=\"`ApigwAclPolicyAssociateV2`\" pulumi-lang-yaml=\"`opentelekomcloud.ApigwAclPolicyAssociateV2`\" pulumi-lang-java=\"`opentelekomcloud.ApigwAclPolicyAssociateV2`\"\u003e`opentelekomcloud.ApigwAclPolicyAssociateV2`\u003c/span\u003e resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst gatewayId = config.requireObject\u003cany\u003e(\"gatewayId\");\nconst policyId = config.requireObject\u003cany\u003e(\"policyId\");\nconst apiPublishIds = config.requireObject\u003cArray\u003cstring\u003e\u003e(\"apiPublishIds\");\nconst test = new opentelekomcloud.ApigwAclPolicyAssociateV2(\"test\", {\n    gatewayId: gatewayId,\n    policyId: policyId,\n    publishIds: apiPublishIds,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ngateway_id = config.require_object(\"gatewayId\")\npolicy_id = config.require_object(\"policyId\")\napi_publish_ids = config.require_object(\"apiPublishIds\")\ntest = opentelekomcloud.ApigwAclPolicyAssociateV2(\"test\",\n    gateway_id=gateway_id,\n    policy_id=policy_id,\n    publish_ids=api_publish_ids)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var gatewayId = config.RequireObject\u003cdynamic\u003e(\"gatewayId\");\n    var policyId = config.RequireObject\u003cdynamic\u003e(\"policyId\");\n    var apiPublishIds = config.RequireObject\u003cstring[]\u003e(\"apiPublishIds\");\n    var test = new Opentelekomcloud.ApigwAclPolicyAssociateV2(\"test\", new()\n    {\n        GatewayId = gatewayId,\n        PolicyId = policyId,\n        PublishIds = apiPublishIds,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tgatewayId := cfg.RequireObject(\"gatewayId\")\n\t\tpolicyId := cfg.RequireObject(\"policyId\")\n\t\tapiPublishIds := cfg.Require(\"apiPublishIds\")\n\t\t_, err := opentelekomcloud.NewApigwAclPolicyAssociateV2(ctx, \"test\", \u0026opentelekomcloud.ApigwAclPolicyAssociateV2Args{\n\t\t\tGatewayId:  pulumi.Any(gatewayId),\n\t\t\tPolicyId:   pulumi.Any(policyId),\n\t\t\tPublishIds: apiPublishIds,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ApigwAclPolicyAssociateV2;\nimport com.pulumi.opentelekomcloud.ApigwAclPolicyAssociateV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var gatewayId = config.get(\"gatewayId\");\n        final var policyId = config.get(\"policyId\");\n        final var apiPublishIds = config.get(\"apiPublishIds\");\n        var test = new ApigwAclPolicyAssociateV2(\"test\", ApigwAclPolicyAssociateV2Args.builder()\n            .gatewayId(gatewayId)\n            .policyId(policyId)\n            .publishIds(apiPublishIds)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  gatewayId:\n    type: dynamic\n  policyId:\n    type: dynamic\n  apiPublishIds:\n    type: list(string)\nresources:\n  test:\n    type: opentelekomcloud:ApigwAclPolicyAssociateV2\n    properties:\n      gatewayId: ${gatewayId}\n      policyId: ${policyId}\n      publishIds: ${apiPublishIds}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAssociate resources can be imported using their `policy_id` and the APIG gateway instance ID to which the policy\n\nbelongs, separated by a slash, e.g.\n\nbash\n\n```sh\n$ pulumi import opentelekomcloud:index/apigwAclPolicyAssociateV2:ApigwAclPolicyAssociateV2 test \u003cgateway_id\u003e/\u003cpolicy_id\u003e\n```\n\n","properties":{"apigwAclPolicyAssociateV2Id":{"type":"string","description":"Resource ID. The format is `\u003cgateway_id\u003e/\u003cpolicy_id\u003e`.\n"},"gatewayId":{"type":"string","description":"Specifies the ID of the dedicated gateway instance to which the APIs and the\nACL policy belong. Changing this will create a new resource.\n"},"policyId":{"type":"string","description":"Specifies the ACL Policy ID for APIs binding.\nChanging this will create a new resource.\n"},"publishIds":{"type":"array","items":{"type":"string"},"description":"Specifies the publishing IDs corresponding to the APIs bound by the ACL policy.\n"},"region":{"type":"string","description":"Specifies the region where the dedicated instance and the throttling policy are located.\n"}},"type":"object","required":["apigwAclPolicyAssociateV2Id","gatewayId","policyId","publishIds","region"],"inputProperties":{"apigwAclPolicyAssociateV2Id":{"type":"string","description":"Resource ID. The format is `\u003cgateway_id\u003e/\u003cpolicy_id\u003e`.\n"},"gatewayId":{"type":"string","description":"Specifies the ID of the dedicated gateway instance to which the APIs and the\nACL policy belong. Changing this will create a new resource.\n"},"policyId":{"type":"string","description":"Specifies the ACL Policy ID for APIs binding.\nChanging this will create a new resource.\n"},"publishIds":{"type":"array","items":{"type":"string"},"description":"Specifies the publishing IDs corresponding to the APIs bound by the ACL policy.\n"}},"requiredInputs":["gatewayId","policyId","publishIds"],"stateInputs":{"description":"Input properties used for looking up and filtering ApigwAclPolicyAssociateV2 resources.\n","properties":{"apigwAclPolicyAssociateV2Id":{"type":"string","description":"Resource ID. The format is `\u003cgateway_id\u003e/\u003cpolicy_id\u003e`.\n"},"gatewayId":{"type":"string","description":"Specifies the ID of the dedicated gateway instance to which the APIs and the\nACL policy belong. Changing this will create a new resource.\n"},"policyId":{"type":"string","description":"Specifies the ACL Policy ID for APIs binding.\nChanging this will create a new resource.\n"},"publishIds":{"type":"array","items":{"type":"string"},"description":"Specifies the publishing IDs corresponding to the APIs bound by the ACL policy.\n"},"region":{"type":"string","description":"Specifies the region where the dedicated instance and the throttling policy are located.\n"}},"type":"object"}},"opentelekomcloud:index/apigwAclPolicyV2:ApigwAclPolicyV2":{"description":"Up-to-date reference of API arguments for API Gateway Acl service you can get at\n[documentation portal](https://docs.otc.t-systems.com/api-gateway/api-ref/dedicated_gateway_apis_v2/access_control_policy_management/index.html)\n\nManages an APIGW ACL policy resource within OpenTelekomCloud.\n\n## Example Usage\n\n## Import\n\nACL Policies can be imported using their `id` and related dedicated gateway ID, separated by a slash, e.g.\n\nbash\n\n```sh\n$ pulumi import opentelekomcloud:index/apigwAclPolicyV2:ApigwAclPolicyV2 test \u003cgateway_id\u003e/\u003cid\u003e\n```\n\n","properties":{"apigwAclPolicyV2Id":{"type":"string","description":"The ID of the ACL policy.\n"},"entityType":{"type":"string","description":"Specifies the entity type of the ACL policy.\nThe valid values are as follows:\n+ `IP`: This rule is specified to control access to the API for specific IPs.\n+ `DOMAIN`: This rule is specified to control access to the API for specific accounts (specified by domain name).\n+ `DOMAIN_ID`: This rule is specified to control access to the API for specific accounts (specified by domain ID).\nChanging this will create a new resource.\n"},"gatewayId":{"type":"string","description":"Specifies the ID of the dedicated gateway instance to which the ACL\npolicy belongs.\nChanging this will create a new resource.\n"},"name":{"type":"string","description":"Specifies the name of the ACL policy.\nThe valid length is limited from \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e, only English letters, Chinese characters, digits and underscores (_) are\nallowed. The name must start with an letter.\n"},"region":{"type":"string","description":"The region where the ACL policy is located.\n"},"type":{"type":"string","description":"Specifies the type of the ACL policy.\nThe valid values are as follows:\n+ `PERMIT`: Allow specific IPs or accounts to access API.\n+ `DENY`: Forbid specific IPs or accounts to access API.\n"},"updatedAt":{"type":"string","description":"The latest update time of the ACL policy.\n"},"value":{"type":"string","description":"Specifies one or more objects from which the access will be controlled.\nSeparate multiple objects with commas (,).\n"}},"type":"object","required":["apigwAclPolicyV2Id","entityType","gatewayId","name","region","type","updatedAt","value"],"inputProperties":{"apigwAclPolicyV2Id":{"type":"string","description":"The ID of the ACL policy.\n"},"entityType":{"type":"string","description":"Specifies the entity type of the ACL policy.\nThe valid values are as follows:\n+ `IP`: This rule is specified to control access to the API for specific IPs.\n+ `DOMAIN`: This rule is specified to control access to the API for specific accounts (specified by domain name).\n+ `DOMAIN_ID`: This rule is specified to control access to the API for specific accounts (specified by domain ID).\nChanging this will create a new resource.\n"},"gatewayId":{"type":"string","description":"Specifies the ID of the dedicated gateway instance to which the ACL\npolicy belongs.\nChanging this will create a new resource.\n"},"name":{"type":"string","description":"Specifies the name of the ACL policy.\nThe valid length is limited from \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e, only English letters, Chinese characters, digits and underscores (_) are\nallowed. The name must start with an letter.\n"},"type":{"type":"string","description":"Specifies the type of the ACL policy.\nThe valid values are as follows:\n+ `PERMIT`: Allow specific IPs or accounts to access API.\n+ `DENY`: Forbid specific IPs or accounts to access API.\n"},"value":{"type":"string","description":"Specifies one or more objects from which the access will be controlled.\nSeparate multiple objects with commas (,).\n"}},"requiredInputs":["entityType","gatewayId","type","value"],"stateInputs":{"description":"Input properties used for looking up and filtering ApigwAclPolicyV2 resources.\n","properties":{"apigwAclPolicyV2Id":{"type":"string","description":"The ID of the ACL policy.\n"},"entityType":{"type":"string","description":"Specifies the entity type of the ACL policy.\nThe valid values are as follows:\n+ `IP`: This rule is specified to control access to the API for specific IPs.\n+ `DOMAIN`: This rule is specified to control access to the API for specific accounts (specified by domain name).\n+ `DOMAIN_ID`: This rule is specified to control access to the API for specific accounts (specified by domain ID).\nChanging this will create a new resource.\n"},"gatewayId":{"type":"string","description":"Specifies the ID of the dedicated gateway instance to which the ACL\npolicy belongs.\nChanging this will create a new resource.\n"},"name":{"type":"string","description":"Specifies the name of the ACL policy.\nThe valid length is limited from \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e, only English letters, Chinese characters, digits and underscores (_) are\nallowed. The name must start with an letter.\n"},"region":{"type":"string","description":"The region where the ACL policy is located.\n"},"type":{"type":"string","description":"Specifies the type of the ACL policy.\nThe valid values are as follows:\n+ `PERMIT`: Allow specific IPs or accounts to access API.\n+ `DENY`: Forbid specific IPs or accounts to access API.\n"},"updatedAt":{"type":"string","description":"The latest update time of the ACL policy.\n"},"value":{"type":"string","description":"Specifies one or more objects from which the access will be controlled.\nSeparate multiple objects with commas (,).\n"}},"type":"object"}},"opentelekomcloud:index/apigwApiPublishmentV2:ApigwApiPublishmentV2":{"description":"## Example Usage\n\n### Publish a new version of the API\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst gatewayId = config.requireObject\u003cany\u003e(\"gatewayId\");\nconst environmentId = config.requireObject\u003cany\u003e(\"environmentId\");\nconst apiId = config.requireObject\u003cany\u003e(\"apiId\");\nconst _default = new opentelekomcloud.ApigwApiPublishmentV2(\"default\", {\n    gatewayId: gatewayId,\n    environmentId: environmentId,\n    apiId: apiId,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ngateway_id = config.require_object(\"gatewayId\")\nenvironment_id = config.require_object(\"environmentId\")\napi_id = config.require_object(\"apiId\")\ndefault = opentelekomcloud.ApigwApiPublishmentV2(\"default\",\n    gateway_id=gateway_id,\n    environment_id=environment_id,\n    api_id=api_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var gatewayId = config.RequireObject\u003cdynamic\u003e(\"gatewayId\");\n    var environmentId = config.RequireObject\u003cdynamic\u003e(\"environmentId\");\n    var apiId = config.RequireObject\u003cdynamic\u003e(\"apiId\");\n    var @default = new Opentelekomcloud.ApigwApiPublishmentV2(\"default\", new()\n    {\n        GatewayId = gatewayId,\n        EnvironmentId = environmentId,\n        ApiId = apiId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tgatewayId := cfg.RequireObject(\"gatewayId\")\n\t\tenvironmentId := cfg.RequireObject(\"environmentId\")\n\t\tapiId := cfg.RequireObject(\"apiId\")\n\t\t_, err := opentelekomcloud.NewApigwApiPublishmentV2(ctx, \"default\", \u0026opentelekomcloud.ApigwApiPublishmentV2Args{\n\t\t\tGatewayId:     pulumi.Any(gatewayId),\n\t\t\tEnvironmentId: pulumi.Any(environmentId),\n\t\t\tApiId:         pulumi.Any(apiId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ApigwApiPublishmentV2;\nimport com.pulumi.opentelekomcloud.ApigwApiPublishmentV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var gatewayId = config.get(\"gatewayId\");\n        final var environmentId = config.get(\"environmentId\");\n        final var apiId = config.get(\"apiId\");\n        var default_ = new ApigwApiPublishmentV2(\"default\", ApigwApiPublishmentV2Args.builder()\n            .gatewayId(gatewayId)\n            .environmentId(environmentId)\n            .apiId(apiId)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  gatewayId:\n    type: dynamic\n  environmentId:\n    type: dynamic\n  apiId:\n    type: dynamic\nresources:\n  default:\n    type: opentelekomcloud:ApigwApiPublishmentV2\n    properties:\n      gatewayId: ${gatewayId}\n      environmentId: ${environmentId}\n      apiId: ${apiId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Switch to a specified version of the API which is published\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst gatewayId = config.requireObject\u003cany\u003e(\"gatewayId\");\nconst environmentId = config.requireObject\u003cany\u003e(\"environmentId\");\nconst apiId = config.requireObject\u003cany\u003e(\"apiId\");\nconst versionId = config.requireObject\u003cany\u003e(\"versionId\");\nconst _default = new opentelekomcloud.ApigwApiPublishmentV2(\"default\", {\n    gatewayId: gatewayId,\n    environmentId: environmentId,\n    apiId: apiId,\n    versionId: versionId,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ngateway_id = config.require_object(\"gatewayId\")\nenvironment_id = config.require_object(\"environmentId\")\napi_id = config.require_object(\"apiId\")\nversion_id = config.require_object(\"versionId\")\ndefault = opentelekomcloud.ApigwApiPublishmentV2(\"default\",\n    gateway_id=gateway_id,\n    environment_id=environment_id,\n    api_id=api_id,\n    version_id=version_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var gatewayId = config.RequireObject\u003cdynamic\u003e(\"gatewayId\");\n    var environmentId = config.RequireObject\u003cdynamic\u003e(\"environmentId\");\n    var apiId = config.RequireObject\u003cdynamic\u003e(\"apiId\");\n    var versionId = config.RequireObject\u003cdynamic\u003e(\"versionId\");\n    var @default = new Opentelekomcloud.ApigwApiPublishmentV2(\"default\", new()\n    {\n        GatewayId = gatewayId,\n        EnvironmentId = environmentId,\n        ApiId = apiId,\n        VersionId = versionId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tgatewayId := cfg.RequireObject(\"gatewayId\")\n\t\tenvironmentId := cfg.RequireObject(\"environmentId\")\n\t\tapiId := cfg.RequireObject(\"apiId\")\n\t\tversionId := cfg.RequireObject(\"versionId\")\n\t\t_, err := opentelekomcloud.NewApigwApiPublishmentV2(ctx, \"default\", \u0026opentelekomcloud.ApigwApiPublishmentV2Args{\n\t\t\tGatewayId:     pulumi.Any(gatewayId),\n\t\t\tEnvironmentId: pulumi.Any(environmentId),\n\t\t\tApiId:         pulumi.Any(apiId),\n\t\t\tVersionId:     pulumi.Any(versionId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ApigwApiPublishmentV2;\nimport com.pulumi.opentelekomcloud.ApigwApiPublishmentV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var gatewayId = config.get(\"gatewayId\");\n        final var environmentId = config.get(\"environmentId\");\n        final var apiId = config.get(\"apiId\");\n        final var versionId = config.get(\"versionId\");\n        var default_ = new ApigwApiPublishmentV2(\"default\", ApigwApiPublishmentV2Args.builder()\n            .gatewayId(gatewayId)\n            .environmentId(environmentId)\n            .apiId(apiId)\n            .versionId(versionId)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  gatewayId:\n    type: dynamic\n  environmentId:\n    type: dynamic\n  apiId:\n    type: dynamic\n  versionId:\n    type: dynamic\nresources:\n  default:\n    type: opentelekomcloud:ApigwApiPublishmentV2\n    properties:\n      gatewayId: ${gatewayId}\n      environmentId: ${environmentId}\n      apiId: ${apiId}\n      versionId: ${versionId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe publishment can be imported using related `instance_id`, `environment_id` and `api_id`, separated by slashes, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/apigwApiPublishmentV2:ApigwApiPublishmentV2 pub \u003cinstance_id\u003e/\u003cenvironment_id\u003e/\u003capi_id\u003e\n```\n\n","properties":{"apiId":{"type":"string","description":"Specifies the ID of the API to be published or already published.\nChanging this will create a new resource.\n"},"apiName":{"type":"string"},"apigwApiPublishmentV2Id":{"type":"string","description":"The resource ID, which is constructed from the instance ID, environment ID, and API ID, separated by slashes.\n"},"description":{"type":"string","description":"Specifies the description of the current publish.\n"},"environmentId":{"type":"string","description":"Specifies the ID of the environment to which the current version of the API\nwill be published or has been published.\nChanging this will create a new resource.\n"},"environmentName":{"type":"string","description":"The name of the environment to which the current version of the API is published.\n"},"gatewayId":{"type":"string"},"histories":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FApigwApiPublishmentV2History:ApigwApiPublishmentV2History"},"description":"All publish history of the API.\nThe object structure is documented below.\n"},"publishId":{"type":"string","description":"The publishing ID of the API in current environment.\n"},"publishedAt":{"type":"string","description":"Time when the current version was published.\n"},"region":{"type":"string","description":"The region in which to APIs was published.\n"},"versionId":{"type":"string","description":"Specifies the version ID of the current publish.\n"}},"type":"object","required":["apiId","apiName","apigwApiPublishmentV2Id","environmentId","environmentName","gatewayId","histories","publishId","publishedAt","region"],"inputProperties":{"apiId":{"type":"string","description":"Specifies the ID of the API to be published or already published.\nChanging this will create a new resource.\n"},"apigwApiPublishmentV2Id":{"type":"string","description":"The resource ID, which is constructed from the instance ID, environment ID, and API ID, separated by slashes.\n"},"description":{"type":"string","description":"Specifies the description of the current publish.\n"},"environmentId":{"type":"string","description":"Specifies the ID of the environment to which the current version of the API\nwill be published or has been published.\nChanging this will create a new resource.\n"},"gatewayId":{"type":"string"},"versionId":{"type":"string","description":"Specifies the version ID of the current publish.\n"}},"requiredInputs":["apiId","environmentId","gatewayId"],"stateInputs":{"description":"Input properties used for looking up and filtering ApigwApiPublishmentV2 resources.\n","properties":{"apiId":{"type":"string","description":"Specifies the ID of the API to be published or already published.\nChanging this will create a new resource.\n"},"apiName":{"type":"string"},"apigwApiPublishmentV2Id":{"type":"string","description":"The resource ID, which is constructed from the instance ID, environment ID, and API ID, separated by slashes.\n"},"description":{"type":"string","description":"Specifies the description of the current publish.\n"},"environmentId":{"type":"string","description":"Specifies the ID of the environment to which the current version of the API\nwill be published or has been published.\nChanging this will create a new resource.\n"},"environmentName":{"type":"string","description":"The name of the environment to which the current version of the API is published.\n"},"gatewayId":{"type":"string"},"histories":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FApigwApiPublishmentV2History:ApigwApiPublishmentV2History"},"description":"All publish history of the API.\nThe object structure is documented below.\n"},"publishId":{"type":"string","description":"The publishing ID of the API in current environment.\n"},"publishedAt":{"type":"string","description":"Time when the current version was published.\n"},"region":{"type":"string","description":"The region in which to APIs was published.\n"},"versionId":{"type":"string","description":"Specifies the version ID of the current publish.\n"}},"type":"object"}},"opentelekomcloud:index/apigwApiV2:ApigwApiV2":{"description":"Up-to-date reference of API arguments for API Gateway API service you can get at\n[documentation portal](https://docs.otc.t-systems.com/api-gateway/api-ref/dedicated_gateway_apis_v2/api_management/index.html)\n\nProvides an API gateway API resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst vpcId = config.requireObject\u003cany\u003e(\"vpcId\");\nconst subnetId = config.requireObject\u003cany\u003e(\"subnetId\");\nconst secgroupId = config.requireObject\u003cany\u003e(\"secgroupId\");\nconst gateway = new opentelekomcloud.ApigwGatewayV2(\"gateway\", {\n    name: \"my_gw\",\n    specId: \"BASIC\",\n    vpcId: vpcId,\n    subnetId: subnetId,\n    securityGroupId: secgroupId,\n    availabilityZones: [\n        \"eu-de-01\",\n        \"eu-de-02\",\n    ],\n    description: \"test gateway 2\",\n    ingressBandwidthSize: 5,\n    ingressBandwidthChargingMode: \"bandwidth\",\n    maintainBegin: \"02:00:00\",\n});\nconst env = new opentelekomcloud.ApigwEnvironmentV2(\"env\", {\n    name: \"my_env\",\n    instanceId: gateway.apigwGatewayV2Id,\n    description: \"test description\",\n});\nconst group = new opentelekomcloud.ApigwGroupV2(\"group\", {\n    name: \"my_group\",\n    instanceId: gateway.apigwGatewayV2Id,\n    description: \"test description\",\n    environments: [{\n        variables: [{\n            name: \"test-name\",\n            value: \"test-value\",\n        }],\n        environmentId: env.apigwEnvironmentV2Id,\n    }],\n});\nconst api = new opentelekomcloud.ApigwApiV2(\"api\", {\n    gatewayId: gateway.apigwGatewayV2Id,\n    groupId: group.apigwGroupV2Id,\n    name: \"my_api\",\n    type: \"Public\",\n    requestProtocol: \"HTTP\",\n    requestMethod: \"GET\",\n    requestUri: \"/user_info/{user_age}\",\n    securityAuthenticationType: \"APP\",\n    matchMode: \"EXACT\",\n    successResponse: \"Success response\",\n    failureResponse: \"Failed response\",\n    description: \"Created by script\",\n    requestParams: [\n        {\n            name: \"user_age\",\n            type: \"NUMBER\",\n            location: \"PATH\",\n            required: true,\n            maximum: 200,\n            minimum: 0,\n        },\n        {\n            name: \"X-TEST-ENUM\",\n            type: \"STRING\",\n            location: \"HEADER\",\n            maximum: 20,\n            minimum: 10,\n            sample: \"ACC_TEST_XXX\",\n            passthrough: true,\n            enumeration: \"ACC_TEST_A,ACC_TEST_B\",\n        },\n    ],\n    backendParams: [{\n        type: \"REQUEST\",\n        name: \"userAge\",\n        location: \"PATH\",\n        value: \"user_age\",\n    }],\n    http: {\n        urlDomain: \"opentelekomcloud.my.com\",\n        requestUri: \"/getUserAge/{userAge}\",\n        requestMethod: \"GET\",\n        requestProtocol: \"HTTP\",\n        timeout: 30000,\n        retryCount: 1,\n    },\n    httpPolicies: [{\n        urlDomain: \"opentelekomcloud.my.com\",\n        name: \"my_policy1\",\n        requestProtocol: \"HTTP\",\n        requestMethod: \"GET\",\n        effectiveMode: \"ANY\",\n        requestUri: \"/getUserAge/{userAge}\",\n        timeout: 30000,\n        retryCount: 1,\n        backendParams: [\n            {\n                type: \"REQUEST\",\n                name: \"userAge\",\n                location: \"PATH\",\n                value: \"user_age\",\n            },\n            {\n                type: \"SYSTEM\",\n                name: \"%[2]s\",\n                location: \"HEADER\",\n                value: \"serverName\",\n                systemParamType: \"internal\",\n            },\n        ],\n        conditions: [{\n            origin: \"param\",\n            paramName: \"user_age\",\n            type: \"EXACT\",\n            value: \"28\",\n        }],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nvpc_id = config.require_object(\"vpcId\")\nsubnet_id = config.require_object(\"subnetId\")\nsecgroup_id = config.require_object(\"secgroupId\")\ngateway = opentelekomcloud.ApigwGatewayV2(\"gateway\",\n    name=\"my_gw\",\n    spec_id=\"BASIC\",\n    vpc_id=vpc_id,\n    subnet_id=subnet_id,\n    security_group_id=secgroup_id,\n    availability_zones=[\n        \"eu-de-01\",\n        \"eu-de-02\",\n    ],\n    description=\"test gateway 2\",\n    ingress_bandwidth_size=5,\n    ingress_bandwidth_charging_mode=\"bandwidth\",\n    maintain_begin=\"02:00:00\")\nenv = opentelekomcloud.ApigwEnvironmentV2(\"env\",\n    name=\"my_env\",\n    instance_id=gateway.apigw_gateway_v2_id,\n    description=\"test description\")\ngroup = opentelekomcloud.ApigwGroupV2(\"group\",\n    name=\"my_group\",\n    instance_id=gateway.apigw_gateway_v2_id,\n    description=\"test description\",\n    environments=[{\n        \"variables\": [{\n            \"name\": \"test-name\",\n            \"value\": \"test-value\",\n        }],\n        \"environment_id\": env.apigw_environment_v2_id,\n    }])\napi = opentelekomcloud.ApigwApiV2(\"api\",\n    gateway_id=gateway.apigw_gateway_v2_id,\n    group_id=group.apigw_group_v2_id,\n    name=\"my_api\",\n    type=\"Public\",\n    request_protocol=\"HTTP\",\n    request_method=\"GET\",\n    request_uri=\"/user_info/{user_age}\",\n    security_authentication_type=\"APP\",\n    match_mode=\"EXACT\",\n    success_response=\"Success response\",\n    failure_response=\"Failed response\",\n    description=\"Created by script\",\n    request_params=[\n        {\n            \"name\": \"user_age\",\n            \"type\": \"NUMBER\",\n            \"location\": \"PATH\",\n            \"required\": True,\n            \"maximum\": 200,\n            \"minimum\": 0,\n        },\n        {\n            \"name\": \"X-TEST-ENUM\",\n            \"type\": \"STRING\",\n            \"location\": \"HEADER\",\n            \"maximum\": 20,\n            \"minimum\": 10,\n            \"sample\": \"ACC_TEST_XXX\",\n            \"passthrough\": True,\n            \"enumeration\": \"ACC_TEST_A,ACC_TEST_B\",\n        },\n    ],\n    backend_params=[{\n        \"type\": \"REQUEST\",\n        \"name\": \"userAge\",\n        \"location\": \"PATH\",\n        \"value\": \"user_age\",\n    }],\n    http={\n        \"url_domain\": \"opentelekomcloud.my.com\",\n        \"request_uri\": \"/getUserAge/{userAge}\",\n        \"request_method\": \"GET\",\n        \"request_protocol\": \"HTTP\",\n        \"timeout\": 30000,\n        \"retry_count\": 1,\n    },\n    http_policies=[{\n        \"url_domain\": \"opentelekomcloud.my.com\",\n        \"name\": \"my_policy1\",\n        \"request_protocol\": \"HTTP\",\n        \"request_method\": \"GET\",\n        \"effective_mode\": \"ANY\",\n        \"request_uri\": \"/getUserAge/{userAge}\",\n        \"timeout\": 30000,\n        \"retry_count\": 1,\n        \"backend_params\": [\n            {\n                \"type\": \"REQUEST\",\n                \"name\": \"userAge\",\n                \"location\": \"PATH\",\n                \"value\": \"user_age\",\n            },\n            {\n                \"type\": \"SYSTEM\",\n                \"name\": \"%[2]s\",\n                \"location\": \"HEADER\",\n                \"value\": \"serverName\",\n                \"system_param_type\": \"internal\",\n            },\n        ],\n        \"conditions\": [{\n            \"origin\": \"param\",\n            \"param_name\": \"user_age\",\n            \"type\": \"EXACT\",\n            \"value\": \"28\",\n        }],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var vpcId = config.RequireObject\u003cdynamic\u003e(\"vpcId\");\n    var subnetId = config.RequireObject\u003cdynamic\u003e(\"subnetId\");\n    var secgroupId = config.RequireObject\u003cdynamic\u003e(\"secgroupId\");\n    var gateway = new Opentelekomcloud.ApigwGatewayV2(\"gateway\", new()\n    {\n        Name = \"my_gw\",\n        SpecId = \"BASIC\",\n        VpcId = vpcId,\n        SubnetId = subnetId,\n        SecurityGroupId = secgroupId,\n        AvailabilityZones = new[]\n        {\n            \"eu-de-01\",\n            \"eu-de-02\",\n        },\n        Description = \"test gateway 2\",\n        IngressBandwidthSize = 5,\n        IngressBandwidthChargingMode = \"bandwidth\",\n        MaintainBegin = \"02:00:00\",\n    });\n\n    var env = new Opentelekomcloud.ApigwEnvironmentV2(\"env\", new()\n    {\n        Name = \"my_env\",\n        InstanceId = gateway.ApigwGatewayV2Id,\n        Description = \"test description\",\n    });\n\n    var @group = new Opentelekomcloud.ApigwGroupV2(\"group\", new()\n    {\n        Name = \"my_group\",\n        InstanceId = gateway.ApigwGatewayV2Id,\n        Description = \"test description\",\n        Environments = new[]\n        {\n            new Opentelekomcloud.Inputs.ApigwGroupV2EnvironmentArgs\n            {\n                Variables = new[]\n                {\n                    new Opentelekomcloud.Inputs.ApigwGroupV2EnvironmentVariableArgs\n                    {\n                        Name = \"test-name\",\n                        Value = \"test-value\",\n                    },\n                },\n                EnvironmentId = env.ApigwEnvironmentV2Id,\n            },\n        },\n    });\n\n    var api = new Opentelekomcloud.ApigwApiV2(\"api\", new()\n    {\n        GatewayId = gateway.ApigwGatewayV2Id,\n        GroupId = @group.ApigwGroupV2Id,\n        Name = \"my_api\",\n        Type = \"Public\",\n        RequestProtocol = \"HTTP\",\n        RequestMethod = \"GET\",\n        RequestUri = \"/user_info/{user_age}\",\n        SecurityAuthenticationType = \"APP\",\n        MatchMode = \"EXACT\",\n        SuccessResponse = \"Success response\",\n        FailureResponse = \"Failed response\",\n        Description = \"Created by script\",\n        RequestParams = new[]\n        {\n            new Opentelekomcloud.Inputs.ApigwApiV2RequestParamArgs\n            {\n                Name = \"user_age\",\n                Type = \"NUMBER\",\n                Location = \"PATH\",\n                Required = true,\n                Maximum = 200,\n                Minimum = 0,\n            },\n            new Opentelekomcloud.Inputs.ApigwApiV2RequestParamArgs\n            {\n                Name = \"X-TEST-ENUM\",\n                Type = \"STRING\",\n                Location = \"HEADER\",\n                Maximum = 20,\n                Minimum = 10,\n                Sample = \"ACC_TEST_XXX\",\n                Passthrough = true,\n                Enumeration = \"ACC_TEST_A,ACC_TEST_B\",\n            },\n        },\n        BackendParams = new[]\n        {\n            new Opentelekomcloud.Inputs.ApigwApiV2BackendParamArgs\n            {\n                Type = \"REQUEST\",\n                Name = \"userAge\",\n                Location = \"PATH\",\n                Value = \"user_age\",\n            },\n        },\n        Http = new Opentelekomcloud.Inputs.ApigwApiV2HttpArgs\n        {\n            UrlDomain = \"opentelekomcloud.my.com\",\n            RequestUri = \"/getUserAge/{userAge}\",\n            RequestMethod = \"GET\",\n            RequestProtocol = \"HTTP\",\n            Timeout = 30000,\n            RetryCount = 1,\n        },\n        HttpPolicies = new[]\n        {\n            new Opentelekomcloud.Inputs.ApigwApiV2HttpPolicyArgs\n            {\n                UrlDomain = \"opentelekomcloud.my.com\",\n                Name = \"my_policy1\",\n                RequestProtocol = \"HTTP\",\n                RequestMethod = \"GET\",\n                EffectiveMode = \"ANY\",\n                RequestUri = \"/getUserAge/{userAge}\",\n                Timeout = 30000,\n                RetryCount = 1,\n                BackendParams = new[]\n                {\n                    new Opentelekomcloud.Inputs.ApigwApiV2HttpPolicyBackendParamArgs\n                    {\n                        Type = \"REQUEST\",\n                        Name = \"userAge\",\n                        Location = \"PATH\",\n                        Value = \"user_age\",\n                    },\n                    new Opentelekomcloud.Inputs.ApigwApiV2HttpPolicyBackendParamArgs\n                    {\n                        Type = \"SYSTEM\",\n                        Name = \"%[2]s\",\n                        Location = \"HEADER\",\n                        Value = \"serverName\",\n                        SystemParamType = \"internal\",\n                    },\n                },\n                Conditions = new[]\n                {\n                    new Opentelekomcloud.Inputs.ApigwApiV2HttpPolicyConditionArgs\n                    {\n                        Origin = \"param\",\n                        ParamName = \"user_age\",\n                        Type = \"EXACT\",\n                        Value = \"28\",\n                    },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tvpcId := cfg.RequireObject(\"vpcId\")\n\t\tsubnetId := cfg.RequireObject(\"subnetId\")\n\t\tsecgroupId := cfg.RequireObject(\"secgroupId\")\n\t\tgateway, err := opentelekomcloud.NewApigwGatewayV2(ctx, \"gateway\", \u0026opentelekomcloud.ApigwGatewayV2Args{\n\t\t\tName:            pulumi.String(\"my_gw\"),\n\t\t\tSpecId:          pulumi.String(\"BASIC\"),\n\t\t\tVpcId:           pulumi.Any(vpcId),\n\t\t\tSubnetId:        pulumi.Any(subnetId),\n\t\t\tSecurityGroupId: pulumi.Any(secgroupId),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"eu-de-01\"),\n\t\t\t\tpulumi.String(\"eu-de-02\"),\n\t\t\t},\n\t\t\tDescription:                  pulumi.String(\"test gateway 2\"),\n\t\t\tIngressBandwidthSize:         pulumi.Float64(5),\n\t\t\tIngressBandwidthChargingMode: pulumi.String(\"bandwidth\"),\n\t\t\tMaintainBegin:                pulumi.String(\"02:00:00\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tenv, err := opentelekomcloud.NewApigwEnvironmentV2(ctx, \"env\", \u0026opentelekomcloud.ApigwEnvironmentV2Args{\n\t\t\tName:        pulumi.String(\"my_env\"),\n\t\t\tInstanceId:  gateway.ApigwGatewayV2Id,\n\t\t\tDescription: pulumi.String(\"test description\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tgroup, err := opentelekomcloud.NewApigwGroupV2(ctx, \"group\", \u0026opentelekomcloud.ApigwGroupV2Args{\n\t\t\tName:        pulumi.String(\"my_group\"),\n\t\t\tInstanceId:  gateway.ApigwGatewayV2Id,\n\t\t\tDescription: pulumi.String(\"test description\"),\n\t\t\tEnvironments: opentelekomcloud.ApigwGroupV2EnvironmentArray{\n\t\t\t\t\u0026opentelekomcloud.ApigwGroupV2EnvironmentArgs{\n\t\t\t\t\tVariables: opentelekomcloud.ApigwGroupV2EnvironmentVariableArray{\n\t\t\t\t\t\t\u0026opentelekomcloud.ApigwGroupV2EnvironmentVariableArgs{\n\t\t\t\t\t\t\tName:  pulumi.String(\"test-name\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"test-value\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tEnvironmentId: env.ApigwEnvironmentV2Id,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewApigwApiV2(ctx, \"api\", \u0026opentelekomcloud.ApigwApiV2Args{\n\t\t\tGatewayId:                  gateway.ApigwGatewayV2Id,\n\t\t\tGroupId:                    group.ApigwGroupV2Id,\n\t\t\tName:                       pulumi.String(\"my_api\"),\n\t\t\tType:                       pulumi.String(\"Public\"),\n\t\t\tRequestProtocol:            pulumi.String(\"HTTP\"),\n\t\t\tRequestMethod:              pulumi.String(\"GET\"),\n\t\t\tRequestUri:                 pulumi.String(\"/user_info/{user_age}\"),\n\t\t\tSecurityAuthenticationType: pulumi.String(\"APP\"),\n\t\t\tMatchMode:                  pulumi.String(\"EXACT\"),\n\t\t\tSuccessResponse:            pulumi.String(\"Success response\"),\n\t\t\tFailureResponse:            pulumi.String(\"Failed response\"),\n\t\t\tDescription:                pulumi.String(\"Created by script\"),\n\t\t\tRequestParams: opentelekomcloud.ApigwApiV2RequestParamArray{\n\t\t\t\t\u0026opentelekomcloud.ApigwApiV2RequestParamArgs{\n\t\t\t\t\tName:     pulumi.String(\"user_age\"),\n\t\t\t\t\tType:     pulumi.String(\"NUMBER\"),\n\t\t\t\t\tLocation: pulumi.String(\"PATH\"),\n\t\t\t\t\tRequired: pulumi.Bool(true),\n\t\t\t\t\tMaximum:  pulumi.Float64(200),\n\t\t\t\t\tMinimum:  pulumi.Float64(0),\n\t\t\t\t},\n\t\t\t\t\u0026opentelekomcloud.ApigwApiV2RequestParamArgs{\n\t\t\t\t\tName:        pulumi.String(\"X-TEST-ENUM\"),\n\t\t\t\t\tType:        pulumi.String(\"STRING\"),\n\t\t\t\t\tLocation:    pulumi.String(\"HEADER\"),\n\t\t\t\t\tMaximum:     pulumi.Float64(20),\n\t\t\t\t\tMinimum:     pulumi.Float64(10),\n\t\t\t\t\tSample:      pulumi.String(\"ACC_TEST_XXX\"),\n\t\t\t\t\tPassthrough: pulumi.Bool(true),\n\t\t\t\t\tEnumeration: pulumi.String(\"ACC_TEST_A,ACC_TEST_B\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tBackendParams: opentelekomcloud.ApigwApiV2BackendParamArray{\n\t\t\t\t\u0026opentelekomcloud.ApigwApiV2BackendParamArgs{\n\t\t\t\t\tType:     pulumi.String(\"REQUEST\"),\n\t\t\t\t\tName:     pulumi.String(\"userAge\"),\n\t\t\t\t\tLocation: pulumi.String(\"PATH\"),\n\t\t\t\t\tValue:    pulumi.String(\"user_age\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tHttp: \u0026opentelekomcloud.ApigwApiV2HttpArgs{\n\t\t\t\tUrlDomain:       pulumi.String(\"opentelekomcloud.my.com\"),\n\t\t\t\tRequestUri:      pulumi.String(\"/getUserAge/{userAge}\"),\n\t\t\t\tRequestMethod:   pulumi.String(\"GET\"),\n\t\t\t\tRequestProtocol: pulumi.String(\"HTTP\"),\n\t\t\t\tTimeout:         pulumi.Float64(30000),\n\t\t\t\tRetryCount:      pulumi.Float64(1),\n\t\t\t},\n\t\t\tHttpPolicies: opentelekomcloud.ApigwApiV2HttpPolicyArray{\n\t\t\t\t\u0026opentelekomcloud.ApigwApiV2HttpPolicyArgs{\n\t\t\t\t\tUrlDomain:       pulumi.String(\"opentelekomcloud.my.com\"),\n\t\t\t\t\tName:            pulumi.String(\"my_policy1\"),\n\t\t\t\t\tRequestProtocol: pulumi.String(\"HTTP\"),\n\t\t\t\t\tRequestMethod:   pulumi.String(\"GET\"),\n\t\t\t\t\tEffectiveMode:   pulumi.String(\"ANY\"),\n\t\t\t\t\tRequestUri:      pulumi.String(\"/getUserAge/{userAge}\"),\n\t\t\t\t\tTimeout:         pulumi.Float64(30000),\n\t\t\t\t\tRetryCount:      pulumi.Float64(1),\n\t\t\t\t\tBackendParams: opentelekomcloud.ApigwApiV2HttpPolicyBackendParamArray{\n\t\t\t\t\t\t\u0026opentelekomcloud.ApigwApiV2HttpPolicyBackendParamArgs{\n\t\t\t\t\t\t\tType:     pulumi.String(\"REQUEST\"),\n\t\t\t\t\t\t\tName:     pulumi.String(\"userAge\"),\n\t\t\t\t\t\t\tLocation: pulumi.String(\"PATH\"),\n\t\t\t\t\t\t\tValue:    pulumi.String(\"user_age\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026opentelekomcloud.ApigwApiV2HttpPolicyBackendParamArgs{\n\t\t\t\t\t\t\tType:            pulumi.String(\"SYSTEM\"),\n\t\t\t\t\t\t\tName:            pulumi.String(\"%[2]s\"),\n\t\t\t\t\t\t\tLocation:        pulumi.String(\"HEADER\"),\n\t\t\t\t\t\t\tValue:           pulumi.String(\"serverName\"),\n\t\t\t\t\t\t\tSystemParamType: pulumi.String(\"internal\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tConditions: opentelekomcloud.ApigwApiV2HttpPolicyConditionArray{\n\t\t\t\t\t\t\u0026opentelekomcloud.ApigwApiV2HttpPolicyConditionArgs{\n\t\t\t\t\t\t\tOrigin:    pulumi.String(\"param\"),\n\t\t\t\t\t\t\tParamName: pulumi.String(\"user_age\"),\n\t\t\t\t\t\t\tType:      pulumi.String(\"EXACT\"),\n\t\t\t\t\t\t\tValue:     pulumi.String(\"28\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ApigwGatewayV2;\nimport com.pulumi.opentelekomcloud.ApigwGatewayV2Args;\nimport com.pulumi.opentelekomcloud.ApigwEnvironmentV2;\nimport com.pulumi.opentelekomcloud.ApigwEnvironmentV2Args;\nimport com.pulumi.opentelekomcloud.ApigwGroupV2;\nimport com.pulumi.opentelekomcloud.ApigwGroupV2Args;\nimport com.pulumi.opentelekomcloud.inputs.ApigwGroupV2EnvironmentArgs;\nimport com.pulumi.opentelekomcloud.ApigwApiV2;\nimport com.pulumi.opentelekomcloud.ApigwApiV2Args;\nimport com.pulumi.opentelekomcloud.inputs.ApigwApiV2RequestParamArgs;\nimport com.pulumi.opentelekomcloud.inputs.ApigwApiV2BackendParamArgs;\nimport com.pulumi.opentelekomcloud.inputs.ApigwApiV2HttpArgs;\nimport com.pulumi.opentelekomcloud.inputs.ApigwApiV2HttpPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var vpcId = config.get(\"vpcId\");\n        final var subnetId = config.get(\"subnetId\");\n        final var secgroupId = config.get(\"secgroupId\");\n        var gateway = new ApigwGatewayV2(\"gateway\", ApigwGatewayV2Args.builder()\n            .name(\"my_gw\")\n            .specId(\"BASIC\")\n            .vpcId(vpcId)\n            .subnetId(subnetId)\n            .securityGroupId(secgroupId)\n            .availabilityZones(            \n                \"eu-de-01\",\n                \"eu-de-02\")\n            .description(\"test gateway 2\")\n            .ingressBandwidthSize(5.0)\n            .ingressBandwidthChargingMode(\"bandwidth\")\n            .maintainBegin(\"02:00:00\")\n            .build());\n\n        var env = new ApigwEnvironmentV2(\"env\", ApigwEnvironmentV2Args.builder()\n            .name(\"my_env\")\n            .instanceId(gateway.apigwGatewayV2Id())\n            .description(\"test description\")\n            .build());\n\n        var group = new ApigwGroupV2(\"group\", ApigwGroupV2Args.builder()\n            .name(\"my_group\")\n            .instanceId(gateway.apigwGatewayV2Id())\n            .description(\"test description\")\n            .environments(ApigwGroupV2EnvironmentArgs.builder()\n                .variables(ApigwGroupV2EnvironmentVariableArgs.builder()\n                    .name(\"test-name\")\n                    .value(\"test-value\")\n                    .build())\n                .environmentId(env.apigwEnvironmentV2Id())\n                .build())\n            .build());\n\n        var api = new ApigwApiV2(\"api\", ApigwApiV2Args.builder()\n            .gatewayId(gateway.apigwGatewayV2Id())\n            .groupId(group.apigwGroupV2Id())\n            .name(\"my_api\")\n            .type(\"Public\")\n            .requestProtocol(\"HTTP\")\n            .requestMethod(\"GET\")\n            .requestUri(\"/user_info/{user_age}\")\n            .securityAuthenticationType(\"APP\")\n            .matchMode(\"EXACT\")\n            .successResponse(\"Success response\")\n            .failureResponse(\"Failed response\")\n            .description(\"Created by script\")\n            .requestParams(            \n                ApigwApiV2RequestParamArgs.builder()\n                    .name(\"user_age\")\n                    .type(\"NUMBER\")\n                    .location(\"PATH\")\n                    .required(true)\n                    .maximum(200.0)\n                    .minimum(0.0)\n                    .build(),\n                ApigwApiV2RequestParamArgs.builder()\n                    .name(\"X-TEST-ENUM\")\n                    .type(\"STRING\")\n                    .location(\"HEADER\")\n                    .maximum(20.0)\n                    .minimum(10.0)\n                    .sample(\"ACC_TEST_XXX\")\n                    .passthrough(true)\n                    .enumeration(\"ACC_TEST_A,ACC_TEST_B\")\n                    .build())\n            .backendParams(ApigwApiV2BackendParamArgs.builder()\n                .type(\"REQUEST\")\n                .name(\"userAge\")\n                .location(\"PATH\")\n                .value(\"user_age\")\n                .build())\n            .http(ApigwApiV2HttpArgs.builder()\n                .urlDomain(\"opentelekomcloud.my.com\")\n                .requestUri(\"/getUserAge/{userAge}\")\n                .requestMethod(\"GET\")\n                .requestProtocol(\"HTTP\")\n                .timeout(30000.0)\n                .retryCount(1.0)\n                .build())\n            .httpPolicies(ApigwApiV2HttpPolicyArgs.builder()\n                .urlDomain(\"opentelekomcloud.my.com\")\n                .name(\"my_policy1\")\n                .requestProtocol(\"HTTP\")\n                .requestMethod(\"GET\")\n                .effectiveMode(\"ANY\")\n                .requestUri(\"/getUserAge/{userAge}\")\n                .timeout(30000.0)\n                .retryCount(1.0)\n                .backendParams(                \n                    ApigwApiV2HttpPolicyBackendParamArgs.builder()\n                        .type(\"REQUEST\")\n                        .name(\"userAge\")\n                        .location(\"PATH\")\n                        .value(\"user_age\")\n                        .build(),\n                    ApigwApiV2HttpPolicyBackendParamArgs.builder()\n                        .type(\"SYSTEM\")\n                        .name(\"%[2]s\")\n                        .location(\"HEADER\")\n                        .value(\"serverName\")\n                        .systemParamType(\"internal\")\n                        .build())\n                .conditions(ApigwApiV2HttpPolicyConditionArgs.builder()\n                    .origin(\"param\")\n                    .paramName(\"user_age\")\n                    .type(\"EXACT\")\n                    .value(\"28\")\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  vpcId:\n    type: dynamic\n  subnetId:\n    type: dynamic\n  secgroupId:\n    type: dynamic\nresources:\n  gateway:\n    type: opentelekomcloud:ApigwGatewayV2\n    properties:\n      name: my_gw\n      specId: BASIC\n      vpcId: ${vpcId}\n      subnetId: ${subnetId}\n      securityGroupId: ${secgroupId}\n      availabilityZones:\n        - eu-de-01\n        - eu-de-02\n      description: test gateway 2\n      ingressBandwidthSize: 5\n      ingressBandwidthChargingMode: bandwidth\n      maintainBegin: 02:00:00\n  env:\n    type: opentelekomcloud:ApigwEnvironmentV2\n    properties:\n      name: my_env\n      instanceId: ${gateway.apigwGatewayV2Id}\n      description: test description\n  group:\n    type: opentelekomcloud:ApigwGroupV2\n    properties:\n      name: my_group\n      instanceId: ${gateway.apigwGatewayV2Id}\n      description: test description\n      environments:\n        - variables:\n            - name: test-name\n              value: test-value\n          environmentId: ${env.apigwEnvironmentV2Id}\n  api:\n    type: opentelekomcloud:ApigwApiV2\n    properties:\n      gatewayId: ${gateway.apigwGatewayV2Id}\n      groupId: ${group.apigwGroupV2Id}\n      name: my_api\n      type: Public\n      requestProtocol: HTTP\n      requestMethod: GET\n      requestUri: /user_info/{user_age}\n      securityAuthenticationType: APP\n      matchMode: EXACT\n      successResponse: Success response\n      failureResponse: Failed response\n      description: Created by script\n      requestParams:\n        - name: user_age\n          type: NUMBER\n          location: PATH\n          required: true\n          maximum: 200\n          minimum: 0\n        - name: X-TEST-ENUM\n          type: STRING\n          location: HEADER\n          maximum: 20\n          minimum: 10\n          sample: ACC_TEST_XXX\n          passthrough: true\n          enumeration: ACC_TEST_A,ACC_TEST_B\n      backendParams:\n        - type: REQUEST\n          name: userAge\n          location: PATH\n          value: user_age\n      http:\n        urlDomain: opentelekomcloud.my.com\n        requestUri: /getUserAge/{userAge}\n        requestMethod: GET\n        requestProtocol: HTTP\n        timeout: 30000\n        retryCount: 1\n      httpPolicies:\n        - urlDomain: opentelekomcloud.my.com\n          name: my_policy1\n          requestProtocol: HTTP\n          requestMethod: GET\n          effectiveMode: ANY\n          requestUri: /getUserAge/{userAge}\n          timeout: 30000\n          retryCount: 1\n          backendParams:\n            - type: REQUEST\n              name: userAge\n              location: PATH\n              value: user_age\n            - type: SYSTEM\n              name: '%[2]s'\n              location: HEADER\n              value: serverName\n              systemParamType: internal\n          conditions:\n            - origin: param\n              paramName: user_age\n              type: EXACT\n              value: '28'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAPI can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/apigwApiV2:ApigwApiV2 api \"774438a28a574ac8a496325d1bf51807\"\n```\n","properties":{"apigwApiV2Id":{"type":"string","description":"The ID of the API.\n"},"authorizerId":{"type":"string","description":"Specifies the ID of the backend custom authorization.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"apigwApiConditions\"\" pulumi-lang-dotnet=\"\"ApigwApiConditions\"\" pulumi-lang-go=\"\"apigwApiConditions\"\" pulumi-lang-python=\"\"apigw_api_conditions\"\" pulumi-lang-yaml=\"\"apigwApiConditions\"\" pulumi-lang-java=\"\"apigwApiConditions\"\"\u003e\"apigw_api_conditions\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`conditions`\" pulumi-lang-dotnet=\"`Conditions`\" pulumi-lang-go=\"`conditions`\" pulumi-lang-python=\"`conditions`\" pulumi-lang-yaml=\"`conditions`\" pulumi-lang-java=\"`conditions`\"\u003e`conditions`\u003c/span\u003e block supports:\n"},"backendParams":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FApigwApiV2BackendParam:ApigwApiV2BackendParam"},"description":"Specifies an array of one or more backend parameters. The maximum of request\nparameters is 50. The object structure is documented above.\n"},"bodyDescription":{"type":"string","description":"Specifies the description of the API request body, which can be an example\nrequest body, media type or parameters.\nThe request body does not exceed `20,480` characters.\n"},"cors":{"type":"boolean","description":"Specifies whether CORS is supported, defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"description":{"type":"string","description":"Specifies the description of the constant or system parameter.\nThe description contains a maximum of \u003cspan pulumi-lang-nodejs=\"`255`\" pulumi-lang-dotnet=\"`255`\" pulumi-lang-go=\"`255`\" pulumi-lang-python=\"`255`\" pulumi-lang-yaml=\"`255`\" pulumi-lang-java=\"`255`\"\u003e`255`\u003c/span\u003e characters and the angle brackets (\u003c and \u003e) are not allowed.\n"},"failureResponse":{"type":"string","description":"Specifies the example response for a failure request.\nThe response contains a maximum of `20,480` characters.\n"},"funcGraph":{"$ref":"#/types/opentelekomcloud:index%2FApigwApiV2FuncGraph:ApigwApiV2FuncGraph","description":"Specifies the function graph backend details.\nThe object structure is documented below.\nChanging this will create a new API resource.\n"},"funcGraphPolicies":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FApigwApiV2FuncGraphPolicy:ApigwApiV2FuncGraphPolicy"},"description":"Specifies the Mock policy backends.\nThe maximum blocks of the policy is 5.\nThe object structure is documented below.\n"},"gatewayId":{"type":"string","description":"Specifies an ID of the APIG dedicated instance to which the API belongs\nto. Changing this will create a new API resource.\n"},"groupId":{"type":"string","description":"Specifies an ID of the APIG group to which the API belongs to.\n"},"http":{"$ref":"#/types/opentelekomcloud:index%2FApigwApiV2Http:ApigwApiV2Http","description":"Specifies the web backend details.\nThe object structure is documented below. Changing this will create a new API resource.\n"},"httpPolicies":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FApigwApiV2HttpPolicy:ApigwApiV2HttpPolicy"},"description":"Specifies the example response for a failed request.\nThe maximum blocks of the policy is 5.\nThe object structure is documented below.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"apigwApiRequestParams\"\" pulumi-lang-dotnet=\"\"ApigwApiRequestParams\"\" pulumi-lang-go=\"\"apigwApiRequestParams\"\" pulumi-lang-python=\"\"apigw_api_request_params\"\" pulumi-lang-yaml=\"\"apigwApiRequestParams\"\" pulumi-lang-java=\"\"apigwApiRequestParams\"\"\u003e\"apigw_api_request_params\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`requestParams`\" pulumi-lang-dotnet=\"`RequestParams`\" pulumi-lang-go=\"`requestParams`\" pulumi-lang-python=\"`request_params`\" pulumi-lang-yaml=\"`requestParams`\" pulumi-lang-java=\"`requestParams`\"\u003e`request_params`\u003c/span\u003e block supports:\n"},"matchMode":{"type":"string","description":"Specifies the route matching mode.\nThe valid values are `EXACT` and `PREFIX`, defaults to `EXACT`.\n"},"mock":{"$ref":"#/types/opentelekomcloud:index%2FApigwApiV2Mock:ApigwApiV2Mock","description":"Specifies the mock backend details.\nThe object structure is documented below.\nChanging this will create a new API resource.\n"},"mockPolicies":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FApigwApiV2MockPolicy:ApigwApiV2MockPolicy"},"description":"Specifies the Mock policy backends.\nThe maximum blocks of the policy is 5.\nThe object structure is documented below.\n"},"name":{"type":"string","description":"Specifies the backend policy name.\nThe valid length is limited from can contain \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e, only letters, digits and underscores (_) are allowed.\n"},"region":{"type":"string","description":"Specifies the region where the API is located.\nIf omitted, the provider-level region will be used. Changing this will create a new API resource.\n"},"registeredAt":{"type":"string","description":"Time when the API is registered.\n"},"requestMethod":{"type":"string","description":"Specifies the backend request method of the API.\nThe valid values are `GET`, `POST`, `PUT`, `DELETE`, `HEAD`, `PATCH`, `OPTIONS` and `ANY`.\n"},"requestParams":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FApigwApiV2RequestParam:ApigwApiV2RequestParam"},"description":"Specifies the configurations of the front-end parameters.\nThe object structure is documented below.\n"},"requestProtocol":{"type":"string","description":"Specifies the backend request protocol. The valid values are `HTTP` and\n`HTTPS`, defaults to `HTTPS`.\n"},"requestUri":{"type":"string","description":"Specifies the backend request address, which can contain a maximum of \u003cspan pulumi-lang-nodejs=\"`512`\" pulumi-lang-dotnet=\"`512`\" pulumi-lang-go=\"`512`\" pulumi-lang-python=\"`512`\" pulumi-lang-yaml=\"`512`\" pulumi-lang-java=\"`512`\"\u003e`512`\u003c/span\u003e characters and\nmust comply with URI specifications.\n+ The address can contain request parameters enclosed with brackets ({}).\n+ The address can contain special characters, such as asterisks (*), percent signs (%), hyphens (-) and\nunderscores (_) and must comply with URI specifications.\n+ The address can contain environment variables, each starting with a letter and consisting of \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e characters.\nOnly letters, digits, hyphens (-), and underscores (_) are allowed in environment variables.\n"},"responseId":{"type":"string","description":"Specifies the APIG group response ID.\n"},"securityAuthenticationEnabled":{"type":"boolean","description":"Specifies whether the authentication of the application code is enabled.\nThe application code must located in the header when \u003cspan pulumi-lang-nodejs=\"`securityAuthenticationEnabled`\" pulumi-lang-dotnet=\"`SecurityAuthenticationEnabled`\" pulumi-lang-go=\"`securityAuthenticationEnabled`\" pulumi-lang-python=\"`security_authentication_enabled`\" pulumi-lang-yaml=\"`securityAuthenticationEnabled`\" pulumi-lang-java=\"`securityAuthenticationEnabled`\"\u003e`security_authentication_enabled`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"securityAuthenticationType":{"type":"string","description":"Specifies the security authentication mode of the API request.\nThe valid values are `NONE`, `APP`, `IAM` and `AUTHORIZER`, defaults to `NONE`.\n"},"successResponse":{"type":"string","description":"Specifies the example response for a successful request.\nThe response contains a maximum of `20,480` characters.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags. Use letters, digits, and special characters `(-*#%.:_)` and start with a letter.\nBy default, \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e tags are supported. To increase the quota, contact technical support to modify the `API_TAG_NUM_LIMIT` configuration.\n"},"type":{"type":"string","description":"Specifies the condition type of the backend policy.\nThe valid values are `EXACT`, `ENUM` and `PATTERN`, defaults to `EXACT`.\n"},"updatedAt":{"type":"string","description":"Time when the API was last modified.\n"},"version":{"type":"string","description":"Specifies the version of the FunctionGraph function.\n"}},"type":"object","required":["apigwApiV2Id","gatewayId","groupId","name","region","registeredAt","requestMethod","requestProtocol","requestUri","securityAuthenticationEnabled","type","updatedAt"],"inputProperties":{"apigwApiV2Id":{"type":"string","description":"The ID of the API.\n"},"authorizerId":{"type":"string","description":"Specifies the ID of the backend custom authorization.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"apigwApiConditions\"\" pulumi-lang-dotnet=\"\"ApigwApiConditions\"\" pulumi-lang-go=\"\"apigwApiConditions\"\" pulumi-lang-python=\"\"apigw_api_conditions\"\" pulumi-lang-yaml=\"\"apigwApiConditions\"\" pulumi-lang-java=\"\"apigwApiConditions\"\"\u003e\"apigw_api_conditions\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`conditions`\" pulumi-lang-dotnet=\"`Conditions`\" pulumi-lang-go=\"`conditions`\" pulumi-lang-python=\"`conditions`\" pulumi-lang-yaml=\"`conditions`\" pulumi-lang-java=\"`conditions`\"\u003e`conditions`\u003c/span\u003e block supports:\n"},"backendParams":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FApigwApiV2BackendParam:ApigwApiV2BackendParam"},"description":"Specifies an array of one or more backend parameters. The maximum of request\nparameters is 50. The object structure is documented above.\n"},"bodyDescription":{"type":"string","description":"Specifies the description of the API request body, which can be an example\nrequest body, media type or parameters.\nThe request body does not exceed `20,480` characters.\n"},"cors":{"type":"boolean","description":"Specifies whether CORS is supported, defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"description":{"type":"string","description":"Specifies the description of the constant or system parameter.\nThe description contains a maximum of \u003cspan pulumi-lang-nodejs=\"`255`\" pulumi-lang-dotnet=\"`255`\" pulumi-lang-go=\"`255`\" pulumi-lang-python=\"`255`\" pulumi-lang-yaml=\"`255`\" pulumi-lang-java=\"`255`\"\u003e`255`\u003c/span\u003e characters and the angle brackets (\u003c and \u003e) are not allowed.\n"},"failureResponse":{"type":"string","description":"Specifies the example response for a failure request.\nThe response contains a maximum of `20,480` characters.\n"},"funcGraph":{"$ref":"#/types/opentelekomcloud:index%2FApigwApiV2FuncGraph:ApigwApiV2FuncGraph","description":"Specifies the function graph backend details.\nThe object structure is documented below.\nChanging this will create a new API resource.\n"},"funcGraphPolicies":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FApigwApiV2FuncGraphPolicy:ApigwApiV2FuncGraphPolicy"},"description":"Specifies the Mock policy backends.\nThe maximum blocks of the policy is 5.\nThe object structure is documented below.\n"},"gatewayId":{"type":"string","description":"Specifies an ID of the APIG dedicated instance to which the API belongs\nto. Changing this will create a new API resource.\n"},"groupId":{"type":"string","description":"Specifies an ID of the APIG group to which the API belongs to.\n"},"http":{"$ref":"#/types/opentelekomcloud:index%2FApigwApiV2Http:ApigwApiV2Http","description":"Specifies the web backend details.\nThe object structure is documented below. Changing this will create a new API resource.\n"},"httpPolicies":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FApigwApiV2HttpPolicy:ApigwApiV2HttpPolicy"},"description":"Specifies the example response for a failed request.\nThe maximum blocks of the policy is 5.\nThe object structure is documented below.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"apigwApiRequestParams\"\" pulumi-lang-dotnet=\"\"ApigwApiRequestParams\"\" pulumi-lang-go=\"\"apigwApiRequestParams\"\" pulumi-lang-python=\"\"apigw_api_request_params\"\" pulumi-lang-yaml=\"\"apigwApiRequestParams\"\" pulumi-lang-java=\"\"apigwApiRequestParams\"\"\u003e\"apigw_api_request_params\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`requestParams`\" pulumi-lang-dotnet=\"`RequestParams`\" pulumi-lang-go=\"`requestParams`\" pulumi-lang-python=\"`request_params`\" pulumi-lang-yaml=\"`requestParams`\" pulumi-lang-java=\"`requestParams`\"\u003e`request_params`\u003c/span\u003e block supports:\n"},"matchMode":{"type":"string","description":"Specifies the route matching mode.\nThe valid values are `EXACT` and `PREFIX`, defaults to `EXACT`.\n"},"mock":{"$ref":"#/types/opentelekomcloud:index%2FApigwApiV2Mock:ApigwApiV2Mock","description":"Specifies the mock backend details.\nThe object structure is documented below.\nChanging this will create a new API resource.\n"},"mockPolicies":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FApigwApiV2MockPolicy:ApigwApiV2MockPolicy"},"description":"Specifies the Mock policy backends.\nThe maximum blocks of the policy is 5.\nThe object structure is documented below.\n"},"name":{"type":"string","description":"Specifies the backend policy name.\nThe valid length is limited from can contain \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e, only letters, digits and underscores (_) are allowed.\n"},"region":{"type":"string","description":"Specifies the region where the API is located.\nIf omitted, the provider-level region will be used. Changing this will create a new API resource.\n"},"requestMethod":{"type":"string","description":"Specifies the backend request method of the API.\nThe valid values are `GET`, `POST`, `PUT`, `DELETE`, `HEAD`, `PATCH`, `OPTIONS` and `ANY`.\n"},"requestParams":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FApigwApiV2RequestParam:ApigwApiV2RequestParam"},"description":"Specifies the configurations of the front-end parameters.\nThe object structure is documented below.\n"},"requestProtocol":{"type":"string","description":"Specifies the backend request protocol. The valid values are `HTTP` and\n`HTTPS`, defaults to `HTTPS`.\n"},"requestUri":{"type":"string","description":"Specifies the backend request address, which can contain a maximum of \u003cspan pulumi-lang-nodejs=\"`512`\" pulumi-lang-dotnet=\"`512`\" pulumi-lang-go=\"`512`\" pulumi-lang-python=\"`512`\" pulumi-lang-yaml=\"`512`\" pulumi-lang-java=\"`512`\"\u003e`512`\u003c/span\u003e characters and\nmust comply with URI specifications.\n+ The address can contain request parameters enclosed with brackets ({}).\n+ The address can contain special characters, such as asterisks (*), percent signs (%), hyphens (-) and\nunderscores (_) and must comply with URI specifications.\n+ The address can contain environment variables, each starting with a letter and consisting of \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e characters.\nOnly letters, digits, hyphens (-), and underscores (_) are allowed in environment variables.\n"},"responseId":{"type":"string","description":"Specifies the APIG group response ID.\n"},"securityAuthenticationEnabled":{"type":"boolean","description":"Specifies whether the authentication of the application code is enabled.\nThe application code must located in the header when \u003cspan pulumi-lang-nodejs=\"`securityAuthenticationEnabled`\" pulumi-lang-dotnet=\"`SecurityAuthenticationEnabled`\" pulumi-lang-go=\"`securityAuthenticationEnabled`\" pulumi-lang-python=\"`security_authentication_enabled`\" pulumi-lang-yaml=\"`securityAuthenticationEnabled`\" pulumi-lang-java=\"`securityAuthenticationEnabled`\"\u003e`security_authentication_enabled`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"securityAuthenticationType":{"type":"string","description":"Specifies the security authentication mode of the API request.\nThe valid values are `NONE`, `APP`, `IAM` and `AUTHORIZER`, defaults to `NONE`.\n"},"successResponse":{"type":"string","description":"Specifies the example response for a successful request.\nThe response contains a maximum of `20,480` characters.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags. Use letters, digits, and special characters `(-*#%.:_)` and start with a letter.\nBy default, \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e tags are supported. To increase the quota, contact technical support to modify the `API_TAG_NUM_LIMIT` configuration.\n"},"type":{"type":"string","description":"Specifies the condition type of the backend policy.\nThe valid values are `EXACT`, `ENUM` and `PATTERN`, defaults to `EXACT`.\n"},"version":{"type":"string","description":"Specifies the version of the FunctionGraph function.\n"}},"requiredInputs":["gatewayId","groupId","requestMethod","requestProtocol","requestUri","type"],"stateInputs":{"description":"Input properties used for looking up and filtering ApigwApiV2 resources.\n","properties":{"apigwApiV2Id":{"type":"string","description":"The ID of the API.\n"},"authorizerId":{"type":"string","description":"Specifies the ID of the backend custom authorization.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"apigwApiConditions\"\" pulumi-lang-dotnet=\"\"ApigwApiConditions\"\" pulumi-lang-go=\"\"apigwApiConditions\"\" pulumi-lang-python=\"\"apigw_api_conditions\"\" pulumi-lang-yaml=\"\"apigwApiConditions\"\" pulumi-lang-java=\"\"apigwApiConditions\"\"\u003e\"apigw_api_conditions\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`conditions`\" pulumi-lang-dotnet=\"`Conditions`\" pulumi-lang-go=\"`conditions`\" pulumi-lang-python=\"`conditions`\" pulumi-lang-yaml=\"`conditions`\" pulumi-lang-java=\"`conditions`\"\u003e`conditions`\u003c/span\u003e block supports:\n"},"backendParams":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FApigwApiV2BackendParam:ApigwApiV2BackendParam"},"description":"Specifies an array of one or more backend parameters. The maximum of request\nparameters is 50. The object structure is documented above.\n"},"bodyDescription":{"type":"string","description":"Specifies the description of the API request body, which can be an example\nrequest body, media type or parameters.\nThe request body does not exceed `20,480` characters.\n"},"cors":{"type":"boolean","description":"Specifies whether CORS is supported, defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"description":{"type":"string","description":"Specifies the description of the constant or system parameter.\nThe description contains a maximum of \u003cspan pulumi-lang-nodejs=\"`255`\" pulumi-lang-dotnet=\"`255`\" pulumi-lang-go=\"`255`\" pulumi-lang-python=\"`255`\" pulumi-lang-yaml=\"`255`\" pulumi-lang-java=\"`255`\"\u003e`255`\u003c/span\u003e characters and the angle brackets (\u003c and \u003e) are not allowed.\n"},"failureResponse":{"type":"string","description":"Specifies the example response for a failure request.\nThe response contains a maximum of `20,480` characters.\n"},"funcGraph":{"$ref":"#/types/opentelekomcloud:index%2FApigwApiV2FuncGraph:ApigwApiV2FuncGraph","description":"Specifies the function graph backend details.\nThe object structure is documented below.\nChanging this will create a new API resource.\n"},"funcGraphPolicies":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FApigwApiV2FuncGraphPolicy:ApigwApiV2FuncGraphPolicy"},"description":"Specifies the Mock policy backends.\nThe maximum blocks of the policy is 5.\nThe object structure is documented below.\n"},"gatewayId":{"type":"string","description":"Specifies an ID of the APIG dedicated instance to which the API belongs\nto. Changing this will create a new API resource.\n"},"groupId":{"type":"string","description":"Specifies an ID of the APIG group to which the API belongs to.\n"},"http":{"$ref":"#/types/opentelekomcloud:index%2FApigwApiV2Http:ApigwApiV2Http","description":"Specifies the web backend details.\nThe object structure is documented below. Changing this will create a new API resource.\n"},"httpPolicies":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FApigwApiV2HttpPolicy:ApigwApiV2HttpPolicy"},"description":"Specifies the example response for a failed request.\nThe maximum blocks of the policy is 5.\nThe object structure is documented below.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"apigwApiRequestParams\"\" pulumi-lang-dotnet=\"\"ApigwApiRequestParams\"\" pulumi-lang-go=\"\"apigwApiRequestParams\"\" pulumi-lang-python=\"\"apigw_api_request_params\"\" pulumi-lang-yaml=\"\"apigwApiRequestParams\"\" pulumi-lang-java=\"\"apigwApiRequestParams\"\"\u003e\"apigw_api_request_params\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`requestParams`\" pulumi-lang-dotnet=\"`RequestParams`\" pulumi-lang-go=\"`requestParams`\" pulumi-lang-python=\"`request_params`\" pulumi-lang-yaml=\"`requestParams`\" pulumi-lang-java=\"`requestParams`\"\u003e`request_params`\u003c/span\u003e block supports:\n"},"matchMode":{"type":"string","description":"Specifies the route matching mode.\nThe valid values are `EXACT` and `PREFIX`, defaults to `EXACT`.\n"},"mock":{"$ref":"#/types/opentelekomcloud:index%2FApigwApiV2Mock:ApigwApiV2Mock","description":"Specifies the mock backend details.\nThe object structure is documented below.\nChanging this will create a new API resource.\n"},"mockPolicies":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FApigwApiV2MockPolicy:ApigwApiV2MockPolicy"},"description":"Specifies the Mock policy backends.\nThe maximum blocks of the policy is 5.\nThe object structure is documented below.\n"},"name":{"type":"string","description":"Specifies the backend policy name.\nThe valid length is limited from can contain \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e, only letters, digits and underscores (_) are allowed.\n"},"region":{"type":"string","description":"Specifies the region where the API is located.\nIf omitted, the provider-level region will be used. Changing this will create a new API resource.\n"},"registeredAt":{"type":"string","description":"Time when the API is registered.\n"},"requestMethod":{"type":"string","description":"Specifies the backend request method of the API.\nThe valid values are `GET`, `POST`, `PUT`, `DELETE`, `HEAD`, `PATCH`, `OPTIONS` and `ANY`.\n"},"requestParams":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FApigwApiV2RequestParam:ApigwApiV2RequestParam"},"description":"Specifies the configurations of the front-end parameters.\nThe object structure is documented below.\n"},"requestProtocol":{"type":"string","description":"Specifies the backend request protocol. The valid values are `HTTP` and\n`HTTPS`, defaults to `HTTPS`.\n"},"requestUri":{"type":"string","description":"Specifies the backend request address, which can contain a maximum of \u003cspan pulumi-lang-nodejs=\"`512`\" pulumi-lang-dotnet=\"`512`\" pulumi-lang-go=\"`512`\" pulumi-lang-python=\"`512`\" pulumi-lang-yaml=\"`512`\" pulumi-lang-java=\"`512`\"\u003e`512`\u003c/span\u003e characters and\nmust comply with URI specifications.\n+ The address can contain request parameters enclosed with brackets ({}).\n+ The address can contain special characters, such as asterisks (*), percent signs (%), hyphens (-) and\nunderscores (_) and must comply with URI specifications.\n+ The address can contain environment variables, each starting with a letter and consisting of \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e characters.\nOnly letters, digits, hyphens (-), and underscores (_) are allowed in environment variables.\n"},"responseId":{"type":"string","description":"Specifies the APIG group response ID.\n"},"securityAuthenticationEnabled":{"type":"boolean","description":"Specifies whether the authentication of the application code is enabled.\nThe application code must located in the header when \u003cspan pulumi-lang-nodejs=\"`securityAuthenticationEnabled`\" pulumi-lang-dotnet=\"`SecurityAuthenticationEnabled`\" pulumi-lang-go=\"`securityAuthenticationEnabled`\" pulumi-lang-python=\"`security_authentication_enabled`\" pulumi-lang-yaml=\"`securityAuthenticationEnabled`\" pulumi-lang-java=\"`securityAuthenticationEnabled`\"\u003e`security_authentication_enabled`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"securityAuthenticationType":{"type":"string","description":"Specifies the security authentication mode of the API request.\nThe valid values are `NONE`, `APP`, `IAM` and `AUTHORIZER`, defaults to `NONE`.\n"},"successResponse":{"type":"string","description":"Specifies the example response for a successful request.\nThe response contains a maximum of `20,480` characters.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags. Use letters, digits, and special characters `(-*#%.:_)` and start with a letter.\nBy default, \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e tags are supported. To increase the quota, contact technical support to modify the `API_TAG_NUM_LIMIT` configuration.\n"},"type":{"type":"string","description":"Specifies the condition type of the backend policy.\nThe valid values are `EXACT`, `ENUM` and `PATTERN`, defaults to `EXACT`.\n"},"updatedAt":{"type":"string","description":"Time when the API was last modified.\n"},"version":{"type":"string","description":"Specifies the version of the FunctionGraph function.\n"}},"type":"object"}},"opentelekomcloud:index/apigwAppcodeV2:ApigwAppcodeV2":{"properties":{"apigwAppcodeV2Id":{"type":"string"},"applicationId":{"type":"string"},"createdAt":{"type":"string"},"gatewayId":{"type":"string"},"region":{"type":"string"},"value":{"type":"string"}},"type":"object","required":["apigwAppcodeV2Id","applicationId","createdAt","gatewayId","region","value"],"inputProperties":{"apigwAppcodeV2Id":{"type":"string"},"applicationId":{"type":"string"},"gatewayId":{"type":"string"},"value":{"type":"string"}},"requiredInputs":["applicationId","gatewayId"],"stateInputs":{"description":"Input properties used for looking up and filtering ApigwAppcodeV2 resources.\n","properties":{"apigwAppcodeV2Id":{"type":"string"},"applicationId":{"type":"string"},"createdAt":{"type":"string"},"gatewayId":{"type":"string"},"region":{"type":"string"},"value":{"type":"string"}},"type":"object"}},"opentelekomcloud:index/apigwApplicationAuthorizationV2:ApigwApplicationAuthorizationV2":{"properties":{"apiIds":{"type":"array","items":{"type":"string"}},"apigwApplicationAuthorizationV2Id":{"type":"string"},"applicationId":{"type":"string"},"envId":{"type":"string"},"gatewayId":{"type":"string"},"region":{"type":"string"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FApigwApplicationAuthorizationV2Timeouts:ApigwApplicationAuthorizationV2Timeouts"}},"type":"object","required":["apiIds","apigwApplicationAuthorizationV2Id","applicationId","envId","gatewayId","region"],"inputProperties":{"apiIds":{"type":"array","items":{"type":"string"}},"apigwApplicationAuthorizationV2Id":{"type":"string"},"applicationId":{"type":"string"},"envId":{"type":"string"},"gatewayId":{"type":"string"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FApigwApplicationAuthorizationV2Timeouts:ApigwApplicationAuthorizationV2Timeouts"}},"requiredInputs":["apiIds","applicationId","envId","gatewayId"],"stateInputs":{"description":"Input properties used for looking up and filtering ApigwApplicationAuthorizationV2 resources.\n","properties":{"apiIds":{"type":"array","items":{"type":"string"}},"apigwApplicationAuthorizationV2Id":{"type":"string"},"applicationId":{"type":"string"},"envId":{"type":"string"},"gatewayId":{"type":"string"},"region":{"type":"string"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FApigwApplicationAuthorizationV2Timeouts:ApigwApplicationAuthorizationV2Timeouts"}},"type":"object"}},"opentelekomcloud:index/apigwApplicationV2:ApigwApplicationV2":{"properties":{"apigwApplicationV2Id":{"type":"string"},"appCodes":{"type":"array","items":{"type":"string"}},"appKey":{"type":"string"},"appSecret":{"type":"string","secret":true},"description":{"type":"string"},"gatewayId":{"type":"string"},"name":{"type":"string"},"region":{"type":"string"},"registrationTime":{"type":"string"},"secretAction":{"type":"string"},"updatedAt":{"type":"string"}},"type":"object","required":["apigwApplicationV2Id","appCodes","appKey","appSecret","description","gatewayId","name","region","registrationTime","updatedAt"],"inputProperties":{"apigwApplicationV2Id":{"type":"string"},"appCodes":{"type":"array","items":{"type":"string"}},"description":{"type":"string"},"gatewayId":{"type":"string"},"name":{"type":"string"},"secretAction":{"type":"string"}},"requiredInputs":["gatewayId"],"stateInputs":{"description":"Input properties used for looking up and filtering ApigwApplicationV2 resources.\n","properties":{"apigwApplicationV2Id":{"type":"string"},"appCodes":{"type":"array","items":{"type":"string"}},"appKey":{"type":"string"},"appSecret":{"type":"string","secret":true},"description":{"type":"string"},"gatewayId":{"type":"string"},"name":{"type":"string"},"region":{"type":"string"},"registrationTime":{"type":"string"},"secretAction":{"type":"string"},"updatedAt":{"type":"string"}},"type":"object"}},"opentelekomcloud:index/apigwCertificateV2:ApigwCertificateV2":{"description":"Manages an APIGW SSL certificate resource within OpenTelekomCloud.\n\n## Example Usage\n\n### Manages a global SSL certificate\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst certificateName = config.requireObject\u003cany\u003e(\"certificateName\");\nconst certificateContent = config.get(\"certificateContent\") || \"'-----BEGIN CERTIFICATE-----THIS IS YOUR CERT CONTENT-----END CERTIFICATE-----'\";\nconst certificatePrivateKey = config.get(\"certificatePrivateKey\") || \"'-----BEGIN PRIVATE KEY-----THIS IS YOUR PRIVATE KEY-----END PRIVATE KEY-----'\";\nconst test = new opentelekomcloud.ApigwCertificateV2(\"test\", {\n    name: certificateName,\n    content: certificateContent,\n    privateKey: certificatePrivateKey,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ncertificate_name = config.require_object(\"certificateName\")\ncertificate_content = config.get(\"certificateContent\")\nif certificate_content is None:\n    certificate_content = \"'-----BEGIN CERTIFICATE-----THIS IS YOUR CERT CONTENT-----END CERTIFICATE-----'\"\ncertificate_private_key = config.get(\"certificatePrivateKey\")\nif certificate_private_key is None:\n    certificate_private_key = \"'-----BEGIN PRIVATE KEY-----THIS IS YOUR PRIVATE KEY-----END PRIVATE KEY-----'\"\ntest = opentelekomcloud.ApigwCertificateV2(\"test\",\n    name=certificate_name,\n    content=certificate_content,\n    private_key=certificate_private_key)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var certificateName = config.RequireObject\u003cdynamic\u003e(\"certificateName\");\n    var certificateContent = config.Get(\"certificateContent\") ?? \"'-----BEGIN CERTIFICATE-----THIS IS YOUR CERT CONTENT-----END CERTIFICATE-----'\";\n    var certificatePrivateKey = config.Get(\"certificatePrivateKey\") ?? \"'-----BEGIN PRIVATE KEY-----THIS IS YOUR PRIVATE KEY-----END PRIVATE KEY-----'\";\n    var test = new Opentelekomcloud.ApigwCertificateV2(\"test\", new()\n    {\n        Name = certificateName,\n        Content = certificateContent,\n        PrivateKey = certificatePrivateKey,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tcertificateName := cfg.RequireObject(\"certificateName\")\n\t\tcertificateContent := \"'-----BEGIN CERTIFICATE-----THIS IS YOUR CERT CONTENT-----END CERTIFICATE-----'\"\n\t\tif param := cfg.Get(\"certificateContent\"); param != \"\" {\n\t\t\tcertificateContent = param\n\t\t}\n\t\tcertificatePrivateKey := \"'-----BEGIN PRIVATE KEY-----THIS IS YOUR PRIVATE KEY-----END PRIVATE KEY-----'\"\n\t\tif param := cfg.Get(\"certificatePrivateKey\"); param != \"\" {\n\t\t\tcertificatePrivateKey = param\n\t\t}\n\t\t_, err := opentelekomcloud.NewApigwCertificateV2(ctx, \"test\", \u0026opentelekomcloud.ApigwCertificateV2Args{\n\t\t\tName:       pulumi.Any(certificateName),\n\t\t\tContent:    pulumi.String(certificateContent),\n\t\t\tPrivateKey: pulumi.String(certificatePrivateKey),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ApigwCertificateV2;\nimport com.pulumi.opentelekomcloud.ApigwCertificateV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var certificateName = config.get(\"certificateName\");\n        final var certificateContent = config.get(\"certificateContent\").orElse(\"'-----BEGIN CERTIFICATE-----THIS IS YOUR CERT CONTENT-----END CERTIFICATE-----'\");\n        final var certificatePrivateKey = config.get(\"certificatePrivateKey\").orElse(\"'-----BEGIN PRIVATE KEY-----THIS IS YOUR PRIVATE KEY-----END PRIVATE KEY-----'\");\n        var test = new ApigwCertificateV2(\"test\", ApigwCertificateV2Args.builder()\n            .name(certificateName)\n            .content(certificateContent)\n            .privateKey(certificatePrivateKey)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  certificateName:\n    type: dynamic\n  certificateContent:\n    type: string\n    default: '''-----BEGIN CERTIFICATE-----THIS IS YOUR CERT CONTENT-----END CERTIFICATE-----'''\n  certificatePrivateKey:\n    type: string\n    default: '''-----BEGIN PRIVATE KEY-----THIS IS YOUR PRIVATE KEY-----END PRIVATE KEY-----'''\nresources:\n  test:\n    type: opentelekomcloud:ApigwCertificateV2\n    properties:\n      name: ${certificateName}\n      content: ${certificateContent}\n      privateKey: ${certificatePrivateKey}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Manages a local SSL certificate in a specified dedicated APIGW instance\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst certificateName = config.requireObject\u003cany\u003e(\"certificateName\");\nconst certificateContent = config.get(\"certificateContent\") || \"'-----BEGIN CERTIFICATE-----THIS IS YOUR CERT CONTENT-----END CERTIFICATE-----'\";\nconst certificatePrivateKey = config.get(\"certificatePrivateKey\") || \"'-----BEGIN PRIVATE KEY-----THIS IS YOUR PRIVATE KEY-----END PRIVATE KEY-----'\";\nconst dedicatedInstanceId = config.requireObject\u003cany\u003e(\"dedicatedInstanceId\");\nconst test = new opentelekomcloud.ApigwCertificateV2(\"test\", {\n    name: certificateName,\n    content: certificateContent,\n    privateKey: certificatePrivateKey,\n    type: \"instance\",\n    instanceId: dedicatedInstanceId,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ncertificate_name = config.require_object(\"certificateName\")\ncertificate_content = config.get(\"certificateContent\")\nif certificate_content is None:\n    certificate_content = \"'-----BEGIN CERTIFICATE-----THIS IS YOUR CERT CONTENT-----END CERTIFICATE-----'\"\ncertificate_private_key = config.get(\"certificatePrivateKey\")\nif certificate_private_key is None:\n    certificate_private_key = \"'-----BEGIN PRIVATE KEY-----THIS IS YOUR PRIVATE KEY-----END PRIVATE KEY-----'\"\ndedicated_instance_id = config.require_object(\"dedicatedInstanceId\")\ntest = opentelekomcloud.ApigwCertificateV2(\"test\",\n    name=certificate_name,\n    content=certificate_content,\n    private_key=certificate_private_key,\n    type=\"instance\",\n    instance_id=dedicated_instance_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var certificateName = config.RequireObject\u003cdynamic\u003e(\"certificateName\");\n    var certificateContent = config.Get(\"certificateContent\") ?? \"'-----BEGIN CERTIFICATE-----THIS IS YOUR CERT CONTENT-----END CERTIFICATE-----'\";\n    var certificatePrivateKey = config.Get(\"certificatePrivateKey\") ?? \"'-----BEGIN PRIVATE KEY-----THIS IS YOUR PRIVATE KEY-----END PRIVATE KEY-----'\";\n    var dedicatedInstanceId = config.RequireObject\u003cdynamic\u003e(\"dedicatedInstanceId\");\n    var test = new Opentelekomcloud.ApigwCertificateV2(\"test\", new()\n    {\n        Name = certificateName,\n        Content = certificateContent,\n        PrivateKey = certificatePrivateKey,\n        Type = \"instance\",\n        InstanceId = dedicatedInstanceId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tcertificateName := cfg.RequireObject(\"certificateName\")\n\t\tcertificateContent := \"'-----BEGIN CERTIFICATE-----THIS IS YOUR CERT CONTENT-----END CERTIFICATE-----'\"\n\t\tif param := cfg.Get(\"certificateContent\"); param != \"\" {\n\t\t\tcertificateContent = param\n\t\t}\n\t\tcertificatePrivateKey := \"'-----BEGIN PRIVATE KEY-----THIS IS YOUR PRIVATE KEY-----END PRIVATE KEY-----'\"\n\t\tif param := cfg.Get(\"certificatePrivateKey\"); param != \"\" {\n\t\t\tcertificatePrivateKey = param\n\t\t}\n\t\tdedicatedInstanceId := cfg.RequireObject(\"dedicatedInstanceId\")\n\t\t_, err := opentelekomcloud.NewApigwCertificateV2(ctx, \"test\", \u0026opentelekomcloud.ApigwCertificateV2Args{\n\t\t\tName:       pulumi.Any(certificateName),\n\t\t\tContent:    pulumi.String(certificateContent),\n\t\t\tPrivateKey: pulumi.String(certificatePrivateKey),\n\t\t\tType:       pulumi.String(\"instance\"),\n\t\t\tInstanceId: pulumi.Any(dedicatedInstanceId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ApigwCertificateV2;\nimport com.pulumi.opentelekomcloud.ApigwCertificateV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var certificateName = config.get(\"certificateName\");\n        final var certificateContent = config.get(\"certificateContent\").orElse(\"'-----BEGIN CERTIFICATE-----THIS IS YOUR CERT CONTENT-----END CERTIFICATE-----'\");\n        final var certificatePrivateKey = config.get(\"certificatePrivateKey\").orElse(\"'-----BEGIN PRIVATE KEY-----THIS IS YOUR PRIVATE KEY-----END PRIVATE KEY-----'\");\n        final var dedicatedInstanceId = config.get(\"dedicatedInstanceId\");\n        var test = new ApigwCertificateV2(\"test\", ApigwCertificateV2Args.builder()\n            .name(certificateName)\n            .content(certificateContent)\n            .privateKey(certificatePrivateKey)\n            .type(\"instance\")\n            .instanceId(dedicatedInstanceId)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  certificateName:\n    type: dynamic\n  certificateContent:\n    type: string\n    default: '''-----BEGIN CERTIFICATE-----THIS IS YOUR CERT CONTENT-----END CERTIFICATE-----'''\n  certificatePrivateKey:\n    type: string\n    default: '''-----BEGIN PRIVATE KEY-----THIS IS YOUR PRIVATE KEY-----END PRIVATE KEY-----'''\n  dedicatedInstanceId:\n    type: dynamic\nresources:\n  test:\n    type: opentelekomcloud:ApigwCertificateV2\n    properties:\n      name: ${certificateName}\n      content: ${certificateContent}\n      privateKey: ${certificatePrivateKey}\n      type: instance\n      instanceId: ${dedicatedInstanceId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Manages a local SSL certificate (with the ROOT CA certificate)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst certificateName = config.requireObject\u003cany\u003e(\"certificateName\");\nconst certificateContent = config.get(\"certificateContent\") || \"'-----BEGIN CERTIFICATE-----THIS IS YOUR CERT CONTENT-----END CERTIFICATE-----'\";\nconst certificatePrivateKey = config.get(\"certificatePrivateKey\") || \"'-----BEGIN PRIVATE KEY-----THIS IS YOUR PRIVATE KEY-----END PRIVATE KEY-----'\";\nconst rootCaCertificateContent = config.get(\"rootCaCertificateContent\") || \"'-----BEGIN CERTIFICATE-----THIS IS YOUR CERT CONTENT-----END CERTIFICATE-----'\";\nconst dedicatedInstanceId = config.requireObject\u003cany\u003e(\"dedicatedInstanceId\");\nconst test = new opentelekomcloud.ApigwCertificateV2(\"test\", {\n    name: certificateName,\n    content: certificateContent,\n    privateKey: certificatePrivateKey,\n    trustedRootCa: rootCaCertificateContent,\n    type: \"instance\",\n    instanceId: dedicatedInstanceId,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ncertificate_name = config.require_object(\"certificateName\")\ncertificate_content = config.get(\"certificateContent\")\nif certificate_content is None:\n    certificate_content = \"'-----BEGIN CERTIFICATE-----THIS IS YOUR CERT CONTENT-----END CERTIFICATE-----'\"\ncertificate_private_key = config.get(\"certificatePrivateKey\")\nif certificate_private_key is None:\n    certificate_private_key = \"'-----BEGIN PRIVATE KEY-----THIS IS YOUR PRIVATE KEY-----END PRIVATE KEY-----'\"\nroot_ca_certificate_content = config.get(\"rootCaCertificateContent\")\nif root_ca_certificate_content is None:\n    root_ca_certificate_content = \"'-----BEGIN CERTIFICATE-----THIS IS YOUR CERT CONTENT-----END CERTIFICATE-----'\"\ndedicated_instance_id = config.require_object(\"dedicatedInstanceId\")\ntest = opentelekomcloud.ApigwCertificateV2(\"test\",\n    name=certificate_name,\n    content=certificate_content,\n    private_key=certificate_private_key,\n    trusted_root_ca=root_ca_certificate_content,\n    type=\"instance\",\n    instance_id=dedicated_instance_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var certificateName = config.RequireObject\u003cdynamic\u003e(\"certificateName\");\n    var certificateContent = config.Get(\"certificateContent\") ?? \"'-----BEGIN CERTIFICATE-----THIS IS YOUR CERT CONTENT-----END CERTIFICATE-----'\";\n    var certificatePrivateKey = config.Get(\"certificatePrivateKey\") ?? \"'-----BEGIN PRIVATE KEY-----THIS IS YOUR PRIVATE KEY-----END PRIVATE KEY-----'\";\n    var rootCaCertificateContent = config.Get(\"rootCaCertificateContent\") ?? \"'-----BEGIN CERTIFICATE-----THIS IS YOUR CERT CONTENT-----END CERTIFICATE-----'\";\n    var dedicatedInstanceId = config.RequireObject\u003cdynamic\u003e(\"dedicatedInstanceId\");\n    var test = new Opentelekomcloud.ApigwCertificateV2(\"test\", new()\n    {\n        Name = certificateName,\n        Content = certificateContent,\n        PrivateKey = certificatePrivateKey,\n        TrustedRootCa = rootCaCertificateContent,\n        Type = \"instance\",\n        InstanceId = dedicatedInstanceId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tcertificateName := cfg.RequireObject(\"certificateName\")\n\t\tcertificateContent := \"'-----BEGIN CERTIFICATE-----THIS IS YOUR CERT CONTENT-----END CERTIFICATE-----'\"\n\t\tif param := cfg.Get(\"certificateContent\"); param != \"\" {\n\t\t\tcertificateContent = param\n\t\t}\n\t\tcertificatePrivateKey := \"'-----BEGIN PRIVATE KEY-----THIS IS YOUR PRIVATE KEY-----END PRIVATE KEY-----'\"\n\t\tif param := cfg.Get(\"certificatePrivateKey\"); param != \"\" {\n\t\t\tcertificatePrivateKey = param\n\t\t}\n\t\trootCaCertificateContent := \"'-----BEGIN CERTIFICATE-----THIS IS YOUR CERT CONTENT-----END CERTIFICATE-----'\"\n\t\tif param := cfg.Get(\"rootCaCertificateContent\"); param != \"\" {\n\t\t\trootCaCertificateContent = param\n\t\t}\n\t\tdedicatedInstanceId := cfg.RequireObject(\"dedicatedInstanceId\")\n\t\t_, err := opentelekomcloud.NewApigwCertificateV2(ctx, \"test\", \u0026opentelekomcloud.ApigwCertificateV2Args{\n\t\t\tName:          pulumi.Any(certificateName),\n\t\t\tContent:       pulumi.String(certificateContent),\n\t\t\tPrivateKey:    pulumi.String(certificatePrivateKey),\n\t\t\tTrustedRootCa: pulumi.String(rootCaCertificateContent),\n\t\t\tType:          pulumi.String(\"instance\"),\n\t\t\tInstanceId:    pulumi.Any(dedicatedInstanceId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ApigwCertificateV2;\nimport com.pulumi.opentelekomcloud.ApigwCertificateV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var certificateName = config.get(\"certificateName\");\n        final var certificateContent = config.get(\"certificateContent\").orElse(\"'-----BEGIN CERTIFICATE-----THIS IS YOUR CERT CONTENT-----END CERTIFICATE-----'\");\n        final var certificatePrivateKey = config.get(\"certificatePrivateKey\").orElse(\"'-----BEGIN PRIVATE KEY-----THIS IS YOUR PRIVATE KEY-----END PRIVATE KEY-----'\");\n        final var rootCaCertificateContent = config.get(\"rootCaCertificateContent\").orElse(\"'-----BEGIN CERTIFICATE-----THIS IS YOUR CERT CONTENT-----END CERTIFICATE-----'\");\n        final var dedicatedInstanceId = config.get(\"dedicatedInstanceId\");\n        var test = new ApigwCertificateV2(\"test\", ApigwCertificateV2Args.builder()\n            .name(certificateName)\n            .content(certificateContent)\n            .privateKey(certificatePrivateKey)\n            .trustedRootCa(rootCaCertificateContent)\n            .type(\"instance\")\n            .instanceId(dedicatedInstanceId)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  certificateName:\n    type: dynamic\n  certificateContent:\n    type: string\n    default: '''-----BEGIN CERTIFICATE-----THIS IS YOUR CERT CONTENT-----END CERTIFICATE-----'''\n  certificatePrivateKey:\n    type: string\n    default: '''-----BEGIN PRIVATE KEY-----THIS IS YOUR PRIVATE KEY-----END PRIVATE KEY-----'''\n  rootCaCertificateContent:\n    type: string\n    default: '''-----BEGIN CERTIFICATE-----THIS IS YOUR CERT CONTENT-----END CERTIFICATE-----'''\n  dedicatedInstanceId:\n    type: dynamic\nresources:\n  test:\n    type: opentelekomcloud:ApigwCertificateV2\n    properties:\n      name: ${certificateName}\n      content: ${certificateContent}\n      privateKey: ${certificatePrivateKey}\n      trustedRootCa: ${rootCaCertificateContent}\n      type: instance\n      instanceId: ${dedicatedInstanceId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCertificates can be imported using their `id`, e.g.\n\nbash\n\n```sh\n$ pulumi import opentelekomcloud:index/apigwCertificateV2:ApigwCertificateV2 test \u003cid\u003e\n```\n\nNote that the imported state may not be identical to your resource definition, due to some attributes missing from the\n\nAPI response. The missing attributes include: `content`, `private_key` and `trusted_root_ca`.\n\nIt is generally recommended running `pulumi preview` after importing a certificate.\n\nYou can then decide if changes should be applied to the certificate, or the resource definition should be updated to\n\nalign with the certificate. Also, you can ignore changes as below.\n\nhcl\n\nresource \"opentelekomcloud_apigw_certificate_v2\" \"test\" {\n\n  lifecycle {\n\n    ignore_changes = [\n\n      content, private_key, trusted_root_ca,\n\n    ]\n\n  }\n\n}\n\n","properties":{"apigwCertificateV2Id":{"type":"string","description":"The certificate ID.\n"},"content":{"type":"string","description":"Specifies the certificate content.\n","secret":true},"effectedAt":{"type":"string","description":"The effective time of the certificate, in RFC3339 format (YYYY-MM-DDThh:mm:ssZ).\n"},"expiresAt":{"type":"string","description":"The expiration time of the certificate, in RFC3339 format (YYYY-MM-DDThh:mm:ssZ).\n"},"instanceId":{"type":"string","description":"Specifies the dedicated instance ID to which the certificate belongs.\nRequired if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is **instance**.\nChanging this will create a new resource.\n"},"name":{"type":"string","description":"Specifies the certificate name.\nThe valid length is limited from \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`50`\" pulumi-lang-dotnet=\"`50`\" pulumi-lang-go=\"`50`\" pulumi-lang-python=\"`50`\" pulumi-lang-yaml=\"`50`\" pulumi-lang-java=\"`50`\"\u003e`50`\u003c/span\u003e, only Chinese and English letters, digits and underscores (_) are\nallowed. The name must start with an English letter.\n"},"privateKey":{"type":"string","description":"Specifies the private key of the certificate.\n","secret":true},"region":{"type":"string","description":"The region where the certificate is located.\n"},"sans":{"type":"array","items":{"type":"string"},"description":"The SAN (Subject Alternative Names) of the certificate.\n"},"signatureAlgorithm":{"type":"string","description":"What signature algorithm the certificate uses.\n"},"trustedRootCa":{"type":"string","description":"Specifies the trusted **ROOT CA** certificate.\n\n\u003e Currently, the ROOT CA parameter only certificates of type \u003cspan pulumi-lang-nodejs=\"`instance`\" pulumi-lang-dotnet=\"`Instance`\" pulumi-lang-go=\"`instance`\" pulumi-lang-python=\"`instance`\" pulumi-lang-yaml=\"`instance`\" pulumi-lang-java=\"`instance`\"\u003e`instance`\u003c/span\u003e are support.\n","secret":true},"type":{"type":"string","description":"Specifies the certificate type. The valid values are as follows:\n+ **instance**\n+ **global**\n\nDefaults to **global**. Changing this will create a new resource.\n"}},"type":"object","required":["apigwCertificateV2Id","content","effectedAt","expiresAt","instanceId","name","privateKey","region","sans","signatureAlgorithm","type"],"inputProperties":{"apigwCertificateV2Id":{"type":"string","description":"The certificate ID.\n"},"content":{"type":"string","description":"Specifies the certificate content.\n","secret":true},"instanceId":{"type":"string","description":"Specifies the dedicated instance ID to which the certificate belongs.\nRequired if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is **instance**.\nChanging this will create a new resource.\n"},"name":{"type":"string","description":"Specifies the certificate name.\nThe valid length is limited from \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`50`\" pulumi-lang-dotnet=\"`50`\" pulumi-lang-go=\"`50`\" pulumi-lang-python=\"`50`\" pulumi-lang-yaml=\"`50`\" pulumi-lang-java=\"`50`\"\u003e`50`\u003c/span\u003e, only Chinese and English letters, digits and underscores (_) are\nallowed. The name must start with an English letter.\n"},"privateKey":{"type":"string","description":"Specifies the private key of the certificate.\n","secret":true},"trustedRootCa":{"type":"string","description":"Specifies the trusted **ROOT CA** certificate.\n\n\u003e Currently, the ROOT CA parameter only certificates of type \u003cspan pulumi-lang-nodejs=\"`instance`\" pulumi-lang-dotnet=\"`Instance`\" pulumi-lang-go=\"`instance`\" pulumi-lang-python=\"`instance`\" pulumi-lang-yaml=\"`instance`\" pulumi-lang-java=\"`instance`\"\u003e`instance`\u003c/span\u003e are support.\n","secret":true},"type":{"type":"string","description":"Specifies the certificate type. The valid values are as follows:\n+ **instance**\n+ **global**\n\nDefaults to **global**. Changing this will create a new resource.\n"}},"requiredInputs":["content","privateKey"],"stateInputs":{"description":"Input properties used for looking up and filtering ApigwCertificateV2 resources.\n","properties":{"apigwCertificateV2Id":{"type":"string","description":"The certificate ID.\n"},"content":{"type":"string","description":"Specifies the certificate content.\n","secret":true},"effectedAt":{"type":"string","description":"The effective time of the certificate, in RFC3339 format (YYYY-MM-DDThh:mm:ssZ).\n"},"expiresAt":{"type":"string","description":"The expiration time of the certificate, in RFC3339 format (YYYY-MM-DDThh:mm:ssZ).\n"},"instanceId":{"type":"string","description":"Specifies the dedicated instance ID to which the certificate belongs.\nRequired if \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is **instance**.\nChanging this will create a new resource.\n"},"name":{"type":"string","description":"Specifies the certificate name.\nThe valid length is limited from \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`50`\" pulumi-lang-dotnet=\"`50`\" pulumi-lang-go=\"`50`\" pulumi-lang-python=\"`50`\" pulumi-lang-yaml=\"`50`\" pulumi-lang-java=\"`50`\"\u003e`50`\u003c/span\u003e, only Chinese and English letters, digits and underscores (_) are\nallowed. The name must start with an English letter.\n"},"privateKey":{"type":"string","description":"Specifies the private key of the certificate.\n","secret":true},"region":{"type":"string","description":"The region where the certificate is located.\n"},"sans":{"type":"array","items":{"type":"string"},"description":"The SAN (Subject Alternative Names) of the certificate.\n"},"signatureAlgorithm":{"type":"string","description":"What signature algorithm the certificate uses.\n"},"trustedRootCa":{"type":"string","description":"Specifies the trusted **ROOT CA** certificate.\n\n\u003e Currently, the ROOT CA parameter only certificates of type \u003cspan pulumi-lang-nodejs=\"`instance`\" pulumi-lang-dotnet=\"`Instance`\" pulumi-lang-go=\"`instance`\" pulumi-lang-python=\"`instance`\" pulumi-lang-yaml=\"`instance`\" pulumi-lang-java=\"`instance`\"\u003e`instance`\u003c/span\u003e are support.\n","secret":true},"type":{"type":"string","description":"Specifies the certificate type. The valid values are as follows:\n+ **instance**\n+ **global**\n\nDefaults to **global**. Changing this will create a new resource.\n"}},"type":"object"}},"opentelekomcloud:index/apigwCustomAuthorizerV2:ApigwCustomAuthorizerV2":{"description":"Up-to-date reference of API arguments for API Gateway Custom Authorizer service you can get at\n[documentation portal](https://docs.otc.t-systems.com/api-gateway/api-ref/dedicated_gateway_apis_v2/custom_authorizer_management/index.html)\n\nManages an APIGW custom authorizer resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst gatewayId = config.requireObject\u003cany\u003e(\"gatewayId\");\nconst authorizerName = config.requireObject\u003cany\u003e(\"authorizerName\");\nconst functionUrn = config.requireObject\u003cany\u003e(\"functionUrn\");\nconst test = new opentelekomcloud.ApigwCustomAuthorizerV2(\"test\", {\n    gatewayId: gatewayId,\n    name: authorizerName,\n    functionUrn: functionUrn,\n    type: \"FRONTEND\",\n    ttl: 60,\n    identities: [{\n        name: \"user_name\",\n        location: \"QUERY\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ngateway_id = config.require_object(\"gatewayId\")\nauthorizer_name = config.require_object(\"authorizerName\")\nfunction_urn = config.require_object(\"functionUrn\")\ntest = opentelekomcloud.ApigwCustomAuthorizerV2(\"test\",\n    gateway_id=gateway_id,\n    name=authorizer_name,\n    function_urn=function_urn,\n    type=\"FRONTEND\",\n    ttl=60,\n    identities=[{\n        \"name\": \"user_name\",\n        \"location\": \"QUERY\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var gatewayId = config.RequireObject\u003cdynamic\u003e(\"gatewayId\");\n    var authorizerName = config.RequireObject\u003cdynamic\u003e(\"authorizerName\");\n    var functionUrn = config.RequireObject\u003cdynamic\u003e(\"functionUrn\");\n    var test = new Opentelekomcloud.ApigwCustomAuthorizerV2(\"test\", new()\n    {\n        GatewayId = gatewayId,\n        Name = authorizerName,\n        FunctionUrn = functionUrn,\n        Type = \"FRONTEND\",\n        Ttl = 60,\n        Identities = new[]\n        {\n            new Opentelekomcloud.Inputs.ApigwCustomAuthorizerV2IdentityArgs\n            {\n                Name = \"user_name\",\n                Location = \"QUERY\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tgatewayId := cfg.RequireObject(\"gatewayId\")\n\t\tauthorizerName := cfg.RequireObject(\"authorizerName\")\n\t\tfunctionUrn := cfg.RequireObject(\"functionUrn\")\n\t\t_, err := opentelekomcloud.NewApigwCustomAuthorizerV2(ctx, \"test\", \u0026opentelekomcloud.ApigwCustomAuthorizerV2Args{\n\t\t\tGatewayId:   pulumi.Any(gatewayId),\n\t\t\tName:        pulumi.Any(authorizerName),\n\t\t\tFunctionUrn: pulumi.Any(functionUrn),\n\t\t\tType:        pulumi.String(\"FRONTEND\"),\n\t\t\tTtl:         pulumi.Float64(60),\n\t\t\tIdentities: opentelekomcloud.ApigwCustomAuthorizerV2IdentityArray{\n\t\t\t\t\u0026opentelekomcloud.ApigwCustomAuthorizerV2IdentityArgs{\n\t\t\t\t\tName:     pulumi.String(\"user_name\"),\n\t\t\t\t\tLocation: pulumi.String(\"QUERY\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ApigwCustomAuthorizerV2;\nimport com.pulumi.opentelekomcloud.ApigwCustomAuthorizerV2Args;\nimport com.pulumi.opentelekomcloud.inputs.ApigwCustomAuthorizerV2IdentityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var gatewayId = config.get(\"gatewayId\");\n        final var authorizerName = config.get(\"authorizerName\");\n        final var functionUrn = config.get(\"functionUrn\");\n        var test = new ApigwCustomAuthorizerV2(\"test\", ApigwCustomAuthorizerV2Args.builder()\n            .gatewayId(gatewayId)\n            .name(authorizerName)\n            .functionUrn(functionUrn)\n            .type(\"FRONTEND\")\n            .ttl(60.0)\n            .identities(ApigwCustomAuthorizerV2IdentityArgs.builder()\n                .name(\"user_name\")\n                .location(\"QUERY\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  gatewayId:\n    type: dynamic\n  authorizerName:\n    type: dynamic\n  functionUrn:\n    type: dynamic\nresources:\n  test:\n    type: opentelekomcloud:ApigwCustomAuthorizerV2\n    properties:\n      gatewayId: ${gatewayId}\n      name: ${authorizerName}\n      functionUrn: ${functionUrn}\n      type: FRONTEND\n      ttl: 60\n      identities:\n        - name: user_name\n          location: QUERY\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCustom Authorizers of the APIGW can be imported using their `name` and related dedicated gateway IDs, separated by a\n\nslash, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/apigwCustomAuthorizerV2:ApigwCustomAuthorizerV2 test \u003cgateway_id\u003e/\u003cname\u003e\n```\n\n","properties":{"apigwCustomAuthorizerV2Id":{"type":"string","description":"ID of the custom authorizer.\n"},"createdAt":{"type":"string","description":"The creation time of the custom authorizer.\n"},"functionUrn":{"type":"string","description":"Specifies the uniform function URN of the function graph resource.\n"},"gatewayId":{"type":"string","description":"Specifies an ID of the APIGW dedicated instance to which the\ncustom authorizer belongs to.\nChanging this will create a new custom authorizer resource.\n"},"identities":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FApigwCustomAuthorizerV2Identity:ApigwCustomAuthorizerV2Identity"},"description":"Specifies an array of one or more parameter identities of the custom authorizer.\nThe object structure is documented below.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"authorizerIdentity\"\" pulumi-lang-dotnet=\"\"AuthorizerIdentity\"\" pulumi-lang-go=\"\"authorizerIdentity\"\" pulumi-lang-python=\"\"authorizer_identity\"\" pulumi-lang-yaml=\"\"authorizerIdentity\"\" pulumi-lang-java=\"\"authorizerIdentity\"\"\u003e\"authorizer_identity\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block supports:\n"},"isBodySend":{"type":"boolean","description":"Specifies whether to send the body.\n"},"name":{"type":"string","description":"Specifies the name of the parameter to be verified.\nThe parameter includes front-end and back-end parameters.\n"},"region":{"type":"string","description":"The region in which to create the custom authorizer resource.\n"},"ttl":{"type":"number","description":"Specifies the maximum cache age.\n"},"type":{"type":"string","description":"Specifies the custom authorize type.\nThe valid values are `FRONTEND` and `BACKEND`. Defaults to `FRONTEND`.\nChanging this will create a new custom authorizer resource.\n"},"userData":{"type":"string","description":"Specifies the user data, which can contain a maximum of `2,048` characters.\nThe user data is used by APIGW to invoke the specified authentication function when accessing the backend service.\n\n\u003e **NOTE:** The user data will be displayed in plain text on the console.\n"}},"type":"object","required":["apigwCustomAuthorizerV2Id","createdAt","functionUrn","gatewayId","name","region"],"inputProperties":{"apigwCustomAuthorizerV2Id":{"type":"string","description":"ID of the custom authorizer.\n"},"functionUrn":{"type":"string","description":"Specifies the uniform function URN of the function graph resource.\n"},"gatewayId":{"type":"string","description":"Specifies an ID of the APIGW dedicated instance to which the\ncustom authorizer belongs to.\nChanging this will create a new custom authorizer resource.\n"},"identities":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FApigwCustomAuthorizerV2Identity:ApigwCustomAuthorizerV2Identity"},"description":"Specifies an array of one or more parameter identities of the custom authorizer.\nThe object structure is documented below.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"authorizerIdentity\"\" pulumi-lang-dotnet=\"\"AuthorizerIdentity\"\" pulumi-lang-go=\"\"authorizerIdentity\"\" pulumi-lang-python=\"\"authorizer_identity\"\" pulumi-lang-yaml=\"\"authorizerIdentity\"\" pulumi-lang-java=\"\"authorizerIdentity\"\"\u003e\"authorizer_identity\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block supports:\n"},"isBodySend":{"type":"boolean","description":"Specifies whether to send the body.\n"},"name":{"type":"string","description":"Specifies the name of the parameter to be verified.\nThe parameter includes front-end and back-end parameters.\n"},"ttl":{"type":"number","description":"Specifies the maximum cache age.\n"},"type":{"type":"string","description":"Specifies the custom authorize type.\nThe valid values are `FRONTEND` and `BACKEND`. Defaults to `FRONTEND`.\nChanging this will create a new custom authorizer resource.\n"},"userData":{"type":"string","description":"Specifies the user data, which can contain a maximum of `2,048` characters.\nThe user data is used by APIGW to invoke the specified authentication function when accessing the backend service.\n\n\u003e **NOTE:** The user data will be displayed in plain text on the console.\n"}},"requiredInputs":["functionUrn","gatewayId"],"stateInputs":{"description":"Input properties used for looking up and filtering ApigwCustomAuthorizerV2 resources.\n","properties":{"apigwCustomAuthorizerV2Id":{"type":"string","description":"ID of the custom authorizer.\n"},"createdAt":{"type":"string","description":"The creation time of the custom authorizer.\n"},"functionUrn":{"type":"string","description":"Specifies the uniform function URN of the function graph resource.\n"},"gatewayId":{"type":"string","description":"Specifies an ID of the APIGW dedicated instance to which the\ncustom authorizer belongs to.\nChanging this will create a new custom authorizer resource.\n"},"identities":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FApigwCustomAuthorizerV2Identity:ApigwCustomAuthorizerV2Identity"},"description":"Specifies an array of one or more parameter identities of the custom authorizer.\nThe object structure is documented below.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"authorizerIdentity\"\" pulumi-lang-dotnet=\"\"AuthorizerIdentity\"\" pulumi-lang-go=\"\"authorizerIdentity\"\" pulumi-lang-python=\"\"authorizer_identity\"\" pulumi-lang-yaml=\"\"authorizerIdentity\"\" pulumi-lang-java=\"\"authorizerIdentity\"\"\u003e\"authorizer_identity\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\"\u003e`identity`\u003c/span\u003e block supports:\n"},"isBodySend":{"type":"boolean","description":"Specifies whether to send the body.\n"},"name":{"type":"string","description":"Specifies the name of the parameter to be verified.\nThe parameter includes front-end and back-end parameters.\n"},"region":{"type":"string","description":"The region in which to create the custom authorizer resource.\n"},"ttl":{"type":"number","description":"Specifies the maximum cache age.\n"},"type":{"type":"string","description":"Specifies the custom authorize type.\nThe valid values are `FRONTEND` and `BACKEND`. Defaults to `FRONTEND`.\nChanging this will create a new custom authorizer resource.\n"},"userData":{"type":"string","description":"Specifies the user data, which can contain a maximum of `2,048` characters.\nThe user data is used by APIGW to invoke the specified authentication function when accessing the backend service.\n\n\u003e **NOTE:** The user data will be displayed in plain text on the console.\n"}},"type":"object"}},"opentelekomcloud:index/apigwEnvironmentV2:ApigwEnvironmentV2":{"description":"Up-to-date reference of API arguments for API Gateway environment service you can get at\n[documentation portal](https://docs.otc.t-systems.com/api-gateway/api-ref/dedicated_gateway_apis_v2/index.html)\n\nAPI Gateway (APIGW) is a high-performance, high-availability, and high-security API hosting service that helps you build,\nmanage, and deploy APIs at any scale.\nWith just a few clicks, you can integrate internal systems, and selectively expose capabilities with minimal costs and risks.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst instanceId = config.requireObject\u003cany\u003e(\"instanceId\");\nconst environmentName = config.requireObject\u003cany\u003e(\"environmentName\");\nconst description = config.requireObject\u003cany\u003e(\"description\");\nconst test = new opentelekomcloud.ApigwEnvironmentV2(\"test\", {\n    instanceId: instanceId,\n    name: environmentName,\n    description: description,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ninstance_id = config.require_object(\"instanceId\")\nenvironment_name = config.require_object(\"environmentName\")\ndescription = config.require_object(\"description\")\ntest = opentelekomcloud.ApigwEnvironmentV2(\"test\",\n    instance_id=instance_id,\n    name=environment_name,\n    description=description)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var instanceId = config.RequireObject\u003cdynamic\u003e(\"instanceId\");\n    var environmentName = config.RequireObject\u003cdynamic\u003e(\"environmentName\");\n    var description = config.RequireObject\u003cdynamic\u003e(\"description\");\n    var test = new Opentelekomcloud.ApigwEnvironmentV2(\"test\", new()\n    {\n        InstanceId = instanceId,\n        Name = environmentName,\n        Description = description,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tinstanceId := cfg.RequireObject(\"instanceId\")\n\t\tenvironmentName := cfg.RequireObject(\"environmentName\")\n\t\tdescription := cfg.RequireObject(\"description\")\n\t\t_, err := opentelekomcloud.NewApigwEnvironmentV2(ctx, \"test\", \u0026opentelekomcloud.ApigwEnvironmentV2Args{\n\t\t\tInstanceId:  pulumi.Any(instanceId),\n\t\t\tName:        pulumi.Any(environmentName),\n\t\t\tDescription: pulumi.Any(description),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ApigwEnvironmentV2;\nimport com.pulumi.opentelekomcloud.ApigwEnvironmentV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var instanceId = config.get(\"instanceId\");\n        final var environmentName = config.get(\"environmentName\");\n        final var description = config.get(\"description\");\n        var test = new ApigwEnvironmentV2(\"test\", ApigwEnvironmentV2Args.builder()\n            .instanceId(instanceId)\n            .name(environmentName)\n            .description(description)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  instanceId:\n    type: dynamic\n  environmentName:\n    type: dynamic\n  description:\n    type: dynamic\nresources:\n  test:\n    type: opentelekomcloud:ApigwEnvironmentV2\n    properties:\n      instanceId: ${instanceId}\n      name: ${environmentName}\n      description: ${description}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nEnvironments can be imported using their `name` and the ID of the related dedicated instance, separated by a slash, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/apigwEnvironmentV2:ApigwEnvironmentV2 test instance_id/name\n```\n","properties":{"apigwEnvironmentV2Id":{"type":"string","description":"The ID of the dedicated environment.\n"},"createdAt":{"type":"string","description":"The time when the environment was created.\n"},"description":{"type":"string","description":"Specifies the environment description.\nThe value can contain a maximum of \u003cspan pulumi-lang-nodejs=\"`255`\" pulumi-lang-dotnet=\"`255`\" pulumi-lang-go=\"`255`\" pulumi-lang-python=\"`255`\" pulumi-lang-yaml=\"`255`\" pulumi-lang-java=\"`255`\"\u003e`255`\u003c/span\u003e characters, and the angle brackets (\u003c and \u003e) are not allowed.\n"},"instanceId":{"type":"string","description":"Specifies the ID of the dedicated instance to which the environment\nbelongs.\nChanging this will create a new resource.\n"},"name":{"type":"string","description":"Specifies the environment name.\nThe valid length is limited from \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e, only letters, digits and underscores (_) are allowed.\nThe name must start with a letter.\n"},"region":{"type":"string","description":"Specifies the region where the dedicated instance is located.\nIf omitted, the provider-level region will be used. Changing this will create a new resource.\n"}},"type":"object","required":["apigwEnvironmentV2Id","createdAt","instanceId","name","region"],"inputProperties":{"apigwEnvironmentV2Id":{"type":"string","description":"The ID of the dedicated environment.\n"},"description":{"type":"string","description":"Specifies the environment description.\nThe value can contain a maximum of \u003cspan pulumi-lang-nodejs=\"`255`\" pulumi-lang-dotnet=\"`255`\" pulumi-lang-go=\"`255`\" pulumi-lang-python=\"`255`\" pulumi-lang-yaml=\"`255`\" pulumi-lang-java=\"`255`\"\u003e`255`\u003c/span\u003e characters, and the angle brackets (\u003c and \u003e) are not allowed.\n"},"instanceId":{"type":"string","description":"Specifies the ID of the dedicated instance to which the environment\nbelongs.\nChanging this will create a new resource.\n"},"name":{"type":"string","description":"Specifies the environment name.\nThe valid length is limited from \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e, only letters, digits and underscores (_) are allowed.\nThe name must start with a letter.\n"},"region":{"type":"string","description":"Specifies the region where the dedicated instance is located.\nIf omitted, the provider-level region will be used. Changing this will create a new resource.\n"}},"requiredInputs":["instanceId"],"stateInputs":{"description":"Input properties used for looking up and filtering ApigwEnvironmentV2 resources.\n","properties":{"apigwEnvironmentV2Id":{"type":"string","description":"The ID of the dedicated environment.\n"},"createdAt":{"type":"string","description":"The time when the environment was created.\n"},"description":{"type":"string","description":"Specifies the environment description.\nThe value can contain a maximum of \u003cspan pulumi-lang-nodejs=\"`255`\" pulumi-lang-dotnet=\"`255`\" pulumi-lang-go=\"`255`\" pulumi-lang-python=\"`255`\" pulumi-lang-yaml=\"`255`\" pulumi-lang-java=\"`255`\"\u003e`255`\u003c/span\u003e characters, and the angle brackets (\u003c and \u003e) are not allowed.\n"},"instanceId":{"type":"string","description":"Specifies the ID of the dedicated instance to which the environment\nbelongs.\nChanging this will create a new resource.\n"},"name":{"type":"string","description":"Specifies the environment name.\nThe valid length is limited from \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e, only letters, digits and underscores (_) are allowed.\nThe name must start with a letter.\n"},"region":{"type":"string","description":"Specifies the region where the dedicated instance is located.\nIf omitted, the provider-level region will be used. Changing this will create a new resource.\n"}},"type":"object"}},"opentelekomcloud:index/apigwEnvironmentVariableV2:ApigwEnvironmentVariableV2":{"description":"Up-to-date reference of API arguments for API Gateway environment variable service you can get at\n[documentation portal](https://docs.otc.t-systems.com/api-gateway/api-ref/dedicated_gateway_apis_v2/environment_variable_management/index.html)\n\nManages an APIGW environment variable resource within OpenTelekomCloud.\n\n\u003e A maximum of \u003cspan pulumi-lang-nodejs=\"`50`\" pulumi-lang-dotnet=\"`50`\" pulumi-lang-go=\"`50`\" pulumi-lang-python=\"`50`\" pulumi-lang-yaml=\"`50`\" pulumi-lang-java=\"`50`\"\u003e`50`\u003c/span\u003e variables can be created on the same environment.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst gatewayId = config.requireObject\u003cany\u003e(\"gatewayId\");\nconst environmentId = config.requireObject\u003cany\u003e(\"environmentId\");\nconst groupId = config.requireObject\u003cany\u003e(\"groupId\");\nconst variableName = config.requireObject\u003cany\u003e(\"variableName\");\nconst variableValue = config.requireObject\u003cany\u003e(\"variableValue\");\nconst _var = new opentelekomcloud.ApigwEnvironmentVariableV2(\"var\", {\n    gatewayId: gatewayId,\n    environmentId: environmentId,\n    groupId: groupId,\n    name: variableName,\n    value: variableValue,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ngateway_id = config.require_object(\"gatewayId\")\nenvironment_id = config.require_object(\"environmentId\")\ngroup_id = config.require_object(\"groupId\")\nvariable_name = config.require_object(\"variableName\")\nvariable_value = config.require_object(\"variableValue\")\nvar = opentelekomcloud.ApigwEnvironmentVariableV2(\"var\",\n    gateway_id=gateway_id,\n    environment_id=environment_id,\n    group_id=group_id,\n    name=variable_name,\n    value=variable_value)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var gatewayId = config.RequireObject\u003cdynamic\u003e(\"gatewayId\");\n    var environmentId = config.RequireObject\u003cdynamic\u003e(\"environmentId\");\n    var groupId = config.RequireObject\u003cdynamic\u003e(\"groupId\");\n    var variableName = config.RequireObject\u003cdynamic\u003e(\"variableName\");\n    var variableValue = config.RequireObject\u003cdynamic\u003e(\"variableValue\");\n    var @var = new Opentelekomcloud.ApigwEnvironmentVariableV2(\"var\", new()\n    {\n        GatewayId = gatewayId,\n        EnvironmentId = environmentId,\n        GroupId = groupId,\n        Name = variableName,\n        Value = variableValue,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tgatewayId := cfg.RequireObject(\"gatewayId\")\n\t\tenvironmentId := cfg.RequireObject(\"environmentId\")\n\t\tgroupId := cfg.RequireObject(\"groupId\")\n\t\tvariableName := cfg.RequireObject(\"variableName\")\n\t\tvariableValue := cfg.RequireObject(\"variableValue\")\n\t\t_, err := opentelekomcloud.NewApigwEnvironmentVariableV2(ctx, \"var\", \u0026opentelekomcloud.ApigwEnvironmentVariableV2Args{\n\t\t\tGatewayId:     pulumi.Any(gatewayId),\n\t\t\tEnvironmentId: pulumi.Any(environmentId),\n\t\t\tGroupId:       pulumi.Any(groupId),\n\t\t\tName:          pulumi.Any(variableName),\n\t\t\tValue:         pulumi.Any(variableValue),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ApigwEnvironmentVariableV2;\nimport com.pulumi.opentelekomcloud.ApigwEnvironmentVariableV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var gatewayId = config.get(\"gatewayId\");\n        final var environmentId = config.get(\"environmentId\");\n        final var groupId = config.get(\"groupId\");\n        final var variableName = config.get(\"variableName\");\n        final var variableValue = config.get(\"variableValue\");\n        var var_ = new ApigwEnvironmentVariableV2(\"var\", ApigwEnvironmentVariableV2Args.builder()\n            .gatewayId(gatewayId)\n            .environmentId(environmentId)\n            .groupId(groupId)\n            .name(variableName)\n            .value(variableValue)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  gatewayId:\n    type: dynamic\n  environmentId:\n    type: dynamic\n  groupId:\n    type: dynamic\n  variableName:\n    type: dynamic\n  variableValue:\n    type: dynamic\nresources:\n  var:\n    type: opentelekomcloud:ApigwEnvironmentVariableV2\n    properties:\n      gatewayId: ${gatewayId}\n      environmentId: ${environmentId}\n      groupId: ${groupId}\n      name: ${variableName}\n      value: ${variableValue}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe resource can be imported using `gateway_id`, `group_id` and `name`, separated by slashes (/), e.g.\n\nbash\n\n```sh\n$ pulumi import opentelekomcloud:index/apigwEnvironmentVariableV2:ApigwEnvironmentVariableV2 test \u003cgateway_id\u003e/\u003cgroup_id\u003e/\u003cname\u003e\n```\n\n","properties":{"apigwEnvironmentVariableV2Id":{"type":"string","description":"The resource ID.\n"},"environmentId":{"type":"string","description":"Specifies the ID of the environment to which the environment variable belongs.\nChanging this creates a new resource.\n"},"gatewayId":{"type":"string","description":"Specifies the ID of the dedicated gateway instance to which the environment\nvariable belongs. Changing this creates a new resource.\n"},"groupId":{"type":"string","description":"Specifies the ID of the group to which the environment variable belongs.\nChanging this creates a new resource.\n"},"name":{"type":"string","description":"Specifies the name of the environment variable.\nThe valid length is limited from \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e characters.\nOnly letters, digits, hyphens `-`, and underscores `_` are allowed, and must start with a letter.\nIn the definition of an API, the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e (`case-sensitive`) indicates a variable, for example, `#Name#`.\nIt is replaced by the actual value when the API is published in an environment. The variable name must be unique.\nChanging this creates a new resource.\n"},"region":{"type":"string","description":"The region where the dedicated instance is located.\n"},"value":{"type":"string","description":"Specifies the value of the environment variable.\nThe valid length is limited from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`255`\" pulumi-lang-dotnet=\"`255`\" pulumi-lang-go=\"`255`\" pulumi-lang-python=\"`255`\" pulumi-lang-yaml=\"`255`\" pulumi-lang-java=\"`255`\"\u003e`255`\u003c/span\u003e characters. Only letters, digits and special characters `_-/.:` are allowed.\nChanging this creates a new resource.\n"}},"type":"object","required":["apigwEnvironmentVariableV2Id","environmentId","gatewayId","groupId","name","region","value"],"inputProperties":{"apigwEnvironmentVariableV2Id":{"type":"string","description":"The resource ID.\n"},"environmentId":{"type":"string","description":"Specifies the ID of the environment to which the environment variable belongs.\nChanging this creates a new resource.\n"},"gatewayId":{"type":"string","description":"Specifies the ID of the dedicated gateway instance to which the environment\nvariable belongs. Changing this creates a new resource.\n"},"groupId":{"type":"string","description":"Specifies the ID of the group to which the environment variable belongs.\nChanging this creates a new resource.\n"},"name":{"type":"string","description":"Specifies the name of the environment variable.\nThe valid length is limited from \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e characters.\nOnly letters, digits, hyphens `-`, and underscores `_` are allowed, and must start with a letter.\nIn the definition of an API, the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e (`case-sensitive`) indicates a variable, for example, `#Name#`.\nIt is replaced by the actual value when the API is published in an environment. The variable name must be unique.\nChanging this creates a new resource.\n"},"value":{"type":"string","description":"Specifies the value of the environment variable.\nThe valid length is limited from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`255`\" pulumi-lang-dotnet=\"`255`\" pulumi-lang-go=\"`255`\" pulumi-lang-python=\"`255`\" pulumi-lang-yaml=\"`255`\" pulumi-lang-java=\"`255`\"\u003e`255`\u003c/span\u003e characters. Only letters, digits and special characters `_-/.:` are allowed.\nChanging this creates a new resource.\n"}},"requiredInputs":["environmentId","gatewayId","groupId","value"],"stateInputs":{"description":"Input properties used for looking up and filtering ApigwEnvironmentVariableV2 resources.\n","properties":{"apigwEnvironmentVariableV2Id":{"type":"string","description":"The resource ID.\n"},"environmentId":{"type":"string","description":"Specifies the ID of the environment to which the environment variable belongs.\nChanging this creates a new resource.\n"},"gatewayId":{"type":"string","description":"Specifies the ID of the dedicated gateway instance to which the environment\nvariable belongs. Changing this creates a new resource.\n"},"groupId":{"type":"string","description":"Specifies the ID of the group to which the environment variable belongs.\nChanging this creates a new resource.\n"},"name":{"type":"string","description":"Specifies the name of the environment variable.\nThe valid length is limited from \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e characters.\nOnly letters, digits, hyphens `-`, and underscores `_` are allowed, and must start with a letter.\nIn the definition of an API, the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e (`case-sensitive`) indicates a variable, for example, `#Name#`.\nIt is replaced by the actual value when the API is published in an environment. The variable name must be unique.\nChanging this creates a new resource.\n"},"region":{"type":"string","description":"The region where the dedicated instance is located.\n"},"value":{"type":"string","description":"Specifies the value of the environment variable.\nThe valid length is limited from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`255`\" pulumi-lang-dotnet=\"`255`\" pulumi-lang-go=\"`255`\" pulumi-lang-python=\"`255`\" pulumi-lang-yaml=\"`255`\" pulumi-lang-java=\"`255`\"\u003e`255`\u003c/span\u003e characters. Only letters, digits and special characters `_-/.:` are allowed.\nChanging this creates a new resource.\n"}},"type":"object"}},"opentelekomcloud:index/apigwGatewayFeatureV2:ApigwGatewayFeatureV2":{"description":"Up-to-date reference of API arguments for API Gateway environment variable service you can get at\n[documentation portal](https://docs.otc.t-systems.com/api-gateway/api-ref/dedicated_gateway_apis_v2/gateway_feature_management/configuring_a_feature_for_a_gateway.html)\n\nManages an APIGW gateway feature resource within OpenTelekomCloud.\n\n\u003e For various types of feature parameter configurations, please refer to the\n   [documentation](https://docs.otc.t-systems.com/api-gateway/api-ref/appendix/supported_features.html#apig-api-20200402).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst gatewayId = config.requireObject\u003cany\u003e(\"gatewayId\");\nconst feat = new opentelekomcloud.ApigwGatewayFeatureV2(\"feat\", {\n    gatewayId: gatewayId,\n    name: \"ratelimit\",\n    enabled: true,\n    config: JSON.stringify({\n        api_limits: 300,\n    }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ngateway_id = config.require_object(\"gatewayId\")\nfeat = opentelekomcloud.ApigwGatewayFeatureV2(\"feat\",\n    gateway_id=gateway_id,\n    name=\"ratelimit\",\n    enabled=True,\n    config=json.dumps({\n        \"api_limits\": 300,\n    }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var gatewayId = config.RequireObject\u003cdynamic\u003e(\"gatewayId\");\n    var feat = new Opentelekomcloud.ApigwGatewayFeatureV2(\"feat\", new()\n    {\n        GatewayId = gatewayId,\n        Name = \"ratelimit\",\n        Enabled = true,\n        Config = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n        {\n            [\"api_limits\"] = 300,\n        }),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tgatewayId := cfg.RequireObject(\"gatewayId\")\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"api_limits\": 300,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t_, err = opentelekomcloud.NewApigwGatewayFeatureV2(ctx, \"feat\", \u0026opentelekomcloud.ApigwGatewayFeatureV2Args{\n\t\t\tGatewayId: pulumi.Any(gatewayId),\n\t\t\tName:      pulumi.String(\"ratelimit\"),\n\t\t\tEnabled:   pulumi.Bool(true),\n\t\t\tConfig:    pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ApigwGatewayFeatureV2;\nimport com.pulumi.opentelekomcloud.ApigwGatewayFeatureV2Args;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var gatewayId = config.get(\"gatewayId\");\n        var feat = new ApigwGatewayFeatureV2(\"feat\", ApigwGatewayFeatureV2Args.builder()\n            .gatewayId(gatewayId)\n            .name(\"ratelimit\")\n            .enabled(true)\n            .config(serializeJson(\n                jsonObject(\n                    jsonProperty(\"api_limits\", 300)\n                )))\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  gatewayId:\n    type: dynamic\nresources:\n  feat:\n    type: opentelekomcloud:ApigwGatewayFeatureV2\n    properties:\n      gatewayId: ${gatewayId}\n      name: ratelimit\n      enabled: true\n      config:\n        fn::toJSON:\n          api_limits: 300\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe resource can be imported using `gateway_id` and `name`, separated by a slash (/), e.g.\n\nbash\n\n```sh\n$ pulumi import opentelekomcloud:index/apigwGatewayFeatureV2:ApigwGatewayFeatureV2 feat \u003cgateway_id\u003e/\u003cname\u003e\n```\n\n","properties":{"apigwGatewayFeatureV2Id":{"type":"string","description":"The resource ID. The value is the feature name.\n"},"config":{"type":"string","description":"Specified the detailed configuration of the feature.\n"},"enabled":{"type":"boolean","description":"Specified whether to enable the feature. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"gatewayId":{"type":"string","description":"Specified the ID of the dedicated gateway to which the feature belongs.\nChanging this creates a new resource.\n"},"name":{"type":"string","description":"Specified the name of the feature.\nChanging this creates a new resource.\n"},"region":{"type":"string","description":"The region in which to create the resource.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FApigwGatewayFeatureV2Timeouts:ApigwGatewayFeatureV2Timeouts"}},"type":"object","required":["apigwGatewayFeatureV2Id","gatewayId","name","region"],"inputProperties":{"apigwGatewayFeatureV2Id":{"type":"string","description":"The resource ID. The value is the feature name.\n"},"config":{"type":"string","description":"Specified the detailed configuration of the feature.\n"},"enabled":{"type":"boolean","description":"Specified whether to enable the feature. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"gatewayId":{"type":"string","description":"Specified the ID of the dedicated gateway to which the feature belongs.\nChanging this creates a new resource.\n"},"name":{"type":"string","description":"Specified the name of the feature.\nChanging this creates a new resource.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FApigwGatewayFeatureV2Timeouts:ApigwGatewayFeatureV2Timeouts"}},"requiredInputs":["gatewayId"],"stateInputs":{"description":"Input properties used for looking up and filtering ApigwGatewayFeatureV2 resources.\n","properties":{"apigwGatewayFeatureV2Id":{"type":"string","description":"The resource ID. The value is the feature name.\n"},"config":{"type":"string","description":"Specified the detailed configuration of the feature.\n"},"enabled":{"type":"boolean","description":"Specified whether to enable the feature. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"gatewayId":{"type":"string","description":"Specified the ID of the dedicated gateway to which the feature belongs.\nChanging this creates a new resource.\n"},"name":{"type":"string","description":"Specified the name of the feature.\nChanging this creates a new resource.\n"},"region":{"type":"string","description":"The region in which to create the resource.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FApigwGatewayFeatureV2Timeouts:ApigwGatewayFeatureV2Timeouts"}},"type":"object"}},"opentelekomcloud:index/apigwGatewayRoutesV2:ApigwGatewayRoutesV2":{"description":"Up-to-date reference of API arguments for API Gateway environment variable service you can get at\n[documentation portal](https://docs.otc.t-systems.com/api-gateway/api-ref/dedicated_gateway_apis_v2/gateway_feature_management/configuring_a_feature_for_a_gateway.html)\n\nManages a APIGW gateway routes resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst gatewayId = config.requireObject\u003cany\u003e(\"gatewayId\");\nconst rt = new opentelekomcloud.ApigwGatewayRoutesV2(\"rt\", {\n    gatewayId: gatewayId,\n    nexthops: [\n        \"172.16.3.0/24\",\n        \"172.16.7.0/24\",\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ngateway_id = config.require_object(\"gatewayId\")\nrt = opentelekomcloud.ApigwGatewayRoutesV2(\"rt\",\n    gateway_id=gateway_id,\n    nexthops=[\n        \"172.16.3.0/24\",\n        \"172.16.7.0/24\",\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var gatewayId = config.RequireObject\u003cdynamic\u003e(\"gatewayId\");\n    var rt = new Opentelekomcloud.ApigwGatewayRoutesV2(\"rt\", new()\n    {\n        GatewayId = gatewayId,\n        Nexthops = new[]\n        {\n            \"172.16.3.0/24\",\n            \"172.16.7.0/24\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tgatewayId := cfg.RequireObject(\"gatewayId\")\n\t\t_, err := opentelekomcloud.NewApigwGatewayRoutesV2(ctx, \"rt\", \u0026opentelekomcloud.ApigwGatewayRoutesV2Args{\n\t\t\tGatewayId: pulumi.Any(gatewayId),\n\t\t\tNexthops: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"172.16.3.0/24\"),\n\t\t\t\tpulumi.String(\"172.16.7.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ApigwGatewayRoutesV2;\nimport com.pulumi.opentelekomcloud.ApigwGatewayRoutesV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var gatewayId = config.get(\"gatewayId\");\n        var rt = new ApigwGatewayRoutesV2(\"rt\", ApigwGatewayRoutesV2Args.builder()\n            .gatewayId(gatewayId)\n            .nexthops(            \n                \"172.16.3.0/24\",\n                \"172.16.7.0/24\")\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  gatewayId:\n    type: dynamic\nresources:\n  rt:\n    type: opentelekomcloud:ApigwGatewayRoutesV2\n    properties:\n      gatewayId: ${gatewayId}\n      nexthops:\n        - 172.16.3.0/24\n        - 172.16.7.0/24\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRoutes can be imported using their related dedicated instance ID (`gateway_id`), e.g.\n\nbash\n\n```sh\n$ pulumi import opentelekomcloud:index/apigwGatewayRoutesV2:ApigwGatewayRoutesV2 rt 628001b3c5eg6d3e91a8da530f46427y\n```\n\n","properties":{"apigwGatewayRoutesV2Id":{"type":"string","description":"The resource ID (gateway ID).\n"},"gatewayId":{"type":"string","description":"Specifies the ID of the dedicated gateway to which the routes belong.\nChanging this will create a new resource.\n"},"nexthops":{"type":"array","items":{"type":"string"},"description":"Specifies the configuration of the next-hop routes.\n\n\u003e The network segment of the next hop cannot overlap with the network segment of the APIGW gateway.\n"},"region":{"type":"string","description":"The region where the dedicated gateway and routes are located.\n"}},"type":"object","required":["apigwGatewayRoutesV2Id","gatewayId","nexthops","region"],"inputProperties":{"apigwGatewayRoutesV2Id":{"type":"string","description":"The resource ID (gateway ID).\n"},"gatewayId":{"type":"string","description":"Specifies the ID of the dedicated gateway to which the routes belong.\nChanging this will create a new resource.\n"},"nexthops":{"type":"array","items":{"type":"string"},"description":"Specifies the configuration of the next-hop routes.\n\n\u003e The network segment of the next hop cannot overlap with the network segment of the APIGW gateway.\n"}},"requiredInputs":["gatewayId","nexthops"],"stateInputs":{"description":"Input properties used for looking up and filtering ApigwGatewayRoutesV2 resources.\n","properties":{"apigwGatewayRoutesV2Id":{"type":"string","description":"The resource ID (gateway ID).\n"},"gatewayId":{"type":"string","description":"Specifies the ID of the dedicated gateway to which the routes belong.\nChanging this will create a new resource.\n"},"nexthops":{"type":"array","items":{"type":"string"},"description":"Specifies the configuration of the next-hop routes.\n\n\u003e The network segment of the next hop cannot overlap with the network segment of the APIGW gateway.\n"},"region":{"type":"string","description":"The region where the dedicated gateway and routes are located.\n"}},"type":"object"}},"opentelekomcloud:index/apigwGatewayV2:ApigwGatewayV2":{"description":"Up-to-date reference of API arguments for API Gateway service you can get at\n[documentation portal](https://docs.otc.t-systems.com/api-gateway/api-ref/dedicated_gateway_apis_v2/index.html)\n\nAPI Gateway (APIG) is a high-performance, high-availability, and high-security API hosting service that helps you build,\nmanage, and deploy APIs at any scale.\nWith just a few clicks, you can integrate internal systems, and selectively expose capabilities with minimal costs and risks.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst gateway = new opentelekomcloud.ApigwGatewayV2(\"gateway\", {\n    name: \"test-gateway\",\n    specId: \"BASIC\",\n    vpcId: vpcId,\n    subnetId: networkId,\n    securityGroupId: defaultSecgroup.id,\n    availabilityZones: [\n        \"eu-de-01\",\n        \"eu-de-02\",\n    ],\n    description: \"test gateway\",\n    bandwidthSize: 5,\n    ingressBandwidthSize: 5,\n    ingressBandwidthChargingMode: \"bandwidth\",\n    maintainBegin: \"22:00:00\",\n    tags: {\n        foo: \"bar\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ngateway = opentelekomcloud.ApigwGatewayV2(\"gateway\",\n    name=\"test-gateway\",\n    spec_id=\"BASIC\",\n    vpc_id=vpc_id,\n    subnet_id=network_id,\n    security_group_id=default_secgroup[\"id\"],\n    availability_zones=[\n        \"eu-de-01\",\n        \"eu-de-02\",\n    ],\n    description=\"test gateway\",\n    bandwidth_size=5,\n    ingress_bandwidth_size=5,\n    ingress_bandwidth_charging_mode=\"bandwidth\",\n    maintain_begin=\"22:00:00\",\n    tags={\n        \"foo\": \"bar\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var gateway = new Opentelekomcloud.ApigwGatewayV2(\"gateway\", new()\n    {\n        Name = \"test-gateway\",\n        SpecId = \"BASIC\",\n        VpcId = vpcId,\n        SubnetId = networkId,\n        SecurityGroupId = defaultSecgroup.Id,\n        AvailabilityZones = new[]\n        {\n            \"eu-de-01\",\n            \"eu-de-02\",\n        },\n        Description = \"test gateway\",\n        BandwidthSize = 5,\n        IngressBandwidthSize = 5,\n        IngressBandwidthChargingMode = \"bandwidth\",\n        MaintainBegin = \"22:00:00\",\n        Tags = \n        {\n            { \"foo\", \"bar\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewApigwGatewayV2(ctx, \"gateway\", \u0026opentelekomcloud.ApigwGatewayV2Args{\n\t\t\tName:            pulumi.String(\"test-gateway\"),\n\t\t\tSpecId:          pulumi.String(\"BASIC\"),\n\t\t\tVpcId:           pulumi.Any(vpcId),\n\t\t\tSubnetId:        pulumi.Any(networkId),\n\t\t\tSecurityGroupId: pulumi.Any(defaultSecgroup.Id),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"eu-de-01\"),\n\t\t\t\tpulumi.String(\"eu-de-02\"),\n\t\t\t},\n\t\t\tDescription:                  pulumi.String(\"test gateway\"),\n\t\t\tBandwidthSize:                pulumi.Float64(5),\n\t\t\tIngressBandwidthSize:         pulumi.Float64(5),\n\t\t\tIngressBandwidthChargingMode: pulumi.String(\"bandwidth\"),\n\t\t\tMaintainBegin:                pulumi.String(\"22:00:00\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ApigwGatewayV2;\nimport com.pulumi.opentelekomcloud.ApigwGatewayV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var gateway = new ApigwGatewayV2(\"gateway\", ApigwGatewayV2Args.builder()\n            .name(\"test-gateway\")\n            .specId(\"BASIC\")\n            .vpcId(vpcId)\n            .subnetId(networkId)\n            .securityGroupId(defaultSecgroup.id())\n            .availabilityZones(            \n                \"eu-de-01\",\n                \"eu-de-02\")\n            .description(\"test gateway\")\n            .bandwidthSize(5.0)\n            .ingressBandwidthSize(5.0)\n            .ingressBandwidthChargingMode(\"bandwidth\")\n            .maintainBegin(\"22:00:00\")\n            .tags(Map.of(\"foo\", \"bar\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  gateway:\n    type: opentelekomcloud:ApigwGatewayV2\n    properties:\n      name: test-gateway\n      specId: BASIC\n      vpcId: ${vpcId}\n      subnetId: ${networkId}\n      securityGroupId: ${defaultSecgroup.id}\n      availabilityZones:\n        - eu-de-01\n        - eu-de-02\n      description: test gateway\n      bandwidthSize: 5\n      ingressBandwidthSize: 5\n      ingressBandwidthChargingMode: bandwidth\n      maintainBegin: 22:00:00\n      tags:\n        foo: bar\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAPIG Gateway can be imported using the `gateway_id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/apigwGatewayV2:ApigwGatewayV2 gateway c1881895-cdcb-4d23-96cb-032e6a3ee667\n```\n\nNote that the imported state may not be identical to your resource definition, due to `ingress_bandwidth_size` missing from the\n\nAPI response. It is generally recommended running `pulumi preview` after importing a gateway.\n\nresource \"opentelekomcloud_apigw_gateway_v2\" \"gateway\" {\n\n    ...\n\n  lifecycle {\n\n    ignore_changes = [\n\n      ingress_bandwidth_size,\n\n      ingress_bandwidth_charging_mode,\n\n      bandwidth_charging_mode\n\n    ]\n\n  }\n\n}\n\n","properties":{"apigwGatewayV2Id":{"type":"string"},"availabilityZones":{"type":"array","items":{"type":"string"},"description":"Specifies gateway description.\n"},"bandwidthChargingMode":{"type":"string","description":"Billing type of the public outbound access bandwidth.\nThe valid values are as follows:\n+ **bandwidth**: Billed by bandwidth.\n+ **traffic**: Billed by traffic.\n"},"bandwidthSize":{"type":"number","description":"Specifies outbound access bandwidth. This parameter is required if public outbound\naccess is enabled for the gateway. After you configure the bandwidth for the gateway,\nusers can access resources on public networks.\n"},"defaultGroupId":{"type":"string","description":"The ID of `DEFAULT` group.\n"},"description":{"type":"string","description":"Specifies gateway description.\n"},"enterpriseProjectId":{"type":"string","description":"Specifies the enterprise project ID to which the dedicated\ninstance belongs. This parameter is required for enterprise users.\n"},"ingressBandwidthChargingMode":{"type":"string","description":"Specifies the ingress bandwidth billing type of the dedicated instance.\nThe valid values are as follows:\n+ **bandwidth**: Billed by bandwidth.\n+ **traffic**: Billed by traffic.\n"},"ingressBandwidthSize":{"type":"number","description":"Specifies public inbound access bandwidth. This parameter is required if public\ninbound access is enabled for the gateway and\u003cspan pulumi-lang-nodejs=\" loadbalancerProvider \" pulumi-lang-dotnet=\" LoadbalancerProvider \" pulumi-lang-go=\" loadbalancerProvider \" pulumi-lang-python=\" loadbalancer_provider \" pulumi-lang-yaml=\" loadbalancerProvider \" pulumi-lang-java=\" loadbalancerProvider \"\u003e loadbalancer_provider \u003c/span\u003eis set to elb.\nAfter you bind an EIP to the gateway, users can access APIs in the gateway from public networks using the EIP.\n"},"loadbalancerProvider":{"type":"string","description":"Specifies type of the load balancer used by the gateway.\nThis resource provides the following timeouts configuration options:\n"},"maintainBegin":{"type":"string","description":"Specifies start time of the maintenance time window.\nIt must be in the format \"xx:00:00\". The value of xx can be 02, 06, 10, 14, 18, or 22.\n"},"maintainEnd":{"type":"string","description":"End time of the maintenance time window. It must be in the format \"xx:00:00\".\nThere is a 4-hour difference between the start time and end time.\n"},"name":{"type":"string","description":"Specifies gateway name.\n"},"privateEgressAddresses":{"type":"array","items":{"type":"string"},"description":"List of private egress addresses.\n*\n"},"projectId":{"type":"string","description":"Instance project id.\n"},"publicEgressAddress":{"type":"string","description":"IP address for public outbound access.\n"},"region":{"type":"string","description":"Instance region.\n"},"securityGroupId":{"type":"string","description":"Specifies ID of the security group to which the gateway belongs.\n"},"specId":{"type":"string","description":"Gateway edition. Options:\nThis resource provides the following timeouts configuration options:\n- `BASIC`\n- `PROFESSIONAL`\n- `ENTERPRISE`\n- `PLATINUM`\n"},"status":{"type":"string","description":"Instance status.\n"},"subnetId":{"type":"string","description":"Specifies network ID.\n"},"supportedFeatures":{"type":"array","items":{"type":"string"},"description":"Supported features.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the key/value pairs to associate with the dedicated instance.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FApigwGatewayV2Timeouts:ApigwGatewayV2Timeouts"},"vpcId":{"type":"string","description":"Specifies VPC ID.\n"},"vpcIngressAddress":{"type":"string","description":"VPC ingress address.\n"},"vpcepServiceName":{"type":"string","description":"Name of a VPC endpoint service.\n"}},"type":"object","required":["apigwGatewayV2Id","availabilityZones","bandwidthSize","defaultGroupId","enterpriseProjectId","maintainBegin","maintainEnd","name","privateEgressAddresses","projectId","publicEgressAddress","region","securityGroupId","specId","status","subnetId","supportedFeatures","vpcId","vpcIngressAddress","vpcepServiceName"],"inputProperties":{"apigwGatewayV2Id":{"type":"string"},"availabilityZones":{"type":"array","items":{"type":"string"},"description":"Specifies gateway description.\n"},"bandwidthChargingMode":{"type":"string","description":"Billing type of the public outbound access bandwidth.\nThe valid values are as follows:\n+ **bandwidth**: Billed by bandwidth.\n+ **traffic**: Billed by traffic.\n"},"bandwidthSize":{"type":"number","description":"Specifies outbound access bandwidth. This parameter is required if public outbound\naccess is enabled for the gateway. After you configure the bandwidth for the gateway,\nusers can access resources on public networks.\n"},"description":{"type":"string","description":"Specifies gateway description.\n"},"enterpriseProjectId":{"type":"string","description":"Specifies the enterprise project ID to which the dedicated\ninstance belongs. This parameter is required for enterprise users.\n"},"ingressBandwidthChargingMode":{"type":"string","description":"Specifies the ingress bandwidth billing type of the dedicated instance.\nThe valid values are as follows:\n+ **bandwidth**: Billed by bandwidth.\n+ **traffic**: Billed by traffic.\n"},"ingressBandwidthSize":{"type":"number","description":"Specifies public inbound access bandwidth. This parameter is required if public\ninbound access is enabled for the gateway and\u003cspan pulumi-lang-nodejs=\" loadbalancerProvider \" pulumi-lang-dotnet=\" LoadbalancerProvider \" pulumi-lang-go=\" loadbalancerProvider \" pulumi-lang-python=\" loadbalancer_provider \" pulumi-lang-yaml=\" loadbalancerProvider \" pulumi-lang-java=\" loadbalancerProvider \"\u003e loadbalancer_provider \u003c/span\u003eis set to elb.\nAfter you bind an EIP to the gateway, users can access APIs in the gateway from public networks using the EIP.\n"},"loadbalancerProvider":{"type":"string","description":"Specifies type of the load balancer used by the gateway.\nThis resource provides the following timeouts configuration options:\n"},"maintainBegin":{"type":"string","description":"Specifies start time of the maintenance time window.\nIt must be in the format \"xx:00:00\". The value of xx can be 02, 06, 10, 14, 18, or 22.\n"},"name":{"type":"string","description":"Specifies gateway name.\n"},"securityGroupId":{"type":"string","description":"Specifies ID of the security group to which the gateway belongs.\n"},"specId":{"type":"string","description":"Gateway edition. Options:\nThis resource provides the following timeouts configuration options:\n- `BASIC`\n- `PROFESSIONAL`\n- `ENTERPRISE`\n- `PLATINUM`\n"},"subnetId":{"type":"string","description":"Specifies network ID.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the key/value pairs to associate with the dedicated instance.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FApigwGatewayV2Timeouts:ApigwGatewayV2Timeouts"},"vpcId":{"type":"string","description":"Specifies VPC ID.\n"}},"requiredInputs":["availabilityZones","securityGroupId","specId","subnetId","vpcId"],"stateInputs":{"description":"Input properties used for looking up and filtering ApigwGatewayV2 resources.\n","properties":{"apigwGatewayV2Id":{"type":"string"},"availabilityZones":{"type":"array","items":{"type":"string"},"description":"Specifies gateway description.\n"},"bandwidthChargingMode":{"type":"string","description":"Billing type of the public outbound access bandwidth.\nThe valid values are as follows:\n+ **bandwidth**: Billed by bandwidth.\n+ **traffic**: Billed by traffic.\n"},"bandwidthSize":{"type":"number","description":"Specifies outbound access bandwidth. This parameter is required if public outbound\naccess is enabled for the gateway. After you configure the bandwidth for the gateway,\nusers can access resources on public networks.\n"},"defaultGroupId":{"type":"string","description":"The ID of `DEFAULT` group.\n"},"description":{"type":"string","description":"Specifies gateway description.\n"},"enterpriseProjectId":{"type":"string","description":"Specifies the enterprise project ID to which the dedicated\ninstance belongs. This parameter is required for enterprise users.\n"},"ingressBandwidthChargingMode":{"type":"string","description":"Specifies the ingress bandwidth billing type of the dedicated instance.\nThe valid values are as follows:\n+ **bandwidth**: Billed by bandwidth.\n+ **traffic**: Billed by traffic.\n"},"ingressBandwidthSize":{"type":"number","description":"Specifies public inbound access bandwidth. This parameter is required if public\ninbound access is enabled for the gateway and\u003cspan pulumi-lang-nodejs=\" loadbalancerProvider \" pulumi-lang-dotnet=\" LoadbalancerProvider \" pulumi-lang-go=\" loadbalancerProvider \" pulumi-lang-python=\" loadbalancer_provider \" pulumi-lang-yaml=\" loadbalancerProvider \" pulumi-lang-java=\" loadbalancerProvider \"\u003e loadbalancer_provider \u003c/span\u003eis set to elb.\nAfter you bind an EIP to the gateway, users can access APIs in the gateway from public networks using the EIP.\n"},"loadbalancerProvider":{"type":"string","description":"Specifies type of the load balancer used by the gateway.\nThis resource provides the following timeouts configuration options:\n"},"maintainBegin":{"type":"string","description":"Specifies start time of the maintenance time window.\nIt must be in the format \"xx:00:00\". The value of xx can be 02, 06, 10, 14, 18, or 22.\n"},"maintainEnd":{"type":"string","description":"End time of the maintenance time window. It must be in the format \"xx:00:00\".\nThere is a 4-hour difference between the start time and end time.\n"},"name":{"type":"string","description":"Specifies gateway name.\n"},"privateEgressAddresses":{"type":"array","items":{"type":"string"},"description":"List of private egress addresses.\n*\n"},"projectId":{"type":"string","description":"Instance project id.\n"},"publicEgressAddress":{"type":"string","description":"IP address for public outbound access.\n"},"region":{"type":"string","description":"Instance region.\n"},"securityGroupId":{"type":"string","description":"Specifies ID of the security group to which the gateway belongs.\n"},"specId":{"type":"string","description":"Gateway edition. Options:\nThis resource provides the following timeouts configuration options:\n- `BASIC`\n- `PROFESSIONAL`\n- `ENTERPRISE`\n- `PLATINUM`\n"},"status":{"type":"string","description":"Instance status.\n"},"subnetId":{"type":"string","description":"Specifies network ID.\n"},"supportedFeatures":{"type":"array","items":{"type":"string"},"description":"Supported features.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the key/value pairs to associate with the dedicated instance.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FApigwGatewayV2Timeouts:ApigwGatewayV2Timeouts"},"vpcId":{"type":"string","description":"Specifies VPC ID.\n"},"vpcIngressAddress":{"type":"string","description":"VPC ingress address.\n"},"vpcepServiceName":{"type":"string","description":"Name of a VPC endpoint service.\n"}},"type":"object"}},"opentelekomcloud:index/apigwGroupV2:ApigwGroupV2":{"description":"Up-to-date reference of API arguments for API Gateway group service you can get at\n[documentation portal](https://docs.otc.t-systems.com/api-gateway/api-ref/dedicated_gateway_apis_v2/index.html)\n\nAPI Gateway (APIG) is a high-performance, high-availability, and high-security API hosting service that helps you build,\nmanage, and deploy APIs at any scale.\nWith just a few clicks, you can integrate internal systems, and selectively expose capabilities with minimal costs and risks.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst group = new opentelekomcloud.ApigwGroupV2(\"group\", {\n    instanceId: gatewayId,\n    name: \"group-name\",\n    description: \"test description\",\n    environments: [{\n        variables: [{\n            name: \"test-name\",\n            value: \"test-value\",\n        }],\n        environmentId: envId,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ngroup = opentelekomcloud.ApigwGroupV2(\"group\",\n    instance_id=gateway_id,\n    name=\"group-name\",\n    description=\"test description\",\n    environments=[{\n        \"variables\": [{\n            \"name\": \"test-name\",\n            \"value\": \"test-value\",\n        }],\n        \"environment_id\": env_id,\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @group = new Opentelekomcloud.ApigwGroupV2(\"group\", new()\n    {\n        InstanceId = gatewayId,\n        Name = \"group-name\",\n        Description = \"test description\",\n        Environments = new[]\n        {\n            new Opentelekomcloud.Inputs.ApigwGroupV2EnvironmentArgs\n            {\n                Variables = new[]\n                {\n                    new Opentelekomcloud.Inputs.ApigwGroupV2EnvironmentVariableArgs\n                    {\n                        Name = \"test-name\",\n                        Value = \"test-value\",\n                    },\n                },\n                EnvironmentId = envId,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewApigwGroupV2(ctx, \"group\", \u0026opentelekomcloud.ApigwGroupV2Args{\n\t\t\tInstanceId:  pulumi.Any(gatewayId),\n\t\t\tName:        pulumi.String(\"group-name\"),\n\t\t\tDescription: pulumi.String(\"test description\"),\n\t\t\tEnvironments: opentelekomcloud.ApigwGroupV2EnvironmentArray{\n\t\t\t\t\u0026opentelekomcloud.ApigwGroupV2EnvironmentArgs{\n\t\t\t\t\tVariables: opentelekomcloud.ApigwGroupV2EnvironmentVariableArray{\n\t\t\t\t\t\t\u0026opentelekomcloud.ApigwGroupV2EnvironmentVariableArgs{\n\t\t\t\t\t\t\tName:  pulumi.String(\"test-name\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"test-value\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tEnvironmentId: pulumi.Any(envId),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ApigwGroupV2;\nimport com.pulumi.opentelekomcloud.ApigwGroupV2Args;\nimport com.pulumi.opentelekomcloud.inputs.ApigwGroupV2EnvironmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var group = new ApigwGroupV2(\"group\", ApigwGroupV2Args.builder()\n            .instanceId(gatewayId)\n            .name(\"group-name\")\n            .description(\"test description\")\n            .environments(ApigwGroupV2EnvironmentArgs.builder()\n                .variables(ApigwGroupV2EnvironmentVariableArgs.builder()\n                    .name(\"test-name\")\n                    .value(\"test-value\")\n                    .build())\n                .environmentId(envId)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  group:\n    type: opentelekomcloud:ApigwGroupV2\n    properties:\n      instanceId: ${gatewayId}\n      name: group-name\n      description: test description\n      environments:\n        - variables:\n            - name: test-name\n              value: test-value\n          environmentId: ${envId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAPI groups can be imported using their `id` and the ID of the related dedicated instance, separated by a slash, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/apigwGroupV2:ApigwGroupV2 test \u003cinstance_id\u003e/\u003cid\u003e\n```\n\n","properties":{"apigwGroupV2Id":{"type":"string","description":"The variable ID.\n"},"description":{"type":"string","description":"Specifies the group description.\n"},"environments":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FApigwGroupV2Environment:ApigwGroupV2Environment"},"description":"Specifies an array of one or more environments of the associated group.\nThe \u003cspan pulumi-lang-nodejs=\"`environment`\" pulumi-lang-dotnet=\"`Environment`\" pulumi-lang-go=\"`environment`\" pulumi-lang-python=\"`environment`\" pulumi-lang-yaml=\"`environment`\" pulumi-lang-java=\"`environment`\"\u003e`environment`\u003c/span\u003e structure is documented below.\n"},"instanceId":{"type":"string","description":"Specifies the ID of the dedicated instance to which the group belongs.\nChanging this will create a new resource.\n"},"name":{"type":"string","description":"Specifies the group name.\nThe valid length is limited from \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e, only letters, digits and hyphens (-) are\nallowed.\n"},"region":{"type":"string","description":"Specifies the region where the APIGW group is located.\nIf omitted, the provider-level region will be used. Changing this will create a new resource.\n"},"registrationTime":{"type":"string","description":"The registration time, in RFC-3339 format.\n"},"updatedAt":{"type":"string","description":"The time when the API group was last modified, in RFC-3339 format.\n"}},"type":"object","required":["apigwGroupV2Id","instanceId","name","region","registrationTime","updatedAt"],"inputProperties":{"apigwGroupV2Id":{"type":"string","description":"The variable ID.\n"},"description":{"type":"string","description":"Specifies the group description.\n"},"environments":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FApigwGroupV2Environment:ApigwGroupV2Environment"},"description":"Specifies an array of one or more environments of the associated group.\nThe \u003cspan pulumi-lang-nodejs=\"`environment`\" pulumi-lang-dotnet=\"`Environment`\" pulumi-lang-go=\"`environment`\" pulumi-lang-python=\"`environment`\" pulumi-lang-yaml=\"`environment`\" pulumi-lang-java=\"`environment`\"\u003e`environment`\u003c/span\u003e structure is documented below.\n"},"instanceId":{"type":"string","description":"Specifies the ID of the dedicated instance to which the group belongs.\nChanging this will create a new resource.\n"},"name":{"type":"string","description":"Specifies the group name.\nThe valid length is limited from \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e, only letters, digits and hyphens (-) are\nallowed.\n"},"region":{"type":"string","description":"Specifies the region where the APIGW group is located.\nIf omitted, the provider-level region will be used. Changing this will create a new resource.\n"}},"requiredInputs":["instanceId"],"stateInputs":{"description":"Input properties used for looking up and filtering ApigwGroupV2 resources.\n","properties":{"apigwGroupV2Id":{"type":"string","description":"The variable ID.\n"},"description":{"type":"string","description":"Specifies the group description.\n"},"environments":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FApigwGroupV2Environment:ApigwGroupV2Environment"},"description":"Specifies an array of one or more environments of the associated group.\nThe \u003cspan pulumi-lang-nodejs=\"`environment`\" pulumi-lang-dotnet=\"`Environment`\" pulumi-lang-go=\"`environment`\" pulumi-lang-python=\"`environment`\" pulumi-lang-yaml=\"`environment`\" pulumi-lang-java=\"`environment`\"\u003e`environment`\u003c/span\u003e structure is documented below.\n"},"instanceId":{"type":"string","description":"Specifies the ID of the dedicated instance to which the group belongs.\nChanging this will create a new resource.\n"},"name":{"type":"string","description":"Specifies the group name.\nThe valid length is limited from \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e, only letters, digits and hyphens (-) are\nallowed.\n"},"region":{"type":"string","description":"Specifies the region where the APIGW group is located.\nIf omitted, the provider-level region will be used. Changing this will create a new resource.\n"},"registrationTime":{"type":"string","description":"The registration time, in RFC-3339 format.\n"},"updatedAt":{"type":"string","description":"The time when the API group was last modified, in RFC-3339 format.\n"}},"type":"object"}},"opentelekomcloud:index/apigwResponseV2:ApigwResponseV2":{"description":"Up-to-date reference of API arguments for API Gateway group service you can get at\n[documentation portal](https://docs.otc.t-systems.com/api-gateway/api-ref/dedicated_gateway_apis_v2/group_response_management/index.html)\n\nManages an APIGW (API) custom response resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst gatewayId = config.requireObject\u003cany\u003e(\"gatewayId\");\nconst groupId = config.requireObject\u003cany\u003e(\"groupId\");\nconst responseName = config.requireObject\u003cany\u003e(\"responseName\");\nconst test = new opentelekomcloud.ApigwResponseV2(\"test\", {\n    gatewayId: gatewayId,\n    groupId: groupId,\n    name: responseName,\n    rules: [{\n        errorType: \"AUTHORIZER_FAILURE\",\n        body: \"{\\\"code\\\":\\\"$context.authorizer.frontend.code\\\",\\\"message\\\":\\\"$context.authorizer.frontend.message\\\"}\",\n        statusCode: 401,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ngateway_id = config.require_object(\"gatewayId\")\ngroup_id = config.require_object(\"groupId\")\nresponse_name = config.require_object(\"responseName\")\ntest = opentelekomcloud.ApigwResponseV2(\"test\",\n    gateway_id=gateway_id,\n    group_id=group_id,\n    name=response_name,\n    rules=[{\n        \"error_type\": \"AUTHORIZER_FAILURE\",\n        \"body\": \"{\\\"code\\\":\\\"$context.authorizer.frontend.code\\\",\\\"message\\\":\\\"$context.authorizer.frontend.message\\\"}\",\n        \"status_code\": 401,\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var gatewayId = config.RequireObject\u003cdynamic\u003e(\"gatewayId\");\n    var groupId = config.RequireObject\u003cdynamic\u003e(\"groupId\");\n    var responseName = config.RequireObject\u003cdynamic\u003e(\"responseName\");\n    var test = new Opentelekomcloud.ApigwResponseV2(\"test\", new()\n    {\n        GatewayId = gatewayId,\n        GroupId = groupId,\n        Name = responseName,\n        Rules = new[]\n        {\n            new Opentelekomcloud.Inputs.ApigwResponseV2RuleArgs\n            {\n                ErrorType = \"AUTHORIZER_FAILURE\",\n                Body = \"{\\\"code\\\":\\\"$context.authorizer.frontend.code\\\",\\\"message\\\":\\\"$context.authorizer.frontend.message\\\"}\",\n                StatusCode = 401,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tgatewayId := cfg.RequireObject(\"gatewayId\")\n\t\tgroupId := cfg.RequireObject(\"groupId\")\n\t\tresponseName := cfg.RequireObject(\"responseName\")\n\t\t_, err := opentelekomcloud.NewApigwResponseV2(ctx, \"test\", \u0026opentelekomcloud.ApigwResponseV2Args{\n\t\t\tGatewayId: pulumi.Any(gatewayId),\n\t\t\tGroupId:   pulumi.Any(groupId),\n\t\t\tName:      pulumi.Any(responseName),\n\t\t\tRules: opentelekomcloud.ApigwResponseV2RuleArray{\n\t\t\t\t\u0026opentelekomcloud.ApigwResponseV2RuleArgs{\n\t\t\t\t\tErrorType:  pulumi.String(\"AUTHORIZER_FAILURE\"),\n\t\t\t\t\tBody:       pulumi.String(\"{\\\"code\\\":\\\"$context.authorizer.frontend.code\\\",\\\"message\\\":\\\"$context.authorizer.frontend.message\\\"}\"),\n\t\t\t\t\tStatusCode: pulumi.Float64(401),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ApigwResponseV2;\nimport com.pulumi.opentelekomcloud.ApigwResponseV2Args;\nimport com.pulumi.opentelekomcloud.inputs.ApigwResponseV2RuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var gatewayId = config.get(\"gatewayId\");\n        final var groupId = config.get(\"groupId\");\n        final var responseName = config.get(\"responseName\");\n        var test = new ApigwResponseV2(\"test\", ApigwResponseV2Args.builder()\n            .gatewayId(gatewayId)\n            .groupId(groupId)\n            .name(responseName)\n            .rules(ApigwResponseV2RuleArgs.builder()\n                .errorType(\"AUTHORIZER_FAILURE\")\n                .body(\"{\\\"code\\\":\\\"$context.authorizer.frontend.code\\\",\\\"message\\\":\\\"$context.authorizer.frontend.message\\\"}\")\n                .statusCode(401.0)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  gatewayId:\n    type: dynamic\n  groupId:\n    type: dynamic\n  responseName:\n    type: dynamic\nresources:\n  test:\n    type: opentelekomcloud:ApigwResponseV2\n    properties:\n      gatewayId: ${gatewayId}\n      groupId: ${groupId}\n      name: ${responseName}\n      rules:\n        - errorType: AUTHORIZER_FAILURE\n          body: '{\"code\":\"$context.authorizer.frontend.code\",\"message\":\"$context.authorizer.frontend.message\"}'\n          statusCode: 401\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAPI Responses can be imported using their `name` and IDs of the APIGW dedicated instances and API groups to which the API\n\nresponse belongs, separated by slashes, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/apigwResponseV2:ApigwResponseV2 test \u003cgateway_id\u003e/\u003cgroup_id\u003e/\u003cname\u003e\n```\n\n","properties":{"apigwResponseV2Id":{"type":"string","description":"ID of the API custom response.\n"},"createdAt":{"type":"string","description":"The creation time of the API custom response.\n"},"gatewayId":{"type":"string","description":"Specifies the ID of the dedicated instance to which the API group and the\nAPI custom response belong.\nChanging this will create a new resource.\n"},"groupId":{"type":"string","description":"Specifies the ID of the API group to which the API custom response\nbelongs.\nChanging this will create a new resource.\n"},"name":{"type":"string","description":"Specifies the name of the API custom response.\nThe valid length is limited from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e, letters, digits, hyphens (-) and underscores (_) are allowed.\n"},"region":{"type":"string","description":"The region where the API custom response is located.\n"},"rules":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FApigwResponseV2Rule:ApigwResponseV2Rule"},"description":"Specifies the API custom response rules definition.\nThe object structure is documented below.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"customResponseRule\"\" pulumi-lang-dotnet=\"\"CustomResponseRule\"\" pulumi-lang-go=\"\"customResponseRule\"\" pulumi-lang-python=\"\"custom_response_rule\"\" pulumi-lang-yaml=\"\"customResponseRule\"\" pulumi-lang-java=\"\"customResponseRule\"\"\u003e\"custom_response_rule\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`rule`\" pulumi-lang-dotnet=\"`Rule`\" pulumi-lang-go=\"`rule`\" pulumi-lang-python=\"`rule`\" pulumi-lang-yaml=\"`rule`\" pulumi-lang-java=\"`rule`\"\u003e`rule`\u003c/span\u003e block supports:\n"},"updatedAt":{"type":"string","description":"The latest update time of the API custom response.\n"}},"type":"object","required":["apigwResponseV2Id","createdAt","gatewayId","groupId","name","region","updatedAt"],"inputProperties":{"apigwResponseV2Id":{"type":"string","description":"ID of the API custom response.\n"},"gatewayId":{"type":"string","description":"Specifies the ID of the dedicated instance to which the API group and the\nAPI custom response belong.\nChanging this will create a new resource.\n"},"groupId":{"type":"string","description":"Specifies the ID of the API group to which the API custom response\nbelongs.\nChanging this will create a new resource.\n"},"name":{"type":"string","description":"Specifies the name of the API custom response.\nThe valid length is limited from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e, letters, digits, hyphens (-) and underscores (_) are allowed.\n"},"rules":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FApigwResponseV2Rule:ApigwResponseV2Rule"},"description":"Specifies the API custom response rules definition.\nThe object structure is documented below.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"customResponseRule\"\" pulumi-lang-dotnet=\"\"CustomResponseRule\"\" pulumi-lang-go=\"\"customResponseRule\"\" pulumi-lang-python=\"\"custom_response_rule\"\" pulumi-lang-yaml=\"\"customResponseRule\"\" pulumi-lang-java=\"\"customResponseRule\"\"\u003e\"custom_response_rule\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`rule`\" pulumi-lang-dotnet=\"`Rule`\" pulumi-lang-go=\"`rule`\" pulumi-lang-python=\"`rule`\" pulumi-lang-yaml=\"`rule`\" pulumi-lang-java=\"`rule`\"\u003e`rule`\u003c/span\u003e block supports:\n"}},"requiredInputs":["gatewayId","groupId"],"stateInputs":{"description":"Input properties used for looking up and filtering ApigwResponseV2 resources.\n","properties":{"apigwResponseV2Id":{"type":"string","description":"ID of the API custom response.\n"},"createdAt":{"type":"string","description":"The creation time of the API custom response.\n"},"gatewayId":{"type":"string","description":"Specifies the ID of the dedicated instance to which the API group and the\nAPI custom response belong.\nChanging this will create a new resource.\n"},"groupId":{"type":"string","description":"Specifies the ID of the API group to which the API custom response\nbelongs.\nChanging this will create a new resource.\n"},"name":{"type":"string","description":"Specifies the name of the API custom response.\nThe valid length is limited from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e, letters, digits, hyphens (-) and underscores (_) are allowed.\n"},"region":{"type":"string","description":"The region where the API custom response is located.\n"},"rules":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FApigwResponseV2Rule:ApigwResponseV2Rule"},"description":"Specifies the API custom response rules definition.\nThe object structure is documented below.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"customResponseRule\"\" pulumi-lang-dotnet=\"\"CustomResponseRule\"\" pulumi-lang-go=\"\"customResponseRule\"\" pulumi-lang-python=\"\"custom_response_rule\"\" pulumi-lang-yaml=\"\"customResponseRule\"\" pulumi-lang-java=\"\"customResponseRule\"\"\u003e\"custom_response_rule\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`rule`\" pulumi-lang-dotnet=\"`Rule`\" pulumi-lang-go=\"`rule`\" pulumi-lang-python=\"`rule`\" pulumi-lang-yaml=\"`rule`\" pulumi-lang-java=\"`rule`\"\u003e`rule`\u003c/span\u003e block supports:\n"},"updatedAt":{"type":"string","description":"The latest update time of the API custom response.\n"}},"type":"object"}},"opentelekomcloud:index/apigwSignatureAssociateV2:ApigwSignatureAssociateV2":{"description":"Up-to-date reference of API arguments for API Gateway signature associate service you can get at\n[documentation portal](https://docs.otc.t-systems.com/api-gateway/api-ref/dedicated_gateway_apis_v2/binding_unbinding_signature_keys/index.html)\n\nUse this resource to bind the APIs to the signature within OpenTelekomCloud.\n\n\u003e A signature can only create one \u003cspan pulumi-lang-nodejs=\"`opentelekomcloud.ApigwSignatureAssociateV2`\" pulumi-lang-dotnet=\"`opentelekomcloud.ApigwSignatureAssociateV2`\" pulumi-lang-go=\"`ApigwSignatureAssociateV2`\" pulumi-lang-python=\"`ApigwSignatureAssociateV2`\" pulumi-lang-yaml=\"`opentelekomcloud.ApigwSignatureAssociateV2`\" pulumi-lang-java=\"`opentelekomcloud.ApigwSignatureAssociateV2`\"\u003e`opentelekomcloud.ApigwSignatureAssociateV2`\u003c/span\u003e resource.\n   And a published ID for API can only bind a signature.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nconfiguration:\n  gatewayId:\n    type: dynamic\n  signatureId:\n    type: dynamic\n  apiPublishIds:\n    type: list(string)\nresources:\n  test:\n    type: opentelekomcloud:ApigwSignatureAssociateV2\n    properties:\n      instanceId: ${gatewayId}\n      signatureId: ${signatureId}\n      publishIds: ${apiPublishIds}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAssociate resources can be imported using their `signature_id` and the APIGW dedicated gateway ID to which the signature\n\nbelongs, separated by a slash, e.g.\n\nbash\n\n```sh\n$ pulumi import opentelekomcloud:index/apigwSignatureAssociateV2:ApigwSignatureAssociateV2 test \u003cgateway_id\u003e/\u003csignature_id\u003e\n```\n\n","properties":{"apigwSignatureAssociateV2Id":{"type":"string","description":"Resource ID. The format is `\u003cgateway_id\u003e/\u003csignature_id\u003e`.\n"},"gatewayId":{"type":"string","description":"Specifies the ID of the dedicated instance to which the APIs and the\nsignature belong.\nChanging this will create a new resource.\n"},"publishIds":{"type":"array","items":{"type":"string"},"description":"Specifies the publish IDs corresponding to the APIs bound by the signature.\n"},"region":{"type":"string","description":"Region where the signature and the APIs are located.\n"},"signatureId":{"type":"string","description":"Specifies the signature ID for APIs binding.\nChanging this will create a new resource.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FApigwSignatureAssociateV2Timeouts:ApigwSignatureAssociateV2Timeouts"}},"type":"object","required":["apigwSignatureAssociateV2Id","gatewayId","publishIds","region","signatureId"],"inputProperties":{"apigwSignatureAssociateV2Id":{"type":"string","description":"Resource ID. The format is `\u003cgateway_id\u003e/\u003csignature_id\u003e`.\n"},"gatewayId":{"type":"string","description":"Specifies the ID of the dedicated instance to which the APIs and the\nsignature belong.\nChanging this will create a new resource.\n"},"publishIds":{"type":"array","items":{"type":"string"},"description":"Specifies the publish IDs corresponding to the APIs bound by the signature.\n"},"signatureId":{"type":"string","description":"Specifies the signature ID for APIs binding.\nChanging this will create a new resource.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FApigwSignatureAssociateV2Timeouts:ApigwSignatureAssociateV2Timeouts"}},"requiredInputs":["gatewayId","publishIds","signatureId"],"stateInputs":{"description":"Input properties used for looking up and filtering ApigwSignatureAssociateV2 resources.\n","properties":{"apigwSignatureAssociateV2Id":{"type":"string","description":"Resource ID. The format is `\u003cgateway_id\u003e/\u003csignature_id\u003e`.\n"},"gatewayId":{"type":"string","description":"Specifies the ID of the dedicated instance to which the APIs and the\nsignature belong.\nChanging this will create a new resource.\n"},"publishIds":{"type":"array","items":{"type":"string"},"description":"Specifies the publish IDs corresponding to the APIs bound by the signature.\n"},"region":{"type":"string","description":"Region where the signature and the APIs are located.\n"},"signatureId":{"type":"string","description":"Specifies the signature ID for APIs binding.\nChanging this will create a new resource.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FApigwSignatureAssociateV2Timeouts:ApigwSignatureAssociateV2Timeouts"}},"type":"object"}},"opentelekomcloud:index/apigwSignatureV2:ApigwSignatureV2":{"description":"Up-to-date reference of API arguments for API Gateway signature service you can get at\n[documentation portal](https://docs.otc.t-systems.com/api-gateway/api-ref/dedicated_gateway_apis_v2/signature_key_management/index.html)\n\nManages a signature resource within OpenTelekomCloud.\n\n## Example Usage\n\n### Create a signature of the HMAC type\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nconfiguration:\n  gatewayId:\n    type: dynamic\n  signatureName:\n    type: dynamic\n  signatureKey:\n    type: dynamic\n  signatureSecret:\n    type: dynamic\nresources:\n  hmac:\n    type: opentelekomcloud:ApigwSignatureV2\n    properties:\n      instanceId: ${gatewayId}\n      name: ${signatureName}\n      type: hmac\n      key: ${signatureKey}\n      secret: ${signatureSecret}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a signature and automatically generate key and secret\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nconfiguration:\n  gatewayId:\n    type: dynamic\n  signatureName:\n    type: dynamic\nresources:\n  hmac:\n    type: opentelekomcloud:ApigwSignatureV2\n    properties:\n      instanceId: ${gatewayId}\n      name: ${signatureName}\n      type: hmac\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a signature of the AES type\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nconfiguration:\n  gatewayId:\n    type: dynamic\n  signatureName:\n    type: dynamic\n  signatureKey:\n    type: dynamic\n  signatureSecret:\n    type: dynamic\nresources:\n  aes:\n    type: opentelekomcloud:ApigwSignatureV2\n    properties:\n      instanceId: ${gatewayId}\n      name: ${signatureName}\n      type: aes\n      algorithm: aes-128-cfb\n      key: ${signatureKey}\n      secret: ${signatureSecret}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSignatures can be imported using their `id` and related dedicated gateway ID, separated by a slash, e.g.\n\nbash\n\n```sh\n$ pulumi import opentelekomcloud:index/apigwSignatureV2:ApigwSignatureV2 sig \u003cgateway_id\u003e/\u003cid\u003e\n```\n\n","properties":{"algorithm":{"type":"string","description":"Specifies the signature algorithm.\nThis parameter is required and only available when signature \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`aes`\" pulumi-lang-dotnet=\"`Aes`\" pulumi-lang-go=\"`aes`\" pulumi-lang-python=\"`aes`\" pulumi-lang-yaml=\"`aes`\" pulumi-lang-java=\"`aes`\"\u003e`aes`\u003c/span\u003e.\nThe valid values are as follows:\n+ `aes-128-cfb`\n+ `aes-256-cfb`\nChanging this will create a new resource.\n"},"apigwSignatureV2Id":{"type":"string","description":"The ID of the signature.\n"},"createdAt":{"type":"string","description":"The creation time of the signature.\n"},"gatewayId":{"type":"string","description":"Specifies the ID of the dedicated gateway to which the signature\nbelongs. Changing this will create a new resource.\n"},"key":{"type":"string","description":"Specifies the signature key.\n+ For \u003cspan pulumi-lang-nodejs=\"`basic`\" pulumi-lang-dotnet=\"`Basic`\" pulumi-lang-go=\"`basic`\" pulumi-lang-python=\"`basic`\" pulumi-lang-yaml=\"`basic`\" pulumi-lang-java=\"`basic`\"\u003e`basic`\u003c/span\u003e type: The value contains \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e characters, including letters, digits, underscores `_` and\nhyphens `-`. It must start with a letter.\n+ For \u003cspan pulumi-lang-nodejs=\"`hmac`\" pulumi-lang-dotnet=\"`Hmac`\" pulumi-lang-go=\"`hmac`\" pulumi-lang-python=\"`hmac`\" pulumi-lang-yaml=\"`hmac`\" pulumi-lang-java=\"`hmac`\"\u003e`hmac`\u003c/span\u003e type: The value contains \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e characters, including letters, digits, underscores `_` and\nhyphens `-`. It must start with a letter or digit.\n+ For \u003cspan pulumi-lang-nodejs=\"`aes`\" pulumi-lang-dotnet=\"`Aes`\" pulumi-lang-go=\"`aes`\" pulumi-lang-python=\"`aes`\" pulumi-lang-yaml=\"`aes`\" pulumi-lang-java=\"`aes`\"\u003e`aes`\u003c/span\u003e type: The value contains \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e characters if the `aes-128-cfb` algorithm is used, or \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e characters if the\n`aes-256-cfb` algorithm is used. Only letters, digits, and special characters `_-!@#$%+/=` are allowed.\nIt must start with a letter, digit, plus sign `+`, or slash `/`.\nIf not specified, the key will automatically generated. The auto-generation is only supported on first creation.\nChanging this will create a new resource.\n"},"name":{"type":"string","description":"Specifies the signature name.\nThe valid length is limited from \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e, only English letters, Chinese characters, digits and underscores `_` are\nallowed. The name must start with an English letter or Chinese character.\n"},"region":{"type":"string","description":"Region where the signature is located.\n"},"secret":{"type":"string","description":"Specifies the signature secret.\nIf not specified, the secret will automatically generated. The auto-generation is only supported on first creation.\nChanging this will create a new resource.\n+ For \u003cspan pulumi-lang-nodejs=\"`basic`\" pulumi-lang-dotnet=\"`Basic`\" pulumi-lang-go=\"`basic`\" pulumi-lang-python=\"`basic`\" pulumi-lang-yaml=\"`basic`\" pulumi-lang-java=\"`basic`\"\u003e`basic`\u003c/span\u003e type: The value contains \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e characters. Letters, digits, and special characters `_-!@#$%` are\nallowed. It must start with a letter or digit. If not specified, a value is automatically generated.\n+ For \u003cspan pulumi-lang-nodejs=\"`hmac`\" pulumi-lang-dotnet=\"`Hmac`\" pulumi-lang-go=\"`hmac`\" pulumi-lang-python=\"`hmac`\" pulumi-lang-yaml=\"`hmac`\" pulumi-lang-java=\"`hmac`\"\u003e`hmac`\u003c/span\u003e type: The value contains \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e characters. Letters, digits, and special characters `_-!@#$%` are\nallowed. It must start with a letter or digit. If not specified, a value is automatically generated.\n+ For \u003cspan pulumi-lang-nodejs=\"`aes`\" pulumi-lang-dotnet=\"`Aes`\" pulumi-lang-go=\"`aes`\" pulumi-lang-python=\"`aes`\" pulumi-lang-yaml=\"`aes`\" pulumi-lang-java=\"`aes`\"\u003e`aes`\u003c/span\u003e type: The value contains \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e characters, including letters, digits, and special\ncharacters `_-!@#$%+/=`. It must start with a letter, digit, plus sign `+`, or slash `/`. If not specified, a\nvalue is automatically generated.\n","secret":true},"type":{"type":"string","description":"Specifies the type of signature.\nThe valid values are as follows:\n"},"updatedAt":{"type":"string","description":"The latest update time of the signature.\n"}},"type":"object","required":["algorithm","apigwSignatureV2Id","createdAt","gatewayId","key","name","region","secret","type","updatedAt"],"inputProperties":{"algorithm":{"type":"string","description":"Specifies the signature algorithm.\nThis parameter is required and only available when signature \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`aes`\" pulumi-lang-dotnet=\"`Aes`\" pulumi-lang-go=\"`aes`\" pulumi-lang-python=\"`aes`\" pulumi-lang-yaml=\"`aes`\" pulumi-lang-java=\"`aes`\"\u003e`aes`\u003c/span\u003e.\nThe valid values are as follows:\n+ `aes-128-cfb`\n+ `aes-256-cfb`\nChanging this will create a new resource.\n"},"apigwSignatureV2Id":{"type":"string","description":"The ID of the signature.\n"},"gatewayId":{"type":"string","description":"Specifies the ID of the dedicated gateway to which the signature\nbelongs. Changing this will create a new resource.\n"},"key":{"type":"string","description":"Specifies the signature key.\n+ For \u003cspan pulumi-lang-nodejs=\"`basic`\" pulumi-lang-dotnet=\"`Basic`\" pulumi-lang-go=\"`basic`\" pulumi-lang-python=\"`basic`\" pulumi-lang-yaml=\"`basic`\" pulumi-lang-java=\"`basic`\"\u003e`basic`\u003c/span\u003e type: The value contains \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e characters, including letters, digits, underscores `_` and\nhyphens `-`. It must start with a letter.\n+ For \u003cspan pulumi-lang-nodejs=\"`hmac`\" pulumi-lang-dotnet=\"`Hmac`\" pulumi-lang-go=\"`hmac`\" pulumi-lang-python=\"`hmac`\" pulumi-lang-yaml=\"`hmac`\" pulumi-lang-java=\"`hmac`\"\u003e`hmac`\u003c/span\u003e type: The value contains \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e characters, including letters, digits, underscores `_` and\nhyphens `-`. It must start with a letter or digit.\n+ For \u003cspan pulumi-lang-nodejs=\"`aes`\" pulumi-lang-dotnet=\"`Aes`\" pulumi-lang-go=\"`aes`\" pulumi-lang-python=\"`aes`\" pulumi-lang-yaml=\"`aes`\" pulumi-lang-java=\"`aes`\"\u003e`aes`\u003c/span\u003e type: The value contains \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e characters if the `aes-128-cfb` algorithm is used, or \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e characters if the\n`aes-256-cfb` algorithm is used. Only letters, digits, and special characters `_-!@#$%+/=` are allowed.\nIt must start with a letter, digit, plus sign `+`, or slash `/`.\nIf not specified, the key will automatically generated. The auto-generation is only supported on first creation.\nChanging this will create a new resource.\n"},"name":{"type":"string","description":"Specifies the signature name.\nThe valid length is limited from \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e, only English letters, Chinese characters, digits and underscores `_` are\nallowed. The name must start with an English letter or Chinese character.\n"},"secret":{"type":"string","description":"Specifies the signature secret.\nIf not specified, the secret will automatically generated. The auto-generation is only supported on first creation.\nChanging this will create a new resource.\n+ For \u003cspan pulumi-lang-nodejs=\"`basic`\" pulumi-lang-dotnet=\"`Basic`\" pulumi-lang-go=\"`basic`\" pulumi-lang-python=\"`basic`\" pulumi-lang-yaml=\"`basic`\" pulumi-lang-java=\"`basic`\"\u003e`basic`\u003c/span\u003e type: The value contains \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e characters. Letters, digits, and special characters `_-!@#$%` are\nallowed. It must start with a letter or digit. If not specified, a value is automatically generated.\n+ For \u003cspan pulumi-lang-nodejs=\"`hmac`\" pulumi-lang-dotnet=\"`Hmac`\" pulumi-lang-go=\"`hmac`\" pulumi-lang-python=\"`hmac`\" pulumi-lang-yaml=\"`hmac`\" pulumi-lang-java=\"`hmac`\"\u003e`hmac`\u003c/span\u003e type: The value contains \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e characters. Letters, digits, and special characters `_-!@#$%` are\nallowed. It must start with a letter or digit. If not specified, a value is automatically generated.\n+ For \u003cspan pulumi-lang-nodejs=\"`aes`\" pulumi-lang-dotnet=\"`Aes`\" pulumi-lang-go=\"`aes`\" pulumi-lang-python=\"`aes`\" pulumi-lang-yaml=\"`aes`\" pulumi-lang-java=\"`aes`\"\u003e`aes`\u003c/span\u003e type: The value contains \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e characters, including letters, digits, and special\ncharacters `_-!@#$%+/=`. It must start with a letter, digit, plus sign `+`, or slash `/`. If not specified, a\nvalue is automatically generated.\n","secret":true},"type":{"type":"string","description":"Specifies the type of signature.\nThe valid values are as follows:\n"}},"requiredInputs":["gatewayId","type"],"stateInputs":{"description":"Input properties used for looking up and filtering ApigwSignatureV2 resources.\n","properties":{"algorithm":{"type":"string","description":"Specifies the signature algorithm.\nThis parameter is required and only available when signature \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`aes`\" pulumi-lang-dotnet=\"`Aes`\" pulumi-lang-go=\"`aes`\" pulumi-lang-python=\"`aes`\" pulumi-lang-yaml=\"`aes`\" pulumi-lang-java=\"`aes`\"\u003e`aes`\u003c/span\u003e.\nThe valid values are as follows:\n+ `aes-128-cfb`\n+ `aes-256-cfb`\nChanging this will create a new resource.\n"},"apigwSignatureV2Id":{"type":"string","description":"The ID of the signature.\n"},"createdAt":{"type":"string","description":"The creation time of the signature.\n"},"gatewayId":{"type":"string","description":"Specifies the ID of the dedicated gateway to which the signature\nbelongs. Changing this will create a new resource.\n"},"key":{"type":"string","description":"Specifies the signature key.\n+ For \u003cspan pulumi-lang-nodejs=\"`basic`\" pulumi-lang-dotnet=\"`Basic`\" pulumi-lang-go=\"`basic`\" pulumi-lang-python=\"`basic`\" pulumi-lang-yaml=\"`basic`\" pulumi-lang-java=\"`basic`\"\u003e`basic`\u003c/span\u003e type: The value contains \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e characters, including letters, digits, underscores `_` and\nhyphens `-`. It must start with a letter.\n+ For \u003cspan pulumi-lang-nodejs=\"`hmac`\" pulumi-lang-dotnet=\"`Hmac`\" pulumi-lang-go=\"`hmac`\" pulumi-lang-python=\"`hmac`\" pulumi-lang-yaml=\"`hmac`\" pulumi-lang-java=\"`hmac`\"\u003e`hmac`\u003c/span\u003e type: The value contains \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e characters, including letters, digits, underscores `_` and\nhyphens `-`. It must start with a letter or digit.\n+ For \u003cspan pulumi-lang-nodejs=\"`aes`\" pulumi-lang-dotnet=\"`Aes`\" pulumi-lang-go=\"`aes`\" pulumi-lang-python=\"`aes`\" pulumi-lang-yaml=\"`aes`\" pulumi-lang-java=\"`aes`\"\u003e`aes`\u003c/span\u003e type: The value contains \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e characters if the `aes-128-cfb` algorithm is used, or \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e characters if the\n`aes-256-cfb` algorithm is used. Only letters, digits, and special characters `_-!@#$%+/=` are allowed.\nIt must start with a letter, digit, plus sign `+`, or slash `/`.\nIf not specified, the key will automatically generated. The auto-generation is only supported on first creation.\nChanging this will create a new resource.\n"},"name":{"type":"string","description":"Specifies the signature name.\nThe valid length is limited from \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e, only English letters, Chinese characters, digits and underscores `_` are\nallowed. The name must start with an English letter or Chinese character.\n"},"region":{"type":"string","description":"Region where the signature is located.\n"},"secret":{"type":"string","description":"Specifies the signature secret.\nIf not specified, the secret will automatically generated. The auto-generation is only supported on first creation.\nChanging this will create a new resource.\n+ For \u003cspan pulumi-lang-nodejs=\"`basic`\" pulumi-lang-dotnet=\"`Basic`\" pulumi-lang-go=\"`basic`\" pulumi-lang-python=\"`basic`\" pulumi-lang-yaml=\"`basic`\" pulumi-lang-java=\"`basic`\"\u003e`basic`\u003c/span\u003e type: The value contains \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e characters. Letters, digits, and special characters `_-!@#$%` are\nallowed. It must start with a letter or digit. If not specified, a value is automatically generated.\n+ For \u003cspan pulumi-lang-nodejs=\"`hmac`\" pulumi-lang-dotnet=\"`Hmac`\" pulumi-lang-go=\"`hmac`\" pulumi-lang-python=\"`hmac`\" pulumi-lang-yaml=\"`hmac`\" pulumi-lang-java=\"`hmac`\"\u003e`hmac`\u003c/span\u003e type: The value contains \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e characters. Letters, digits, and special characters `_-!@#$%` are\nallowed. It must start with a letter or digit. If not specified, a value is automatically generated.\n+ For \u003cspan pulumi-lang-nodejs=\"`aes`\" pulumi-lang-dotnet=\"`Aes`\" pulumi-lang-go=\"`aes`\" pulumi-lang-python=\"`aes`\" pulumi-lang-yaml=\"`aes`\" pulumi-lang-java=\"`aes`\"\u003e`aes`\u003c/span\u003e type: The value contains \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e characters, including letters, digits, and special\ncharacters `_-!@#$%+/=`. It must start with a letter, digit, plus sign `+`, or slash `/`. If not specified, a\nvalue is automatically generated.\n","secret":true},"type":{"type":"string","description":"Specifies the type of signature.\nThe valid values are as follows:\n"},"updatedAt":{"type":"string","description":"The latest update time of the signature.\n"}},"type":"object"}},"opentelekomcloud:index/apigwThrottlingPolicyAssociateV2:ApigwThrottlingPolicyAssociateV2":{"description":"Up-to-date reference of API arguments for API Gateway throttling policy associate service you can get at\n[documentation portal](https://docs.otc.t-systems.com/api-gateway/api-ref/dedicated_gateway_apis_v2/binding_unbinding_request_throttling_policies/index.html)\n\nThis API is used to bind a request throttling policy to an API that has been published in an environment within OpenTelekomCloud.\nYou can bind different request throttling policies to an API in different environments,\nbut can bind only one request throttling policy to the API in each environment.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst gatewayId = config.requireObject\u003cany\u003e(\"gatewayId\");\nconst policyId = config.requireObject\u003cany\u003e(\"policyId\");\nconst publishIds = config.requireObject\u003cArray\u003cstring\u003e\u003e(\"publishIds\");\nconst tpa = new opentelekomcloud.ApigwThrottlingPolicyAssociateV2(\"tpa\", {\n    gatewayId: gatewayId,\n    policyId: policyId,\n    publishIds: publishIds,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ngateway_id = config.require_object(\"gatewayId\")\npolicy_id = config.require_object(\"policyId\")\npublish_ids = config.require_object(\"publishIds\")\ntpa = opentelekomcloud.ApigwThrottlingPolicyAssociateV2(\"tpa\",\n    gateway_id=gateway_id,\n    policy_id=policy_id,\n    publish_ids=publish_ids)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var gatewayId = config.RequireObject\u003cdynamic\u003e(\"gatewayId\");\n    var policyId = config.RequireObject\u003cdynamic\u003e(\"policyId\");\n    var publishIds = config.RequireObject\u003cstring[]\u003e(\"publishIds\");\n    var tpa = new Opentelekomcloud.ApigwThrottlingPolicyAssociateV2(\"tpa\", new()\n    {\n        GatewayId = gatewayId,\n        PolicyId = policyId,\n        PublishIds = publishIds,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tgatewayId := cfg.RequireObject(\"gatewayId\")\n\t\tpolicyId := cfg.RequireObject(\"policyId\")\n\t\tpublishIds := cfg.Require(\"publishIds\")\n\t\t_, err := opentelekomcloud.NewApigwThrottlingPolicyAssociateV2(ctx, \"tpa\", \u0026opentelekomcloud.ApigwThrottlingPolicyAssociateV2Args{\n\t\t\tGatewayId:  pulumi.Any(gatewayId),\n\t\t\tPolicyId:   pulumi.Any(policyId),\n\t\t\tPublishIds: publishIds,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ApigwThrottlingPolicyAssociateV2;\nimport com.pulumi.opentelekomcloud.ApigwThrottlingPolicyAssociateV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var gatewayId = config.get(\"gatewayId\");\n        final var policyId = config.get(\"policyId\");\n        final var publishIds = config.get(\"publishIds\");\n        var tpa = new ApigwThrottlingPolicyAssociateV2(\"tpa\", ApigwThrottlingPolicyAssociateV2Args.builder()\n            .gatewayId(gatewayId)\n            .policyId(policyId)\n            .publishIds(publishIds)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  gatewayId:\n    type: dynamic\n  policyId:\n    type: dynamic\n  publishIds:\n    type: list(string)\nresources:\n  tpa:\n    type: opentelekomcloud:ApigwThrottlingPolicyAssociateV2\n    properties:\n      gatewayId: ${gatewayId}\n      policyId: ${policyId}\n      publishIds: ${publishIds}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nResources can be imported using their `policy_id` and the APIGW dedicated gateway ID to which the policy\n\nbelongs, separated by a slash, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/apigwThrottlingPolicyAssociateV2:ApigwThrottlingPolicyAssociateV2 tpa \u003cgateway_id\u003e/\u003cpolicy_id\u003e\n```\n\n","properties":{"apigwThrottlingPolicyAssociateV2Id":{"type":"string","description":"Resource ID. The format is `\u003cgateway_id\u003e/\u003cpolicy_id\u003e`.\n"},"gatewayId":{"type":"string","description":"Specifies the ID of the dedicated gateway to which the APIs and the\nthrottling policy belongs.\nChanging this will create a new resource.\n"},"policyId":{"type":"string","description":"Specifies the ID of the throttling policy.\nChanging this will create a new resource.\n"},"publishIds":{"type":"array","items":{"type":"string"},"description":"Specifies the publishing IDs corresponding to the APIs bound by the throttling policy.\n"},"region":{"type":"string","description":"Specifies the region where the dedicated instance and the throttling policy are located.\n"}},"type":"object","required":["apigwThrottlingPolicyAssociateV2Id","gatewayId","policyId","publishIds","region"],"inputProperties":{"apigwThrottlingPolicyAssociateV2Id":{"type":"string","description":"Resource ID. The format is `\u003cgateway_id\u003e/\u003cpolicy_id\u003e`.\n"},"gatewayId":{"type":"string","description":"Specifies the ID of the dedicated gateway to which the APIs and the\nthrottling policy belongs.\nChanging this will create a new resource.\n"},"policyId":{"type":"string","description":"Specifies the ID of the throttling policy.\nChanging this will create a new resource.\n"},"publishIds":{"type":"array","items":{"type":"string"},"description":"Specifies the publishing IDs corresponding to the APIs bound by the throttling policy.\n"}},"requiredInputs":["gatewayId","policyId","publishIds"],"stateInputs":{"description":"Input properties used for looking up and filtering ApigwThrottlingPolicyAssociateV2 resources.\n","properties":{"apigwThrottlingPolicyAssociateV2Id":{"type":"string","description":"Resource ID. The format is `\u003cgateway_id\u003e/\u003cpolicy_id\u003e`.\n"},"gatewayId":{"type":"string","description":"Specifies the ID of the dedicated gateway to which the APIs and the\nthrottling policy belongs.\nChanging this will create a new resource.\n"},"policyId":{"type":"string","description":"Specifies the ID of the throttling policy.\nChanging this will create a new resource.\n"},"publishIds":{"type":"array","items":{"type":"string"},"description":"Specifies the publishing IDs corresponding to the APIs bound by the throttling policy.\n"},"region":{"type":"string","description":"Specifies the region where the dedicated instance and the throttling policy are located.\n"}},"type":"object"}},"opentelekomcloud:index/apigwThrottlingPolicyV2:ApigwThrottlingPolicyV2":{"description":"Up-to-date reference of API arguments for API Gateway throttling policy service you can get at\n[documentation portal](https://docs.otc.t-systems.com/api-gateway/api-ref/dedicated_gateway_apis_v2/index.html)\n\nAPI Gateway (APIG) is a high-performance, high-availability, and high-security API hosting service that helps you build,\nmanage, and deploy APIs at any scale.\nWith just a few clicks, you can integrate internal systems, and selectively expose capabilities with minimal costs and risks.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst policy = new opentelekomcloud.ApigwThrottlingPolicyV2(\"policy\", {\n    instanceId: gateway.id,\n    name: \"throttling policy\",\n    type: \"API-shared\",\n    period: 10,\n    periodUnit: \"MINUTE\",\n    maxApiRequests: 70,\n    maxUserRequests: 45,\n    maxAppRequests: 45,\n    maxIpRequests: 45,\n    description: \"Created by tf\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\npolicy = opentelekomcloud.ApigwThrottlingPolicyV2(\"policy\",\n    instance_id=gateway[\"id\"],\n    name=\"throttling policy\",\n    type=\"API-shared\",\n    period=10,\n    period_unit=\"MINUTE\",\n    max_api_requests=70,\n    max_user_requests=45,\n    max_app_requests=45,\n    max_ip_requests=45,\n    description=\"Created by tf\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var policy = new Opentelekomcloud.ApigwThrottlingPolicyV2(\"policy\", new()\n    {\n        InstanceId = gateway.Id,\n        Name = \"throttling policy\",\n        Type = \"API-shared\",\n        Period = 10,\n        PeriodUnit = \"MINUTE\",\n        MaxApiRequests = 70,\n        MaxUserRequests = 45,\n        MaxAppRequests = 45,\n        MaxIpRequests = 45,\n        Description = \"Created by tf\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewApigwThrottlingPolicyV2(ctx, \"policy\", \u0026opentelekomcloud.ApigwThrottlingPolicyV2Args{\n\t\t\tInstanceId:      pulumi.Any(gateway.Id),\n\t\t\tName:            pulumi.String(\"throttling policy\"),\n\t\t\tType:            pulumi.String(\"API-shared\"),\n\t\t\tPeriod:          pulumi.Float64(10),\n\t\t\tPeriodUnit:      pulumi.String(\"MINUTE\"),\n\t\t\tMaxApiRequests:  pulumi.Float64(70),\n\t\t\tMaxUserRequests: pulumi.Float64(45),\n\t\t\tMaxAppRequests:  pulumi.Float64(45),\n\t\t\tMaxIpRequests:   pulumi.Float64(45),\n\t\t\tDescription:     pulumi.String(\"Created by tf\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ApigwThrottlingPolicyV2;\nimport com.pulumi.opentelekomcloud.ApigwThrottlingPolicyV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var policy = new ApigwThrottlingPolicyV2(\"policy\", ApigwThrottlingPolicyV2Args.builder()\n            .instanceId(gateway.id())\n            .name(\"throttling policy\")\n            .type(\"API-shared\")\n            .period(10.0)\n            .periodUnit(\"MINUTE\")\n            .maxApiRequests(70.0)\n            .maxUserRequests(45.0)\n            .maxAppRequests(45.0)\n            .maxIpRequests(45.0)\n            .description(\"Created by tf\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  policy:\n    type: opentelekomcloud:ApigwThrottlingPolicyV2\n    properties:\n      instanceId: ${gateway.id}\n      name: throttling policy\n      type: API-shared\n      period: 10\n      periodUnit: MINUTE\n      maxApiRequests: 70\n      maxUserRequests: 45\n      maxAppRequests: 45\n      maxIpRequests: 45\n      description: Created by tf\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAPI Throttling Policies can be imported using their `name` and related dedicated instance ID, separated by a slash, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/apigwThrottlingPolicyV2:ApigwThrottlingPolicyV2 test \u003cinstance_id\u003e/\u003cname\u003e\n```\n\n","properties":{"apigwThrottlingPolicyV2Id":{"type":"string","description":"ID of the special user/application throttling policy.\n"},"appThrottles":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FApigwThrottlingPolicyV2AppThrottle:ApigwThrottlingPolicyV2AppThrottle"},"description":"Specifies the array of one or more special throttling policies for APP limit.\nThe \u003cspan pulumi-lang-nodejs=\"`appThrottles`\" pulumi-lang-dotnet=\"`AppThrottles`\" pulumi-lang-go=\"`appThrottles`\" pulumi-lang-python=\"`app_throttles`\" pulumi-lang-yaml=\"`appThrottles`\" pulumi-lang-java=\"`appThrottles`\"\u003e`app_throttles`\u003c/span\u003e object structure is documented below.\n\nThe \u003cspan pulumi-lang-nodejs=\"`userThrottles`\" pulumi-lang-dotnet=\"`UserThrottles`\" pulumi-lang-go=\"`userThrottles`\" pulumi-lang-python=\"`user_throttles`\" pulumi-lang-yaml=\"`userThrottles`\" pulumi-lang-java=\"`userThrottles`\"\u003e`user_throttles`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`userThrottles`\" pulumi-lang-dotnet=\"`UserThrottles`\" pulumi-lang-go=\"`userThrottles`\" pulumi-lang-python=\"`user_throttles`\" pulumi-lang-yaml=\"`userThrottles`\" pulumi-lang-java=\"`userThrottles`\"\u003e`user_throttles`\u003c/span\u003e blocks support:\n"},"createdAt":{"type":"string","description":"The creation time of the throttling policy.\n"},"description":{"type":"string","description":"Specifies the description about the API throttling policy.\nThe description contain a maximum of \u003cspan pulumi-lang-nodejs=\"`255`\" pulumi-lang-dotnet=\"`255`\" pulumi-lang-go=\"`255`\" pulumi-lang-python=\"`255`\" pulumi-lang-yaml=\"`255`\" pulumi-lang-java=\"`255`\"\u003e`255`\u003c/span\u003e characters and the angle brackets (\u003c and \u003e) are not allowed.\n"},"instanceId":{"type":"string","description":"Specifies the ID of the dedicated instance to which the throttling\npolicy belongs.\n"},"maxApiRequests":{"type":"number","description":"Specifies the maximum number of times an API can be accessed within a specified\nperiod.\n"},"maxAppRequests":{"type":"number","description":"Specifies the maximum number of times the API can be accessed by an app within\nthe same period.\nThe value of this parameter must be less than or equal to the value of \u003cspan pulumi-lang-nodejs=\"`maxUserRequests`\" pulumi-lang-dotnet=\"`MaxUserRequests`\" pulumi-lang-go=\"`maxUserRequests`\" pulumi-lang-python=\"`max_user_requests`\" pulumi-lang-yaml=\"`maxUserRequests`\" pulumi-lang-java=\"`maxUserRequests`\"\u003e`max_user_requests`\u003c/span\u003e.\n"},"maxIpRequests":{"type":"number","description":"Specifies the maximum number of times the API can be accessed by an IP address\nwithin the same period.\nThe value of this parameter must be less than or equal to the value of \u003cspan pulumi-lang-nodejs=\"`maxApiRequests`\" pulumi-lang-dotnet=\"`MaxApiRequests`\" pulumi-lang-go=\"`maxApiRequests`\" pulumi-lang-python=\"`max_api_requests`\" pulumi-lang-yaml=\"`maxApiRequests`\" pulumi-lang-java=\"`maxApiRequests`\"\u003e`max_api_requests`\u003c/span\u003e.\n"},"maxUserRequests":{"type":"number","description":"Specifies the maximum number of times the API can be accessed by a user within\nthe same period.\nThe value of this parameter must be less than or equal to the value of \u003cspan pulumi-lang-nodejs=\"`maxApiRequests`\" pulumi-lang-dotnet=\"`MaxApiRequests`\" pulumi-lang-go=\"`maxApiRequests`\" pulumi-lang-python=\"`max_api_requests`\" pulumi-lang-yaml=\"`maxApiRequests`\" pulumi-lang-java=\"`maxApiRequests`\"\u003e`max_api_requests`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the throttling policy.\nThe valid length is limited from \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e, only English letters, digits and underscores (_) are\nallowed.\n"},"period":{"type":"number","description":"Specifies the period of time for limiting the number of API calls.\nThis parameter applies with each of the API call limits: \u003cspan pulumi-lang-nodejs=\"`maxApiRequests`\" pulumi-lang-dotnet=\"`MaxApiRequests`\" pulumi-lang-go=\"`maxApiRequests`\" pulumi-lang-python=\"`max_api_requests`\" pulumi-lang-yaml=\"`maxApiRequests`\" pulumi-lang-java=\"`maxApiRequests`\"\u003e`max_api_requests`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`maxAppRequests`\" pulumi-lang-dotnet=\"`MaxAppRequests`\" pulumi-lang-go=\"`maxAppRequests`\" pulumi-lang-python=\"`max_app_requests`\" pulumi-lang-yaml=\"`maxAppRequests`\" pulumi-lang-java=\"`maxAppRequests`\"\u003e`max_app_requests`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`maxIpRequests`\" pulumi-lang-dotnet=\"`MaxIpRequests`\" pulumi-lang-go=\"`maxIpRequests`\" pulumi-lang-python=\"`max_ip_requests`\" pulumi-lang-yaml=\"`maxIpRequests`\" pulumi-lang-java=\"`maxIpRequests`\"\u003e`max_ip_requests`\u003c/span\u003e\nand \u003cspan pulumi-lang-nodejs=\"`maxUserRequests`\" pulumi-lang-dotnet=\"`MaxUserRequests`\" pulumi-lang-go=\"`maxUserRequests`\" pulumi-lang-python=\"`max_user_requests`\" pulumi-lang-yaml=\"`maxUserRequests`\" pulumi-lang-java=\"`maxUserRequests`\"\u003e`max_user_requests`\u003c/span\u003e.\n"},"periodUnit":{"type":"string","description":"Specifies the time unit for limiting the number of API calls.\nThe valid values are **SECOND**, **MINUTE**, **HOUR** and **DAY**, defaults to **MINUTE**.\n"},"region":{"type":"string","description":"The region where the throttling policy is located.\n"},"type":{"type":"string","description":"Specifies the type of the request throttling policy.\nThe valid values are as follows:\n+ **API-based**: limiting the maximum number of times a single API bound to the policy can be called within the\nspecified period.\n+ **API-shared**: limiting the maximum number of times all APIs bound to the policy can be called within the specified\nperiod.\n"},"userThrottles":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FApigwThrottlingPolicyV2UserThrottle:ApigwThrottlingPolicyV2UserThrottle"},"description":"Specifies the array of one or more special throttling policies for IAM user limit.\nThe \u003cspan pulumi-lang-nodejs=\"`userThrottles`\" pulumi-lang-dotnet=\"`UserThrottles`\" pulumi-lang-go=\"`userThrottles`\" pulumi-lang-python=\"`user_throttles`\" pulumi-lang-yaml=\"`userThrottles`\" pulumi-lang-java=\"`userThrottles`\"\u003e`user_throttles`\u003c/span\u003e object structure is documented below.\n"}},"type":"object","required":["apigwThrottlingPolicyV2Id","createdAt","instanceId","maxApiRequests","name","period","region"],"inputProperties":{"apigwThrottlingPolicyV2Id":{"type":"string","description":"ID of the special user/application throttling policy.\n"},"appThrottles":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FApigwThrottlingPolicyV2AppThrottle:ApigwThrottlingPolicyV2AppThrottle"},"description":"Specifies the array of one or more special throttling policies for APP limit.\nThe \u003cspan pulumi-lang-nodejs=\"`appThrottles`\" pulumi-lang-dotnet=\"`AppThrottles`\" pulumi-lang-go=\"`appThrottles`\" pulumi-lang-python=\"`app_throttles`\" pulumi-lang-yaml=\"`appThrottles`\" pulumi-lang-java=\"`appThrottles`\"\u003e`app_throttles`\u003c/span\u003e object structure is documented below.\n\nThe \u003cspan pulumi-lang-nodejs=\"`userThrottles`\" pulumi-lang-dotnet=\"`UserThrottles`\" pulumi-lang-go=\"`userThrottles`\" pulumi-lang-python=\"`user_throttles`\" pulumi-lang-yaml=\"`userThrottles`\" pulumi-lang-java=\"`userThrottles`\"\u003e`user_throttles`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`userThrottles`\" pulumi-lang-dotnet=\"`UserThrottles`\" pulumi-lang-go=\"`userThrottles`\" pulumi-lang-python=\"`user_throttles`\" pulumi-lang-yaml=\"`userThrottles`\" pulumi-lang-java=\"`userThrottles`\"\u003e`user_throttles`\u003c/span\u003e blocks support:\n"},"description":{"type":"string","description":"Specifies the description about the API throttling policy.\nThe description contain a maximum of \u003cspan pulumi-lang-nodejs=\"`255`\" pulumi-lang-dotnet=\"`255`\" pulumi-lang-go=\"`255`\" pulumi-lang-python=\"`255`\" pulumi-lang-yaml=\"`255`\" pulumi-lang-java=\"`255`\"\u003e`255`\u003c/span\u003e characters and the angle brackets (\u003c and \u003e) are not allowed.\n"},"instanceId":{"type":"string","description":"Specifies the ID of the dedicated instance to which the throttling\npolicy belongs.\n"},"maxApiRequests":{"type":"number","description":"Specifies the maximum number of times an API can be accessed within a specified\nperiod.\n"},"maxAppRequests":{"type":"number","description":"Specifies the maximum number of times the API can be accessed by an app within\nthe same period.\nThe value of this parameter must be less than or equal to the value of \u003cspan pulumi-lang-nodejs=\"`maxUserRequests`\" pulumi-lang-dotnet=\"`MaxUserRequests`\" pulumi-lang-go=\"`maxUserRequests`\" pulumi-lang-python=\"`max_user_requests`\" pulumi-lang-yaml=\"`maxUserRequests`\" pulumi-lang-java=\"`maxUserRequests`\"\u003e`max_user_requests`\u003c/span\u003e.\n"},"maxIpRequests":{"type":"number","description":"Specifies the maximum number of times the API can be accessed by an IP address\nwithin the same period.\nThe value of this parameter must be less than or equal to the value of \u003cspan pulumi-lang-nodejs=\"`maxApiRequests`\" pulumi-lang-dotnet=\"`MaxApiRequests`\" pulumi-lang-go=\"`maxApiRequests`\" pulumi-lang-python=\"`max_api_requests`\" pulumi-lang-yaml=\"`maxApiRequests`\" pulumi-lang-java=\"`maxApiRequests`\"\u003e`max_api_requests`\u003c/span\u003e.\n"},"maxUserRequests":{"type":"number","description":"Specifies the maximum number of times the API can be accessed by a user within\nthe same period.\nThe value of this parameter must be less than or equal to the value of \u003cspan pulumi-lang-nodejs=\"`maxApiRequests`\" pulumi-lang-dotnet=\"`MaxApiRequests`\" pulumi-lang-go=\"`maxApiRequests`\" pulumi-lang-python=\"`max_api_requests`\" pulumi-lang-yaml=\"`maxApiRequests`\" pulumi-lang-java=\"`maxApiRequests`\"\u003e`max_api_requests`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the throttling policy.\nThe valid length is limited from \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e, only English letters, digits and underscores (_) are\nallowed.\n"},"period":{"type":"number","description":"Specifies the period of time for limiting the number of API calls.\nThis parameter applies with each of the API call limits: \u003cspan pulumi-lang-nodejs=\"`maxApiRequests`\" pulumi-lang-dotnet=\"`MaxApiRequests`\" pulumi-lang-go=\"`maxApiRequests`\" pulumi-lang-python=\"`max_api_requests`\" pulumi-lang-yaml=\"`maxApiRequests`\" pulumi-lang-java=\"`maxApiRequests`\"\u003e`max_api_requests`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`maxAppRequests`\" pulumi-lang-dotnet=\"`MaxAppRequests`\" pulumi-lang-go=\"`maxAppRequests`\" pulumi-lang-python=\"`max_app_requests`\" pulumi-lang-yaml=\"`maxAppRequests`\" pulumi-lang-java=\"`maxAppRequests`\"\u003e`max_app_requests`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`maxIpRequests`\" pulumi-lang-dotnet=\"`MaxIpRequests`\" pulumi-lang-go=\"`maxIpRequests`\" pulumi-lang-python=\"`max_ip_requests`\" pulumi-lang-yaml=\"`maxIpRequests`\" pulumi-lang-java=\"`maxIpRequests`\"\u003e`max_ip_requests`\u003c/span\u003e\nand \u003cspan pulumi-lang-nodejs=\"`maxUserRequests`\" pulumi-lang-dotnet=\"`MaxUserRequests`\" pulumi-lang-go=\"`maxUserRequests`\" pulumi-lang-python=\"`max_user_requests`\" pulumi-lang-yaml=\"`maxUserRequests`\" pulumi-lang-java=\"`maxUserRequests`\"\u003e`max_user_requests`\u003c/span\u003e.\n"},"periodUnit":{"type":"string","description":"Specifies the time unit for limiting the number of API calls.\nThe valid values are **SECOND**, **MINUTE**, **HOUR** and **DAY**, defaults to **MINUTE**.\n"},"type":{"type":"string","description":"Specifies the type of the request throttling policy.\nThe valid values are as follows:\n+ **API-based**: limiting the maximum number of times a single API bound to the policy can be called within the\nspecified period.\n+ **API-shared**: limiting the maximum number of times all APIs bound to the policy can be called within the specified\nperiod.\n"},"userThrottles":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FApigwThrottlingPolicyV2UserThrottle:ApigwThrottlingPolicyV2UserThrottle"},"description":"Specifies the array of one or more special throttling policies for IAM user limit.\nThe \u003cspan pulumi-lang-nodejs=\"`userThrottles`\" pulumi-lang-dotnet=\"`UserThrottles`\" pulumi-lang-go=\"`userThrottles`\" pulumi-lang-python=\"`user_throttles`\" pulumi-lang-yaml=\"`userThrottles`\" pulumi-lang-java=\"`userThrottles`\"\u003e`user_throttles`\u003c/span\u003e object structure is documented below.\n"}},"requiredInputs":["instanceId","maxApiRequests","period"],"stateInputs":{"description":"Input properties used for looking up and filtering ApigwThrottlingPolicyV2 resources.\n","properties":{"apigwThrottlingPolicyV2Id":{"type":"string","description":"ID of the special user/application throttling policy.\n"},"appThrottles":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FApigwThrottlingPolicyV2AppThrottle:ApigwThrottlingPolicyV2AppThrottle"},"description":"Specifies the array of one or more special throttling policies for APP limit.\nThe \u003cspan pulumi-lang-nodejs=\"`appThrottles`\" pulumi-lang-dotnet=\"`AppThrottles`\" pulumi-lang-go=\"`appThrottles`\" pulumi-lang-python=\"`app_throttles`\" pulumi-lang-yaml=\"`appThrottles`\" pulumi-lang-java=\"`appThrottles`\"\u003e`app_throttles`\u003c/span\u003e object structure is documented below.\n\nThe \u003cspan pulumi-lang-nodejs=\"`userThrottles`\" pulumi-lang-dotnet=\"`UserThrottles`\" pulumi-lang-go=\"`userThrottles`\" pulumi-lang-python=\"`user_throttles`\" pulumi-lang-yaml=\"`userThrottles`\" pulumi-lang-java=\"`userThrottles`\"\u003e`user_throttles`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`userThrottles`\" pulumi-lang-dotnet=\"`UserThrottles`\" pulumi-lang-go=\"`userThrottles`\" pulumi-lang-python=\"`user_throttles`\" pulumi-lang-yaml=\"`userThrottles`\" pulumi-lang-java=\"`userThrottles`\"\u003e`user_throttles`\u003c/span\u003e blocks support:\n"},"createdAt":{"type":"string","description":"The creation time of the throttling policy.\n"},"description":{"type":"string","description":"Specifies the description about the API throttling policy.\nThe description contain a maximum of \u003cspan pulumi-lang-nodejs=\"`255`\" pulumi-lang-dotnet=\"`255`\" pulumi-lang-go=\"`255`\" pulumi-lang-python=\"`255`\" pulumi-lang-yaml=\"`255`\" pulumi-lang-java=\"`255`\"\u003e`255`\u003c/span\u003e characters and the angle brackets (\u003c and \u003e) are not allowed.\n"},"instanceId":{"type":"string","description":"Specifies the ID of the dedicated instance to which the throttling\npolicy belongs.\n"},"maxApiRequests":{"type":"number","description":"Specifies the maximum number of times an API can be accessed within a specified\nperiod.\n"},"maxAppRequests":{"type":"number","description":"Specifies the maximum number of times the API can be accessed by an app within\nthe same period.\nThe value of this parameter must be less than or equal to the value of \u003cspan pulumi-lang-nodejs=\"`maxUserRequests`\" pulumi-lang-dotnet=\"`MaxUserRequests`\" pulumi-lang-go=\"`maxUserRequests`\" pulumi-lang-python=\"`max_user_requests`\" pulumi-lang-yaml=\"`maxUserRequests`\" pulumi-lang-java=\"`maxUserRequests`\"\u003e`max_user_requests`\u003c/span\u003e.\n"},"maxIpRequests":{"type":"number","description":"Specifies the maximum number of times the API can be accessed by an IP address\nwithin the same period.\nThe value of this parameter must be less than or equal to the value of \u003cspan pulumi-lang-nodejs=\"`maxApiRequests`\" pulumi-lang-dotnet=\"`MaxApiRequests`\" pulumi-lang-go=\"`maxApiRequests`\" pulumi-lang-python=\"`max_api_requests`\" pulumi-lang-yaml=\"`maxApiRequests`\" pulumi-lang-java=\"`maxApiRequests`\"\u003e`max_api_requests`\u003c/span\u003e.\n"},"maxUserRequests":{"type":"number","description":"Specifies the maximum number of times the API can be accessed by a user within\nthe same period.\nThe value of this parameter must be less than or equal to the value of \u003cspan pulumi-lang-nodejs=\"`maxApiRequests`\" pulumi-lang-dotnet=\"`MaxApiRequests`\" pulumi-lang-go=\"`maxApiRequests`\" pulumi-lang-python=\"`max_api_requests`\" pulumi-lang-yaml=\"`maxApiRequests`\" pulumi-lang-java=\"`maxApiRequests`\"\u003e`max_api_requests`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the name of the throttling policy.\nThe valid length is limited from \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e, only English letters, digits and underscores (_) are\nallowed.\n"},"period":{"type":"number","description":"Specifies the period of time for limiting the number of API calls.\nThis parameter applies with each of the API call limits: \u003cspan pulumi-lang-nodejs=\"`maxApiRequests`\" pulumi-lang-dotnet=\"`MaxApiRequests`\" pulumi-lang-go=\"`maxApiRequests`\" pulumi-lang-python=\"`max_api_requests`\" pulumi-lang-yaml=\"`maxApiRequests`\" pulumi-lang-java=\"`maxApiRequests`\"\u003e`max_api_requests`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`maxAppRequests`\" pulumi-lang-dotnet=\"`MaxAppRequests`\" pulumi-lang-go=\"`maxAppRequests`\" pulumi-lang-python=\"`max_app_requests`\" pulumi-lang-yaml=\"`maxAppRequests`\" pulumi-lang-java=\"`maxAppRequests`\"\u003e`max_app_requests`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`maxIpRequests`\" pulumi-lang-dotnet=\"`MaxIpRequests`\" pulumi-lang-go=\"`maxIpRequests`\" pulumi-lang-python=\"`max_ip_requests`\" pulumi-lang-yaml=\"`maxIpRequests`\" pulumi-lang-java=\"`maxIpRequests`\"\u003e`max_ip_requests`\u003c/span\u003e\nand \u003cspan pulumi-lang-nodejs=\"`maxUserRequests`\" pulumi-lang-dotnet=\"`MaxUserRequests`\" pulumi-lang-go=\"`maxUserRequests`\" pulumi-lang-python=\"`max_user_requests`\" pulumi-lang-yaml=\"`maxUserRequests`\" pulumi-lang-java=\"`maxUserRequests`\"\u003e`max_user_requests`\u003c/span\u003e.\n"},"periodUnit":{"type":"string","description":"Specifies the time unit for limiting the number of API calls.\nThe valid values are **SECOND**, **MINUTE**, **HOUR** and **DAY**, defaults to **MINUTE**.\n"},"region":{"type":"string","description":"The region where the throttling policy is located.\n"},"type":{"type":"string","description":"Specifies the type of the request throttling policy.\nThe valid values are as follows:\n+ **API-based**: limiting the maximum number of times a single API bound to the policy can be called within the\nspecified period.\n+ **API-shared**: limiting the maximum number of times all APIs bound to the policy can be called within the specified\nperiod.\n"},"userThrottles":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FApigwThrottlingPolicyV2UserThrottle:ApigwThrottlingPolicyV2UserThrottle"},"description":"Specifies the array of one or more special throttling policies for IAM user limit.\nThe \u003cspan pulumi-lang-nodejs=\"`userThrottles`\" pulumi-lang-dotnet=\"`UserThrottles`\" pulumi-lang-go=\"`userThrottles`\" pulumi-lang-python=\"`user_throttles`\" pulumi-lang-yaml=\"`userThrottles`\" pulumi-lang-java=\"`userThrottles`\"\u003e`user_throttles`\u003c/span\u003e object structure is documented below.\n"}},"type":"object"}},"opentelekomcloud:index/apigwVpcChannelV2:ApigwVpcChannelV2":{"description":"Up-to-date reference of API arguments for API Gateway VPC Channel service you can get at\n[documentation portal](https://docs.otc.t-systems.com/api-gateway/api-ref/dedicated_gateway_apis_v2/vpc_channel_management/index.html)\n\nManages a channel resource within OpenTelekomCloud.\n\n\u003e After creating a channel of type server, you can configure it for an API of an HTTP/HTTPS backend service.\n\n## Example Usage\n\n### Create a channel of type server and use the default group to manage servers\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst gatewayId = config.requireObject\u003cany\u003e(\"gatewayId\");\nconst channelName = config.requireObject\u003cany\u003e(\"channelName\");\nconst backendServers = config.requireObject\u003cArray\u003c{groupName?: string, id?: string, weight?: number}\u003e\u003e(\"backendServers\");\nconst test = new opentelekomcloud.ApigwVpcChannelV2(\"test\", {\n    members: backendServers.map((v, k) =\u003e ({key: k, value: v})).map(entry =\u003e ({\n        id: entry.value.id,\n        weight: entry.value.weight,\n    })),\n    gatewayId: gatewayId,\n    name: channelName,\n    port: 8080,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ngateway_id = config.require_object(\"gatewayId\")\nchannel_name = config.require_object(\"channelName\")\nbackend_servers = config.require_object(\"backendServers\")\ntest = opentelekomcloud.ApigwVpcChannelV2(\"test\",\n    members=[{\n        \"id\": entry[\"value\"][\"id\"],\n        \"weight\": entry[\"value\"][\"weight\"],\n    } for entry in [{\"key\": k, \"value\": v} for k, v in backend_servers]],\n    gateway_id=gateway_id,\n    name=channel_name,\n    port=8080)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var gatewayId = config.RequireObject\u003cdynamic\u003e(\"gatewayId\");\n    var channelName = config.RequireObject\u003cdynamic\u003e(\"channelName\");\n    var backendServers = config.RequireObject\u003cBackendServers[]\u003e(\"backendServers\");\n    var test = new Opentelekomcloud.ApigwVpcChannelV2(\"test\", new()\n    {\n        Members = backendServers.Select((v, k) =\u003e new { Key = k, Value = v }).Select(entry =\u003e \n        {\n            return new Opentelekomcloud.Inputs.ApigwVpcChannelV2MemberArgs\n            {\n                Id = entry.Value.Id,\n                Weight = entry.Value.Weight,\n            };\n        }).ToList(),\n        GatewayId = gatewayId,\n        Name = channelName,\n        Port = 8080,\n    });\n\n});\n\npublic class BackendServers\n{\n    public string groupName { get; set; }\n    public string id { get; set; }\n    public double weight { get; set; }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a channel of type server and use the custom group to manage servers\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst gatewayId = config.requireObject\u003cany\u003e(\"gatewayId\");\nconst channelName = config.requireObject\u003cany\u003e(\"channelName\");\nconst backendServerGroups = config.requireObject\u003cArray\u003c{description?: string, name?: string, weight?: number}\u003e\u003e(\"backendServerGroups\");\nconst backendServers = config.requireObject\u003cArray\u003c{groupName?: string, id?: string, weight?: number}\u003e\u003e(\"backendServers\");\nconst test = new opentelekomcloud.ApigwVpcChannelV2(\"test\", {\n    memberGroups: backendServerGroups.map((v, k) =\u003e ({key: k, value: v})).map(entry =\u003e ({\n        name: value.name,\n        description: value.description,\n        weight: value.weight,\n    })),\n    members: backendServers.map((v, k) =\u003e ({key: k, value: v})).map(entry2 =\u003e ({\n        groupName: value.group_name,\n        id: value.id,\n        weight: value.weight,\n    })),\n    gatewayId: gatewayId,\n    name: channelName,\n    port: 8080,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ngateway_id = config.require_object(\"gatewayId\")\nchannel_name = config.require_object(\"channelName\")\nbackend_server_groups = config.require_object(\"backendServerGroups\")\nbackend_servers = config.require_object(\"backendServers\")\ntest = opentelekomcloud.ApigwVpcChannelV2(\"test\",\n    member_groups=[{\n        \"name\": value[\"name\"],\n        \"description\": value[\"description\"],\n        \"weight\": value[\"weight\"],\n    } for entry in [{\"key\": k, \"value\": v} for k, v in backend_server_groups]],\n    members=[{\n        \"group_name\": value[\"group_name\"],\n        \"id\": value[\"id\"],\n        \"weight\": value[\"weight\"],\n    } for entry2 in [{\"key\": k, \"value\": v} for k, v in backend_servers]],\n    gateway_id=gateway_id,\n    name=channel_name,\n    port=8080)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var gatewayId = config.RequireObject\u003cdynamic\u003e(\"gatewayId\");\n    var channelName = config.RequireObject\u003cdynamic\u003e(\"channelName\");\n    var backendServerGroups = config.RequireObject\u003cBackendServerGroups[]\u003e(\"backendServerGroups\");\n    var backendServers = config.RequireObject\u003cBackendServers[]\u003e(\"backendServers\");\n    var test = new Opentelekomcloud.ApigwVpcChannelV2(\"test\", new()\n    {\n        MemberGroups = backendServerGroups.Select((v, k) =\u003e new { Key = k, Value = v }).Select(entry =\u003e \n        {\n            return new Opentelekomcloud.Inputs.ApigwVpcChannelV2MemberGroupArgs\n            {\n                Name = @value.Name,\n                Description = @value.Description,\n                Weight = @value.Weight,\n            };\n        }).ToList(),\n        Members = backendServers.Select((v, k) =\u003e new { Key = k, Value = v }).Select(entry2 =\u003e \n        {\n            return new Opentelekomcloud.Inputs.ApigwVpcChannelV2MemberArgs\n            {\n                GroupName = @value.Group_name,\n                Id = @value.Id,\n                Weight = @value.Weight,\n            };\n        }).ToList(),\n        GatewayId = gatewayId,\n        Name = channelName,\n        Port = 8080,\n    });\n\n});\n\npublic class BackendServerGroups\n{\n    public string description { get; set; }\n    public string name { get; set; }\n    public double weight { get; set; }\n}\n\npublic class BackendServers\n{\n    public string groupName { get; set; }\n    public string id { get; set; }\n    public double weight { get; set; }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nChannels can be imported using their `id` and the ID of the related API gateway instance, separated by a slash, e.g.\n\nbash\n\n```sh\n$ pulumi import opentelekomcloud:index/apigwVpcChannelV2:ApigwVpcChannelV2 test \u003cgateway_id\u003e/\u003cid\u003e\n```\n\n","properties":{"apigwVpcChannelV2Id":{"type":"string","description":"Specifies the ECS ID for each backend servers.\n\n\u003e One of the parameter `member.host` and `member.id` must be set if \u003cspan pulumi-lang-nodejs=\"`memberType`\" pulumi-lang-dotnet=\"`MemberType`\" pulumi-lang-go=\"`memberType`\" pulumi-lang-python=\"`member_type`\" pulumi-lang-yaml=\"`memberType`\" pulumi-lang-java=\"`memberType`\"\u003e`member_type`\u003c/span\u003e is **ecs**.\nThe parameter `member.host` and `member.id` are alternative.\n"},"createdAt":{"type":"string","description":"The time when the channel was created.\n"},"gatewayId":{"type":"string","description":"Specifies the ID of the dedicated API gateway to which the channel\nbelongs.\nChanging this will create a new resource.\n"},"healthCheck":{"$ref":"#/types/opentelekomcloud:index%2FApigwVpcChannelV2HealthCheck:ApigwVpcChannelV2HealthCheck","description":"Specifies the health configuration of cloud servers associated with the load balance\nchannel for APIG regularly check.\nThe object structure is documented below.\n"},"lbAlgorithm":{"type":"number","description":"Specifies the distribution algorithm.\nThe valid values are as follows:\n"},"memberGroups":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FApigwVpcChannelV2MemberGroup:ApigwVpcChannelV2MemberGroup"},"description":"Specifies the backend (server) groups of the channel.\nThe object structure is documented below.\n"},"memberType":{"type":"string","description":"Specifies the member type of the channel.\nThe valid values are as follows:\n"},"members":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FApigwVpcChannelV2Member:ApigwVpcChannelV2Member"},"description":"Specifies the backend servers of the channel.\nThis parameter is required and only available if the \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e.\nThe object structure is documented below.\n"},"microservice":{"$ref":"#/types/opentelekomcloud:index%2FApigwVpcChannelV2Microservice:ApigwVpcChannelV2Microservice","description":"Specifies the configuration of the microservice.\nThe object structure is documented below.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"channelMemberGroup\"\" pulumi-lang-dotnet=\"\"ChannelMemberGroup\"\" pulumi-lang-go=\"\"channelMemberGroup\"\" pulumi-lang-python=\"\"channel_member_group\"\" pulumi-lang-yaml=\"\"channelMemberGroup\"\" pulumi-lang-java=\"\"channelMemberGroup\"\"\u003e\"channel_member_group\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`memberGroup`\" pulumi-lang-dotnet=\"`MemberGroup`\" pulumi-lang-go=\"`memberGroup`\" pulumi-lang-python=\"`member_group`\" pulumi-lang-yaml=\"`memberGroup`\" pulumi-lang-java=\"`memberGroup`\"\u003e`member_group`\u003c/span\u003e block supports:\n"},"name":{"type":"string","description":"Specifies the name of the backend server.\nRequired if the parameter `member.id` is set.\n"},"port":{"type":"number","description":"Specifies the destination host port for health check.\nThe valid value ranges from \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e to `65,535`.\n"},"region":{"type":"string","description":"The region where the channel is located.\n"},"status":{"type":"number","description":"Specifies the status of health check.\nThe valid values are as follows:\n"},"type":{"type":"number","description":"Specifies the type of the channel.\nThe valid values are as follows:\n"}},"type":"object","required":["apigwVpcChannelV2Id","createdAt","gatewayId","lbAlgorithm","memberType","name","port","region","status","type"],"inputProperties":{"apigwVpcChannelV2Id":{"type":"string","description":"Specifies the ECS ID for each backend servers.\n\n\u003e One of the parameter `member.host` and `member.id` must be set if \u003cspan pulumi-lang-nodejs=\"`memberType`\" pulumi-lang-dotnet=\"`MemberType`\" pulumi-lang-go=\"`memberType`\" pulumi-lang-python=\"`member_type`\" pulumi-lang-yaml=\"`memberType`\" pulumi-lang-java=\"`memberType`\"\u003e`member_type`\u003c/span\u003e is **ecs**.\nThe parameter `member.host` and `member.id` are alternative.\n"},"gatewayId":{"type":"string","description":"Specifies the ID of the dedicated API gateway to which the channel\nbelongs.\nChanging this will create a new resource.\n"},"healthCheck":{"$ref":"#/types/opentelekomcloud:index%2FApigwVpcChannelV2HealthCheck:ApigwVpcChannelV2HealthCheck","description":"Specifies the health configuration of cloud servers associated with the load balance\nchannel for APIG regularly check.\nThe object structure is documented below.\n"},"lbAlgorithm":{"type":"number","description":"Specifies the distribution algorithm.\nThe valid values are as follows:\n"},"memberGroups":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FApigwVpcChannelV2MemberGroup:ApigwVpcChannelV2MemberGroup"},"description":"Specifies the backend (server) groups of the channel.\nThe object structure is documented below.\n"},"memberType":{"type":"string","description":"Specifies the member type of the channel.\nThe valid values are as follows:\n"},"members":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FApigwVpcChannelV2Member:ApigwVpcChannelV2Member"},"description":"Specifies the backend servers of the channel.\nThis parameter is required and only available if the \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e.\nThe object structure is documented below.\n"},"microservice":{"$ref":"#/types/opentelekomcloud:index%2FApigwVpcChannelV2Microservice:ApigwVpcChannelV2Microservice","description":"Specifies the configuration of the microservice.\nThe object structure is documented below.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"channelMemberGroup\"\" pulumi-lang-dotnet=\"\"ChannelMemberGroup\"\" pulumi-lang-go=\"\"channelMemberGroup\"\" pulumi-lang-python=\"\"channel_member_group\"\" pulumi-lang-yaml=\"\"channelMemberGroup\"\" pulumi-lang-java=\"\"channelMemberGroup\"\"\u003e\"channel_member_group\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`memberGroup`\" pulumi-lang-dotnet=\"`MemberGroup`\" pulumi-lang-go=\"`memberGroup`\" pulumi-lang-python=\"`member_group`\" pulumi-lang-yaml=\"`memberGroup`\" pulumi-lang-java=\"`memberGroup`\"\u003e`member_group`\u003c/span\u003e block supports:\n"},"name":{"type":"string","description":"Specifies the name of the backend server.\nRequired if the parameter `member.id` is set.\n"},"port":{"type":"number","description":"Specifies the destination host port for health check.\nThe valid value ranges from \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e to `65,535`.\n"},"type":{"type":"number","description":"Specifies the type of the channel.\nThe valid values are as follows:\n"}},"requiredInputs":["gatewayId","lbAlgorithm","port"],"stateInputs":{"description":"Input properties used for looking up and filtering ApigwVpcChannelV2 resources.\n","properties":{"apigwVpcChannelV2Id":{"type":"string","description":"Specifies the ECS ID for each backend servers.\n\n\u003e One of the parameter `member.host` and `member.id` must be set if \u003cspan pulumi-lang-nodejs=\"`memberType`\" pulumi-lang-dotnet=\"`MemberType`\" pulumi-lang-go=\"`memberType`\" pulumi-lang-python=\"`member_type`\" pulumi-lang-yaml=\"`memberType`\" pulumi-lang-java=\"`memberType`\"\u003e`member_type`\u003c/span\u003e is **ecs**.\nThe parameter `member.host` and `member.id` are alternative.\n"},"createdAt":{"type":"string","description":"The time when the channel was created.\n"},"gatewayId":{"type":"string","description":"Specifies the ID of the dedicated API gateway to which the channel\nbelongs.\nChanging this will create a new resource.\n"},"healthCheck":{"$ref":"#/types/opentelekomcloud:index%2FApigwVpcChannelV2HealthCheck:ApigwVpcChannelV2HealthCheck","description":"Specifies the health configuration of cloud servers associated with the load balance\nchannel for APIG regularly check.\nThe object structure is documented below.\n"},"lbAlgorithm":{"type":"number","description":"Specifies the distribution algorithm.\nThe valid values are as follows:\n"},"memberGroups":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FApigwVpcChannelV2MemberGroup:ApigwVpcChannelV2MemberGroup"},"description":"Specifies the backend (server) groups of the channel.\nThe object structure is documented below.\n"},"memberType":{"type":"string","description":"Specifies the member type of the channel.\nThe valid values are as follows:\n"},"members":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FApigwVpcChannelV2Member:ApigwVpcChannelV2Member"},"description":"Specifies the backend servers of the channel.\nThis parameter is required and only available if the \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e.\nThe object structure is documented below.\n"},"microservice":{"$ref":"#/types/opentelekomcloud:index%2FApigwVpcChannelV2Microservice:ApigwVpcChannelV2Microservice","description":"Specifies the configuration of the microservice.\nThe object structure is documented below.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"channelMemberGroup\"\" pulumi-lang-dotnet=\"\"ChannelMemberGroup\"\" pulumi-lang-go=\"\"channelMemberGroup\"\" pulumi-lang-python=\"\"channel_member_group\"\" pulumi-lang-yaml=\"\"channelMemberGroup\"\" pulumi-lang-java=\"\"channelMemberGroup\"\"\u003e\"channel_member_group\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`memberGroup`\" pulumi-lang-dotnet=\"`MemberGroup`\" pulumi-lang-go=\"`memberGroup`\" pulumi-lang-python=\"`member_group`\" pulumi-lang-yaml=\"`memberGroup`\" pulumi-lang-java=\"`memberGroup`\"\u003e`member_group`\u003c/span\u003e block supports:\n"},"name":{"type":"string","description":"Specifies the name of the backend server.\nRequired if the parameter `member.id` is set.\n"},"port":{"type":"number","description":"Specifies the destination host port for health check.\nThe valid value ranges from \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e to `65,535`.\n"},"region":{"type":"string","description":"The region where the channel is located.\n"},"status":{"type":"number","description":"Specifies the status of health check.\nThe valid values are as follows:\n"},"type":{"type":"number","description":"Specifies the type of the channel.\nThe valid values are as follows:\n"}},"type":"object"}},"opentelekomcloud:index/asConfigurationV1:AsConfigurationV1":{"description":"Up-to-date reference of API arguments for AS configuration you can get at\n[documentation portal](https://docs.otc.t-systems.com/auto-scaling/api-ref/apis/as_configurations)\n\nManages a V1 AS Configuration resource within OpenTelekomCloud.\n\n## Example Usage\n\n","properties":{"asConfigurationV1Id":{"type":"string","description":"Specifies the AS configuration ID.\n"},"instanceConfig":{"$ref":"#/types/opentelekomcloud:index%2FAsConfigurationV1InstanceConfig:AsConfigurationV1InstanceConfig","description":"The information about instance configurations. The\u003cspan pulumi-lang-nodejs=\" instanceConfig\n\" pulumi-lang-dotnet=\" InstanceConfig\n\" pulumi-lang-go=\" instanceConfig\n\" pulumi-lang-python=\" instance_config\n\" pulumi-lang-yaml=\" instanceConfig\n\" pulumi-lang-java=\" instanceConfig\n\"\u003e instance_config\n\u003c/span\u003edictionary data structure is documented below.\n"},"region":{"type":"string","description":"The region in which to obtain the V1 AutoScaling client. If omitted, the\n\u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e argument of the provider is used. Changing this creates a new group.\n"},"scalingConfigurationName":{"type":"string","description":"The name of the AS configuration. The name can contain letters,\ndigits, underscores(_), and hyphens(-), and cannot exceed 64 characters.\n"}},"type":"object","required":["asConfigurationV1Id","instanceConfig","region","scalingConfigurationName"],"inputProperties":{"asConfigurationV1Id":{"type":"string","description":"Specifies the AS configuration ID.\n"},"instanceConfig":{"$ref":"#/types/opentelekomcloud:index%2FAsConfigurationV1InstanceConfig:AsConfigurationV1InstanceConfig","description":"The information about instance configurations. The\u003cspan pulumi-lang-nodejs=\" instanceConfig\n\" pulumi-lang-dotnet=\" InstanceConfig\n\" pulumi-lang-go=\" instanceConfig\n\" pulumi-lang-python=\" instance_config\n\" pulumi-lang-yaml=\" instanceConfig\n\" pulumi-lang-java=\" instanceConfig\n\"\u003e instance_config\n\u003c/span\u003edictionary data structure is documented below.\n"},"region":{"type":"string","description":"The region in which to obtain the V1 AutoScaling client. If omitted, the\n\u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e argument of the provider is used. Changing this creates a new group.\n"},"scalingConfigurationName":{"type":"string","description":"The name of the AS configuration. The name can contain letters,\ndigits, underscores(_), and hyphens(-), and cannot exceed 64 characters.\n"}},"requiredInputs":["instanceConfig","scalingConfigurationName"],"stateInputs":{"description":"Input properties used for looking up and filtering AsConfigurationV1 resources.\n","properties":{"asConfigurationV1Id":{"type":"string","description":"Specifies the AS configuration ID.\n"},"instanceConfig":{"$ref":"#/types/opentelekomcloud:index%2FAsConfigurationV1InstanceConfig:AsConfigurationV1InstanceConfig","description":"The information about instance configurations. The\u003cspan pulumi-lang-nodejs=\" instanceConfig\n\" pulumi-lang-dotnet=\" InstanceConfig\n\" pulumi-lang-go=\" instanceConfig\n\" pulumi-lang-python=\" instance_config\n\" pulumi-lang-yaml=\" instanceConfig\n\" pulumi-lang-java=\" instanceConfig\n\"\u003e instance_config\n\u003c/span\u003edictionary data structure is documented below.\n"},"region":{"type":"string","description":"The region in which to obtain the V1 AutoScaling client. If omitted, the\n\u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e argument of the provider is used. Changing this creates a new group.\n"},"scalingConfigurationName":{"type":"string","description":"The name of the AS configuration. The name can contain letters,\ndigits, underscores(_), and hyphens(-), and cannot exceed 64 characters.\n"}},"type":"object"}},"opentelekomcloud:index/asGroupV1:AsGroupV1":{"description":"Up-to-date reference of API arguments for AS group you can get at\n[documentation portal](https://docs.otc.t-systems.com/auto-scaling/api-ref/apis/as_groups)\n\nManages a V1 Autoscaling Group resource within OpenTelekomCloud.\n\n## Example Usage\n\n### Basic Autoscaling Group\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst asGroup = new opentelekomcloud.AsGroupV1(\"as_group\", {\n    scalingGroupName: \"as_group\",\n    scalingConfigurationId: \"37e310f5-db9d-446e-9135-c625f9c2bbfc\",\n    desireInstanceNumber: 2,\n    minInstanceNumber: 0,\n    maxInstanceNumber: 10,\n    networks: [{\n        id: \"ad091b52-742f-469e-8f3c-fd81cadf0743\",\n    }],\n    securityGroups: {\n        id: \"45e4c6de-6bf0-4843-8953-2babde3d4810\",\n    },\n    vpcId: \"1d8f7e7c-fe04-4cf5-85ac-08b478c290e9\",\n    deletePublicip: true,\n    deleteInstances: \"yes\",\n    tags: {\n        muh: \"kuh\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nas_group = opentelekomcloud.AsGroupV1(\"as_group\",\n    scaling_group_name=\"as_group\",\n    scaling_configuration_id=\"37e310f5-db9d-446e-9135-c625f9c2bbfc\",\n    desire_instance_number=2,\n    min_instance_number=0,\n    max_instance_number=10,\n    networks=[{\n        \"id\": \"ad091b52-742f-469e-8f3c-fd81cadf0743\",\n    }],\n    security_groups={\n        \"id\": \"45e4c6de-6bf0-4843-8953-2babde3d4810\",\n    },\n    vpc_id=\"1d8f7e7c-fe04-4cf5-85ac-08b478c290e9\",\n    delete_publicip=True,\n    delete_instances=\"yes\",\n    tags={\n        \"muh\": \"kuh\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var asGroup = new Opentelekomcloud.AsGroupV1(\"as_group\", new()\n    {\n        ScalingGroupName = \"as_group\",\n        ScalingConfigurationId = \"37e310f5-db9d-446e-9135-c625f9c2bbfc\",\n        DesireInstanceNumber = 2,\n        MinInstanceNumber = 0,\n        MaxInstanceNumber = 10,\n        Networks = new[]\n        {\n            new Opentelekomcloud.Inputs.AsGroupV1NetworkArgs\n            {\n                Id = \"ad091b52-742f-469e-8f3c-fd81cadf0743\",\n            },\n        },\n        SecurityGroups = new Opentelekomcloud.Inputs.AsGroupV1SecurityGroupsArgs\n        {\n            Id = \"45e4c6de-6bf0-4843-8953-2babde3d4810\",\n        },\n        VpcId = \"1d8f7e7c-fe04-4cf5-85ac-08b478c290e9\",\n        DeletePublicip = true,\n        DeleteInstances = \"yes\",\n        Tags = \n        {\n            { \"muh\", \"kuh\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewAsGroupV1(ctx, \"as_group\", \u0026opentelekomcloud.AsGroupV1Args{\n\t\t\tScalingGroupName:       pulumi.String(\"as_group\"),\n\t\t\tScalingConfigurationId: pulumi.String(\"37e310f5-db9d-446e-9135-c625f9c2bbfc\"),\n\t\t\tDesireInstanceNumber:   pulumi.Float64(2),\n\t\t\tMinInstanceNumber:      pulumi.Float64(0),\n\t\t\tMaxInstanceNumber:      pulumi.Float64(10),\n\t\t\tNetworks: opentelekomcloud.AsGroupV1NetworkArray{\n\t\t\t\t\u0026opentelekomcloud.AsGroupV1NetworkArgs{\n\t\t\t\t\tId: pulumi.String(\"ad091b52-742f-469e-8f3c-fd81cadf0743\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSecurityGroups: \u0026opentelekomcloud.AsGroupV1SecurityGroupsArgs{\n\t\t\t\tId: pulumi.String(\"45e4c6de-6bf0-4843-8953-2babde3d4810\"),\n\t\t\t},\n\t\t\tVpcId:           pulumi.String(\"1d8f7e7c-fe04-4cf5-85ac-08b478c290e9\"),\n\t\t\tDeletePublicip:  pulumi.Bool(true),\n\t\t\tDeleteInstances: pulumi.String(\"yes\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"muh\": pulumi.String(\"kuh\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.AsGroupV1;\nimport com.pulumi.opentelekomcloud.AsGroupV1Args;\nimport com.pulumi.opentelekomcloud.inputs.AsGroupV1NetworkArgs;\nimport com.pulumi.opentelekomcloud.inputs.AsGroupV1SecurityGroupsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var asGroup = new AsGroupV1(\"asGroup\", AsGroupV1Args.builder()\n            .scalingGroupName(\"as_group\")\n            .scalingConfigurationId(\"37e310f5-db9d-446e-9135-c625f9c2bbfc\")\n            .desireInstanceNumber(2.0)\n            .minInstanceNumber(0.0)\n            .maxInstanceNumber(10.0)\n            .networks(AsGroupV1NetworkArgs.builder()\n                .id(\"ad091b52-742f-469e-8f3c-fd81cadf0743\")\n                .build())\n            .securityGroups(AsGroupV1SecurityGroupsArgs.builder()\n                .id(\"45e4c6de-6bf0-4843-8953-2babde3d4810\")\n                .build())\n            .vpcId(\"1d8f7e7c-fe04-4cf5-85ac-08b478c290e9\")\n            .deletePublicip(true)\n            .deleteInstances(\"yes\")\n            .tags(Map.of(\"muh\", \"kuh\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  asGroup:\n    type: opentelekomcloud:AsGroupV1\n    name: as_group\n    properties:\n      scalingGroupName: as_group\n      scalingConfigurationId: 37e310f5-db9d-446e-9135-c625f9c2bbfc\n      desireInstanceNumber: 2\n      minInstanceNumber: 0\n      maxInstanceNumber: 10\n      networks:\n        - id: ad091b52-742f-469e-8f3c-fd81cadf0743\n      securityGroups:\n        id: 45e4c6de-6bf0-4843-8953-2babde3d4810\n      vpcId: 1d8f7e7c-fe04-4cf5-85ac-08b478c290e9\n      deletePublicip: true\n      deleteInstances: yes\n      tags:\n        muh: kuh\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Autoscaling Group Only Remove Members When Scaling Down\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst asGroupOnlyRemoveMembers = new opentelekomcloud.AsGroupV1(\"as_group_only_remove_members\", {\n    scalingGroupName: \"as_group_only_remove_members\",\n    scalingConfigurationId: \"37e310f5-db9d-446e-9135-c625f9c2bbfc\",\n    desireInstanceNumber: 2,\n    minInstanceNumber: 0,\n    maxInstanceNumber: 10,\n    networks: [{\n        id: \"ad091b52-742f-469e-8f3c-fd81cadf0743\",\n    }],\n    securityGroups: {\n        id: \"45e4c6de-6bf0-4843-8953-2babde3d4810\",\n    },\n    vpcId: \"1d8f7e7c-fe04-4cf5-85ac-08b478c290e9\",\n    deletePublicip: true,\n    deleteInstances: \"no\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nas_group_only_remove_members = opentelekomcloud.AsGroupV1(\"as_group_only_remove_members\",\n    scaling_group_name=\"as_group_only_remove_members\",\n    scaling_configuration_id=\"37e310f5-db9d-446e-9135-c625f9c2bbfc\",\n    desire_instance_number=2,\n    min_instance_number=0,\n    max_instance_number=10,\n    networks=[{\n        \"id\": \"ad091b52-742f-469e-8f3c-fd81cadf0743\",\n    }],\n    security_groups={\n        \"id\": \"45e4c6de-6bf0-4843-8953-2babde3d4810\",\n    },\n    vpc_id=\"1d8f7e7c-fe04-4cf5-85ac-08b478c290e9\",\n    delete_publicip=True,\n    delete_instances=\"no\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var asGroupOnlyRemoveMembers = new Opentelekomcloud.AsGroupV1(\"as_group_only_remove_members\", new()\n    {\n        ScalingGroupName = \"as_group_only_remove_members\",\n        ScalingConfigurationId = \"37e310f5-db9d-446e-9135-c625f9c2bbfc\",\n        DesireInstanceNumber = 2,\n        MinInstanceNumber = 0,\n        MaxInstanceNumber = 10,\n        Networks = new[]\n        {\n            new Opentelekomcloud.Inputs.AsGroupV1NetworkArgs\n            {\n                Id = \"ad091b52-742f-469e-8f3c-fd81cadf0743\",\n            },\n        },\n        SecurityGroups = new Opentelekomcloud.Inputs.AsGroupV1SecurityGroupsArgs\n        {\n            Id = \"45e4c6de-6bf0-4843-8953-2babde3d4810\",\n        },\n        VpcId = \"1d8f7e7c-fe04-4cf5-85ac-08b478c290e9\",\n        DeletePublicip = true,\n        DeleteInstances = \"no\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewAsGroupV1(ctx, \"as_group_only_remove_members\", \u0026opentelekomcloud.AsGroupV1Args{\n\t\t\tScalingGroupName:       pulumi.String(\"as_group_only_remove_members\"),\n\t\t\tScalingConfigurationId: pulumi.String(\"37e310f5-db9d-446e-9135-c625f9c2bbfc\"),\n\t\t\tDesireInstanceNumber:   pulumi.Float64(2),\n\t\t\tMinInstanceNumber:      pulumi.Float64(0),\n\t\t\tMaxInstanceNumber:      pulumi.Float64(10),\n\t\t\tNetworks: opentelekomcloud.AsGroupV1NetworkArray{\n\t\t\t\t\u0026opentelekomcloud.AsGroupV1NetworkArgs{\n\t\t\t\t\tId: pulumi.String(\"ad091b52-742f-469e-8f3c-fd81cadf0743\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSecurityGroups: \u0026opentelekomcloud.AsGroupV1SecurityGroupsArgs{\n\t\t\t\tId: pulumi.String(\"45e4c6de-6bf0-4843-8953-2babde3d4810\"),\n\t\t\t},\n\t\t\tVpcId:           pulumi.String(\"1d8f7e7c-fe04-4cf5-85ac-08b478c290e9\"),\n\t\t\tDeletePublicip:  pulumi.Bool(true),\n\t\t\tDeleteInstances: pulumi.String(\"no\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.AsGroupV1;\nimport com.pulumi.opentelekomcloud.AsGroupV1Args;\nimport com.pulumi.opentelekomcloud.inputs.AsGroupV1NetworkArgs;\nimport com.pulumi.opentelekomcloud.inputs.AsGroupV1SecurityGroupsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var asGroupOnlyRemoveMembers = new AsGroupV1(\"asGroupOnlyRemoveMembers\", AsGroupV1Args.builder()\n            .scalingGroupName(\"as_group_only_remove_members\")\n            .scalingConfigurationId(\"37e310f5-db9d-446e-9135-c625f9c2bbfc\")\n            .desireInstanceNumber(2.0)\n            .minInstanceNumber(0.0)\n            .maxInstanceNumber(10.0)\n            .networks(AsGroupV1NetworkArgs.builder()\n                .id(\"ad091b52-742f-469e-8f3c-fd81cadf0743\")\n                .build())\n            .securityGroups(AsGroupV1SecurityGroupsArgs.builder()\n                .id(\"45e4c6de-6bf0-4843-8953-2babde3d4810\")\n                .build())\n            .vpcId(\"1d8f7e7c-fe04-4cf5-85ac-08b478c290e9\")\n            .deletePublicip(true)\n            .deleteInstances(\"no\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  asGroupOnlyRemoveMembers:\n    type: opentelekomcloud:AsGroupV1\n    name: as_group_only_remove_members\n    properties:\n      scalingGroupName: as_group_only_remove_members\n      scalingConfigurationId: 37e310f5-db9d-446e-9135-c625f9c2bbfc\n      desireInstanceNumber: 2\n      minInstanceNumber: 0\n      maxInstanceNumber: 10\n      networks:\n        - id: ad091b52-742f-469e-8f3c-fd81cadf0743\n      securityGroups:\n        id: 45e4c6de-6bf0-4843-8953-2babde3d4810\n      vpcId: 1d8f7e7c-fe04-4cf5-85ac-08b478c290e9\n      deletePublicip: true\n      deleteInstances: no\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Autoscaling Group With ELB Listener\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst asListener = new opentelekomcloud.LbListenerV2(\"as_listener\", {\n    name: \"as_listener\",\n    description: \"as test listener\",\n    protocol: \"TCP\",\n    protocolPort: 80,\n    loadbalancerId: \"cba48790-baf5-4446-adb3-02069a916e97\",\n});\nconst pool1 = new opentelekomcloud.LbPoolV2(\"pool_1\", {\n    name: \"pool_1\",\n    protocol: \"HTTP\",\n    lbMethod: \"ROUND_ROBIN\",\n    listenerId: asListener.lbListenerV2Id,\n});\nconst asGroupWithElb = new opentelekomcloud.AsGroupV1(\"as_group_with_elb\", {\n    scalingGroupName: \"as_group_with_elb\",\n    scalingConfigurationId: \"37e310f5-db9d-446e-9135-c625f9c2bbfc\",\n    desireInstanceNumber: 2,\n    minInstanceNumber: 0,\n    maxInstanceNumber: 10,\n    networks: [{\n        id: \"ad091b52-742f-469e-8f3c-fd81cadf0743\",\n    }],\n    securityGroups: {\n        id: \"45e4c6de-6bf0-4843-8953-2babde3d4810\",\n    },\n    vpcId: \"1d8f7e7c-fe04-4cf5-85ac-08b478c290e9\",\n    deletePublicip: true,\n    deleteInstances: \"yes\",\n    lbaasListeners: [{\n        poolId: pool1.lbPoolV2Id,\n        protocolPort: asListener.protocolPort,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nas_listener = opentelekomcloud.LbListenerV2(\"as_listener\",\n    name=\"as_listener\",\n    description=\"as test listener\",\n    protocol=\"TCP\",\n    protocol_port=80,\n    loadbalancer_id=\"cba48790-baf5-4446-adb3-02069a916e97\")\npool1 = opentelekomcloud.LbPoolV2(\"pool_1\",\n    name=\"pool_1\",\n    protocol=\"HTTP\",\n    lb_method=\"ROUND_ROBIN\",\n    listener_id=as_listener.lb_listener_v2_id)\nas_group_with_elb = opentelekomcloud.AsGroupV1(\"as_group_with_elb\",\n    scaling_group_name=\"as_group_with_elb\",\n    scaling_configuration_id=\"37e310f5-db9d-446e-9135-c625f9c2bbfc\",\n    desire_instance_number=2,\n    min_instance_number=0,\n    max_instance_number=10,\n    networks=[{\n        \"id\": \"ad091b52-742f-469e-8f3c-fd81cadf0743\",\n    }],\n    security_groups={\n        \"id\": \"45e4c6de-6bf0-4843-8953-2babde3d4810\",\n    },\n    vpc_id=\"1d8f7e7c-fe04-4cf5-85ac-08b478c290e9\",\n    delete_publicip=True,\n    delete_instances=\"yes\",\n    lbaas_listeners=[{\n        \"pool_id\": pool1.lb_pool_v2_id,\n        \"protocol_port\": as_listener.protocol_port,\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var asListener = new Opentelekomcloud.LbListenerV2(\"as_listener\", new()\n    {\n        Name = \"as_listener\",\n        Description = \"as test listener\",\n        Protocol = \"TCP\",\n        ProtocolPort = 80,\n        LoadbalancerId = \"cba48790-baf5-4446-adb3-02069a916e97\",\n    });\n\n    var pool1 = new Opentelekomcloud.LbPoolV2(\"pool_1\", new()\n    {\n        Name = \"pool_1\",\n        Protocol = \"HTTP\",\n        LbMethod = \"ROUND_ROBIN\",\n        ListenerId = asListener.LbListenerV2Id,\n    });\n\n    var asGroupWithElb = new Opentelekomcloud.AsGroupV1(\"as_group_with_elb\", new()\n    {\n        ScalingGroupName = \"as_group_with_elb\",\n        ScalingConfigurationId = \"37e310f5-db9d-446e-9135-c625f9c2bbfc\",\n        DesireInstanceNumber = 2,\n        MinInstanceNumber = 0,\n        MaxInstanceNumber = 10,\n        Networks = new[]\n        {\n            new Opentelekomcloud.Inputs.AsGroupV1NetworkArgs\n            {\n                Id = \"ad091b52-742f-469e-8f3c-fd81cadf0743\",\n            },\n        },\n        SecurityGroups = new Opentelekomcloud.Inputs.AsGroupV1SecurityGroupsArgs\n        {\n            Id = \"45e4c6de-6bf0-4843-8953-2babde3d4810\",\n        },\n        VpcId = \"1d8f7e7c-fe04-4cf5-85ac-08b478c290e9\",\n        DeletePublicip = true,\n        DeleteInstances = \"yes\",\n        LbaasListeners = new[]\n        {\n            new Opentelekomcloud.Inputs.AsGroupV1LbaasListenerArgs\n            {\n                PoolId = pool1.LbPoolV2Id,\n                ProtocolPort = asListener.ProtocolPort,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tasListener, err := opentelekomcloud.NewLbListenerV2(ctx, \"as_listener\", \u0026opentelekomcloud.LbListenerV2Args{\n\t\t\tName:           pulumi.String(\"as_listener\"),\n\t\t\tDescription:    pulumi.String(\"as test listener\"),\n\t\t\tProtocol:       pulumi.String(\"TCP\"),\n\t\t\tProtocolPort:   pulumi.Float64(80),\n\t\t\tLoadbalancerId: pulumi.String(\"cba48790-baf5-4446-adb3-02069a916e97\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpool1, err := opentelekomcloud.NewLbPoolV2(ctx, \"pool_1\", \u0026opentelekomcloud.LbPoolV2Args{\n\t\t\tName:       pulumi.String(\"pool_1\"),\n\t\t\tProtocol:   pulumi.String(\"HTTP\"),\n\t\t\tLbMethod:   pulumi.String(\"ROUND_ROBIN\"),\n\t\t\tListenerId: asListener.LbListenerV2Id,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewAsGroupV1(ctx, \"as_group_with_elb\", \u0026opentelekomcloud.AsGroupV1Args{\n\t\t\tScalingGroupName:       pulumi.String(\"as_group_with_elb\"),\n\t\t\tScalingConfigurationId: pulumi.String(\"37e310f5-db9d-446e-9135-c625f9c2bbfc\"),\n\t\t\tDesireInstanceNumber:   pulumi.Float64(2),\n\t\t\tMinInstanceNumber:      pulumi.Float64(0),\n\t\t\tMaxInstanceNumber:      pulumi.Float64(10),\n\t\t\tNetworks: opentelekomcloud.AsGroupV1NetworkArray{\n\t\t\t\t\u0026opentelekomcloud.AsGroupV1NetworkArgs{\n\t\t\t\t\tId: pulumi.String(\"ad091b52-742f-469e-8f3c-fd81cadf0743\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSecurityGroups: \u0026opentelekomcloud.AsGroupV1SecurityGroupsArgs{\n\t\t\t\tId: pulumi.String(\"45e4c6de-6bf0-4843-8953-2babde3d4810\"),\n\t\t\t},\n\t\t\tVpcId:           pulumi.String(\"1d8f7e7c-fe04-4cf5-85ac-08b478c290e9\"),\n\t\t\tDeletePublicip:  pulumi.Bool(true),\n\t\t\tDeleteInstances: pulumi.String(\"yes\"),\n\t\t\tLbaasListeners: opentelekomcloud.AsGroupV1LbaasListenerArray{\n\t\t\t\t\u0026opentelekomcloud.AsGroupV1LbaasListenerArgs{\n\t\t\t\t\tPoolId:       pool1.LbPoolV2Id,\n\t\t\t\t\tProtocolPort: asListener.ProtocolPort,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.LbListenerV2;\nimport com.pulumi.opentelekomcloud.LbListenerV2Args;\nimport com.pulumi.opentelekomcloud.LbPoolV2;\nimport com.pulumi.opentelekomcloud.LbPoolV2Args;\nimport com.pulumi.opentelekomcloud.AsGroupV1;\nimport com.pulumi.opentelekomcloud.AsGroupV1Args;\nimport com.pulumi.opentelekomcloud.inputs.AsGroupV1NetworkArgs;\nimport com.pulumi.opentelekomcloud.inputs.AsGroupV1SecurityGroupsArgs;\nimport com.pulumi.opentelekomcloud.inputs.AsGroupV1LbaasListenerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var asListener = new LbListenerV2(\"asListener\", LbListenerV2Args.builder()\n            .name(\"as_listener\")\n            .description(\"as test listener\")\n            .protocol(\"TCP\")\n            .protocolPort(80.0)\n            .loadbalancerId(\"cba48790-baf5-4446-adb3-02069a916e97\")\n            .build());\n\n        var pool1 = new LbPoolV2(\"pool1\", LbPoolV2Args.builder()\n            .name(\"pool_1\")\n            .protocol(\"HTTP\")\n            .lbMethod(\"ROUND_ROBIN\")\n            .listenerId(asListener.lbListenerV2Id())\n            .build());\n\n        var asGroupWithElb = new AsGroupV1(\"asGroupWithElb\", AsGroupV1Args.builder()\n            .scalingGroupName(\"as_group_with_elb\")\n            .scalingConfigurationId(\"37e310f5-db9d-446e-9135-c625f9c2bbfc\")\n            .desireInstanceNumber(2.0)\n            .minInstanceNumber(0.0)\n            .maxInstanceNumber(10.0)\n            .networks(AsGroupV1NetworkArgs.builder()\n                .id(\"ad091b52-742f-469e-8f3c-fd81cadf0743\")\n                .build())\n            .securityGroups(AsGroupV1SecurityGroupsArgs.builder()\n                .id(\"45e4c6de-6bf0-4843-8953-2babde3d4810\")\n                .build())\n            .vpcId(\"1d8f7e7c-fe04-4cf5-85ac-08b478c290e9\")\n            .deletePublicip(true)\n            .deleteInstances(\"yes\")\n            .lbaasListeners(AsGroupV1LbaasListenerArgs.builder()\n                .poolId(pool1.lbPoolV2Id())\n                .protocolPort(asListener.protocolPort())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  asGroupWithElb:\n    type: opentelekomcloud:AsGroupV1\n    name: as_group_with_elb\n    properties:\n      scalingGroupName: as_group_with_elb\n      scalingConfigurationId: 37e310f5-db9d-446e-9135-c625f9c2bbfc\n      desireInstanceNumber: 2\n      minInstanceNumber: 0\n      maxInstanceNumber: 10\n      networks:\n        - id: ad091b52-742f-469e-8f3c-fd81cadf0743\n      securityGroups:\n        id: 45e4c6de-6bf0-4843-8953-2babde3d4810\n      vpcId: 1d8f7e7c-fe04-4cf5-85ac-08b478c290e9\n      deletePublicip: true\n      deleteInstances: yes\n      lbaasListeners:\n        - poolId: ${pool1.lbPoolV2Id}\n          protocolPort: ${asListener.protocolPort}\n  asListener:\n    type: opentelekomcloud:LbListenerV2\n    name: as_listener\n    properties:\n      name: as_listener\n      description: as test listener\n      protocol: TCP\n      protocolPort: 80\n      loadbalancerId: cba48790-baf5-4446-adb3-02069a916e97\n  pool1:\n    type: opentelekomcloud:LbPoolV2\n    name: pool_1\n    properties:\n      name: pool_1\n      protocol: HTTP\n      lbMethod: ROUND_ROBIN\n      listenerId: ${asListener.lbListenerV2Id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"asGroupV1Id":{"type":"string"},"availableZones":{"type":"array","items":{"type":"string"},"description":"Specifies the AZ information. The ECS\nassociated with a scaling action will be created in a specified AZ.\nIf you do not specify an AZ, the system automatically specifies one.\n"},"coolDownTime":{"type":"number","description":"The cooling duration (in seconds). The value ranges\nfrom 0 to 86400, and is 900 by default.\n"},"currentInstanceNumber":{"type":"number","description":"Indicates the number of current instances in the AS group.\n"},"deleteInstances":{"type":"string","description":"Whether to delete the instances in the AS group\nwhen deleting the AS group. The options are \u003cspan pulumi-lang-nodejs=\"`yes`\" pulumi-lang-dotnet=\"`Yes`\" pulumi-lang-go=\"`yes`\" pulumi-lang-python=\"`yes`\" pulumi-lang-yaml=\"`yes`\" pulumi-lang-java=\"`yes`\"\u003e`yes`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`no`\" pulumi-lang-dotnet=\"`No`\" pulumi-lang-go=\"`no`\" pulumi-lang-python=\"`no`\" pulumi-lang-yaml=\"`no`\" pulumi-lang-java=\"`no`\"\u003e`no`\u003c/span\u003e.\n"},"deletePublicip":{"type":"boolean","description":"Whether to delete the elastic IP address bound to the\ninstances of AS group when deleting the instances. The options are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"desireInstanceNumber":{"type":"number","description":"The expected number of instances. The default\nvalue is the minimum number of instances. The value ranges from the minimum number of\ninstances to the maximum number of instances.\n"},"enable":{"type":"boolean","description":"It specifies whether to enable or disable the AS group. Supported values: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\nDefault value: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"healthPeriodicAuditGracePeriod":{"type":"number","description":"The grace period for instance health check.\nThe unit is second and value range is 0-86400. The default value is 600. The health check grace\nperiod starts after an instance is added to an AS group and is enabled. The AS group will start\nchecking the instance status only after the grace period ends. This parameter is valid only when\nthe instance health check method of the AS group is ELB_AUDIT.\n"},"healthPeriodicAuditMethod":{"type":"string","description":"The health check method for instances\nin the AS group. The health check methods include `ELB_AUDIT` and `NOVA_AUDIT`.\nIf load balancing is configured, the default value of this parameter is `ELB_AUDIT`.\nOtherwise, the default value is `NOVA_AUDIT`.\n"},"healthPeriodicAuditTime":{"type":"number","description":"The health check period for instances.\nThe value can be 1, 5, 15, 60, or 180 in the unit of minutes. If this parameter\nis not specified, the default value is 5. If the value is set to 0, health check\nis performed every 10 seconds.\n"},"instanceTerminatePolicy":{"type":"string","description":"The instance removal policy. The policy has\nfour options: `OLD_CONFIG_OLD_INSTANCE` (default), `OLD_CONFIG_NEW_INSTANCE`,\n`OLD_INSTANCE`, and `NEW_INSTANCE`.\n"},"instances":{"type":"array","items":{"type":"string"},"description":"The instances IDs of the AS group.\n"},"lbListenerId":{"type":"string","description":"**DEPRECATED** - (Optional) The Classic LB listener IDs. The system\nsupports up to six Classic LB listeners, the IDs of which are separated using a comma (,).\nThis parameter is alternative to \u003cspan pulumi-lang-nodejs=\"`lbaasListeners`\" pulumi-lang-dotnet=\"`LbaasListeners`\" pulumi-lang-go=\"`lbaasListeners`\" pulumi-lang-python=\"`lbaas_listeners`\" pulumi-lang-yaml=\"`lbaasListeners`\" pulumi-lang-java=\"`lbaasListeners`\"\u003e`lbaas_listeners`\u003c/span\u003e.\n","deprecationMessage":"Deprecated"},"lbaasListeners":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FAsGroupV1LbaasListener:AsGroupV1LbaasListener"},"description":"An array of one or more Enhanced Load Balancer.\nThe system supports the binding of up to six Enhanced Load Balancers. The field is\nalternative to \u003cspan pulumi-lang-nodejs=\"`lbListenerId`\" pulumi-lang-dotnet=\"`LbListenerId`\" pulumi-lang-go=\"`lbListenerId`\" pulumi-lang-python=\"`lb_listener_id`\" pulumi-lang-yaml=\"`lbListenerId`\" pulumi-lang-java=\"`lbListenerId`\"\u003e`lb_listener_id`\u003c/span\u003e. The \u003cspan pulumi-lang-nodejs=\"`lbaasListeners`\" pulumi-lang-dotnet=\"`LbaasListeners`\" pulumi-lang-go=\"`lbaasListeners`\" pulumi-lang-python=\"`lbaas_listeners`\" pulumi-lang-yaml=\"`lbaasListeners`\" pulumi-lang-java=\"`lbaasListeners`\"\u003e`lbaas_listeners`\u003c/span\u003e object structure is\ndocumented below.\n"},"maxInstanceNumber":{"type":"number","description":"The maximum number of instances.\nThe default value is 0.\n"},"minInstanceNumber":{"type":"number","description":"The minimum number of instances.\nThe default value is 0.\n"},"networks":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FAsGroupV1Network:AsGroupV1Network"},"description":"An array of one or more network IDs.\nThe system supports up to five networks. The networks object structure\nis documented below.\n"},"notifications":{"type":"array","items":{"type":"string"},"description":"The notification mode. The system only supports `EMAIL`\nmode which refers to notification by email.\n"},"region":{"type":"string"},"scalingConfigurationId":{"type":"string","description":"The configuration ID which defines\nconfigurations of instances in the AS group.\n"},"scalingGroupName":{"type":"string","description":"The name of the scaling group. The name can contain letters,\ndigits, underscores(_), and hyphens(-),and cannot exceed 64 characters.\n"},"securityGroups":{"$ref":"#/types/opentelekomcloud:index%2FAsGroupV1SecurityGroups:AsGroupV1SecurityGroups","description":"An array of security group IDs to associate with the group.\nA maximum of one security group can be selected. The \u003cspan pulumi-lang-nodejs=\"`securityGroups`\" pulumi-lang-dotnet=\"`SecurityGroups`\" pulumi-lang-go=\"`securityGroups`\" pulumi-lang-python=\"`security_groups`\" pulumi-lang-yaml=\"`securityGroups`\" pulumi-lang-java=\"`securityGroups`\"\u003e`security_groups`\u003c/span\u003e object structure is\ndocumented below.\n"},"status":{"type":"string","description":"Indicates the status of the AS group.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"See Argument Reference above.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FAsGroupV1Timeouts:AsGroupV1Timeouts"},"vpcId":{"type":"string","description":"The VPC ID. Changing this creates a new group.\n"}},"type":"object","required":["asGroupV1Id","currentInstanceNumber","deleteInstances","deletePublicip","instances","networks","region","scalingConfigurationId","scalingGroupName","status","vpcId"],"inputProperties":{"asGroupV1Id":{"type":"string"},"availableZones":{"type":"array","items":{"type":"string"},"description":"Specifies the AZ information. The ECS\nassociated with a scaling action will be created in a specified AZ.\nIf you do not specify an AZ, the system automatically specifies one.\n"},"coolDownTime":{"type":"number","description":"The cooling duration (in seconds). The value ranges\nfrom 0 to 86400, and is 900 by default.\n"},"deleteInstances":{"type":"string","description":"Whether to delete the instances in the AS group\nwhen deleting the AS group. The options are \u003cspan pulumi-lang-nodejs=\"`yes`\" pulumi-lang-dotnet=\"`Yes`\" pulumi-lang-go=\"`yes`\" pulumi-lang-python=\"`yes`\" pulumi-lang-yaml=\"`yes`\" pulumi-lang-java=\"`yes`\"\u003e`yes`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`no`\" pulumi-lang-dotnet=\"`No`\" pulumi-lang-go=\"`no`\" pulumi-lang-python=\"`no`\" pulumi-lang-yaml=\"`no`\" pulumi-lang-java=\"`no`\"\u003e`no`\u003c/span\u003e.\n"},"deletePublicip":{"type":"boolean","description":"Whether to delete the elastic IP address bound to the\ninstances of AS group when deleting the instances. The options are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"desireInstanceNumber":{"type":"number","description":"The expected number of instances. The default\nvalue is the minimum number of instances. The value ranges from the minimum number of\ninstances to the maximum number of instances.\n"},"enable":{"type":"boolean","description":"It specifies whether to enable or disable the AS group. Supported values: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\nDefault value: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"healthPeriodicAuditGracePeriod":{"type":"number","description":"The grace period for instance health check.\nThe unit is second and value range is 0-86400. The default value is 600. The health check grace\nperiod starts after an instance is added to an AS group and is enabled. The AS group will start\nchecking the instance status only after the grace period ends. This parameter is valid only when\nthe instance health check method of the AS group is ELB_AUDIT.\n"},"healthPeriodicAuditMethod":{"type":"string","description":"The health check method for instances\nin the AS group. The health check methods include `ELB_AUDIT` and `NOVA_AUDIT`.\nIf load balancing is configured, the default value of this parameter is `ELB_AUDIT`.\nOtherwise, the default value is `NOVA_AUDIT`.\n"},"healthPeriodicAuditTime":{"type":"number","description":"The health check period for instances.\nThe value can be 1, 5, 15, 60, or 180 in the unit of minutes. If this parameter\nis not specified, the default value is 5. If the value is set to 0, health check\nis performed every 10 seconds.\n"},"instanceTerminatePolicy":{"type":"string","description":"The instance removal policy. The policy has\nfour options: `OLD_CONFIG_OLD_INSTANCE` (default), `OLD_CONFIG_NEW_INSTANCE`,\n`OLD_INSTANCE`, and `NEW_INSTANCE`.\n"},"lbListenerId":{"type":"string","description":"**DEPRECATED** - (Optional) The Classic LB listener IDs. The system\nsupports up to six Classic LB listeners, the IDs of which are separated using a comma (,).\nThis parameter is alternative to \u003cspan pulumi-lang-nodejs=\"`lbaasListeners`\" pulumi-lang-dotnet=\"`LbaasListeners`\" pulumi-lang-go=\"`lbaasListeners`\" pulumi-lang-python=\"`lbaas_listeners`\" pulumi-lang-yaml=\"`lbaasListeners`\" pulumi-lang-java=\"`lbaasListeners`\"\u003e`lbaas_listeners`\u003c/span\u003e.\n","deprecationMessage":"Deprecated"},"lbaasListeners":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FAsGroupV1LbaasListener:AsGroupV1LbaasListener"},"description":"An array of one or more Enhanced Load Balancer.\nThe system supports the binding of up to six Enhanced Load Balancers. The field is\nalternative to \u003cspan pulumi-lang-nodejs=\"`lbListenerId`\" pulumi-lang-dotnet=\"`LbListenerId`\" pulumi-lang-go=\"`lbListenerId`\" pulumi-lang-python=\"`lb_listener_id`\" pulumi-lang-yaml=\"`lbListenerId`\" pulumi-lang-java=\"`lbListenerId`\"\u003e`lb_listener_id`\u003c/span\u003e. The \u003cspan pulumi-lang-nodejs=\"`lbaasListeners`\" pulumi-lang-dotnet=\"`LbaasListeners`\" pulumi-lang-go=\"`lbaasListeners`\" pulumi-lang-python=\"`lbaas_listeners`\" pulumi-lang-yaml=\"`lbaasListeners`\" pulumi-lang-java=\"`lbaasListeners`\"\u003e`lbaas_listeners`\u003c/span\u003e object structure is\ndocumented below.\n"},"maxInstanceNumber":{"type":"number","description":"The maximum number of instances.\nThe default value is 0.\n"},"minInstanceNumber":{"type":"number","description":"The minimum number of instances.\nThe default value is 0.\n"},"networks":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FAsGroupV1Network:AsGroupV1Network"},"description":"An array of one or more network IDs.\nThe system supports up to five networks. The networks object structure\nis documented below.\n"},"notifications":{"type":"array","items":{"type":"string"},"description":"The notification mode. The system only supports `EMAIL`\nmode which refers to notification by email.\n"},"region":{"type":"string"},"scalingConfigurationId":{"type":"string","description":"The configuration ID which defines\nconfigurations of instances in the AS group.\n"},"scalingGroupName":{"type":"string","description":"The name of the scaling group. The name can contain letters,\ndigits, underscores(_), and hyphens(-),and cannot exceed 64 characters.\n"},"securityGroups":{"$ref":"#/types/opentelekomcloud:index%2FAsGroupV1SecurityGroups:AsGroupV1SecurityGroups","description":"An array of security group IDs to associate with the group.\nA maximum of one security group can be selected. The \u003cspan pulumi-lang-nodejs=\"`securityGroups`\" pulumi-lang-dotnet=\"`SecurityGroups`\" pulumi-lang-go=\"`securityGroups`\" pulumi-lang-python=\"`security_groups`\" pulumi-lang-yaml=\"`securityGroups`\" pulumi-lang-java=\"`securityGroups`\"\u003e`security_groups`\u003c/span\u003e object structure is\ndocumented below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"See Argument Reference above.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FAsGroupV1Timeouts:AsGroupV1Timeouts"},"vpcId":{"type":"string","description":"The VPC ID. Changing this creates a new group.\n"}},"requiredInputs":["deleteInstances","deletePublicip","networks","scalingGroupName","vpcId"],"stateInputs":{"description":"Input properties used for looking up and filtering AsGroupV1 resources.\n","properties":{"asGroupV1Id":{"type":"string"},"availableZones":{"type":"array","items":{"type":"string"},"description":"Specifies the AZ information. The ECS\nassociated with a scaling action will be created in a specified AZ.\nIf you do not specify an AZ, the system automatically specifies one.\n"},"coolDownTime":{"type":"number","description":"The cooling duration (in seconds). The value ranges\nfrom 0 to 86400, and is 900 by default.\n"},"currentInstanceNumber":{"type":"number","description":"Indicates the number of current instances in the AS group.\n"},"deleteInstances":{"type":"string","description":"Whether to delete the instances in the AS group\nwhen deleting the AS group. The options are \u003cspan pulumi-lang-nodejs=\"`yes`\" pulumi-lang-dotnet=\"`Yes`\" pulumi-lang-go=\"`yes`\" pulumi-lang-python=\"`yes`\" pulumi-lang-yaml=\"`yes`\" pulumi-lang-java=\"`yes`\"\u003e`yes`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`no`\" pulumi-lang-dotnet=\"`No`\" pulumi-lang-go=\"`no`\" pulumi-lang-python=\"`no`\" pulumi-lang-yaml=\"`no`\" pulumi-lang-java=\"`no`\"\u003e`no`\u003c/span\u003e.\n"},"deletePublicip":{"type":"boolean","description":"Whether to delete the elastic IP address bound to the\ninstances of AS group when deleting the instances. The options are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"desireInstanceNumber":{"type":"number","description":"The expected number of instances. The default\nvalue is the minimum number of instances. The value ranges from the minimum number of\ninstances to the maximum number of instances.\n"},"enable":{"type":"boolean","description":"It specifies whether to enable or disable the AS group. Supported values: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\nDefault value: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"healthPeriodicAuditGracePeriod":{"type":"number","description":"The grace period for instance health check.\nThe unit is second and value range is 0-86400. The default value is 600. The health check grace\nperiod starts after an instance is added to an AS group and is enabled. The AS group will start\nchecking the instance status only after the grace period ends. This parameter is valid only when\nthe instance health check method of the AS group is ELB_AUDIT.\n"},"healthPeriodicAuditMethod":{"type":"string","description":"The health check method for instances\nin the AS group. The health check methods include `ELB_AUDIT` and `NOVA_AUDIT`.\nIf load balancing is configured, the default value of this parameter is `ELB_AUDIT`.\nOtherwise, the default value is `NOVA_AUDIT`.\n"},"healthPeriodicAuditTime":{"type":"number","description":"The health check period for instances.\nThe value can be 1, 5, 15, 60, or 180 in the unit of minutes. If this parameter\nis not specified, the default value is 5. If the value is set to 0, health check\nis performed every 10 seconds.\n"},"instanceTerminatePolicy":{"type":"string","description":"The instance removal policy. The policy has\nfour options: `OLD_CONFIG_OLD_INSTANCE` (default), `OLD_CONFIG_NEW_INSTANCE`,\n`OLD_INSTANCE`, and `NEW_INSTANCE`.\n"},"instances":{"type":"array","items":{"type":"string"},"description":"The instances IDs of the AS group.\n"},"lbListenerId":{"type":"string","description":"**DEPRECATED** - (Optional) The Classic LB listener IDs. The system\nsupports up to six Classic LB listeners, the IDs of which are separated using a comma (,).\nThis parameter is alternative to \u003cspan pulumi-lang-nodejs=\"`lbaasListeners`\" pulumi-lang-dotnet=\"`LbaasListeners`\" pulumi-lang-go=\"`lbaasListeners`\" pulumi-lang-python=\"`lbaas_listeners`\" pulumi-lang-yaml=\"`lbaasListeners`\" pulumi-lang-java=\"`lbaasListeners`\"\u003e`lbaas_listeners`\u003c/span\u003e.\n","deprecationMessage":"Deprecated"},"lbaasListeners":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FAsGroupV1LbaasListener:AsGroupV1LbaasListener"},"description":"An array of one or more Enhanced Load Balancer.\nThe system supports the binding of up to six Enhanced Load Balancers. The field is\nalternative to \u003cspan pulumi-lang-nodejs=\"`lbListenerId`\" pulumi-lang-dotnet=\"`LbListenerId`\" pulumi-lang-go=\"`lbListenerId`\" pulumi-lang-python=\"`lb_listener_id`\" pulumi-lang-yaml=\"`lbListenerId`\" pulumi-lang-java=\"`lbListenerId`\"\u003e`lb_listener_id`\u003c/span\u003e. The \u003cspan pulumi-lang-nodejs=\"`lbaasListeners`\" pulumi-lang-dotnet=\"`LbaasListeners`\" pulumi-lang-go=\"`lbaasListeners`\" pulumi-lang-python=\"`lbaas_listeners`\" pulumi-lang-yaml=\"`lbaasListeners`\" pulumi-lang-java=\"`lbaasListeners`\"\u003e`lbaas_listeners`\u003c/span\u003e object structure is\ndocumented below.\n"},"maxInstanceNumber":{"type":"number","description":"The maximum number of instances.\nThe default value is 0.\n"},"minInstanceNumber":{"type":"number","description":"The minimum number of instances.\nThe default value is 0.\n"},"networks":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FAsGroupV1Network:AsGroupV1Network"},"description":"An array of one or more network IDs.\nThe system supports up to five networks. The networks object structure\nis documented below.\n"},"notifications":{"type":"array","items":{"type":"string"},"description":"The notification mode. The system only supports `EMAIL`\nmode which refers to notification by email.\n"},"region":{"type":"string"},"scalingConfigurationId":{"type":"string","description":"The configuration ID which defines\nconfigurations of instances in the AS group.\n"},"scalingGroupName":{"type":"string","description":"The name of the scaling group. The name can contain letters,\ndigits, underscores(_), and hyphens(-),and cannot exceed 64 characters.\n"},"securityGroups":{"$ref":"#/types/opentelekomcloud:index%2FAsGroupV1SecurityGroups:AsGroupV1SecurityGroups","description":"An array of security group IDs to associate with the group.\nA maximum of one security group can be selected. The \u003cspan pulumi-lang-nodejs=\"`securityGroups`\" pulumi-lang-dotnet=\"`SecurityGroups`\" pulumi-lang-go=\"`securityGroups`\" pulumi-lang-python=\"`security_groups`\" pulumi-lang-yaml=\"`securityGroups`\" pulumi-lang-java=\"`securityGroups`\"\u003e`security_groups`\u003c/span\u003e object structure is\ndocumented below.\n"},"status":{"type":"string","description":"Indicates the status of the AS group.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"See Argument Reference above.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FAsGroupV1Timeouts:AsGroupV1Timeouts"},"vpcId":{"type":"string","description":"The VPC ID. Changing this creates a new group.\n"}},"type":"object"}},"opentelekomcloud:index/asLifecycleHookV1:AsLifecycleHookV1":{"description":"Up-to-date reference of API arguments for AS lifecycle hook you can get at\n[documentation portal](https://docs.otc.t-systems.com/auto-scaling/api-ref/apis/lifecycle_hooks)\n\nManages a V1 AS Lifecycle Hook resource within OpenTelekomCloud.\n\n## Example Usage\n\n### Autoscaling Lifecycle Hook\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst hthAslifecyclehook = new opentelekomcloud.AsLifecycleHookV1(\"hth_aslifecyclehook\", {\n    scalingLifecycleHookName: \"hth_aslifecyclehook\",\n    scalingGroupId: \"4579f2f5-cbe8-425a-8f32-53dcb9d9053a\",\n    scalingLifecycleHookType: \"INSTANCE_TERMINATING\",\n    defaultResult: \"ABANDON\",\n    defaultTimeout: 3600,\n    notificationTopicUrn: \"urn:smn:regionId:b53e5554fad0494d96206fb84296510b:gsh\",\n    notificationMetadata: \"Some customized notification\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nhth_aslifecyclehook = opentelekomcloud.AsLifecycleHookV1(\"hth_aslifecyclehook\",\n    scaling_lifecycle_hook_name=\"hth_aslifecyclehook\",\n    scaling_group_id=\"4579f2f5-cbe8-425a-8f32-53dcb9d9053a\",\n    scaling_lifecycle_hook_type=\"INSTANCE_TERMINATING\",\n    default_result=\"ABANDON\",\n    default_timeout=3600,\n    notification_topic_urn=\"urn:smn:regionId:b53e5554fad0494d96206fb84296510b:gsh\",\n    notification_metadata=\"Some customized notification\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var hthAslifecyclehook = new Opentelekomcloud.AsLifecycleHookV1(\"hth_aslifecyclehook\", new()\n    {\n        ScalingLifecycleHookName = \"hth_aslifecyclehook\",\n        ScalingGroupId = \"4579f2f5-cbe8-425a-8f32-53dcb9d9053a\",\n        ScalingLifecycleHookType = \"INSTANCE_TERMINATING\",\n        DefaultResult = \"ABANDON\",\n        DefaultTimeout = 3600,\n        NotificationTopicUrn = \"urn:smn:regionId:b53e5554fad0494d96206fb84296510b:gsh\",\n        NotificationMetadata = \"Some customized notification\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewAsLifecycleHookV1(ctx, \"hth_aslifecyclehook\", \u0026opentelekomcloud.AsLifecycleHookV1Args{\n\t\t\tScalingLifecycleHookName: pulumi.String(\"hth_aslifecyclehook\"),\n\t\t\tScalingGroupId:           pulumi.String(\"4579f2f5-cbe8-425a-8f32-53dcb9d9053a\"),\n\t\t\tScalingLifecycleHookType: pulumi.String(\"INSTANCE_TERMINATING\"),\n\t\t\tDefaultResult:            pulumi.String(\"ABANDON\"),\n\t\t\tDefaultTimeout:           pulumi.Float64(3600),\n\t\t\tNotificationTopicUrn:     pulumi.String(\"urn:smn:regionId:b53e5554fad0494d96206fb84296510b:gsh\"),\n\t\t\tNotificationMetadata:     pulumi.String(\"Some customized notification\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.AsLifecycleHookV1;\nimport com.pulumi.opentelekomcloud.AsLifecycleHookV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var hthAslifecyclehook = new AsLifecycleHookV1(\"hthAslifecyclehook\", AsLifecycleHookV1Args.builder()\n            .scalingLifecycleHookName(\"hth_aslifecyclehook\")\n            .scalingGroupId(\"4579f2f5-cbe8-425a-8f32-53dcb9d9053a\")\n            .scalingLifecycleHookType(\"INSTANCE_TERMINATING\")\n            .defaultResult(\"ABANDON\")\n            .defaultTimeout(3600.0)\n            .notificationTopicUrn(\"urn:smn:regionId:b53e5554fad0494d96206fb84296510b:gsh\")\n            .notificationMetadata(\"Some customized notification\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  hthAslifecyclehook:\n    type: opentelekomcloud:AsLifecycleHookV1\n    name: hth_aslifecyclehook\n    properties:\n      scalingLifecycleHookName: hth_aslifecyclehook\n      scalingGroupId: 4579f2f5-cbe8-425a-8f32-53dcb9d9053a\n      scalingLifecycleHookType: INSTANCE_TERMINATING\n      defaultResult: ABANDON\n      defaultTimeout: 3600\n      notificationTopicUrn: urn:smn:regionId:b53e5554fad0494d96206fb84296510b:gsh\n      notificationMetadata: Some customized notification\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAS lifecycle hooks can be imported using their `scaling_lifecycle_hook_name` and related AS group ID, separated by a slash, e.g.\n\nbash\n\n```sh\n$ pulumi import opentelekomcloud:index/asLifecycleHookV1:AsLifecycleHookV1 test \u003cscaling_group_id\u003e/\u003cscaling_lifecycle_hook_name\u003e\n```\n\n","properties":{"asLifecycleHookV1Id":{"type":"string"},"createTime":{"type":"string","description":"(String) Time of creation of the autoscaling lifecycle hook.\n"},"defaultResult":{"type":"string","description":"The default lifecycle hook callback operation.  This operation is performed when the timeout duration expires. The values\ncan be `ABANDON` (default value), and `CONTINUE`.\n- ABANDON:\nIf an instance is starting, ABANDON indicates that your customized operations failed, and the instance will be terminated.\nIn such a case, the scaling action fails, and you must create a new instance.\nIf an instance is stopping, ABANDON allows instance termination BUT stops other lifecycle hooks.\n- CONTINUE:\nIf an instance is starting, CONTINUE indicates that your customized operations are successful and the instance can be used.\nIf an instance is stopping, CONTINUE allows instance termination AND the completion of other lifecycle hooks.\n"},"defaultTimeout":{"type":"number","description":"the lifecycle hook timeout duration, which ranges from 60 to 86400 seconds. The default value is 3600.\n"},"notificationMetadata":{"type":"string","description":"A customized notification, which contains no more than 256 characters. The message cannot contain the following characters: \u003c\u003e\u0026'(){}.\n"},"notificationTopicName":{"type":"string","description":"(String) Name of the associated topic in SMN..\n"},"notificationTopicUrn":{"type":"string","description":"The URN of an SMN topic. This parameter specifies a notification object for a lifecycle hook. When an instance is suspended by the lifecycle hook, the SMN service sends a notification to the object. This notification contains the basic instance information, your customized notification content, and the token for controlling lifecycle operations.\n"},"region":{"type":"string"},"scalingGroupId":{"type":"string","description":"The AS group ID. Changing this creates a new AS lifecycle hook.\n"},"scalingLifecycleHookName":{"type":"string","description":"The name of the AS Lifecycle Hook. The name can contain letters, digits, underscores(_), and hyphens(-),and cannot exceed 32 characters.\n"},"scalingLifecycleHookType":{"type":"string","description":"The lifecycle hook type. The values can be `INSTANCE_TERMINATING`, and `INSTANCE_LAUNCHING`. \n- INSTANCE_TERMINATING: The hook suspends the instance when it is terminated.\n- INSTANCE_LAUNCHING: The hook suspends the instance when it is started.\n"}},"type":"object","required":["asLifecycleHookV1Id","createTime","notificationTopicName","notificationTopicUrn","region","scalingGroupId","scalingLifecycleHookName","scalingLifecycleHookType"],"inputProperties":{"asLifecycleHookV1Id":{"type":"string"},"defaultResult":{"type":"string","description":"The default lifecycle hook callback operation.  This operation is performed when the timeout duration expires. The values\ncan be `ABANDON` (default value), and `CONTINUE`.\n- ABANDON:\nIf an instance is starting, ABANDON indicates that your customized operations failed, and the instance will be terminated.\nIn such a case, the scaling action fails, and you must create a new instance.\nIf an instance is stopping, ABANDON allows instance termination BUT stops other lifecycle hooks.\n- CONTINUE:\nIf an instance is starting, CONTINUE indicates that your customized operations are successful and the instance can be used.\nIf an instance is stopping, CONTINUE allows instance termination AND the completion of other lifecycle hooks.\n"},"defaultTimeout":{"type":"number","description":"the lifecycle hook timeout duration, which ranges from 60 to 86400 seconds. The default value is 3600.\n"},"notificationMetadata":{"type":"string","description":"A customized notification, which contains no more than 256 characters. The message cannot contain the following characters: \u003c\u003e\u0026'(){}.\n"},"notificationTopicUrn":{"type":"string","description":"The URN of an SMN topic. This parameter specifies a notification object for a lifecycle hook. When an instance is suspended by the lifecycle hook, the SMN service sends a notification to the object. This notification contains the basic instance information, your customized notification content, and the token for controlling lifecycle operations.\n"},"scalingGroupId":{"type":"string","description":"The AS group ID. Changing this creates a new AS lifecycle hook.\n"},"scalingLifecycleHookName":{"type":"string","description":"The name of the AS Lifecycle Hook. The name can contain letters, digits, underscores(_), and hyphens(-),and cannot exceed 32 characters.\n"},"scalingLifecycleHookType":{"type":"string","description":"The lifecycle hook type. The values can be `INSTANCE_TERMINATING`, and `INSTANCE_LAUNCHING`. \n- INSTANCE_TERMINATING: The hook suspends the instance when it is terminated.\n- INSTANCE_LAUNCHING: The hook suspends the instance when it is started.\n"}},"requiredInputs":["notificationTopicUrn","scalingGroupId","scalingLifecycleHookName","scalingLifecycleHookType"],"stateInputs":{"description":"Input properties used for looking up and filtering AsLifecycleHookV1 resources.\n","properties":{"asLifecycleHookV1Id":{"type":"string"},"createTime":{"type":"string","description":"(String) Time of creation of the autoscaling lifecycle hook.\n"},"defaultResult":{"type":"string","description":"The default lifecycle hook callback operation.  This operation is performed when the timeout duration expires. The values\ncan be `ABANDON` (default value), and `CONTINUE`.\n- ABANDON:\nIf an instance is starting, ABANDON indicates that your customized operations failed, and the instance will be terminated.\nIn such a case, the scaling action fails, and you must create a new instance.\nIf an instance is stopping, ABANDON allows instance termination BUT stops other lifecycle hooks.\n- CONTINUE:\nIf an instance is starting, CONTINUE indicates that your customized operations are successful and the instance can be used.\nIf an instance is stopping, CONTINUE allows instance termination AND the completion of other lifecycle hooks.\n"},"defaultTimeout":{"type":"number","description":"the lifecycle hook timeout duration, which ranges from 60 to 86400 seconds. The default value is 3600.\n"},"notificationMetadata":{"type":"string","description":"A customized notification, which contains no more than 256 characters. The message cannot contain the following characters: \u003c\u003e\u0026'(){}.\n"},"notificationTopicName":{"type":"string","description":"(String) Name of the associated topic in SMN..\n"},"notificationTopicUrn":{"type":"string","description":"The URN of an SMN topic. This parameter specifies a notification object for a lifecycle hook. When an instance is suspended by the lifecycle hook, the SMN service sends a notification to the object. This notification contains the basic instance information, your customized notification content, and the token for controlling lifecycle operations.\n"},"region":{"type":"string"},"scalingGroupId":{"type":"string","description":"The AS group ID. Changing this creates a new AS lifecycle hook.\n"},"scalingLifecycleHookName":{"type":"string","description":"The name of the AS Lifecycle Hook. The name can contain letters, digits, underscores(_), and hyphens(-),and cannot exceed 32 characters.\n"},"scalingLifecycleHookType":{"type":"string","description":"The lifecycle hook type. The values can be `INSTANCE_TERMINATING`, and `INSTANCE_LAUNCHING`. \n- INSTANCE_TERMINATING: The hook suspends the instance when it is terminated.\n- INSTANCE_LAUNCHING: The hook suspends the instance when it is started.\n"}},"type":"object"}},"opentelekomcloud:index/asPolicyV1:AsPolicyV1":{"description":"Up-to-date reference of API arguments for AS policy you can get at\n[documentation portal](https://docs.otc.t-systems.com/auto-scaling/api-ref/apis/as_policies)\n\nManages a V1 AS Policy resource within OpenTelekomCloud.\n\n## Example Usage\n\n### AS Recurrence Policy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst hthAspolicy = new opentelekomcloud.AsPolicyV1(\"hth_aspolicy\", {\n    scalingPolicyName: \"hth_aspolicy\",\n    scalingGroupId: \"4579f2f5-cbe8-425a-8f32-53dcb9d9053a\",\n    coolDownTime: 900,\n    scalingPolicyType: \"RECURRENCE\",\n    scalingPolicyAction: {\n        operation: \"ADD\",\n        instanceNumber: 1,\n    },\n    scheduledPolicy: {\n        launchTime: \"07:00\",\n        recurrenceType: \"Daily\",\n        startTime: \"2017-11-30T12:00Z\",\n        endTime: \"2017-12-30T12:00Z\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nhth_aspolicy = opentelekomcloud.AsPolicyV1(\"hth_aspolicy\",\n    scaling_policy_name=\"hth_aspolicy\",\n    scaling_group_id=\"4579f2f5-cbe8-425a-8f32-53dcb9d9053a\",\n    cool_down_time=900,\n    scaling_policy_type=\"RECURRENCE\",\n    scaling_policy_action={\n        \"operation\": \"ADD\",\n        \"instance_number\": 1,\n    },\n    scheduled_policy={\n        \"launch_time\": \"07:00\",\n        \"recurrence_type\": \"Daily\",\n        \"start_time\": \"2017-11-30T12:00Z\",\n        \"end_time\": \"2017-12-30T12:00Z\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var hthAspolicy = new Opentelekomcloud.AsPolicyV1(\"hth_aspolicy\", new()\n    {\n        ScalingPolicyName = \"hth_aspolicy\",\n        ScalingGroupId = \"4579f2f5-cbe8-425a-8f32-53dcb9d9053a\",\n        CoolDownTime = 900,\n        ScalingPolicyType = \"RECURRENCE\",\n        ScalingPolicyAction = new Opentelekomcloud.Inputs.AsPolicyV1ScalingPolicyActionArgs\n        {\n            Operation = \"ADD\",\n            InstanceNumber = 1,\n        },\n        ScheduledPolicy = new Opentelekomcloud.Inputs.AsPolicyV1ScheduledPolicyArgs\n        {\n            LaunchTime = \"07:00\",\n            RecurrenceType = \"Daily\",\n            StartTime = \"2017-11-30T12:00Z\",\n            EndTime = \"2017-12-30T12:00Z\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewAsPolicyV1(ctx, \"hth_aspolicy\", \u0026opentelekomcloud.AsPolicyV1Args{\n\t\t\tScalingPolicyName: pulumi.String(\"hth_aspolicy\"),\n\t\t\tScalingGroupId:    pulumi.String(\"4579f2f5-cbe8-425a-8f32-53dcb9d9053a\"),\n\t\t\tCoolDownTime:      pulumi.Float64(900),\n\t\t\tScalingPolicyType: pulumi.String(\"RECURRENCE\"),\n\t\t\tScalingPolicyAction: \u0026opentelekomcloud.AsPolicyV1ScalingPolicyActionArgs{\n\t\t\t\tOperation:      pulumi.String(\"ADD\"),\n\t\t\t\tInstanceNumber: pulumi.Float64(1),\n\t\t\t},\n\t\t\tScheduledPolicy: \u0026opentelekomcloud.AsPolicyV1ScheduledPolicyArgs{\n\t\t\t\tLaunchTime:     pulumi.String(\"07:00\"),\n\t\t\t\tRecurrenceType: pulumi.String(\"Daily\"),\n\t\t\t\tStartTime:      pulumi.String(\"2017-11-30T12:00Z\"),\n\t\t\t\tEndTime:        pulumi.String(\"2017-12-30T12:00Z\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.AsPolicyV1;\nimport com.pulumi.opentelekomcloud.AsPolicyV1Args;\nimport com.pulumi.opentelekomcloud.inputs.AsPolicyV1ScalingPolicyActionArgs;\nimport com.pulumi.opentelekomcloud.inputs.AsPolicyV1ScheduledPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var hthAspolicy = new AsPolicyV1(\"hthAspolicy\", AsPolicyV1Args.builder()\n            .scalingPolicyName(\"hth_aspolicy\")\n            .scalingGroupId(\"4579f2f5-cbe8-425a-8f32-53dcb9d9053a\")\n            .coolDownTime(900.0)\n            .scalingPolicyType(\"RECURRENCE\")\n            .scalingPolicyAction(AsPolicyV1ScalingPolicyActionArgs.builder()\n                .operation(\"ADD\")\n                .instanceNumber(1.0)\n                .build())\n            .scheduledPolicy(AsPolicyV1ScheduledPolicyArgs.builder()\n                .launchTime(\"07:00\")\n                .recurrenceType(\"Daily\")\n                .startTime(\"2017-11-30T12:00Z\")\n                .endTime(\"2017-12-30T12:00Z\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  hthAspolicy:\n    type: opentelekomcloud:AsPolicyV1\n    name: hth_aspolicy\n    properties:\n      scalingPolicyName: hth_aspolicy\n      scalingGroupId: 4579f2f5-cbe8-425a-8f32-53dcb9d9053a\n      coolDownTime: 900\n      scalingPolicyType: RECURRENCE\n      scalingPolicyAction:\n        operation: ADD\n        instanceNumber: 1\n      scheduledPolicy:\n        launchTime: 07:00\n        recurrenceType: Daily\n        startTime: 2017-11-30T12:00Z\n        endTime: 2017-12-30T12:00Z\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### AS Scheduled Policy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst hthAspolicy1 = new opentelekomcloud.AsPolicyV1(\"hth_aspolicy_1\", {\n    scalingPolicyName: \"hth_aspolicy_1\",\n    scalingGroupId: \"4579f2f5-cbe8-425a-8f32-53dcb9d9053a\",\n    coolDownTime: 900,\n    scalingPolicyType: \"SCHEDULED\",\n    scalingPolicyAction: {\n        operation: \"REMOVE\",\n        instanceNumber: 1,\n    },\n    scheduledPolicy: {\n        launchTime: \"2017-12-22T12:00Z\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nhth_aspolicy1 = opentelekomcloud.AsPolicyV1(\"hth_aspolicy_1\",\n    scaling_policy_name=\"hth_aspolicy_1\",\n    scaling_group_id=\"4579f2f5-cbe8-425a-8f32-53dcb9d9053a\",\n    cool_down_time=900,\n    scaling_policy_type=\"SCHEDULED\",\n    scaling_policy_action={\n        \"operation\": \"REMOVE\",\n        \"instance_number\": 1,\n    },\n    scheduled_policy={\n        \"launch_time\": \"2017-12-22T12:00Z\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var hthAspolicy1 = new Opentelekomcloud.AsPolicyV1(\"hth_aspolicy_1\", new()\n    {\n        ScalingPolicyName = \"hth_aspolicy_1\",\n        ScalingGroupId = \"4579f2f5-cbe8-425a-8f32-53dcb9d9053a\",\n        CoolDownTime = 900,\n        ScalingPolicyType = \"SCHEDULED\",\n        ScalingPolicyAction = new Opentelekomcloud.Inputs.AsPolicyV1ScalingPolicyActionArgs\n        {\n            Operation = \"REMOVE\",\n            InstanceNumber = 1,\n        },\n        ScheduledPolicy = new Opentelekomcloud.Inputs.AsPolicyV1ScheduledPolicyArgs\n        {\n            LaunchTime = \"2017-12-22T12:00Z\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewAsPolicyV1(ctx, \"hth_aspolicy_1\", \u0026opentelekomcloud.AsPolicyV1Args{\n\t\t\tScalingPolicyName: pulumi.String(\"hth_aspolicy_1\"),\n\t\t\tScalingGroupId:    pulumi.String(\"4579f2f5-cbe8-425a-8f32-53dcb9d9053a\"),\n\t\t\tCoolDownTime:      pulumi.Float64(900),\n\t\t\tScalingPolicyType: pulumi.String(\"SCHEDULED\"),\n\t\t\tScalingPolicyAction: \u0026opentelekomcloud.AsPolicyV1ScalingPolicyActionArgs{\n\t\t\t\tOperation:      pulumi.String(\"REMOVE\"),\n\t\t\t\tInstanceNumber: pulumi.Float64(1),\n\t\t\t},\n\t\t\tScheduledPolicy: \u0026opentelekomcloud.AsPolicyV1ScheduledPolicyArgs{\n\t\t\t\tLaunchTime: pulumi.String(\"2017-12-22T12:00Z\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.AsPolicyV1;\nimport com.pulumi.opentelekomcloud.AsPolicyV1Args;\nimport com.pulumi.opentelekomcloud.inputs.AsPolicyV1ScalingPolicyActionArgs;\nimport com.pulumi.opentelekomcloud.inputs.AsPolicyV1ScheduledPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var hthAspolicy1 = new AsPolicyV1(\"hthAspolicy1\", AsPolicyV1Args.builder()\n            .scalingPolicyName(\"hth_aspolicy_1\")\n            .scalingGroupId(\"4579f2f5-cbe8-425a-8f32-53dcb9d9053a\")\n            .coolDownTime(900.0)\n            .scalingPolicyType(\"SCHEDULED\")\n            .scalingPolicyAction(AsPolicyV1ScalingPolicyActionArgs.builder()\n                .operation(\"REMOVE\")\n                .instanceNumber(1.0)\n                .build())\n            .scheduledPolicy(AsPolicyV1ScheduledPolicyArgs.builder()\n                .launchTime(\"2017-12-22T12:00Z\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  hthAspolicy1:\n    type: opentelekomcloud:AsPolicyV1\n    name: hth_aspolicy_1\n    properties:\n      scalingPolicyName: hth_aspolicy_1\n      scalingGroupId: 4579f2f5-cbe8-425a-8f32-53dcb9d9053a\n      coolDownTime: 900\n      scalingPolicyType: SCHEDULED\n      scalingPolicyAction:\n        operation: REMOVE\n        instanceNumber: 1\n      scheduledPolicy:\n        launchTime: 2017-12-22T12:00Z\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`launchTime`\" pulumi-lang-dotnet=\"`LaunchTime`\" pulumi-lang-go=\"`launchTime`\" pulumi-lang-python=\"`launch_time`\" pulumi-lang-yaml=\"`launchTime`\" pulumi-lang-java=\"`launchTime`\"\u003e`launch_time`\u003c/span\u003e of the `SCHEDULED` policy cannot be earlier than the current time.\n\n### AS Alarm Policy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst hthAspolicy2 = new opentelekomcloud.AsPolicyV1(\"hth_aspolicy_2\", {\n    scalingPolicyName: \"hth_aspolicy_2\",\n    scalingGroupId: \"4579f2f5-cbe8-425a-8f32-53dcb9d9053a\",\n    coolDownTime: 900,\n    scalingPolicyType: \"ALARM\",\n    alarmId: \"37e310f5-db9d-446e-9135-c625f9c2bbfc\",\n    scalingPolicyAction: {\n        operation: \"ADD\",\n        instanceNumber: 1,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nhth_aspolicy2 = opentelekomcloud.AsPolicyV1(\"hth_aspolicy_2\",\n    scaling_policy_name=\"hth_aspolicy_2\",\n    scaling_group_id=\"4579f2f5-cbe8-425a-8f32-53dcb9d9053a\",\n    cool_down_time=900,\n    scaling_policy_type=\"ALARM\",\n    alarm_id=\"37e310f5-db9d-446e-9135-c625f9c2bbfc\",\n    scaling_policy_action={\n        \"operation\": \"ADD\",\n        \"instance_number\": 1,\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var hthAspolicy2 = new Opentelekomcloud.AsPolicyV1(\"hth_aspolicy_2\", new()\n    {\n        ScalingPolicyName = \"hth_aspolicy_2\",\n        ScalingGroupId = \"4579f2f5-cbe8-425a-8f32-53dcb9d9053a\",\n        CoolDownTime = 900,\n        ScalingPolicyType = \"ALARM\",\n        AlarmId = \"37e310f5-db9d-446e-9135-c625f9c2bbfc\",\n        ScalingPolicyAction = new Opentelekomcloud.Inputs.AsPolicyV1ScalingPolicyActionArgs\n        {\n            Operation = \"ADD\",\n            InstanceNumber = 1,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewAsPolicyV1(ctx, \"hth_aspolicy_2\", \u0026opentelekomcloud.AsPolicyV1Args{\n\t\t\tScalingPolicyName: pulumi.String(\"hth_aspolicy_2\"),\n\t\t\tScalingGroupId:    pulumi.String(\"4579f2f5-cbe8-425a-8f32-53dcb9d9053a\"),\n\t\t\tCoolDownTime:      pulumi.Float64(900),\n\t\t\tScalingPolicyType: pulumi.String(\"ALARM\"),\n\t\t\tAlarmId:           pulumi.String(\"37e310f5-db9d-446e-9135-c625f9c2bbfc\"),\n\t\t\tScalingPolicyAction: \u0026opentelekomcloud.AsPolicyV1ScalingPolicyActionArgs{\n\t\t\t\tOperation:      pulumi.String(\"ADD\"),\n\t\t\t\tInstanceNumber: pulumi.Float64(1),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.AsPolicyV1;\nimport com.pulumi.opentelekomcloud.AsPolicyV1Args;\nimport com.pulumi.opentelekomcloud.inputs.AsPolicyV1ScalingPolicyActionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var hthAspolicy2 = new AsPolicyV1(\"hthAspolicy2\", AsPolicyV1Args.builder()\n            .scalingPolicyName(\"hth_aspolicy_2\")\n            .scalingGroupId(\"4579f2f5-cbe8-425a-8f32-53dcb9d9053a\")\n            .coolDownTime(900.0)\n            .scalingPolicyType(\"ALARM\")\n            .alarmId(\"37e310f5-db9d-446e-9135-c625f9c2bbfc\")\n            .scalingPolicyAction(AsPolicyV1ScalingPolicyActionArgs.builder()\n                .operation(\"ADD\")\n                .instanceNumber(1.0)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  hthAspolicy2:\n    type: opentelekomcloud:AsPolicyV1\n    name: hth_aspolicy_2\n    properties:\n      scalingPolicyName: hth_aspolicy_2\n      scalingGroupId: 4579f2f5-cbe8-425a-8f32-53dcb9d9053a\n      coolDownTime: 900\n      scalingPolicyType: ALARM\n      alarmId: 37e310f5-db9d-446e-9135-c625f9c2bbfc\n      scalingPolicyAction:\n        operation: ADD\n        instanceNumber: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"alarmId":{"type":"string","description":"The alarm rule ID. This argument is mandatory\nwhen \u003cspan pulumi-lang-nodejs=\"`scalingPolicyType`\" pulumi-lang-dotnet=\"`ScalingPolicyType`\" pulumi-lang-go=\"`scalingPolicyType`\" pulumi-lang-python=\"`scaling_policy_type`\" pulumi-lang-yaml=\"`scalingPolicyType`\" pulumi-lang-java=\"`scalingPolicyType`\"\u003e`scaling_policy_type`\u003c/span\u003e is set to `ALARM`.\n"},"asPolicyV1Id":{"type":"string"},"coolDownTime":{"type":"number","description":"The cooling duration (in seconds), and is 900 by default.\n"},"region":{"type":"string"},"scalingGroupId":{"type":"string","description":"The AS group ID. Changing this creates a new AS policy.\n"},"scalingPolicyAction":{"$ref":"#/types/opentelekomcloud:index%2FAsPolicyV1ScalingPolicyAction:AsPolicyV1ScalingPolicyAction","description":"The action of the AS policy. The\u003cspan pulumi-lang-nodejs=\" scalingPolicyAction\n\" pulumi-lang-dotnet=\" ScalingPolicyAction\n\" pulumi-lang-go=\" scalingPolicyAction\n\" pulumi-lang-python=\" scaling_policy_action\n\" pulumi-lang-yaml=\" scalingPolicyAction\n\" pulumi-lang-java=\" scalingPolicyAction\n\"\u003e scaling_policy_action\n\u003c/span\u003estructure is documented below.\n"},"scalingPolicyName":{"type":"string","description":"The name of the AS policy. The name can contain letters,\ndigits, underscores(_), and hyphens(-),and cannot exceed 64 characters.\n"},"scalingPolicyType":{"type":"string","description":"The AS policy type. The values can be `ALARM`, `SCHEDULED`,\nand `RECURRENCE`.\n"},"scheduledPolicy":{"$ref":"#/types/opentelekomcloud:index%2FAsPolicyV1ScheduledPolicy:AsPolicyV1ScheduledPolicy","description":"The periodic or scheduled AS policy. This argument is mandatory\nwhen \u003cspan pulumi-lang-nodejs=\"`scalingPolicyType`\" pulumi-lang-dotnet=\"`ScalingPolicyType`\" pulumi-lang-go=\"`scalingPolicyType`\" pulumi-lang-python=\"`scaling_policy_type`\" pulumi-lang-yaml=\"`scalingPolicyType`\" pulumi-lang-java=\"`scalingPolicyType`\"\u003e`scaling_policy_type`\u003c/span\u003e is set to `SCHEDULED` or `RECURRENCE`. The\u003cspan pulumi-lang-nodejs=\" scheduledPolicy \" pulumi-lang-dotnet=\" ScheduledPolicy \" pulumi-lang-go=\" scheduledPolicy \" pulumi-lang-python=\" scheduled_policy \" pulumi-lang-yaml=\" scheduledPolicy \" pulumi-lang-java=\" scheduledPolicy \"\u003e scheduled_policy \u003c/span\u003estructure\nis documented below.\n"}},"type":"object","required":["asPolicyV1Id","region","scalingGroupId","scalingPolicyName","scalingPolicyType"],"inputProperties":{"alarmId":{"type":"string","description":"The alarm rule ID. This argument is mandatory\nwhen \u003cspan pulumi-lang-nodejs=\"`scalingPolicyType`\" pulumi-lang-dotnet=\"`ScalingPolicyType`\" pulumi-lang-go=\"`scalingPolicyType`\" pulumi-lang-python=\"`scaling_policy_type`\" pulumi-lang-yaml=\"`scalingPolicyType`\" pulumi-lang-java=\"`scalingPolicyType`\"\u003e`scaling_policy_type`\u003c/span\u003e is set to `ALARM`.\n"},"asPolicyV1Id":{"type":"string"},"coolDownTime":{"type":"number","description":"The cooling duration (in seconds), and is 900 by default.\n"},"region":{"type":"string"},"scalingGroupId":{"type":"string","description":"The AS group ID. Changing this creates a new AS policy.\n"},"scalingPolicyAction":{"$ref":"#/types/opentelekomcloud:index%2FAsPolicyV1ScalingPolicyAction:AsPolicyV1ScalingPolicyAction","description":"The action of the AS policy. The\u003cspan pulumi-lang-nodejs=\" scalingPolicyAction\n\" pulumi-lang-dotnet=\" ScalingPolicyAction\n\" pulumi-lang-go=\" scalingPolicyAction\n\" pulumi-lang-python=\" scaling_policy_action\n\" pulumi-lang-yaml=\" scalingPolicyAction\n\" pulumi-lang-java=\" scalingPolicyAction\n\"\u003e scaling_policy_action\n\u003c/span\u003estructure is documented below.\n"},"scalingPolicyName":{"type":"string","description":"The name of the AS policy. The name can contain letters,\ndigits, underscores(_), and hyphens(-),and cannot exceed 64 characters.\n"},"scalingPolicyType":{"type":"string","description":"The AS policy type. The values can be `ALARM`, `SCHEDULED`,\nand `RECURRENCE`.\n"},"scheduledPolicy":{"$ref":"#/types/opentelekomcloud:index%2FAsPolicyV1ScheduledPolicy:AsPolicyV1ScheduledPolicy","description":"The periodic or scheduled AS policy. This argument is mandatory\nwhen \u003cspan pulumi-lang-nodejs=\"`scalingPolicyType`\" pulumi-lang-dotnet=\"`ScalingPolicyType`\" pulumi-lang-go=\"`scalingPolicyType`\" pulumi-lang-python=\"`scaling_policy_type`\" pulumi-lang-yaml=\"`scalingPolicyType`\" pulumi-lang-java=\"`scalingPolicyType`\"\u003e`scaling_policy_type`\u003c/span\u003e is set to `SCHEDULED` or `RECURRENCE`. The\u003cspan pulumi-lang-nodejs=\" scheduledPolicy \" pulumi-lang-dotnet=\" ScheduledPolicy \" pulumi-lang-go=\" scheduledPolicy \" pulumi-lang-python=\" scheduled_policy \" pulumi-lang-yaml=\" scheduledPolicy \" pulumi-lang-java=\" scheduledPolicy \"\u003e scheduled_policy \u003c/span\u003estructure\nis documented below.\n"}},"requiredInputs":["scalingGroupId","scalingPolicyName","scalingPolicyType"],"stateInputs":{"description":"Input properties used for looking up and filtering AsPolicyV1 resources.\n","properties":{"alarmId":{"type":"string","description":"The alarm rule ID. This argument is mandatory\nwhen \u003cspan pulumi-lang-nodejs=\"`scalingPolicyType`\" pulumi-lang-dotnet=\"`ScalingPolicyType`\" pulumi-lang-go=\"`scalingPolicyType`\" pulumi-lang-python=\"`scaling_policy_type`\" pulumi-lang-yaml=\"`scalingPolicyType`\" pulumi-lang-java=\"`scalingPolicyType`\"\u003e`scaling_policy_type`\u003c/span\u003e is set to `ALARM`.\n"},"asPolicyV1Id":{"type":"string"},"coolDownTime":{"type":"number","description":"The cooling duration (in seconds), and is 900 by default.\n"},"region":{"type":"string"},"scalingGroupId":{"type":"string","description":"The AS group ID. Changing this creates a new AS policy.\n"},"scalingPolicyAction":{"$ref":"#/types/opentelekomcloud:index%2FAsPolicyV1ScalingPolicyAction:AsPolicyV1ScalingPolicyAction","description":"The action of the AS policy. The\u003cspan pulumi-lang-nodejs=\" scalingPolicyAction\n\" pulumi-lang-dotnet=\" ScalingPolicyAction\n\" pulumi-lang-go=\" scalingPolicyAction\n\" pulumi-lang-python=\" scaling_policy_action\n\" pulumi-lang-yaml=\" scalingPolicyAction\n\" pulumi-lang-java=\" scalingPolicyAction\n\"\u003e scaling_policy_action\n\u003c/span\u003estructure is documented below.\n"},"scalingPolicyName":{"type":"string","description":"The name of the AS policy. The name can contain letters,\ndigits, underscores(_), and hyphens(-),and cannot exceed 64 characters.\n"},"scalingPolicyType":{"type":"string","description":"The AS policy type. The values can be `ALARM`, `SCHEDULED`,\nand `RECURRENCE`.\n"},"scheduledPolicy":{"$ref":"#/types/opentelekomcloud:index%2FAsPolicyV1ScheduledPolicy:AsPolicyV1ScheduledPolicy","description":"The periodic or scheduled AS policy. This argument is mandatory\nwhen \u003cspan pulumi-lang-nodejs=\"`scalingPolicyType`\" pulumi-lang-dotnet=\"`ScalingPolicyType`\" pulumi-lang-go=\"`scalingPolicyType`\" pulumi-lang-python=\"`scaling_policy_type`\" pulumi-lang-yaml=\"`scalingPolicyType`\" pulumi-lang-java=\"`scalingPolicyType`\"\u003e`scaling_policy_type`\u003c/span\u003e is set to `SCHEDULED` or `RECURRENCE`. The\u003cspan pulumi-lang-nodejs=\" scheduledPolicy \" pulumi-lang-dotnet=\" ScheduledPolicy \" pulumi-lang-go=\" scheduledPolicy \" pulumi-lang-python=\" scheduled_policy \" pulumi-lang-yaml=\" scheduledPolicy \" pulumi-lang-java=\" scheduledPolicy \"\u003e scheduled_policy \u003c/span\u003estructure\nis documented below.\n"}},"type":"object"}},"opentelekomcloud:index/asPolicyV2:AsPolicyV2":{"description":"Up-to-date reference of API arguments for AS policy you can get at\n[documentation portal](https://docs.otc.t-systems.com/auto-scaling/api-ref/apis/as_policies)\n\nManages a V2 AS Policy resource within OpenTelekomCloud.\n\n## Example Usage\n\n### AS Recurrence Policy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst policy1 = new opentelekomcloud.AsPolicyV2(\"policy_1\", {\n    scalingPolicyName: \"policy_create\",\n    scalingPolicyType: \"RECURRENCE\",\n    scalingResourceId: asGroup,\n    scalingResourceType: \"SCALING_GROUP\",\n    scalingPolicyActions: [{\n        operation: \"ADD\",\n        percentage: 15,\n    }],\n    scheduledPolicies: [{\n        launchTime: \"10:30\",\n        recurrenceType: \"Weekly\",\n        recurrenceValue: \"1,3,5\",\n        endTime: \"2040-12-31T10:30Z\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\npolicy1 = opentelekomcloud.AsPolicyV2(\"policy_1\",\n    scaling_policy_name=\"policy_create\",\n    scaling_policy_type=\"RECURRENCE\",\n    scaling_resource_id=as_group,\n    scaling_resource_type=\"SCALING_GROUP\",\n    scaling_policy_actions=[{\n        \"operation\": \"ADD\",\n        \"percentage\": 15,\n    }],\n    scheduled_policies=[{\n        \"launch_time\": \"10:30\",\n        \"recurrence_type\": \"Weekly\",\n        \"recurrence_value\": \"1,3,5\",\n        \"end_time\": \"2040-12-31T10:30Z\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var policy1 = new Opentelekomcloud.AsPolicyV2(\"policy_1\", new()\n    {\n        ScalingPolicyName = \"policy_create\",\n        ScalingPolicyType = \"RECURRENCE\",\n        ScalingResourceId = asGroup,\n        ScalingResourceType = \"SCALING_GROUP\",\n        ScalingPolicyActions = new[]\n        {\n            new Opentelekomcloud.Inputs.AsPolicyV2ScalingPolicyActionArgs\n            {\n                Operation = \"ADD\",\n                Percentage = 15,\n            },\n        },\n        ScheduledPolicies = new[]\n        {\n            new Opentelekomcloud.Inputs.AsPolicyV2ScheduledPolicyArgs\n            {\n                LaunchTime = \"10:30\",\n                RecurrenceType = \"Weekly\",\n                RecurrenceValue = \"1,3,5\",\n                EndTime = \"2040-12-31T10:30Z\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewAsPolicyV2(ctx, \"policy_1\", \u0026opentelekomcloud.AsPolicyV2Args{\n\t\t\tScalingPolicyName:   pulumi.String(\"policy_create\"),\n\t\t\tScalingPolicyType:   pulumi.String(\"RECURRENCE\"),\n\t\t\tScalingResourceId:   pulumi.Any(asGroup),\n\t\t\tScalingResourceType: pulumi.String(\"SCALING_GROUP\"),\n\t\t\tScalingPolicyActions: opentelekomcloud.AsPolicyV2ScalingPolicyActionArray{\n\t\t\t\t\u0026opentelekomcloud.AsPolicyV2ScalingPolicyActionArgs{\n\t\t\t\t\tOperation:  pulumi.String(\"ADD\"),\n\t\t\t\t\tPercentage: pulumi.Float64(15),\n\t\t\t\t},\n\t\t\t},\n\t\t\tScheduledPolicies: opentelekomcloud.AsPolicyV2ScheduledPolicyArray{\n\t\t\t\t\u0026opentelekomcloud.AsPolicyV2ScheduledPolicyArgs{\n\t\t\t\t\tLaunchTime:      pulumi.String(\"10:30\"),\n\t\t\t\t\tRecurrenceType:  pulumi.String(\"Weekly\"),\n\t\t\t\t\tRecurrenceValue: pulumi.String(\"1,3,5\"),\n\t\t\t\t\tEndTime:         pulumi.String(\"2040-12-31T10:30Z\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.AsPolicyV2;\nimport com.pulumi.opentelekomcloud.AsPolicyV2Args;\nimport com.pulumi.opentelekomcloud.inputs.AsPolicyV2ScalingPolicyActionArgs;\nimport com.pulumi.opentelekomcloud.inputs.AsPolicyV2ScheduledPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var policy1 = new AsPolicyV2(\"policy1\", AsPolicyV2Args.builder()\n            .scalingPolicyName(\"policy_create\")\n            .scalingPolicyType(\"RECURRENCE\")\n            .scalingResourceId(asGroup)\n            .scalingResourceType(\"SCALING_GROUP\")\n            .scalingPolicyActions(AsPolicyV2ScalingPolicyActionArgs.builder()\n                .operation(\"ADD\")\n                .percentage(15.0)\n                .build())\n            .scheduledPolicies(AsPolicyV2ScheduledPolicyArgs.builder()\n                .launchTime(\"10:30\")\n                .recurrenceType(\"Weekly\")\n                .recurrenceValue(\"1,3,5\")\n                .endTime(\"2040-12-31T10:30Z\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  policy1:\n    type: opentelekomcloud:AsPolicyV2\n    name: policy_1\n    properties:\n      scalingPolicyName: policy_create\n      scalingPolicyType: RECURRENCE\n      scalingResourceId: ${asGroup}\n      scalingResourceType: SCALING_GROUP\n      scalingPolicyActions:\n        - operation: ADD\n          percentage: 15\n      scheduledPolicies:\n        - launchTime: 10:30\n          recurrenceType: Weekly\n          recurrenceValue: 1,3,5\n          endTime: 2040-12-31T10:30Z\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### AS Alarm Policy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst policy1 = new opentelekomcloud.AsPolicyV2(\"policy_1\", {\n    scalingPolicyName: \"policy_create\",\n    scalingPolicyType: \"ALARM\",\n    scalingResourceId: asGroup,\n    scalingResourceType: \"SCALING_GROUP\",\n    alarmId: alarmId,\n    scalingPolicyActions: [{\n        operation: \"ADD\",\n        size: 1,\n    }],\n    coolDownTime: 900,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\npolicy1 = opentelekomcloud.AsPolicyV2(\"policy_1\",\n    scaling_policy_name=\"policy_create\",\n    scaling_policy_type=\"ALARM\",\n    scaling_resource_id=as_group,\n    scaling_resource_type=\"SCALING_GROUP\",\n    alarm_id=alarm_id,\n    scaling_policy_actions=[{\n        \"operation\": \"ADD\",\n        \"size\": 1,\n    }],\n    cool_down_time=900)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var policy1 = new Opentelekomcloud.AsPolicyV2(\"policy_1\", new()\n    {\n        ScalingPolicyName = \"policy_create\",\n        ScalingPolicyType = \"ALARM\",\n        ScalingResourceId = asGroup,\n        ScalingResourceType = \"SCALING_GROUP\",\n        AlarmId = alarmId,\n        ScalingPolicyActions = new[]\n        {\n            new Opentelekomcloud.Inputs.AsPolicyV2ScalingPolicyActionArgs\n            {\n                Operation = \"ADD\",\n                Size = 1,\n            },\n        },\n        CoolDownTime = 900,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewAsPolicyV2(ctx, \"policy_1\", \u0026opentelekomcloud.AsPolicyV2Args{\n\t\t\tScalingPolicyName:   pulumi.String(\"policy_create\"),\n\t\t\tScalingPolicyType:   pulumi.String(\"ALARM\"),\n\t\t\tScalingResourceId:   pulumi.Any(asGroup),\n\t\t\tScalingResourceType: pulumi.String(\"SCALING_GROUP\"),\n\t\t\tAlarmId:             pulumi.Any(alarmId),\n\t\t\tScalingPolicyActions: opentelekomcloud.AsPolicyV2ScalingPolicyActionArray{\n\t\t\t\t\u0026opentelekomcloud.AsPolicyV2ScalingPolicyActionArgs{\n\t\t\t\t\tOperation: pulumi.String(\"ADD\"),\n\t\t\t\t\tSize:      pulumi.Float64(1),\n\t\t\t\t},\n\t\t\t},\n\t\t\tCoolDownTime: pulumi.Float64(900),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.AsPolicyV2;\nimport com.pulumi.opentelekomcloud.AsPolicyV2Args;\nimport com.pulumi.opentelekomcloud.inputs.AsPolicyV2ScalingPolicyActionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var policy1 = new AsPolicyV2(\"policy1\", AsPolicyV2Args.builder()\n            .scalingPolicyName(\"policy_create\")\n            .scalingPolicyType(\"ALARM\")\n            .scalingResourceId(asGroup)\n            .scalingResourceType(\"SCALING_GROUP\")\n            .alarmId(alarmId)\n            .scalingPolicyActions(AsPolicyV2ScalingPolicyActionArgs.builder()\n                .operation(\"ADD\")\n                .size(1.0)\n                .build())\n            .coolDownTime(900.0)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  policy1:\n    type: opentelekomcloud:AsPolicyV2\n    name: policy_1\n    properties:\n      scalingPolicyName: policy_create\n      scalingPolicyType: ALARM\n      scalingResourceId: ${asGroup}\n      scalingResourceType: SCALING_GROUP\n      alarmId: ${alarmId}\n      scalingPolicyActions:\n        - operation: ADD\n          size: 1\n      coolDownTime: 900\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"alarmId":{"type":"string","description":"Specifies the alarm rule ID. This parameter is mandatory\nwhen \u003cspan pulumi-lang-nodejs=\"`scalingPolicyType`\" pulumi-lang-dotnet=\"`ScalingPolicyType`\" pulumi-lang-go=\"`scalingPolicyType`\" pulumi-lang-python=\"`scaling_policy_type`\" pulumi-lang-yaml=\"`scalingPolicyType`\" pulumi-lang-java=\"`scalingPolicyType`\"\u003e`scaling_policy_type`\u003c/span\u003e is set to `ALARM`.\n"},"asPolicyV2Id":{"type":"string"},"coolDownTime":{"type":"number","description":"Specifies the cooldown period (in seconds).\n"},"createTime":{"type":"string","description":"Specifies the time when an AS policy was created. The time format complies with UTC.\n"},"metadatas":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FAsPolicyV2Metadata:AsPolicyV2Metadata"},"description":"Provides additional information. The \u003cspan pulumi-lang-nodejs=\"`metadata`\" pulumi-lang-dotnet=\"`Metadata`\" pulumi-lang-go=\"`metadata`\" pulumi-lang-python=\"`metadata`\" pulumi-lang-yaml=\"`metadata`\" pulumi-lang-java=\"`metadata`\"\u003e`metadata`\u003c/span\u003e structure is documented below.\n"},"region":{"type":"string"},"scalingPolicyActions":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FAsPolicyV2ScalingPolicyAction:AsPolicyV2ScalingPolicyAction"},"description":"The action of the AS policy. The \u003cspan pulumi-lang-nodejs=\"`scalingPolicyAction`\" pulumi-lang-dotnet=\"`ScalingPolicyAction`\" pulumi-lang-go=\"`scalingPolicyAction`\" pulumi-lang-python=\"`scaling_policy_action`\" pulumi-lang-yaml=\"`scalingPolicyAction`\" pulumi-lang-java=\"`scalingPolicyAction`\"\u003e`scaling_policy_action`\u003c/span\u003e\nstructure is documented below.\n"},"scalingPolicyName":{"type":"string","description":"The name of the AS policy. The name can contain letters,\ndigits, underscores(_), and hyphens(-),and cannot exceed 64 characters.\n"},"scalingPolicyType":{"type":"string","description":"The AS policy type. The values can be:\n* `ALARM` - Indicates that the scaling action is triggered by an alarm. A value is returned for\n\u003cspan pulumi-lang-nodejs=\"`alarmId`\" pulumi-lang-dotnet=\"`AlarmId`\" pulumi-lang-go=\"`alarmId`\" pulumi-lang-python=\"`alarm_id`\" pulumi-lang-yaml=\"`alarmId`\" pulumi-lang-java=\"`alarmId`\"\u003e`alarm_id`\u003c/span\u003e, and no value is returned for \u003cspan pulumi-lang-nodejs=\"`scheduledPolicy`\" pulumi-lang-dotnet=\"`ScheduledPolicy`\" pulumi-lang-go=\"`scheduledPolicy`\" pulumi-lang-python=\"`scheduled_policy`\" pulumi-lang-yaml=\"`scheduledPolicy`\" pulumi-lang-java=\"`scheduledPolicy`\"\u003e`scheduled_policy`\u003c/span\u003e.\n* `SCHEDULED` - Indicates that the scaling action is triggered as scheduled.\nA value is returned for \u003cspan pulumi-lang-nodejs=\"`scheduledPolicy`\" pulumi-lang-dotnet=\"`ScheduledPolicy`\" pulumi-lang-go=\"`scheduledPolicy`\" pulumi-lang-python=\"`scheduled_policy`\" pulumi-lang-yaml=\"`scheduledPolicy`\" pulumi-lang-java=\"`scheduledPolicy`\"\u003e`scheduled_policy`\u003c/span\u003e, and no value is returned for \u003cspan pulumi-lang-nodejs=\"`alarmId`\" pulumi-lang-dotnet=\"`AlarmId`\" pulumi-lang-go=\"`alarmId`\" pulumi-lang-python=\"`alarm_id`\" pulumi-lang-yaml=\"`alarmId`\" pulumi-lang-java=\"`alarmId`\"\u003e`alarm_id`\u003c/span\u003e,\n\u003cspan pulumi-lang-nodejs=\"`recurrenceType`\" pulumi-lang-dotnet=\"`RecurrenceType`\" pulumi-lang-go=\"`recurrenceType`\" pulumi-lang-python=\"`recurrence_type`\" pulumi-lang-yaml=\"`recurrenceType`\" pulumi-lang-java=\"`recurrenceType`\"\u003e`recurrence_type`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`recurrenceValue`\" pulumi-lang-dotnet=\"`RecurrenceValue`\" pulumi-lang-go=\"`recurrenceValue`\" pulumi-lang-python=\"`recurrence_value`\" pulumi-lang-yaml=\"`recurrenceValue`\" pulumi-lang-java=\"`recurrenceValue`\"\u003e`recurrence_value`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`startTime`\" pulumi-lang-dotnet=\"`StartTime`\" pulumi-lang-go=\"`startTime`\" pulumi-lang-python=\"`start_time`\" pulumi-lang-yaml=\"`startTime`\" pulumi-lang-java=\"`startTime`\"\u003e`start_time`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`endTime`\" pulumi-lang-dotnet=\"`EndTime`\" pulumi-lang-go=\"`endTime`\" pulumi-lang-python=\"`end_time`\" pulumi-lang-yaml=\"`endTime`\" pulumi-lang-java=\"`endTime`\"\u003e`end_time`\u003c/span\u003e.\n* `RECURRENCE` - Indicates that the scaling action is triggered periodically.\nValues are returned for \u003cspan pulumi-lang-nodejs=\"`scheduledPolicy`\" pulumi-lang-dotnet=\"`ScheduledPolicy`\" pulumi-lang-go=\"`scheduledPolicy`\" pulumi-lang-python=\"`scheduled_policy`\" pulumi-lang-yaml=\"`scheduledPolicy`\" pulumi-lang-java=\"`scheduledPolicy`\"\u003e`scheduled_policy`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`recurrenceType`\" pulumi-lang-dotnet=\"`RecurrenceType`\" pulumi-lang-go=\"`recurrenceType`\" pulumi-lang-python=\"`recurrence_type`\" pulumi-lang-yaml=\"`recurrenceType`\" pulumi-lang-java=\"`recurrenceType`\"\u003e`recurrence_type`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`recurrenceValue`\" pulumi-lang-dotnet=\"`RecurrenceValue`\" pulumi-lang-go=\"`recurrenceValue`\" pulumi-lang-python=\"`recurrence_value`\" pulumi-lang-yaml=\"`recurrenceValue`\" pulumi-lang-java=\"`recurrenceValue`\"\u003e`recurrence_value`\u003c/span\u003e,\n\u003cspan pulumi-lang-nodejs=\"`startTime`\" pulumi-lang-dotnet=\"`StartTime`\" pulumi-lang-go=\"`startTime`\" pulumi-lang-python=\"`start_time`\" pulumi-lang-yaml=\"`startTime`\" pulumi-lang-java=\"`startTime`\"\u003e`start_time`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`endTime`\" pulumi-lang-dotnet=\"`EndTime`\" pulumi-lang-go=\"`endTime`\" pulumi-lang-python=\"`end_time`\" pulumi-lang-yaml=\"`endTime`\" pulumi-lang-java=\"`endTime`\"\u003e`end_time`\u003c/span\u003e, and no value is returned for \u003cspan pulumi-lang-nodejs=\"`alarmId`\" pulumi-lang-dotnet=\"`AlarmId`\" pulumi-lang-go=\"`alarmId`\" pulumi-lang-python=\"`alarm_id`\" pulumi-lang-yaml=\"`alarmId`\" pulumi-lang-java=\"`alarmId`\"\u003e`alarm_id`\u003c/span\u003e.\n"},"scalingResourceId":{"type":"string","description":"The Scaling resource ID.\n"},"scalingResourceType":{"type":"string","description":"Specifies the scaling resource type. Valid values are:\n* AS group: `SCALING_GROUP`\n* Bandwidth: `BANDWIDTH`\n"},"scheduledPolicies":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FAsPolicyV2ScheduledPolicy:AsPolicyV2ScheduledPolicy"},"description":"Specifies the periodic or scheduled AS policy.\nThis parameter is mandatory when \u003cspan pulumi-lang-nodejs=\"`scalingPolicyType`\" pulumi-lang-dotnet=\"`ScalingPolicyType`\" pulumi-lang-go=\"`scalingPolicyType`\" pulumi-lang-python=\"`scaling_policy_type`\" pulumi-lang-yaml=\"`scalingPolicyType`\" pulumi-lang-java=\"`scalingPolicyType`\"\u003e`scaling_policy_type`\u003c/span\u003e is set to `SCHEDULED` or `RECURRENCE`.\nAfter this parameter is specified, the value of \u003cspan pulumi-lang-nodejs=\"`alarmId`\" pulumi-lang-dotnet=\"`AlarmId`\" pulumi-lang-go=\"`alarmId`\" pulumi-lang-python=\"`alarm_id`\" pulumi-lang-yaml=\"`alarmId`\" pulumi-lang-java=\"`alarmId`\"\u003e`alarm_id`\u003c/span\u003e does not take effect.\nThe \u003cspan pulumi-lang-nodejs=\"`scheduledPolicy`\" pulumi-lang-dotnet=\"`ScheduledPolicy`\" pulumi-lang-go=\"`scheduledPolicy`\" pulumi-lang-python=\"`scheduled_policy`\" pulumi-lang-yaml=\"`scheduledPolicy`\" pulumi-lang-java=\"`scheduledPolicy`\"\u003e`scheduled_policy`\u003c/span\u003e structure is documented below.\n"}},"type":"object","required":["asPolicyV2Id","coolDownTime","createTime","metadatas","region","scalingPolicyName","scalingPolicyType","scalingResourceId","scalingResourceType"],"inputProperties":{"alarmId":{"type":"string","description":"Specifies the alarm rule ID. This parameter is mandatory\nwhen \u003cspan pulumi-lang-nodejs=\"`scalingPolicyType`\" pulumi-lang-dotnet=\"`ScalingPolicyType`\" pulumi-lang-go=\"`scalingPolicyType`\" pulumi-lang-python=\"`scaling_policy_type`\" pulumi-lang-yaml=\"`scalingPolicyType`\" pulumi-lang-java=\"`scalingPolicyType`\"\u003e`scaling_policy_type`\u003c/span\u003e is set to `ALARM`.\n"},"asPolicyV2Id":{"type":"string"},"coolDownTime":{"type":"number","description":"Specifies the cooldown period (in seconds).\n"},"region":{"type":"string"},"scalingPolicyActions":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FAsPolicyV2ScalingPolicyAction:AsPolicyV2ScalingPolicyAction"},"description":"The action of the AS policy. The \u003cspan pulumi-lang-nodejs=\"`scalingPolicyAction`\" pulumi-lang-dotnet=\"`ScalingPolicyAction`\" pulumi-lang-go=\"`scalingPolicyAction`\" pulumi-lang-python=\"`scaling_policy_action`\" pulumi-lang-yaml=\"`scalingPolicyAction`\" pulumi-lang-java=\"`scalingPolicyAction`\"\u003e`scaling_policy_action`\u003c/span\u003e\nstructure is documented below.\n"},"scalingPolicyName":{"type":"string","description":"The name of the AS policy. The name can contain letters,\ndigits, underscores(_), and hyphens(-),and cannot exceed 64 characters.\n"},"scalingPolicyType":{"type":"string","description":"The AS policy type. The values can be:\n* `ALARM` - Indicates that the scaling action is triggered by an alarm. A value is returned for\n\u003cspan pulumi-lang-nodejs=\"`alarmId`\" pulumi-lang-dotnet=\"`AlarmId`\" pulumi-lang-go=\"`alarmId`\" pulumi-lang-python=\"`alarm_id`\" pulumi-lang-yaml=\"`alarmId`\" pulumi-lang-java=\"`alarmId`\"\u003e`alarm_id`\u003c/span\u003e, and no value is returned for \u003cspan pulumi-lang-nodejs=\"`scheduledPolicy`\" pulumi-lang-dotnet=\"`ScheduledPolicy`\" pulumi-lang-go=\"`scheduledPolicy`\" pulumi-lang-python=\"`scheduled_policy`\" pulumi-lang-yaml=\"`scheduledPolicy`\" pulumi-lang-java=\"`scheduledPolicy`\"\u003e`scheduled_policy`\u003c/span\u003e.\n* `SCHEDULED` - Indicates that the scaling action is triggered as scheduled.\nA value is returned for \u003cspan pulumi-lang-nodejs=\"`scheduledPolicy`\" pulumi-lang-dotnet=\"`ScheduledPolicy`\" pulumi-lang-go=\"`scheduledPolicy`\" pulumi-lang-python=\"`scheduled_policy`\" pulumi-lang-yaml=\"`scheduledPolicy`\" pulumi-lang-java=\"`scheduledPolicy`\"\u003e`scheduled_policy`\u003c/span\u003e, and no value is returned for \u003cspan pulumi-lang-nodejs=\"`alarmId`\" pulumi-lang-dotnet=\"`AlarmId`\" pulumi-lang-go=\"`alarmId`\" pulumi-lang-python=\"`alarm_id`\" pulumi-lang-yaml=\"`alarmId`\" pulumi-lang-java=\"`alarmId`\"\u003e`alarm_id`\u003c/span\u003e,\n\u003cspan pulumi-lang-nodejs=\"`recurrenceType`\" pulumi-lang-dotnet=\"`RecurrenceType`\" pulumi-lang-go=\"`recurrenceType`\" pulumi-lang-python=\"`recurrence_type`\" pulumi-lang-yaml=\"`recurrenceType`\" pulumi-lang-java=\"`recurrenceType`\"\u003e`recurrence_type`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`recurrenceValue`\" pulumi-lang-dotnet=\"`RecurrenceValue`\" pulumi-lang-go=\"`recurrenceValue`\" pulumi-lang-python=\"`recurrence_value`\" pulumi-lang-yaml=\"`recurrenceValue`\" pulumi-lang-java=\"`recurrenceValue`\"\u003e`recurrence_value`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`startTime`\" pulumi-lang-dotnet=\"`StartTime`\" pulumi-lang-go=\"`startTime`\" pulumi-lang-python=\"`start_time`\" pulumi-lang-yaml=\"`startTime`\" pulumi-lang-java=\"`startTime`\"\u003e`start_time`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`endTime`\" pulumi-lang-dotnet=\"`EndTime`\" pulumi-lang-go=\"`endTime`\" pulumi-lang-python=\"`end_time`\" pulumi-lang-yaml=\"`endTime`\" pulumi-lang-java=\"`endTime`\"\u003e`end_time`\u003c/span\u003e.\n* `RECURRENCE` - Indicates that the scaling action is triggered periodically.\nValues are returned for \u003cspan pulumi-lang-nodejs=\"`scheduledPolicy`\" pulumi-lang-dotnet=\"`ScheduledPolicy`\" pulumi-lang-go=\"`scheduledPolicy`\" pulumi-lang-python=\"`scheduled_policy`\" pulumi-lang-yaml=\"`scheduledPolicy`\" pulumi-lang-java=\"`scheduledPolicy`\"\u003e`scheduled_policy`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`recurrenceType`\" pulumi-lang-dotnet=\"`RecurrenceType`\" pulumi-lang-go=\"`recurrenceType`\" pulumi-lang-python=\"`recurrence_type`\" pulumi-lang-yaml=\"`recurrenceType`\" pulumi-lang-java=\"`recurrenceType`\"\u003e`recurrence_type`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`recurrenceValue`\" pulumi-lang-dotnet=\"`RecurrenceValue`\" pulumi-lang-go=\"`recurrenceValue`\" pulumi-lang-python=\"`recurrence_value`\" pulumi-lang-yaml=\"`recurrenceValue`\" pulumi-lang-java=\"`recurrenceValue`\"\u003e`recurrence_value`\u003c/span\u003e,\n\u003cspan pulumi-lang-nodejs=\"`startTime`\" pulumi-lang-dotnet=\"`StartTime`\" pulumi-lang-go=\"`startTime`\" pulumi-lang-python=\"`start_time`\" pulumi-lang-yaml=\"`startTime`\" pulumi-lang-java=\"`startTime`\"\u003e`start_time`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`endTime`\" pulumi-lang-dotnet=\"`EndTime`\" pulumi-lang-go=\"`endTime`\" pulumi-lang-python=\"`end_time`\" pulumi-lang-yaml=\"`endTime`\" pulumi-lang-java=\"`endTime`\"\u003e`end_time`\u003c/span\u003e, and no value is returned for \u003cspan pulumi-lang-nodejs=\"`alarmId`\" pulumi-lang-dotnet=\"`AlarmId`\" pulumi-lang-go=\"`alarmId`\" pulumi-lang-python=\"`alarm_id`\" pulumi-lang-yaml=\"`alarmId`\" pulumi-lang-java=\"`alarmId`\"\u003e`alarm_id`\u003c/span\u003e.\n"},"scalingResourceId":{"type":"string","description":"The Scaling resource ID.\n"},"scalingResourceType":{"type":"string","description":"Specifies the scaling resource type. Valid values are:\n* AS group: `SCALING_GROUP`\n* Bandwidth: `BANDWIDTH`\n"},"scheduledPolicies":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FAsPolicyV2ScheduledPolicy:AsPolicyV2ScheduledPolicy"},"description":"Specifies the periodic or scheduled AS policy.\nThis parameter is mandatory when \u003cspan pulumi-lang-nodejs=\"`scalingPolicyType`\" pulumi-lang-dotnet=\"`ScalingPolicyType`\" pulumi-lang-go=\"`scalingPolicyType`\" pulumi-lang-python=\"`scaling_policy_type`\" pulumi-lang-yaml=\"`scalingPolicyType`\" pulumi-lang-java=\"`scalingPolicyType`\"\u003e`scaling_policy_type`\u003c/span\u003e is set to `SCHEDULED` or `RECURRENCE`.\nAfter this parameter is specified, the value of \u003cspan pulumi-lang-nodejs=\"`alarmId`\" pulumi-lang-dotnet=\"`AlarmId`\" pulumi-lang-go=\"`alarmId`\" pulumi-lang-python=\"`alarm_id`\" pulumi-lang-yaml=\"`alarmId`\" pulumi-lang-java=\"`alarmId`\"\u003e`alarm_id`\u003c/span\u003e does not take effect.\nThe \u003cspan pulumi-lang-nodejs=\"`scheduledPolicy`\" pulumi-lang-dotnet=\"`ScheduledPolicy`\" pulumi-lang-go=\"`scheduledPolicy`\" pulumi-lang-python=\"`scheduled_policy`\" pulumi-lang-yaml=\"`scheduledPolicy`\" pulumi-lang-java=\"`scheduledPolicy`\"\u003e`scheduled_policy`\u003c/span\u003e structure is documented below.\n"}},"requiredInputs":["scalingPolicyName","scalingPolicyType","scalingResourceId","scalingResourceType"],"stateInputs":{"description":"Input properties used for looking up and filtering AsPolicyV2 resources.\n","properties":{"alarmId":{"type":"string","description":"Specifies the alarm rule ID. This parameter is mandatory\nwhen \u003cspan pulumi-lang-nodejs=\"`scalingPolicyType`\" pulumi-lang-dotnet=\"`ScalingPolicyType`\" pulumi-lang-go=\"`scalingPolicyType`\" pulumi-lang-python=\"`scaling_policy_type`\" pulumi-lang-yaml=\"`scalingPolicyType`\" pulumi-lang-java=\"`scalingPolicyType`\"\u003e`scaling_policy_type`\u003c/span\u003e is set to `ALARM`.\n"},"asPolicyV2Id":{"type":"string"},"coolDownTime":{"type":"number","description":"Specifies the cooldown period (in seconds).\n"},"createTime":{"type":"string","description":"Specifies the time when an AS policy was created. The time format complies with UTC.\n"},"metadatas":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FAsPolicyV2Metadata:AsPolicyV2Metadata"},"description":"Provides additional information. The \u003cspan pulumi-lang-nodejs=\"`metadata`\" pulumi-lang-dotnet=\"`Metadata`\" pulumi-lang-go=\"`metadata`\" pulumi-lang-python=\"`metadata`\" pulumi-lang-yaml=\"`metadata`\" pulumi-lang-java=\"`metadata`\"\u003e`metadata`\u003c/span\u003e structure is documented below.\n"},"region":{"type":"string"},"scalingPolicyActions":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FAsPolicyV2ScalingPolicyAction:AsPolicyV2ScalingPolicyAction"},"description":"The action of the AS policy. The \u003cspan pulumi-lang-nodejs=\"`scalingPolicyAction`\" pulumi-lang-dotnet=\"`ScalingPolicyAction`\" pulumi-lang-go=\"`scalingPolicyAction`\" pulumi-lang-python=\"`scaling_policy_action`\" pulumi-lang-yaml=\"`scalingPolicyAction`\" pulumi-lang-java=\"`scalingPolicyAction`\"\u003e`scaling_policy_action`\u003c/span\u003e\nstructure is documented below.\n"},"scalingPolicyName":{"type":"string","description":"The name of the AS policy. The name can contain letters,\ndigits, underscores(_), and hyphens(-),and cannot exceed 64 characters.\n"},"scalingPolicyType":{"type":"string","description":"The AS policy type. The values can be:\n* `ALARM` - Indicates that the scaling action is triggered by an alarm. A value is returned for\n\u003cspan pulumi-lang-nodejs=\"`alarmId`\" pulumi-lang-dotnet=\"`AlarmId`\" pulumi-lang-go=\"`alarmId`\" pulumi-lang-python=\"`alarm_id`\" pulumi-lang-yaml=\"`alarmId`\" pulumi-lang-java=\"`alarmId`\"\u003e`alarm_id`\u003c/span\u003e, and no value is returned for \u003cspan pulumi-lang-nodejs=\"`scheduledPolicy`\" pulumi-lang-dotnet=\"`ScheduledPolicy`\" pulumi-lang-go=\"`scheduledPolicy`\" pulumi-lang-python=\"`scheduled_policy`\" pulumi-lang-yaml=\"`scheduledPolicy`\" pulumi-lang-java=\"`scheduledPolicy`\"\u003e`scheduled_policy`\u003c/span\u003e.\n* `SCHEDULED` - Indicates that the scaling action is triggered as scheduled.\nA value is returned for \u003cspan pulumi-lang-nodejs=\"`scheduledPolicy`\" pulumi-lang-dotnet=\"`ScheduledPolicy`\" pulumi-lang-go=\"`scheduledPolicy`\" pulumi-lang-python=\"`scheduled_policy`\" pulumi-lang-yaml=\"`scheduledPolicy`\" pulumi-lang-java=\"`scheduledPolicy`\"\u003e`scheduled_policy`\u003c/span\u003e, and no value is returned for \u003cspan pulumi-lang-nodejs=\"`alarmId`\" pulumi-lang-dotnet=\"`AlarmId`\" pulumi-lang-go=\"`alarmId`\" pulumi-lang-python=\"`alarm_id`\" pulumi-lang-yaml=\"`alarmId`\" pulumi-lang-java=\"`alarmId`\"\u003e`alarm_id`\u003c/span\u003e,\n\u003cspan pulumi-lang-nodejs=\"`recurrenceType`\" pulumi-lang-dotnet=\"`RecurrenceType`\" pulumi-lang-go=\"`recurrenceType`\" pulumi-lang-python=\"`recurrence_type`\" pulumi-lang-yaml=\"`recurrenceType`\" pulumi-lang-java=\"`recurrenceType`\"\u003e`recurrence_type`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`recurrenceValue`\" pulumi-lang-dotnet=\"`RecurrenceValue`\" pulumi-lang-go=\"`recurrenceValue`\" pulumi-lang-python=\"`recurrence_value`\" pulumi-lang-yaml=\"`recurrenceValue`\" pulumi-lang-java=\"`recurrenceValue`\"\u003e`recurrence_value`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`startTime`\" pulumi-lang-dotnet=\"`StartTime`\" pulumi-lang-go=\"`startTime`\" pulumi-lang-python=\"`start_time`\" pulumi-lang-yaml=\"`startTime`\" pulumi-lang-java=\"`startTime`\"\u003e`start_time`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`endTime`\" pulumi-lang-dotnet=\"`EndTime`\" pulumi-lang-go=\"`endTime`\" pulumi-lang-python=\"`end_time`\" pulumi-lang-yaml=\"`endTime`\" pulumi-lang-java=\"`endTime`\"\u003e`end_time`\u003c/span\u003e.\n* `RECURRENCE` - Indicates that the scaling action is triggered periodically.\nValues are returned for \u003cspan pulumi-lang-nodejs=\"`scheduledPolicy`\" pulumi-lang-dotnet=\"`ScheduledPolicy`\" pulumi-lang-go=\"`scheduledPolicy`\" pulumi-lang-python=\"`scheduled_policy`\" pulumi-lang-yaml=\"`scheduledPolicy`\" pulumi-lang-java=\"`scheduledPolicy`\"\u003e`scheduled_policy`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`recurrenceType`\" pulumi-lang-dotnet=\"`RecurrenceType`\" pulumi-lang-go=\"`recurrenceType`\" pulumi-lang-python=\"`recurrence_type`\" pulumi-lang-yaml=\"`recurrenceType`\" pulumi-lang-java=\"`recurrenceType`\"\u003e`recurrence_type`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`recurrenceValue`\" pulumi-lang-dotnet=\"`RecurrenceValue`\" pulumi-lang-go=\"`recurrenceValue`\" pulumi-lang-python=\"`recurrence_value`\" pulumi-lang-yaml=\"`recurrenceValue`\" pulumi-lang-java=\"`recurrenceValue`\"\u003e`recurrence_value`\u003c/span\u003e,\n\u003cspan pulumi-lang-nodejs=\"`startTime`\" pulumi-lang-dotnet=\"`StartTime`\" pulumi-lang-go=\"`startTime`\" pulumi-lang-python=\"`start_time`\" pulumi-lang-yaml=\"`startTime`\" pulumi-lang-java=\"`startTime`\"\u003e`start_time`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`endTime`\" pulumi-lang-dotnet=\"`EndTime`\" pulumi-lang-go=\"`endTime`\" pulumi-lang-python=\"`end_time`\" pulumi-lang-yaml=\"`endTime`\" pulumi-lang-java=\"`endTime`\"\u003e`end_time`\u003c/span\u003e, and no value is returned for \u003cspan pulumi-lang-nodejs=\"`alarmId`\" pulumi-lang-dotnet=\"`AlarmId`\" pulumi-lang-go=\"`alarmId`\" pulumi-lang-python=\"`alarm_id`\" pulumi-lang-yaml=\"`alarmId`\" pulumi-lang-java=\"`alarmId`\"\u003e`alarm_id`\u003c/span\u003e.\n"},"scalingResourceId":{"type":"string","description":"The Scaling resource ID.\n"},"scalingResourceType":{"type":"string","description":"Specifies the scaling resource type. Valid values are:\n* AS group: `SCALING_GROUP`\n* Bandwidth: `BANDWIDTH`\n"},"scheduledPolicies":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FAsPolicyV2ScheduledPolicy:AsPolicyV2ScheduledPolicy"},"description":"Specifies the periodic or scheduled AS policy.\nThis parameter is mandatory when \u003cspan pulumi-lang-nodejs=\"`scalingPolicyType`\" pulumi-lang-dotnet=\"`ScalingPolicyType`\" pulumi-lang-go=\"`scalingPolicyType`\" pulumi-lang-python=\"`scaling_policy_type`\" pulumi-lang-yaml=\"`scalingPolicyType`\" pulumi-lang-java=\"`scalingPolicyType`\"\u003e`scaling_policy_type`\u003c/span\u003e is set to `SCHEDULED` or `RECURRENCE`.\nAfter this parameter is specified, the value of \u003cspan pulumi-lang-nodejs=\"`alarmId`\" pulumi-lang-dotnet=\"`AlarmId`\" pulumi-lang-go=\"`alarmId`\" pulumi-lang-python=\"`alarm_id`\" pulumi-lang-yaml=\"`alarmId`\" pulumi-lang-java=\"`alarmId`\"\u003e`alarm_id`\u003c/span\u003e does not take effect.\nThe \u003cspan pulumi-lang-nodejs=\"`scheduledPolicy`\" pulumi-lang-dotnet=\"`ScheduledPolicy`\" pulumi-lang-go=\"`scheduledPolicy`\" pulumi-lang-python=\"`scheduled_policy`\" pulumi-lang-yaml=\"`scheduledPolicy`\" pulumi-lang-java=\"`scheduledPolicy`\"\u003e`scheduled_policy`\u003c/span\u003e structure is documented below.\n"}},"type":"object"}},"opentelekomcloud:index/asmServiceMeshV1:AsmServiceMeshV1":{"description":"Up-to-date reference of API arguments for ASM service mesh you can get at\n[documentation portal](https://docs.otc.t-systems.com/application-service-mesh/api-ref/api/service_mesh_apis/index.html)\n\nManages an ASM Service Mesh v1 resource within OpenTelekomCloud.\n\n## Example Usage\n\n### Basic ASM service mesh\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst clusterId = config.requireObject\u003cany\u003e(\"clusterId\");\nconst nodeId = config.requireObject\u003cany\u003e(\"nodeId\");\nconst mesh1 = new opentelekomcloud.AsmServiceMeshV1(\"mesh_1\", {\n    name: \"test-asm-service-mesh\",\n    type: \"InCluster\",\n    version: \"1.18.7-r5\",\n    clusters: [{\n        clusterId: clusterId,\n        installationNodes: [nodeId],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ncluster_id = config.require_object(\"clusterId\")\nnode_id = config.require_object(\"nodeId\")\nmesh1 = opentelekomcloud.AsmServiceMeshV1(\"mesh_1\",\n    name=\"test-asm-service-mesh\",\n    type=\"InCluster\",\n    version=\"1.18.7-r5\",\n    clusters=[{\n        \"cluster_id\": cluster_id,\n        \"installation_nodes\": [node_id],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var clusterId = config.RequireObject\u003cdynamic\u003e(\"clusterId\");\n    var nodeId = config.RequireObject\u003cdynamic\u003e(\"nodeId\");\n    var mesh1 = new Opentelekomcloud.AsmServiceMeshV1(\"mesh_1\", new()\n    {\n        Name = \"test-asm-service-mesh\",\n        Type = \"InCluster\",\n        Version = \"1.18.7-r5\",\n        Clusters = new[]\n        {\n            new Opentelekomcloud.Inputs.AsmServiceMeshV1ClusterArgs\n            {\n                ClusterId = clusterId,\n                InstallationNodes = new[]\n                {\n                    nodeId,\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tclusterId := cfg.RequireObject(\"clusterId\")\n\t\tnodeId := cfg.RequireObject(\"nodeId\")\n\t\t_, err := opentelekomcloud.NewAsmServiceMeshV1(ctx, \"mesh_1\", \u0026opentelekomcloud.AsmServiceMeshV1Args{\n\t\t\tName:    pulumi.String(\"test-asm-service-mesh\"),\n\t\t\tType:    pulumi.String(\"InCluster\"),\n\t\t\tVersion: pulumi.String(\"1.18.7-r5\"),\n\t\t\tClusters: opentelekomcloud.AsmServiceMeshV1ClusterArray{\n\t\t\t\t\u0026opentelekomcloud.AsmServiceMeshV1ClusterArgs{\n\t\t\t\t\tClusterId: pulumi.Any(clusterId),\n\t\t\t\t\tInstallationNodes: pulumi.StringArray{\n\t\t\t\t\t\tnodeId,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.AsmServiceMeshV1;\nimport com.pulumi.opentelekomcloud.AsmServiceMeshV1Args;\nimport com.pulumi.opentelekomcloud.inputs.AsmServiceMeshV1ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var clusterId = config.get(\"clusterId\");\n        final var nodeId = config.get(\"nodeId\");\n        var mesh1 = new AsmServiceMeshV1(\"mesh1\", AsmServiceMeshV1Args.builder()\n            .name(\"test-asm-service-mesh\")\n            .type(\"InCluster\")\n            .version(\"1.18.7-r5\")\n            .clusters(AsmServiceMeshV1ClusterArgs.builder()\n                .clusterId(clusterId)\n                .installationNodes(nodeId)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  clusterId:\n    type: dynamic\n  nodeId:\n    type: dynamic\nresources:\n  mesh1:\n    type: opentelekomcloud:AsmServiceMeshV1\n    name: mesh_1\n    properties:\n      name: test-asm-service-mesh\n      type: InCluster\n      version: 1.18.7-r5\n      clusters:\n        - clusterId: ${clusterId}\n          installationNodes:\n            - ${nodeId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Notes\n\nBut due to some attributes missing from the API response, it's required to ignore changes as below:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst mesh1 = new opentelekomcloud.AsmServiceMeshV1(\"mesh_1\", {});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nmesh1 = opentelekomcloud.AsmServiceMeshV1(\"mesh_1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var mesh1 = new Opentelekomcloud.AsmServiceMeshV1(\"mesh_1\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewAsmServiceMeshV1(ctx, \"mesh_1\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.AsmServiceMeshV1;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var mesh1 = new AsmServiceMeshV1(\"mesh1\");\n\n    }\n}\n```\n```yaml\nresources:\n  mesh1:\n    type: opentelekomcloud:AsmServiceMeshV1\n    name: mesh_1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nASM Service Mesh V1 resource can be imported using the service mesh ID, `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/asmServiceMeshV1:AsmServiceMeshV1 mesh_1 \u003cid\u003e\n```\n\n","properties":{"asmServiceMeshV1Id":{"type":"string","description":"Service Mesh ID.\n"},"clusterIds":{"type":"array","items":{"type":"string"},"description":"Indicates the cluster id of CCE clusters associated with service mesh.\n"},"clusters":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FAsmServiceMeshV1Cluster:AsmServiceMeshV1Cluster"},"description":"Specifies the cluster information in the service mesh. The clusters structure is documented below.\n"},"creationTimestamp":{"type":"string","description":"Indicates the time when the service mesh was created..\n"},"ipv6Enable":{"type":"boolean","description":"Specifies whether the service mesh supports IPv6.\n"},"name":{"type":"string","description":"Specifies the service mesh name. The name must be 4 to 64 characters long, start with a lowercase letter and not end with a hyphen (-). Only lowercase letters, digits, and hyphens (-) are allowed.\n"},"proxyConfig":{"$ref":"#/types/opentelekomcloud:index%2FAsmServiceMeshV1ProxyConfig:AsmServiceMeshV1ProxyConfig","description":"Specifies the data plane configuration of the service mesh. The\u003cspan pulumi-lang-nodejs=\" proxyConfig \" pulumi-lang-dotnet=\" ProxyConfig \" pulumi-lang-go=\" proxyConfig \" pulumi-lang-python=\" proxy_config \" pulumi-lang-yaml=\" proxyConfig \" pulumi-lang-java=\" proxyConfig \"\u003e proxy_config \u003c/span\u003estructure is documented below.\n"},"status":{"type":"string","description":"Indicates the service mesh status. The value can be: `Running`, `Creating`, `CreateFailed`, `Deleting`, `DeleteFailed`, `Upgrading`, `UpgradeFailed`, `RollingBack`, `RollbackFailed`.\n"},"telemetryConfigTracing":{"$ref":"#/types/opentelekomcloud:index%2FAsmServiceMeshV1TelemetryConfigTracing:AsmServiceMeshV1TelemetryConfigTracing","description":"Specifies the observability/tracing configuration, which is used to report traces in the service mesh. The\u003cspan pulumi-lang-nodejs=\" telemetryConfigTracing \" pulumi-lang-dotnet=\" TelemetryConfigTracing \" pulumi-lang-go=\" telemetryConfigTracing \" pulumi-lang-python=\" telemetry_config_tracing \" pulumi-lang-yaml=\" telemetryConfigTracing \" pulumi-lang-java=\" telemetryConfigTracing \"\u003e telemetry_config_tracing \u003c/span\u003estructure is documented below.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FAsmServiceMeshV1Timeouts:AsmServiceMeshV1Timeouts"},"type":{"type":"string","description":"Specifies the service mesh type. Supported value: `InCluster` (service mesh with an in-cluster control plane). The value is `InCluster` for the service mesh of the Basic edition.\n"},"version":{"type":"string","description":"Specifies the service mesh version.\n"}},"type":"object","required":["asmServiceMeshV1Id","clusterIds","clusters","creationTimestamp","ipv6Enable","name","status","type","version"],"inputProperties":{"asmServiceMeshV1Id":{"type":"string","description":"Service Mesh ID.\n"},"clusters":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FAsmServiceMeshV1Cluster:AsmServiceMeshV1Cluster"},"description":"Specifies the cluster information in the service mesh. The clusters structure is documented below.\n"},"ipv6Enable":{"type":"boolean","description":"Specifies whether the service mesh supports IPv6.\n"},"name":{"type":"string","description":"Specifies the service mesh name. The name must be 4 to 64 characters long, start with a lowercase letter and not end with a hyphen (-). Only lowercase letters, digits, and hyphens (-) are allowed.\n"},"proxyConfig":{"$ref":"#/types/opentelekomcloud:index%2FAsmServiceMeshV1ProxyConfig:AsmServiceMeshV1ProxyConfig","description":"Specifies the data plane configuration of the service mesh. The\u003cspan pulumi-lang-nodejs=\" proxyConfig \" pulumi-lang-dotnet=\" ProxyConfig \" pulumi-lang-go=\" proxyConfig \" pulumi-lang-python=\" proxy_config \" pulumi-lang-yaml=\" proxyConfig \" pulumi-lang-java=\" proxyConfig \"\u003e proxy_config \u003c/span\u003estructure is documented below.\n"},"telemetryConfigTracing":{"$ref":"#/types/opentelekomcloud:index%2FAsmServiceMeshV1TelemetryConfigTracing:AsmServiceMeshV1TelemetryConfigTracing","description":"Specifies the observability/tracing configuration, which is used to report traces in the service mesh. The\u003cspan pulumi-lang-nodejs=\" telemetryConfigTracing \" pulumi-lang-dotnet=\" TelemetryConfigTracing \" pulumi-lang-go=\" telemetryConfigTracing \" pulumi-lang-python=\" telemetry_config_tracing \" pulumi-lang-yaml=\" telemetryConfigTracing \" pulumi-lang-java=\" telemetryConfigTracing \"\u003e telemetry_config_tracing \u003c/span\u003estructure is documented below.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FAsmServiceMeshV1Timeouts:AsmServiceMeshV1Timeouts"},"type":{"type":"string","description":"Specifies the service mesh type. Supported value: `InCluster` (service mesh with an in-cluster control plane). The value is `InCluster` for the service mesh of the Basic edition.\n"},"version":{"type":"string","description":"Specifies the service mesh version.\n"}},"requiredInputs":["clusters","type","version"],"stateInputs":{"description":"Input properties used for looking up and filtering AsmServiceMeshV1 resources.\n","properties":{"asmServiceMeshV1Id":{"type":"string","description":"Service Mesh ID.\n"},"clusterIds":{"type":"array","items":{"type":"string"},"description":"Indicates the cluster id of CCE clusters associated with service mesh.\n"},"clusters":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FAsmServiceMeshV1Cluster:AsmServiceMeshV1Cluster"},"description":"Specifies the cluster information in the service mesh. The clusters structure is documented below.\n"},"creationTimestamp":{"type":"string","description":"Indicates the time when the service mesh was created..\n"},"ipv6Enable":{"type":"boolean","description":"Specifies whether the service mesh supports IPv6.\n"},"name":{"type":"string","description":"Specifies the service mesh name. The name must be 4 to 64 characters long, start with a lowercase letter and not end with a hyphen (-). Only lowercase letters, digits, and hyphens (-) are allowed.\n"},"proxyConfig":{"$ref":"#/types/opentelekomcloud:index%2FAsmServiceMeshV1ProxyConfig:AsmServiceMeshV1ProxyConfig","description":"Specifies the data plane configuration of the service mesh. The\u003cspan pulumi-lang-nodejs=\" proxyConfig \" pulumi-lang-dotnet=\" ProxyConfig \" pulumi-lang-go=\" proxyConfig \" pulumi-lang-python=\" proxy_config \" pulumi-lang-yaml=\" proxyConfig \" pulumi-lang-java=\" proxyConfig \"\u003e proxy_config \u003c/span\u003estructure is documented below.\n"},"status":{"type":"string","description":"Indicates the service mesh status. The value can be: `Running`, `Creating`, `CreateFailed`, `Deleting`, `DeleteFailed`, `Upgrading`, `UpgradeFailed`, `RollingBack`, `RollbackFailed`.\n"},"telemetryConfigTracing":{"$ref":"#/types/opentelekomcloud:index%2FAsmServiceMeshV1TelemetryConfigTracing:AsmServiceMeshV1TelemetryConfigTracing","description":"Specifies the observability/tracing configuration, which is used to report traces in the service mesh. The\u003cspan pulumi-lang-nodejs=\" telemetryConfigTracing \" pulumi-lang-dotnet=\" TelemetryConfigTracing \" pulumi-lang-go=\" telemetryConfigTracing \" pulumi-lang-python=\" telemetry_config_tracing \" pulumi-lang-yaml=\" telemetryConfigTracing \" pulumi-lang-java=\" telemetryConfigTracing \"\u003e telemetry_config_tracing \u003c/span\u003estructure is documented below.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FAsmServiceMeshV1Timeouts:AsmServiceMeshV1Timeouts"},"type":{"type":"string","description":"Specifies the service mesh type. Supported value: `InCluster` (service mesh with an in-cluster control plane). The value is `InCluster` for the service mesh of the Basic edition.\n"},"version":{"type":"string","description":"Specifies the service mesh version.\n"}},"type":"object"}},"opentelekomcloud:index/blockstorageVolumeV2:BlockstorageVolumeV2":{"description":"Up-to-date reference of API arguments for EVS blockstorage volume you can get at\n[documentation portal](https://docs.otc.t-systems.com/elastic-volume-service/api-ref/openstack_cinder_apis_recommended/disk_management/index.html)\n\nManages a V2 volume resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst volume1 = new opentelekomcloud.BlockstorageVolumeV2(\"volume_1\", {\n    name: \"volume_1\",\n    description: \"first test volume\",\n    size: 3,\n    tags: {\n        foo: \"bar\",\n        key: \"value\",\n    },\n    metadata: {\n        __system__encrypted: \"1\",\n        __system__cmkid: \"kms_id\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nvolume1 = opentelekomcloud.BlockstorageVolumeV2(\"volume_1\",\n    name=\"volume_1\",\n    description=\"first test volume\",\n    size=3,\n    tags={\n        \"foo\": \"bar\",\n        \"key\": \"value\",\n    },\n    metadata={\n        \"__system__encrypted\": \"1\",\n        \"__system__cmkid\": \"kms_id\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var volume1 = new Opentelekomcloud.BlockstorageVolumeV2(\"volume_1\", new()\n    {\n        Name = \"volume_1\",\n        Description = \"first test volume\",\n        Size = 3,\n        Tags = \n        {\n            { \"foo\", \"bar\" },\n            { \"key\", \"value\" },\n        },\n        Metadata = \n        {\n            { \"__system__encrypted\", \"1\" },\n            { \"__system__cmkid\", \"kms_id\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewBlockstorageVolumeV2(ctx, \"volume_1\", \u0026opentelekomcloud.BlockstorageVolumeV2Args{\n\t\t\tName:        pulumi.String(\"volume_1\"),\n\t\t\tDescription: pulumi.String(\"first test volume\"),\n\t\t\tSize:        pulumi.Float64(3),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t\t\"key\": pulumi.String(\"value\"),\n\t\t\t},\n\t\t\tMetadata: pulumi.StringMap{\n\t\t\t\t\"__system__encrypted\": pulumi.String(\"1\"),\n\t\t\t\t\"__system__cmkid\":     pulumi.String(\"kms_id\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.BlockstorageVolumeV2;\nimport com.pulumi.opentelekomcloud.BlockstorageVolumeV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var volume1 = new BlockstorageVolumeV2(\"volume1\", BlockstorageVolumeV2Args.builder()\n            .name(\"volume_1\")\n            .description(\"first test volume\")\n            .size(3.0)\n            .tags(Map.ofEntries(\n                Map.entry(\"foo\", \"bar\"),\n                Map.entry(\"key\", \"value\")\n            ))\n            .metadata(Map.ofEntries(\n                Map.entry(\"__system__encrypted\", \"1\"),\n                Map.entry(\"__system__cmkid\", \"kms_id\")\n            ))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  volume1:\n    type: opentelekomcloud:BlockstorageVolumeV2\n    name: volume_1\n    properties:\n      name: volume_1\n      description: first test volume\n      size: 3\n      tags:\n        foo: bar\n        key: value\n      metadata:\n        __system__encrypted: '1'\n        __system__cmkid: kms_id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVolumes can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/blockstorageVolumeV2:BlockstorageVolumeV2 volume_1 ea257959-eeb1-4c10-8d33-26f0409a755d\n```\n\n","properties":{"attachments":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FBlockstorageVolumeV2Attachment:BlockstorageVolumeV2Attachment"},"description":"If a volume is attached to an instance, this attribute will\ndisplay the Attachment ID, Instance ID, and the Device as the Instance sees it.\n"},"availabilityZone":{"type":"string","description":"The availability zone for the volume.\nChanging this creates a new volume.\n"},"blockstorageVolumeV2Id":{"type":"string"},"cascade":{"type":"boolean","description":"Specifies to delete all snapshots associated with the EVS disk.\n"},"consistencyGroupId":{"type":"string","description":"The consistency group to place the volume in.\n"},"description":{"type":"string","description":"A description of the volume. Changing this updates\nthe volume's description.\n"},"deviceType":{"type":"string","description":"The device type of volume to create. Valid options are VBD and SCSI.\nDefaults to VBD. Changing this creates a new volume.\n"},"imageId":{"type":"string","description":"The image ID from which to create the volume.\nChanging this creates a new volume.\n"},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"Metadata key/value pairs to associate with the volume.\nChanging this updates the existing volume metadata.\nThe EVS encryption capability with KMS key can be set with the following parameters:\n"},"name":{"type":"string","description":"A unique name for the volume. Changing this updates the\nvolume's name.\n"},"region":{"type":"string"},"size":{"type":"number","description":"The size of the volume to create (in gigabytes). Decreasing\nthis parameter creates a new volume.\n"},"snapshotId":{"type":"string","description":"The snapshot ID from which to create the volume.\nChanging this creates a new volume.\n"},"sourceReplica":{"type":"string","description":"The volume ID to replicate with.\n"},"sourceVolId":{"type":"string","description":"The volume ID from which to create the volume.\nChanging this creates a new volume.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags key/value pairs to associate with the volume.\nChanging this updates the existing volume tags.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FBlockstorageVolumeV2Timeouts:BlockstorageVolumeV2Timeouts"},"volumeType":{"type":"string","description":"Currently, the value can be \n* `SATA`: common I/O disk type.\n* `SAS`: high I/O disk type.\n* `SSD`: ultra-high I/O disk type.\n* `GPSSD`: the general purpose SSD type\n* `ESSD`: the extreme SSD type\n\n\u003e **NOTE:**\nCommon I/O (SATA) will reach end of life, end of 2025.\n"},"wwn":{"type":"string","description":"Specifies the unique identifier used for mounting the EVS disk.\n"}},"type":"object","required":["attachments","availabilityZone","blockstorageVolumeV2Id","metadata","name","region","size","volumeType","wwn"],"inputProperties":{"availabilityZone":{"type":"string","description":"The availability zone for the volume.\nChanging this creates a new volume.\n"},"blockstorageVolumeV2Id":{"type":"string"},"cascade":{"type":"boolean","description":"Specifies to delete all snapshots associated with the EVS disk.\n"},"consistencyGroupId":{"type":"string","description":"The consistency group to place the volume in.\n"},"description":{"type":"string","description":"A description of the volume. Changing this updates\nthe volume's description.\n"},"deviceType":{"type":"string","description":"The device type of volume to create. Valid options are VBD and SCSI.\nDefaults to VBD. Changing this creates a new volume.\n"},"imageId":{"type":"string","description":"The image ID from which to create the volume.\nChanging this creates a new volume.\n"},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"Metadata key/value pairs to associate with the volume.\nChanging this updates the existing volume metadata.\nThe EVS encryption capability with KMS key can be set with the following parameters:\n"},"name":{"type":"string","description":"A unique name for the volume. Changing this updates the\nvolume's name.\n"},"region":{"type":"string"},"size":{"type":"number","description":"The size of the volume to create (in gigabytes). Decreasing\nthis parameter creates a new volume.\n"},"snapshotId":{"type":"string","description":"The snapshot ID from which to create the volume.\nChanging this creates a new volume.\n"},"sourceReplica":{"type":"string","description":"The volume ID to replicate with.\n"},"sourceVolId":{"type":"string","description":"The volume ID from which to create the volume.\nChanging this creates a new volume.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags key/value pairs to associate with the volume.\nChanging this updates the existing volume tags.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FBlockstorageVolumeV2Timeouts:BlockstorageVolumeV2Timeouts"},"volumeType":{"type":"string","description":"Currently, the value can be \n* `SATA`: common I/O disk type.\n* `SAS`: high I/O disk type.\n* `SSD`: ultra-high I/O disk type.\n* `GPSSD`: the general purpose SSD type\n* `ESSD`: the extreme SSD type\n\n\u003e **NOTE:**\nCommon I/O (SATA) will reach end of life, end of 2025.\n"}},"requiredInputs":["size"],"stateInputs":{"description":"Input properties used for looking up and filtering BlockstorageVolumeV2 resources.\n","properties":{"attachments":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FBlockstorageVolumeV2Attachment:BlockstorageVolumeV2Attachment"},"description":"If a volume is attached to an instance, this attribute will\ndisplay the Attachment ID, Instance ID, and the Device as the Instance sees it.\n"},"availabilityZone":{"type":"string","description":"The availability zone for the volume.\nChanging this creates a new volume.\n"},"blockstorageVolumeV2Id":{"type":"string"},"cascade":{"type":"boolean","description":"Specifies to delete all snapshots associated with the EVS disk.\n"},"consistencyGroupId":{"type":"string","description":"The consistency group to place the volume in.\n"},"description":{"type":"string","description":"A description of the volume. Changing this updates\nthe volume's description.\n"},"deviceType":{"type":"string","description":"The device type of volume to create. Valid options are VBD and SCSI.\nDefaults to VBD. Changing this creates a new volume.\n"},"imageId":{"type":"string","description":"The image ID from which to create the volume.\nChanging this creates a new volume.\n"},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"Metadata key/value pairs to associate with the volume.\nChanging this updates the existing volume metadata.\nThe EVS encryption capability with KMS key can be set with the following parameters:\n"},"name":{"type":"string","description":"A unique name for the volume. Changing this updates the\nvolume's name.\n"},"region":{"type":"string"},"size":{"type":"number","description":"The size of the volume to create (in gigabytes). Decreasing\nthis parameter creates a new volume.\n"},"snapshotId":{"type":"string","description":"The snapshot ID from which to create the volume.\nChanging this creates a new volume.\n"},"sourceReplica":{"type":"string","description":"The volume ID to replicate with.\n"},"sourceVolId":{"type":"string","description":"The volume ID from which to create the volume.\nChanging this creates a new volume.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags key/value pairs to associate with the volume.\nChanging this updates the existing volume tags.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FBlockstorageVolumeV2Timeouts:BlockstorageVolumeV2Timeouts"},"volumeType":{"type":"string","description":"Currently, the value can be \n* `SATA`: common I/O disk type.\n* `SAS`: high I/O disk type.\n* `SSD`: ultra-high I/O disk type.\n* `GPSSD`: the general purpose SSD type\n* `ESSD`: the extreme SSD type\n\n\u003e **NOTE:**\nCommon I/O (SATA) will reach end of life, end of 2025.\n"},"wwn":{"type":"string","description":"Specifies the unique identifier used for mounting the EVS disk.\n"}},"type":"object"}},"opentelekomcloud:index/cbrPolicyV3:CbrPolicyV3":{"description":"Up-to-date reference of API arguments for CBR policy you can get at\n[documentation portal](https://docs.otc.t-systems.com/cloud-backup-recovery/api-ref/cbr_apis/policies)\n\nManages a V3 CBR policy resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst policy = new opentelekomcloud.CbrPolicyV3(\"policy\", {\n    name: \"some-policy\",\n    operationType: \"backup\",\n    triggerPatterns: [\"FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR,SA,SU;BYHOUR=14;BYMINUTE=00\"],\n    operationDefinition: {\n        dayBackups: 1,\n        weekBackups: 2,\n        yearBackups: 3,\n        monthBackups: 4,\n        maxBackups: 10,\n        timezone: \"UTC+03:00\",\n    },\n    enabled: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\npolicy = opentelekomcloud.CbrPolicyV3(\"policy\",\n    name=\"some-policy\",\n    operation_type=\"backup\",\n    trigger_patterns=[\"FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR,SA,SU;BYHOUR=14;BYMINUTE=00\"],\n    operation_definition={\n        \"day_backups\": 1,\n        \"week_backups\": 2,\n        \"year_backups\": 3,\n        \"month_backups\": 4,\n        \"max_backups\": 10,\n        \"timezone\": \"UTC+03:00\",\n    },\n    enabled=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var policy = new Opentelekomcloud.CbrPolicyV3(\"policy\", new()\n    {\n        Name = \"some-policy\",\n        OperationType = \"backup\",\n        TriggerPatterns = new[]\n        {\n            \"FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR,SA,SU;BYHOUR=14;BYMINUTE=00\",\n        },\n        OperationDefinition = new Opentelekomcloud.Inputs.CbrPolicyV3OperationDefinitionArgs\n        {\n            DayBackups = 1,\n            WeekBackups = 2,\n            YearBackups = 3,\n            MonthBackups = 4,\n            MaxBackups = 10,\n            Timezone = \"UTC+03:00\",\n        },\n        Enabled = false,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewCbrPolicyV3(ctx, \"policy\", \u0026opentelekomcloud.CbrPolicyV3Args{\n\t\t\tName:          pulumi.String(\"some-policy\"),\n\t\t\tOperationType: pulumi.String(\"backup\"),\n\t\t\tTriggerPatterns: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR,SA,SU;BYHOUR=14;BYMINUTE=00\"),\n\t\t\t},\n\t\t\tOperationDefinition: \u0026opentelekomcloud.CbrPolicyV3OperationDefinitionArgs{\n\t\t\t\tDayBackups:   pulumi.Float64(1),\n\t\t\t\tWeekBackups:  pulumi.Float64(2),\n\t\t\t\tYearBackups:  pulumi.Float64(3),\n\t\t\t\tMonthBackups: pulumi.Float64(4),\n\t\t\t\tMaxBackups:   pulumi.Float64(10),\n\t\t\t\tTimezone:     pulumi.String(\"UTC+03:00\"),\n\t\t\t},\n\t\t\tEnabled: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.CbrPolicyV3;\nimport com.pulumi.opentelekomcloud.CbrPolicyV3Args;\nimport com.pulumi.opentelekomcloud.inputs.CbrPolicyV3OperationDefinitionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var policy = new CbrPolicyV3(\"policy\", CbrPolicyV3Args.builder()\n            .name(\"some-policy\")\n            .operationType(\"backup\")\n            .triggerPatterns(\"FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR,SA,SU;BYHOUR=14;BYMINUTE=00\")\n            .operationDefinition(CbrPolicyV3OperationDefinitionArgs.builder()\n                .dayBackups(1.0)\n                .weekBackups(2.0)\n                .yearBackups(3.0)\n                .monthBackups(4.0)\n                .maxBackups(10.0)\n                .timezone(\"UTC+03:00\")\n                .build())\n            .enabled(false)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  policy:\n    type: opentelekomcloud:CbrPolicyV3\n    properties:\n      name: some-policy\n      operationType: backup\n      triggerPatterns:\n        - FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR,SA,SU;BYHOUR=14;BYMINUTE=00\n      operationDefinition:\n        dayBackups: 1\n        weekBackups: 2\n        yearBackups: 3\n        monthBackups: 4\n        maxBackups: 10\n        timezone: UTC+03:00\n      enabled: 'false'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a replication policy (periodic backup)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst policyName = config.requireObject\u003cany\u003e(\"policyName\");\nconst destinationRegion = config.requireObject\u003cany\u003e(\"destinationRegion\");\nconst destinationProjectId = config.requireObject\u003cany\u003e(\"destinationProjectId\");\nconst policy = new opentelekomcloud.CbrPolicyV3(\"policy\", {\n    name: policyName,\n    operationType: \"replication\",\n    destinationRegion: destinationRegion,\n    destinationProjectId: destinationProjectId,\n    triggerPatterns: [\"FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR,SA,SU;BYHOUR=14;BYMINUTE=00\"],\n    operationDefinition: {\n        dayBackups: 1,\n        weekBackups: 2,\n        yearBackups: 3,\n        monthBackups: 4,\n        maxBackups: 10,\n        timezone: \"UTC+03:00\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\npolicy_name = config.require_object(\"policyName\")\ndestination_region = config.require_object(\"destinationRegion\")\ndestination_project_id = config.require_object(\"destinationProjectId\")\npolicy = opentelekomcloud.CbrPolicyV3(\"policy\",\n    name=policy_name,\n    operation_type=\"replication\",\n    destination_region=destination_region,\n    destination_project_id=destination_project_id,\n    trigger_patterns=[\"FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR,SA,SU;BYHOUR=14;BYMINUTE=00\"],\n    operation_definition={\n        \"day_backups\": 1,\n        \"week_backups\": 2,\n        \"year_backups\": 3,\n        \"month_backups\": 4,\n        \"max_backups\": 10,\n        \"timezone\": \"UTC+03:00\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var policyName = config.RequireObject\u003cdynamic\u003e(\"policyName\");\n    var destinationRegion = config.RequireObject\u003cdynamic\u003e(\"destinationRegion\");\n    var destinationProjectId = config.RequireObject\u003cdynamic\u003e(\"destinationProjectId\");\n    var policy = new Opentelekomcloud.CbrPolicyV3(\"policy\", new()\n    {\n        Name = policyName,\n        OperationType = \"replication\",\n        DestinationRegion = destinationRegion,\n        DestinationProjectId = destinationProjectId,\n        TriggerPatterns = new[]\n        {\n            \"FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR,SA,SU;BYHOUR=14;BYMINUTE=00\",\n        },\n        OperationDefinition = new Opentelekomcloud.Inputs.CbrPolicyV3OperationDefinitionArgs\n        {\n            DayBackups = 1,\n            WeekBackups = 2,\n            YearBackups = 3,\n            MonthBackups = 4,\n            MaxBackups = 10,\n            Timezone = \"UTC+03:00\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tpolicyName := cfg.RequireObject(\"policyName\")\n\t\tdestinationRegion := cfg.RequireObject(\"destinationRegion\")\n\t\tdestinationProjectId := cfg.RequireObject(\"destinationProjectId\")\n\t\t_, err := opentelekomcloud.NewCbrPolicyV3(ctx, \"policy\", \u0026opentelekomcloud.CbrPolicyV3Args{\n\t\t\tName:                 pulumi.Any(policyName),\n\t\t\tOperationType:        pulumi.String(\"replication\"),\n\t\t\tDestinationRegion:    pulumi.Any(destinationRegion),\n\t\t\tDestinationProjectId: pulumi.Any(destinationProjectId),\n\t\t\tTriggerPatterns: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR,SA,SU;BYHOUR=14;BYMINUTE=00\"),\n\t\t\t},\n\t\t\tOperationDefinition: \u0026opentelekomcloud.CbrPolicyV3OperationDefinitionArgs{\n\t\t\t\tDayBackups:   pulumi.Float64(1),\n\t\t\t\tWeekBackups:  pulumi.Float64(2),\n\t\t\t\tYearBackups:  pulumi.Float64(3),\n\t\t\t\tMonthBackups: pulumi.Float64(4),\n\t\t\t\tMaxBackups:   pulumi.Float64(10),\n\t\t\t\tTimezone:     pulumi.String(\"UTC+03:00\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.CbrPolicyV3;\nimport com.pulumi.opentelekomcloud.CbrPolicyV3Args;\nimport com.pulumi.opentelekomcloud.inputs.CbrPolicyV3OperationDefinitionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var policyName = config.get(\"policyName\");\n        final var destinationRegion = config.get(\"destinationRegion\");\n        final var destinationProjectId = config.get(\"destinationProjectId\");\n        var policy = new CbrPolicyV3(\"policy\", CbrPolicyV3Args.builder()\n            .name(policyName)\n            .operationType(\"replication\")\n            .destinationRegion(destinationRegion)\n            .destinationProjectId(destinationProjectId)\n            .triggerPatterns(\"FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR,SA,SU;BYHOUR=14;BYMINUTE=00\")\n            .operationDefinition(CbrPolicyV3OperationDefinitionArgs.builder()\n                .dayBackups(1.0)\n                .weekBackups(2.0)\n                .yearBackups(3.0)\n                .monthBackups(4.0)\n                .maxBackups(10.0)\n                .timezone(\"UTC+03:00\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  policyName:\n    type: dynamic\n  destinationRegion:\n    type: dynamic\n  destinationProjectId:\n    type: dynamic\nresources:\n  policy:\n    type: opentelekomcloud:CbrPolicyV3\n    properties:\n      name: ${policyName}\n      operationType: replication\n      destinationRegion: ${destinationRegion}\n      destinationProjectId: ${destinationProjectId}\n      triggerPatterns:\n        - FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR,SA,SU;BYHOUR=14;BYMINUTE=00\n      operationDefinition:\n        dayBackups: 1\n        weekBackups: 2\n        yearBackups: 3\n        monthBackups: 4\n        maxBackups: 10\n        timezone: UTC+03:00\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVolumes can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/cbrPolicyV3:CbrPolicyV3 policy ea257959-eeb1-4c10-8d33-26f0409a766a\n```\n\n","properties":{"cbrPolicyV3Id":{"type":"string"},"destinationProjectId":{"type":"string","description":"Specifies the ID of the replication destination project, which is\nmandatory for cross-region replication. Required if \u003cspan pulumi-lang-nodejs=\"`operationType`\" pulumi-lang-dotnet=\"`OperationType`\" pulumi-lang-go=\"`operationType`\" pulumi-lang-python=\"`operation_type`\" pulumi-lang-yaml=\"`operationType`\" pulumi-lang-java=\"`operationType`\"\u003e`operation_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`replication`\" pulumi-lang-dotnet=\"`Replication`\" pulumi-lang-go=\"`replication`\" pulumi-lang-python=\"`replication`\" pulumi-lang-yaml=\"`replication`\" pulumi-lang-java=\"`replication`\"\u003e`replication`\u003c/span\u003e.\n"},"destinationRegion":{"type":"string","description":"Specifies the name of the replication destination region, which is mandatory\nfor cross-region replication. Required if \u003cspan pulumi-lang-nodejs=\"`operationType`\" pulumi-lang-dotnet=\"`OperationType`\" pulumi-lang-go=\"`operationType`\" pulumi-lang-python=\"`operation_type`\" pulumi-lang-yaml=\"`operationType`\" pulumi-lang-java=\"`operationType`\"\u003e`operation_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`replication`\" pulumi-lang-dotnet=\"`Replication`\" pulumi-lang-go=\"`replication`\" pulumi-lang-python=\"`replication`\" pulumi-lang-yaml=\"`replication`\" pulumi-lang-java=\"`replication`\"\u003e`replication`\u003c/span\u003e.\n"},"enabled":{"type":"boolean","description":"Whether to enable the policy. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the policy name. The value consists of 1 to 64 characters\nand can contain only letters, digits, underscores (_), and hyphens (-).\n"},"operationDefinition":{"$ref":"#/types/opentelekomcloud:index%2FCbrPolicyV3OperationDefinition:CbrPolicyV3OperationDefinition","description":"Scheduling parameter. See reference below.\n"},"operationType":{"type":"string","description":"Policy type. Enumeration values: \u003cspan pulumi-lang-nodejs=\"`backup`\" pulumi-lang-dotnet=\"`Backup`\" pulumi-lang-go=\"`backup`\" pulumi-lang-python=\"`backup`\" pulumi-lang-yaml=\"`backup`\" pulumi-lang-java=\"`backup`\"\u003e`backup`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`replication`\" pulumi-lang-dotnet=\"`Replication`\" pulumi-lang-go=\"`replication`\" pulumi-lang-python=\"`replication`\" pulumi-lang-yaml=\"`replication`\" pulumi-lang-java=\"`replication`\"\u003e`replication`\u003c/span\u003e.\n"},"region":{"type":"string","description":"Specifies the region of the CBRv3 policy.\n"},"triggerPatterns":{"type":"array","items":{"type":"string"},"description":"Scheduling rule. In the replication policy, you are advised\nto set one time point for one day. A maximum of 24 rules can be configured. The scheduling\nrule complies with iCalendar RFC 2445, but it supports only parameters `FREQ`, `BYDAY`, `BYHOUR`,\n`BYMINUTE`, and `INTERVAL`. `FREQ` can be set only to `WEEKLY` and `DAILY`.\n\nThe \u003cspan pulumi-lang-nodejs=\"`operationDefinition`\" pulumi-lang-dotnet=\"`OperationDefinition`\" pulumi-lang-go=\"`operationDefinition`\" pulumi-lang-python=\"`operation_definition`\" pulumi-lang-yaml=\"`operationDefinition`\" pulumi-lang-java=\"`operationDefinition`\"\u003e`operation_definition`\u003c/span\u003e block contains:\n"}},"type":"object","required":["cbrPolicyV3Id","name","operationType","region","triggerPatterns"],"inputProperties":{"cbrPolicyV3Id":{"type":"string"},"destinationProjectId":{"type":"string","description":"Specifies the ID of the replication destination project, which is\nmandatory for cross-region replication. Required if \u003cspan pulumi-lang-nodejs=\"`operationType`\" pulumi-lang-dotnet=\"`OperationType`\" pulumi-lang-go=\"`operationType`\" pulumi-lang-python=\"`operation_type`\" pulumi-lang-yaml=\"`operationType`\" pulumi-lang-java=\"`operationType`\"\u003e`operation_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`replication`\" pulumi-lang-dotnet=\"`Replication`\" pulumi-lang-go=\"`replication`\" pulumi-lang-python=\"`replication`\" pulumi-lang-yaml=\"`replication`\" pulumi-lang-java=\"`replication`\"\u003e`replication`\u003c/span\u003e.\n"},"destinationRegion":{"type":"string","description":"Specifies the name of the replication destination region, which is mandatory\nfor cross-region replication. Required if \u003cspan pulumi-lang-nodejs=\"`operationType`\" pulumi-lang-dotnet=\"`OperationType`\" pulumi-lang-go=\"`operationType`\" pulumi-lang-python=\"`operation_type`\" pulumi-lang-yaml=\"`operationType`\" pulumi-lang-java=\"`operationType`\"\u003e`operation_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`replication`\" pulumi-lang-dotnet=\"`Replication`\" pulumi-lang-go=\"`replication`\" pulumi-lang-python=\"`replication`\" pulumi-lang-yaml=\"`replication`\" pulumi-lang-java=\"`replication`\"\u003e`replication`\u003c/span\u003e.\n"},"enabled":{"type":"boolean","description":"Whether to enable the policy. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the policy name. The value consists of 1 to 64 characters\nand can contain only letters, digits, underscores (_), and hyphens (-).\n"},"operationDefinition":{"$ref":"#/types/opentelekomcloud:index%2FCbrPolicyV3OperationDefinition:CbrPolicyV3OperationDefinition","description":"Scheduling parameter. See reference below.\n"},"operationType":{"type":"string","description":"Policy type. Enumeration values: \u003cspan pulumi-lang-nodejs=\"`backup`\" pulumi-lang-dotnet=\"`Backup`\" pulumi-lang-go=\"`backup`\" pulumi-lang-python=\"`backup`\" pulumi-lang-yaml=\"`backup`\" pulumi-lang-java=\"`backup`\"\u003e`backup`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`replication`\" pulumi-lang-dotnet=\"`Replication`\" pulumi-lang-go=\"`replication`\" pulumi-lang-python=\"`replication`\" pulumi-lang-yaml=\"`replication`\" pulumi-lang-java=\"`replication`\"\u003e`replication`\u003c/span\u003e.\n"},"triggerPatterns":{"type":"array","items":{"type":"string"},"description":"Scheduling rule. In the replication policy, you are advised\nto set one time point for one day. A maximum of 24 rules can be configured. The scheduling\nrule complies with iCalendar RFC 2445, but it supports only parameters `FREQ`, `BYDAY`, `BYHOUR`,\n`BYMINUTE`, and `INTERVAL`. `FREQ` can be set only to `WEEKLY` and `DAILY`.\n\nThe \u003cspan pulumi-lang-nodejs=\"`operationDefinition`\" pulumi-lang-dotnet=\"`OperationDefinition`\" pulumi-lang-go=\"`operationDefinition`\" pulumi-lang-python=\"`operation_definition`\" pulumi-lang-yaml=\"`operationDefinition`\" pulumi-lang-java=\"`operationDefinition`\"\u003e`operation_definition`\u003c/span\u003e block contains:\n"}},"requiredInputs":["operationType","triggerPatterns"],"stateInputs":{"description":"Input properties used for looking up and filtering CbrPolicyV3 resources.\n","properties":{"cbrPolicyV3Id":{"type":"string"},"destinationProjectId":{"type":"string","description":"Specifies the ID of the replication destination project, which is\nmandatory for cross-region replication. Required if \u003cspan pulumi-lang-nodejs=\"`operationType`\" pulumi-lang-dotnet=\"`OperationType`\" pulumi-lang-go=\"`operationType`\" pulumi-lang-python=\"`operation_type`\" pulumi-lang-yaml=\"`operationType`\" pulumi-lang-java=\"`operationType`\"\u003e`operation_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`replication`\" pulumi-lang-dotnet=\"`Replication`\" pulumi-lang-go=\"`replication`\" pulumi-lang-python=\"`replication`\" pulumi-lang-yaml=\"`replication`\" pulumi-lang-java=\"`replication`\"\u003e`replication`\u003c/span\u003e.\n"},"destinationRegion":{"type":"string","description":"Specifies the name of the replication destination region, which is mandatory\nfor cross-region replication. Required if \u003cspan pulumi-lang-nodejs=\"`operationType`\" pulumi-lang-dotnet=\"`OperationType`\" pulumi-lang-go=\"`operationType`\" pulumi-lang-python=\"`operation_type`\" pulumi-lang-yaml=\"`operationType`\" pulumi-lang-java=\"`operationType`\"\u003e`operation_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`replication`\" pulumi-lang-dotnet=\"`Replication`\" pulumi-lang-go=\"`replication`\" pulumi-lang-python=\"`replication`\" pulumi-lang-yaml=\"`replication`\" pulumi-lang-java=\"`replication`\"\u003e`replication`\u003c/span\u003e.\n"},"enabled":{"type":"boolean","description":"Whether to enable the policy. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Specifies the policy name. The value consists of 1 to 64 characters\nand can contain only letters, digits, underscores (_), and hyphens (-).\n"},"operationDefinition":{"$ref":"#/types/opentelekomcloud:index%2FCbrPolicyV3OperationDefinition:CbrPolicyV3OperationDefinition","description":"Scheduling parameter. See reference below.\n"},"operationType":{"type":"string","description":"Policy type. Enumeration values: \u003cspan pulumi-lang-nodejs=\"`backup`\" pulumi-lang-dotnet=\"`Backup`\" pulumi-lang-go=\"`backup`\" pulumi-lang-python=\"`backup`\" pulumi-lang-yaml=\"`backup`\" pulumi-lang-java=\"`backup`\"\u003e`backup`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`replication`\" pulumi-lang-dotnet=\"`Replication`\" pulumi-lang-go=\"`replication`\" pulumi-lang-python=\"`replication`\" pulumi-lang-yaml=\"`replication`\" pulumi-lang-java=\"`replication`\"\u003e`replication`\u003c/span\u003e.\n"},"region":{"type":"string","description":"Specifies the region of the CBRv3 policy.\n"},"triggerPatterns":{"type":"array","items":{"type":"string"},"description":"Scheduling rule. In the replication policy, you are advised\nto set one time point for one day. A maximum of 24 rules can be configured. The scheduling\nrule complies with iCalendar RFC 2445, but it supports only parameters `FREQ`, `BYDAY`, `BYHOUR`,\n`BYMINUTE`, and `INTERVAL`. `FREQ` can be set only to `WEEKLY` and `DAILY`.\n\nThe \u003cspan pulumi-lang-nodejs=\"`operationDefinition`\" pulumi-lang-dotnet=\"`OperationDefinition`\" pulumi-lang-go=\"`operationDefinition`\" pulumi-lang-python=\"`operation_definition`\" pulumi-lang-yaml=\"`operationDefinition`\" pulumi-lang-java=\"`operationDefinition`\"\u003e`operation_definition`\u003c/span\u003e block contains:\n"}},"type":"object"}},"opentelekomcloud:index/cbrVaultV3:CbrVaultV3":{"description":"Up-to-date reference of API arguments for CBR vault you can get at\n[documentation portal](https://docs.otc.t-systems.com/cloud-backup-recovery/api-ref/cbr_apis/vaults)\n\nManages a V3 CBR Vault resource within OpenTelekomCloud.\n\n## Example Usage\n\n### Simple vault\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst vault = new opentelekomcloud.CbrVaultV3(\"vault\", {\n    name: \"cbr-vault-test\",\n    description: \"CBR vault for terraform provider test\",\n    billing: {\n        size: 100,\n        objectType: \"disk\",\n        protectType: \"backup\",\n        chargingMode: \"post_paid\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nvault = opentelekomcloud.CbrVaultV3(\"vault\",\n    name=\"cbr-vault-test\",\n    description=\"CBR vault for terraform provider test\",\n    billing={\n        \"size\": 100,\n        \"object_type\": \"disk\",\n        \"protect_type\": \"backup\",\n        \"charging_mode\": \"post_paid\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var vault = new Opentelekomcloud.CbrVaultV3(\"vault\", new()\n    {\n        Name = \"cbr-vault-test\",\n        Description = \"CBR vault for terraform provider test\",\n        Billing = new Opentelekomcloud.Inputs.CbrVaultV3BillingArgs\n        {\n            Size = 100,\n            ObjectType = \"disk\",\n            ProtectType = \"backup\",\n            ChargingMode = \"post_paid\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewCbrVaultV3(ctx, \"vault\", \u0026opentelekomcloud.CbrVaultV3Args{\n\t\t\tName:        pulumi.String(\"cbr-vault-test\"),\n\t\t\tDescription: pulumi.String(\"CBR vault for terraform provider test\"),\n\t\t\tBilling: \u0026opentelekomcloud.CbrVaultV3BillingArgs{\n\t\t\t\tSize:         pulumi.Float64(100),\n\t\t\t\tObjectType:   pulumi.String(\"disk\"),\n\t\t\t\tProtectType:  pulumi.String(\"backup\"),\n\t\t\t\tChargingMode: pulumi.String(\"post_paid\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.CbrVaultV3;\nimport com.pulumi.opentelekomcloud.CbrVaultV3Args;\nimport com.pulumi.opentelekomcloud.inputs.CbrVaultV3BillingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var vault = new CbrVaultV3(\"vault\", CbrVaultV3Args.builder()\n            .name(\"cbr-vault-test\")\n            .description(\"CBR vault for terraform provider test\")\n            .billing(CbrVaultV3BillingArgs.builder()\n                .size(100.0)\n                .objectType(\"disk\")\n                .protectType(\"backup\")\n                .chargingMode(\"post_paid\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  vault:\n    type: opentelekomcloud:CbrVaultV3\n    properties:\n      name: cbr-vault-test\n      description: CBR vault for terraform provider test\n      billing:\n        size: 100\n        objectType: disk\n        protectType: backup\n        chargingMode: post_paid\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Vault with associated resource (server)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst vault = new opentelekomcloud.CbrVaultV3(\"vault\", {\n    name: \"cbr-vault-test\",\n    description: \"CBR vault for terraform provider test\",\n    billing: {\n        size: 100,\n        objectType: \"disk\",\n        protectType: \"backup\",\n        chargingMode: \"post_paid\",\n    },\n    resources: [{\n        id: instance.id,\n        type: \"OS::Nova::Server\",\n        excludeVolumes: [instance1.dataDisks[1].id],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nvault = opentelekomcloud.CbrVaultV3(\"vault\",\n    name=\"cbr-vault-test\",\n    description=\"CBR vault for terraform provider test\",\n    billing={\n        \"size\": 100,\n        \"object_type\": \"disk\",\n        \"protect_type\": \"backup\",\n        \"charging_mode\": \"post_paid\",\n    },\n    resources=[{\n        \"id\": instance[\"id\"],\n        \"type\": \"OS::Nova::Server\",\n        \"exclude_volumes\": [instance1[\"dataDisks\"][1][\"id\"]],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var vault = new Opentelekomcloud.CbrVaultV3(\"vault\", new()\n    {\n        Name = \"cbr-vault-test\",\n        Description = \"CBR vault for terraform provider test\",\n        Billing = new Opentelekomcloud.Inputs.CbrVaultV3BillingArgs\n        {\n            Size = 100,\n            ObjectType = \"disk\",\n            ProtectType = \"backup\",\n            ChargingMode = \"post_paid\",\n        },\n        Resources = new[]\n        {\n            new Opentelekomcloud.Inputs.CbrVaultV3ResourceArgs\n            {\n                Id = instance.Id,\n                Type = \"OS::Nova::Server\",\n                ExcludeVolumes = new[]\n                {\n                    instance1.DataDisks[1].Id,\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewCbrVaultV3(ctx, \"vault\", \u0026opentelekomcloud.CbrVaultV3Args{\n\t\t\tName:        pulumi.String(\"cbr-vault-test\"),\n\t\t\tDescription: pulumi.String(\"CBR vault for terraform provider test\"),\n\t\t\tBilling: \u0026opentelekomcloud.CbrVaultV3BillingArgs{\n\t\t\t\tSize:         pulumi.Float64(100),\n\t\t\t\tObjectType:   pulumi.String(\"disk\"),\n\t\t\t\tProtectType:  pulumi.String(\"backup\"),\n\t\t\t\tChargingMode: pulumi.String(\"post_paid\"),\n\t\t\t},\n\t\t\tResources: opentelekomcloud.CbrVaultV3ResourceArray{\n\t\t\t\t\u0026opentelekomcloud.CbrVaultV3ResourceArgs{\n\t\t\t\t\tId:   pulumi.Any(instance.Id),\n\t\t\t\t\tType: pulumi.String(\"OS::Nova::Server\"),\n\t\t\t\t\tExcludeVolumes: pulumi.StringArray{\n\t\t\t\t\t\tinstance1.DataDisks[1].Id,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.CbrVaultV3;\nimport com.pulumi.opentelekomcloud.CbrVaultV3Args;\nimport com.pulumi.opentelekomcloud.inputs.CbrVaultV3BillingArgs;\nimport com.pulumi.opentelekomcloud.inputs.CbrVaultV3ResourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var vault = new CbrVaultV3(\"vault\", CbrVaultV3Args.builder()\n            .name(\"cbr-vault-test\")\n            .description(\"CBR vault for terraform provider test\")\n            .billing(CbrVaultV3BillingArgs.builder()\n                .size(100.0)\n                .objectType(\"disk\")\n                .protectType(\"backup\")\n                .chargingMode(\"post_paid\")\n                .build())\n            .resources(CbrVaultV3ResourceArgs.builder()\n                .id(instance.id())\n                .type(\"OS::Nova::Server\")\n                .excludeVolumes(instance1.dataDisks()[1].id())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  vault:\n    type: opentelekomcloud:CbrVaultV3\n    properties:\n      name: cbr-vault-test\n      description: CBR vault for terraform provider test\n      billing:\n        size: 100\n        objectType: disk\n        protectType: backup\n        chargingMode: post_paid\n      resources:\n        - id: ${instance.id}\n          type: OS::Nova::Server\n          excludeVolumes:\n            - ${instance1.dataDisks[1].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\nInclude volumes works currently only on SwissCloud:\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst vault = new opentelekomcloud.CbrVaultV3(\"vault\", {\n    name: \"cbr-vault-test\",\n    description: \"CBR vault for terraform provider test\",\n    billing: {\n        size: 100,\n        objectType: \"disk\",\n        protectType: \"backup\",\n        chargingMode: \"post_paid\",\n    },\n    resources: [{\n        id: instance.id,\n        type: \"OS::Nova::Server\",\n        includeVolumes: [instance1.dataDisks[1].id],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nvault = opentelekomcloud.CbrVaultV3(\"vault\",\n    name=\"cbr-vault-test\",\n    description=\"CBR vault for terraform provider test\",\n    billing={\n        \"size\": 100,\n        \"object_type\": \"disk\",\n        \"protect_type\": \"backup\",\n        \"charging_mode\": \"post_paid\",\n    },\n    resources=[{\n        \"id\": instance[\"id\"],\n        \"type\": \"OS::Nova::Server\",\n        \"include_volumes\": [instance1[\"dataDisks\"][1][\"id\"]],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var vault = new Opentelekomcloud.CbrVaultV3(\"vault\", new()\n    {\n        Name = \"cbr-vault-test\",\n        Description = \"CBR vault for terraform provider test\",\n        Billing = new Opentelekomcloud.Inputs.CbrVaultV3BillingArgs\n        {\n            Size = 100,\n            ObjectType = \"disk\",\n            ProtectType = \"backup\",\n            ChargingMode = \"post_paid\",\n        },\n        Resources = new[]\n        {\n            new Opentelekomcloud.Inputs.CbrVaultV3ResourceArgs\n            {\n                Id = instance.Id,\n                Type = \"OS::Nova::Server\",\n                IncludeVolumes = new[]\n                {\n                    instance1.DataDisks[1].Id,\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewCbrVaultV3(ctx, \"vault\", \u0026opentelekomcloud.CbrVaultV3Args{\n\t\t\tName:        pulumi.String(\"cbr-vault-test\"),\n\t\t\tDescription: pulumi.String(\"CBR vault for terraform provider test\"),\n\t\t\tBilling: \u0026opentelekomcloud.CbrVaultV3BillingArgs{\n\t\t\t\tSize:         pulumi.Float64(100),\n\t\t\t\tObjectType:   pulumi.String(\"disk\"),\n\t\t\t\tProtectType:  pulumi.String(\"backup\"),\n\t\t\t\tChargingMode: pulumi.String(\"post_paid\"),\n\t\t\t},\n\t\t\tResources: opentelekomcloud.CbrVaultV3ResourceArray{\n\t\t\t\t\u0026opentelekomcloud.CbrVaultV3ResourceArgs{\n\t\t\t\t\tId:   pulumi.Any(instance.Id),\n\t\t\t\t\tType: pulumi.String(\"OS::Nova::Server\"),\n\t\t\t\t\tIncludeVolumes: pulumi.StringArray{\n\t\t\t\t\t\tinstance1.DataDisks[1].Id,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.CbrVaultV3;\nimport com.pulumi.opentelekomcloud.CbrVaultV3Args;\nimport com.pulumi.opentelekomcloud.inputs.CbrVaultV3BillingArgs;\nimport com.pulumi.opentelekomcloud.inputs.CbrVaultV3ResourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var vault = new CbrVaultV3(\"vault\", CbrVaultV3Args.builder()\n            .name(\"cbr-vault-test\")\n            .description(\"CBR vault for terraform provider test\")\n            .billing(CbrVaultV3BillingArgs.builder()\n                .size(100.0)\n                .objectType(\"disk\")\n                .protectType(\"backup\")\n                .chargingMode(\"post_paid\")\n                .build())\n            .resources(CbrVaultV3ResourceArgs.builder()\n                .id(instance.id())\n                .type(\"OS::Nova::Server\")\n                .includeVolumes(instance1.dataDisks()[1].id())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  vault:\n    type: opentelekomcloud:CbrVaultV3\n    properties:\n      name: cbr-vault-test\n      description: CBR vault for terraform provider test\n      billing:\n        size: 100\n        objectType: disk\n        protectType: backup\n        chargingMode: post_paid\n      resources:\n        - id: ${instance.id}\n          type: OS::Nova::Server\n          includeVolumes:\n            - ${instance1.dataDisks[1].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Vault with associated resource (volume)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst volume = new opentelekomcloud.BlockstorageVolumeV2(\"volume\", {\n    name: \"cbr-test-volume\",\n    size: 10,\n    volumeType: \"SSD\",\n});\nconst vault = new opentelekomcloud.CbrVaultV3(\"vault\", {\n    name: \"cbr-vault-test\",\n    description: \"CBR vault for terraform provider test\",\n    locked: false,\n    billing: {\n        size: 100,\n        objectType: \"disk\",\n        protectType: \"backup\",\n        chargingMode: \"post_paid\",\n    },\n    resources: [{\n        id: volume.blockstorageVolumeV2Id,\n        type: \"OS::Cinder::Volume\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nvolume = opentelekomcloud.BlockstorageVolumeV2(\"volume\",\n    name=\"cbr-test-volume\",\n    size=10,\n    volume_type=\"SSD\")\nvault = opentelekomcloud.CbrVaultV3(\"vault\",\n    name=\"cbr-vault-test\",\n    description=\"CBR vault for terraform provider test\",\n    locked=False,\n    billing={\n        \"size\": 100,\n        \"object_type\": \"disk\",\n        \"protect_type\": \"backup\",\n        \"charging_mode\": \"post_paid\",\n    },\n    resources=[{\n        \"id\": volume.blockstorage_volume_v2_id,\n        \"type\": \"OS::Cinder::Volume\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var volume = new Opentelekomcloud.BlockstorageVolumeV2(\"volume\", new()\n    {\n        Name = \"cbr-test-volume\",\n        Size = 10,\n        VolumeType = \"SSD\",\n    });\n\n    var vault = new Opentelekomcloud.CbrVaultV3(\"vault\", new()\n    {\n        Name = \"cbr-vault-test\",\n        Description = \"CBR vault for terraform provider test\",\n        Locked = false,\n        Billing = new Opentelekomcloud.Inputs.CbrVaultV3BillingArgs\n        {\n            Size = 100,\n            ObjectType = \"disk\",\n            ProtectType = \"backup\",\n            ChargingMode = \"post_paid\",\n        },\n        Resources = new[]\n        {\n            new Opentelekomcloud.Inputs.CbrVaultV3ResourceArgs\n            {\n                Id = volume.BlockstorageVolumeV2Id,\n                Type = \"OS::Cinder::Volume\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tvolume, err := opentelekomcloud.NewBlockstorageVolumeV2(ctx, \"volume\", \u0026opentelekomcloud.BlockstorageVolumeV2Args{\n\t\t\tName:       pulumi.String(\"cbr-test-volume\"),\n\t\t\tSize:       pulumi.Float64(10),\n\t\t\tVolumeType: pulumi.String(\"SSD\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewCbrVaultV3(ctx, \"vault\", \u0026opentelekomcloud.CbrVaultV3Args{\n\t\t\tName:        pulumi.String(\"cbr-vault-test\"),\n\t\t\tDescription: pulumi.String(\"CBR vault for terraform provider test\"),\n\t\t\tLocked:      pulumi.Bool(false),\n\t\t\tBilling: \u0026opentelekomcloud.CbrVaultV3BillingArgs{\n\t\t\t\tSize:         pulumi.Float64(100),\n\t\t\t\tObjectType:   pulumi.String(\"disk\"),\n\t\t\t\tProtectType:  pulumi.String(\"backup\"),\n\t\t\t\tChargingMode: pulumi.String(\"post_paid\"),\n\t\t\t},\n\t\t\tResources: opentelekomcloud.CbrVaultV3ResourceArray{\n\t\t\t\t\u0026opentelekomcloud.CbrVaultV3ResourceArgs{\n\t\t\t\t\tId:   volume.BlockstorageVolumeV2Id,\n\t\t\t\t\tType: pulumi.String(\"OS::Cinder::Volume\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.BlockstorageVolumeV2;\nimport com.pulumi.opentelekomcloud.BlockstorageVolumeV2Args;\nimport com.pulumi.opentelekomcloud.CbrVaultV3;\nimport com.pulumi.opentelekomcloud.CbrVaultV3Args;\nimport com.pulumi.opentelekomcloud.inputs.CbrVaultV3BillingArgs;\nimport com.pulumi.opentelekomcloud.inputs.CbrVaultV3ResourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var volume = new BlockstorageVolumeV2(\"volume\", BlockstorageVolumeV2Args.builder()\n            .name(\"cbr-test-volume\")\n            .size(10.0)\n            .volumeType(\"SSD\")\n            .build());\n\n        var vault = new CbrVaultV3(\"vault\", CbrVaultV3Args.builder()\n            .name(\"cbr-vault-test\")\n            .description(\"CBR vault for terraform provider test\")\n            .locked(false)\n            .billing(CbrVaultV3BillingArgs.builder()\n                .size(100.0)\n                .objectType(\"disk\")\n                .protectType(\"backup\")\n                .chargingMode(\"post_paid\")\n                .build())\n            .resources(CbrVaultV3ResourceArgs.builder()\n                .id(volume.blockstorageVolumeV2Id())\n                .type(\"OS::Cinder::Volume\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  volume:\n    type: opentelekomcloud:BlockstorageVolumeV2\n    properties:\n      name: cbr-test-volume\n      size: 10\n      volumeType: SSD\n  vault:\n    type: opentelekomcloud:CbrVaultV3\n    properties:\n      name: cbr-vault-test\n      description: CBR vault for terraform provider test\n      locked: false\n      billing:\n        size: 100\n        objectType: disk\n        protectType: backup\n        chargingMode: post_paid\n      resources:\n        - id: ${volume.blockstorageVolumeV2Id}\n          type: OS::Cinder::Volume\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Vault with associated resource (sfs-turbo)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst vpcId = config.requireObject\u003cany\u003e(\"vpcId\");\nconst subnetId = config.requireObject\u003cany\u003e(\"subnetId\");\nconst sgId = config.requireObject\u003cany\u003e(\"sgId\");\nconst az = config.requireObject\u003cany\u003e(\"az\");\nconst sfs_turbo = new opentelekomcloud.SfsTurboShareV1(\"sfs-turbo\", {\n    name: \"sfs-turbo-share\",\n    size: 500,\n    shareProto: \"NFS\",\n    vpcId: vpcId,\n    subnetId: subnetId,\n    securityGroupId: sgId,\n    availabilityZone: az,\n});\nconst vault = new opentelekomcloud.CbrVaultV3(\"vault\", {\n    name: \"cbr-vault-test\",\n    description: \"CBR vault for terraform provider test\",\n    billing: {\n        size: 1000,\n        objectType: \"turbo\",\n        protectType: \"backup\",\n        chargingMode: \"post_paid\",\n    },\n    resources: [{\n        id: sfs_turbo.sfsTurboShareV1Id,\n        type: \"OS::Sfs::Turbo\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nvpc_id = config.require_object(\"vpcId\")\nsubnet_id = config.require_object(\"subnetId\")\nsg_id = config.require_object(\"sgId\")\naz = config.require_object(\"az\")\nsfs_turbo = opentelekomcloud.SfsTurboShareV1(\"sfs-turbo\",\n    name=\"sfs-turbo-share\",\n    size=500,\n    share_proto=\"NFS\",\n    vpc_id=vpc_id,\n    subnet_id=subnet_id,\n    security_group_id=sg_id,\n    availability_zone=az)\nvault = opentelekomcloud.CbrVaultV3(\"vault\",\n    name=\"cbr-vault-test\",\n    description=\"CBR vault for terraform provider test\",\n    billing={\n        \"size\": 1000,\n        \"object_type\": \"turbo\",\n        \"protect_type\": \"backup\",\n        \"charging_mode\": \"post_paid\",\n    },\n    resources=[{\n        \"id\": sfs_turbo.sfs_turbo_share_v1_id,\n        \"type\": \"OS::Sfs::Turbo\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var vpcId = config.RequireObject\u003cdynamic\u003e(\"vpcId\");\n    var subnetId = config.RequireObject\u003cdynamic\u003e(\"subnetId\");\n    var sgId = config.RequireObject\u003cdynamic\u003e(\"sgId\");\n    var az = config.RequireObject\u003cdynamic\u003e(\"az\");\n    var sfs_turbo = new Opentelekomcloud.SfsTurboShareV1(\"sfs-turbo\", new()\n    {\n        Name = \"sfs-turbo-share\",\n        Size = 500,\n        ShareProto = \"NFS\",\n        VpcId = vpcId,\n        SubnetId = subnetId,\n        SecurityGroupId = sgId,\n        AvailabilityZone = az,\n    });\n\n    var vault = new Opentelekomcloud.CbrVaultV3(\"vault\", new()\n    {\n        Name = \"cbr-vault-test\",\n        Description = \"CBR vault for terraform provider test\",\n        Billing = new Opentelekomcloud.Inputs.CbrVaultV3BillingArgs\n        {\n            Size = 1000,\n            ObjectType = \"turbo\",\n            ProtectType = \"backup\",\n            ChargingMode = \"post_paid\",\n        },\n        Resources = new[]\n        {\n            new Opentelekomcloud.Inputs.CbrVaultV3ResourceArgs\n            {\n                Id = sfs_turbo.SfsTurboShareV1Id,\n                Type = \"OS::Sfs::Turbo\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tvpcId := cfg.RequireObject(\"vpcId\")\n\t\tsubnetId := cfg.RequireObject(\"subnetId\")\n\t\tsgId := cfg.RequireObject(\"sgId\")\n\t\taz := cfg.RequireObject(\"az\")\n\t\tsfs_turbo, err := opentelekomcloud.NewSfsTurboShareV1(ctx, \"sfs-turbo\", \u0026opentelekomcloud.SfsTurboShareV1Args{\n\t\t\tName:             pulumi.String(\"sfs-turbo-share\"),\n\t\t\tSize:             pulumi.Float64(500),\n\t\t\tShareProto:       pulumi.String(\"NFS\"),\n\t\t\tVpcId:            pulumi.Any(vpcId),\n\t\t\tSubnetId:         pulumi.Any(subnetId),\n\t\t\tSecurityGroupId:  pulumi.Any(sgId),\n\t\t\tAvailabilityZone: pulumi.Any(az),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewCbrVaultV3(ctx, \"vault\", \u0026opentelekomcloud.CbrVaultV3Args{\n\t\t\tName:        pulumi.String(\"cbr-vault-test\"),\n\t\t\tDescription: pulumi.String(\"CBR vault for terraform provider test\"),\n\t\t\tBilling: \u0026opentelekomcloud.CbrVaultV3BillingArgs{\n\t\t\t\tSize:         pulumi.Float64(1000),\n\t\t\t\tObjectType:   pulumi.String(\"turbo\"),\n\t\t\t\tProtectType:  pulumi.String(\"backup\"),\n\t\t\t\tChargingMode: pulumi.String(\"post_paid\"),\n\t\t\t},\n\t\t\tResources: opentelekomcloud.CbrVaultV3ResourceArray{\n\t\t\t\t\u0026opentelekomcloud.CbrVaultV3ResourceArgs{\n\t\t\t\t\tId:   sfs_turbo.SfsTurboShareV1Id,\n\t\t\t\t\tType: pulumi.String(\"OS::Sfs::Turbo\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.SfsTurboShareV1;\nimport com.pulumi.opentelekomcloud.SfsTurboShareV1Args;\nimport com.pulumi.opentelekomcloud.CbrVaultV3;\nimport com.pulumi.opentelekomcloud.CbrVaultV3Args;\nimport com.pulumi.opentelekomcloud.inputs.CbrVaultV3BillingArgs;\nimport com.pulumi.opentelekomcloud.inputs.CbrVaultV3ResourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var vpcId = config.get(\"vpcId\");\n        final var subnetId = config.get(\"subnetId\");\n        final var sgId = config.get(\"sgId\");\n        final var az = config.get(\"az\");\n        var sfs_turbo = new SfsTurboShareV1(\"sfs-turbo\", SfsTurboShareV1Args.builder()\n            .name(\"sfs-turbo-share\")\n            .size(500.0)\n            .shareProto(\"NFS\")\n            .vpcId(vpcId)\n            .subnetId(subnetId)\n            .securityGroupId(sgId)\n            .availabilityZone(az)\n            .build());\n\n        var vault = new CbrVaultV3(\"vault\", CbrVaultV3Args.builder()\n            .name(\"cbr-vault-test\")\n            .description(\"CBR vault for terraform provider test\")\n            .billing(CbrVaultV3BillingArgs.builder()\n                .size(1000.0)\n                .objectType(\"turbo\")\n                .protectType(\"backup\")\n                .chargingMode(\"post_paid\")\n                .build())\n            .resources(CbrVaultV3ResourceArgs.builder()\n                .id(sfs_turbo.sfsTurboShareV1Id())\n                .type(\"OS::Sfs::Turbo\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  vpcId:\n    type: dynamic\n  subnetId:\n    type: dynamic\n  sgId:\n    type: dynamic\n  az:\n    type: dynamic\nresources:\n  sfs-turbo:\n    type: opentelekomcloud:SfsTurboShareV1\n    properties:\n      name: sfs-turbo-share\n      size: 500\n      shareProto: NFS\n      vpcId: ${vpcId}\n      subnetId: ${subnetId}\n      securityGroupId: ${sgId}\n      availabilityZone: ${az}\n  vault:\n    type: opentelekomcloud:CbrVaultV3\n    properties:\n      name: cbr-vault-test\n      description: CBR vault for terraform provider test\n      billing:\n        size: 1000\n        objectType: turbo\n        protectType: backup\n        chargingMode: post_paid\n      resources:\n        - id: ${[\"sfs-turbo\"].sfsTurboShareV1Id}\n          type: OS::Sfs::Turbo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Vault with associated policy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst policy = new opentelekomcloud.CbrPolicyV3(\"policy\", {\n    name: \"some-policy\",\n    operationType: \"backup\",\n    triggerPatterns: [\"FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR,SA,SU;BYHOUR=14;BYMINUTE=00\"],\n    operationDefinition: {\n        dayBackups: 1,\n        weekBackups: 2,\n        yearBackups: 3,\n        monthBackups: 4,\n        maxBackups: 10,\n        timezone: \"UTC+03:00\",\n    },\n    enabled: false,\n});\nconst vault = new opentelekomcloud.CbrVaultV3(\"vault\", {\n    name: \"cbr-vault-test\",\n    description: \"CBR vault for terraform provider test\",\n    backupPolicyId: policy.cbrPolicyV3Id,\n    billing: {\n        size: 100,\n        objectType: \"disk\",\n        protectType: \"backup\",\n        chargingMode: \"post_paid\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\npolicy = opentelekomcloud.CbrPolicyV3(\"policy\",\n    name=\"some-policy\",\n    operation_type=\"backup\",\n    trigger_patterns=[\"FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR,SA,SU;BYHOUR=14;BYMINUTE=00\"],\n    operation_definition={\n        \"day_backups\": 1,\n        \"week_backups\": 2,\n        \"year_backups\": 3,\n        \"month_backups\": 4,\n        \"max_backups\": 10,\n        \"timezone\": \"UTC+03:00\",\n    },\n    enabled=False)\nvault = opentelekomcloud.CbrVaultV3(\"vault\",\n    name=\"cbr-vault-test\",\n    description=\"CBR vault for terraform provider test\",\n    backup_policy_id=policy.cbr_policy_v3_id,\n    billing={\n        \"size\": 100,\n        \"object_type\": \"disk\",\n        \"protect_type\": \"backup\",\n        \"charging_mode\": \"post_paid\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var policy = new Opentelekomcloud.CbrPolicyV3(\"policy\", new()\n    {\n        Name = \"some-policy\",\n        OperationType = \"backup\",\n        TriggerPatterns = new[]\n        {\n            \"FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR,SA,SU;BYHOUR=14;BYMINUTE=00\",\n        },\n        OperationDefinition = new Opentelekomcloud.Inputs.CbrPolicyV3OperationDefinitionArgs\n        {\n            DayBackups = 1,\n            WeekBackups = 2,\n            YearBackups = 3,\n            MonthBackups = 4,\n            MaxBackups = 10,\n            Timezone = \"UTC+03:00\",\n        },\n        Enabled = false,\n    });\n\n    var vault = new Opentelekomcloud.CbrVaultV3(\"vault\", new()\n    {\n        Name = \"cbr-vault-test\",\n        Description = \"CBR vault for terraform provider test\",\n        BackupPolicyId = policy.CbrPolicyV3Id,\n        Billing = new Opentelekomcloud.Inputs.CbrVaultV3BillingArgs\n        {\n            Size = 100,\n            ObjectType = \"disk\",\n            ProtectType = \"backup\",\n            ChargingMode = \"post_paid\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpolicy, err := opentelekomcloud.NewCbrPolicyV3(ctx, \"policy\", \u0026opentelekomcloud.CbrPolicyV3Args{\n\t\t\tName:          pulumi.String(\"some-policy\"),\n\t\t\tOperationType: pulumi.String(\"backup\"),\n\t\t\tTriggerPatterns: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR,SA,SU;BYHOUR=14;BYMINUTE=00\"),\n\t\t\t},\n\t\t\tOperationDefinition: \u0026opentelekomcloud.CbrPolicyV3OperationDefinitionArgs{\n\t\t\t\tDayBackups:   pulumi.Float64(1),\n\t\t\t\tWeekBackups:  pulumi.Float64(2),\n\t\t\t\tYearBackups:  pulumi.Float64(3),\n\t\t\t\tMonthBackups: pulumi.Float64(4),\n\t\t\t\tMaxBackups:   pulumi.Float64(10),\n\t\t\t\tTimezone:     pulumi.String(\"UTC+03:00\"),\n\t\t\t},\n\t\t\tEnabled: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewCbrVaultV3(ctx, \"vault\", \u0026opentelekomcloud.CbrVaultV3Args{\n\t\t\tName:           pulumi.String(\"cbr-vault-test\"),\n\t\t\tDescription:    pulumi.String(\"CBR vault for terraform provider test\"),\n\t\t\tBackupPolicyId: policy.CbrPolicyV3Id,\n\t\t\tBilling: \u0026opentelekomcloud.CbrVaultV3BillingArgs{\n\t\t\t\tSize:         pulumi.Float64(100),\n\t\t\t\tObjectType:   pulumi.String(\"disk\"),\n\t\t\t\tProtectType:  pulumi.String(\"backup\"),\n\t\t\t\tChargingMode: pulumi.String(\"post_paid\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.CbrPolicyV3;\nimport com.pulumi.opentelekomcloud.CbrPolicyV3Args;\nimport com.pulumi.opentelekomcloud.inputs.CbrPolicyV3OperationDefinitionArgs;\nimport com.pulumi.opentelekomcloud.CbrVaultV3;\nimport com.pulumi.opentelekomcloud.CbrVaultV3Args;\nimport com.pulumi.opentelekomcloud.inputs.CbrVaultV3BillingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var policy = new CbrPolicyV3(\"policy\", CbrPolicyV3Args.builder()\n            .name(\"some-policy\")\n            .operationType(\"backup\")\n            .triggerPatterns(\"FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR,SA,SU;BYHOUR=14;BYMINUTE=00\")\n            .operationDefinition(CbrPolicyV3OperationDefinitionArgs.builder()\n                .dayBackups(1.0)\n                .weekBackups(2.0)\n                .yearBackups(3.0)\n                .monthBackups(4.0)\n                .maxBackups(10.0)\n                .timezone(\"UTC+03:00\")\n                .build())\n            .enabled(false)\n            .build());\n\n        var vault = new CbrVaultV3(\"vault\", CbrVaultV3Args.builder()\n            .name(\"cbr-vault-test\")\n            .description(\"CBR vault for terraform provider test\")\n            .backupPolicyId(policy.cbrPolicyV3Id())\n            .billing(CbrVaultV3BillingArgs.builder()\n                .size(100.0)\n                .objectType(\"disk\")\n                .protectType(\"backup\")\n                .chargingMode(\"post_paid\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  policy:\n    type: opentelekomcloud:CbrPolicyV3\n    properties:\n      name: some-policy\n      operationType: backup\n      triggerPatterns:\n        - FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR,SA,SU;BYHOUR=14;BYMINUTE=00\n      operationDefinition:\n        dayBackups: 1\n        weekBackups: 2\n        yearBackups: 3\n        monthBackups: 4\n        maxBackups: 10\n        timezone: UTC+03:00\n      enabled: 'false'\n  vault:\n    type: opentelekomcloud:CbrVaultV3\n    properties:\n      name: cbr-vault-test\n      description: CBR vault for terraform provider test\n      backupPolicyId: ${policy.cbrPolicyV3Id}\n      billing:\n        size: 100\n        objectType: disk\n        protectType: backup\n        chargingMode: post_paid\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Vault with backup and replication policies\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst policies = new opentelekomcloud.CbrVaultV3(\"policies\", {\n    name: \"multipolicy\",\n    billing: {\n        size: 100,\n        objectType: \"server\",\n        protectType: \"backup\",\n        chargingMode: \"post_paid\",\n        periodType: \"month\",\n        periodNum: 2,\n    },\n    policies: [\n        {\n            id: backup[1].id,\n        },\n        {\n            id: replicationPolicyId,\n            destinationVaultId: destinationVault,\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\npolicies = opentelekomcloud.CbrVaultV3(\"policies\",\n    name=\"multipolicy\",\n    billing={\n        \"size\": 100,\n        \"object_type\": \"server\",\n        \"protect_type\": \"backup\",\n        \"charging_mode\": \"post_paid\",\n        \"period_type\": \"month\",\n        \"period_num\": 2,\n    },\n    policies=[\n        {\n            \"id\": backup[1][\"id\"],\n        },\n        {\n            \"id\": replication_policy_id,\n            \"destination_vault_id\": destination_vault,\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var policies = new Opentelekomcloud.CbrVaultV3(\"policies\", new()\n    {\n        Name = \"multipolicy\",\n        Billing = new Opentelekomcloud.Inputs.CbrVaultV3BillingArgs\n        {\n            Size = 100,\n            ObjectType = \"server\",\n            ProtectType = \"backup\",\n            ChargingMode = \"post_paid\",\n            PeriodType = \"month\",\n            PeriodNum = 2,\n        },\n        Policies = new[]\n        {\n            new Opentelekomcloud.Inputs.CbrVaultV3PolicyArgs\n            {\n                Id = backup[1].Id,\n            },\n            new Opentelekomcloud.Inputs.CbrVaultV3PolicyArgs\n            {\n                Id = replicationPolicyId,\n                DestinationVaultId = destinationVault,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewCbrVaultV3(ctx, \"policies\", \u0026opentelekomcloud.CbrVaultV3Args{\n\t\t\tName: pulumi.String(\"multipolicy\"),\n\t\t\tBilling: \u0026opentelekomcloud.CbrVaultV3BillingArgs{\n\t\t\t\tSize:         pulumi.Float64(100),\n\t\t\t\tObjectType:   pulumi.String(\"server\"),\n\t\t\t\tProtectType:  pulumi.String(\"backup\"),\n\t\t\t\tChargingMode: pulumi.String(\"post_paid\"),\n\t\t\t\tPeriodType:   pulumi.String(\"month\"),\n\t\t\t\tPeriodNum:    pulumi.Float64(2),\n\t\t\t},\n\t\t\tPolicies: opentelekomcloud.CbrVaultV3PolicyArray{\n\t\t\t\t\u0026opentelekomcloud.CbrVaultV3PolicyArgs{\n\t\t\t\t\tId: pulumi.Any(backup[1].Id),\n\t\t\t\t},\n\t\t\t\t\u0026opentelekomcloud.CbrVaultV3PolicyArgs{\n\t\t\t\t\tId:                 pulumi.Any(replicationPolicyId),\n\t\t\t\t\tDestinationVaultId: pulumi.Any(destinationVault),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.CbrVaultV3;\nimport com.pulumi.opentelekomcloud.CbrVaultV3Args;\nimport com.pulumi.opentelekomcloud.inputs.CbrVaultV3BillingArgs;\nimport com.pulumi.opentelekomcloud.inputs.CbrVaultV3PolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var policies = new CbrVaultV3(\"policies\", CbrVaultV3Args.builder()\n            .name(\"multipolicy\")\n            .billing(CbrVaultV3BillingArgs.builder()\n                .size(100.0)\n                .objectType(\"server\")\n                .protectType(\"backup\")\n                .chargingMode(\"post_paid\")\n                .periodType(\"month\")\n                .periodNum(2.0)\n                .build())\n            .policies(            \n                CbrVaultV3PolicyArgs.builder()\n                    .id(backup[1].id())\n                    .build(),\n                CbrVaultV3PolicyArgs.builder()\n                    .id(replicationPolicyId)\n                    .destinationVaultId(destinationVault)\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  policies:\n    type: opentelekomcloud:CbrVaultV3\n    properties:\n      name: multipolicy\n      billing:\n        size: 100\n        objectType: server\n        protectType: backup\n        chargingMode: post_paid\n        periodType: month\n        periodNum: 2\n      policies:\n        - id: ${backup[1].id}\n        - id: ${replicationPolicyId}\n          destinationVaultId: ${destinationVault}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n### Vault with auto bind and bind rule\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst vault = new opentelekomcloud.CbrVaultV3(\"vault\", {\n    name: \"cbr-vault-test\",\n    description: \"CBR vault for default backup policy\",\n    billing: {\n        size: 10,\n        objectType: \"server\",\n        protectType: \"backup\",\n        chargingMode: \"post_paid\",\n    },\n    autoBind: true,\n    bindRules: [{\n        key: \"foo\",\n        value: \"bar\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nvault = opentelekomcloud.CbrVaultV3(\"vault\",\n    name=\"cbr-vault-test\",\n    description=\"CBR vault for default backup policy\",\n    billing={\n        \"size\": 10,\n        \"object_type\": \"server\",\n        \"protect_type\": \"backup\",\n        \"charging_mode\": \"post_paid\",\n    },\n    auto_bind=True,\n    bind_rules=[{\n        \"key\": \"foo\",\n        \"value\": \"bar\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var vault = new Opentelekomcloud.CbrVaultV3(\"vault\", new()\n    {\n        Name = \"cbr-vault-test\",\n        Description = \"CBR vault for default backup policy\",\n        Billing = new Opentelekomcloud.Inputs.CbrVaultV3BillingArgs\n        {\n            Size = 10,\n            ObjectType = \"server\",\n            ProtectType = \"backup\",\n            ChargingMode = \"post_paid\",\n        },\n        AutoBind = true,\n        BindRules = new[]\n        {\n            new Opentelekomcloud.Inputs.CbrVaultV3BindRuleArgs\n            {\n                Key = \"foo\",\n                Value = \"bar\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewCbrVaultV3(ctx, \"vault\", \u0026opentelekomcloud.CbrVaultV3Args{\n\t\t\tName:        pulumi.String(\"cbr-vault-test\"),\n\t\t\tDescription: pulumi.String(\"CBR vault for default backup policy\"),\n\t\t\tBilling: \u0026opentelekomcloud.CbrVaultV3BillingArgs{\n\t\t\t\tSize:         pulumi.Float64(10),\n\t\t\t\tObjectType:   pulumi.String(\"server\"),\n\t\t\t\tProtectType:  pulumi.String(\"backup\"),\n\t\t\t\tChargingMode: pulumi.String(\"post_paid\"),\n\t\t\t},\n\t\t\tAutoBind: pulumi.Bool(true),\n\t\t\tBindRules: opentelekomcloud.CbrVaultV3BindRuleArray{\n\t\t\t\t\u0026opentelekomcloud.CbrVaultV3BindRuleArgs{\n\t\t\t\t\tKey:   pulumi.String(\"foo\"),\n\t\t\t\t\tValue: pulumi.String(\"bar\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.CbrVaultV3;\nimport com.pulumi.opentelekomcloud.CbrVaultV3Args;\nimport com.pulumi.opentelekomcloud.inputs.CbrVaultV3BillingArgs;\nimport com.pulumi.opentelekomcloud.inputs.CbrVaultV3BindRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var vault = new CbrVaultV3(\"vault\", CbrVaultV3Args.builder()\n            .name(\"cbr-vault-test\")\n            .description(\"CBR vault for default backup policy\")\n            .billing(CbrVaultV3BillingArgs.builder()\n                .size(10.0)\n                .objectType(\"server\")\n                .protectType(\"backup\")\n                .chargingMode(\"post_paid\")\n                .build())\n            .autoBind(true)\n            .bindRules(CbrVaultV3BindRuleArgs.builder()\n                .key(\"foo\")\n                .value(\"bar\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  vault:\n    type: opentelekomcloud:CbrVaultV3\n    properties:\n      name: cbr-vault-test\n      description: CBR vault for default backup policy\n      billing:\n        size: 10\n        objectType: server\n        protectType: backup\n        chargingMode: post_paid\n      autoBind: true\n      bindRules:\n        - key: foo\n          value: bar\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVolumes can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/cbrVaultV3:CbrVaultV3 vault ea257959-eeb1-4c10-8d33-26f0409a766b\n```\n\n","properties":{"autoBind":{"type":"boolean","description":"Whether automatic association is supported.\n"},"autoExpand":{"type":"boolean","description":"Whether to automatically expand the vault capacity. Only pay-per-use vaults support this\nfunction.\n"},"backupPolicyId":{"type":"string","description":"Backup policy ID. If the value of this parameter is empty, automatic backup is not\nperformed. Deprecated use \u003cspan pulumi-lang-nodejs=\"`policy`\" pulumi-lang-dotnet=\"`Policy`\" pulumi-lang-go=\"`policy`\" pulumi-lang-python=\"`policy`\" pulumi-lang-yaml=\"`policy`\" pulumi-lang-java=\"`policy`\"\u003e`policy`\u003c/span\u003e instead.\n","deprecationMessage":"Deprecated"},"billing":{"$ref":"#/types/opentelekomcloud:index%2FCbrVaultV3Billing:CbrVaultV3Billing","description":"Billing parameter information for creation. Billing fields:\n"},"bindRules":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCbrVaultV3BindRule:CbrVaultV3BindRule"},"description":"Tag map, a rules for automatic association. You can only select tag keys and values from\nthe existing ones. If there are no tags available, go to the corresponding service to create one.\nYou can add a maximum of 5 tags for a search. If more than one tag is added, the backups containing one of the\nspecified tags will be returned.\n"},"cbrVaultV3Id":{"type":"string","description":"Specifies the policy ID.\n"},"createdAt":{"type":"string"},"description":{"type":"string","description":"User-defined vault description.\n"},"enterpriseProjectId":{"type":"string"},"locked":{"type":"boolean","description":"Specifies whether the vault is locked. A locked vault cannot be unlocked.\nDefaults to **false**.\n"},"name":{"type":"string","description":"Vault name.\n"},"policies":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCbrVaultV3Policy:CbrVaultV3Policy"},"description":"Specifies the policy details to associate with the CBR vault.\nThe object structure is documented below.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"vaultPolicies\"\" pulumi-lang-dotnet=\"\"VaultPolicies\"\" pulumi-lang-go=\"\"vaultPolicies\"\" pulumi-lang-python=\"\"vault_policies\"\" pulumi-lang-yaml=\"\"vaultPolicies\"\" pulumi-lang-java=\"\"vaultPolicies\"\"\u003e\"vault_policies\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`policy`\" pulumi-lang-dotnet=\"`Policy`\" pulumi-lang-go=\"`policy`\" pulumi-lang-python=\"`policy`\" pulumi-lang-yaml=\"`policy`\" pulumi-lang-java=\"`policy`\"\u003e`policy`\u003c/span\u003e block supports:\n"},"projectId":{"type":"string"},"providerId":{"type":"string"},"region":{"type":"string"},"resources":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCbrVaultV3Resource:CbrVaultV3Resource"},"description":"Associated resources. Multiple. Resource fields:\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tag map.\n"},"userId":{"type":"string"}},"type":"object","required":["autoBind","autoExpand","billing","cbrVaultV3Id","createdAt","enterpriseProjectId","locked","name","projectId","providerId","region","resources","userId"],"inputProperties":{"autoBind":{"type":"boolean","description":"Whether automatic association is supported.\n"},"autoExpand":{"type":"boolean","description":"Whether to automatically expand the vault capacity. Only pay-per-use vaults support this\nfunction.\n"},"backupPolicyId":{"type":"string","description":"Backup policy ID. If the value of this parameter is empty, automatic backup is not\nperformed. Deprecated use \u003cspan pulumi-lang-nodejs=\"`policy`\" pulumi-lang-dotnet=\"`Policy`\" pulumi-lang-go=\"`policy`\" pulumi-lang-python=\"`policy`\" pulumi-lang-yaml=\"`policy`\" pulumi-lang-java=\"`policy`\"\u003e`policy`\u003c/span\u003e instead.\n","deprecationMessage":"Deprecated"},"billing":{"$ref":"#/types/opentelekomcloud:index%2FCbrVaultV3Billing:CbrVaultV3Billing","description":"Billing parameter information for creation. Billing fields:\n"},"bindRules":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCbrVaultV3BindRule:CbrVaultV3BindRule"},"description":"Tag map, a rules for automatic association. You can only select tag keys and values from\nthe existing ones. If there are no tags available, go to the corresponding service to create one.\nYou can add a maximum of 5 tags for a search. If more than one tag is added, the backups containing one of the\nspecified tags will be returned.\n"},"cbrVaultV3Id":{"type":"string","description":"Specifies the policy ID.\n"},"description":{"type":"string","description":"User-defined vault description.\n"},"enterpriseProjectId":{"type":"string"},"locked":{"type":"boolean","description":"Specifies whether the vault is locked. A locked vault cannot be unlocked.\nDefaults to **false**.\n"},"name":{"type":"string","description":"Vault name.\n"},"policies":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCbrVaultV3Policy:CbrVaultV3Policy"},"description":"Specifies the policy details to associate with the CBR vault.\nThe object structure is documented below.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"vaultPolicies\"\" pulumi-lang-dotnet=\"\"VaultPolicies\"\" pulumi-lang-go=\"\"vaultPolicies\"\" pulumi-lang-python=\"\"vault_policies\"\" pulumi-lang-yaml=\"\"vaultPolicies\"\" pulumi-lang-java=\"\"vaultPolicies\"\"\u003e\"vault_policies\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`policy`\" pulumi-lang-dotnet=\"`Policy`\" pulumi-lang-go=\"`policy`\" pulumi-lang-python=\"`policy`\" pulumi-lang-yaml=\"`policy`\" pulumi-lang-java=\"`policy`\"\u003e`policy`\u003c/span\u003e block supports:\n"},"resources":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCbrVaultV3Resource:CbrVaultV3Resource"},"description":"Associated resources. Multiple. Resource fields:\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tag map.\n"}},"requiredInputs":["billing"],"stateInputs":{"description":"Input properties used for looking up and filtering CbrVaultV3 resources.\n","properties":{"autoBind":{"type":"boolean","description":"Whether automatic association is supported.\n"},"autoExpand":{"type":"boolean","description":"Whether to automatically expand the vault capacity. Only pay-per-use vaults support this\nfunction.\n"},"backupPolicyId":{"type":"string","description":"Backup policy ID. If the value of this parameter is empty, automatic backup is not\nperformed. Deprecated use \u003cspan pulumi-lang-nodejs=\"`policy`\" pulumi-lang-dotnet=\"`Policy`\" pulumi-lang-go=\"`policy`\" pulumi-lang-python=\"`policy`\" pulumi-lang-yaml=\"`policy`\" pulumi-lang-java=\"`policy`\"\u003e`policy`\u003c/span\u003e instead.\n","deprecationMessage":"Deprecated"},"billing":{"$ref":"#/types/opentelekomcloud:index%2FCbrVaultV3Billing:CbrVaultV3Billing","description":"Billing parameter information for creation. Billing fields:\n"},"bindRules":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCbrVaultV3BindRule:CbrVaultV3BindRule"},"description":"Tag map, a rules for automatic association. You can only select tag keys and values from\nthe existing ones. If there are no tags available, go to the corresponding service to create one.\nYou can add a maximum of 5 tags for a search. If more than one tag is added, the backups containing one of the\nspecified tags will be returned.\n"},"cbrVaultV3Id":{"type":"string","description":"Specifies the policy ID.\n"},"createdAt":{"type":"string"},"description":{"type":"string","description":"User-defined vault description.\n"},"enterpriseProjectId":{"type":"string"},"locked":{"type":"boolean","description":"Specifies whether the vault is locked. A locked vault cannot be unlocked.\nDefaults to **false**.\n"},"name":{"type":"string","description":"Vault name.\n"},"policies":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCbrVaultV3Policy:CbrVaultV3Policy"},"description":"Specifies the policy details to associate with the CBR vault.\nThe object structure is documented below.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"vaultPolicies\"\" pulumi-lang-dotnet=\"\"VaultPolicies\"\" pulumi-lang-go=\"\"vaultPolicies\"\" pulumi-lang-python=\"\"vault_policies\"\" pulumi-lang-yaml=\"\"vaultPolicies\"\" pulumi-lang-java=\"\"vaultPolicies\"\"\u003e\"vault_policies\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`policy`\" pulumi-lang-dotnet=\"`Policy`\" pulumi-lang-go=\"`policy`\" pulumi-lang-python=\"`policy`\" pulumi-lang-yaml=\"`policy`\" pulumi-lang-java=\"`policy`\"\u003e`policy`\u003c/span\u003e block supports:\n"},"projectId":{"type":"string"},"providerId":{"type":"string"},"region":{"type":"string"},"resources":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCbrVaultV3Resource:CbrVaultV3Resource"},"description":"Associated resources. Multiple. Resource fields:\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tag map.\n"},"userId":{"type":"string"}},"type":"object"}},"opentelekomcloud:index/cceAddonV3:CceAddonV3":{"description":"Up-to-date reference of API arguments for CCE addons you can get at\n[documentation portal](https://docs.otc.t-systems.com/cloud-container-engine/api-ref/apis/add-on_management/)\n\nManages a V3 CCE Addon resource within OpenTelekomCloud.\n\n## Example Usage\n\n### Basic addon setting\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst flavorId = config.requireObject\u003cany\u003e(\"flavorId\");\nconst vpcId = config.requireObject\u003cany\u003e(\"vpcId\");\nconst subnetId = config.requireObject\u003cany\u003e(\"subnetId\");\nconst cluster1 = new opentelekomcloud.CceClusterV3(\"cluster_1\", {\n    name: \"cce-cluster-1\",\n    clusterType: \"VirtualMachine\",\n    flavorId: flavorId,\n    vpcId: vpcId,\n    subnetId: subnetId,\n    containerNetworkType: \"overlay_l2\",\n    kubernetesSvcIpRange: \"10.247.0.0/16\",\n    clusterVersion: \"v1.17.9-r0\",\n});\nconst addon = new opentelekomcloud.CceAddonV3(\"addon\", {\n    templateName: \"metrics-server\",\n    templateVersion: \"1.3.6\",\n    clusterId: cluster1.cceClusterV3Id,\n    values: {\n        basic: {\n            image_version: \"v0.6.2\",\n            swr_addr: \"100.125.7.25:20202\",\n            swr_user: \"cce-addons\",\n        },\n        custom: {},\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nflavor_id = config.require_object(\"flavorId\")\nvpc_id = config.require_object(\"vpcId\")\nsubnet_id = config.require_object(\"subnetId\")\ncluster1 = opentelekomcloud.CceClusterV3(\"cluster_1\",\n    name=\"cce-cluster-1\",\n    cluster_type=\"VirtualMachine\",\n    flavor_id=flavor_id,\n    vpc_id=vpc_id,\n    subnet_id=subnet_id,\n    container_network_type=\"overlay_l2\",\n    kubernetes_svc_ip_range=\"10.247.0.0/16\",\n    cluster_version=\"v1.17.9-r0\")\naddon = opentelekomcloud.CceAddonV3(\"addon\",\n    template_name=\"metrics-server\",\n    template_version=\"1.3.6\",\n    cluster_id=cluster1.cce_cluster_v3_id,\n    values={\n        \"basic\": {\n            \"image_version\": \"v0.6.2\",\n            \"swr_addr\": \"100.125.7.25:20202\",\n            \"swr_user\": \"cce-addons\",\n        },\n        \"custom\": {},\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var flavorId = config.RequireObject\u003cdynamic\u003e(\"flavorId\");\n    var vpcId = config.RequireObject\u003cdynamic\u003e(\"vpcId\");\n    var subnetId = config.RequireObject\u003cdynamic\u003e(\"subnetId\");\n    var cluster1 = new Opentelekomcloud.CceClusterV3(\"cluster_1\", new()\n    {\n        Name = \"cce-cluster-1\",\n        ClusterType = \"VirtualMachine\",\n        FlavorId = flavorId,\n        VpcId = vpcId,\n        SubnetId = subnetId,\n        ContainerNetworkType = \"overlay_l2\",\n        KubernetesSvcIpRange = \"10.247.0.0/16\",\n        ClusterVersion = \"v1.17.9-r0\",\n    });\n\n    var addon = new Opentelekomcloud.CceAddonV3(\"addon\", new()\n    {\n        TemplateName = \"metrics-server\",\n        TemplateVersion = \"1.3.6\",\n        ClusterId = cluster1.CceClusterV3Id,\n        Values = new Opentelekomcloud.Inputs.CceAddonV3ValuesArgs\n        {\n            Basic = \n            {\n                { \"image_version\", \"v0.6.2\" },\n                { \"swr_addr\", \"100.125.7.25:20202\" },\n                { \"swr_user\", \"cce-addons\" },\n            },\n            Custom = null,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tflavorId := cfg.RequireObject(\"flavorId\")\n\t\tvpcId := cfg.RequireObject(\"vpcId\")\n\t\tsubnetId := cfg.RequireObject(\"subnetId\")\n\t\tcluster1, err := opentelekomcloud.NewCceClusterV3(ctx, \"cluster_1\", \u0026opentelekomcloud.CceClusterV3Args{\n\t\t\tName:                 pulumi.String(\"cce-cluster-1\"),\n\t\t\tClusterType:          pulumi.String(\"VirtualMachine\"),\n\t\t\tFlavorId:             pulumi.Any(flavorId),\n\t\t\tVpcId:                pulumi.Any(vpcId),\n\t\t\tSubnetId:             pulumi.Any(subnetId),\n\t\t\tContainerNetworkType: pulumi.String(\"overlay_l2\"),\n\t\t\tKubernetesSvcIpRange: pulumi.String(\"10.247.0.0/16\"),\n\t\t\tClusterVersion:       pulumi.String(\"v1.17.9-r0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewCceAddonV3(ctx, \"addon\", \u0026opentelekomcloud.CceAddonV3Args{\n\t\t\tTemplateName:    pulumi.String(\"metrics-server\"),\n\t\t\tTemplateVersion: pulumi.String(\"1.3.6\"),\n\t\t\tClusterId:       cluster1.CceClusterV3Id,\n\t\t\tValues: \u0026opentelekomcloud.CceAddonV3ValuesArgs{\n\t\t\t\tBasic: pulumi.StringMap{\n\t\t\t\t\t\"image_version\": pulumi.String(\"v0.6.2\"),\n\t\t\t\t\t\"swr_addr\":      pulumi.String(\"100.125.7.25:20202\"),\n\t\t\t\t\t\"swr_user\":      pulumi.String(\"cce-addons\"),\n\t\t\t\t},\n\t\t\t\tCustom: pulumi.StringMap{},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.CceClusterV3;\nimport com.pulumi.opentelekomcloud.CceClusterV3Args;\nimport com.pulumi.opentelekomcloud.CceAddonV3;\nimport com.pulumi.opentelekomcloud.CceAddonV3Args;\nimport com.pulumi.opentelekomcloud.inputs.CceAddonV3ValuesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var flavorId = config.get(\"flavorId\");\n        final var vpcId = config.get(\"vpcId\");\n        final var subnetId = config.get(\"subnetId\");\n        var cluster1 = new CceClusterV3(\"cluster1\", CceClusterV3Args.builder()\n            .name(\"cce-cluster-1\")\n            .clusterType(\"VirtualMachine\")\n            .flavorId(flavorId)\n            .vpcId(vpcId)\n            .subnetId(subnetId)\n            .containerNetworkType(\"overlay_l2\")\n            .kubernetesSvcIpRange(\"10.247.0.0/16\")\n            .clusterVersion(\"v1.17.9-r0\")\n            .build());\n\n        var addon = new CceAddonV3(\"addon\", CceAddonV3Args.builder()\n            .templateName(\"metrics-server\")\n            .templateVersion(\"1.3.6\")\n            .clusterId(cluster1.cceClusterV3Id())\n            .values(CceAddonV3ValuesArgs.builder()\n                .basic(Map.ofEntries(\n                    Map.entry(\"image_version\", \"v0.6.2\"),\n                    Map.entry(\"swr_addr\", \"100.125.7.25:20202\"),\n                    Map.entry(\"swr_user\", \"cce-addons\")\n                ))\n                .custom(Map.ofEntries(\n                ))\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  flavorId:\n    type: dynamic\n  vpcId:\n    type: dynamic\n  subnetId:\n    type: dynamic\nresources:\n  cluster1:\n    type: opentelekomcloud:CceClusterV3\n    name: cluster_1\n    properties:\n      name: cce-cluster-1\n      clusterType: VirtualMachine\n      flavorId: ${flavorId}\n      vpcId: ${vpcId}\n      subnetId: ${subnetId}\n      containerNetworkType: overlay_l2\n      kubernetesSvcIpRange: 10.247.0.0/16\n      clusterVersion: v1.17.9-r0\n  addon:\n    type: opentelekomcloud:CceAddonV3\n    properties:\n      templateName: metrics-server\n      templateVersion: 1.3.6\n      clusterId: ${cluster1.cceClusterV3Id}\n      values:\n        basic:\n          image_version: v0.6.2\n          swr_addr: 100.125.7.25:20202\n          swr_user: cce-addons\n        custom: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### CCE addon management with data sources\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst vpcId = config.requireObject\u003cany\u003e(\"vpcId\");\nconst networkId = config.requireObject\u003cany\u003e(\"networkId\");\nconst regionName = config.requireObject\u003cany\u003e(\"regionName\");\nconst _this = opentelekomcloud.getIdentityProjectV3({});\nconst autoscaler = opentelekomcloud.getCceAddonTemplateV3({\n    addonVersion: autoscalerVersion,\n    addonName: \"autoscaler\",\n});\nconst cluster1 = new opentelekomcloud.CceClusterV3(\"cluster_1\", {\n    name: \"my_cluster\",\n    clusterType: \"VirtualMachine\",\n    flavorId: \"cce.s1.small\",\n    vpcId: vpcId,\n    subnetId: networkId,\n    clusterVersion: \"v1.25\",\n    containerNetworkType: \"overlay_l2\",\n    kubernetesSvcIpRange: \"10.247.0.0/16\",\n});\nconst autoscalerCceAddonV3 = new opentelekomcloud.CceAddonV3(\"autoscaler\", {\n    templateName: autoscaler.then(autoscaler =\u003e autoscaler.addonName),\n    templateVersion: autoscaler.then(autoscaler =\u003e autoscaler.addonVersion),\n    clusterId: cluster1.cceClusterV3Id,\n    values: {\n        basic: {\n            cceEndpoint: `https://cce.${regionName}.otc.t-systems.com`,\n            ecsEndpoint: `https://ecs.${regionName}.otc.t-systems.com`,\n            region: regionName,\n            swr_addr: autoscaler.then(autoscaler =\u003e autoscaler.swrAddr),\n            swr_user: autoscaler.then(autoscaler =\u003e autoscaler.swrUser),\n        },\n        custom: {\n            cluster_id: cluster1.cceClusterV3Id,\n            coresTotal: \"32000\",\n            expander: \"priority\",\n            logLevel: \"4\",\n            maxEmptyBulkDeleteFlag: \"10\",\n            maxNodeProvisionTime: \"15\",\n            maxNodesTotal: \"1000\",\n            memoryTotal: \"128000\",\n            scaleDownDelayAfterAdd: \"10\",\n            scaleDownDelayAfterDelete: \"11\",\n            scaleDownDelayAfterFailure: \"3\",\n            scaleDownEnabled: \"true\",\n            scaleDownUnneededTime: \"10\",\n            scaleDownUtilizationThreshold: \"0.5\",\n            scaleUpCpuUtilizationThreshold: \"1\",\n            scaleUpMemUtilizationThreshold: \"1\",\n            scaleUpUnscheduledPodEnabled: \"true\",\n            scaleUpUtilizationEnabled: \"true\",\n            tenant_id: _this.then(_this =\u003e _this.id),\n            unremovableNodeRecheckTimeout: \"5\",\n        },\n        flavor: `      {\n        \\\\\"description\\\\\": \\\\\"Has only one instance\\\\\",\n        \\\\\"name\\\\\": \\\\\"Single\\\\\",\n        \\\\\"replicas\\\\\": 1,\n        \\\\\"resources\\\\\": [\n          {\n            \\\\\"limitsCpu\\\\\": \\\\\"1000m\\\\\",\n            \\\\\"limitsMem\\\\\": \\\\\"1000Mi\\\\\",\n            \\\\\"name\\\\\": \\\\\"autoscaler\\\\\",\n            \\\\\"requestsCpu\\\\\": \\\\\"500m\\\\\",\n            \\\\\"requestsMem\\\\\": \\\\\"500Mi\\\\\"\n          }\n        ]\n      }\n`,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nvpc_id = config.require_object(\"vpcId\")\nnetwork_id = config.require_object(\"networkId\")\nregion_name = config.require_object(\"regionName\")\nthis = opentelekomcloud.get_identity_project_v3()\nautoscaler = opentelekomcloud.get_cce_addon_template_v3(addon_version=autoscaler_version,\n    addon_name=\"autoscaler\")\ncluster1 = opentelekomcloud.CceClusterV3(\"cluster_1\",\n    name=\"my_cluster\",\n    cluster_type=\"VirtualMachine\",\n    flavor_id=\"cce.s1.small\",\n    vpc_id=vpc_id,\n    subnet_id=network_id,\n    cluster_version=\"v1.25\",\n    container_network_type=\"overlay_l2\",\n    kubernetes_svc_ip_range=\"10.247.0.0/16\")\nautoscaler_cce_addon_v3 = opentelekomcloud.CceAddonV3(\"autoscaler\",\n    template_name=autoscaler.addon_name,\n    template_version=autoscaler.addon_version,\n    cluster_id=cluster1.cce_cluster_v3_id,\n    values={\n        \"basic\": {\n            \"cceEndpoint\": f\"https://cce.{region_name}.otc.t-systems.com\",\n            \"ecsEndpoint\": f\"https://ecs.{region_name}.otc.t-systems.com\",\n            \"region\": region_name,\n            \"swr_addr\": autoscaler.swr_addr,\n            \"swr_user\": autoscaler.swr_user,\n        },\n        \"custom\": {\n            \"cluster_id\": cluster1.cce_cluster_v3_id,\n            \"coresTotal\": \"32000\",\n            \"expander\": \"priority\",\n            \"logLevel\": \"4\",\n            \"maxEmptyBulkDeleteFlag\": \"10\",\n            \"maxNodeProvisionTime\": \"15\",\n            \"maxNodesTotal\": \"1000\",\n            \"memoryTotal\": \"128000\",\n            \"scaleDownDelayAfterAdd\": \"10\",\n            \"scaleDownDelayAfterDelete\": \"11\",\n            \"scaleDownDelayAfterFailure\": \"3\",\n            \"scaleDownEnabled\": \"true\",\n            \"scaleDownUnneededTime\": \"10\",\n            \"scaleDownUtilizationThreshold\": \"0.5\",\n            \"scaleUpCpuUtilizationThreshold\": \"1\",\n            \"scaleUpMemUtilizationThreshold\": \"1\",\n            \"scaleUpUnscheduledPodEnabled\": \"true\",\n            \"scaleUpUtilizationEnabled\": \"true\",\n            \"tenant_id\": this.id,\n            \"unremovableNodeRecheckTimeout\": \"5\",\n        },\n        \"flavor\": \"\"\"      {\n        \\\"description\\\": \\\"Has only one instance\\\",\n        \\\"name\\\": \\\"Single\\\",\n        \\\"replicas\\\": 1,\n        \\\"resources\\\": [\n          {\n            \\\"limitsCpu\\\": \\\"1000m\\\",\n            \\\"limitsMem\\\": \\\"1000Mi\\\",\n            \\\"name\\\": \\\"autoscaler\\\",\n            \\\"requestsCpu\\\": \\\"500m\\\",\n            \\\"requestsMem\\\": \\\"500Mi\\\"\n          }\n        ]\n      }\n\"\"\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var vpcId = config.RequireObject\u003cdynamic\u003e(\"vpcId\");\n    var networkId = config.RequireObject\u003cdynamic\u003e(\"networkId\");\n    var regionName = config.RequireObject\u003cdynamic\u003e(\"regionName\");\n    var @this = Opentelekomcloud.GetIdentityProjectV3.Invoke();\n\n    var autoscaler = Opentelekomcloud.GetCceAddonTemplateV3.Invoke(new()\n    {\n        AddonVersion = autoscalerVersion,\n        AddonName = \"autoscaler\",\n    });\n\n    var cluster1 = new Opentelekomcloud.CceClusterV3(\"cluster_1\", new()\n    {\n        Name = \"my_cluster\",\n        ClusterType = \"VirtualMachine\",\n        FlavorId = \"cce.s1.small\",\n        VpcId = vpcId,\n        SubnetId = networkId,\n        ClusterVersion = \"v1.25\",\n        ContainerNetworkType = \"overlay_l2\",\n        KubernetesSvcIpRange = \"10.247.0.0/16\",\n    });\n\n    var autoscalerCceAddonV3 = new Opentelekomcloud.CceAddonV3(\"autoscaler\", new()\n    {\n        TemplateName = autoscaler.Apply(getCceAddonTemplateV3Result =\u003e getCceAddonTemplateV3Result.AddonName),\n        TemplateVersion = autoscaler.Apply(getCceAddonTemplateV3Result =\u003e getCceAddonTemplateV3Result.AddonVersion),\n        ClusterId = cluster1.CceClusterV3Id,\n        Values = new Opentelekomcloud.Inputs.CceAddonV3ValuesArgs\n        {\n            Basic = \n            {\n                { \"cceEndpoint\", $\"https://cce.{regionName}.otc.t-systems.com\" },\n                { \"ecsEndpoint\", $\"https://ecs.{regionName}.otc.t-systems.com\" },\n                { \"region\", regionName },\n                { \"swr_addr\", autoscaler.Apply(getCceAddonTemplateV3Result =\u003e getCceAddonTemplateV3Result.SwrAddr) },\n                { \"swr_user\", autoscaler.Apply(getCceAddonTemplateV3Result =\u003e getCceAddonTemplateV3Result.SwrUser) },\n            },\n            Custom = \n            {\n                { \"cluster_id\", cluster1.CceClusterV3Id },\n                { \"coresTotal\", \"32000\" },\n                { \"expander\", \"priority\" },\n                { \"logLevel\", \"4\" },\n                { \"maxEmptyBulkDeleteFlag\", \"10\" },\n                { \"maxNodeProvisionTime\", \"15\" },\n                { \"maxNodesTotal\", \"1000\" },\n                { \"memoryTotal\", \"128000\" },\n                { \"scaleDownDelayAfterAdd\", \"10\" },\n                { \"scaleDownDelayAfterDelete\", \"11\" },\n                { \"scaleDownDelayAfterFailure\", \"3\" },\n                { \"scaleDownEnabled\", \"true\" },\n                { \"scaleDownUnneededTime\", \"10\" },\n                { \"scaleDownUtilizationThreshold\", \"0.5\" },\n                { \"scaleUpCpuUtilizationThreshold\", \"1\" },\n                { \"scaleUpMemUtilizationThreshold\", \"1\" },\n                { \"scaleUpUnscheduledPodEnabled\", \"true\" },\n                { \"scaleUpUtilizationEnabled\", \"true\" },\n                { \"tenant_id\", @this.Apply(@this =\u003e @this.Apply(getIdentityProjectV3Result =\u003e getIdentityProjectV3Result.Id)) },\n                { \"unremovableNodeRecheckTimeout\", \"5\" },\n            },\n            Flavor = @\"      {\n        \\\"\"description\\\"\": \\\"\"Has only one instance\\\"\",\n        \\\"\"name\\\"\": \\\"\"Single\\\"\",\n        \\\"\"replicas\\\"\": 1,\n        \\\"\"resources\\\"\": [\n          {\n            \\\"\"limitsCpu\\\"\": \\\"\"1000m\\\"\",\n            \\\"\"limitsMem\\\"\": \\\"\"1000Mi\\\"\",\n            \\\"\"name\\\"\": \\\"\"autoscaler\\\"\",\n            \\\"\"requestsCpu\\\"\": \\\"\"500m\\\"\",\n            \\\"\"requestsMem\\\"\": \\\"\"500Mi\\\"\"\n          }\n        ]\n      }\n\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tvpcId := cfg.RequireObject(\"vpcId\")\n\t\tnetworkId := cfg.RequireObject(\"networkId\")\n\t\tregionName := cfg.RequireObject(\"regionName\")\n\t\tthis, err := opentelekomcloud.LookupIdentityProjectV3(ctx, \u0026opentelekomcloud.LookupIdentityProjectV3Args{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tautoscaler, err := opentelekomcloud.GetCceAddonTemplateV3(ctx, \u0026opentelekomcloud.GetCceAddonTemplateV3Args{\n\t\t\tAddonVersion: autoscalerVersion,\n\t\t\tAddonName:    \"autoscaler\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcluster1, err := opentelekomcloud.NewCceClusterV3(ctx, \"cluster_1\", \u0026opentelekomcloud.CceClusterV3Args{\n\t\t\tName:                 pulumi.String(\"my_cluster\"),\n\t\t\tClusterType:          pulumi.String(\"VirtualMachine\"),\n\t\t\tFlavorId:             pulumi.String(\"cce.s1.small\"),\n\t\t\tVpcId:                pulumi.Any(vpcId),\n\t\t\tSubnetId:             pulumi.Any(networkId),\n\t\t\tClusterVersion:       pulumi.String(\"v1.25\"),\n\t\t\tContainerNetworkType: pulumi.String(\"overlay_l2\"),\n\t\t\tKubernetesSvcIpRange: pulumi.String(\"10.247.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewCceAddonV3(ctx, \"autoscaler\", \u0026opentelekomcloud.CceAddonV3Args{\n\t\t\tTemplateName:    pulumi.String(autoscaler.AddonName),\n\t\t\tTemplateVersion: pulumi.String(autoscaler.AddonVersion),\n\t\t\tClusterId:       cluster1.CceClusterV3Id,\n\t\t\tValues: \u0026opentelekomcloud.CceAddonV3ValuesArgs{\n\t\t\t\tBasic: pulumi.StringMap{\n\t\t\t\t\t\"cceEndpoint\": pulumi.Sprintf(\"https://cce.%v.otc.t-systems.com\", regionName),\n\t\t\t\t\t\"ecsEndpoint\": pulumi.Sprintf(\"https://ecs.%v.otc.t-systems.com\", regionName),\n\t\t\t\t\t\"region\":      pulumi.Any(regionName),\n\t\t\t\t\t\"swr_addr\":    pulumi.String(autoscaler.SwrAddr),\n\t\t\t\t\t\"swr_user\":    pulumi.String(autoscaler.SwrUser),\n\t\t\t\t},\n\t\t\t\tCustom: pulumi.StringMap{\n\t\t\t\t\t\"cluster_id\":                     cluster1.CceClusterV3Id,\n\t\t\t\t\t\"coresTotal\":                     pulumi.String(\"32000\"),\n\t\t\t\t\t\"expander\":                       pulumi.String(\"priority\"),\n\t\t\t\t\t\"logLevel\":                       pulumi.String(\"4\"),\n\t\t\t\t\t\"maxEmptyBulkDeleteFlag\":         pulumi.String(\"10\"),\n\t\t\t\t\t\"maxNodeProvisionTime\":           pulumi.String(\"15\"),\n\t\t\t\t\t\"maxNodesTotal\":                  pulumi.String(\"1000\"),\n\t\t\t\t\t\"memoryTotal\":                    pulumi.String(\"128000\"),\n\t\t\t\t\t\"scaleDownDelayAfterAdd\":         pulumi.String(\"10\"),\n\t\t\t\t\t\"scaleDownDelayAfterDelete\":      pulumi.String(\"11\"),\n\t\t\t\t\t\"scaleDownDelayAfterFailure\":     pulumi.String(\"3\"),\n\t\t\t\t\t\"scaleDownEnabled\":               pulumi.String(\"true\"),\n\t\t\t\t\t\"scaleDownUnneededTime\":          pulumi.String(\"10\"),\n\t\t\t\t\t\"scaleDownUtilizationThreshold\":  pulumi.String(\"0.5\"),\n\t\t\t\t\t\"scaleUpCpuUtilizationThreshold\": pulumi.String(\"1\"),\n\t\t\t\t\t\"scaleUpMemUtilizationThreshold\": pulumi.String(\"1\"),\n\t\t\t\t\t\"scaleUpUnscheduledPodEnabled\":   pulumi.String(\"true\"),\n\t\t\t\t\t\"scaleUpUtilizationEnabled\":      pulumi.String(\"true\"),\n\t\t\t\t\t\"tenant_id\":                      pulumi.String(this.Id),\n\t\t\t\t\t\"unremovableNodeRecheckTimeout\":  pulumi.String(\"5\"),\n\t\t\t\t},\n\t\t\t\tFlavor: pulumi.String(`      {\n        \\\"description\\\": \\\"Has only one instance\\\",\n        \\\"name\\\": \\\"Single\\\",\n        \\\"replicas\\\": 1,\n        \\\"resources\\\": [\n          {\n            \\\"limitsCpu\\\": \\\"1000m\\\",\n            \\\"limitsMem\\\": \\\"1000Mi\\\",\n            \\\"name\\\": \\\"autoscaler\\\",\n            \\\"requestsCpu\\\": \\\"500m\\\",\n            \\\"requestsMem\\\": \\\"500Mi\\\"\n          }\n        ]\n      }\n`),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetIdentityProjectV3Args;\nimport com.pulumi.opentelekomcloud.inputs.GetCceAddonTemplateV3Args;\nimport com.pulumi.opentelekomcloud.CceClusterV3;\nimport com.pulumi.opentelekomcloud.CceClusterV3Args;\nimport com.pulumi.opentelekomcloud.CceAddonV3;\nimport com.pulumi.opentelekomcloud.CceAddonV3Args;\nimport com.pulumi.opentelekomcloud.inputs.CceAddonV3ValuesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var vpcId = config.get(\"vpcId\");\n        final var networkId = config.get(\"networkId\");\n        final var regionName = config.get(\"regionName\");\n        final var this = OpentelekomcloudFunctions.getIdentityProjectV3(GetIdentityProjectV3Args.builder()\n            .build());\n\n        final var autoscaler = OpentelekomcloudFunctions.getCceAddonTemplateV3(GetCceAddonTemplateV3Args.builder()\n            .addonVersion(autoscalerVersion)\n            .addonName(\"autoscaler\")\n            .build());\n\n        var cluster1 = new CceClusterV3(\"cluster1\", CceClusterV3Args.builder()\n            .name(\"my_cluster\")\n            .clusterType(\"VirtualMachine\")\n            .flavorId(\"cce.s1.small\")\n            .vpcId(vpcId)\n            .subnetId(networkId)\n            .clusterVersion(\"v1.25\")\n            .containerNetworkType(\"overlay_l2\")\n            .kubernetesSvcIpRange(\"10.247.0.0/16\")\n            .build());\n\n        var autoscalerCceAddonV3 = new CceAddonV3(\"autoscalerCceAddonV3\", CceAddonV3Args.builder()\n            .templateName(autoscaler.addonName())\n            .templateVersion(autoscaler.addonVersion())\n            .clusterId(cluster1.cceClusterV3Id())\n            .values(CceAddonV3ValuesArgs.builder()\n                .basic(Map.ofEntries(\n                    Map.entry(\"cceEndpoint\", String.format(\"https://cce.%s.otc.t-systems.com\", regionName)),\n                    Map.entry(\"ecsEndpoint\", String.format(\"https://ecs.%s.otc.t-systems.com\", regionName)),\n                    Map.entry(\"region\", regionName),\n                    Map.entry(\"swr_addr\", autoscaler.swrAddr()),\n                    Map.entry(\"swr_user\", autoscaler.swrUser())\n                ))\n                .custom(Map.ofEntries(\n                    Map.entry(\"cluster_id\", cluster1.cceClusterV3Id()),\n                    Map.entry(\"coresTotal\", \"32000\"),\n                    Map.entry(\"expander\", \"priority\"),\n                    Map.entry(\"logLevel\", \"4\"),\n                    Map.entry(\"maxEmptyBulkDeleteFlag\", \"10\"),\n                    Map.entry(\"maxNodeProvisionTime\", \"15\"),\n                    Map.entry(\"maxNodesTotal\", \"1000\"),\n                    Map.entry(\"memoryTotal\", \"128000\"),\n                    Map.entry(\"scaleDownDelayAfterAdd\", \"10\"),\n                    Map.entry(\"scaleDownDelayAfterDelete\", \"11\"),\n                    Map.entry(\"scaleDownDelayAfterFailure\", \"3\"),\n                    Map.entry(\"scaleDownEnabled\", \"true\"),\n                    Map.entry(\"scaleDownUnneededTime\", \"10\"),\n                    Map.entry(\"scaleDownUtilizationThreshold\", \"0.5\"),\n                    Map.entry(\"scaleUpCpuUtilizationThreshold\", \"1\"),\n                    Map.entry(\"scaleUpMemUtilizationThreshold\", \"1\"),\n                    Map.entry(\"scaleUpUnscheduledPodEnabled\", \"true\"),\n                    Map.entry(\"scaleUpUtilizationEnabled\", \"true\"),\n                    Map.entry(\"tenant_id\", this_.id()),\n                    Map.entry(\"unremovableNodeRecheckTimeout\", \"5\")\n                ))\n                .flavor(\"\"\"\n      {\n        \\\"description\\\": \\\"Has only one instance\\\",\n        \\\"name\\\": \\\"Single\\\",\n        \\\"replicas\\\": 1,\n        \\\"resources\\\": [\n          {\n            \\\"limitsCpu\\\": \\\"1000m\\\",\n            \\\"limitsMem\\\": \\\"1000Mi\\\",\n            \\\"name\\\": \\\"autoscaler\\\",\n            \\\"requestsCpu\\\": \\\"500m\\\",\n            \\\"requestsMem\\\": \\\"500Mi\\\"\n          }\n        ]\n      }\n                \"\"\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  vpcId:\n    type: dynamic\n  networkId:\n    type: dynamic\n  regionName:\n    type: dynamic\nresources:\n  cluster1:\n    type: opentelekomcloud:CceClusterV3\n    name: cluster_1\n    properties:\n      name: my_cluster\n      clusterType: VirtualMachine\n      flavorId: cce.s1.small\n      vpcId: ${vpcId}\n      subnetId: ${networkId}\n      clusterVersion: v1.25\n      containerNetworkType: overlay_l2\n      kubernetesSvcIpRange: 10.247.0.0/16\n  autoscalerCceAddonV3:\n    type: opentelekomcloud:CceAddonV3\n    name: autoscaler\n    properties:\n      templateName: ${autoscaler.addonName}\n      templateVersion: ${autoscaler.addonVersion}\n      clusterId: ${cluster1.cceClusterV3Id}\n      values:\n        basic:\n          cceEndpoint: https://cce.${regionName}.otc.t-systems.com\n          ecsEndpoint: https://ecs.${regionName}.otc.t-systems.com\n          region: ${regionName}\n          swr_addr: ${autoscaler.swrAddr}\n          swr_user: ${autoscaler.swrUser}\n        custom:\n          cluster_id: ${cluster1.cceClusterV3Id}\n          coresTotal: 32000\n          expander: priority\n          logLevel: 4\n          maxEmptyBulkDeleteFlag: 10\n          maxNodeProvisionTime: 15\n          maxNodesTotal: 1000\n          memoryTotal: 128000\n          scaleDownDelayAfterAdd: 10\n          scaleDownDelayAfterDelete: 11\n          scaleDownDelayAfterFailure: 3\n          scaleDownEnabled: true\n          scaleDownUnneededTime: 10\n          scaleDownUtilizationThreshold: 0.5\n          scaleUpCpuUtilizationThreshold: 1\n          scaleUpMemUtilizationThreshold: 1\n          scaleUpUnscheduledPodEnabled: true\n          scaleUpUtilizationEnabled: true\n          tenant_id: ${this.id}\n          unremovableNodeRecheckTimeout: 5\n        flavor: |2\n                {\n                  \\\"description\\\": \\\"Has only one instance\\\",\n                  \\\"name\\\": \\\"Single\\\",\n                  \\\"replicas\\\": 1,\n                  \\\"resources\\\": [\n                    {\n                      \\\"limitsCpu\\\": \\\"1000m\\\",\n                      \\\"limitsMem\\\": \\\"1000Mi\\\",\n                      \\\"name\\\": \\\"autoscaler\\\",\n                      \\\"requestsCpu\\\": \\\"500m\\\",\n                      \\\"requestsMem\\\": \\\"500Mi\\\"\n                    }\n                  ]\n                }\nvariables:\n  this:\n    fn::invoke:\n      function: opentelekomcloud:getIdentityProjectV3\n      arguments: {}\n  autoscaler:\n    fn::invoke:\n      function: opentelekomcloud:getCceAddonTemplateV3\n      arguments:\n        addonVersion: ${autoscalerVersion}\n        addonName: autoscaler\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCCE addons can be imported using the `cluster_id/addon_id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/cceAddonV3:CceAddonV3 autoscaler c1881895-cdcb-4d23-96cb-032e6a3ee667/ea257959-eeb1-4c10-8d33-26f0409a755d\n```\n\n","properties":{"cceAddonV3Id":{"type":"string"},"clusterId":{"type":"string","description":"ID of cluster to install the add-on on.\n"},"description":{"type":"string","description":"Installed add-on description\n"},"name":{"type":"string","description":"Installed add-on name.\n"},"templateName":{"type":"string","description":"Name of the add-on template to be installed, for example, \u003cspan pulumi-lang-nodejs=\"`coredns`\" pulumi-lang-dotnet=\"`Coredns`\" pulumi-lang-go=\"`coredns`\" pulumi-lang-python=\"`coredns`\" pulumi-lang-yaml=\"`coredns`\" pulumi-lang-java=\"`coredns`\"\u003e`coredns`\u003c/span\u003e.\n"},"templateVersion":{"type":"string","description":"Version number of the add-on to be installed or upgraded, for example, `v1.0.0`.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCceAddonV3Timeouts:CceAddonV3Timeouts"},"values":{"$ref":"#/types/opentelekomcloud:index%2FCceAddonV3Values:CceAddonV3Values","description":"Parameters of the template to be installed or upgraded.\n"}},"type":"object","required":["cceAddonV3Id","clusterId","description","name","templateName","templateVersion","values"],"inputProperties":{"cceAddonV3Id":{"type":"string"},"clusterId":{"type":"string","description":"ID of cluster to install the add-on on.\n"},"templateName":{"type":"string","description":"Name of the add-on template to be installed, for example, \u003cspan pulumi-lang-nodejs=\"`coredns`\" pulumi-lang-dotnet=\"`Coredns`\" pulumi-lang-go=\"`coredns`\" pulumi-lang-python=\"`coredns`\" pulumi-lang-yaml=\"`coredns`\" pulumi-lang-java=\"`coredns`\"\u003e`coredns`\u003c/span\u003e.\n"},"templateVersion":{"type":"string","description":"Version number of the add-on to be installed or upgraded, for example, `v1.0.0`.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCceAddonV3Timeouts:CceAddonV3Timeouts"},"values":{"$ref":"#/types/opentelekomcloud:index%2FCceAddonV3Values:CceAddonV3Values","description":"Parameters of the template to be installed or upgraded.\n"}},"requiredInputs":["clusterId","templateName","templateVersion","values"],"stateInputs":{"description":"Input properties used for looking up and filtering CceAddonV3 resources.\n","properties":{"cceAddonV3Id":{"type":"string"},"clusterId":{"type":"string","description":"ID of cluster to install the add-on on.\n"},"description":{"type":"string","description":"Installed add-on description\n"},"name":{"type":"string","description":"Installed add-on name.\n"},"templateName":{"type":"string","description":"Name of the add-on template to be installed, for example, \u003cspan pulumi-lang-nodejs=\"`coredns`\" pulumi-lang-dotnet=\"`Coredns`\" pulumi-lang-go=\"`coredns`\" pulumi-lang-python=\"`coredns`\" pulumi-lang-yaml=\"`coredns`\" pulumi-lang-java=\"`coredns`\"\u003e`coredns`\u003c/span\u003e.\n"},"templateVersion":{"type":"string","description":"Version number of the add-on to be installed or upgraded, for example, `v1.0.0`.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCceAddonV3Timeouts:CceAddonV3Timeouts"},"values":{"$ref":"#/types/opentelekomcloud:index%2FCceAddonV3Values:CceAddonV3Values","description":"Parameters of the template to be installed or upgraded.\n"}},"type":"object"}},"opentelekomcloud:index/cceClusterV3:CceClusterV3":{"description":"\n\n## Import\n\nCluster can be imported using the cluster id, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/cceClusterV3:CceClusterV3 cluster_1 4779ab1c-7c1a-44b1-a02e-93dfc361b32d\n```\n\n","properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Cluster annotation, key/value pair format. Changing this parameter will create a new cluster resource.\n"},"apiAccessTrustlists":{"type":"array","items":{"type":"string"},"description":"Specifies the trustlist of network CIDRs that are allowed to access cluster APIs. Specified when creating a CCE cluster.\nChanging this parameter will create a new cluster resource.\n"},"authenticatingProxy":{"$ref":"#/types/opentelekomcloud:index%2FCceClusterV3AuthenticatingProxy:CceClusterV3AuthenticatingProxy","description":"Authenticating proxy configuration. Required if \u003cspan pulumi-lang-nodejs=\"`authenticationMode`\" pulumi-lang-dotnet=\"`AuthenticationMode`\" pulumi-lang-go=\"`authenticationMode`\" pulumi-lang-python=\"`authentication_mode`\" pulumi-lang-yaml=\"`authenticationMode`\" pulumi-lang-java=\"`authenticationMode`\"\u003e`authentication_mode`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`authenticatingProxy`\" pulumi-lang-dotnet=\"`AuthenticatingProxy`\" pulumi-lang-go=\"`authenticatingProxy`\" pulumi-lang-python=\"`authenticating_proxy`\" pulumi-lang-yaml=\"`authenticatingProxy`\" pulumi-lang-java=\"`authenticatingProxy`\"\u003e`authenticating_proxy`\u003c/span\u003e.\n"},"authenticatingProxyCa":{"type":"string","description":"CA root certificate provided in the \u003cspan pulumi-lang-nodejs=\"`authenticatingProxy`\" pulumi-lang-dotnet=\"`AuthenticatingProxy`\" pulumi-lang-go=\"`authenticatingProxy`\" pulumi-lang-python=\"`authenticating_proxy`\" pulumi-lang-yaml=\"`authenticatingProxy`\" pulumi-lang-java=\"`authenticatingProxy`\"\u003e`authenticating_proxy`\u003c/span\u003e mode.\nDeprecated, use \u003cspan pulumi-lang-nodejs=\"`authenticatingProxy`\" pulumi-lang-dotnet=\"`AuthenticatingProxy`\" pulumi-lang-go=\"`authenticatingProxy`\" pulumi-lang-python=\"`authenticating_proxy`\" pulumi-lang-yaml=\"`authenticatingProxy`\" pulumi-lang-java=\"`authenticatingProxy`\"\u003e`authenticating_proxy`\u003c/span\u003e instead.\n","deprecationMessage":"Deprecated"},"authenticationMode":{"type":"string","description":"Cluster authentication mode.\n* Clusters of Kubernetes v1.11 and earlier\nPossible values: \u003cspan pulumi-lang-nodejs=\"`x509`\" pulumi-lang-dotnet=\"`X509`\" pulumi-lang-go=\"`x509`\" pulumi-lang-python=\"`x509`\" pulumi-lang-yaml=\"`x509`\" pulumi-lang-java=\"`x509`\"\u003e`x509`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`rbac`\" pulumi-lang-dotnet=\"`Rbac`\" pulumi-lang-go=\"`rbac`\" pulumi-lang-python=\"`rbac`\" pulumi-lang-yaml=\"`rbac`\" pulumi-lang-java=\"`rbac`\"\u003e`rbac`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`authenticatingProxy`\" pulumi-lang-dotnet=\"`AuthenticatingProxy`\" pulumi-lang-go=\"`authenticatingProxy`\" pulumi-lang-python=\"`authenticating_proxy`\" pulumi-lang-yaml=\"`authenticatingProxy`\" pulumi-lang-java=\"`authenticatingProxy`\"\u003e`authenticating_proxy`\u003c/span\u003e\n* Clusters of Kubernetes v1.13 and later\nPossible values: \u003cspan pulumi-lang-nodejs=\"`rbac`\" pulumi-lang-dotnet=\"`Rbac`\" pulumi-lang-go=\"`rbac`\" pulumi-lang-python=\"`rbac`\" pulumi-lang-yaml=\"`rbac`\" pulumi-lang-java=\"`rbac`\"\u003e`rbac`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`authenticatingProxy`\" pulumi-lang-dotnet=\"`AuthenticatingProxy`\" pulumi-lang-go=\"`authenticatingProxy`\" pulumi-lang-python=\"`authenticating_proxy`\" pulumi-lang-yaml=\"`authenticatingProxy`\" pulumi-lang-java=\"`authenticatingProxy`\"\u003e`authenticating_proxy`\u003c/span\u003e\n\nDefault value: \u003cspan pulumi-lang-nodejs=\"`rbac`\" pulumi-lang-dotnet=\"`Rbac`\" pulumi-lang-go=\"`rbac`\" pulumi-lang-python=\"`rbac`\" pulumi-lang-yaml=\"`rbac`\" pulumi-lang-java=\"`rbac`\"\u003e`rbac`\u003c/span\u003e\nChanging this parameter will create a new cluster resource.\n"},"billingMode":{"type":"number","description":"Charging mode of the cluster, which is 0 (on demand). Changing this parameter will create a new cluster resource.\n"},"cceClusterV3Id":{"type":"string","description":"ID of the cluster resource.\n"},"certificateClusters":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCceClusterV3CertificateCluster:CceClusterV3CertificateCluster"}},"certificateUsers":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCceClusterV3CertificateUser:CceClusterV3CertificateUser"}},"clusterType":{"type":"string","description":"Cluster Type, possible values are `VirtualMachine` and `BareMetal`. Changing this parameter will create a new cluster resource.\n"},"clusterVersion":{"type":"string","description":"For the cluster version, possible values are `v1.29`, `v1.28`, `v1.27`, `v1.25`.\nIf this parameter is not set, the cluster of the latest version is created by default.\nChanging this parameter will create a new cluster resource. [OTC-API](https://docs.otc.t-systems.com/en-us/api2/cce/cce_02_0236.html)\n"},"componentConfigurations":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCceClusterV3ComponentConfiguration:CceClusterV3ComponentConfiguration"},"description":"Specifies the kubernetes component configurations.\nFor details, see [documentation](https://docs.otc.t-systems.com/cloud-container-engine/umn/clusters/managing_clusters/modifying_cluster_configurations.html#cce-10-0213).\nThe object structure is documented below.\n"},"containerNetworkCidr":{"type":"string","description":"Container network segment. Changing this parameter will create a new cluster resource.\n"},"containerNetworkType":{"type":"string","description":"Container network type.\n"},"customSans":{"type":"array","items":{"type":"string"},"description":"Specifies the custom san to add to certificate (array of string).\n"},"deleteAllNetwork":{"type":"string","description":"Specified whether to delete all associated network resources when deleting the CCE\ncluster. valid values are **true**, **try** and **false**. Default is **false**.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"cceClusterMasters\"\" pulumi-lang-dotnet=\"\"CceClusterMasters\"\" pulumi-lang-go=\"\"cceClusterMasters\"\" pulumi-lang-python=\"\"cce_cluster_masters\"\" pulumi-lang-yaml=\"\"cceClusterMasters\"\" pulumi-lang-java=\"\"cceClusterMasters\"\"\u003e\"cce_cluster_masters\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`masters`\" pulumi-lang-dotnet=\"`Masters`\" pulumi-lang-go=\"`masters`\" pulumi-lang-python=\"`masters`\" pulumi-lang-yaml=\"`masters`\" pulumi-lang-java=\"`masters`\"\u003e`masters`\u003c/span\u003e block supports:\n"},"deleteAllStorage":{"type":"string","description":"Specified whether to delete all associated storage resources when deleting the CCE\ncluster. valid values are **true**, **try** and **false**. Default is **false**.\n"},"deleteEfs":{"type":"string","description":"Specified whether to unbind associated SFS Turbo file systems when deleting the CCE\ncluster. valid values are **true**, **try** and **false**. Default is **false**.\n"},"deleteEni":{"type":"string","description":"Specified whether to delete ENI ports when deleting the CCE\ncluster. valid values are **true**, **try** and **false**. Default is **false**.\n"},"deleteEvs":{"type":"string","description":"Specified whether to delete associated EVS disks when deleting the CCE cluster.\nvalid values are **true**, **try** and **false**. Default is **false**.\n"},"deleteNet":{"type":"string","description":"Specified whether to delete cluster Service/ingress-related resources, such as ELB when deleting the CCE\ncluster. valid values are **true**, **try** and **false**. Default is **false**.\n"},"deleteObs":{"type":"string","description":"Specified whether to delete associated OBS buckets when deleting the CCE cluster.\nvalid values are **true**, **try** and **false**. Default is **false**.\n"},"deleteSfs":{"type":"string","description":"Specified whether to delete associated SFS file systems when deleting the CCE\ncluster. valid values are **true**, **try** and **false**. Default is **false**.\n"},"description":{"type":"string","description":"Cluster description.\n"},"eip":{"type":"string","description":"EIP address of the cluster.\n"},"enableVolumeEncryption":{"type":"boolean","description":"System and data disks encryption of master nodes. Changing this parameter will create a new cluster resource.\n"},"eniSubnetCidr":{"type":"string","description":"Specifies the ENI network segment. Specified when creating a CCE Turbo cluster. Changing this parameter will create a new cluster resource.\n"},"eniSubnetId":{"type":"string","description":"- (Optional, String, ForceNew) Specifies the ENI subnet ID. Specified when creating a CCE Turbo cluster. Changing this parameter will create a new cluster resource.\n"},"extendParam":{"type":"object","additionalProperties":{"type":"string"},"description":"Extended parameter. Changing this parameter will create a new cluster resource.\n[List of cluster extended params.](https://docs.otc.t-systems.com/cloud-container-engine/api-ref/apis/cluster_management/creating_a_cluster.html#cce-02-0236-table17575013586)\n"},"external":{"type":"string","description":"The external network address.\n"},"externalOtc":{"type":"string","description":"The endpoint of the cluster to be accessed through API Gateway.\n"},"flavorId":{"type":"string","description":"Cluster specifications. Changing this parameter will create a new cluster resource.\n* `cce.s1.small` - small-scale single cluster (up to 50 nodes).\n* `cce.s1.medium` - medium-scale single cluster (up to 200 nodes).\n* `cce.s2.small` - small-scale HA cluster (up to 50 nodes).\n* `cce.s2.medium` - medium-scale HA cluster (up to 200 nodes).\n* `cce.s2.large` - large-scale HA cluster (up to 1000 nodes).\n* `cce.s2.xlarge` - ultra-large-scale, high availability cluster (\u003c= 2,000 nodes).\n"},"highwaySubnetId":{"type":"string","description":"The ID of the high speed network used to create bare metal nodes. Changing this parameter will create a new cluster resource.\n"},"ignoreAddons":{"type":"boolean","description":"Skip all cluster addons operations.\n"},"ignoreCertificateClustersData":{"type":"boolean","description":"Skip sensitive cluster data.\n"},"ignoreCertificateUsersData":{"type":"boolean","description":"Skip sensitive user data.\n"},"installedAddons":{"type":"array","items":{"type":"string"},"description":"List of installed addon IDs. Empty if \u003cspan pulumi-lang-nodejs=\"`ignoreAddons`\" pulumi-lang-dotnet=\"`IgnoreAddons`\" pulumi-lang-go=\"`ignoreAddons`\" pulumi-lang-python=\"`ignore_addons`\" pulumi-lang-yaml=\"`ignoreAddons`\" pulumi-lang-java=\"`ignoreAddons`\"\u003e`ignore_addons`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"internal":{"type":"string","description":"The internal network address.\n"},"ipv6Enable":{"type":"boolean","description":"Specifies whether the cluster supports IPv6 addresses. This field is supported in clusters of v1.25 and later versions. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. If \u003cspan pulumi-lang-nodejs=\"`ipv6Enable`\" pulumi-lang-dotnet=\"`Ipv6Enable`\" pulumi-lang-go=\"`ipv6Enable`\" pulumi-lang-python=\"`ipv6_enable`\" pulumi-lang-yaml=\"`ipv6Enable`\" pulumi-lang-java=\"`ipv6Enable`\"\u003e`ipv6_enable`\u003c/span\u003e is true, subnet should have ipv6 enabled and \u003cspan pulumi-lang-nodejs=\"`kubeProxyMode`\" pulumi-lang-dotnet=\"`KubeProxyMode`\" pulumi-lang-go=\"`kubeProxyMode`\" pulumi-lang-python=\"`kube_proxy_mode`\" pulumi-lang-yaml=\"`kubeProxyMode`\" pulumi-lang-java=\"`kubeProxyMode`\"\u003e`kube_proxy_mode`\u003c/span\u003e value can only be \u003cspan pulumi-lang-nodejs=\"`ipvs`\" pulumi-lang-dotnet=\"`Ipvs`\" pulumi-lang-go=\"`ipvs`\" pulumi-lang-python=\"`ipvs`\" pulumi-lang-yaml=\"`ipvs`\" pulumi-lang-java=\"`ipvs`\"\u003e`ipvs`\u003c/span\u003e.\n"},"kubeProxyMode":{"type":"string","description":"Service forwarding mode. Two modes are available:\n"},"kubernetesSvcIpRange":{"type":"string","description":"Service CIDR block, or the IP address range which the kubernetes\nclusterIp must fall within. This parameter is available only for clusters of v1.11.7 and later.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Cluster tag, key/value pair format. Changing this parameter will create a new cluster resource.\n"},"masters":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCceClusterV3Master:CceClusterV3Master"},"description":"Specifies the advanced configuration of master nodes.\nThe object structure is documented below.\nThis parameter and \u003cspan pulumi-lang-nodejs=\"`multiAz`\" pulumi-lang-dotnet=\"`MultiAz`\" pulumi-lang-go=\"`multiAz`\" pulumi-lang-python=\"`multi_az`\" pulumi-lang-yaml=\"`multiAz`\" pulumi-lang-java=\"`multiAz`\"\u003e`multi_az`\u003c/span\u003e are alternative. Changing this parameter will create a new cluster resource.\n"},"multiAz":{"type":"boolean","description":"Enable multiple AZs for the cluster, only when using HA flavors. Changing this parameter will create a new cluster resource.\nThis parameter and \u003cspan pulumi-lang-nodejs=\"`masters`\" pulumi-lang-dotnet=\"`Masters`\" pulumi-lang-go=\"`masters`\" pulumi-lang-python=\"`masters`\" pulumi-lang-yaml=\"`masters`\" pulumi-lang-java=\"`masters`\"\u003e`masters`\u003c/span\u003e are alternative.\n"},"name":{"type":"string","description":"Specifies the component name.\n"},"noAddons":{"type":"boolean","description":"Remove addons installed by the default after the cluster creation.\n"},"region":{"type":"string"},"securityGroupControl":{"type":"string","description":"ID of the autogenerated security group for the CCE master port.\n"},"securityGroupId":{"type":"string","description":"Default worker node security group ID of the cluster. If specified, the cluster will be bound to the target security group.\nOtherwise, the system will automatically create a default worker node security group for you.\nThe default worker node security group needs to allow access from certain ports to ensure normal communications.\nChanging this parameter will create a new cluster resource.\n"},"securityGroupNode":{"type":"string","description":"ID of the autogenerated security group for the CCE nodes.\n"},"status":{"type":"string","description":"Cluster status information.\n"},"subnetId":{"type":"string","description":"The Network ID of the subnet used to create the node. Changing this parameter will create a new cluster resource.\n"},"supportIstio":{"type":"boolean","description":"Whether Istio is supported in the cluster.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCceClusterV3Timeouts:CceClusterV3Timeouts"},"timezone":{"type":"string","description":"Cluster timezone in string format. Changing this parameter will create a new cluster resource.\n"},"vpcId":{"type":"string","description":"The ID of the VPC used to create the node. Changing this parameter will create a new cluster resource.\n"}},"type":"object","required":["billingMode","cceClusterV3Id","certificateClusters","certificateUsers","clusterType","clusterVersion","containerNetworkCidr","containerNetworkType","customSans","description","enableVolumeEncryption","eniSubnetCidr","eniSubnetId","external","externalOtc","flavorId","highwaySubnetId","installedAddons","internal","kubeProxyMode","kubernetesSvcIpRange","name","region","securityGroupControl","securityGroupId","securityGroupNode","status","subnetId","supportIstio","timezone","vpcId"],"inputProperties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Cluster annotation, key/value pair format. Changing this parameter will create a new cluster resource.\n"},"apiAccessTrustlists":{"type":"array","items":{"type":"string"},"description":"Specifies the trustlist of network CIDRs that are allowed to access cluster APIs. Specified when creating a CCE cluster.\nChanging this parameter will create a new cluster resource.\n"},"authenticatingProxy":{"$ref":"#/types/opentelekomcloud:index%2FCceClusterV3AuthenticatingProxy:CceClusterV3AuthenticatingProxy","description":"Authenticating proxy configuration. Required if \u003cspan pulumi-lang-nodejs=\"`authenticationMode`\" pulumi-lang-dotnet=\"`AuthenticationMode`\" pulumi-lang-go=\"`authenticationMode`\" pulumi-lang-python=\"`authentication_mode`\" pulumi-lang-yaml=\"`authenticationMode`\" pulumi-lang-java=\"`authenticationMode`\"\u003e`authentication_mode`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`authenticatingProxy`\" pulumi-lang-dotnet=\"`AuthenticatingProxy`\" pulumi-lang-go=\"`authenticatingProxy`\" pulumi-lang-python=\"`authenticating_proxy`\" pulumi-lang-yaml=\"`authenticatingProxy`\" pulumi-lang-java=\"`authenticatingProxy`\"\u003e`authenticating_proxy`\u003c/span\u003e.\n"},"authenticatingProxyCa":{"type":"string","description":"CA root certificate provided in the \u003cspan pulumi-lang-nodejs=\"`authenticatingProxy`\" pulumi-lang-dotnet=\"`AuthenticatingProxy`\" pulumi-lang-go=\"`authenticatingProxy`\" pulumi-lang-python=\"`authenticating_proxy`\" pulumi-lang-yaml=\"`authenticatingProxy`\" pulumi-lang-java=\"`authenticatingProxy`\"\u003e`authenticating_proxy`\u003c/span\u003e mode.\nDeprecated, use \u003cspan pulumi-lang-nodejs=\"`authenticatingProxy`\" pulumi-lang-dotnet=\"`AuthenticatingProxy`\" pulumi-lang-go=\"`authenticatingProxy`\" pulumi-lang-python=\"`authenticating_proxy`\" pulumi-lang-yaml=\"`authenticatingProxy`\" pulumi-lang-java=\"`authenticatingProxy`\"\u003e`authenticating_proxy`\u003c/span\u003e instead.\n","deprecationMessage":"Deprecated"},"authenticationMode":{"type":"string","description":"Cluster authentication mode.\n* Clusters of Kubernetes v1.11 and earlier\nPossible values: \u003cspan pulumi-lang-nodejs=\"`x509`\" pulumi-lang-dotnet=\"`X509`\" pulumi-lang-go=\"`x509`\" pulumi-lang-python=\"`x509`\" pulumi-lang-yaml=\"`x509`\" pulumi-lang-java=\"`x509`\"\u003e`x509`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`rbac`\" pulumi-lang-dotnet=\"`Rbac`\" pulumi-lang-go=\"`rbac`\" pulumi-lang-python=\"`rbac`\" pulumi-lang-yaml=\"`rbac`\" pulumi-lang-java=\"`rbac`\"\u003e`rbac`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`authenticatingProxy`\" pulumi-lang-dotnet=\"`AuthenticatingProxy`\" pulumi-lang-go=\"`authenticatingProxy`\" pulumi-lang-python=\"`authenticating_proxy`\" pulumi-lang-yaml=\"`authenticatingProxy`\" pulumi-lang-java=\"`authenticatingProxy`\"\u003e`authenticating_proxy`\u003c/span\u003e\n* Clusters of Kubernetes v1.13 and later\nPossible values: \u003cspan pulumi-lang-nodejs=\"`rbac`\" pulumi-lang-dotnet=\"`Rbac`\" pulumi-lang-go=\"`rbac`\" pulumi-lang-python=\"`rbac`\" pulumi-lang-yaml=\"`rbac`\" pulumi-lang-java=\"`rbac`\"\u003e`rbac`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`authenticatingProxy`\" pulumi-lang-dotnet=\"`AuthenticatingProxy`\" pulumi-lang-go=\"`authenticatingProxy`\" pulumi-lang-python=\"`authenticating_proxy`\" pulumi-lang-yaml=\"`authenticatingProxy`\" pulumi-lang-java=\"`authenticatingProxy`\"\u003e`authenticating_proxy`\u003c/span\u003e\n\nDefault value: \u003cspan pulumi-lang-nodejs=\"`rbac`\" pulumi-lang-dotnet=\"`Rbac`\" pulumi-lang-go=\"`rbac`\" pulumi-lang-python=\"`rbac`\" pulumi-lang-yaml=\"`rbac`\" pulumi-lang-java=\"`rbac`\"\u003e`rbac`\u003c/span\u003e\nChanging this parameter will create a new cluster resource.\n"},"billingMode":{"type":"number","description":"Charging mode of the cluster, which is 0 (on demand). Changing this parameter will create a new cluster resource.\n"},"cceClusterV3Id":{"type":"string","description":"ID of the cluster resource.\n"},"clusterType":{"type":"string","description":"Cluster Type, possible values are `VirtualMachine` and `BareMetal`. Changing this parameter will create a new cluster resource.\n"},"clusterVersion":{"type":"string","description":"For the cluster version, possible values are `v1.29`, `v1.28`, `v1.27`, `v1.25`.\nIf this parameter is not set, the cluster of the latest version is created by default.\nChanging this parameter will create a new cluster resource. [OTC-API](https://docs.otc.t-systems.com/en-us/api2/cce/cce_02_0236.html)\n"},"componentConfigurations":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCceClusterV3ComponentConfiguration:CceClusterV3ComponentConfiguration"},"description":"Specifies the kubernetes component configurations.\nFor details, see [documentation](https://docs.otc.t-systems.com/cloud-container-engine/umn/clusters/managing_clusters/modifying_cluster_configurations.html#cce-10-0213).\nThe object structure is documented below.\n"},"containerNetworkCidr":{"type":"string","description":"Container network segment. Changing this parameter will create a new cluster resource.\n"},"containerNetworkType":{"type":"string","description":"Container network type.\n"},"customSans":{"type":"array","items":{"type":"string"},"description":"Specifies the custom san to add to certificate (array of string).\n"},"deleteAllNetwork":{"type":"string","description":"Specified whether to delete all associated network resources when deleting the CCE\ncluster. valid values are **true**, **try** and **false**. Default is **false**.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"cceClusterMasters\"\" pulumi-lang-dotnet=\"\"CceClusterMasters\"\" pulumi-lang-go=\"\"cceClusterMasters\"\" pulumi-lang-python=\"\"cce_cluster_masters\"\" pulumi-lang-yaml=\"\"cceClusterMasters\"\" pulumi-lang-java=\"\"cceClusterMasters\"\"\u003e\"cce_cluster_masters\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`masters`\" pulumi-lang-dotnet=\"`Masters`\" pulumi-lang-go=\"`masters`\" pulumi-lang-python=\"`masters`\" pulumi-lang-yaml=\"`masters`\" pulumi-lang-java=\"`masters`\"\u003e`masters`\u003c/span\u003e block supports:\n"},"deleteAllStorage":{"type":"string","description":"Specified whether to delete all associated storage resources when deleting the CCE\ncluster. valid values are **true**, **try** and **false**. Default is **false**.\n"},"deleteEfs":{"type":"string","description":"Specified whether to unbind associated SFS Turbo file systems when deleting the CCE\ncluster. valid values are **true**, **try** and **false**. Default is **false**.\n"},"deleteEni":{"type":"string","description":"Specified whether to delete ENI ports when deleting the CCE\ncluster. valid values are **true**, **try** and **false**. Default is **false**.\n"},"deleteEvs":{"type":"string","description":"Specified whether to delete associated EVS disks when deleting the CCE cluster.\nvalid values are **true**, **try** and **false**. Default is **false**.\n"},"deleteNet":{"type":"string","description":"Specified whether to delete cluster Service/ingress-related resources, such as ELB when deleting the CCE\ncluster. valid values are **true**, **try** and **false**. Default is **false**.\n"},"deleteObs":{"type":"string","description":"Specified whether to delete associated OBS buckets when deleting the CCE cluster.\nvalid values are **true**, **try** and **false**. Default is **false**.\n"},"deleteSfs":{"type":"string","description":"Specified whether to delete associated SFS file systems when deleting the CCE\ncluster. valid values are **true**, **try** and **false**. Default is **false**.\n"},"description":{"type":"string","description":"Cluster description.\n"},"eip":{"type":"string","description":"EIP address of the cluster.\n"},"enableVolumeEncryption":{"type":"boolean","description":"System and data disks encryption of master nodes. Changing this parameter will create a new cluster resource.\n"},"eniSubnetCidr":{"type":"string","description":"Specifies the ENI network segment. Specified when creating a CCE Turbo cluster. Changing this parameter will create a new cluster resource.\n"},"eniSubnetId":{"type":"string","description":"- (Optional, String, ForceNew) Specifies the ENI subnet ID. Specified when creating a CCE Turbo cluster. Changing this parameter will create a new cluster resource.\n"},"extendParam":{"type":"object","additionalProperties":{"type":"string"},"description":"Extended parameter. Changing this parameter will create a new cluster resource.\n[List of cluster extended params.](https://docs.otc.t-systems.com/cloud-container-engine/api-ref/apis/cluster_management/creating_a_cluster.html#cce-02-0236-table17575013586)\n"},"flavorId":{"type":"string","description":"Cluster specifications. Changing this parameter will create a new cluster resource.\n* `cce.s1.small` - small-scale single cluster (up to 50 nodes).\n* `cce.s1.medium` - medium-scale single cluster (up to 200 nodes).\n* `cce.s2.small` - small-scale HA cluster (up to 50 nodes).\n* `cce.s2.medium` - medium-scale HA cluster (up to 200 nodes).\n* `cce.s2.large` - large-scale HA cluster (up to 1000 nodes).\n* `cce.s2.xlarge` - ultra-large-scale, high availability cluster (\u003c= 2,000 nodes).\n"},"highwaySubnetId":{"type":"string","description":"The ID of the high speed network used to create bare metal nodes. Changing this parameter will create a new cluster resource.\n"},"ignoreAddons":{"type":"boolean","description":"Skip all cluster addons operations.\n"},"ignoreCertificateClustersData":{"type":"boolean","description":"Skip sensitive cluster data.\n"},"ignoreCertificateUsersData":{"type":"boolean","description":"Skip sensitive user data.\n"},"ipv6Enable":{"type":"boolean","description":"Specifies whether the cluster supports IPv6 addresses. This field is supported in clusters of v1.25 and later versions. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. If \u003cspan pulumi-lang-nodejs=\"`ipv6Enable`\" pulumi-lang-dotnet=\"`Ipv6Enable`\" pulumi-lang-go=\"`ipv6Enable`\" pulumi-lang-python=\"`ipv6_enable`\" pulumi-lang-yaml=\"`ipv6Enable`\" pulumi-lang-java=\"`ipv6Enable`\"\u003e`ipv6_enable`\u003c/span\u003e is true, subnet should have ipv6 enabled and \u003cspan pulumi-lang-nodejs=\"`kubeProxyMode`\" pulumi-lang-dotnet=\"`KubeProxyMode`\" pulumi-lang-go=\"`kubeProxyMode`\" pulumi-lang-python=\"`kube_proxy_mode`\" pulumi-lang-yaml=\"`kubeProxyMode`\" pulumi-lang-java=\"`kubeProxyMode`\"\u003e`kube_proxy_mode`\u003c/span\u003e value can only be \u003cspan pulumi-lang-nodejs=\"`ipvs`\" pulumi-lang-dotnet=\"`Ipvs`\" pulumi-lang-go=\"`ipvs`\" pulumi-lang-python=\"`ipvs`\" pulumi-lang-yaml=\"`ipvs`\" pulumi-lang-java=\"`ipvs`\"\u003e`ipvs`\u003c/span\u003e.\n"},"kubeProxyMode":{"type":"string","description":"Service forwarding mode. Two modes are available:\n"},"kubernetesSvcIpRange":{"type":"string","description":"Service CIDR block, or the IP address range which the kubernetes\nclusterIp must fall within. This parameter is available only for clusters of v1.11.7 and later.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Cluster tag, key/value pair format. Changing this parameter will create a new cluster resource.\n"},"masters":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCceClusterV3Master:CceClusterV3Master"},"description":"Specifies the advanced configuration of master nodes.\nThe object structure is documented below.\nThis parameter and \u003cspan pulumi-lang-nodejs=\"`multiAz`\" pulumi-lang-dotnet=\"`MultiAz`\" pulumi-lang-go=\"`multiAz`\" pulumi-lang-python=\"`multi_az`\" pulumi-lang-yaml=\"`multiAz`\" pulumi-lang-java=\"`multiAz`\"\u003e`multi_az`\u003c/span\u003e are alternative. Changing this parameter will create a new cluster resource.\n"},"multiAz":{"type":"boolean","description":"Enable multiple AZs for the cluster, only when using HA flavors. Changing this parameter will create a new cluster resource.\nThis parameter and \u003cspan pulumi-lang-nodejs=\"`masters`\" pulumi-lang-dotnet=\"`Masters`\" pulumi-lang-go=\"`masters`\" pulumi-lang-python=\"`masters`\" pulumi-lang-yaml=\"`masters`\" pulumi-lang-java=\"`masters`\"\u003e`masters`\u003c/span\u003e are alternative.\n"},"name":{"type":"string","description":"Specifies the component name.\n"},"noAddons":{"type":"boolean","description":"Remove addons installed by the default after the cluster creation.\n"},"region":{"type":"string"},"securityGroupId":{"type":"string","description":"Default worker node security group ID of the cluster. If specified, the cluster will be bound to the target security group.\nOtherwise, the system will automatically create a default worker node security group for you.\nThe default worker node security group needs to allow access from certain ports to ensure normal communications.\nChanging this parameter will create a new cluster resource.\n"},"subnetId":{"type":"string","description":"The Network ID of the subnet used to create the node. Changing this parameter will create a new cluster resource.\n"},"supportIstio":{"type":"boolean","description":"Whether Istio is supported in the cluster.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCceClusterV3Timeouts:CceClusterV3Timeouts"},"timezone":{"type":"string","description":"Cluster timezone in string format. Changing this parameter will create a new cluster resource.\n"},"vpcId":{"type":"string","description":"The ID of the VPC used to create the node. Changing this parameter will create a new cluster resource.\n"}},"requiredInputs":["clusterType","containerNetworkType","flavorId","subnetId","vpcId"],"stateInputs":{"description":"Input properties used for looking up and filtering CceClusterV3 resources.\n","properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Cluster annotation, key/value pair format. Changing this parameter will create a new cluster resource.\n"},"apiAccessTrustlists":{"type":"array","items":{"type":"string"},"description":"Specifies the trustlist of network CIDRs that are allowed to access cluster APIs. Specified when creating a CCE cluster.\nChanging this parameter will create a new cluster resource.\n"},"authenticatingProxy":{"$ref":"#/types/opentelekomcloud:index%2FCceClusterV3AuthenticatingProxy:CceClusterV3AuthenticatingProxy","description":"Authenticating proxy configuration. Required if \u003cspan pulumi-lang-nodejs=\"`authenticationMode`\" pulumi-lang-dotnet=\"`AuthenticationMode`\" pulumi-lang-go=\"`authenticationMode`\" pulumi-lang-python=\"`authentication_mode`\" pulumi-lang-yaml=\"`authenticationMode`\" pulumi-lang-java=\"`authenticationMode`\"\u003e`authentication_mode`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`authenticatingProxy`\" pulumi-lang-dotnet=\"`AuthenticatingProxy`\" pulumi-lang-go=\"`authenticatingProxy`\" pulumi-lang-python=\"`authenticating_proxy`\" pulumi-lang-yaml=\"`authenticatingProxy`\" pulumi-lang-java=\"`authenticatingProxy`\"\u003e`authenticating_proxy`\u003c/span\u003e.\n"},"authenticatingProxyCa":{"type":"string","description":"CA root certificate provided in the \u003cspan pulumi-lang-nodejs=\"`authenticatingProxy`\" pulumi-lang-dotnet=\"`AuthenticatingProxy`\" pulumi-lang-go=\"`authenticatingProxy`\" pulumi-lang-python=\"`authenticating_proxy`\" pulumi-lang-yaml=\"`authenticatingProxy`\" pulumi-lang-java=\"`authenticatingProxy`\"\u003e`authenticating_proxy`\u003c/span\u003e mode.\nDeprecated, use \u003cspan pulumi-lang-nodejs=\"`authenticatingProxy`\" pulumi-lang-dotnet=\"`AuthenticatingProxy`\" pulumi-lang-go=\"`authenticatingProxy`\" pulumi-lang-python=\"`authenticating_proxy`\" pulumi-lang-yaml=\"`authenticatingProxy`\" pulumi-lang-java=\"`authenticatingProxy`\"\u003e`authenticating_proxy`\u003c/span\u003e instead.\n","deprecationMessage":"Deprecated"},"authenticationMode":{"type":"string","description":"Cluster authentication mode.\n* Clusters of Kubernetes v1.11 and earlier\nPossible values: \u003cspan pulumi-lang-nodejs=\"`x509`\" pulumi-lang-dotnet=\"`X509`\" pulumi-lang-go=\"`x509`\" pulumi-lang-python=\"`x509`\" pulumi-lang-yaml=\"`x509`\" pulumi-lang-java=\"`x509`\"\u003e`x509`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`rbac`\" pulumi-lang-dotnet=\"`Rbac`\" pulumi-lang-go=\"`rbac`\" pulumi-lang-python=\"`rbac`\" pulumi-lang-yaml=\"`rbac`\" pulumi-lang-java=\"`rbac`\"\u003e`rbac`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`authenticatingProxy`\" pulumi-lang-dotnet=\"`AuthenticatingProxy`\" pulumi-lang-go=\"`authenticatingProxy`\" pulumi-lang-python=\"`authenticating_proxy`\" pulumi-lang-yaml=\"`authenticatingProxy`\" pulumi-lang-java=\"`authenticatingProxy`\"\u003e`authenticating_proxy`\u003c/span\u003e\n* Clusters of Kubernetes v1.13 and later\nPossible values: \u003cspan pulumi-lang-nodejs=\"`rbac`\" pulumi-lang-dotnet=\"`Rbac`\" pulumi-lang-go=\"`rbac`\" pulumi-lang-python=\"`rbac`\" pulumi-lang-yaml=\"`rbac`\" pulumi-lang-java=\"`rbac`\"\u003e`rbac`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`authenticatingProxy`\" pulumi-lang-dotnet=\"`AuthenticatingProxy`\" pulumi-lang-go=\"`authenticatingProxy`\" pulumi-lang-python=\"`authenticating_proxy`\" pulumi-lang-yaml=\"`authenticatingProxy`\" pulumi-lang-java=\"`authenticatingProxy`\"\u003e`authenticating_proxy`\u003c/span\u003e\n\nDefault value: \u003cspan pulumi-lang-nodejs=\"`rbac`\" pulumi-lang-dotnet=\"`Rbac`\" pulumi-lang-go=\"`rbac`\" pulumi-lang-python=\"`rbac`\" pulumi-lang-yaml=\"`rbac`\" pulumi-lang-java=\"`rbac`\"\u003e`rbac`\u003c/span\u003e\nChanging this parameter will create a new cluster resource.\n"},"billingMode":{"type":"number","description":"Charging mode of the cluster, which is 0 (on demand). Changing this parameter will create a new cluster resource.\n"},"cceClusterV3Id":{"type":"string","description":"ID of the cluster resource.\n"},"certificateClusters":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCceClusterV3CertificateCluster:CceClusterV3CertificateCluster"}},"certificateUsers":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCceClusterV3CertificateUser:CceClusterV3CertificateUser"}},"clusterType":{"type":"string","description":"Cluster Type, possible values are `VirtualMachine` and `BareMetal`. Changing this parameter will create a new cluster resource.\n"},"clusterVersion":{"type":"string","description":"For the cluster version, possible values are `v1.29`, `v1.28`, `v1.27`, `v1.25`.\nIf this parameter is not set, the cluster of the latest version is created by default.\nChanging this parameter will create a new cluster resource. [OTC-API](https://docs.otc.t-systems.com/en-us/api2/cce/cce_02_0236.html)\n"},"componentConfigurations":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCceClusterV3ComponentConfiguration:CceClusterV3ComponentConfiguration"},"description":"Specifies the kubernetes component configurations.\nFor details, see [documentation](https://docs.otc.t-systems.com/cloud-container-engine/umn/clusters/managing_clusters/modifying_cluster_configurations.html#cce-10-0213).\nThe object structure is documented below.\n"},"containerNetworkCidr":{"type":"string","description":"Container network segment. Changing this parameter will create a new cluster resource.\n"},"containerNetworkType":{"type":"string","description":"Container network type.\n"},"customSans":{"type":"array","items":{"type":"string"},"description":"Specifies the custom san to add to certificate (array of string).\n"},"deleteAllNetwork":{"type":"string","description":"Specified whether to delete all associated network resources when deleting the CCE\ncluster. valid values are **true**, **try** and **false**. Default is **false**.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"cceClusterMasters\"\" pulumi-lang-dotnet=\"\"CceClusterMasters\"\" pulumi-lang-go=\"\"cceClusterMasters\"\" pulumi-lang-python=\"\"cce_cluster_masters\"\" pulumi-lang-yaml=\"\"cceClusterMasters\"\" pulumi-lang-java=\"\"cceClusterMasters\"\"\u003e\"cce_cluster_masters\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`masters`\" pulumi-lang-dotnet=\"`Masters`\" pulumi-lang-go=\"`masters`\" pulumi-lang-python=\"`masters`\" pulumi-lang-yaml=\"`masters`\" pulumi-lang-java=\"`masters`\"\u003e`masters`\u003c/span\u003e block supports:\n"},"deleteAllStorage":{"type":"string","description":"Specified whether to delete all associated storage resources when deleting the CCE\ncluster. valid values are **true**, **try** and **false**. Default is **false**.\n"},"deleteEfs":{"type":"string","description":"Specified whether to unbind associated SFS Turbo file systems when deleting the CCE\ncluster. valid values are **true**, **try** and **false**. Default is **false**.\n"},"deleteEni":{"type":"string","description":"Specified whether to delete ENI ports when deleting the CCE\ncluster. valid values are **true**, **try** and **false**. Default is **false**.\n"},"deleteEvs":{"type":"string","description":"Specified whether to delete associated EVS disks when deleting the CCE cluster.\nvalid values are **true**, **try** and **false**. Default is **false**.\n"},"deleteNet":{"type":"string","description":"Specified whether to delete cluster Service/ingress-related resources, such as ELB when deleting the CCE\ncluster. valid values are **true**, **try** and **false**. Default is **false**.\n"},"deleteObs":{"type":"string","description":"Specified whether to delete associated OBS buckets when deleting the CCE cluster.\nvalid values are **true**, **try** and **false**. Default is **false**.\n"},"deleteSfs":{"type":"string","description":"Specified whether to delete associated SFS file systems when deleting the CCE\ncluster. valid values are **true**, **try** and **false**. Default is **false**.\n"},"description":{"type":"string","description":"Cluster description.\n"},"eip":{"type":"string","description":"EIP address of the cluster.\n"},"enableVolumeEncryption":{"type":"boolean","description":"System and data disks encryption of master nodes. Changing this parameter will create a new cluster resource.\n"},"eniSubnetCidr":{"type":"string","description":"Specifies the ENI network segment. Specified when creating a CCE Turbo cluster. Changing this parameter will create a new cluster resource.\n"},"eniSubnetId":{"type":"string","description":"- (Optional, String, ForceNew) Specifies the ENI subnet ID. Specified when creating a CCE Turbo cluster. Changing this parameter will create a new cluster resource.\n"},"extendParam":{"type":"object","additionalProperties":{"type":"string"},"description":"Extended parameter. Changing this parameter will create a new cluster resource.\n[List of cluster extended params.](https://docs.otc.t-systems.com/cloud-container-engine/api-ref/apis/cluster_management/creating_a_cluster.html#cce-02-0236-table17575013586)\n"},"external":{"type":"string","description":"The external network address.\n"},"externalOtc":{"type":"string","description":"The endpoint of the cluster to be accessed through API Gateway.\n"},"flavorId":{"type":"string","description":"Cluster specifications. Changing this parameter will create a new cluster resource.\n* `cce.s1.small` - small-scale single cluster (up to 50 nodes).\n* `cce.s1.medium` - medium-scale single cluster (up to 200 nodes).\n* `cce.s2.small` - small-scale HA cluster (up to 50 nodes).\n* `cce.s2.medium` - medium-scale HA cluster (up to 200 nodes).\n* `cce.s2.large` - large-scale HA cluster (up to 1000 nodes).\n* `cce.s2.xlarge` - ultra-large-scale, high availability cluster (\u003c= 2,000 nodes).\n"},"highwaySubnetId":{"type":"string","description":"The ID of the high speed network used to create bare metal nodes. Changing this parameter will create a new cluster resource.\n"},"ignoreAddons":{"type":"boolean","description":"Skip all cluster addons operations.\n"},"ignoreCertificateClustersData":{"type":"boolean","description":"Skip sensitive cluster data.\n"},"ignoreCertificateUsersData":{"type":"boolean","description":"Skip sensitive user data.\n"},"installedAddons":{"type":"array","items":{"type":"string"},"description":"List of installed addon IDs. Empty if \u003cspan pulumi-lang-nodejs=\"`ignoreAddons`\" pulumi-lang-dotnet=\"`IgnoreAddons`\" pulumi-lang-go=\"`ignoreAddons`\" pulumi-lang-python=\"`ignore_addons`\" pulumi-lang-yaml=\"`ignoreAddons`\" pulumi-lang-java=\"`ignoreAddons`\"\u003e`ignore_addons`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"internal":{"type":"string","description":"The internal network address.\n"},"ipv6Enable":{"type":"boolean","description":"Specifies whether the cluster supports IPv6 addresses. This field is supported in clusters of v1.25 and later versions. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. If \u003cspan pulumi-lang-nodejs=\"`ipv6Enable`\" pulumi-lang-dotnet=\"`Ipv6Enable`\" pulumi-lang-go=\"`ipv6Enable`\" pulumi-lang-python=\"`ipv6_enable`\" pulumi-lang-yaml=\"`ipv6Enable`\" pulumi-lang-java=\"`ipv6Enable`\"\u003e`ipv6_enable`\u003c/span\u003e is true, subnet should have ipv6 enabled and \u003cspan pulumi-lang-nodejs=\"`kubeProxyMode`\" pulumi-lang-dotnet=\"`KubeProxyMode`\" pulumi-lang-go=\"`kubeProxyMode`\" pulumi-lang-python=\"`kube_proxy_mode`\" pulumi-lang-yaml=\"`kubeProxyMode`\" pulumi-lang-java=\"`kubeProxyMode`\"\u003e`kube_proxy_mode`\u003c/span\u003e value can only be \u003cspan pulumi-lang-nodejs=\"`ipvs`\" pulumi-lang-dotnet=\"`Ipvs`\" pulumi-lang-go=\"`ipvs`\" pulumi-lang-python=\"`ipvs`\" pulumi-lang-yaml=\"`ipvs`\" pulumi-lang-java=\"`ipvs`\"\u003e`ipvs`\u003c/span\u003e.\n"},"kubeProxyMode":{"type":"string","description":"Service forwarding mode. Two modes are available:\n"},"kubernetesSvcIpRange":{"type":"string","description":"Service CIDR block, or the IP address range which the kubernetes\nclusterIp must fall within. This parameter is available only for clusters of v1.11.7 and later.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Cluster tag, key/value pair format. Changing this parameter will create a new cluster resource.\n"},"masters":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCceClusterV3Master:CceClusterV3Master"},"description":"Specifies the advanced configuration of master nodes.\nThe object structure is documented below.\nThis parameter and \u003cspan pulumi-lang-nodejs=\"`multiAz`\" pulumi-lang-dotnet=\"`MultiAz`\" pulumi-lang-go=\"`multiAz`\" pulumi-lang-python=\"`multi_az`\" pulumi-lang-yaml=\"`multiAz`\" pulumi-lang-java=\"`multiAz`\"\u003e`multi_az`\u003c/span\u003e are alternative. Changing this parameter will create a new cluster resource.\n"},"multiAz":{"type":"boolean","description":"Enable multiple AZs for the cluster, only when using HA flavors. Changing this parameter will create a new cluster resource.\nThis parameter and \u003cspan pulumi-lang-nodejs=\"`masters`\" pulumi-lang-dotnet=\"`Masters`\" pulumi-lang-go=\"`masters`\" pulumi-lang-python=\"`masters`\" pulumi-lang-yaml=\"`masters`\" pulumi-lang-java=\"`masters`\"\u003e`masters`\u003c/span\u003e are alternative.\n"},"name":{"type":"string","description":"Specifies the component name.\n"},"noAddons":{"type":"boolean","description":"Remove addons installed by the default after the cluster creation.\n"},"region":{"type":"string"},"securityGroupControl":{"type":"string","description":"ID of the autogenerated security group for the CCE master port.\n"},"securityGroupId":{"type":"string","description":"Default worker node security group ID of the cluster. If specified, the cluster will be bound to the target security group.\nOtherwise, the system will automatically create a default worker node security group for you.\nThe default worker node security group needs to allow access from certain ports to ensure normal communications.\nChanging this parameter will create a new cluster resource.\n"},"securityGroupNode":{"type":"string","description":"ID of the autogenerated security group for the CCE nodes.\n"},"status":{"type":"string","description":"Cluster status information.\n"},"subnetId":{"type":"string","description":"The Network ID of the subnet used to create the node. Changing this parameter will create a new cluster resource.\n"},"supportIstio":{"type":"boolean","description":"Whether Istio is supported in the cluster.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCceClusterV3Timeouts:CceClusterV3Timeouts"},"timezone":{"type":"string","description":"Cluster timezone in string format. Changing this parameter will create a new cluster resource.\n"},"vpcId":{"type":"string","description":"The ID of the VPC used to create the node. Changing this parameter will create a new cluster resource.\n"}},"type":"object"}},"opentelekomcloud:index/cceNodeAttachV3:CceNodeAttachV3":{"description":"Up-to-date reference of API arguments for CCE cluster node you can get at\n[documentation portal](https://docs.otc.t-systems.com/cloud-container-engine/api-ref/apis/cluster_management)\n\nAdd a node from an existing ECS server to a CCE cluster.\n\n\u003e **Note:** When using the \u003cspan pulumi-lang-nodejs=\"`opentelekomcloud.CceNodeAttachV3`\" pulumi-lang-dotnet=\"`opentelekomcloud.CceNodeAttachV3`\" pulumi-lang-go=\"`CceNodeAttachV3`\" pulumi-lang-python=\"`CceNodeAttachV3`\" pulumi-lang-yaml=\"`opentelekomcloud.CceNodeAttachV3`\" pulumi-lang-java=\"`opentelekomcloud.CceNodeAttachV3`\"\u003e`opentelekomcloud.CceNodeAttachV3`\u003c/span\u003e resource with\u003cspan pulumi-lang-nodejs=\" serverId \" pulumi-lang-dotnet=\" ServerId \" pulumi-lang-go=\" serverId \" pulumi-lang-python=\" server_id \" pulumi-lang-yaml=\" serverId \" pulumi-lang-java=\" serverId \"\u003e server_id \u003c/span\u003edependent resource, the following\nattributes should be included in lifecycle.ignore_changes: \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`imageId`\" pulumi-lang-dotnet=\"`ImageId`\" pulumi-lang-go=\"`imageId`\" pulumi-lang-python=\"`image_id`\" pulumi-lang-yaml=\"`imageId`\" pulumi-lang-java=\"`imageId`\"\u003e`image_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\"\u003e`password`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`keyName`\" pulumi-lang-dotnet=\"`KeyName`\" pulumi-lang-go=\"`keyName`\" pulumi-lang-python=\"`key_name`\" pulumi-lang-yaml=\"`keyName`\" pulumi-lang-java=\"`keyName`\"\u003e`key_name`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`tags`\" pulumi-lang-dotnet=\"`Tags`\" pulumi-lang-go=\"`tags`\" pulumi-lang-python=\"`tags`\" pulumi-lang-yaml=\"`tags`\" pulumi-lang-java=\"`tags`\"\u003e`tags`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`nics`\" pulumi-lang-dotnet=\"`Nics`\" pulumi-lang-go=\"`nics`\" pulumi-lang-python=\"`nics`\" pulumi-lang-yaml=\"`nics`\" pulumi-lang-java=\"`nics`\"\u003e`nics`\u003c/span\u003e.\nThese attributes are subject to modification during instance lifecycle and should be ignored to prevent undesired resource recreation.\n\n## Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst clusterId = config.requireObject\u003cany\u003e(\"clusterId\");\nconst serverName = config.requireObject\u003cany\u003e(\"serverName\");\nconst serverId = config.requireObject\u003cany\u003e(\"serverId\");\nconst keypairName = config.requireObject\u003cany\u003e(\"keypairName\");\nconst flavorId = config.requireObject\u003cany\u003e(\"flavorId\");\nconst imageId = config.requireObject\u003cany\u003e(\"imageId\");\nconst instance1 = new opentelekomcloud.EcsInstanceV1(\"instance_1\", {\n    name: serverName,\n    imageId: imageId,\n    flavor: flavorId,\n    vpcId: sharedSubnet.vpcId,\n    nics: [{\n        networkId: sharedSubnet.networkId,\n    }],\n    availabilityZone: \"eu-de-01\",\n    dataDisks: [{\n        type: \"SSD\",\n        size: 60,\n    }],\n    password: \"Password@123\",\n    deleteDisksOnTermination: true,\n});\nconst test = new opentelekomcloud.CceNodeAttachV3(\"test\", {\n    clusterId: clusterId,\n    serverId: instance1.ecsInstanceV1Id,\n    keyPair: keypairName,\n    os: \"EulerOS 2.5\",\n    tags: {\n        foo: \"bar\",\n        key: \"value\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ncluster_id = config.require_object(\"clusterId\")\nserver_name = config.require_object(\"serverName\")\nserver_id = config.require_object(\"serverId\")\nkeypair_name = config.require_object(\"keypairName\")\nflavor_id = config.require_object(\"flavorId\")\nimage_id = config.require_object(\"imageId\")\ninstance1 = opentelekomcloud.EcsInstanceV1(\"instance_1\",\n    name=server_name,\n    image_id=image_id,\n    flavor=flavor_id,\n    vpc_id=shared_subnet[\"vpcId\"],\n    nics=[{\n        \"network_id\": shared_subnet[\"networkId\"],\n    }],\n    availability_zone=\"eu-de-01\",\n    data_disks=[{\n        \"type\": \"SSD\",\n        \"size\": 60,\n    }],\n    password=\"Password@123\",\n    delete_disks_on_termination=True)\ntest = opentelekomcloud.CceNodeAttachV3(\"test\",\n    cluster_id=cluster_id,\n    server_id=instance1.ecs_instance_v1_id,\n    key_pair=keypair_name,\n    os=\"EulerOS 2.5\",\n    tags={\n        \"foo\": \"bar\",\n        \"key\": \"value\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var clusterId = config.RequireObject\u003cdynamic\u003e(\"clusterId\");\n    var serverName = config.RequireObject\u003cdynamic\u003e(\"serverName\");\n    var serverId = config.RequireObject\u003cdynamic\u003e(\"serverId\");\n    var keypairName = config.RequireObject\u003cdynamic\u003e(\"keypairName\");\n    var flavorId = config.RequireObject\u003cdynamic\u003e(\"flavorId\");\n    var imageId = config.RequireObject\u003cdynamic\u003e(\"imageId\");\n    var instance1 = new Opentelekomcloud.EcsInstanceV1(\"instance_1\", new()\n    {\n        Name = serverName,\n        ImageId = imageId,\n        Flavor = flavorId,\n        VpcId = sharedSubnet.VpcId,\n        Nics = new[]\n        {\n            new Opentelekomcloud.Inputs.EcsInstanceV1NicArgs\n            {\n                NetworkId = sharedSubnet.NetworkId,\n            },\n        },\n        AvailabilityZone = \"eu-de-01\",\n        DataDisks = new[]\n        {\n            new Opentelekomcloud.Inputs.EcsInstanceV1DataDiskArgs\n            {\n                Type = \"SSD\",\n                Size = 60,\n            },\n        },\n        Password = \"Password@123\",\n        DeleteDisksOnTermination = true,\n    });\n\n    var test = new Opentelekomcloud.CceNodeAttachV3(\"test\", new()\n    {\n        ClusterId = clusterId,\n        ServerId = instance1.EcsInstanceV1Id,\n        KeyPair = keypairName,\n        Os = \"EulerOS 2.5\",\n        Tags = \n        {\n            { \"foo\", \"bar\" },\n            { \"key\", \"value\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tclusterId := cfg.RequireObject(\"clusterId\")\n\t\tserverName := cfg.RequireObject(\"serverName\")\n\t\tserverId := cfg.RequireObject(\"serverId\")\n\t\tkeypairName := cfg.RequireObject(\"keypairName\")\n\t\tflavorId := cfg.RequireObject(\"flavorId\")\n\t\timageId := cfg.RequireObject(\"imageId\")\n\t\tinstance1, err := opentelekomcloud.NewEcsInstanceV1(ctx, \"instance_1\", \u0026opentelekomcloud.EcsInstanceV1Args{\n\t\t\tName:    pulumi.Any(serverName),\n\t\t\tImageId: pulumi.Any(imageId),\n\t\t\tFlavor:  pulumi.Any(flavorId),\n\t\t\tVpcId:   pulumi.Any(sharedSubnet.VpcId),\n\t\t\tNics: opentelekomcloud.EcsInstanceV1NicArray{\n\t\t\t\t\u0026opentelekomcloud.EcsInstanceV1NicArgs{\n\t\t\t\t\tNetworkId: pulumi.Any(sharedSubnet.NetworkId),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAvailabilityZone: pulumi.String(\"eu-de-01\"),\n\t\t\tDataDisks: opentelekomcloud.EcsInstanceV1DataDiskArray{\n\t\t\t\t\u0026opentelekomcloud.EcsInstanceV1DataDiskArgs{\n\t\t\t\t\tType: pulumi.String(\"SSD\"),\n\t\t\t\t\tSize: pulumi.Float64(60),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPassword:                 pulumi.String(\"Password@123\"),\n\t\t\tDeleteDisksOnTermination: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewCceNodeAttachV3(ctx, \"test\", \u0026opentelekomcloud.CceNodeAttachV3Args{\n\t\t\tClusterId: pulumi.Any(clusterId),\n\t\t\tServerId:  instance1.EcsInstanceV1Id,\n\t\t\tKeyPair:   pulumi.Any(keypairName),\n\t\t\tOs:        pulumi.String(\"EulerOS 2.5\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t\t\"key\": pulumi.String(\"value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.EcsInstanceV1;\nimport com.pulumi.opentelekomcloud.EcsInstanceV1Args;\nimport com.pulumi.opentelekomcloud.inputs.EcsInstanceV1NicArgs;\nimport com.pulumi.opentelekomcloud.inputs.EcsInstanceV1DataDiskArgs;\nimport com.pulumi.opentelekomcloud.CceNodeAttachV3;\nimport com.pulumi.opentelekomcloud.CceNodeAttachV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var clusterId = config.get(\"clusterId\");\n        final var serverName = config.get(\"serverName\");\n        final var serverId = config.get(\"serverId\");\n        final var keypairName = config.get(\"keypairName\");\n        final var flavorId = config.get(\"flavorId\");\n        final var imageId = config.get(\"imageId\");\n        var instance1 = new EcsInstanceV1(\"instance1\", EcsInstanceV1Args.builder()\n            .name(serverName)\n            .imageId(imageId)\n            .flavor(flavorId)\n            .vpcId(sharedSubnet.vpcId())\n            .nics(EcsInstanceV1NicArgs.builder()\n                .networkId(sharedSubnet.networkId())\n                .build())\n            .availabilityZone(\"eu-de-01\")\n            .dataDisks(EcsInstanceV1DataDiskArgs.builder()\n                .type(\"SSD\")\n                .size(60.0)\n                .build())\n            .password(\"Password@123\")\n            .deleteDisksOnTermination(true)\n            .build());\n\n        var test = new CceNodeAttachV3(\"test\", CceNodeAttachV3Args.builder()\n            .clusterId(clusterId)\n            .serverId(instance1.ecsInstanceV1Id())\n            .keyPair(keypairName)\n            .os(\"EulerOS 2.5\")\n            .tags(Map.ofEntries(\n                Map.entry(\"foo\", \"bar\"),\n                Map.entry(\"key\", \"value\")\n            ))\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  clusterId:\n    type: dynamic\n  serverName:\n    type: dynamic\n  serverId:\n    type: dynamic\n  keypairName:\n    type: dynamic\n  flavorId:\n    type: dynamic\n  imageId:\n    type: dynamic\nresources:\n  instance1:\n    type: opentelekomcloud:EcsInstanceV1\n    name: instance_1\n    properties:\n      name: ${serverName}\n      imageId: ${imageId}\n      flavor: ${flavorId}\n      vpcId: ${sharedSubnet.vpcId}\n      nics:\n        - networkId: ${sharedSubnet.networkId}\n      availabilityZone: eu-de-01\n      dataDisks:\n        - type: SSD\n          size: 60\n      password: Password@123\n      deleteDisksOnTermination: true\n  test:\n    type: opentelekomcloud:CceNodeAttachV3\n    properties:\n      clusterId: ${clusterId}\n      serverId: ${instance1.ecsInstanceV1Id}\n      keyPair: ${keypairName}\n      os: EulerOS 2.5\n      tags:\n        foo: bar\n        key: value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"availabilityZone":{"type":"string","description":"The name of the available partition (AZ).\n"},"billingMode":{"type":"number"},"cceNodeAttachV3Id":{"type":"string","description":"The resource ID in UUID format.\n"},"clusterId":{"type":"string","description":"Specifies the ID of the cluster. Changing this parameter will create a new\nresource.\n"},"dataVolumes":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCceNodeAttachV3DataVolume:CceNodeAttachV3DataVolume"},"description":"The configurations of the data disk.\n"},"dockerBaseSize":{"type":"number","description":"Specifies the available disk space of a single docker container on the\nnode in device mapper mode. Changing this parameter will reset the node.\n"},"flavorId":{"type":"string","description":"The flavor ID of the CCE node.\n"},"k8sTags":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the tags of a Kubernetes node, key/value pair format.\nChanging this parameter will reset the node.\n"},"keyPair":{"type":"string","description":"Specifies the key pair name when logging in to select the key pair mode.\nThis parameter and \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\"\u003e`password`\u003c/span\u003e are alternative.\n"},"lvmConfig":{"type":"string","description":"Specifies the docker data disk configurations.\nThis parameter is alternative to \u003cspan pulumi-lang-nodejs=\"`storage`\" pulumi-lang-dotnet=\"`Storage`\" pulumi-lang-go=\"`storage`\" pulumi-lang-python=\"`storage`\" pulumi-lang-yaml=\"`storage`\" pulumi-lang-java=\"`storage`\"\u003e`storage`\u003c/span\u003e, and it's recommended to use \u003cspan pulumi-lang-nodejs=\"`storage`\" pulumi-lang-dotnet=\"`Storage`\" pulumi-lang-go=\"`storage`\" pulumi-lang-python=\"`storage`\" pulumi-lang-yaml=\"`storage`\" pulumi-lang-java=\"`storage`\"\u003e`storage`\u003c/span\u003e.\nThe following is an\nexample:\n\n"},"maxPods":{"type":"number","description":"Specifies the maximum number of instances a node is allowed to create.\nChanging this parameter will reset the node.\n"},"name":{"type":"string","description":"Specifies the Node Name.\n"},"os":{"type":"string","description":"Specifies the operating System of the node. Changing this parameter will reset the node.\nThe value can be **EulerOS 2.5**, **EulerOS 2.9**, **Ubuntu 22.04**, or **HCE OS 2.0**. For more details,\nplease see [documentation](https://docs.otc.t-systems.com/cloud-container-engine/umn/nodes/node_oss.html).\n"},"password":{"type":"string","description":"Specifies the root password when logging in to select the password mode.\nThe password consists of 8 to 26 characters and must contain at least three of following: uppercase letters,\nlowercase letters, digits, special characters(!@$%^-_=+[{}]:,./?~#*).\nThis parameter can be plain or salted and is alternative to \u003cspan pulumi-lang-nodejs=\"`keyPair`\" pulumi-lang-dotnet=\"`KeyPair`\" pulumi-lang-go=\"`keyPair`\" pulumi-lang-python=\"`key_pair`\" pulumi-lang-yaml=\"`keyPair`\" pulumi-lang-java=\"`keyPair`\"\u003e`key_pair`\u003c/span\u003e.\n","secret":true},"postinstall":{"type":"string","description":"Specifies the script required after installation. The input value can be\na Base64 encoded string or not. Changing this parameter will reset the node.\n"},"preinstall":{"type":"string","description":"Specifies the script required before installation. The input value can be\na Base64 encoded string or not. Changing this parameter will reset the node.\n"},"privateIp":{"type":"string","description":"Private IP of the CCE node.\n"},"privateKey":{"type":"string","description":"Specifies the private key of the in used \u003cspan pulumi-lang-nodejs=\"`keyPair`\" pulumi-lang-dotnet=\"`KeyPair`\" pulumi-lang-go=\"`keyPair`\" pulumi-lang-python=\"`key_pair`\" pulumi-lang-yaml=\"`keyPair`\" pulumi-lang-java=\"`keyPair`\"\u003e`key_pair`\u003c/span\u003e. This parameter is mandatory\nwhen replacing or unbinding a keypair if the CCE node is in **Active** state.\n","secret":true},"publicIp":{"type":"string","description":"Public IP of the CCE node.\n"},"region":{"type":"string","description":"The region in which nodes is created.\n"},"rootVolumes":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCceNodeAttachV3RootVolume:CceNodeAttachV3RootVolume"},"description":"The configuration of the system disk.\n"},"runtime":{"type":"string","description":"Specifies the runtime of the CCE node. Valid values are *docker* and\n*containerd*. Changing this parameter will reset the node.\n"},"serverId":{"type":"string","description":"Specifies the ecs server ID. Changing this parameter will create a new\nresource.\n"},"status":{"type":"string","description":"Node status information.\n"},"storage":{"$ref":"#/types/opentelekomcloud:index%2FCceNodeAttachV3Storage:CceNodeAttachV3Storage","description":"Specifies the disk initialization management parameter.\nThis parameter is alternative to \u003cspan pulumi-lang-nodejs=\"`lvmConfig`\" pulumi-lang-dotnet=\"`LvmConfig`\" pulumi-lang-go=\"`lvmConfig`\" pulumi-lang-python=\"`lvm_config`\" pulumi-lang-yaml=\"`lvmConfig`\" pulumi-lang-java=\"`lvmConfig`\"\u003e`lvm_config`\u003c/span\u003e and supported for clusters of v1.15.11 and later.\nChanging this parameter will reset the node.\n"},"subnetId":{"type":"string","description":"The ID of the subnet to which the NIC belongs.\n"},"systemDiskKmsKeyId":{"type":"string","description":"Specifies the KMS key ID. This is used to encrypt the root volume.\nChanging this parameter will reset the node.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the tags of a VM node, key/value pair format.\n"},"taints":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCceNodeAttachV3Taint:CceNodeAttachV3Taint"},"description":"Specifies the taints configuration of the nodes to set anti-affinity.\nChanging this parameter will reset the node. Each taint contains the following parameters:\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCceNodeAttachV3Timeouts:CceNodeAttachV3Timeouts"}},"type":"object","required":["availabilityZone","billingMode","cceNodeAttachV3Id","clusterId","dataVolumes","flavorId","name","os","privateIp","publicIp","region","rootVolumes","runtime","serverId","status","subnetId"],"inputProperties":{"cceNodeAttachV3Id":{"type":"string","description":"The resource ID in UUID format.\n"},"clusterId":{"type":"string","description":"Specifies the ID of the cluster. Changing this parameter will create a new\nresource.\n"},"dockerBaseSize":{"type":"number","description":"Specifies the available disk space of a single docker container on the\nnode in device mapper mode. Changing this parameter will reset the node.\n"},"k8sTags":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the tags of a Kubernetes node, key/value pair format.\nChanging this parameter will reset the node.\n"},"keyPair":{"type":"string","description":"Specifies the key pair name when logging in to select the key pair mode.\nThis parameter and \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\"\u003e`password`\u003c/span\u003e are alternative.\n"},"lvmConfig":{"type":"string","description":"Specifies the docker data disk configurations.\nThis parameter is alternative to \u003cspan pulumi-lang-nodejs=\"`storage`\" pulumi-lang-dotnet=\"`Storage`\" pulumi-lang-go=\"`storage`\" pulumi-lang-python=\"`storage`\" pulumi-lang-yaml=\"`storage`\" pulumi-lang-java=\"`storage`\"\u003e`storage`\u003c/span\u003e, and it's recommended to use \u003cspan pulumi-lang-nodejs=\"`storage`\" pulumi-lang-dotnet=\"`Storage`\" pulumi-lang-go=\"`storage`\" pulumi-lang-python=\"`storage`\" pulumi-lang-yaml=\"`storage`\" pulumi-lang-java=\"`storage`\"\u003e`storage`\u003c/span\u003e.\nThe following is an\nexample:\n\n"},"maxPods":{"type":"number","description":"Specifies the maximum number of instances a node is allowed to create.\nChanging this parameter will reset the node.\n"},"name":{"type":"string","description":"Specifies the Node Name.\n"},"os":{"type":"string","description":"Specifies the operating System of the node. Changing this parameter will reset the node.\nThe value can be **EulerOS 2.5**, **EulerOS 2.9**, **Ubuntu 22.04**, or **HCE OS 2.0**. For more details,\nplease see [documentation](https://docs.otc.t-systems.com/cloud-container-engine/umn/nodes/node_oss.html).\n"},"password":{"type":"string","description":"Specifies the root password when logging in to select the password mode.\nThe password consists of 8 to 26 characters and must contain at least three of following: uppercase letters,\nlowercase letters, digits, special characters(!@$%^-_=+[{}]:,./?~#*).\nThis parameter can be plain or salted and is alternative to \u003cspan pulumi-lang-nodejs=\"`keyPair`\" pulumi-lang-dotnet=\"`KeyPair`\" pulumi-lang-go=\"`keyPair`\" pulumi-lang-python=\"`key_pair`\" pulumi-lang-yaml=\"`keyPair`\" pulumi-lang-java=\"`keyPair`\"\u003e`key_pair`\u003c/span\u003e.\n","secret":true},"postinstall":{"type":"string","description":"Specifies the script required after installation. The input value can be\na Base64 encoded string or not. Changing this parameter will reset the node.\n"},"preinstall":{"type":"string","description":"Specifies the script required before installation. The input value can be\na Base64 encoded string or not. Changing this parameter will reset the node.\n"},"privateKey":{"type":"string","description":"Specifies the private key of the in used \u003cspan pulumi-lang-nodejs=\"`keyPair`\" pulumi-lang-dotnet=\"`KeyPair`\" pulumi-lang-go=\"`keyPair`\" pulumi-lang-python=\"`key_pair`\" pulumi-lang-yaml=\"`keyPair`\" pulumi-lang-java=\"`keyPair`\"\u003e`key_pair`\u003c/span\u003e. This parameter is mandatory\nwhen replacing or unbinding a keypair if the CCE node is in **Active** state.\n","secret":true},"runtime":{"type":"string","description":"Specifies the runtime of the CCE node. Valid values are *docker* and\n*containerd*. Changing this parameter will reset the node.\n"},"serverId":{"type":"string","description":"Specifies the ecs server ID. Changing this parameter will create a new\nresource.\n"},"storage":{"$ref":"#/types/opentelekomcloud:index%2FCceNodeAttachV3Storage:CceNodeAttachV3Storage","description":"Specifies the disk initialization management parameter.\nThis parameter is alternative to \u003cspan pulumi-lang-nodejs=\"`lvmConfig`\" pulumi-lang-dotnet=\"`LvmConfig`\" pulumi-lang-go=\"`lvmConfig`\" pulumi-lang-python=\"`lvm_config`\" pulumi-lang-yaml=\"`lvmConfig`\" pulumi-lang-java=\"`lvmConfig`\"\u003e`lvm_config`\u003c/span\u003e and supported for clusters of v1.15.11 and later.\nChanging this parameter will reset the node.\n"},"systemDiskKmsKeyId":{"type":"string","description":"Specifies the KMS key ID. This is used to encrypt the root volume.\nChanging this parameter will reset the node.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the tags of a VM node, key/value pair format.\n"},"taints":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCceNodeAttachV3Taint:CceNodeAttachV3Taint"},"description":"Specifies the taints configuration of the nodes to set anti-affinity.\nChanging this parameter will reset the node. Each taint contains the following parameters:\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCceNodeAttachV3Timeouts:CceNodeAttachV3Timeouts"}},"requiredInputs":["clusterId","os","serverId"],"stateInputs":{"description":"Input properties used for looking up and filtering CceNodeAttachV3 resources.\n","properties":{"availabilityZone":{"type":"string","description":"The name of the available partition (AZ).\n"},"billingMode":{"type":"number"},"cceNodeAttachV3Id":{"type":"string","description":"The resource ID in UUID format.\n"},"clusterId":{"type":"string","description":"Specifies the ID of the cluster. Changing this parameter will create a new\nresource.\n"},"dataVolumes":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCceNodeAttachV3DataVolume:CceNodeAttachV3DataVolume"},"description":"The configurations of the data disk.\n"},"dockerBaseSize":{"type":"number","description":"Specifies the available disk space of a single docker container on the\nnode in device mapper mode. Changing this parameter will reset the node.\n"},"flavorId":{"type":"string","description":"The flavor ID of the CCE node.\n"},"k8sTags":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the tags of a Kubernetes node, key/value pair format.\nChanging this parameter will reset the node.\n"},"keyPair":{"type":"string","description":"Specifies the key pair name when logging in to select the key pair mode.\nThis parameter and \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\"\u003e`password`\u003c/span\u003e are alternative.\n"},"lvmConfig":{"type":"string","description":"Specifies the docker data disk configurations.\nThis parameter is alternative to \u003cspan pulumi-lang-nodejs=\"`storage`\" pulumi-lang-dotnet=\"`Storage`\" pulumi-lang-go=\"`storage`\" pulumi-lang-python=\"`storage`\" pulumi-lang-yaml=\"`storage`\" pulumi-lang-java=\"`storage`\"\u003e`storage`\u003c/span\u003e, and it's recommended to use \u003cspan pulumi-lang-nodejs=\"`storage`\" pulumi-lang-dotnet=\"`Storage`\" pulumi-lang-go=\"`storage`\" pulumi-lang-python=\"`storage`\" pulumi-lang-yaml=\"`storage`\" pulumi-lang-java=\"`storage`\"\u003e`storage`\u003c/span\u003e.\nThe following is an\nexample:\n\n"},"maxPods":{"type":"number","description":"Specifies the maximum number of instances a node is allowed to create.\nChanging this parameter will reset the node.\n"},"name":{"type":"string","description":"Specifies the Node Name.\n"},"os":{"type":"string","description":"Specifies the operating System of the node. Changing this parameter will reset the node.\nThe value can be **EulerOS 2.5**, **EulerOS 2.9**, **Ubuntu 22.04**, or **HCE OS 2.0**. For more details,\nplease see [documentation](https://docs.otc.t-systems.com/cloud-container-engine/umn/nodes/node_oss.html).\n"},"password":{"type":"string","description":"Specifies the root password when logging in to select the password mode.\nThe password consists of 8 to 26 characters and must contain at least three of following: uppercase letters,\nlowercase letters, digits, special characters(!@$%^-_=+[{}]:,./?~#*).\nThis parameter can be plain or salted and is alternative to \u003cspan pulumi-lang-nodejs=\"`keyPair`\" pulumi-lang-dotnet=\"`KeyPair`\" pulumi-lang-go=\"`keyPair`\" pulumi-lang-python=\"`key_pair`\" pulumi-lang-yaml=\"`keyPair`\" pulumi-lang-java=\"`keyPair`\"\u003e`key_pair`\u003c/span\u003e.\n","secret":true},"postinstall":{"type":"string","description":"Specifies the script required after installation. The input value can be\na Base64 encoded string or not. Changing this parameter will reset the node.\n"},"preinstall":{"type":"string","description":"Specifies the script required before installation. The input value can be\na Base64 encoded string or not. Changing this parameter will reset the node.\n"},"privateIp":{"type":"string","description":"Private IP of the CCE node.\n"},"privateKey":{"type":"string","description":"Specifies the private key of the in used \u003cspan pulumi-lang-nodejs=\"`keyPair`\" pulumi-lang-dotnet=\"`KeyPair`\" pulumi-lang-go=\"`keyPair`\" pulumi-lang-python=\"`key_pair`\" pulumi-lang-yaml=\"`keyPair`\" pulumi-lang-java=\"`keyPair`\"\u003e`key_pair`\u003c/span\u003e. This parameter is mandatory\nwhen replacing or unbinding a keypair if the CCE node is in **Active** state.\n","secret":true},"publicIp":{"type":"string","description":"Public IP of the CCE node.\n"},"region":{"type":"string","description":"The region in which nodes is created.\n"},"rootVolumes":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCceNodeAttachV3RootVolume:CceNodeAttachV3RootVolume"},"description":"The configuration of the system disk.\n"},"runtime":{"type":"string","description":"Specifies the runtime of the CCE node. Valid values are *docker* and\n*containerd*. Changing this parameter will reset the node.\n"},"serverId":{"type":"string","description":"Specifies the ecs server ID. Changing this parameter will create a new\nresource.\n"},"status":{"type":"string","description":"Node status information.\n"},"storage":{"$ref":"#/types/opentelekomcloud:index%2FCceNodeAttachV3Storage:CceNodeAttachV3Storage","description":"Specifies the disk initialization management parameter.\nThis parameter is alternative to \u003cspan pulumi-lang-nodejs=\"`lvmConfig`\" pulumi-lang-dotnet=\"`LvmConfig`\" pulumi-lang-go=\"`lvmConfig`\" pulumi-lang-python=\"`lvm_config`\" pulumi-lang-yaml=\"`lvmConfig`\" pulumi-lang-java=\"`lvmConfig`\"\u003e`lvm_config`\u003c/span\u003e and supported for clusters of v1.15.11 and later.\nChanging this parameter will reset the node.\n"},"subnetId":{"type":"string","description":"The ID of the subnet to which the NIC belongs.\n"},"systemDiskKmsKeyId":{"type":"string","description":"Specifies the KMS key ID. This is used to encrypt the root volume.\nChanging this parameter will reset the node.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the tags of a VM node, key/value pair format.\n"},"taints":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCceNodeAttachV3Taint:CceNodeAttachV3Taint"},"description":"Specifies the taints configuration of the nodes to set anti-affinity.\nChanging this parameter will reset the node. Each taint contains the following parameters:\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCceNodeAttachV3Timeouts:CceNodeAttachV3Timeouts"}},"type":"object"}},"opentelekomcloud:index/cceNodePoolConfigV3:CceNodePoolConfigV3":{"description":"Up-to-date reference of API arguments for CCE node pool configuration you can get at\n[documentation portal](https://docs.otc.t-systems.com/cloud-container-engine/api-ref/apis/configuration_management)\n\nProvides a node pool configuration resource of a CCE container cluster.\n\n## Example Usage\n\n### Basic example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst clusterId = config.requireObject\u003cany\u003e(\"clusterId\");\nconst nodepoolId = config.requireObject\u003cany\u003e(\"nodepoolId\");\nconst nodePoolConfig = new opentelekomcloud.CceNodePoolConfigV3(\"node_pool_config\", {\n    clusterId: clusterId,\n    nodepoolId: nodepoolId,\n    name: \"configuration\",\n    packages: [{\n        name: \"kubelet\",\n        configurations: [{\n            name: \"system-reserved-mem\",\n            value: \"600\",\n        }],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ncluster_id = config.require_object(\"clusterId\")\nnodepool_id = config.require_object(\"nodepoolId\")\nnode_pool_config = opentelekomcloud.CceNodePoolConfigV3(\"node_pool_config\",\n    cluster_id=cluster_id,\n    nodepool_id=nodepool_id,\n    name=\"configuration\",\n    packages=[{\n        \"name\": \"kubelet\",\n        \"configurations\": [{\n            \"name\": \"system-reserved-mem\",\n            \"value\": \"600\",\n        }],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var clusterId = config.RequireObject\u003cdynamic\u003e(\"clusterId\");\n    var nodepoolId = config.RequireObject\u003cdynamic\u003e(\"nodepoolId\");\n    var nodePoolConfig = new Opentelekomcloud.CceNodePoolConfigV3(\"node_pool_config\", new()\n    {\n        ClusterId = clusterId,\n        NodepoolId = nodepoolId,\n        Name = \"configuration\",\n        Packages = new[]\n        {\n            new Opentelekomcloud.Inputs.CceNodePoolConfigV3PackageArgs\n            {\n                Name = \"kubelet\",\n                Configurations = new[]\n                {\n                    new Opentelekomcloud.Inputs.CceNodePoolConfigV3PackageConfigurationArgs\n                    {\n                        Name = \"system-reserved-mem\",\n                        Value = \"600\",\n                    },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tclusterId := cfg.RequireObject(\"clusterId\")\n\t\tnodepoolId := cfg.RequireObject(\"nodepoolId\")\n\t\t_, err := opentelekomcloud.NewCceNodePoolConfigV3(ctx, \"node_pool_config\", \u0026opentelekomcloud.CceNodePoolConfigV3Args{\n\t\t\tClusterId:  pulumi.Any(clusterId),\n\t\t\tNodepoolId: pulumi.Any(nodepoolId),\n\t\t\tName:       pulumi.String(\"configuration\"),\n\t\t\tPackages: opentelekomcloud.CceNodePoolConfigV3PackageArray{\n\t\t\t\t\u0026opentelekomcloud.CceNodePoolConfigV3PackageArgs{\n\t\t\t\t\tName: pulumi.String(\"kubelet\"),\n\t\t\t\t\tConfigurations: opentelekomcloud.CceNodePoolConfigV3PackageConfigurationArray{\n\t\t\t\t\t\t\u0026opentelekomcloud.CceNodePoolConfigV3PackageConfigurationArgs{\n\t\t\t\t\t\t\tName:  pulumi.String(\"system-reserved-mem\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"600\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.CceNodePoolConfigV3;\nimport com.pulumi.opentelekomcloud.CceNodePoolConfigV3Args;\nimport com.pulumi.opentelekomcloud.inputs.CceNodePoolConfigV3PackageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var clusterId = config.get(\"clusterId\");\n        final var nodepoolId = config.get(\"nodepoolId\");\n        var nodePoolConfig = new CceNodePoolConfigV3(\"nodePoolConfig\", CceNodePoolConfigV3Args.builder()\n            .clusterId(clusterId)\n            .nodepoolId(nodepoolId)\n            .name(\"configuration\")\n            .packages(CceNodePoolConfigV3PackageArgs.builder()\n                .name(\"kubelet\")\n                .configurations(CceNodePoolConfigV3PackageConfigurationArgs.builder()\n                    .name(\"system-reserved-mem\")\n                    .value(\"600\")\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  clusterId:\n    type: dynamic\n  nodepoolId:\n    type: dynamic\nresources:\n  nodePoolConfig:\n    type: opentelekomcloud:CceNodePoolConfigV3\n    name: node_pool_config\n    properties:\n      clusterId: ${clusterId}\n      nodepoolId: ${nodepoolId}\n      name: configuration\n      packages:\n        - name: kubelet\n          configurations:\n            - name: system-reserved-mem\n              value: 600\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"cceNodePoolConfigV3Id":{"type":"string","description":"Specifies a resource ID in UUID format.\n"},"clusterId":{"type":"string","description":"Specifies the ID of the CCE cluster.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the configuration labels in a key-value pair.\n"},"name":{"type":"string","description":"Specifies the configuration name.\n"},"nodepoolId":{"type":"string","description":"Specifies the node pool ID.\n"},"packages":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCceNodePoolConfigV3Package:CceNodePoolConfigV3Package"},"description":"Specifies the vomponent configuration item details. The packages structure is documented below.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCceNodePoolConfigV3Timeouts:CceNodePoolConfigV3Timeouts"}},"type":"object","required":["cceNodePoolConfigV3Id","clusterId","name","nodepoolId","packages"],"inputProperties":{"cceNodePoolConfigV3Id":{"type":"string","description":"Specifies a resource ID in UUID format.\n"},"clusterId":{"type":"string","description":"Specifies the ID of the CCE cluster.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the configuration labels in a key-value pair.\n"},"name":{"type":"string","description":"Specifies the configuration name.\n"},"nodepoolId":{"type":"string","description":"Specifies the node pool ID.\n"},"packages":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCceNodePoolConfigV3Package:CceNodePoolConfigV3Package"},"description":"Specifies the vomponent configuration item details. The packages structure is documented below.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCceNodePoolConfigV3Timeouts:CceNodePoolConfigV3Timeouts"}},"requiredInputs":["clusterId","nodepoolId","packages"],"stateInputs":{"description":"Input properties used for looking up and filtering CceNodePoolConfigV3 resources.\n","properties":{"cceNodePoolConfigV3Id":{"type":"string","description":"Specifies a resource ID in UUID format.\n"},"clusterId":{"type":"string","description":"Specifies the ID of the CCE cluster.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the configuration labels in a key-value pair.\n"},"name":{"type":"string","description":"Specifies the configuration name.\n"},"nodepoolId":{"type":"string","description":"Specifies the node pool ID.\n"},"packages":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCceNodePoolConfigV3Package:CceNodePoolConfigV3Package"},"description":"Specifies the vomponent configuration item details. The packages structure is documented below.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCceNodePoolConfigV3Timeouts:CceNodePoolConfigV3Timeouts"}},"type":"object"}},"opentelekomcloud:index/cceNodePoolV3:CceNodePoolV3":{"description":"Up-to-date reference of API arguments for CCE cluster node pool you can get at\n[documentation portal](https://docs.otc.t-systems.com/cloud-container-engine/api-ref/apis/cluster_management)\n\nProvides a node pool resource management of a container cluster.\n\n## Example Usage\n\n### Basic example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst clusterId = config.requireObject\u003cany\u003e(\"clusterId\");\nconst sshKey = config.requireObject\u003cany\u003e(\"sshKey\");\nconst availabilityZone = config.requireObject\u003cany\u003e(\"availabilityZone\");\nconst nodePool1 = new opentelekomcloud.CceNodePoolV3(\"node_pool_1\", {\n    clusterId: clusterId,\n    name: \"opentelekomcloud-cce-node-pool-test\",\n    os: \"EulerOS 2.9\",\n    flavor: \"s2.xlarge.2\",\n    initialNodeCount: 2,\n    availabilityZone: availabilityZone,\n    keyPair: sshKey,\n    scaleEnable: true,\n    minNodeCount: 2,\n    maxNodeCount: 9,\n    scaleDownCooldownTime: 100,\n    priority: 1,\n    runtime: \"containerd\",\n    agencyName: \"test-agency\",\n    rootVolume: {\n        size: 40,\n        volumetype: \"SSD\",\n    },\n    dataVolumes: [\n        {\n            size: 100,\n            volumetype: \"SSD\",\n        },\n        {\n            size: 100,\n            volumetype: \"SSD\",\n            extendParams: {\n                useType: \"docker\",\n            },\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ncluster_id = config.require_object(\"clusterId\")\nssh_key = config.require_object(\"sshKey\")\navailability_zone = config.require_object(\"availabilityZone\")\nnode_pool1 = opentelekomcloud.CceNodePoolV3(\"node_pool_1\",\n    cluster_id=cluster_id,\n    name=\"opentelekomcloud-cce-node-pool-test\",\n    os=\"EulerOS 2.9\",\n    flavor=\"s2.xlarge.2\",\n    initial_node_count=2,\n    availability_zone=availability_zone,\n    key_pair=ssh_key,\n    scale_enable=True,\n    min_node_count=2,\n    max_node_count=9,\n    scale_down_cooldown_time=100,\n    priority=1,\n    runtime=\"containerd\",\n    agency_name=\"test-agency\",\n    root_volume={\n        \"size\": 40,\n        \"volumetype\": \"SSD\",\n    },\n    data_volumes=[\n        {\n            \"size\": 100,\n            \"volumetype\": \"SSD\",\n        },\n        {\n            \"size\": 100,\n            \"volumetype\": \"SSD\",\n            \"extend_params\": {\n                \"useType\": \"docker\",\n            },\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var clusterId = config.RequireObject\u003cdynamic\u003e(\"clusterId\");\n    var sshKey = config.RequireObject\u003cdynamic\u003e(\"sshKey\");\n    var availabilityZone = config.RequireObject\u003cdynamic\u003e(\"availabilityZone\");\n    var nodePool1 = new Opentelekomcloud.CceNodePoolV3(\"node_pool_1\", new()\n    {\n        ClusterId = clusterId,\n        Name = \"opentelekomcloud-cce-node-pool-test\",\n        Os = \"EulerOS 2.9\",\n        Flavor = \"s2.xlarge.2\",\n        InitialNodeCount = 2,\n        AvailabilityZone = availabilityZone,\n        KeyPair = sshKey,\n        ScaleEnable = true,\n        MinNodeCount = 2,\n        MaxNodeCount = 9,\n        ScaleDownCooldownTime = 100,\n        Priority = 1,\n        Runtime = \"containerd\",\n        AgencyName = \"test-agency\",\n        RootVolume = new Opentelekomcloud.Inputs.CceNodePoolV3RootVolumeArgs\n        {\n            Size = 40,\n            Volumetype = \"SSD\",\n        },\n        DataVolumes = new[]\n        {\n            new Opentelekomcloud.Inputs.CceNodePoolV3DataVolumeArgs\n            {\n                Size = 100,\n                Volumetype = \"SSD\",\n            },\n            new Opentelekomcloud.Inputs.CceNodePoolV3DataVolumeArgs\n            {\n                Size = 100,\n                Volumetype = \"SSD\",\n                ExtendParams = \n                {\n                    { \"useType\", \"docker\" },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tclusterId := cfg.RequireObject(\"clusterId\")\n\t\tsshKey := cfg.RequireObject(\"sshKey\")\n\t\tavailabilityZone := cfg.RequireObject(\"availabilityZone\")\n\t\t_, err := opentelekomcloud.NewCceNodePoolV3(ctx, \"node_pool_1\", \u0026opentelekomcloud.CceNodePoolV3Args{\n\t\t\tClusterId:             pulumi.Any(clusterId),\n\t\t\tName:                  pulumi.String(\"opentelekomcloud-cce-node-pool-test\"),\n\t\t\tOs:                    pulumi.String(\"EulerOS 2.9\"),\n\t\t\tFlavor:                pulumi.String(\"s2.xlarge.2\"),\n\t\t\tInitialNodeCount:      pulumi.Float64(2),\n\t\t\tAvailabilityZone:      pulumi.Any(availabilityZone),\n\t\t\tKeyPair:               pulumi.Any(sshKey),\n\t\t\tScaleEnable:           pulumi.Bool(true),\n\t\t\tMinNodeCount:          pulumi.Float64(2),\n\t\t\tMaxNodeCount:          pulumi.Float64(9),\n\t\t\tScaleDownCooldownTime: pulumi.Float64(100),\n\t\t\tPriority:              pulumi.Float64(1),\n\t\t\tRuntime:               pulumi.String(\"containerd\"),\n\t\t\tAgencyName:            pulumi.String(\"test-agency\"),\n\t\t\tRootVolume: \u0026opentelekomcloud.CceNodePoolV3RootVolumeArgs{\n\t\t\t\tSize:       pulumi.Float64(40),\n\t\t\t\tVolumetype: pulumi.String(\"SSD\"),\n\t\t\t},\n\t\t\tDataVolumes: opentelekomcloud.CceNodePoolV3DataVolumeArray{\n\t\t\t\t\u0026opentelekomcloud.CceNodePoolV3DataVolumeArgs{\n\t\t\t\t\tSize:       pulumi.Float64(100),\n\t\t\t\t\tVolumetype: pulumi.String(\"SSD\"),\n\t\t\t\t},\n\t\t\t\t\u0026opentelekomcloud.CceNodePoolV3DataVolumeArgs{\n\t\t\t\t\tSize:       pulumi.Float64(100),\n\t\t\t\t\tVolumetype: pulumi.String(\"SSD\"),\n\t\t\t\t\tExtendParams: pulumi.StringMap{\n\t\t\t\t\t\t\"useType\": pulumi.String(\"docker\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.CceNodePoolV3;\nimport com.pulumi.opentelekomcloud.CceNodePoolV3Args;\nimport com.pulumi.opentelekomcloud.inputs.CceNodePoolV3RootVolumeArgs;\nimport com.pulumi.opentelekomcloud.inputs.CceNodePoolV3DataVolumeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var clusterId = config.get(\"clusterId\");\n        final var sshKey = config.get(\"sshKey\");\n        final var availabilityZone = config.get(\"availabilityZone\");\n        var nodePool1 = new CceNodePoolV3(\"nodePool1\", CceNodePoolV3Args.builder()\n            .clusterId(clusterId)\n            .name(\"opentelekomcloud-cce-node-pool-test\")\n            .os(\"EulerOS 2.9\")\n            .flavor(\"s2.xlarge.2\")\n            .initialNodeCount(2.0)\n            .availabilityZone(availabilityZone)\n            .keyPair(sshKey)\n            .scaleEnable(true)\n            .minNodeCount(2.0)\n            .maxNodeCount(9.0)\n            .scaleDownCooldownTime(100.0)\n            .priority(1.0)\n            .runtime(\"containerd\")\n            .agencyName(\"test-agency\")\n            .rootVolume(CceNodePoolV3RootVolumeArgs.builder()\n                .size(40.0)\n                .volumetype(\"SSD\")\n                .build())\n            .dataVolumes(            \n                CceNodePoolV3DataVolumeArgs.builder()\n                    .size(100.0)\n                    .volumetype(\"SSD\")\n                    .build(),\n                CceNodePoolV3DataVolumeArgs.builder()\n                    .size(100.0)\n                    .volumetype(\"SSD\")\n                    .extendParams(Map.of(\"useType\", \"docker\"))\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  clusterId:\n    type: dynamic\n  sshKey:\n    type: dynamic\n  availabilityZone:\n    type: dynamic\nresources:\n  nodePool1:\n    type: opentelekomcloud:CceNodePoolV3\n    name: node_pool_1\n    properties:\n      clusterId: ${clusterId}\n      name: opentelekomcloud-cce-node-pool-test\n      os: EulerOS 2.9\n      flavor: s2.xlarge.2\n      initialNodeCount: 2\n      availabilityZone: ${availabilityZone}\n      keyPair: ${sshKey}\n      scaleEnable: true\n      minNodeCount: 2\n      maxNodeCount: 9\n      scaleDownCooldownTime: 100\n      priority: 1\n      runtime: containerd\n      agencyName: test-agency\n      rootVolume:\n        size: 40\n        volumetype: SSD\n      dataVolumes:\n        - size: 100\n          volumetype: SSD\n        - size: 100\n          volumetype: SSD\n          extendParams:\n            useType: docker\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Node pool with storage settings\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst clusterId = config.requireObject\u003cany\u003e(\"clusterId\");\nconst sshKey = config.requireObject\u003cany\u003e(\"sshKey\");\nconst kmsKeyId = config.requireObject\u003cany\u003e(\"kmsKeyId\");\nconst availabilityZone = config.requireObject\u003cany\u003e(\"availabilityZone\");\nconst nodePool = new opentelekomcloud.CceNodePoolV3(\"node_pool\", {\n    clusterId: clusterId,\n    name: \"opentelekomcloud-cce-node-pool\",\n    os: \"EulerOS 2.9\",\n    flavor: \"s2.large.2\",\n    initialNodeCount: 1,\n    keyPair: sshKey,\n    availabilityZone: \"random\",\n    rootVolume: {\n        size: 40,\n        volumetype: \"SSD\",\n    },\n    dataVolumes: [{\n        size: 100,\n        volumetype: \"SSD\",\n    }],\n    storage: JSON.stringify({\n        storageSelectors: [{\n            name: \"cceUse\",\n            storageType: \"evs\",\n            matchLabels: {\n                size: \"100\",\n                volumeType: \"SSD\",\n                count: \"1\",\n                metadataEncrypted: \"1\",\n                metadataCmkid: kmsKeyId,\n            },\n        }],\n        storageGroups: [{\n            name: \"vgpaas\",\n            selectorNames: [\"cceUse\"],\n            cceManaged: true,\n            virtualSpaces: [\n                {\n                    name: \"runtime\",\n                    size: \"90%\",\n                },\n                {\n                    name: \"kubernetes\",\n                    size: \"10%\",\n                },\n            ],\n        }],\n    }),\n    maxPods: 16,\n    dockerBaseSize: 32,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ncluster_id = config.require_object(\"clusterId\")\nssh_key = config.require_object(\"sshKey\")\nkms_key_id = config.require_object(\"kmsKeyId\")\navailability_zone = config.require_object(\"availabilityZone\")\nnode_pool = opentelekomcloud.CceNodePoolV3(\"node_pool\",\n    cluster_id=cluster_id,\n    name=\"opentelekomcloud-cce-node-pool\",\n    os=\"EulerOS 2.9\",\n    flavor=\"s2.large.2\",\n    initial_node_count=1,\n    key_pair=ssh_key,\n    availability_zone=\"random\",\n    root_volume={\n        \"size\": 40,\n        \"volumetype\": \"SSD\",\n    },\n    data_volumes=[{\n        \"size\": 100,\n        \"volumetype\": \"SSD\",\n    }],\n    storage=json.dumps({\n        \"storageSelectors\": [{\n            \"name\": \"cceUse\",\n            \"storageType\": \"evs\",\n            \"matchLabels\": {\n                \"size\": \"100\",\n                \"volumeType\": \"SSD\",\n                \"count\": \"1\",\n                \"metadataEncrypted\": \"1\",\n                \"metadataCmkid\": kms_key_id,\n            },\n        }],\n        \"storageGroups\": [{\n            \"name\": \"vgpaas\",\n            \"selectorNames\": [\"cceUse\"],\n            \"cceManaged\": True,\n            \"virtualSpaces\": [\n                {\n                    \"name\": \"runtime\",\n                    \"size\": \"90%\",\n                },\n                {\n                    \"name\": \"kubernetes\",\n                    \"size\": \"10%\",\n                },\n            ],\n        }],\n    }),\n    max_pods=16,\n    docker_base_size=32)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var clusterId = config.RequireObject\u003cdynamic\u003e(\"clusterId\");\n    var sshKey = config.RequireObject\u003cdynamic\u003e(\"sshKey\");\n    var kmsKeyId = config.RequireObject\u003cdynamic\u003e(\"kmsKeyId\");\n    var availabilityZone = config.RequireObject\u003cdynamic\u003e(\"availabilityZone\");\n    var nodePool = new Opentelekomcloud.CceNodePoolV3(\"node_pool\", new()\n    {\n        ClusterId = clusterId,\n        Name = \"opentelekomcloud-cce-node-pool\",\n        Os = \"EulerOS 2.9\",\n        Flavor = \"s2.large.2\",\n        InitialNodeCount = 1,\n        KeyPair = sshKey,\n        AvailabilityZone = \"random\",\n        RootVolume = new Opentelekomcloud.Inputs.CceNodePoolV3RootVolumeArgs\n        {\n            Size = 40,\n            Volumetype = \"SSD\",\n        },\n        DataVolumes = new[]\n        {\n            new Opentelekomcloud.Inputs.CceNodePoolV3DataVolumeArgs\n            {\n                Size = 100,\n                Volumetype = \"SSD\",\n            },\n        },\n        Storage = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n        {\n            [\"storageSelectors\"] = new[]\n            {\n                new Dictionary\u003cstring, object?\u003e\n                {\n                    [\"name\"] = \"cceUse\",\n                    [\"storageType\"] = \"evs\",\n                    [\"matchLabels\"] = new Dictionary\u003cstring, object?\u003e\n                    {\n                        [\"size\"] = \"100\",\n                        [\"volumeType\"] = \"SSD\",\n                        [\"count\"] = \"1\",\n                        [\"metadataEncrypted\"] = \"1\",\n                        [\"metadataCmkid\"] = kmsKeyId,\n                    },\n                },\n            },\n            [\"storageGroups\"] = new[]\n            {\n                new Dictionary\u003cstring, object?\u003e\n                {\n                    [\"name\"] = \"vgpaas\",\n                    [\"selectorNames\"] = new[]\n                    {\n                        \"cceUse\",\n                    },\n                    [\"cceManaged\"] = true,\n                    [\"virtualSpaces\"] = new[]\n                    {\n                        new Dictionary\u003cstring, object?\u003e\n                        {\n                            [\"name\"] = \"runtime\",\n                            [\"size\"] = \"90%\",\n                        },\n                        new Dictionary\u003cstring, object?\u003e\n                        {\n                            [\"name\"] = \"kubernetes\",\n                            [\"size\"] = \"10%\",\n                        },\n                    },\n                },\n            },\n        }),\n        MaxPods = 16,\n        DockerBaseSize = 32,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tclusterId := cfg.RequireObject(\"clusterId\")\n\t\tsshKey := cfg.RequireObject(\"sshKey\")\n\t\tkmsKeyId := cfg.RequireObject(\"kmsKeyId\")\n\t\tavailabilityZone := cfg.RequireObject(\"availabilityZone\")\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"storageSelectors\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"name\":        \"cceUse\",\n\t\t\t\t\t\"storageType\": \"evs\",\n\t\t\t\t\t\"matchLabels\": map[string]interface{}{\n\t\t\t\t\t\t\"size\":              \"100\",\n\t\t\t\t\t\t\"volumeType\":        \"SSD\",\n\t\t\t\t\t\t\"count\":             \"1\",\n\t\t\t\t\t\t\"metadataEncrypted\": \"1\",\n\t\t\t\t\t\t\"metadataCmkid\":     kmsKeyId,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"storageGroups\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"name\": \"vgpaas\",\n\t\t\t\t\t\"selectorNames\": []string{\n\t\t\t\t\t\t\"cceUse\",\n\t\t\t\t\t},\n\t\t\t\t\t\"cceManaged\": true,\n\t\t\t\t\t\"virtualSpaces\": []map[string]interface{}{\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"name\": \"runtime\",\n\t\t\t\t\t\t\t\"size\": \"90%\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"name\": \"kubernetes\",\n\t\t\t\t\t\t\t\"size\": \"10%\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t_, err = opentelekomcloud.NewCceNodePoolV3(ctx, \"node_pool\", \u0026opentelekomcloud.CceNodePoolV3Args{\n\t\t\tClusterId:        pulumi.Any(clusterId),\n\t\t\tName:             pulumi.String(\"opentelekomcloud-cce-node-pool\"),\n\t\t\tOs:               pulumi.String(\"EulerOS 2.9\"),\n\t\t\tFlavor:           pulumi.String(\"s2.large.2\"),\n\t\t\tInitialNodeCount: pulumi.Float64(1),\n\t\t\tKeyPair:          pulumi.Any(sshKey),\n\t\t\tAvailabilityZone: pulumi.String(\"random\"),\n\t\t\tRootVolume: \u0026opentelekomcloud.CceNodePoolV3RootVolumeArgs{\n\t\t\t\tSize:       pulumi.Float64(40),\n\t\t\t\tVolumetype: pulumi.String(\"SSD\"),\n\t\t\t},\n\t\t\tDataVolumes: opentelekomcloud.CceNodePoolV3DataVolumeArray{\n\t\t\t\t\u0026opentelekomcloud.CceNodePoolV3DataVolumeArgs{\n\t\t\t\t\tSize:       pulumi.Float64(100),\n\t\t\t\t\tVolumetype: pulumi.String(\"SSD\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tStorage:        pulumi.String(json0),\n\t\t\tMaxPods:        pulumi.Float64(16),\n\t\t\tDockerBaseSize: pulumi.Float64(32),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.CceNodePoolV3;\nimport com.pulumi.opentelekomcloud.CceNodePoolV3Args;\nimport com.pulumi.opentelekomcloud.inputs.CceNodePoolV3RootVolumeArgs;\nimport com.pulumi.opentelekomcloud.inputs.CceNodePoolV3DataVolumeArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var clusterId = config.get(\"clusterId\");\n        final var sshKey = config.get(\"sshKey\");\n        final var kmsKeyId = config.get(\"kmsKeyId\");\n        final var availabilityZone = config.get(\"availabilityZone\");\n        var nodePool = new CceNodePoolV3(\"nodePool\", CceNodePoolV3Args.builder()\n            .clusterId(clusterId)\n            .name(\"opentelekomcloud-cce-node-pool\")\n            .os(\"EulerOS 2.9\")\n            .flavor(\"s2.large.2\")\n            .initialNodeCount(1.0)\n            .keyPair(sshKey)\n            .availabilityZone(\"random\")\n            .rootVolume(CceNodePoolV3RootVolumeArgs.builder()\n                .size(40.0)\n                .volumetype(\"SSD\")\n                .build())\n            .dataVolumes(CceNodePoolV3DataVolumeArgs.builder()\n                .size(100.0)\n                .volumetype(\"SSD\")\n                .build())\n            .storage(serializeJson(\n                jsonObject(\n                    jsonProperty(\"storageSelectors\", jsonArray(jsonObject(\n                        jsonProperty(\"name\", \"cceUse\"),\n                        jsonProperty(\"storageType\", \"evs\"),\n                        jsonProperty(\"matchLabels\", jsonObject(\n                            jsonProperty(\"size\", \"100\"),\n                            jsonProperty(\"volumeType\", \"SSD\"),\n                            jsonProperty(\"count\", \"1\"),\n                            jsonProperty(\"metadataEncrypted\", \"1\"),\n                            jsonProperty(\"metadataCmkid\", kmsKeyId)\n                        ))\n                    ))),\n                    jsonProperty(\"storageGroups\", jsonArray(jsonObject(\n                        jsonProperty(\"name\", \"vgpaas\"),\n                        jsonProperty(\"selectorNames\", jsonArray(\"cceUse\")),\n                        jsonProperty(\"cceManaged\", true),\n                        jsonProperty(\"virtualSpaces\", jsonArray(\n                            jsonObject(\n                                jsonProperty(\"name\", \"runtime\"),\n                                jsonProperty(\"size\", \"90%\")\n                            ), \n                            jsonObject(\n                                jsonProperty(\"name\", \"kubernetes\"),\n                                jsonProperty(\"size\", \"10%\")\n                            )\n                        ))\n                    )))\n                )))\n            .maxPods(16.0)\n            .dockerBaseSize(32.0)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  clusterId:\n    type: dynamic\n  sshKey:\n    type: dynamic\n  kmsKeyId:\n    type: dynamic\n  availabilityZone:\n    type: dynamic\nresources:\n  nodePool:\n    type: opentelekomcloud:CceNodePoolV3\n    name: node_pool\n    properties:\n      clusterId: ${clusterId}\n      name: opentelekomcloud-cce-node-pool\n      os: EulerOS 2.9\n      flavor: s2.large.2\n      initialNodeCount: 1\n      keyPair: ${sshKey}\n      availabilityZone: random\n      rootVolume:\n        size: 40\n        volumetype: SSD\n      dataVolumes:\n        - size: 100\n          volumetype: SSD\n      storage:\n        fn::toJSON:\n          storageSelectors:\n            - name: cceUse\n              storageType: evs\n              matchLabels:\n                size: '100'\n                volumeType: SSD\n                count: '1'\n                metadataEncrypted: '1'\n                metadataCmkid: ${kmsKeyId}\n          storageGroups:\n            - name: vgpaas\n              selectorNames:\n                - cceUse\n              cceManaged: true\n              virtualSpaces:\n                - name: runtime\n                  size: 90%\n                - name: kubernetes\n                  size: 10%\n      maxPods: 16\n      dockerBaseSize: 32\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCCE NodePool can be imported using the `cluster_id/node_pool_id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/cceNodePoolV3:CceNodePoolV3 pool_1 14a80bc7-c12c-4fe0-a38a-cb77eeac9bd6/89c60255-9bd6-460c-822a-e2b959ede9d2\n```\n\n","properties":{"agencyName":{"type":"string","description":"IAM agency name. Changing this parameter will create a new resource.\n"},"availabilityZone":{"type":"string","description":"Specify the name of the available partition (AZ). If zone is not\nspecified than \u003cspan pulumi-lang-nodejs=\"`nodePool`\" pulumi-lang-dotnet=\"`NodePool`\" pulumi-lang-go=\"`nodePool`\" pulumi-lang-python=\"`node_pool`\" pulumi-lang-yaml=\"`nodePool`\" pulumi-lang-java=\"`nodePool`\"\u003e`node_pool`\u003c/span\u003e will be in randomly selected AZ. The default value is \u003cspan pulumi-lang-nodejs=\"`random`\" pulumi-lang-dotnet=\"`Random`\" pulumi-lang-go=\"`random`\" pulumi-lang-python=\"`random`\" pulumi-lang-yaml=\"`random`\" pulumi-lang-java=\"`random`\"\u003e`random`\u003c/span\u003e. Changing\nthis parameter will create a new resource.\n\n-\u003e\nIf AZ is set to \u003cspan pulumi-lang-nodejs=\"`random`\" pulumi-lang-dotnet=\"`Random`\" pulumi-lang-go=\"`random`\" pulumi-lang-python=\"`random`\" pulumi-lang-yaml=\"`random`\" pulumi-lang-java=\"`random`\"\u003e`random`\u003c/span\u003e, when you create a node pool or update the number of nodes in a node pool, a scaling task is\ntriggered. The system selects an AZ from all AZs where scaling is allowed to add nodes based on priorities. AZs with a\nsmaller the number of existing nodes have a higher priority. If AZs have the same number of nodes, the system selects\nthe AZ based on the AZ sequence. For more details see\n[API documentation](https://docs.otc.t-systems.com/en-us/api2/cce/cce_02_0354.html#cce_02_0354__table620623542313)\n"},"cceNodePoolV3Id":{"type":"string","description":"Specifies a resource ID in UUID format.\n"},"clusterId":{"type":"string","description":"ID of the cluster. Changing this parameter will create a new resource.\n"},"dataVolumes":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCceNodePoolV3DataVolume:CceNodePoolV3DataVolume"},"description":"Represents the data disk to be created. Changing this parameter will create a new resource.\n"},"dockerBaseSize":{"type":"number","description":"Available disk space of a single Docker container on the node using the device mapper.\nChanging this parameter will create a new node pool.\n"},"dockerLvmConfigOverride":{"type":"string","description":"`ConfigMap` of the Docker data disk.\nChanging this parameter will create a new node.\n"},"flavor":{"type":"string","description":"Specifies the flavor id. Changing this parameter will create a new resource.\n"},"initialNodeCount":{"type":"number","description":"Initial number of expected nodes in the node pool.\n"},"k8sTags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags of a Kubernetes node, key/value pair format.\n"},"keyPair":{"type":"string","description":"Key pair name when logging in to select the key pair mode.\nThis parameter and password are alternative. Changing this parameter will create a new resource.\n"},"maxNodeCount":{"type":"number","description":"Maximum number of nodes allowed if auto scaling is enabled.\n"},"maxPods":{"type":"number","description":"The maximum number of instances a node is allowed to create.\nChanging this parameter will create a new node pool.\n"},"minNodeCount":{"type":"number","description":"Minimum number of nodes allowed if auto scaling is enabled.\n"},"name":{"type":"string","description":"Node Pool Name.\n"},"os":{"type":"string","description":"Node OS. Changing this parameter will create a new resource.\n\nSupported OS depends on kubernetes version of the cluster.\n| OS           | Kubernetes version |\n| :----------- | :----------------- |\n| HCE OS 2.0   | `v1.30`, `v1.29`, `v1.28`, `v1.27` |\n| Ubuntu 22.04 | `v1.30`, `v1.29`, `v1.28`, `v1.27` |\n| EulerOS release 2.9 | `v1.30`, `v1.29`, `v1.28`, `v1.27` |\n\nFor detailed information, visit the CCE node operating systems [reference document](https://docs.otc.t-systems.com/cloud-container-engine/umn/nodes/node_oss.html).\n"},"password":{"type":"string","description":"Password used for node login.\nThis parameter and password are alternative. Changing this parameter will create a new resource.\n\u003e **NOTE:** This field is not supported for the current version.\n","secret":true},"postinstall":{"type":"string","description":"Script required after installation. The input value can be a Base64 encoded string or not.\nChanging this parameter will create a new resource.\n"},"preinstall":{"type":"string","description":"Script required before installation. The input value can be a Base64 encoded string or not.\nChanging this parameter will create a new resource.\n"},"priority":{"type":"number","description":"Weight of a node pool. A node pool with a higher weight has a higher priority during scaling.\n"},"rootVolume":{"$ref":"#/types/opentelekomcloud:index%2FCceNodePoolV3RootVolume:CceNodePoolV3RootVolume","description":"It corresponds to the system disk related configuration. Changing this parameter will create a new resource.\n"},"runtime":{"type":"string","description":"Container runtime. Changing this parameter will create a new resource.\nUse with high-caution, may trigger resource recreation. Options are:\n\u003cspan pulumi-lang-nodejs=\"`docker`\" pulumi-lang-dotnet=\"`Docker`\" pulumi-lang-go=\"`docker`\" pulumi-lang-python=\"`docker`\" pulumi-lang-yaml=\"`docker`\" pulumi-lang-java=\"`docker`\"\u003e`docker`\u003c/span\u003e - Docker\n\u003cspan pulumi-lang-nodejs=\"`containerd`\" pulumi-lang-dotnet=\"`Containerd`\" pulumi-lang-go=\"`containerd`\" pulumi-lang-python=\"`containerd`\" pulumi-lang-yaml=\"`containerd`\" pulumi-lang-java=\"`containerd`\"\u003e`containerd`\u003c/span\u003e - Containerd\n"},"scaleDownCooldownTime":{"type":"number","description":"Interval between two scaling operations, in minutes.\n"},"scaleEnable":{"type":"boolean","description":"Whether to enable auto scaling. If Autoscaler is enabled, install the autoscaler add-on to use the auto scaling feature.\n"},"securityGroupIds":{"type":"array","items":{"type":"string"},"description":"Specifies the list of custom security group IDs for the node pool.\nIf specified, the nodes will be put in these security groups. When specifying a security group, do not modify\nthe rules of the port on which CCE running depends.\n"},"serverGroupReference":{"type":"string","description":"ECS group ID. If this parameter is specified, all nodes in the node pool will be created in this ECS group.\n"},"status":{"type":"string","description":"Node status information.\n"},"storage":{"type":"string","description":"Specifies the json string vary depending on CCE node pools storage options.\n\u003e Please refer to the [documentation](https://docs.otc.t-systems.com/cloud-container-engine/api-ref/apis/cluster_management/querying_a_specified_node_pool.html#cce-02-0355-response-storage)\nfor actual fields.\n"},"subnetId":{"type":"string","description":"The ID of the subnet to which the NIC belongs. Changing this parameter will create a new resource.\n"},"taints":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCceNodePoolV3Taint:CceNodePoolV3Taint"},"description":"Taints to created nodes to configure anti-affinity.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCceNodePoolV3Timeouts:CceNodePoolV3Timeouts"},"userTags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tag of a VM, key/value pair format.\n"}},"type":"object","required":["cceNodePoolV3Id","clusterId","dataVolumes","flavor","initialNodeCount","k8sTags","maxPods","name","os","postinstall","preinstall","rootVolume","runtime","securityGroupIds","status","subnetId"],"inputProperties":{"agencyName":{"type":"string","description":"IAM agency name. Changing this parameter will create a new resource.\n"},"availabilityZone":{"type":"string","description":"Specify the name of the available partition (AZ). If zone is not\nspecified than \u003cspan pulumi-lang-nodejs=\"`nodePool`\" pulumi-lang-dotnet=\"`NodePool`\" pulumi-lang-go=\"`nodePool`\" pulumi-lang-python=\"`node_pool`\" pulumi-lang-yaml=\"`nodePool`\" pulumi-lang-java=\"`nodePool`\"\u003e`node_pool`\u003c/span\u003e will be in randomly selected AZ. The default value is \u003cspan pulumi-lang-nodejs=\"`random`\" pulumi-lang-dotnet=\"`Random`\" pulumi-lang-go=\"`random`\" pulumi-lang-python=\"`random`\" pulumi-lang-yaml=\"`random`\" pulumi-lang-java=\"`random`\"\u003e`random`\u003c/span\u003e. Changing\nthis parameter will create a new resource.\n\n-\u003e\nIf AZ is set to \u003cspan pulumi-lang-nodejs=\"`random`\" pulumi-lang-dotnet=\"`Random`\" pulumi-lang-go=\"`random`\" pulumi-lang-python=\"`random`\" pulumi-lang-yaml=\"`random`\" pulumi-lang-java=\"`random`\"\u003e`random`\u003c/span\u003e, when you create a node pool or update the number of nodes in a node pool, a scaling task is\ntriggered. The system selects an AZ from all AZs where scaling is allowed to add nodes based on priorities. AZs with a\nsmaller the number of existing nodes have a higher priority. If AZs have the same number of nodes, the system selects\nthe AZ based on the AZ sequence. For more details see\n[API documentation](https://docs.otc.t-systems.com/en-us/api2/cce/cce_02_0354.html#cce_02_0354__table620623542313)\n"},"cceNodePoolV3Id":{"type":"string","description":"Specifies a resource ID in UUID format.\n"},"clusterId":{"type":"string","description":"ID of the cluster. Changing this parameter will create a new resource.\n"},"dataVolumes":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCceNodePoolV3DataVolume:CceNodePoolV3DataVolume"},"description":"Represents the data disk to be created. Changing this parameter will create a new resource.\n"},"dockerBaseSize":{"type":"number","description":"Available disk space of a single Docker container on the node using the device mapper.\nChanging this parameter will create a new node pool.\n"},"dockerLvmConfigOverride":{"type":"string","description":"`ConfigMap` of the Docker data disk.\nChanging this parameter will create a new node.\n"},"flavor":{"type":"string","description":"Specifies the flavor id. Changing this parameter will create a new resource.\n"},"initialNodeCount":{"type":"number","description":"Initial number of expected nodes in the node pool.\n"},"k8sTags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags of a Kubernetes node, key/value pair format.\n"},"keyPair":{"type":"string","description":"Key pair name when logging in to select the key pair mode.\nThis parameter and password are alternative. Changing this parameter will create a new resource.\n"},"maxNodeCount":{"type":"number","description":"Maximum number of nodes allowed if auto scaling is enabled.\n"},"maxPods":{"type":"number","description":"The maximum number of instances a node is allowed to create.\nChanging this parameter will create a new node pool.\n"},"minNodeCount":{"type":"number","description":"Minimum number of nodes allowed if auto scaling is enabled.\n"},"name":{"type":"string","description":"Node Pool Name.\n"},"os":{"type":"string","description":"Node OS. Changing this parameter will create a new resource.\n\nSupported OS depends on kubernetes version of the cluster.\n| OS           | Kubernetes version |\n| :----------- | :----------------- |\n| HCE OS 2.0   | `v1.30`, `v1.29`, `v1.28`, `v1.27` |\n| Ubuntu 22.04 | `v1.30`, `v1.29`, `v1.28`, `v1.27` |\n| EulerOS release 2.9 | `v1.30`, `v1.29`, `v1.28`, `v1.27` |\n\nFor detailed information, visit the CCE node operating systems [reference document](https://docs.otc.t-systems.com/cloud-container-engine/umn/nodes/node_oss.html).\n"},"password":{"type":"string","description":"Password used for node login.\nThis parameter and password are alternative. Changing this parameter will create a new resource.\n\u003e **NOTE:** This field is not supported for the current version.\n","secret":true},"postinstall":{"type":"string","description":"Script required after installation. The input value can be a Base64 encoded string or not.\nChanging this parameter will create a new resource.\n"},"preinstall":{"type":"string","description":"Script required before installation. The input value can be a Base64 encoded string or not.\nChanging this parameter will create a new resource.\n"},"priority":{"type":"number","description":"Weight of a node pool. A node pool with a higher weight has a higher priority during scaling.\n"},"rootVolume":{"$ref":"#/types/opentelekomcloud:index%2FCceNodePoolV3RootVolume:CceNodePoolV3RootVolume","description":"It corresponds to the system disk related configuration. Changing this parameter will create a new resource.\n"},"runtime":{"type":"string","description":"Container runtime. Changing this parameter will create a new resource.\nUse with high-caution, may trigger resource recreation. Options are:\n\u003cspan pulumi-lang-nodejs=\"`docker`\" pulumi-lang-dotnet=\"`Docker`\" pulumi-lang-go=\"`docker`\" pulumi-lang-python=\"`docker`\" pulumi-lang-yaml=\"`docker`\" pulumi-lang-java=\"`docker`\"\u003e`docker`\u003c/span\u003e - Docker\n\u003cspan pulumi-lang-nodejs=\"`containerd`\" pulumi-lang-dotnet=\"`Containerd`\" pulumi-lang-go=\"`containerd`\" pulumi-lang-python=\"`containerd`\" pulumi-lang-yaml=\"`containerd`\" pulumi-lang-java=\"`containerd`\"\u003e`containerd`\u003c/span\u003e - Containerd\n"},"scaleDownCooldownTime":{"type":"number","description":"Interval between two scaling operations, in minutes.\n"},"scaleEnable":{"type":"boolean","description":"Whether to enable auto scaling. If Autoscaler is enabled, install the autoscaler add-on to use the auto scaling feature.\n"},"securityGroupIds":{"type":"array","items":{"type":"string"},"description":"Specifies the list of custom security group IDs for the node pool.\nIf specified, the nodes will be put in these security groups. When specifying a security group, do not modify\nthe rules of the port on which CCE running depends.\n"},"serverGroupReference":{"type":"string","description":"ECS group ID. If this parameter is specified, all nodes in the node pool will be created in this ECS group.\n"},"storage":{"type":"string","description":"Specifies the json string vary depending on CCE node pools storage options.\n\u003e Please refer to the [documentation](https://docs.otc.t-systems.com/cloud-container-engine/api-ref/apis/cluster_management/querying_a_specified_node_pool.html#cce-02-0355-response-storage)\nfor actual fields.\n"},"subnetId":{"type":"string","description":"The ID of the subnet to which the NIC belongs. Changing this parameter will create a new resource.\n"},"taints":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCceNodePoolV3Taint:CceNodePoolV3Taint"},"description":"Taints to created nodes to configure anti-affinity.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCceNodePoolV3Timeouts:CceNodePoolV3Timeouts"},"userTags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tag of a VM, key/value pair format.\n"}},"requiredInputs":["clusterId","dataVolumes","flavor","initialNodeCount","rootVolume"],"stateInputs":{"description":"Input properties used for looking up and filtering CceNodePoolV3 resources.\n","properties":{"agencyName":{"type":"string","description":"IAM agency name. Changing this parameter will create a new resource.\n"},"availabilityZone":{"type":"string","description":"Specify the name of the available partition (AZ). If zone is not\nspecified than \u003cspan pulumi-lang-nodejs=\"`nodePool`\" pulumi-lang-dotnet=\"`NodePool`\" pulumi-lang-go=\"`nodePool`\" pulumi-lang-python=\"`node_pool`\" pulumi-lang-yaml=\"`nodePool`\" pulumi-lang-java=\"`nodePool`\"\u003e`node_pool`\u003c/span\u003e will be in randomly selected AZ. The default value is \u003cspan pulumi-lang-nodejs=\"`random`\" pulumi-lang-dotnet=\"`Random`\" pulumi-lang-go=\"`random`\" pulumi-lang-python=\"`random`\" pulumi-lang-yaml=\"`random`\" pulumi-lang-java=\"`random`\"\u003e`random`\u003c/span\u003e. Changing\nthis parameter will create a new resource.\n\n-\u003e\nIf AZ is set to \u003cspan pulumi-lang-nodejs=\"`random`\" pulumi-lang-dotnet=\"`Random`\" pulumi-lang-go=\"`random`\" pulumi-lang-python=\"`random`\" pulumi-lang-yaml=\"`random`\" pulumi-lang-java=\"`random`\"\u003e`random`\u003c/span\u003e, when you create a node pool or update the number of nodes in a node pool, a scaling task is\ntriggered. The system selects an AZ from all AZs where scaling is allowed to add nodes based on priorities. AZs with a\nsmaller the number of existing nodes have a higher priority. If AZs have the same number of nodes, the system selects\nthe AZ based on the AZ sequence. For more details see\n[API documentation](https://docs.otc.t-systems.com/en-us/api2/cce/cce_02_0354.html#cce_02_0354__table620623542313)\n"},"cceNodePoolV3Id":{"type":"string","description":"Specifies a resource ID in UUID format.\n"},"clusterId":{"type":"string","description":"ID of the cluster. Changing this parameter will create a new resource.\n"},"dataVolumes":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCceNodePoolV3DataVolume:CceNodePoolV3DataVolume"},"description":"Represents the data disk to be created. Changing this parameter will create a new resource.\n"},"dockerBaseSize":{"type":"number","description":"Available disk space of a single Docker container on the node using the device mapper.\nChanging this parameter will create a new node pool.\n"},"dockerLvmConfigOverride":{"type":"string","description":"`ConfigMap` of the Docker data disk.\nChanging this parameter will create a new node.\n"},"flavor":{"type":"string","description":"Specifies the flavor id. Changing this parameter will create a new resource.\n"},"initialNodeCount":{"type":"number","description":"Initial number of expected nodes in the node pool.\n"},"k8sTags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags of a Kubernetes node, key/value pair format.\n"},"keyPair":{"type":"string","description":"Key pair name when logging in to select the key pair mode.\nThis parameter and password are alternative. Changing this parameter will create a new resource.\n"},"maxNodeCount":{"type":"number","description":"Maximum number of nodes allowed if auto scaling is enabled.\n"},"maxPods":{"type":"number","description":"The maximum number of instances a node is allowed to create.\nChanging this parameter will create a new node pool.\n"},"minNodeCount":{"type":"number","description":"Minimum number of nodes allowed if auto scaling is enabled.\n"},"name":{"type":"string","description":"Node Pool Name.\n"},"os":{"type":"string","description":"Node OS. Changing this parameter will create a new resource.\n\nSupported OS depends on kubernetes version of the cluster.\n| OS           | Kubernetes version |\n| :----------- | :----------------- |\n| HCE OS 2.0   | `v1.30`, `v1.29`, `v1.28`, `v1.27` |\n| Ubuntu 22.04 | `v1.30`, `v1.29`, `v1.28`, `v1.27` |\n| EulerOS release 2.9 | `v1.30`, `v1.29`, `v1.28`, `v1.27` |\n\nFor detailed information, visit the CCE node operating systems [reference document](https://docs.otc.t-systems.com/cloud-container-engine/umn/nodes/node_oss.html).\n"},"password":{"type":"string","description":"Password used for node login.\nThis parameter and password are alternative. Changing this parameter will create a new resource.\n\u003e **NOTE:** This field is not supported for the current version.\n","secret":true},"postinstall":{"type":"string","description":"Script required after installation. The input value can be a Base64 encoded string or not.\nChanging this parameter will create a new resource.\n"},"preinstall":{"type":"string","description":"Script required before installation. The input value can be a Base64 encoded string or not.\nChanging this parameter will create a new resource.\n"},"priority":{"type":"number","description":"Weight of a node pool. A node pool with a higher weight has a higher priority during scaling.\n"},"rootVolume":{"$ref":"#/types/opentelekomcloud:index%2FCceNodePoolV3RootVolume:CceNodePoolV3RootVolume","description":"It corresponds to the system disk related configuration. Changing this parameter will create a new resource.\n"},"runtime":{"type":"string","description":"Container runtime. Changing this parameter will create a new resource.\nUse with high-caution, may trigger resource recreation. Options are:\n\u003cspan pulumi-lang-nodejs=\"`docker`\" pulumi-lang-dotnet=\"`Docker`\" pulumi-lang-go=\"`docker`\" pulumi-lang-python=\"`docker`\" pulumi-lang-yaml=\"`docker`\" pulumi-lang-java=\"`docker`\"\u003e`docker`\u003c/span\u003e - Docker\n\u003cspan pulumi-lang-nodejs=\"`containerd`\" pulumi-lang-dotnet=\"`Containerd`\" pulumi-lang-go=\"`containerd`\" pulumi-lang-python=\"`containerd`\" pulumi-lang-yaml=\"`containerd`\" pulumi-lang-java=\"`containerd`\"\u003e`containerd`\u003c/span\u003e - Containerd\n"},"scaleDownCooldownTime":{"type":"number","description":"Interval between two scaling operations, in minutes.\n"},"scaleEnable":{"type":"boolean","description":"Whether to enable auto scaling. If Autoscaler is enabled, install the autoscaler add-on to use the auto scaling feature.\n"},"securityGroupIds":{"type":"array","items":{"type":"string"},"description":"Specifies the list of custom security group IDs for the node pool.\nIf specified, the nodes will be put in these security groups. When specifying a security group, do not modify\nthe rules of the port on which CCE running depends.\n"},"serverGroupReference":{"type":"string","description":"ECS group ID. If this parameter is specified, all nodes in the node pool will be created in this ECS group.\n"},"status":{"type":"string","description":"Node status information.\n"},"storage":{"type":"string","description":"Specifies the json string vary depending on CCE node pools storage options.\n\u003e Please refer to the [documentation](https://docs.otc.t-systems.com/cloud-container-engine/api-ref/apis/cluster_management/querying_a_specified_node_pool.html#cce-02-0355-response-storage)\nfor actual fields.\n"},"subnetId":{"type":"string","description":"The ID of the subnet to which the NIC belongs. Changing this parameter will create a new resource.\n"},"taints":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCceNodePoolV3Taint:CceNodePoolV3Taint"},"description":"Taints to created nodes to configure anti-affinity.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCceNodePoolV3Timeouts:CceNodePoolV3Timeouts"},"userTags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tag of a VM, key/value pair format.\n"}},"type":"object"}},"opentelekomcloud:index/cceNodeV3:CceNodeV3":{"description":"Up-to-date reference of API arguments for CCE cluster node you can get at\n[documentation portal](https://docs.otc.t-systems.com/cloud-container-engine/api-ref/apis/cluster_management)\n\nAdd a node to a container cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst clusterId = config.requireObject\u003cany\u003e(\"clusterId\");\nconst sshKey = config.requireObject\u003cany\u003e(\"sshKey\");\nconst availabilityZone = config.requireObject\u003cany\u003e(\"availabilityZone\");\nconst node1 = new opentelekomcloud.CceNodeV3(\"node_1\", {\n    name: \"node1\",\n    clusterId: clusterId,\n    availabilityZone: availabilityZone,\n    os: \"EulerOS 2.9\",\n    flavorId: \"s2.large.2\",\n    keyPair: sshKey,\n    runtime: \"containerd\",\n    agencyName: \"test-agency\",\n    bandwidthSize: 100,\n    rootVolume: {\n        size: 40,\n        volumetype: \"SAS\",\n    },\n    dataVolumes: [\n        {\n            size: 100,\n            volumetype: \"SAS\",\n        },\n        {\n            size: 100,\n            volumetype: \"SSD\",\n            extendParams: {\n                useType: \"docker\",\n            },\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ncluster_id = config.require_object(\"clusterId\")\nssh_key = config.require_object(\"sshKey\")\navailability_zone = config.require_object(\"availabilityZone\")\nnode1 = opentelekomcloud.CceNodeV3(\"node_1\",\n    name=\"node1\",\n    cluster_id=cluster_id,\n    availability_zone=availability_zone,\n    os=\"EulerOS 2.9\",\n    flavor_id=\"s2.large.2\",\n    key_pair=ssh_key,\n    runtime=\"containerd\",\n    agency_name=\"test-agency\",\n    bandwidth_size=100,\n    root_volume={\n        \"size\": 40,\n        \"volumetype\": \"SAS\",\n    },\n    data_volumes=[\n        {\n            \"size\": 100,\n            \"volumetype\": \"SAS\",\n        },\n        {\n            \"size\": 100,\n            \"volumetype\": \"SSD\",\n            \"extend_params\": {\n                \"useType\": \"docker\",\n            },\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var clusterId = config.RequireObject\u003cdynamic\u003e(\"clusterId\");\n    var sshKey = config.RequireObject\u003cdynamic\u003e(\"sshKey\");\n    var availabilityZone = config.RequireObject\u003cdynamic\u003e(\"availabilityZone\");\n    var node1 = new Opentelekomcloud.CceNodeV3(\"node_1\", new()\n    {\n        Name = \"node1\",\n        ClusterId = clusterId,\n        AvailabilityZone = availabilityZone,\n        Os = \"EulerOS 2.9\",\n        FlavorId = \"s2.large.2\",\n        KeyPair = sshKey,\n        Runtime = \"containerd\",\n        AgencyName = \"test-agency\",\n        BandwidthSize = 100,\n        RootVolume = new Opentelekomcloud.Inputs.CceNodeV3RootVolumeArgs\n        {\n            Size = 40,\n            Volumetype = \"SAS\",\n        },\n        DataVolumes = new[]\n        {\n            new Opentelekomcloud.Inputs.CceNodeV3DataVolumeArgs\n            {\n                Size = 100,\n                Volumetype = \"SAS\",\n            },\n            new Opentelekomcloud.Inputs.CceNodeV3DataVolumeArgs\n            {\n                Size = 100,\n                Volumetype = \"SSD\",\n                ExtendParams = \n                {\n                    { \"useType\", \"docker\" },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tclusterId := cfg.RequireObject(\"clusterId\")\n\t\tsshKey := cfg.RequireObject(\"sshKey\")\n\t\tavailabilityZone := cfg.RequireObject(\"availabilityZone\")\n\t\t_, err := opentelekomcloud.NewCceNodeV3(ctx, \"node_1\", \u0026opentelekomcloud.CceNodeV3Args{\n\t\t\tName:             pulumi.String(\"node1\"),\n\t\t\tClusterId:        pulumi.Any(clusterId),\n\t\t\tAvailabilityZone: pulumi.Any(availabilityZone),\n\t\t\tOs:               pulumi.String(\"EulerOS 2.9\"),\n\t\t\tFlavorId:         pulumi.String(\"s2.large.2\"),\n\t\t\tKeyPair:          pulumi.Any(sshKey),\n\t\t\tRuntime:          pulumi.String(\"containerd\"),\n\t\t\tAgencyName:       pulumi.String(\"test-agency\"),\n\t\t\tBandwidthSize:    pulumi.Float64(100),\n\t\t\tRootVolume: \u0026opentelekomcloud.CceNodeV3RootVolumeArgs{\n\t\t\t\tSize:       pulumi.Float64(40),\n\t\t\t\tVolumetype: pulumi.String(\"SAS\"),\n\t\t\t},\n\t\t\tDataVolumes: opentelekomcloud.CceNodeV3DataVolumeArray{\n\t\t\t\t\u0026opentelekomcloud.CceNodeV3DataVolumeArgs{\n\t\t\t\t\tSize:       pulumi.Float64(100),\n\t\t\t\t\tVolumetype: pulumi.String(\"SAS\"),\n\t\t\t\t},\n\t\t\t\t\u0026opentelekomcloud.CceNodeV3DataVolumeArgs{\n\t\t\t\t\tSize:       pulumi.Float64(100),\n\t\t\t\t\tVolumetype: pulumi.String(\"SSD\"),\n\t\t\t\t\tExtendParams: pulumi.StringMap{\n\t\t\t\t\t\t\"useType\": pulumi.String(\"docker\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.CceNodeV3;\nimport com.pulumi.opentelekomcloud.CceNodeV3Args;\nimport com.pulumi.opentelekomcloud.inputs.CceNodeV3RootVolumeArgs;\nimport com.pulumi.opentelekomcloud.inputs.CceNodeV3DataVolumeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var clusterId = config.get(\"clusterId\");\n        final var sshKey = config.get(\"sshKey\");\n        final var availabilityZone = config.get(\"availabilityZone\");\n        var node1 = new CceNodeV3(\"node1\", CceNodeV3Args.builder()\n            .name(\"node1\")\n            .clusterId(clusterId)\n            .availabilityZone(availabilityZone)\n            .os(\"EulerOS 2.9\")\n            .flavorId(\"s2.large.2\")\n            .keyPair(sshKey)\n            .runtime(\"containerd\")\n            .agencyName(\"test-agency\")\n            .bandwidthSize(100.0)\n            .rootVolume(CceNodeV3RootVolumeArgs.builder()\n                .size(40.0)\n                .volumetype(\"SAS\")\n                .build())\n            .dataVolumes(            \n                CceNodeV3DataVolumeArgs.builder()\n                    .size(100.0)\n                    .volumetype(\"SAS\")\n                    .build(),\n                CceNodeV3DataVolumeArgs.builder()\n                    .size(100.0)\n                    .volumetype(\"SSD\")\n                    .extendParams(Map.of(\"useType\", \"docker\"))\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  clusterId:\n    type: dynamic\n  sshKey:\n    type: dynamic\n  availabilityZone:\n    type: dynamic\nresources:\n  node1:\n    type: opentelekomcloud:CceNodeV3\n    name: node_1\n    properties:\n      name: node1\n      clusterId: ${clusterId}\n      availabilityZone: ${availabilityZone}\n      os: EulerOS 2.9\n      flavorId: s2.large.2\n      keyPair: ${sshKey}\n      runtime: containerd\n      agencyName: test-agency\n      bandwidthSize: 100\n      rootVolume:\n        size: 40\n        volumetype: SAS\n      dataVolumes:\n        - size: 100\n          volumetype: SAS\n        - size: 100\n          volumetype: SSD\n          extendParams:\n            useType: docker\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCCE node can be imported using the cluster ID and node ID separated by a slash, e.g.:\n\nbash\n\n```sh\n$ pulumi import opentelekomcloud:index/cceNodeV3:CceNodeV3 my_node 5c20fdad-7288-11eb-b817-0255ac10158b/e9287dff-7288-11eb-b817-0255ac10158b\n```\n\nNote that the imported state may not be identical to your resource definition, due to some attributes missing from the\n\nAPI response, security or some other reason. The missing attributes include:\n\n`key_pair`, `private_ip`, `eip_id`, `iptype`, `bandwidth_charge_mode`,\n\n`bandwidth_size`, `share_type`, `extend_params`, `dedicated_host_id`, `labels`, `taints`\n\nand arguments for pre-paid. It is generally recommended running `pulumi preview` after importing a node.\n\nYou can then decide if changes should be applied to the node, or the resource definition should be updated to align\n\nwith the node. Also you can ignore changes as below.\n\nhcl\n\nresource \"opentelekomcloud_cce_node_v3\" \"my_node\" {\n\n  lifecycle {\n\n    ignore_changes = [\n\n      extend_params, labels,\n\n    ]\n\n  }\n\n}\n\n","properties":{"agencyName":{"type":"string","description":"IAM agency name. Changing this parameter will create a new resource.\n\u003e **NOTE:** The IAM agency requires `tms:resourceTags:list` in order to properly read resource state.\n"},"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Node annotation, key/value pair format. Changing this parameter will create a new resource\n"},"availabilityZone":{"type":"string","description":"specify the name of the available partition (AZ). Changing this parameter will create a new resource.\n"},"bandwidthChargeMode":{"type":"string","description":"Bandwidth billing type.\n"},"bandwidthSize":{"type":"number","description":"Bandwidth size.\n\n\u003e If the \u003cspan pulumi-lang-nodejs=\"`bandwidthSize`\" pulumi-lang-dotnet=\"`BandwidthSize`\" pulumi-lang-go=\"`bandwidthSize`\" pulumi-lang-python=\"`bandwidth_size`\" pulumi-lang-yaml=\"`bandwidthSize`\" pulumi-lang-java=\"`bandwidthSize`\"\u003e`bandwidth_size`\u003c/span\u003e parameter is configured, you do not need to configure the\n\u003cspan pulumi-lang-nodejs=\"`eipCount`\" pulumi-lang-dotnet=\"`EipCount`\" pulumi-lang-go=\"`eipCount`\" pulumi-lang-python=\"`eip_count`\" pulumi-lang-yaml=\"`eipCount`\" pulumi-lang-java=\"`eipCount`\"\u003e`eip_count`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`bandwidthChargeMode`\" pulumi-lang-dotnet=\"`BandwidthChargeMode`\" pulumi-lang-go=\"`bandwidthChargeMode`\" pulumi-lang-python=\"`bandwidth_charge_mode`\" pulumi-lang-yaml=\"`bandwidthChargeMode`\" pulumi-lang-java=\"`bandwidthChargeMode`\"\u003e`bandwidth_charge_mode`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sharetype`\" pulumi-lang-dotnet=\"`Sharetype`\" pulumi-lang-go=\"`sharetype`\" pulumi-lang-python=\"`sharetype`\" pulumi-lang-yaml=\"`sharetype`\" pulumi-lang-java=\"`sharetype`\"\u003e`sharetype`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`iptype`\" pulumi-lang-dotnet=\"`Iptype`\" pulumi-lang-go=\"`iptype`\" pulumi-lang-python=\"`iptype`\" pulumi-lang-yaml=\"`iptype`\" pulumi-lang-java=\"`iptype`\"\u003e`iptype`\u003c/span\u003e parameters.\n"},"billingMode":{"type":"number","description":"Node's billing mode: The value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (on demand). Changing this parameter will create a new resource.\n"},"cceNodeV3Id":{"type":"string"},"clusterId":{"type":"string","description":"ID of the cluster. Changing this parameter will create a new resource.\n"},"dataVolumes":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCceNodeV3DataVolume:CceNodeV3DataVolume"},"description":"Represents the data disk to be created. Changing this parameter will create a new resource.\n"},"dedicatedHostId":{"type":"string","description":"Specifies the ID of the DeH to which the node is scheduled.\n"},"dockerBaseSize":{"type":"number","description":"Available disk space of a single Docker container on the node using the device mapper.\nChanging this parameter will create a new node.\n"},"dockerLvmConfigOverride":{"type":"string","description":"`ConfigMap` of the Docker data disk.\nChanging this parameter will create a new node.\n\nExample:\n\n`dockerThinpool=vgpaas/90%VG;kubernetesLV=vgpaas/10%VG;diskType=evs;lvType=linear`\n\nIn this example:\n\n- `userLV`: size of the user space, for example, vgpaas/20%VG.\n- `userPath`: mount path of the user space, for example, /home/wqt-test.\n- `diskType`: disk type. Currently, only the evs, hdd, and ssd are supported.\n- `lvType`: type of a logic volume. Currently, the value can be linear or striped.\n- `dockerThinpool`: Docker space size, for example, vgpaas/60%VG.\n- `kubernetesLV`: kubelet space size, for example, vgpaas/20%VG.\n"},"ecsPerformanceType":{"type":"string","description":"Classification of cloud server specifications. Changing this parameter will create a new cluster resource.\n"},"eipCount":{"type":"number","description":"Number of elastic IPs to be dynamically created.\n"},"eipIds":{"type":"array","items":{"type":"string"},"description":"List of existing elastic IP IDs.\n\n\u003e If the \u003cspan pulumi-lang-nodejs=\"`eipIds`\" pulumi-lang-dotnet=\"`EipIds`\" pulumi-lang-go=\"`eipIds`\" pulumi-lang-python=\"`eip_ids`\" pulumi-lang-yaml=\"`eipIds`\" pulumi-lang-java=\"`eipIds`\"\u003e`eip_ids`\u003c/span\u003e parameter is configured, you do not need to configure the \u003cspan pulumi-lang-nodejs=\"`eipCount`\" pulumi-lang-dotnet=\"`EipCount`\" pulumi-lang-go=\"`eipCount`\" pulumi-lang-python=\"`eip_count`\" pulumi-lang-yaml=\"`eipCount`\" pulumi-lang-java=\"`eipCount`\"\u003e`eip_count`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`bandwidth`\" pulumi-lang-dotnet=\"`Bandwidth`\" pulumi-lang-go=\"`bandwidth`\" pulumi-lang-python=\"`bandwidth`\" pulumi-lang-yaml=\"`bandwidth`\" pulumi-lang-java=\"`bandwidth`\"\u003e`bandwidth`\u003c/span\u003e parameters:\n\u003cspan pulumi-lang-nodejs=\"`iptype`\" pulumi-lang-dotnet=\"`Iptype`\" pulumi-lang-go=\"`iptype`\" pulumi-lang-python=\"`iptype`\" pulumi-lang-yaml=\"`iptype`\" pulumi-lang-java=\"`iptype`\"\u003e`iptype`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`bandwidthChargeMode`\" pulumi-lang-dotnet=\"`BandwidthChargeMode`\" pulumi-lang-go=\"`bandwidthChargeMode`\" pulumi-lang-python=\"`bandwidth_charge_mode`\" pulumi-lang-yaml=\"`bandwidthChargeMode`\" pulumi-lang-java=\"`bandwidthChargeMode`\"\u003e`bandwidth_charge_mode`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`bandwidthSize`\" pulumi-lang-dotnet=\"`BandwidthSize`\" pulumi-lang-go=\"`bandwidthSize`\" pulumi-lang-python=\"`bandwidth_size`\" pulumi-lang-yaml=\"`bandwidthSize`\" pulumi-lang-java=\"`bandwidthSize`\"\u003e`bandwidth_size`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`shareType`\" pulumi-lang-dotnet=\"`ShareType`\" pulumi-lang-go=\"`shareType`\" pulumi-lang-python=\"`share_type`\" pulumi-lang-yaml=\"`shareType`\" pulumi-lang-java=\"`shareType`\"\u003e`share_type`\u003c/span\u003e.\n"},"extendParamChargingMode":{"type":"number","description":"Node charging mode, 0 is on-demand charging. Changing this parameter will create a new cluster resource.\n"},"flavorId":{"type":"string","description":"Specifies the flavor id. Changing this parameter will create a new resource.\n"},"iptype":{"type":"string","description":"Elastic IP type.\n"},"k8sTags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags of a Kubernetes node, key/value pair format.\n"},"keyPair":{"type":"string","description":"Key pair name when logging in to select the key pair mode. Changing this parameter will create a new resource.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Node tag, key/value pair format. Changing this parameter will create a new resource.\n"},"maxPods":{"type":"number","description":"The maximum number of instances a node is allowed to create. Changing this parameter will create a new node resource.\n"},"name":{"type":"string","description":"Node Name.\n"},"orderId":{"type":"string","description":"Order ID, mandatory when the node payment type is the automatic payment package period type.\nChanging this parameter will create a new cluster resource.\n"},"os":{"type":"string","description":"Node OS. Changing this parameter will create a new resource.\n\nSupported OS depends on kubernetes version of the cluster.\n| OS           | Kubernetes version |\n| :----------- | :----------------- |\n| HCE OS 2.0   | `v1.30`, `v1.29`, `v1.28`, `v1.27` |\n| Ubuntu 22.04 | `v1.30`, `v1.29`, `v1.28`, `v1.27` |\n| EulerOS release 2.9 | `v1.30`, `v1.29`, `v1.28`, `v1.27` |\n\nFor detailed information, visit the CCE node operating systems [reference document](https://docs.otc.t-systems.com/cloud-container-engine/umn/nodes/node_oss.html).\n"},"postinstall":{"type":"string","description":"Script required after installation. The input value can be a Base64 encoded string or not.\nChanging this parameter will create a new resource.\n"},"preinstall":{"type":"string","description":"Script required before installation. The input value can be a Base64 encoded string or not.\nChanging this parameter will create a new resource.\n"},"privateIp":{"type":"string","description":"Private IP of the CCE node. Changing this parameter will create a new resource.\n"},"productId":{"type":"string","description":"The Product ID. Changing this parameter will create a new cluster resource.\n"},"publicIp":{"type":"string","description":"Public IP of the CCE node.\n"},"publicKey":{"type":"string","description":"The Public key. Changing this parameter will create a new cluster resource.\n"},"region":{"type":"string"},"rootVolume":{"$ref":"#/types/opentelekomcloud:index%2FCceNodeV3RootVolume:CceNodeV3RootVolume","description":"It corresponds to the system disk related configuration. Changing this parameter will create a new resource.\n"},"runtime":{"type":"string","description":"Container runtime. Changing this parameter will create a new resource.\nUse with high-caution, may trigger resource recreation. Options are:\n\u003cspan pulumi-lang-nodejs=\"`docker`\" pulumi-lang-dotnet=\"`Docker`\" pulumi-lang-go=\"`docker`\" pulumi-lang-python=\"`docker`\" pulumi-lang-yaml=\"`docker`\" pulumi-lang-java=\"`docker`\"\u003e`docker`\u003c/span\u003e - Docker\n\u003cspan pulumi-lang-nodejs=\"`containerd`\" pulumi-lang-dotnet=\"`Containerd`\" pulumi-lang-go=\"`containerd`\" pulumi-lang-python=\"`containerd`\" pulumi-lang-yaml=\"`containerd`\" pulumi-lang-java=\"`containerd`\"\u003e`containerd`\u003c/span\u003e - Containerd\n"},"serverId":{"type":"string","description":"ID of the ECS where the node resides.\n"},"sharetype":{"type":"string","description":"Bandwidth sharing type.\n"},"status":{"type":"string","description":"Node status information.\n"},"subnetId":{"type":"string","description":"The ID of the subnet to which the NIC belongs. Changing this parameter will create a new resource.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"The field is alternative to \u003cspan pulumi-lang-nodejs=\"`labels`\" pulumi-lang-dotnet=\"`Labels`\" pulumi-lang-go=\"`labels`\" pulumi-lang-python=\"`labels`\" pulumi-lang-yaml=\"`labels`\" pulumi-lang-java=\"`labels`\"\u003e`labels`\u003c/span\u003e, key/value pair format.\n"},"taints":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCceNodeV3Taint:CceNodeV3Taint"},"description":"Taints to created nodes to configure anti-affinity.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCceNodeV3Timeouts:CceNodeV3Timeouts"}},"type":"object","required":["availabilityZone","bandwidthChargeMode","billingMode","cceNodeV3Id","clusterId","dataVolumes","eipCount","flavorId","iptype","k8sTags","keyPair","name","os","privateIp","publicIp","region","rootVolume","runtime","serverId","sharetype","status","subnetId"],"inputProperties":{"agencyName":{"type":"string","description":"IAM agency name. Changing this parameter will create a new resource.\n\u003e **NOTE:** The IAM agency requires `tms:resourceTags:list` in order to properly read resource state.\n"},"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Node annotation, key/value pair format. Changing this parameter will create a new resource\n"},"availabilityZone":{"type":"string","description":"specify the name of the available partition (AZ). Changing this parameter will create a new resource.\n"},"bandwidthChargeMode":{"type":"string","description":"Bandwidth billing type.\n"},"bandwidthSize":{"type":"number","description":"Bandwidth size.\n\n\u003e If the \u003cspan pulumi-lang-nodejs=\"`bandwidthSize`\" pulumi-lang-dotnet=\"`BandwidthSize`\" pulumi-lang-go=\"`bandwidthSize`\" pulumi-lang-python=\"`bandwidth_size`\" pulumi-lang-yaml=\"`bandwidthSize`\" pulumi-lang-java=\"`bandwidthSize`\"\u003e`bandwidth_size`\u003c/span\u003e parameter is configured, you do not need to configure the\n\u003cspan pulumi-lang-nodejs=\"`eipCount`\" pulumi-lang-dotnet=\"`EipCount`\" pulumi-lang-go=\"`eipCount`\" pulumi-lang-python=\"`eip_count`\" pulumi-lang-yaml=\"`eipCount`\" pulumi-lang-java=\"`eipCount`\"\u003e`eip_count`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`bandwidthChargeMode`\" pulumi-lang-dotnet=\"`BandwidthChargeMode`\" pulumi-lang-go=\"`bandwidthChargeMode`\" pulumi-lang-python=\"`bandwidth_charge_mode`\" pulumi-lang-yaml=\"`bandwidthChargeMode`\" pulumi-lang-java=\"`bandwidthChargeMode`\"\u003e`bandwidth_charge_mode`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sharetype`\" pulumi-lang-dotnet=\"`Sharetype`\" pulumi-lang-go=\"`sharetype`\" pulumi-lang-python=\"`sharetype`\" pulumi-lang-yaml=\"`sharetype`\" pulumi-lang-java=\"`sharetype`\"\u003e`sharetype`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`iptype`\" pulumi-lang-dotnet=\"`Iptype`\" pulumi-lang-go=\"`iptype`\" pulumi-lang-python=\"`iptype`\" pulumi-lang-yaml=\"`iptype`\" pulumi-lang-java=\"`iptype`\"\u003e`iptype`\u003c/span\u003e parameters.\n"},"billingMode":{"type":"number","description":"Node's billing mode: The value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (on demand). Changing this parameter will create a new resource.\n"},"cceNodeV3Id":{"type":"string"},"clusterId":{"type":"string","description":"ID of the cluster. Changing this parameter will create a new resource.\n"},"dataVolumes":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCceNodeV3DataVolume:CceNodeV3DataVolume"},"description":"Represents the data disk to be created. Changing this parameter will create a new resource.\n"},"dedicatedHostId":{"type":"string","description":"Specifies the ID of the DeH to which the node is scheduled.\n"},"dockerBaseSize":{"type":"number","description":"Available disk space of a single Docker container on the node using the device mapper.\nChanging this parameter will create a new node.\n"},"dockerLvmConfigOverride":{"type":"string","description":"`ConfigMap` of the Docker data disk.\nChanging this parameter will create a new node.\n\nExample:\n\n`dockerThinpool=vgpaas/90%VG;kubernetesLV=vgpaas/10%VG;diskType=evs;lvType=linear`\n\nIn this example:\n\n- `userLV`: size of the user space, for example, vgpaas/20%VG.\n- `userPath`: mount path of the user space, for example, /home/wqt-test.\n- `diskType`: disk type. Currently, only the evs, hdd, and ssd are supported.\n- `lvType`: type of a logic volume. Currently, the value can be linear or striped.\n- `dockerThinpool`: Docker space size, for example, vgpaas/60%VG.\n- `kubernetesLV`: kubelet space size, for example, vgpaas/20%VG.\n"},"ecsPerformanceType":{"type":"string","description":"Classification of cloud server specifications. Changing this parameter will create a new cluster resource.\n"},"eipCount":{"type":"number","description":"Number of elastic IPs to be dynamically created.\n"},"eipIds":{"type":"array","items":{"type":"string"},"description":"List of existing elastic IP IDs.\n\n\u003e If the \u003cspan pulumi-lang-nodejs=\"`eipIds`\" pulumi-lang-dotnet=\"`EipIds`\" pulumi-lang-go=\"`eipIds`\" pulumi-lang-python=\"`eip_ids`\" pulumi-lang-yaml=\"`eipIds`\" pulumi-lang-java=\"`eipIds`\"\u003e`eip_ids`\u003c/span\u003e parameter is configured, you do not need to configure the \u003cspan pulumi-lang-nodejs=\"`eipCount`\" pulumi-lang-dotnet=\"`EipCount`\" pulumi-lang-go=\"`eipCount`\" pulumi-lang-python=\"`eip_count`\" pulumi-lang-yaml=\"`eipCount`\" pulumi-lang-java=\"`eipCount`\"\u003e`eip_count`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`bandwidth`\" pulumi-lang-dotnet=\"`Bandwidth`\" pulumi-lang-go=\"`bandwidth`\" pulumi-lang-python=\"`bandwidth`\" pulumi-lang-yaml=\"`bandwidth`\" pulumi-lang-java=\"`bandwidth`\"\u003e`bandwidth`\u003c/span\u003e parameters:\n\u003cspan pulumi-lang-nodejs=\"`iptype`\" pulumi-lang-dotnet=\"`Iptype`\" pulumi-lang-go=\"`iptype`\" pulumi-lang-python=\"`iptype`\" pulumi-lang-yaml=\"`iptype`\" pulumi-lang-java=\"`iptype`\"\u003e`iptype`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`bandwidthChargeMode`\" pulumi-lang-dotnet=\"`BandwidthChargeMode`\" pulumi-lang-go=\"`bandwidthChargeMode`\" pulumi-lang-python=\"`bandwidth_charge_mode`\" pulumi-lang-yaml=\"`bandwidthChargeMode`\" pulumi-lang-java=\"`bandwidthChargeMode`\"\u003e`bandwidth_charge_mode`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`bandwidthSize`\" pulumi-lang-dotnet=\"`BandwidthSize`\" pulumi-lang-go=\"`bandwidthSize`\" pulumi-lang-python=\"`bandwidth_size`\" pulumi-lang-yaml=\"`bandwidthSize`\" pulumi-lang-java=\"`bandwidthSize`\"\u003e`bandwidth_size`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`shareType`\" pulumi-lang-dotnet=\"`ShareType`\" pulumi-lang-go=\"`shareType`\" pulumi-lang-python=\"`share_type`\" pulumi-lang-yaml=\"`shareType`\" pulumi-lang-java=\"`shareType`\"\u003e`share_type`\u003c/span\u003e.\n"},"extendParamChargingMode":{"type":"number","description":"Node charging mode, 0 is on-demand charging. Changing this parameter will create a new cluster resource.\n"},"flavorId":{"type":"string","description":"Specifies the flavor id. Changing this parameter will create a new resource.\n"},"iptype":{"type":"string","description":"Elastic IP type.\n"},"k8sTags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags of a Kubernetes node, key/value pair format.\n"},"keyPair":{"type":"string","description":"Key pair name when logging in to select the key pair mode. Changing this parameter will create a new resource.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Node tag, key/value pair format. Changing this parameter will create a new resource.\n"},"maxPods":{"type":"number","description":"The maximum number of instances a node is allowed to create. Changing this parameter will create a new node resource.\n"},"name":{"type":"string","description":"Node Name.\n"},"orderId":{"type":"string","description":"Order ID, mandatory when the node payment type is the automatic payment package period type.\nChanging this parameter will create a new cluster resource.\n"},"os":{"type":"string","description":"Node OS. Changing this parameter will create a new resource.\n\nSupported OS depends on kubernetes version of the cluster.\n| OS           | Kubernetes version |\n| :----------- | :----------------- |\n| HCE OS 2.0   | `v1.30`, `v1.29`, `v1.28`, `v1.27` |\n| Ubuntu 22.04 | `v1.30`, `v1.29`, `v1.28`, `v1.27` |\n| EulerOS release 2.9 | `v1.30`, `v1.29`, `v1.28`, `v1.27` |\n\nFor detailed information, visit the CCE node operating systems [reference document](https://docs.otc.t-systems.com/cloud-container-engine/umn/nodes/node_oss.html).\n"},"postinstall":{"type":"string","description":"Script required after installation. The input value can be a Base64 encoded string or not.\nChanging this parameter will create a new resource.\n"},"preinstall":{"type":"string","description":"Script required before installation. The input value can be a Base64 encoded string or not.\nChanging this parameter will create a new resource.\n"},"privateIp":{"type":"string","description":"Private IP of the CCE node. Changing this parameter will create a new resource.\n"},"productId":{"type":"string","description":"The Product ID. Changing this parameter will create a new cluster resource.\n"},"publicKey":{"type":"string","description":"The Public key. Changing this parameter will create a new cluster resource.\n"},"region":{"type":"string"},"rootVolume":{"$ref":"#/types/opentelekomcloud:index%2FCceNodeV3RootVolume:CceNodeV3RootVolume","description":"It corresponds to the system disk related configuration. Changing this parameter will create a new resource.\n"},"runtime":{"type":"string","description":"Container runtime. Changing this parameter will create a new resource.\nUse with high-caution, may trigger resource recreation. Options are:\n\u003cspan pulumi-lang-nodejs=\"`docker`\" pulumi-lang-dotnet=\"`Docker`\" pulumi-lang-go=\"`docker`\" pulumi-lang-python=\"`docker`\" pulumi-lang-yaml=\"`docker`\" pulumi-lang-java=\"`docker`\"\u003e`docker`\u003c/span\u003e - Docker\n\u003cspan pulumi-lang-nodejs=\"`containerd`\" pulumi-lang-dotnet=\"`Containerd`\" pulumi-lang-go=\"`containerd`\" pulumi-lang-python=\"`containerd`\" pulumi-lang-yaml=\"`containerd`\" pulumi-lang-java=\"`containerd`\"\u003e`containerd`\u003c/span\u003e - Containerd\n"},"sharetype":{"type":"string","description":"Bandwidth sharing type.\n"},"subnetId":{"type":"string","description":"The ID of the subnet to which the NIC belongs. Changing this parameter will create a new resource.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"The field is alternative to \u003cspan pulumi-lang-nodejs=\"`labels`\" pulumi-lang-dotnet=\"`Labels`\" pulumi-lang-go=\"`labels`\" pulumi-lang-python=\"`labels`\" pulumi-lang-yaml=\"`labels`\" pulumi-lang-java=\"`labels`\"\u003e`labels`\u003c/span\u003e, key/value pair format.\n"},"taints":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCceNodeV3Taint:CceNodeV3Taint"},"description":"Taints to created nodes to configure anti-affinity.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCceNodeV3Timeouts:CceNodeV3Timeouts"}},"requiredInputs":["availabilityZone","clusterId","dataVolumes","flavorId","keyPair","rootVolume"],"stateInputs":{"description":"Input properties used for looking up and filtering CceNodeV3 resources.\n","properties":{"agencyName":{"type":"string","description":"IAM agency name. Changing this parameter will create a new resource.\n\u003e **NOTE:** The IAM agency requires `tms:resourceTags:list` in order to properly read resource state.\n"},"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Node annotation, key/value pair format. Changing this parameter will create a new resource\n"},"availabilityZone":{"type":"string","description":"specify the name of the available partition (AZ). Changing this parameter will create a new resource.\n"},"bandwidthChargeMode":{"type":"string","description":"Bandwidth billing type.\n"},"bandwidthSize":{"type":"number","description":"Bandwidth size.\n\n\u003e If the \u003cspan pulumi-lang-nodejs=\"`bandwidthSize`\" pulumi-lang-dotnet=\"`BandwidthSize`\" pulumi-lang-go=\"`bandwidthSize`\" pulumi-lang-python=\"`bandwidth_size`\" pulumi-lang-yaml=\"`bandwidthSize`\" pulumi-lang-java=\"`bandwidthSize`\"\u003e`bandwidth_size`\u003c/span\u003e parameter is configured, you do not need to configure the\n\u003cspan pulumi-lang-nodejs=\"`eipCount`\" pulumi-lang-dotnet=\"`EipCount`\" pulumi-lang-go=\"`eipCount`\" pulumi-lang-python=\"`eip_count`\" pulumi-lang-yaml=\"`eipCount`\" pulumi-lang-java=\"`eipCount`\"\u003e`eip_count`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`bandwidthChargeMode`\" pulumi-lang-dotnet=\"`BandwidthChargeMode`\" pulumi-lang-go=\"`bandwidthChargeMode`\" pulumi-lang-python=\"`bandwidth_charge_mode`\" pulumi-lang-yaml=\"`bandwidthChargeMode`\" pulumi-lang-java=\"`bandwidthChargeMode`\"\u003e`bandwidth_charge_mode`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sharetype`\" pulumi-lang-dotnet=\"`Sharetype`\" pulumi-lang-go=\"`sharetype`\" pulumi-lang-python=\"`sharetype`\" pulumi-lang-yaml=\"`sharetype`\" pulumi-lang-java=\"`sharetype`\"\u003e`sharetype`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`iptype`\" pulumi-lang-dotnet=\"`Iptype`\" pulumi-lang-go=\"`iptype`\" pulumi-lang-python=\"`iptype`\" pulumi-lang-yaml=\"`iptype`\" pulumi-lang-java=\"`iptype`\"\u003e`iptype`\u003c/span\u003e parameters.\n"},"billingMode":{"type":"number","description":"Node's billing mode: The value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (on demand). Changing this parameter will create a new resource.\n"},"cceNodeV3Id":{"type":"string"},"clusterId":{"type":"string","description":"ID of the cluster. Changing this parameter will create a new resource.\n"},"dataVolumes":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCceNodeV3DataVolume:CceNodeV3DataVolume"},"description":"Represents the data disk to be created. Changing this parameter will create a new resource.\n"},"dedicatedHostId":{"type":"string","description":"Specifies the ID of the DeH to which the node is scheduled.\n"},"dockerBaseSize":{"type":"number","description":"Available disk space of a single Docker container on the node using the device mapper.\nChanging this parameter will create a new node.\n"},"dockerLvmConfigOverride":{"type":"string","description":"`ConfigMap` of the Docker data disk.\nChanging this parameter will create a new node.\n\nExample:\n\n`dockerThinpool=vgpaas/90%VG;kubernetesLV=vgpaas/10%VG;diskType=evs;lvType=linear`\n\nIn this example:\n\n- `userLV`: size of the user space, for example, vgpaas/20%VG.\n- `userPath`: mount path of the user space, for example, /home/wqt-test.\n- `diskType`: disk type. Currently, only the evs, hdd, and ssd are supported.\n- `lvType`: type of a logic volume. Currently, the value can be linear or striped.\n- `dockerThinpool`: Docker space size, for example, vgpaas/60%VG.\n- `kubernetesLV`: kubelet space size, for example, vgpaas/20%VG.\n"},"ecsPerformanceType":{"type":"string","description":"Classification of cloud server specifications. Changing this parameter will create a new cluster resource.\n"},"eipCount":{"type":"number","description":"Number of elastic IPs to be dynamically created.\n"},"eipIds":{"type":"array","items":{"type":"string"},"description":"List of existing elastic IP IDs.\n\n\u003e If the \u003cspan pulumi-lang-nodejs=\"`eipIds`\" pulumi-lang-dotnet=\"`EipIds`\" pulumi-lang-go=\"`eipIds`\" pulumi-lang-python=\"`eip_ids`\" pulumi-lang-yaml=\"`eipIds`\" pulumi-lang-java=\"`eipIds`\"\u003e`eip_ids`\u003c/span\u003e parameter is configured, you do not need to configure the \u003cspan pulumi-lang-nodejs=\"`eipCount`\" pulumi-lang-dotnet=\"`EipCount`\" pulumi-lang-go=\"`eipCount`\" pulumi-lang-python=\"`eip_count`\" pulumi-lang-yaml=\"`eipCount`\" pulumi-lang-java=\"`eipCount`\"\u003e`eip_count`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`bandwidth`\" pulumi-lang-dotnet=\"`Bandwidth`\" pulumi-lang-go=\"`bandwidth`\" pulumi-lang-python=\"`bandwidth`\" pulumi-lang-yaml=\"`bandwidth`\" pulumi-lang-java=\"`bandwidth`\"\u003e`bandwidth`\u003c/span\u003e parameters:\n\u003cspan pulumi-lang-nodejs=\"`iptype`\" pulumi-lang-dotnet=\"`Iptype`\" pulumi-lang-go=\"`iptype`\" pulumi-lang-python=\"`iptype`\" pulumi-lang-yaml=\"`iptype`\" pulumi-lang-java=\"`iptype`\"\u003e`iptype`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`bandwidthChargeMode`\" pulumi-lang-dotnet=\"`BandwidthChargeMode`\" pulumi-lang-go=\"`bandwidthChargeMode`\" pulumi-lang-python=\"`bandwidth_charge_mode`\" pulumi-lang-yaml=\"`bandwidthChargeMode`\" pulumi-lang-java=\"`bandwidthChargeMode`\"\u003e`bandwidth_charge_mode`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`bandwidthSize`\" pulumi-lang-dotnet=\"`BandwidthSize`\" pulumi-lang-go=\"`bandwidthSize`\" pulumi-lang-python=\"`bandwidth_size`\" pulumi-lang-yaml=\"`bandwidthSize`\" pulumi-lang-java=\"`bandwidthSize`\"\u003e`bandwidth_size`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`shareType`\" pulumi-lang-dotnet=\"`ShareType`\" pulumi-lang-go=\"`shareType`\" pulumi-lang-python=\"`share_type`\" pulumi-lang-yaml=\"`shareType`\" pulumi-lang-java=\"`shareType`\"\u003e`share_type`\u003c/span\u003e.\n"},"extendParamChargingMode":{"type":"number","description":"Node charging mode, 0 is on-demand charging. Changing this parameter will create a new cluster resource.\n"},"flavorId":{"type":"string","description":"Specifies the flavor id. Changing this parameter will create a new resource.\n"},"iptype":{"type":"string","description":"Elastic IP type.\n"},"k8sTags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags of a Kubernetes node, key/value pair format.\n"},"keyPair":{"type":"string","description":"Key pair name when logging in to select the key pair mode. Changing this parameter will create a new resource.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Node tag, key/value pair format. Changing this parameter will create a new resource.\n"},"maxPods":{"type":"number","description":"The maximum number of instances a node is allowed to create. Changing this parameter will create a new node resource.\n"},"name":{"type":"string","description":"Node Name.\n"},"orderId":{"type":"string","description":"Order ID, mandatory when the node payment type is the automatic payment package period type.\nChanging this parameter will create a new cluster resource.\n"},"os":{"type":"string","description":"Node OS. Changing this parameter will create a new resource.\n\nSupported OS depends on kubernetes version of the cluster.\n| OS           | Kubernetes version |\n| :----------- | :----------------- |\n| HCE OS 2.0   | `v1.30`, `v1.29`, `v1.28`, `v1.27` |\n| Ubuntu 22.04 | `v1.30`, `v1.29`, `v1.28`, `v1.27` |\n| EulerOS release 2.9 | `v1.30`, `v1.29`, `v1.28`, `v1.27` |\n\nFor detailed information, visit the CCE node operating systems [reference document](https://docs.otc.t-systems.com/cloud-container-engine/umn/nodes/node_oss.html).\n"},"postinstall":{"type":"string","description":"Script required after installation. The input value can be a Base64 encoded string or not.\nChanging this parameter will create a new resource.\n"},"preinstall":{"type":"string","description":"Script required before installation. The input value can be a Base64 encoded string or not.\nChanging this parameter will create a new resource.\n"},"privateIp":{"type":"string","description":"Private IP of the CCE node. Changing this parameter will create a new resource.\n"},"productId":{"type":"string","description":"The Product ID. Changing this parameter will create a new cluster resource.\n"},"publicIp":{"type":"string","description":"Public IP of the CCE node.\n"},"publicKey":{"type":"string","description":"The Public key. Changing this parameter will create a new cluster resource.\n"},"region":{"type":"string"},"rootVolume":{"$ref":"#/types/opentelekomcloud:index%2FCceNodeV3RootVolume:CceNodeV3RootVolume","description":"It corresponds to the system disk related configuration. Changing this parameter will create a new resource.\n"},"runtime":{"type":"string","description":"Container runtime. Changing this parameter will create a new resource.\nUse with high-caution, may trigger resource recreation. Options are:\n\u003cspan pulumi-lang-nodejs=\"`docker`\" pulumi-lang-dotnet=\"`Docker`\" pulumi-lang-go=\"`docker`\" pulumi-lang-python=\"`docker`\" pulumi-lang-yaml=\"`docker`\" pulumi-lang-java=\"`docker`\"\u003e`docker`\u003c/span\u003e - Docker\n\u003cspan pulumi-lang-nodejs=\"`containerd`\" pulumi-lang-dotnet=\"`Containerd`\" pulumi-lang-go=\"`containerd`\" pulumi-lang-python=\"`containerd`\" pulumi-lang-yaml=\"`containerd`\" pulumi-lang-java=\"`containerd`\"\u003e`containerd`\u003c/span\u003e - Containerd\n"},"serverId":{"type":"string","description":"ID of the ECS where the node resides.\n"},"sharetype":{"type":"string","description":"Bandwidth sharing type.\n"},"status":{"type":"string","description":"Node status information.\n"},"subnetId":{"type":"string","description":"The ID of the subnet to which the NIC belongs. Changing this parameter will create a new resource.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"The field is alternative to \u003cspan pulumi-lang-nodejs=\"`labels`\" pulumi-lang-dotnet=\"`Labels`\" pulumi-lang-go=\"`labels`\" pulumi-lang-python=\"`labels`\" pulumi-lang-yaml=\"`labels`\" pulumi-lang-java=\"`labels`\"\u003e`labels`\u003c/span\u003e, key/value pair format.\n"},"taints":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCceNodeV3Taint:CceNodeV3Taint"},"description":"Taints to created nodes to configure anti-affinity.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCceNodeV3Timeouts:CceNodeV3Timeouts"}},"type":"object"}},"opentelekomcloud:index/cciNamespaceV2:CciNamespaceV2":{"description":"Manages a CCI v2 namespace resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst name = config.requireObject\u003cany\u003e(\"name\");\nconst test = new opentelekomcloud.CciNamespaceV2(\"test\", {name: name});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nname = config.require_object(\"name\")\ntest = opentelekomcloud.CciNamespaceV2(\"test\", name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var name = config.RequireObject\u003cdynamic\u003e(\"name\");\n    var test = new Opentelekomcloud.CciNamespaceV2(\"test\", new()\n    {\n        Name = name,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := cfg.RequireObject(\"name\")\n\t\t_, err := opentelekomcloud.NewCciNamespaceV2(ctx, \"test\", \u0026opentelekomcloud.CciNamespaceV2Args{\n\t\t\tName: pulumi.Any(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.CciNamespaceV2;\nimport com.pulumi.opentelekomcloud.CciNamespaceV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var name = config.get(\"name\");\n        var test = new CciNamespaceV2(\"test\", CciNamespaceV2Args.builder()\n            .name(name)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  name:\n    type: dynamic\nresources:\n  test:\n    type: opentelekomcloud:CciNamespaceV2\n    properties:\n      name: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe CCI v2 namespace can be imported using `name`, e.g.\n\nbash\n\n```sh\n$ pulumi import opentelekomcloud:index/cciNamespaceV2:CciNamespaceV2 test \u003cname\u003e\n```\n\n","properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"The annotations of the namespace.\n"},"apiVersion":{"type":"string","description":"The API version of the namespace.\n"},"cciNamespaceV2Id":{"type":"string","description":"The resource ID. The value is also the name of the namespace.\n"},"creationTimestamp":{"type":"string","description":"The creation timestamp of the namespace.\n"},"finalizers":{"type":"array","items":{"type":"string"},"description":"The finalizers of the namespace.\n"},"kind":{"type":"string","description":"The kind of the namespace.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"The labels of the namespace.\n"},"name":{"type":"string","description":"Specifies the unique name of the namespace.\n"},"region":{"type":"string","description":"The region of the namespace\n"},"resourceVersion":{"type":"string","description":"The resource version of the namespace.\n"},"status":{"type":"string","description":"The status of the namespace.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCciNamespaceV2Timeouts:CciNamespaceV2Timeouts"},"uid":{"type":"string","description":"The uid of the namespace.\n"}},"type":"object","required":["annotations","apiVersion","cciNamespaceV2Id","creationTimestamp","finalizers","kind","labels","name","region","resourceVersion","status","uid"],"inputProperties":{"cciNamespaceV2Id":{"type":"string","description":"The resource ID. The value is also the name of the namespace.\n"},"name":{"type":"string","description":"Specifies the unique name of the namespace.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCciNamespaceV2Timeouts:CciNamespaceV2Timeouts"}},"stateInputs":{"description":"Input properties used for looking up and filtering CciNamespaceV2 resources.\n","properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"The annotations of the namespace.\n"},"apiVersion":{"type":"string","description":"The API version of the namespace.\n"},"cciNamespaceV2Id":{"type":"string","description":"The resource ID. The value is also the name of the namespace.\n"},"creationTimestamp":{"type":"string","description":"The creation timestamp of the namespace.\n"},"finalizers":{"type":"array","items":{"type":"string"},"description":"The finalizers of the namespace.\n"},"kind":{"type":"string","description":"The kind of the namespace.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"The labels of the namespace.\n"},"name":{"type":"string","description":"Specifies the unique name of the namespace.\n"},"region":{"type":"string","description":"The region of the namespace\n"},"resourceVersion":{"type":"string","description":"The resource version of the namespace.\n"},"status":{"type":"string","description":"The status of the namespace.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCciNamespaceV2Timeouts:CciNamespaceV2Timeouts"},"uid":{"type":"string","description":"The uid of the namespace.\n"}},"type":"object"}},"opentelekomcloud:index/cesAlarmRuleV2:CesAlarmRuleV2":{"description":"Up-to-date reference of API arguments for CES alarm rule you can get at\n[documentation portal](https://docs.otc.t-systems.com/cloud-eye/api-ref/api_v2/alarm_rules/index.html)\n\nManages a CES Alarm Rule v2 resource within OpenTelekomCloud.\n\n~\u003e\n  Alarm rule \u003cspan pulumi-lang-nodejs=\"`namespaces`\" pulumi-lang-dotnet=\"`Namespaces`\" pulumi-lang-go=\"`namespaces`\" pulumi-lang-python=\"`namespaces`\" pulumi-lang-yaml=\"`namespaces`\" pulumi-lang-java=\"`namespaces`\"\u003e`namespaces`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`dimensions`\" pulumi-lang-dotnet=\"`Dimensions`\" pulumi-lang-go=\"`dimensions`\" pulumi-lang-python=\"`dimensions`\" pulumi-lang-yaml=\"`dimensions`\" pulumi-lang-java=\"`dimensions`\"\u003e`dimensions`\u003c/span\u003e are available on our github link or [official documentation](https://docs.otc.t-systems.com/cloud-eye/api-ref/appendix/services_interconnected_with_cloud_eye.html).\n\n## Example Usage\n\n### Basic alarm rule for multiple ECS instances\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst instanceId1 = config.requireObject\u003cany\u003e(\"instanceId1\");\nconst instanceId2 = config.requireObject\u003cany\u003e(\"instanceId2\");\nconst topicUrn = config.requireObject\u003cany\u003e(\"topicUrn\");\nconst test = new opentelekomcloud.CesAlarmRuleV2(\"test\", {\n    name: \"alarm-rule-test\",\n    namespace: \"SYS.ECS\",\n    type: \"MULTI_INSTANCE\",\n    notificationEnabled: true,\n    alarmEnabled: true,\n    resources: [\n        {\n            dimensions: [{\n                name: \"instance_id\",\n                value: instanceId1,\n            }],\n        },\n        {\n            dimensions: [{\n                name: \"instance_id\",\n                value: instanceId2,\n            }],\n        },\n    ],\n    policies: [\n        {\n            metricName: \"network_outgoing_bytes_rate_inband\",\n            period: 1200,\n            filter: \"average\",\n            comparisonOperator: \"\u003e\",\n            value: 6.5,\n            unit: \"B/s\",\n            count: 1,\n            suppressDuration: 300,\n            level: 4,\n        },\n        {\n            metricName: \"network_outgoing_bytes_rate_inband\",\n            period: 3600,\n            filter: \"average\",\n            comparisonOperator: \"\u003e=\",\n            value: 20,\n            unit: \"B/s\",\n            count: 1,\n            suppressDuration: 300,\n            level: 4,\n        },\n    ],\n    alarmActions: [{\n        type: \"notification\",\n        notificationLists: [topicUrn],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ninstance_id1 = config.require_object(\"instanceId1\")\ninstance_id2 = config.require_object(\"instanceId2\")\ntopic_urn = config.require_object(\"topicUrn\")\ntest = opentelekomcloud.CesAlarmRuleV2(\"test\",\n    name=\"alarm-rule-test\",\n    namespace=\"SYS.ECS\",\n    type=\"MULTI_INSTANCE\",\n    notification_enabled=True,\n    alarm_enabled=True,\n    resources=[\n        {\n            \"dimensions\": [{\n                \"name\": \"instance_id\",\n                \"value\": instance_id1,\n            }],\n        },\n        {\n            \"dimensions\": [{\n                \"name\": \"instance_id\",\n                \"value\": instance_id2,\n            }],\n        },\n    ],\n    policies=[\n        {\n            \"metric_name\": \"network_outgoing_bytes_rate_inband\",\n            \"period\": 1200,\n            \"filter\": \"average\",\n            \"comparison_operator\": \"\u003e\",\n            \"value\": 6.5,\n            \"unit\": \"B/s\",\n            \"count\": 1,\n            \"suppress_duration\": 300,\n            \"level\": 4,\n        },\n        {\n            \"metric_name\": \"network_outgoing_bytes_rate_inband\",\n            \"period\": 3600,\n            \"filter\": \"average\",\n            \"comparison_operator\": \"\u003e=\",\n            \"value\": 20,\n            \"unit\": \"B/s\",\n            \"count\": 1,\n            \"suppress_duration\": 300,\n            \"level\": 4,\n        },\n    ],\n    alarm_actions=[{\n        \"type\": \"notification\",\n        \"notification_lists\": [topic_urn],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var instanceId1 = config.RequireObject\u003cdynamic\u003e(\"instanceId1\");\n    var instanceId2 = config.RequireObject\u003cdynamic\u003e(\"instanceId2\");\n    var topicUrn = config.RequireObject\u003cdynamic\u003e(\"topicUrn\");\n    var test = new Opentelekomcloud.CesAlarmRuleV2(\"test\", new()\n    {\n        Name = \"alarm-rule-test\",\n        Namespace = \"SYS.ECS\",\n        Type = \"MULTI_INSTANCE\",\n        NotificationEnabled = true,\n        AlarmEnabled = true,\n        Resources = new[]\n        {\n            new Opentelekomcloud.Inputs.CesAlarmRuleV2ResourceArgs\n            {\n                Dimensions = new[]\n                {\n                    new Opentelekomcloud.Inputs.CesAlarmRuleV2ResourceDimensionArgs\n                    {\n                        Name = \"instance_id\",\n                        Value = instanceId1,\n                    },\n                },\n            },\n            new Opentelekomcloud.Inputs.CesAlarmRuleV2ResourceArgs\n            {\n                Dimensions = new[]\n                {\n                    new Opentelekomcloud.Inputs.CesAlarmRuleV2ResourceDimensionArgs\n                    {\n                        Name = \"instance_id\",\n                        Value = instanceId2,\n                    },\n                },\n            },\n        },\n        Policies = new[]\n        {\n            new Opentelekomcloud.Inputs.CesAlarmRuleV2PolicyArgs\n            {\n                MetricName = \"network_outgoing_bytes_rate_inband\",\n                Period = 1200,\n                Filter = \"average\",\n                ComparisonOperator = \"\u003e\",\n                Value = 6.5,\n                Unit = \"B/s\",\n                Count = 1,\n                SuppressDuration = 300,\n                Level = 4,\n            },\n            new Opentelekomcloud.Inputs.CesAlarmRuleV2PolicyArgs\n            {\n                MetricName = \"network_outgoing_bytes_rate_inband\",\n                Period = 3600,\n                Filter = \"average\",\n                ComparisonOperator = \"\u003e=\",\n                Value = 20,\n                Unit = \"B/s\",\n                Count = 1,\n                SuppressDuration = 300,\n                Level = 4,\n            },\n        },\n        AlarmActions = new[]\n        {\n            new Opentelekomcloud.Inputs.CesAlarmRuleV2AlarmActionArgs\n            {\n                Type = \"notification\",\n                NotificationLists = new[]\n                {\n                    topicUrn,\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tinstanceId1 := cfg.RequireObject(\"instanceId1\")\n\t\tinstanceId2 := cfg.RequireObject(\"instanceId2\")\n\t\ttopicUrn := cfg.RequireObject(\"topicUrn\")\n\t\t_, err := opentelekomcloud.NewCesAlarmRuleV2(ctx, \"test\", \u0026opentelekomcloud.CesAlarmRuleV2Args{\n\t\t\tName:                pulumi.String(\"alarm-rule-test\"),\n\t\t\tNamespace:           pulumi.String(\"SYS.ECS\"),\n\t\t\tType:                pulumi.String(\"MULTI_INSTANCE\"),\n\t\t\tNotificationEnabled: pulumi.Bool(true),\n\t\t\tAlarmEnabled:        pulumi.Bool(true),\n\t\t\tResources: opentelekomcloud.CesAlarmRuleV2ResourceArray{\n\t\t\t\t\u0026opentelekomcloud.CesAlarmRuleV2ResourceArgs{\n\t\t\t\t\tDimensions: opentelekomcloud.CesAlarmRuleV2ResourceDimensionArray{\n\t\t\t\t\t\t\u0026opentelekomcloud.CesAlarmRuleV2ResourceDimensionArgs{\n\t\t\t\t\t\t\tName:  pulumi.String(\"instance_id\"),\n\t\t\t\t\t\t\tValue: pulumi.Any(instanceId1),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026opentelekomcloud.CesAlarmRuleV2ResourceArgs{\n\t\t\t\t\tDimensions: opentelekomcloud.CesAlarmRuleV2ResourceDimensionArray{\n\t\t\t\t\t\t\u0026opentelekomcloud.CesAlarmRuleV2ResourceDimensionArgs{\n\t\t\t\t\t\t\tName:  pulumi.String(\"instance_id\"),\n\t\t\t\t\t\t\tValue: pulumi.Any(instanceId2),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tPolicies: opentelekomcloud.CesAlarmRuleV2PolicyArray{\n\t\t\t\t\u0026opentelekomcloud.CesAlarmRuleV2PolicyArgs{\n\t\t\t\t\tMetricName:         pulumi.String(\"network_outgoing_bytes_rate_inband\"),\n\t\t\t\t\tPeriod:             pulumi.Float64(1200),\n\t\t\t\t\tFilter:             pulumi.String(\"average\"),\n\t\t\t\t\tComparisonOperator: pulumi.String(\"\u003e\"),\n\t\t\t\t\tValue:              pulumi.Float64(6.5),\n\t\t\t\t\tUnit:               pulumi.String(\"B/s\"),\n\t\t\t\t\tCount:              pulumi.Float64(1),\n\t\t\t\t\tSuppressDuration:   pulumi.Float64(300),\n\t\t\t\t\tLevel:              pulumi.Float64(4),\n\t\t\t\t},\n\t\t\t\t\u0026opentelekomcloud.CesAlarmRuleV2PolicyArgs{\n\t\t\t\t\tMetricName:         pulumi.String(\"network_outgoing_bytes_rate_inband\"),\n\t\t\t\t\tPeriod:             pulumi.Float64(3600),\n\t\t\t\t\tFilter:             pulumi.String(\"average\"),\n\t\t\t\t\tComparisonOperator: pulumi.String(\"\u003e=\"),\n\t\t\t\t\tValue:              pulumi.Float64(20),\n\t\t\t\t\tUnit:               pulumi.String(\"B/s\"),\n\t\t\t\t\tCount:              pulumi.Float64(1),\n\t\t\t\t\tSuppressDuration:   pulumi.Float64(300),\n\t\t\t\t\tLevel:              pulumi.Float64(4),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAlarmActions: opentelekomcloud.CesAlarmRuleV2AlarmActionArray{\n\t\t\t\t\u0026opentelekomcloud.CesAlarmRuleV2AlarmActionArgs{\n\t\t\t\t\tType: pulumi.String(\"notification\"),\n\t\t\t\t\tNotificationLists: pulumi.StringArray{\n\t\t\t\t\t\ttopicUrn,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.CesAlarmRuleV2;\nimport com.pulumi.opentelekomcloud.CesAlarmRuleV2Args;\nimport com.pulumi.opentelekomcloud.inputs.CesAlarmRuleV2ResourceArgs;\nimport com.pulumi.opentelekomcloud.inputs.CesAlarmRuleV2PolicyArgs;\nimport com.pulumi.opentelekomcloud.inputs.CesAlarmRuleV2AlarmActionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var instanceId1 = config.get(\"instanceId1\");\n        final var instanceId2 = config.get(\"instanceId2\");\n        final var topicUrn = config.get(\"topicUrn\");\n        var test = new CesAlarmRuleV2(\"test\", CesAlarmRuleV2Args.builder()\n            .name(\"alarm-rule-test\")\n            .namespace(\"SYS.ECS\")\n            .type(\"MULTI_INSTANCE\")\n            .notificationEnabled(true)\n            .alarmEnabled(true)\n            .resources(            \n                CesAlarmRuleV2ResourceArgs.builder()\n                    .dimensions(CesAlarmRuleV2ResourceDimensionArgs.builder()\n                        .name(\"instance_id\")\n                        .value(instanceId1)\n                        .build())\n                    .build(),\n                CesAlarmRuleV2ResourceArgs.builder()\n                    .dimensions(CesAlarmRuleV2ResourceDimensionArgs.builder()\n                        .name(\"instance_id\")\n                        .value(instanceId2)\n                        .build())\n                    .build())\n            .policies(            \n                CesAlarmRuleV2PolicyArgs.builder()\n                    .metricName(\"network_outgoing_bytes_rate_inband\")\n                    .period(1200.0)\n                    .filter(\"average\")\n                    .comparisonOperator(\"\u003e\")\n                    .value(6.5)\n                    .unit(\"B/s\")\n                    .count(1.0)\n                    .suppressDuration(300.0)\n                    .level(4.0)\n                    .build(),\n                CesAlarmRuleV2PolicyArgs.builder()\n                    .metricName(\"network_outgoing_bytes_rate_inband\")\n                    .period(3600.0)\n                    .filter(\"average\")\n                    .comparisonOperator(\"\u003e=\")\n                    .value(20.0)\n                    .unit(\"B/s\")\n                    .count(1.0)\n                    .suppressDuration(300.0)\n                    .level(4.0)\n                    .build())\n            .alarmActions(CesAlarmRuleV2AlarmActionArgs.builder()\n                .type(\"notification\")\n                .notificationLists(topicUrn)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  instanceId1:\n    type: dynamic\n  instanceId2:\n    type: dynamic\n  topicUrn:\n    type: dynamic\nresources:\n  test:\n    type: opentelekomcloud:CesAlarmRuleV2\n    properties:\n      name: alarm-rule-test\n      namespace: SYS.ECS\n      type: MULTI_INSTANCE\n      notificationEnabled: true\n      alarmEnabled: true\n      resources:\n        - dimensions:\n            - name: instance_id\n              value: ${instanceId1}\n        - dimensions:\n            - name: instance_id\n              value: ${instanceId2}\n      policies:\n        - metricName: network_outgoing_bytes_rate_inband\n          period: 1200\n          filter: average\n          comparisonOperator: '\u003e'\n          value: 6.5\n          unit: B/s\n          count: 1\n          suppressDuration: 300\n          level: 4\n        - metricName: network_outgoing_bytes_rate_inband\n          period: 3600\n          filter: average\n          comparisonOperator: '\u003e='\n          value: 20\n          unit: B/s\n          count: 1\n          suppressDuration: 300\n          level: 4\n      alarmActions:\n        - type: notification\n          notificationLists:\n            - ${topicUrn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Alarm rule for all instances\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst topicUrn = config.requireObject\u003cany\u003e(\"topicUrn\");\nconst test = new opentelekomcloud.CesAlarmRuleV2(\"test\", {\n    name: \"alarm-rule-all-instance\",\n    namespace: \"AGT.ECS\",\n    type: \"ALL_INSTANCE\",\n    notificationEnabled: true,\n    alarmEnabled: true,\n    resources: [{\n        dimensions: [\n            {\n                name: \"instance_id\",\n            },\n            {\n                name: \"mount_point\",\n            },\n        ],\n    }],\n    policies: [{\n        metricName: \"disk_usedPercent\",\n        period: 1,\n        filter: \"average\",\n        comparisonOperator: \"\u003e\",\n        value: 80,\n        count: 1,\n        suppressDuration: 0,\n        level: 2,\n    }],\n    alarmActions: [{\n        type: \"notification\",\n        notificationLists: [topicUrn],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ntopic_urn = config.require_object(\"topicUrn\")\ntest = opentelekomcloud.CesAlarmRuleV2(\"test\",\n    name=\"alarm-rule-all-instance\",\n    namespace=\"AGT.ECS\",\n    type=\"ALL_INSTANCE\",\n    notification_enabled=True,\n    alarm_enabled=True,\n    resources=[{\n        \"dimensions\": [\n            {\n                \"name\": \"instance_id\",\n            },\n            {\n                \"name\": \"mount_point\",\n            },\n        ],\n    }],\n    policies=[{\n        \"metric_name\": \"disk_usedPercent\",\n        \"period\": 1,\n        \"filter\": \"average\",\n        \"comparison_operator\": \"\u003e\",\n        \"value\": 80,\n        \"count\": 1,\n        \"suppress_duration\": 0,\n        \"level\": 2,\n    }],\n    alarm_actions=[{\n        \"type\": \"notification\",\n        \"notification_lists\": [topic_urn],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var topicUrn = config.RequireObject\u003cdynamic\u003e(\"topicUrn\");\n    var test = new Opentelekomcloud.CesAlarmRuleV2(\"test\", new()\n    {\n        Name = \"alarm-rule-all-instance\",\n        Namespace = \"AGT.ECS\",\n        Type = \"ALL_INSTANCE\",\n        NotificationEnabled = true,\n        AlarmEnabled = true,\n        Resources = new[]\n        {\n            new Opentelekomcloud.Inputs.CesAlarmRuleV2ResourceArgs\n            {\n                Dimensions = new[]\n                {\n                    new Opentelekomcloud.Inputs.CesAlarmRuleV2ResourceDimensionArgs\n                    {\n                        Name = \"instance_id\",\n                    },\n                    new Opentelekomcloud.Inputs.CesAlarmRuleV2ResourceDimensionArgs\n                    {\n                        Name = \"mount_point\",\n                    },\n                },\n            },\n        },\n        Policies = new[]\n        {\n            new Opentelekomcloud.Inputs.CesAlarmRuleV2PolicyArgs\n            {\n                MetricName = \"disk_usedPercent\",\n                Period = 1,\n                Filter = \"average\",\n                ComparisonOperator = \"\u003e\",\n                Value = 80,\n                Count = 1,\n                SuppressDuration = 0,\n                Level = 2,\n            },\n        },\n        AlarmActions = new[]\n        {\n            new Opentelekomcloud.Inputs.CesAlarmRuleV2AlarmActionArgs\n            {\n                Type = \"notification\",\n                NotificationLists = new[]\n                {\n                    topicUrn,\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\ttopicUrn := cfg.RequireObject(\"topicUrn\")\n\t\t_, err := opentelekomcloud.NewCesAlarmRuleV2(ctx, \"test\", \u0026opentelekomcloud.CesAlarmRuleV2Args{\n\t\t\tName:                pulumi.String(\"alarm-rule-all-instance\"),\n\t\t\tNamespace:           pulumi.String(\"AGT.ECS\"),\n\t\t\tType:                pulumi.String(\"ALL_INSTANCE\"),\n\t\t\tNotificationEnabled: pulumi.Bool(true),\n\t\t\tAlarmEnabled:        pulumi.Bool(true),\n\t\t\tResources: opentelekomcloud.CesAlarmRuleV2ResourceArray{\n\t\t\t\t\u0026opentelekomcloud.CesAlarmRuleV2ResourceArgs{\n\t\t\t\t\tDimensions: opentelekomcloud.CesAlarmRuleV2ResourceDimensionArray{\n\t\t\t\t\t\t\u0026opentelekomcloud.CesAlarmRuleV2ResourceDimensionArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"instance_id\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026opentelekomcloud.CesAlarmRuleV2ResourceDimensionArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"mount_point\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tPolicies: opentelekomcloud.CesAlarmRuleV2PolicyArray{\n\t\t\t\t\u0026opentelekomcloud.CesAlarmRuleV2PolicyArgs{\n\t\t\t\t\tMetricName:         pulumi.String(\"disk_usedPercent\"),\n\t\t\t\t\tPeriod:             pulumi.Float64(1),\n\t\t\t\t\tFilter:             pulumi.String(\"average\"),\n\t\t\t\t\tComparisonOperator: pulumi.String(\"\u003e\"),\n\t\t\t\t\tValue:              pulumi.Float64(80),\n\t\t\t\t\tCount:              pulumi.Float64(1),\n\t\t\t\t\tSuppressDuration:   pulumi.Float64(0),\n\t\t\t\t\tLevel:              pulumi.Float64(2),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAlarmActions: opentelekomcloud.CesAlarmRuleV2AlarmActionArray{\n\t\t\t\t\u0026opentelekomcloud.CesAlarmRuleV2AlarmActionArgs{\n\t\t\t\t\tType: pulumi.String(\"notification\"),\n\t\t\t\t\tNotificationLists: pulumi.StringArray{\n\t\t\t\t\t\ttopicUrn,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.CesAlarmRuleV2;\nimport com.pulumi.opentelekomcloud.CesAlarmRuleV2Args;\nimport com.pulumi.opentelekomcloud.inputs.CesAlarmRuleV2ResourceArgs;\nimport com.pulumi.opentelekomcloud.inputs.CesAlarmRuleV2PolicyArgs;\nimport com.pulumi.opentelekomcloud.inputs.CesAlarmRuleV2AlarmActionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var topicUrn = config.get(\"topicUrn\");\n        var test = new CesAlarmRuleV2(\"test\", CesAlarmRuleV2Args.builder()\n            .name(\"alarm-rule-all-instance\")\n            .namespace(\"AGT.ECS\")\n            .type(\"ALL_INSTANCE\")\n            .notificationEnabled(true)\n            .alarmEnabled(true)\n            .resources(CesAlarmRuleV2ResourceArgs.builder()\n                .dimensions(                \n                    CesAlarmRuleV2ResourceDimensionArgs.builder()\n                        .name(\"instance_id\")\n                        .build(),\n                    CesAlarmRuleV2ResourceDimensionArgs.builder()\n                        .name(\"mount_point\")\n                        .build())\n                .build())\n            .policies(CesAlarmRuleV2PolicyArgs.builder()\n                .metricName(\"disk_usedPercent\")\n                .period(1.0)\n                .filter(\"average\")\n                .comparisonOperator(\"\u003e\")\n                .value(80.0)\n                .count(1.0)\n                .suppressDuration(0.0)\n                .level(2.0)\n                .build())\n            .alarmActions(CesAlarmRuleV2AlarmActionArgs.builder()\n                .type(\"notification\")\n                .notificationLists(topicUrn)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  topicUrn:\n    type: dynamic\nresources:\n  test:\n    type: opentelekomcloud:CesAlarmRuleV2\n    properties:\n      name: alarm-rule-all-instance\n      namespace: AGT.ECS\n      type: ALL_INSTANCE\n      notificationEnabled: true\n      alarmEnabled: true\n      resources:\n        - dimensions:\n            - name: instance_id\n            - name: mount_point\n      policies:\n        - metricName: disk_usedPercent\n          period: 1\n          filter: average\n          comparisonOperator: '\u003e'\n          value: 80\n          count: 1\n          suppressDuration: 0\n          level: 2\n      alarmActions:\n        - type: notification\n          notificationLists:\n            - ${topicUrn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Alarm rule for system event monitoring\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst test = new opentelekomcloud.CesAlarmRuleV2(\"test\", {\n    name: \"alarm-rule-sys-event\",\n    namespace: \"SYS.ECS\",\n    type: \"EVENT.SYS\",\n    notificationEnabled: false,\n    alarmEnabled: true,\n    resources: [{\n        dimensions: [{\n            name: \"resource_id\",\n            value: \"all_instance\",\n        }],\n    }],\n    policies: [{\n        metricName: \"stopServer\",\n        period: 0,\n        filter: \"average\",\n        comparisonOperator: \"\u003e=\",\n        value: 1,\n        unit: \"count\",\n        count: 1,\n        suppressDuration: 0,\n        level: 2,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ntest = opentelekomcloud.CesAlarmRuleV2(\"test\",\n    name=\"alarm-rule-sys-event\",\n    namespace=\"SYS.ECS\",\n    type=\"EVENT.SYS\",\n    notification_enabled=False,\n    alarm_enabled=True,\n    resources=[{\n        \"dimensions\": [{\n            \"name\": \"resource_id\",\n            \"value\": \"all_instance\",\n        }],\n    }],\n    policies=[{\n        \"metric_name\": \"stopServer\",\n        \"period\": 0,\n        \"filter\": \"average\",\n        \"comparison_operator\": \"\u003e=\",\n        \"value\": 1,\n        \"unit\": \"count\",\n        \"count\": 1,\n        \"suppress_duration\": 0,\n        \"level\": 2,\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = new Opentelekomcloud.CesAlarmRuleV2(\"test\", new()\n    {\n        Name = \"alarm-rule-sys-event\",\n        Namespace = \"SYS.ECS\",\n        Type = \"EVENT.SYS\",\n        NotificationEnabled = false,\n        AlarmEnabled = true,\n        Resources = new[]\n        {\n            new Opentelekomcloud.Inputs.CesAlarmRuleV2ResourceArgs\n            {\n                Dimensions = new[]\n                {\n                    new Opentelekomcloud.Inputs.CesAlarmRuleV2ResourceDimensionArgs\n                    {\n                        Name = \"resource_id\",\n                        Value = \"all_instance\",\n                    },\n                },\n            },\n        },\n        Policies = new[]\n        {\n            new Opentelekomcloud.Inputs.CesAlarmRuleV2PolicyArgs\n            {\n                MetricName = \"stopServer\",\n                Period = 0,\n                Filter = \"average\",\n                ComparisonOperator = \"\u003e=\",\n                Value = 1,\n                Unit = \"count\",\n                Count = 1,\n                SuppressDuration = 0,\n                Level = 2,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewCesAlarmRuleV2(ctx, \"test\", \u0026opentelekomcloud.CesAlarmRuleV2Args{\n\t\t\tName:                pulumi.String(\"alarm-rule-sys-event\"),\n\t\t\tNamespace:           pulumi.String(\"SYS.ECS\"),\n\t\t\tType:                pulumi.String(\"EVENT.SYS\"),\n\t\t\tNotificationEnabled: pulumi.Bool(false),\n\t\t\tAlarmEnabled:        pulumi.Bool(true),\n\t\t\tResources: opentelekomcloud.CesAlarmRuleV2ResourceArray{\n\t\t\t\t\u0026opentelekomcloud.CesAlarmRuleV2ResourceArgs{\n\t\t\t\t\tDimensions: opentelekomcloud.CesAlarmRuleV2ResourceDimensionArray{\n\t\t\t\t\t\t\u0026opentelekomcloud.CesAlarmRuleV2ResourceDimensionArgs{\n\t\t\t\t\t\t\tName:  pulumi.String(\"resource_id\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"all_instance\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tPolicies: opentelekomcloud.CesAlarmRuleV2PolicyArray{\n\t\t\t\t\u0026opentelekomcloud.CesAlarmRuleV2PolicyArgs{\n\t\t\t\t\tMetricName:         pulumi.String(\"stopServer\"),\n\t\t\t\t\tPeriod:             pulumi.Float64(0),\n\t\t\t\t\tFilter:             pulumi.String(\"average\"),\n\t\t\t\t\tComparisonOperator: pulumi.String(\"\u003e=\"),\n\t\t\t\t\tValue:              pulumi.Float64(1),\n\t\t\t\t\tUnit:               pulumi.String(\"count\"),\n\t\t\t\t\tCount:              pulumi.Float64(1),\n\t\t\t\t\tSuppressDuration:   pulumi.Float64(0),\n\t\t\t\t\tLevel:              pulumi.Float64(2),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.CesAlarmRuleV2;\nimport com.pulumi.opentelekomcloud.CesAlarmRuleV2Args;\nimport com.pulumi.opentelekomcloud.inputs.CesAlarmRuleV2ResourceArgs;\nimport com.pulumi.opentelekomcloud.inputs.CesAlarmRuleV2PolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test = new CesAlarmRuleV2(\"test\", CesAlarmRuleV2Args.builder()\n            .name(\"alarm-rule-sys-event\")\n            .namespace(\"SYS.ECS\")\n            .type(\"EVENT.SYS\")\n            .notificationEnabled(false)\n            .alarmEnabled(true)\n            .resources(CesAlarmRuleV2ResourceArgs.builder()\n                .dimensions(CesAlarmRuleV2ResourceDimensionArgs.builder()\n                    .name(\"resource_id\")\n                    .value(\"all_instance\")\n                    .build())\n                .build())\n            .policies(CesAlarmRuleV2PolicyArgs.builder()\n                .metricName(\"stopServer\")\n                .period(0.0)\n                .filter(\"average\")\n                .comparisonOperator(\"\u003e=\")\n                .value(1.0)\n                .unit(\"count\")\n                .count(1.0)\n                .suppressDuration(0.0)\n                .level(2.0)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test:\n    type: opentelekomcloud:CesAlarmRuleV2\n    properties:\n      name: alarm-rule-sys-event\n      namespace: SYS.ECS\n      type: EVENT.SYS\n      notificationEnabled: false\n      alarmEnabled: true\n      resources:\n        - dimensions:\n            - name: resource_id\n              value: all_instance\n      policies:\n        - metricName: stopServer\n          period: 0\n          filter: average\n          comparisonOperator: '\u003e='\n          value: 1\n          unit: count\n          count: 1\n          suppressDuration: 0\n          level: 2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Alarm rule for system event monitoring with notification\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst topicUrn = config.requireObject\u003cany\u003e(\"topicUrn\");\nconst test = new opentelekomcloud.CesAlarmRuleV2(\"test\", {\n    name: \"alarm-rule-sys-event\",\n    namespace: \"SYS.ECS\",\n    type: \"EVENT.SYS\",\n    notificationEnabled: true,\n    alarmEnabled: true,\n    resources: [{\n        dimensions: [{\n            name: \"resource_id\",\n            value: \"all_instance\",\n        }],\n    }],\n    policies: [{\n        metricName: \"stopServer\",\n        period: 0,\n        filter: \"average\",\n        comparisonOperator: \"\u003e=\",\n        value: 1,\n        unit: \"count\",\n        count: 1,\n        suppressDuration: 0,\n        level: 2,\n    }],\n    alarmActions: [{\n        type: \"notification\",\n        notificationLists: [topicUrn],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ntopic_urn = config.require_object(\"topicUrn\")\ntest = opentelekomcloud.CesAlarmRuleV2(\"test\",\n    name=\"alarm-rule-sys-event\",\n    namespace=\"SYS.ECS\",\n    type=\"EVENT.SYS\",\n    notification_enabled=True,\n    alarm_enabled=True,\n    resources=[{\n        \"dimensions\": [{\n            \"name\": \"resource_id\",\n            \"value\": \"all_instance\",\n        }],\n    }],\n    policies=[{\n        \"metric_name\": \"stopServer\",\n        \"period\": 0,\n        \"filter\": \"average\",\n        \"comparison_operator\": \"\u003e=\",\n        \"value\": 1,\n        \"unit\": \"count\",\n        \"count\": 1,\n        \"suppress_duration\": 0,\n        \"level\": 2,\n    }],\n    alarm_actions=[{\n        \"type\": \"notification\",\n        \"notification_lists\": [topic_urn],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var topicUrn = config.RequireObject\u003cdynamic\u003e(\"topicUrn\");\n    var test = new Opentelekomcloud.CesAlarmRuleV2(\"test\", new()\n    {\n        Name = \"alarm-rule-sys-event\",\n        Namespace = \"SYS.ECS\",\n        Type = \"EVENT.SYS\",\n        NotificationEnabled = true,\n        AlarmEnabled = true,\n        Resources = new[]\n        {\n            new Opentelekomcloud.Inputs.CesAlarmRuleV2ResourceArgs\n            {\n                Dimensions = new[]\n                {\n                    new Opentelekomcloud.Inputs.CesAlarmRuleV2ResourceDimensionArgs\n                    {\n                        Name = \"resource_id\",\n                        Value = \"all_instance\",\n                    },\n                },\n            },\n        },\n        Policies = new[]\n        {\n            new Opentelekomcloud.Inputs.CesAlarmRuleV2PolicyArgs\n            {\n                MetricName = \"stopServer\",\n                Period = 0,\n                Filter = \"average\",\n                ComparisonOperator = \"\u003e=\",\n                Value = 1,\n                Unit = \"count\",\n                Count = 1,\n                SuppressDuration = 0,\n                Level = 2,\n            },\n        },\n        AlarmActions = new[]\n        {\n            new Opentelekomcloud.Inputs.CesAlarmRuleV2AlarmActionArgs\n            {\n                Type = \"notification\",\n                NotificationLists = new[]\n                {\n                    topicUrn,\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\ttopicUrn := cfg.RequireObject(\"topicUrn\")\n\t\t_, err := opentelekomcloud.NewCesAlarmRuleV2(ctx, \"test\", \u0026opentelekomcloud.CesAlarmRuleV2Args{\n\t\t\tName:                pulumi.String(\"alarm-rule-sys-event\"),\n\t\t\tNamespace:           pulumi.String(\"SYS.ECS\"),\n\t\t\tType:                pulumi.String(\"EVENT.SYS\"),\n\t\t\tNotificationEnabled: pulumi.Bool(true),\n\t\t\tAlarmEnabled:        pulumi.Bool(true),\n\t\t\tResources: opentelekomcloud.CesAlarmRuleV2ResourceArray{\n\t\t\t\t\u0026opentelekomcloud.CesAlarmRuleV2ResourceArgs{\n\t\t\t\t\tDimensions: opentelekomcloud.CesAlarmRuleV2ResourceDimensionArray{\n\t\t\t\t\t\t\u0026opentelekomcloud.CesAlarmRuleV2ResourceDimensionArgs{\n\t\t\t\t\t\t\tName:  pulumi.String(\"resource_id\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"all_instance\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tPolicies: opentelekomcloud.CesAlarmRuleV2PolicyArray{\n\t\t\t\t\u0026opentelekomcloud.CesAlarmRuleV2PolicyArgs{\n\t\t\t\t\tMetricName:         pulumi.String(\"stopServer\"),\n\t\t\t\t\tPeriod:             pulumi.Float64(0),\n\t\t\t\t\tFilter:             pulumi.String(\"average\"),\n\t\t\t\t\tComparisonOperator: pulumi.String(\"\u003e=\"),\n\t\t\t\t\tValue:              pulumi.Float64(1),\n\t\t\t\t\tUnit:               pulumi.String(\"count\"),\n\t\t\t\t\tCount:              pulumi.Float64(1),\n\t\t\t\t\tSuppressDuration:   pulumi.Float64(0),\n\t\t\t\t\tLevel:              pulumi.Float64(2),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAlarmActions: opentelekomcloud.CesAlarmRuleV2AlarmActionArray{\n\t\t\t\t\u0026opentelekomcloud.CesAlarmRuleV2AlarmActionArgs{\n\t\t\t\t\tType: pulumi.String(\"notification\"),\n\t\t\t\t\tNotificationLists: pulumi.StringArray{\n\t\t\t\t\t\ttopicUrn,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.CesAlarmRuleV2;\nimport com.pulumi.opentelekomcloud.CesAlarmRuleV2Args;\nimport com.pulumi.opentelekomcloud.inputs.CesAlarmRuleV2ResourceArgs;\nimport com.pulumi.opentelekomcloud.inputs.CesAlarmRuleV2PolicyArgs;\nimport com.pulumi.opentelekomcloud.inputs.CesAlarmRuleV2AlarmActionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var topicUrn = config.get(\"topicUrn\");\n        var test = new CesAlarmRuleV2(\"test\", CesAlarmRuleV2Args.builder()\n            .name(\"alarm-rule-sys-event\")\n            .namespace(\"SYS.ECS\")\n            .type(\"EVENT.SYS\")\n            .notificationEnabled(true)\n            .alarmEnabled(true)\n            .resources(CesAlarmRuleV2ResourceArgs.builder()\n                .dimensions(CesAlarmRuleV2ResourceDimensionArgs.builder()\n                    .name(\"resource_id\")\n                    .value(\"all_instance\")\n                    .build())\n                .build())\n            .policies(CesAlarmRuleV2PolicyArgs.builder()\n                .metricName(\"stopServer\")\n                .period(0.0)\n                .filter(\"average\")\n                .comparisonOperator(\"\u003e=\")\n                .value(1.0)\n                .unit(\"count\")\n                .count(1.0)\n                .suppressDuration(0.0)\n                .level(2.0)\n                .build())\n            .alarmActions(CesAlarmRuleV2AlarmActionArgs.builder()\n                .type(\"notification\")\n                .notificationLists(topicUrn)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  topicUrn:\n    type: dynamic\nresources:\n  test:\n    type: opentelekomcloud:CesAlarmRuleV2\n    properties:\n      name: alarm-rule-sys-event\n      namespace: SYS.ECS\n      type: EVENT.SYS\n      notificationEnabled: true\n      alarmEnabled: true\n      resources:\n        - dimensions:\n            - name: resource_id\n              value: all_instance\n      policies:\n        - metricName: stopServer\n          period: 0\n          filter: average\n          comparisonOperator: '\u003e='\n          value: 1\n          unit: count\n          count: 1\n          suppressDuration: 0\n          level: 2\n      alarmActions:\n        - type: notification\n          notificationLists:\n            - ${topicUrn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Alarm rule with OK actions\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst instanceId = config.requireObject\u003cany\u003e(\"instanceId\");\nconst topicUrn = config.requireObject\u003cany\u003e(\"topicUrn\");\nconst test = new opentelekomcloud.CesAlarmRuleV2(\"test\", {\n    name: \"alarm-rule-with-ok-actions\",\n    namespace: \"SYS.ECS\",\n    type: \"MULTI_INSTANCE\",\n    notificationEnabled: true,\n    alarmEnabled: true,\n    resources: [{\n        dimensions: [{\n            name: \"instance_id\",\n            value: instanceId,\n        }],\n    }],\n    policies: [{\n        metricName: \"network_outgoing_bytes_rate_inband\",\n        period: 300,\n        filter: \"average\",\n        comparisonOperator: \"\u003e\",\n        value: 6.5,\n        unit: \"B/s\",\n        count: 1,\n        level: 2,\n    }],\n    alarmActions: [{\n        type: \"notification\",\n        notificationLists: [topicUrn],\n    }],\n    okActions: [{\n        type: \"notification\",\n        notificationLists: [topicUrn],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ninstance_id = config.require_object(\"instanceId\")\ntopic_urn = config.require_object(\"topicUrn\")\ntest = opentelekomcloud.CesAlarmRuleV2(\"test\",\n    name=\"alarm-rule-with-ok-actions\",\n    namespace=\"SYS.ECS\",\n    type=\"MULTI_INSTANCE\",\n    notification_enabled=True,\n    alarm_enabled=True,\n    resources=[{\n        \"dimensions\": [{\n            \"name\": \"instance_id\",\n            \"value\": instance_id,\n        }],\n    }],\n    policies=[{\n        \"metric_name\": \"network_outgoing_bytes_rate_inband\",\n        \"period\": 300,\n        \"filter\": \"average\",\n        \"comparison_operator\": \"\u003e\",\n        \"value\": 6.5,\n        \"unit\": \"B/s\",\n        \"count\": 1,\n        \"level\": 2,\n    }],\n    alarm_actions=[{\n        \"type\": \"notification\",\n        \"notification_lists\": [topic_urn],\n    }],\n    ok_actions=[{\n        \"type\": \"notification\",\n        \"notification_lists\": [topic_urn],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var instanceId = config.RequireObject\u003cdynamic\u003e(\"instanceId\");\n    var topicUrn = config.RequireObject\u003cdynamic\u003e(\"topicUrn\");\n    var test = new Opentelekomcloud.CesAlarmRuleV2(\"test\", new()\n    {\n        Name = \"alarm-rule-with-ok-actions\",\n        Namespace = \"SYS.ECS\",\n        Type = \"MULTI_INSTANCE\",\n        NotificationEnabled = true,\n        AlarmEnabled = true,\n        Resources = new[]\n        {\n            new Opentelekomcloud.Inputs.CesAlarmRuleV2ResourceArgs\n            {\n                Dimensions = new[]\n                {\n                    new Opentelekomcloud.Inputs.CesAlarmRuleV2ResourceDimensionArgs\n                    {\n                        Name = \"instance_id\",\n                        Value = instanceId,\n                    },\n                },\n            },\n        },\n        Policies = new[]\n        {\n            new Opentelekomcloud.Inputs.CesAlarmRuleV2PolicyArgs\n            {\n                MetricName = \"network_outgoing_bytes_rate_inband\",\n                Period = 300,\n                Filter = \"average\",\n                ComparisonOperator = \"\u003e\",\n                Value = 6.5,\n                Unit = \"B/s\",\n                Count = 1,\n                Level = 2,\n            },\n        },\n        AlarmActions = new[]\n        {\n            new Opentelekomcloud.Inputs.CesAlarmRuleV2AlarmActionArgs\n            {\n                Type = \"notification\",\n                NotificationLists = new[]\n                {\n                    topicUrn,\n                },\n            },\n        },\n        OkActions = new[]\n        {\n            new Opentelekomcloud.Inputs.CesAlarmRuleV2OkActionArgs\n            {\n                Type = \"notification\",\n                NotificationLists = new[]\n                {\n                    topicUrn,\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tinstanceId := cfg.RequireObject(\"instanceId\")\n\t\ttopicUrn := cfg.RequireObject(\"topicUrn\")\n\t\t_, err := opentelekomcloud.NewCesAlarmRuleV2(ctx, \"test\", \u0026opentelekomcloud.CesAlarmRuleV2Args{\n\t\t\tName:                pulumi.String(\"alarm-rule-with-ok-actions\"),\n\t\t\tNamespace:           pulumi.String(\"SYS.ECS\"),\n\t\t\tType:                pulumi.String(\"MULTI_INSTANCE\"),\n\t\t\tNotificationEnabled: pulumi.Bool(true),\n\t\t\tAlarmEnabled:        pulumi.Bool(true),\n\t\t\tResources: opentelekomcloud.CesAlarmRuleV2ResourceArray{\n\t\t\t\t\u0026opentelekomcloud.CesAlarmRuleV2ResourceArgs{\n\t\t\t\t\tDimensions: opentelekomcloud.CesAlarmRuleV2ResourceDimensionArray{\n\t\t\t\t\t\t\u0026opentelekomcloud.CesAlarmRuleV2ResourceDimensionArgs{\n\t\t\t\t\t\t\tName:  pulumi.String(\"instance_id\"),\n\t\t\t\t\t\t\tValue: pulumi.Any(instanceId),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tPolicies: opentelekomcloud.CesAlarmRuleV2PolicyArray{\n\t\t\t\t\u0026opentelekomcloud.CesAlarmRuleV2PolicyArgs{\n\t\t\t\t\tMetricName:         pulumi.String(\"network_outgoing_bytes_rate_inband\"),\n\t\t\t\t\tPeriod:             pulumi.Float64(300),\n\t\t\t\t\tFilter:             pulumi.String(\"average\"),\n\t\t\t\t\tComparisonOperator: pulumi.String(\"\u003e\"),\n\t\t\t\t\tValue:              pulumi.Float64(6.5),\n\t\t\t\t\tUnit:               pulumi.String(\"B/s\"),\n\t\t\t\t\tCount:              pulumi.Float64(1),\n\t\t\t\t\tLevel:              pulumi.Float64(2),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAlarmActions: opentelekomcloud.CesAlarmRuleV2AlarmActionArray{\n\t\t\t\t\u0026opentelekomcloud.CesAlarmRuleV2AlarmActionArgs{\n\t\t\t\t\tType: pulumi.String(\"notification\"),\n\t\t\t\t\tNotificationLists: pulumi.StringArray{\n\t\t\t\t\t\ttopicUrn,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tOkActions: opentelekomcloud.CesAlarmRuleV2OkActionArray{\n\t\t\t\t\u0026opentelekomcloud.CesAlarmRuleV2OkActionArgs{\n\t\t\t\t\tType: pulumi.String(\"notification\"),\n\t\t\t\t\tNotificationLists: pulumi.StringArray{\n\t\t\t\t\t\ttopicUrn,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.CesAlarmRuleV2;\nimport com.pulumi.opentelekomcloud.CesAlarmRuleV2Args;\nimport com.pulumi.opentelekomcloud.inputs.CesAlarmRuleV2ResourceArgs;\nimport com.pulumi.opentelekomcloud.inputs.CesAlarmRuleV2PolicyArgs;\nimport com.pulumi.opentelekomcloud.inputs.CesAlarmRuleV2AlarmActionArgs;\nimport com.pulumi.opentelekomcloud.inputs.CesAlarmRuleV2OkActionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var instanceId = config.get(\"instanceId\");\n        final var topicUrn = config.get(\"topicUrn\");\n        var test = new CesAlarmRuleV2(\"test\", CesAlarmRuleV2Args.builder()\n            .name(\"alarm-rule-with-ok-actions\")\n            .namespace(\"SYS.ECS\")\n            .type(\"MULTI_INSTANCE\")\n            .notificationEnabled(true)\n            .alarmEnabled(true)\n            .resources(CesAlarmRuleV2ResourceArgs.builder()\n                .dimensions(CesAlarmRuleV2ResourceDimensionArgs.builder()\n                    .name(\"instance_id\")\n                    .value(instanceId)\n                    .build())\n                .build())\n            .policies(CesAlarmRuleV2PolicyArgs.builder()\n                .metricName(\"network_outgoing_bytes_rate_inband\")\n                .period(300.0)\n                .filter(\"average\")\n                .comparisonOperator(\"\u003e\")\n                .value(6.5)\n                .unit(\"B/s\")\n                .count(1.0)\n                .level(2.0)\n                .build())\n            .alarmActions(CesAlarmRuleV2AlarmActionArgs.builder()\n                .type(\"notification\")\n                .notificationLists(topicUrn)\n                .build())\n            .okActions(CesAlarmRuleV2OkActionArgs.builder()\n                .type(\"notification\")\n                .notificationLists(topicUrn)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  instanceId:\n    type: dynamic\n  topicUrn:\n    type: dynamic\nresources:\n  test:\n    type: opentelekomcloud:CesAlarmRuleV2\n    properties:\n      name: alarm-rule-with-ok-actions\n      namespace: SYS.ECS\n      type: MULTI_INSTANCE\n      notificationEnabled: true\n      alarmEnabled: true\n      resources:\n        - dimensions:\n            - name: instance_id\n              value: ${instanceId}\n      policies:\n        - metricName: network_outgoing_bytes_rate_inband\n          period: 300\n          filter: average\n          comparisonOperator: '\u003e'\n          value: 6.5\n          unit: B/s\n          count: 1\n          level: 2\n      alarmActions:\n        - type: notification\n          notificationLists:\n            - ${topicUrn}\n      okActions:\n        - type: notification\n          notificationLists:\n            - ${topicUrn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Alarm rule using alarm template\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst instanceId = config.requireObject\u003cany\u003e(\"instanceId\");\nconst topicUrn = config.requireObject\u003cany\u003e(\"topicUrn\");\nconst alarmTemplateId = config.requireObject\u003cany\u003e(\"alarmTemplateId\");\nconst test = new opentelekomcloud.CesAlarmRuleV2(\"test\", {\n    name: \"alarm-rule-with-template\",\n    namespace: \"SYS.ECS\",\n    type: \"MULTI_INSTANCE\",\n    alarmTemplateId: alarmTemplateId,\n    notificationEnabled: true,\n    alarmEnabled: true,\n    resources: [{\n        dimensions: [{\n            name: \"instance_id\",\n            value: instanceId,\n        }],\n    }],\n    alarmActions: [{\n        type: \"notification\",\n        notificationLists: [topicUrn],\n    }],\n    okActions: [{\n        type: \"notification\",\n        notificationLists: [topicUrn],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ninstance_id = config.require_object(\"instanceId\")\ntopic_urn = config.require_object(\"topicUrn\")\nalarm_template_id = config.require_object(\"alarmTemplateId\")\ntest = opentelekomcloud.CesAlarmRuleV2(\"test\",\n    name=\"alarm-rule-with-template\",\n    namespace=\"SYS.ECS\",\n    type=\"MULTI_INSTANCE\",\n    alarm_template_id=alarm_template_id,\n    notification_enabled=True,\n    alarm_enabled=True,\n    resources=[{\n        \"dimensions\": [{\n            \"name\": \"instance_id\",\n            \"value\": instance_id,\n        }],\n    }],\n    alarm_actions=[{\n        \"type\": \"notification\",\n        \"notification_lists\": [topic_urn],\n    }],\n    ok_actions=[{\n        \"type\": \"notification\",\n        \"notification_lists\": [topic_urn],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var instanceId = config.RequireObject\u003cdynamic\u003e(\"instanceId\");\n    var topicUrn = config.RequireObject\u003cdynamic\u003e(\"topicUrn\");\n    var alarmTemplateId = config.RequireObject\u003cdynamic\u003e(\"alarmTemplateId\");\n    var test = new Opentelekomcloud.CesAlarmRuleV2(\"test\", new()\n    {\n        Name = \"alarm-rule-with-template\",\n        Namespace = \"SYS.ECS\",\n        Type = \"MULTI_INSTANCE\",\n        AlarmTemplateId = alarmTemplateId,\n        NotificationEnabled = true,\n        AlarmEnabled = true,\n        Resources = new[]\n        {\n            new Opentelekomcloud.Inputs.CesAlarmRuleV2ResourceArgs\n            {\n                Dimensions = new[]\n                {\n                    new Opentelekomcloud.Inputs.CesAlarmRuleV2ResourceDimensionArgs\n                    {\n                        Name = \"instance_id\",\n                        Value = instanceId,\n                    },\n                },\n            },\n        },\n        AlarmActions = new[]\n        {\n            new Opentelekomcloud.Inputs.CesAlarmRuleV2AlarmActionArgs\n            {\n                Type = \"notification\",\n                NotificationLists = new[]\n                {\n                    topicUrn,\n                },\n            },\n        },\n        OkActions = new[]\n        {\n            new Opentelekomcloud.Inputs.CesAlarmRuleV2OkActionArgs\n            {\n                Type = \"notification\",\n                NotificationLists = new[]\n                {\n                    topicUrn,\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tinstanceId := cfg.RequireObject(\"instanceId\")\n\t\ttopicUrn := cfg.RequireObject(\"topicUrn\")\n\t\talarmTemplateId := cfg.RequireObject(\"alarmTemplateId\")\n\t\t_, err := opentelekomcloud.NewCesAlarmRuleV2(ctx, \"test\", \u0026opentelekomcloud.CesAlarmRuleV2Args{\n\t\t\tName:                pulumi.String(\"alarm-rule-with-template\"),\n\t\t\tNamespace:           pulumi.String(\"SYS.ECS\"),\n\t\t\tType:                pulumi.String(\"MULTI_INSTANCE\"),\n\t\t\tAlarmTemplateId:     pulumi.Any(alarmTemplateId),\n\t\t\tNotificationEnabled: pulumi.Bool(true),\n\t\t\tAlarmEnabled:        pulumi.Bool(true),\n\t\t\tResources: opentelekomcloud.CesAlarmRuleV2ResourceArray{\n\t\t\t\t\u0026opentelekomcloud.CesAlarmRuleV2ResourceArgs{\n\t\t\t\t\tDimensions: opentelekomcloud.CesAlarmRuleV2ResourceDimensionArray{\n\t\t\t\t\t\t\u0026opentelekomcloud.CesAlarmRuleV2ResourceDimensionArgs{\n\t\t\t\t\t\t\tName:  pulumi.String(\"instance_id\"),\n\t\t\t\t\t\t\tValue: pulumi.Any(instanceId),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tAlarmActions: opentelekomcloud.CesAlarmRuleV2AlarmActionArray{\n\t\t\t\t\u0026opentelekomcloud.CesAlarmRuleV2AlarmActionArgs{\n\t\t\t\t\tType: pulumi.String(\"notification\"),\n\t\t\t\t\tNotificationLists: pulumi.StringArray{\n\t\t\t\t\t\ttopicUrn,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tOkActions: opentelekomcloud.CesAlarmRuleV2OkActionArray{\n\t\t\t\t\u0026opentelekomcloud.CesAlarmRuleV2OkActionArgs{\n\t\t\t\t\tType: pulumi.String(\"notification\"),\n\t\t\t\t\tNotificationLists: pulumi.StringArray{\n\t\t\t\t\t\ttopicUrn,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.CesAlarmRuleV2;\nimport com.pulumi.opentelekomcloud.CesAlarmRuleV2Args;\nimport com.pulumi.opentelekomcloud.inputs.CesAlarmRuleV2ResourceArgs;\nimport com.pulumi.opentelekomcloud.inputs.CesAlarmRuleV2AlarmActionArgs;\nimport com.pulumi.opentelekomcloud.inputs.CesAlarmRuleV2OkActionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var instanceId = config.get(\"instanceId\");\n        final var topicUrn = config.get(\"topicUrn\");\n        final var alarmTemplateId = config.get(\"alarmTemplateId\");\n        var test = new CesAlarmRuleV2(\"test\", CesAlarmRuleV2Args.builder()\n            .name(\"alarm-rule-with-template\")\n            .namespace(\"SYS.ECS\")\n            .type(\"MULTI_INSTANCE\")\n            .alarmTemplateId(alarmTemplateId)\n            .notificationEnabled(true)\n            .alarmEnabled(true)\n            .resources(CesAlarmRuleV2ResourceArgs.builder()\n                .dimensions(CesAlarmRuleV2ResourceDimensionArgs.builder()\n                    .name(\"instance_id\")\n                    .value(instanceId)\n                    .build())\n                .build())\n            .alarmActions(CesAlarmRuleV2AlarmActionArgs.builder()\n                .type(\"notification\")\n                .notificationLists(topicUrn)\n                .build())\n            .okActions(CesAlarmRuleV2OkActionArgs.builder()\n                .type(\"notification\")\n                .notificationLists(topicUrn)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  instanceId:\n    type: dynamic\n  topicUrn:\n    type: dynamic\n  alarmTemplateId:\n    type: dynamic\nresources:\n  test:\n    type: opentelekomcloud:CesAlarmRuleV2\n    properties:\n      name: alarm-rule-with-template\n      namespace: SYS.ECS\n      type: MULTI_INSTANCE\n      alarmTemplateId: ${alarmTemplateId}\n      notificationEnabled: true\n      alarmEnabled: true\n      resources:\n        - dimensions:\n            - name: instance_id\n              value: ${instanceId}\n      alarmActions:\n        - type: notification\n          notificationLists:\n            - ${topicUrn}\n      okActions:\n        - type: notification\n          notificationLists:\n            - ${topicUrn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCES alarm rules v2 can be imported using the `id`, e.g.\n\nbash\n\n```sh\n$ pulumi import opentelekomcloud:index/cesAlarmRuleV2:CesAlarmRuleV2 alarm_rule al1619578509719Ga0X1RGWv\n```\n\n","properties":{"alarmActions":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCesAlarmRuleV2AlarmAction:CesAlarmRuleV2AlarmAction"},"description":"Specifies the action triggered by an alarm.\nThe\u003cspan pulumi-lang-nodejs=\" alarmActions \" pulumi-lang-dotnet=\" AlarmActions \" pulumi-lang-go=\" alarmActions \" pulumi-lang-python=\" alarm_actions \" pulumi-lang-yaml=\" alarmActions \" pulumi-lang-java=\" alarmActions \"\u003e alarm_actions \u003c/span\u003estructure is documented below.\nChanging this creates a new resource.\n"},"alarmEnabled":{"type":"boolean","description":"Specifies whether to enable the alarm rule.\nThe default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"alarmId":{"type":"string","description":"The alarm rule ID.\n"},"alarmTemplateId":{"type":"string","description":"Specifies the ID of the alarm template.\nWhen using an alarm template, the policies are inherited from the template.\nExactly one of \u003cspan pulumi-lang-nodejs=\"`alarmTemplateId`\" pulumi-lang-dotnet=\"`AlarmTemplateId`\" pulumi-lang-go=\"`alarmTemplateId`\" pulumi-lang-python=\"`alarm_template_id`\" pulumi-lang-yaml=\"`alarmTemplateId`\" pulumi-lang-java=\"`alarmTemplateId`\"\u003e`alarm_template_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`policies`\" pulumi-lang-dotnet=\"`Policies`\" pulumi-lang-go=\"`policies`\" pulumi-lang-python=\"`policies`\" pulumi-lang-yaml=\"`policies`\" pulumi-lang-java=\"`policies`\"\u003e`policies`\u003c/span\u003e must be specified.\nChanging this creates a new resource.\n"},"cesAlarmRuleV2Id":{"type":"string","description":"The resource ID in UUID format.\n"},"description":{"type":"string","description":"The value can be a string of \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`256`\" pulumi-lang-dotnet=\"`256`\" pulumi-lang-go=\"`256`\" pulumi-lang-python=\"`256`\" pulumi-lang-yaml=\"`256`\" pulumi-lang-java=\"`256`\"\u003e`256`\u003c/span\u003e characters.\nChanging this creates a new resource.\n"},"enterpriseProjectId":{"type":"string","description":"Specifies the enterprise project ID of the alarm rule.\nChanging this creates a new resource.\n\n\u003e **Note** If \u003cspan pulumi-lang-nodejs=\"`notificationEnabled`\" pulumi-lang-dotnet=\"`NotificationEnabled`\" pulumi-lang-go=\"`notificationEnabled`\" pulumi-lang-python=\"`notification_enabled`\" pulumi-lang-yaml=\"`notificationEnabled`\" pulumi-lang-java=\"`notificationEnabled`\"\u003e`notification_enabled`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, either \u003cspan pulumi-lang-nodejs=\"`alarmActions`\" pulumi-lang-dotnet=\"`AlarmActions`\" pulumi-lang-go=\"`alarmActions`\" pulumi-lang-python=\"`alarm_actions`\" pulumi-lang-yaml=\"`alarmActions`\" pulumi-lang-java=\"`alarmActions`\"\u003e`alarm_actions`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`okActions`\" pulumi-lang-dotnet=\"`OkActions`\" pulumi-lang-go=\"`okActions`\" pulumi-lang-python=\"`ok_actions`\" pulumi-lang-yaml=\"`okActions`\" pulumi-lang-java=\"`okActions`\"\u003e`ok_actions`\u003c/span\u003e cannot be empty.\nIf \u003cspan pulumi-lang-nodejs=\"`alarmActions`\" pulumi-lang-dotnet=\"`AlarmActions`\" pulumi-lang-go=\"`alarmActions`\" pulumi-lang-python=\"`alarm_actions`\" pulumi-lang-yaml=\"`alarmActions`\" pulumi-lang-java=\"`alarmActions`\"\u003e`alarm_actions`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`okActions`\" pulumi-lang-dotnet=\"`OkActions`\" pulumi-lang-go=\"`okActions`\" pulumi-lang-python=\"`ok_actions`\" pulumi-lang-yaml=\"`okActions`\" pulumi-lang-java=\"`okActions`\"\u003e`ok_actions`\u003c/span\u003e coexist, their corresponding \u003cspan pulumi-lang-nodejs=\"`notificationList`\" pulumi-lang-dotnet=\"`NotificationList`\" pulumi-lang-go=\"`notificationList`\" pulumi-lang-python=\"`notification_list`\" pulumi-lang-yaml=\"`notificationList`\" pulumi-lang-java=\"`notificationList`\"\u003e`notification_list`\u003c/span\u003e must be of the same value.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"policiesStruct\"\" pulumi-lang-dotnet=\"\"PoliciesStruct\"\" pulumi-lang-go=\"\"policiesStruct\"\" pulumi-lang-python=\"\"policies_struct\"\" pulumi-lang-yaml=\"\"policiesStruct\"\" pulumi-lang-java=\"\"policiesStruct\"\"\u003e\"policies_struct\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`policies`\" pulumi-lang-dotnet=\"`Policies`\" pulumi-lang-go=\"`policies`\" pulumi-lang-python=\"`policies`\" pulumi-lang-yaml=\"`policies`\" pulumi-lang-java=\"`policies`\"\u003e`policies`\u003c/span\u003e block supports:\n"},"name":{"type":"string","description":"Specifies the dimension name. The value can be a string of \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e characters\nthat must start with a letter and contain only letters, digits, underscores (_), and hyphens (-).\n"},"namespace":{"type":"string","description":"Specifies the namespace in `service.item` format. \u003cspan pulumi-lang-nodejs=\"`service`\" pulumi-lang-dotnet=\"`Service`\" pulumi-lang-go=\"`service`\" pulumi-lang-python=\"`service`\" pulumi-lang-yaml=\"`service`\" pulumi-lang-java=\"`service`\"\u003e`service`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`item`\" pulumi-lang-dotnet=\"`Item`\" pulumi-lang-go=\"`item`\" pulumi-lang-python=\"`item`\" pulumi-lang-yaml=\"`item`\" pulumi-lang-java=\"`item`\"\u003e`item`\u003c/span\u003e\neach must be a string that starts with a letter and contains only letters, digits, and underscores (_).\nChanging this creates a new resource.\nFor details, see [Services Interconnected with Cloud Eye](https://docs.otc.t-systems.com/cloud-eye/api-ref/appendix/services_interconnected_with_cloud_eye.html).\n"},"notificationBeginTime":{"type":"string","description":"Specifies the alarm notification start time,\nfor example: **05:30**. Changing this creates a new resource.\n"},"notificationEnabled":{"type":"boolean","description":"Specifies whether to enable the action to be triggered by an alarm.\nThe default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this creates a new resource.\n"},"notificationEndTime":{"type":"string","description":"Specifies the alarm notification stop time,\nfor example: **22:10**. Changing this creates a new resource.\n"},"okActions":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCesAlarmRuleV2OkAction:CesAlarmRuleV2OkAction"},"description":"Specifies the action triggered by the clearing of an alarm.\nThe\u003cspan pulumi-lang-nodejs=\" okActions \" pulumi-lang-dotnet=\" OkActions \" pulumi-lang-go=\" okActions \" pulumi-lang-python=\" ok_actions \" pulumi-lang-yaml=\" okActions \" pulumi-lang-java=\" okActions \"\u003e ok_actions \u003c/span\u003estructure is documented below.\nChanging this creates a new resource.\n"},"policies":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCesAlarmRuleV2Policy:CesAlarmRuleV2Policy"},"description":"Specifies the alarm policies. The policies structure is\ndocumented below. Exactly one of \u003cspan pulumi-lang-nodejs=\"`policies`\" pulumi-lang-dotnet=\"`Policies`\" pulumi-lang-go=\"`policies`\" pulumi-lang-python=\"`policies`\" pulumi-lang-yaml=\"`policies`\" pulumi-lang-java=\"`policies`\"\u003e`policies`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`alarmTemplateId`\" pulumi-lang-dotnet=\"`AlarmTemplateId`\" pulumi-lang-go=\"`alarmTemplateId`\" pulumi-lang-python=\"`alarm_template_id`\" pulumi-lang-yaml=\"`alarmTemplateId`\" pulumi-lang-java=\"`alarmTemplateId`\"\u003e`alarm_template_id`\u003c/span\u003e must be specified.\nWhen using \u003cspan pulumi-lang-nodejs=\"`alarmTemplateId`\" pulumi-lang-dotnet=\"`AlarmTemplateId`\" pulumi-lang-go=\"`alarmTemplateId`\" pulumi-lang-python=\"`alarm_template_id`\" pulumi-lang-yaml=\"`alarmTemplateId`\" pulumi-lang-java=\"`alarmTemplateId`\"\u003e`alarm_template_id`\u003c/span\u003e, the policies are inherited from the template and cannot be modified directly.\n"},"resourceGroupId":{"type":"string","description":"Specifies the resource group ID.\nChanging this creates a new resource.\n"},"resources":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCesAlarmRuleV2Resource:CesAlarmRuleV2Resource"},"description":"Specifies the list of resources to monitor.\nThe resources structure is documented below.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCesAlarmRuleV2Timeouts:CesAlarmRuleV2Timeouts"},"type":{"type":"string","description":"Specifies the type of action triggered by an alarm. The value can be:\n+ **notification**: indicates that a notification will be sent to the user.\n+ **autoscaling**: indicates that a scaling action will be triggered.\n"}},"type":"object","required":["alarmId","cesAlarmRuleV2Id","enterpriseProjectId","name","namespace","notificationBeginTime","notificationEndTime"],"inputProperties":{"alarmActions":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCesAlarmRuleV2AlarmAction:CesAlarmRuleV2AlarmAction"},"description":"Specifies the action triggered by an alarm.\nThe\u003cspan pulumi-lang-nodejs=\" alarmActions \" pulumi-lang-dotnet=\" AlarmActions \" pulumi-lang-go=\" alarmActions \" pulumi-lang-python=\" alarm_actions \" pulumi-lang-yaml=\" alarmActions \" pulumi-lang-java=\" alarmActions \"\u003e alarm_actions \u003c/span\u003estructure is documented below.\nChanging this creates a new resource.\n"},"alarmEnabled":{"type":"boolean","description":"Specifies whether to enable the alarm rule.\nThe default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"alarmTemplateId":{"type":"string","description":"Specifies the ID of the alarm template.\nWhen using an alarm template, the policies are inherited from the template.\nExactly one of \u003cspan pulumi-lang-nodejs=\"`alarmTemplateId`\" pulumi-lang-dotnet=\"`AlarmTemplateId`\" pulumi-lang-go=\"`alarmTemplateId`\" pulumi-lang-python=\"`alarm_template_id`\" pulumi-lang-yaml=\"`alarmTemplateId`\" pulumi-lang-java=\"`alarmTemplateId`\"\u003e`alarm_template_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`policies`\" pulumi-lang-dotnet=\"`Policies`\" pulumi-lang-go=\"`policies`\" pulumi-lang-python=\"`policies`\" pulumi-lang-yaml=\"`policies`\" pulumi-lang-java=\"`policies`\"\u003e`policies`\u003c/span\u003e must be specified.\nChanging this creates a new resource.\n"},"cesAlarmRuleV2Id":{"type":"string","description":"The resource ID in UUID format.\n"},"description":{"type":"string","description":"The value can be a string of \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`256`\" pulumi-lang-dotnet=\"`256`\" pulumi-lang-go=\"`256`\" pulumi-lang-python=\"`256`\" pulumi-lang-yaml=\"`256`\" pulumi-lang-java=\"`256`\"\u003e`256`\u003c/span\u003e characters.\nChanging this creates a new resource.\n"},"enterpriseProjectId":{"type":"string","description":"Specifies the enterprise project ID of the alarm rule.\nChanging this creates a new resource.\n\n\u003e **Note** If \u003cspan pulumi-lang-nodejs=\"`notificationEnabled`\" pulumi-lang-dotnet=\"`NotificationEnabled`\" pulumi-lang-go=\"`notificationEnabled`\" pulumi-lang-python=\"`notification_enabled`\" pulumi-lang-yaml=\"`notificationEnabled`\" pulumi-lang-java=\"`notificationEnabled`\"\u003e`notification_enabled`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, either \u003cspan pulumi-lang-nodejs=\"`alarmActions`\" pulumi-lang-dotnet=\"`AlarmActions`\" pulumi-lang-go=\"`alarmActions`\" pulumi-lang-python=\"`alarm_actions`\" pulumi-lang-yaml=\"`alarmActions`\" pulumi-lang-java=\"`alarmActions`\"\u003e`alarm_actions`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`okActions`\" pulumi-lang-dotnet=\"`OkActions`\" pulumi-lang-go=\"`okActions`\" pulumi-lang-python=\"`ok_actions`\" pulumi-lang-yaml=\"`okActions`\" pulumi-lang-java=\"`okActions`\"\u003e`ok_actions`\u003c/span\u003e cannot be empty.\nIf \u003cspan pulumi-lang-nodejs=\"`alarmActions`\" pulumi-lang-dotnet=\"`AlarmActions`\" pulumi-lang-go=\"`alarmActions`\" pulumi-lang-python=\"`alarm_actions`\" pulumi-lang-yaml=\"`alarmActions`\" pulumi-lang-java=\"`alarmActions`\"\u003e`alarm_actions`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`okActions`\" pulumi-lang-dotnet=\"`OkActions`\" pulumi-lang-go=\"`okActions`\" pulumi-lang-python=\"`ok_actions`\" pulumi-lang-yaml=\"`okActions`\" pulumi-lang-java=\"`okActions`\"\u003e`ok_actions`\u003c/span\u003e coexist, their corresponding \u003cspan pulumi-lang-nodejs=\"`notificationList`\" pulumi-lang-dotnet=\"`NotificationList`\" pulumi-lang-go=\"`notificationList`\" pulumi-lang-python=\"`notification_list`\" pulumi-lang-yaml=\"`notificationList`\" pulumi-lang-java=\"`notificationList`\"\u003e`notification_list`\u003c/span\u003e must be of the same value.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"policiesStruct\"\" pulumi-lang-dotnet=\"\"PoliciesStruct\"\" pulumi-lang-go=\"\"policiesStruct\"\" pulumi-lang-python=\"\"policies_struct\"\" pulumi-lang-yaml=\"\"policiesStruct\"\" pulumi-lang-java=\"\"policiesStruct\"\"\u003e\"policies_struct\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`policies`\" pulumi-lang-dotnet=\"`Policies`\" pulumi-lang-go=\"`policies`\" pulumi-lang-python=\"`policies`\" pulumi-lang-yaml=\"`policies`\" pulumi-lang-java=\"`policies`\"\u003e`policies`\u003c/span\u003e block supports:\n"},"name":{"type":"string","description":"Specifies the dimension name. The value can be a string of \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e characters\nthat must start with a letter and contain only letters, digits, underscores (_), and hyphens (-).\n"},"namespace":{"type":"string","description":"Specifies the namespace in `service.item` format. \u003cspan pulumi-lang-nodejs=\"`service`\" pulumi-lang-dotnet=\"`Service`\" pulumi-lang-go=\"`service`\" pulumi-lang-python=\"`service`\" pulumi-lang-yaml=\"`service`\" pulumi-lang-java=\"`service`\"\u003e`service`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`item`\" pulumi-lang-dotnet=\"`Item`\" pulumi-lang-go=\"`item`\" pulumi-lang-python=\"`item`\" pulumi-lang-yaml=\"`item`\" pulumi-lang-java=\"`item`\"\u003e`item`\u003c/span\u003e\neach must be a string that starts with a letter and contains only letters, digits, and underscores (_).\nChanging this creates a new resource.\nFor details, see [Services Interconnected with Cloud Eye](https://docs.otc.t-systems.com/cloud-eye/api-ref/appendix/services_interconnected_with_cloud_eye.html).\n"},"notificationBeginTime":{"type":"string","description":"Specifies the alarm notification start time,\nfor example: **05:30**. Changing this creates a new resource.\n"},"notificationEnabled":{"type":"boolean","description":"Specifies whether to enable the action to be triggered by an alarm.\nThe default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this creates a new resource.\n"},"notificationEndTime":{"type":"string","description":"Specifies the alarm notification stop time,\nfor example: **22:10**. Changing this creates a new resource.\n"},"okActions":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCesAlarmRuleV2OkAction:CesAlarmRuleV2OkAction"},"description":"Specifies the action triggered by the clearing of an alarm.\nThe\u003cspan pulumi-lang-nodejs=\" okActions \" pulumi-lang-dotnet=\" OkActions \" pulumi-lang-go=\" okActions \" pulumi-lang-python=\" ok_actions \" pulumi-lang-yaml=\" okActions \" pulumi-lang-java=\" okActions \"\u003e ok_actions \u003c/span\u003estructure is documented below.\nChanging this creates a new resource.\n"},"policies":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCesAlarmRuleV2Policy:CesAlarmRuleV2Policy"},"description":"Specifies the alarm policies. The policies structure is\ndocumented below. Exactly one of \u003cspan pulumi-lang-nodejs=\"`policies`\" pulumi-lang-dotnet=\"`Policies`\" pulumi-lang-go=\"`policies`\" pulumi-lang-python=\"`policies`\" pulumi-lang-yaml=\"`policies`\" pulumi-lang-java=\"`policies`\"\u003e`policies`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`alarmTemplateId`\" pulumi-lang-dotnet=\"`AlarmTemplateId`\" pulumi-lang-go=\"`alarmTemplateId`\" pulumi-lang-python=\"`alarm_template_id`\" pulumi-lang-yaml=\"`alarmTemplateId`\" pulumi-lang-java=\"`alarmTemplateId`\"\u003e`alarm_template_id`\u003c/span\u003e must be specified.\nWhen using \u003cspan pulumi-lang-nodejs=\"`alarmTemplateId`\" pulumi-lang-dotnet=\"`AlarmTemplateId`\" pulumi-lang-go=\"`alarmTemplateId`\" pulumi-lang-python=\"`alarm_template_id`\" pulumi-lang-yaml=\"`alarmTemplateId`\" pulumi-lang-java=\"`alarmTemplateId`\"\u003e`alarm_template_id`\u003c/span\u003e, the policies are inherited from the template and cannot be modified directly.\n"},"resourceGroupId":{"type":"string","description":"Specifies the resource group ID.\nChanging this creates a new resource.\n"},"resources":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCesAlarmRuleV2Resource:CesAlarmRuleV2Resource"},"description":"Specifies the list of resources to monitor.\nThe resources structure is documented below.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCesAlarmRuleV2Timeouts:CesAlarmRuleV2Timeouts"},"type":{"type":"string","description":"Specifies the type of action triggered by an alarm. The value can be:\n+ **notification**: indicates that a notification will be sent to the user.\n+ **autoscaling**: indicates that a scaling action will be triggered.\n"}},"requiredInputs":["namespace"],"stateInputs":{"description":"Input properties used for looking up and filtering CesAlarmRuleV2 resources.\n","properties":{"alarmActions":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCesAlarmRuleV2AlarmAction:CesAlarmRuleV2AlarmAction"},"description":"Specifies the action triggered by an alarm.\nThe\u003cspan pulumi-lang-nodejs=\" alarmActions \" pulumi-lang-dotnet=\" AlarmActions \" pulumi-lang-go=\" alarmActions \" pulumi-lang-python=\" alarm_actions \" pulumi-lang-yaml=\" alarmActions \" pulumi-lang-java=\" alarmActions \"\u003e alarm_actions \u003c/span\u003estructure is documented below.\nChanging this creates a new resource.\n"},"alarmEnabled":{"type":"boolean","description":"Specifies whether to enable the alarm rule.\nThe default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"alarmId":{"type":"string","description":"The alarm rule ID.\n"},"alarmTemplateId":{"type":"string","description":"Specifies the ID of the alarm template.\nWhen using an alarm template, the policies are inherited from the template.\nExactly one of \u003cspan pulumi-lang-nodejs=\"`alarmTemplateId`\" pulumi-lang-dotnet=\"`AlarmTemplateId`\" pulumi-lang-go=\"`alarmTemplateId`\" pulumi-lang-python=\"`alarm_template_id`\" pulumi-lang-yaml=\"`alarmTemplateId`\" pulumi-lang-java=\"`alarmTemplateId`\"\u003e`alarm_template_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`policies`\" pulumi-lang-dotnet=\"`Policies`\" pulumi-lang-go=\"`policies`\" pulumi-lang-python=\"`policies`\" pulumi-lang-yaml=\"`policies`\" pulumi-lang-java=\"`policies`\"\u003e`policies`\u003c/span\u003e must be specified.\nChanging this creates a new resource.\n"},"cesAlarmRuleV2Id":{"type":"string","description":"The resource ID in UUID format.\n"},"description":{"type":"string","description":"The value can be a string of \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`256`\" pulumi-lang-dotnet=\"`256`\" pulumi-lang-go=\"`256`\" pulumi-lang-python=\"`256`\" pulumi-lang-yaml=\"`256`\" pulumi-lang-java=\"`256`\"\u003e`256`\u003c/span\u003e characters.\nChanging this creates a new resource.\n"},"enterpriseProjectId":{"type":"string","description":"Specifies the enterprise project ID of the alarm rule.\nChanging this creates a new resource.\n\n\u003e **Note** If \u003cspan pulumi-lang-nodejs=\"`notificationEnabled`\" pulumi-lang-dotnet=\"`NotificationEnabled`\" pulumi-lang-go=\"`notificationEnabled`\" pulumi-lang-python=\"`notification_enabled`\" pulumi-lang-yaml=\"`notificationEnabled`\" pulumi-lang-java=\"`notificationEnabled`\"\u003e`notification_enabled`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, either \u003cspan pulumi-lang-nodejs=\"`alarmActions`\" pulumi-lang-dotnet=\"`AlarmActions`\" pulumi-lang-go=\"`alarmActions`\" pulumi-lang-python=\"`alarm_actions`\" pulumi-lang-yaml=\"`alarmActions`\" pulumi-lang-java=\"`alarmActions`\"\u003e`alarm_actions`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`okActions`\" pulumi-lang-dotnet=\"`OkActions`\" pulumi-lang-go=\"`okActions`\" pulumi-lang-python=\"`ok_actions`\" pulumi-lang-yaml=\"`okActions`\" pulumi-lang-java=\"`okActions`\"\u003e`ok_actions`\u003c/span\u003e cannot be empty.\nIf \u003cspan pulumi-lang-nodejs=\"`alarmActions`\" pulumi-lang-dotnet=\"`AlarmActions`\" pulumi-lang-go=\"`alarmActions`\" pulumi-lang-python=\"`alarm_actions`\" pulumi-lang-yaml=\"`alarmActions`\" pulumi-lang-java=\"`alarmActions`\"\u003e`alarm_actions`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`okActions`\" pulumi-lang-dotnet=\"`OkActions`\" pulumi-lang-go=\"`okActions`\" pulumi-lang-python=\"`ok_actions`\" pulumi-lang-yaml=\"`okActions`\" pulumi-lang-java=\"`okActions`\"\u003e`ok_actions`\u003c/span\u003e coexist, their corresponding \u003cspan pulumi-lang-nodejs=\"`notificationList`\" pulumi-lang-dotnet=\"`NotificationList`\" pulumi-lang-go=\"`notificationList`\" pulumi-lang-python=\"`notification_list`\" pulumi-lang-yaml=\"`notificationList`\" pulumi-lang-java=\"`notificationList`\"\u003e`notification_list`\u003c/span\u003e must be of the same value.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"policiesStruct\"\" pulumi-lang-dotnet=\"\"PoliciesStruct\"\" pulumi-lang-go=\"\"policiesStruct\"\" pulumi-lang-python=\"\"policies_struct\"\" pulumi-lang-yaml=\"\"policiesStruct\"\" pulumi-lang-java=\"\"policiesStruct\"\"\u003e\"policies_struct\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`policies`\" pulumi-lang-dotnet=\"`Policies`\" pulumi-lang-go=\"`policies`\" pulumi-lang-python=\"`policies`\" pulumi-lang-yaml=\"`policies`\" pulumi-lang-java=\"`policies`\"\u003e`policies`\u003c/span\u003e block supports:\n"},"name":{"type":"string","description":"Specifies the dimension name. The value can be a string of \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e characters\nthat must start with a letter and contain only letters, digits, underscores (_), and hyphens (-).\n"},"namespace":{"type":"string","description":"Specifies the namespace in `service.item` format. \u003cspan pulumi-lang-nodejs=\"`service`\" pulumi-lang-dotnet=\"`Service`\" pulumi-lang-go=\"`service`\" pulumi-lang-python=\"`service`\" pulumi-lang-yaml=\"`service`\" pulumi-lang-java=\"`service`\"\u003e`service`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`item`\" pulumi-lang-dotnet=\"`Item`\" pulumi-lang-go=\"`item`\" pulumi-lang-python=\"`item`\" pulumi-lang-yaml=\"`item`\" pulumi-lang-java=\"`item`\"\u003e`item`\u003c/span\u003e\neach must be a string that starts with a letter and contains only letters, digits, and underscores (_).\nChanging this creates a new resource.\nFor details, see [Services Interconnected with Cloud Eye](https://docs.otc.t-systems.com/cloud-eye/api-ref/appendix/services_interconnected_with_cloud_eye.html).\n"},"notificationBeginTime":{"type":"string","description":"Specifies the alarm notification start time,\nfor example: **05:30**. Changing this creates a new resource.\n"},"notificationEnabled":{"type":"boolean","description":"Specifies whether to enable the action to be triggered by an alarm.\nThe default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this creates a new resource.\n"},"notificationEndTime":{"type":"string","description":"Specifies the alarm notification stop time,\nfor example: **22:10**. Changing this creates a new resource.\n"},"okActions":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCesAlarmRuleV2OkAction:CesAlarmRuleV2OkAction"},"description":"Specifies the action triggered by the clearing of an alarm.\nThe\u003cspan pulumi-lang-nodejs=\" okActions \" pulumi-lang-dotnet=\" OkActions \" pulumi-lang-go=\" okActions \" pulumi-lang-python=\" ok_actions \" pulumi-lang-yaml=\" okActions \" pulumi-lang-java=\" okActions \"\u003e ok_actions \u003c/span\u003estructure is documented below.\nChanging this creates a new resource.\n"},"policies":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCesAlarmRuleV2Policy:CesAlarmRuleV2Policy"},"description":"Specifies the alarm policies. The policies structure is\ndocumented below. Exactly one of \u003cspan pulumi-lang-nodejs=\"`policies`\" pulumi-lang-dotnet=\"`Policies`\" pulumi-lang-go=\"`policies`\" pulumi-lang-python=\"`policies`\" pulumi-lang-yaml=\"`policies`\" pulumi-lang-java=\"`policies`\"\u003e`policies`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`alarmTemplateId`\" pulumi-lang-dotnet=\"`AlarmTemplateId`\" pulumi-lang-go=\"`alarmTemplateId`\" pulumi-lang-python=\"`alarm_template_id`\" pulumi-lang-yaml=\"`alarmTemplateId`\" pulumi-lang-java=\"`alarmTemplateId`\"\u003e`alarm_template_id`\u003c/span\u003e must be specified.\nWhen using \u003cspan pulumi-lang-nodejs=\"`alarmTemplateId`\" pulumi-lang-dotnet=\"`AlarmTemplateId`\" pulumi-lang-go=\"`alarmTemplateId`\" pulumi-lang-python=\"`alarm_template_id`\" pulumi-lang-yaml=\"`alarmTemplateId`\" pulumi-lang-java=\"`alarmTemplateId`\"\u003e`alarm_template_id`\u003c/span\u003e, the policies are inherited from the template and cannot be modified directly.\n"},"resourceGroupId":{"type":"string","description":"Specifies the resource group ID.\nChanging this creates a new resource.\n"},"resources":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCesAlarmRuleV2Resource:CesAlarmRuleV2Resource"},"description":"Specifies the list of resources to monitor.\nThe resources structure is documented below.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCesAlarmRuleV2Timeouts:CesAlarmRuleV2Timeouts"},"type":{"type":"string","description":"Specifies the type of action triggered by an alarm. The value can be:\n+ **notification**: indicates that a notification will be sent to the user.\n+ **autoscaling**: indicates that a scaling action will be triggered.\n"}},"type":"object"}},"opentelekomcloud:index/cesAlarmTemplateV2:CesAlarmTemplateV2":{"description":"Up-to-date reference of API arguments for CES alarm template you can get at\n[documentation portal](https://docs.otc.t-systems.com/cloud-eye/api-ref/api_v2/alarm_templates/index.html)\n\nManages a CES alarm template resource within OpenTelekomCloud.\n\n## Example Usage\n\n### Create a metric alarm template\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst test = new opentelekomcloud.CesAlarmTemplateV2(\"test\", {\n    name: \"my-alarm-template\",\n    description: \"Alarm template for ECS monitoring\",\n    policies: [{\n        namespace: \"SYS.ECS\",\n        dimensionName: \"instance_id\",\n        metricName: \"cpu_util\",\n        period: 300,\n        filter: \"average\",\n        comparisonOperator: \"\u003e=\",\n        value: 80,\n        unit: \"%\",\n        count: 3,\n        alarmLevel: 2,\n        suppressDuration: 3600,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ntest = opentelekomcloud.CesAlarmTemplateV2(\"test\",\n    name=\"my-alarm-template\",\n    description=\"Alarm template for ECS monitoring\",\n    policies=[{\n        \"namespace\": \"SYS.ECS\",\n        \"dimension_name\": \"instance_id\",\n        \"metric_name\": \"cpu_util\",\n        \"period\": 300,\n        \"filter\": \"average\",\n        \"comparison_operator\": \"\u003e=\",\n        \"value\": 80,\n        \"unit\": \"%\",\n        \"count\": 3,\n        \"alarm_level\": 2,\n        \"suppress_duration\": 3600,\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = new Opentelekomcloud.CesAlarmTemplateV2(\"test\", new()\n    {\n        Name = \"my-alarm-template\",\n        Description = \"Alarm template for ECS monitoring\",\n        Policies = new[]\n        {\n            new Opentelekomcloud.Inputs.CesAlarmTemplateV2PolicyArgs\n            {\n                Namespace = \"SYS.ECS\",\n                DimensionName = \"instance_id\",\n                MetricName = \"cpu_util\",\n                Period = 300,\n                Filter = \"average\",\n                ComparisonOperator = \"\u003e=\",\n                Value = 80,\n                Unit = \"%\",\n                Count = 3,\n                AlarmLevel = 2,\n                SuppressDuration = 3600,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewCesAlarmTemplateV2(ctx, \"test\", \u0026opentelekomcloud.CesAlarmTemplateV2Args{\n\t\t\tName:        pulumi.String(\"my-alarm-template\"),\n\t\t\tDescription: pulumi.String(\"Alarm template for ECS monitoring\"),\n\t\t\tPolicies: opentelekomcloud.CesAlarmTemplateV2PolicyArray{\n\t\t\t\t\u0026opentelekomcloud.CesAlarmTemplateV2PolicyArgs{\n\t\t\t\t\tNamespace:          pulumi.String(\"SYS.ECS\"),\n\t\t\t\t\tDimensionName:      pulumi.String(\"instance_id\"),\n\t\t\t\t\tMetricName:         pulumi.String(\"cpu_util\"),\n\t\t\t\t\tPeriod:             pulumi.Float64(300),\n\t\t\t\t\tFilter:             pulumi.String(\"average\"),\n\t\t\t\t\tComparisonOperator: pulumi.String(\"\u003e=\"),\n\t\t\t\t\tValue:              pulumi.Float64(80),\n\t\t\t\t\tUnit:               pulumi.String(\"%\"),\n\t\t\t\t\tCount:              pulumi.Float64(3),\n\t\t\t\t\tAlarmLevel:         pulumi.Float64(2),\n\t\t\t\t\tSuppressDuration:   pulumi.Float64(3600),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.CesAlarmTemplateV2;\nimport com.pulumi.opentelekomcloud.CesAlarmTemplateV2Args;\nimport com.pulumi.opentelekomcloud.inputs.CesAlarmTemplateV2PolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test = new CesAlarmTemplateV2(\"test\", CesAlarmTemplateV2Args.builder()\n            .name(\"my-alarm-template\")\n            .description(\"Alarm template for ECS monitoring\")\n            .policies(CesAlarmTemplateV2PolicyArgs.builder()\n                .namespace(\"SYS.ECS\")\n                .dimensionName(\"instance_id\")\n                .metricName(\"cpu_util\")\n                .period(300.0)\n                .filter(\"average\")\n                .comparisonOperator(\"\u003e=\")\n                .value(80.0)\n                .unit(\"%\")\n                .count(3.0)\n                .alarmLevel(2.0)\n                .suppressDuration(3600.0)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test:\n    type: opentelekomcloud:CesAlarmTemplateV2\n    properties:\n      name: my-alarm-template\n      description: Alarm template for ECS monitoring\n      policies:\n        - namespace: SYS.ECS\n          dimensionName: instance_id\n          metricName: cpu_util\n          period: 300\n          filter: average\n          comparisonOperator: '\u003e='\n          value: 80\n          unit: '%'\n          count: 3\n          alarmLevel: 2\n          suppressDuration: 3600\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create an event alarm template\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst test = new opentelekomcloud.CesAlarmTemplateV2(\"test\", {\n    name: \"my-event-template\",\n    type: 2,\n    description: \"Event alarm template\",\n    policies: [{\n        namespace: \"SYS.ECS\",\n        metricName: \"stopServer\",\n        period: 0,\n        filter: \"average\",\n        comparisonOperator: \"\u003e=\",\n        value: 1,\n        unit: \"count\",\n        count: 1,\n        alarmLevel: 2,\n        suppressDuration: 0,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ntest = opentelekomcloud.CesAlarmTemplateV2(\"test\",\n    name=\"my-event-template\",\n    type=2,\n    description=\"Event alarm template\",\n    policies=[{\n        \"namespace\": \"SYS.ECS\",\n        \"metric_name\": \"stopServer\",\n        \"period\": 0,\n        \"filter\": \"average\",\n        \"comparison_operator\": \"\u003e=\",\n        \"value\": 1,\n        \"unit\": \"count\",\n        \"count\": 1,\n        \"alarm_level\": 2,\n        \"suppress_duration\": 0,\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = new Opentelekomcloud.CesAlarmTemplateV2(\"test\", new()\n    {\n        Name = \"my-event-template\",\n        Type = 2,\n        Description = \"Event alarm template\",\n        Policies = new[]\n        {\n            new Opentelekomcloud.Inputs.CesAlarmTemplateV2PolicyArgs\n            {\n                Namespace = \"SYS.ECS\",\n                MetricName = \"stopServer\",\n                Period = 0,\n                Filter = \"average\",\n                ComparisonOperator = \"\u003e=\",\n                Value = 1,\n                Unit = \"count\",\n                Count = 1,\n                AlarmLevel = 2,\n                SuppressDuration = 0,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewCesAlarmTemplateV2(ctx, \"test\", \u0026opentelekomcloud.CesAlarmTemplateV2Args{\n\t\t\tName:        pulumi.String(\"my-event-template\"),\n\t\t\tType:        pulumi.Float64(2),\n\t\t\tDescription: pulumi.String(\"Event alarm template\"),\n\t\t\tPolicies: opentelekomcloud.CesAlarmTemplateV2PolicyArray{\n\t\t\t\t\u0026opentelekomcloud.CesAlarmTemplateV2PolicyArgs{\n\t\t\t\t\tNamespace:          pulumi.String(\"SYS.ECS\"),\n\t\t\t\t\tMetricName:         pulumi.String(\"stopServer\"),\n\t\t\t\t\tPeriod:             pulumi.Float64(0),\n\t\t\t\t\tFilter:             pulumi.String(\"average\"),\n\t\t\t\t\tComparisonOperator: pulumi.String(\"\u003e=\"),\n\t\t\t\t\tValue:              pulumi.Float64(1),\n\t\t\t\t\tUnit:               pulumi.String(\"count\"),\n\t\t\t\t\tCount:              pulumi.Float64(1),\n\t\t\t\t\tAlarmLevel:         pulumi.Float64(2),\n\t\t\t\t\tSuppressDuration:   pulumi.Float64(0),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.CesAlarmTemplateV2;\nimport com.pulumi.opentelekomcloud.CesAlarmTemplateV2Args;\nimport com.pulumi.opentelekomcloud.inputs.CesAlarmTemplateV2PolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test = new CesAlarmTemplateV2(\"test\", CesAlarmTemplateV2Args.builder()\n            .name(\"my-event-template\")\n            .type(2.0)\n            .description(\"Event alarm template\")\n            .policies(CesAlarmTemplateV2PolicyArgs.builder()\n                .namespace(\"SYS.ECS\")\n                .metricName(\"stopServer\")\n                .period(0.0)\n                .filter(\"average\")\n                .comparisonOperator(\"\u003e=\")\n                .value(1.0)\n                .unit(\"count\")\n                .count(1.0)\n                .alarmLevel(2.0)\n                .suppressDuration(0.0)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test:\n    type: opentelekomcloud:CesAlarmTemplateV2\n    properties:\n      name: my-event-template\n      type: 2\n      description: Event alarm template\n      policies:\n        - namespace: SYS.ECS\n          metricName: stopServer\n          period: 0\n          filter: average\n          comparisonOperator: '\u003e='\n          value: 1\n          unit: count\n          count: 1\n          alarmLevel: 2\n          suppressDuration: 0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create an alarm template with multiple policies\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst test = new opentelekomcloud.CesAlarmTemplateV2(\"test\", {\n    name: \"multi-policy-template\",\n    description: \"Alarm template with multiple monitoring policies\",\n    policies: [\n        {\n            namespace: \"SYS.ECS\",\n            dimensionName: \"instance_id\",\n            metricName: \"cpu_util\",\n            period: 300,\n            filter: \"average\",\n            comparisonOperator: \"\u003e\",\n            value: 80,\n            unit: \"%\",\n            count: 3,\n            alarmLevel: 2,\n            suppressDuration: 300,\n        },\n        {\n            namespace: \"SYS.ECS\",\n            dimensionName: \"instance_id\",\n            metricName: \"mem_util\",\n            period: 300,\n            filter: \"average\",\n            comparisonOperator: \"\u003e\",\n            value: 85,\n            unit: \"%\",\n            count: 3,\n            alarmLevel: 2,\n            suppressDuration: 300,\n        },\n        {\n            namespace: \"SYS.ECS\",\n            dimensionName: \"instance_id\",\n            metricName: \"disk_util_inband\",\n            period: 300,\n            filter: \"average\",\n            comparisonOperator: \"\u003e=\",\n            value: 90,\n            unit: \"%\",\n            count: 3,\n            alarmLevel: 1,\n            suppressDuration: 600,\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ntest = opentelekomcloud.CesAlarmTemplateV2(\"test\",\n    name=\"multi-policy-template\",\n    description=\"Alarm template with multiple monitoring policies\",\n    policies=[\n        {\n            \"namespace\": \"SYS.ECS\",\n            \"dimension_name\": \"instance_id\",\n            \"metric_name\": \"cpu_util\",\n            \"period\": 300,\n            \"filter\": \"average\",\n            \"comparison_operator\": \"\u003e\",\n            \"value\": 80,\n            \"unit\": \"%\",\n            \"count\": 3,\n            \"alarm_level\": 2,\n            \"suppress_duration\": 300,\n        },\n        {\n            \"namespace\": \"SYS.ECS\",\n            \"dimension_name\": \"instance_id\",\n            \"metric_name\": \"mem_util\",\n            \"period\": 300,\n            \"filter\": \"average\",\n            \"comparison_operator\": \"\u003e\",\n            \"value\": 85,\n            \"unit\": \"%\",\n            \"count\": 3,\n            \"alarm_level\": 2,\n            \"suppress_duration\": 300,\n        },\n        {\n            \"namespace\": \"SYS.ECS\",\n            \"dimension_name\": \"instance_id\",\n            \"metric_name\": \"disk_util_inband\",\n            \"period\": 300,\n            \"filter\": \"average\",\n            \"comparison_operator\": \"\u003e=\",\n            \"value\": 90,\n            \"unit\": \"%\",\n            \"count\": 3,\n            \"alarm_level\": 1,\n            \"suppress_duration\": 600,\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = new Opentelekomcloud.CesAlarmTemplateV2(\"test\", new()\n    {\n        Name = \"multi-policy-template\",\n        Description = \"Alarm template with multiple monitoring policies\",\n        Policies = new[]\n        {\n            new Opentelekomcloud.Inputs.CesAlarmTemplateV2PolicyArgs\n            {\n                Namespace = \"SYS.ECS\",\n                DimensionName = \"instance_id\",\n                MetricName = \"cpu_util\",\n                Period = 300,\n                Filter = \"average\",\n                ComparisonOperator = \"\u003e\",\n                Value = 80,\n                Unit = \"%\",\n                Count = 3,\n                AlarmLevel = 2,\n                SuppressDuration = 300,\n            },\n            new Opentelekomcloud.Inputs.CesAlarmTemplateV2PolicyArgs\n            {\n                Namespace = \"SYS.ECS\",\n                DimensionName = \"instance_id\",\n                MetricName = \"mem_util\",\n                Period = 300,\n                Filter = \"average\",\n                ComparisonOperator = \"\u003e\",\n                Value = 85,\n                Unit = \"%\",\n                Count = 3,\n                AlarmLevel = 2,\n                SuppressDuration = 300,\n            },\n            new Opentelekomcloud.Inputs.CesAlarmTemplateV2PolicyArgs\n            {\n                Namespace = \"SYS.ECS\",\n                DimensionName = \"instance_id\",\n                MetricName = \"disk_util_inband\",\n                Period = 300,\n                Filter = \"average\",\n                ComparisonOperator = \"\u003e=\",\n                Value = 90,\n                Unit = \"%\",\n                Count = 3,\n                AlarmLevel = 1,\n                SuppressDuration = 600,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewCesAlarmTemplateV2(ctx, \"test\", \u0026opentelekomcloud.CesAlarmTemplateV2Args{\n\t\t\tName:        pulumi.String(\"multi-policy-template\"),\n\t\t\tDescription: pulumi.String(\"Alarm template with multiple monitoring policies\"),\n\t\t\tPolicies: opentelekomcloud.CesAlarmTemplateV2PolicyArray{\n\t\t\t\t\u0026opentelekomcloud.CesAlarmTemplateV2PolicyArgs{\n\t\t\t\t\tNamespace:          pulumi.String(\"SYS.ECS\"),\n\t\t\t\t\tDimensionName:      pulumi.String(\"instance_id\"),\n\t\t\t\t\tMetricName:         pulumi.String(\"cpu_util\"),\n\t\t\t\t\tPeriod:             pulumi.Float64(300),\n\t\t\t\t\tFilter:             pulumi.String(\"average\"),\n\t\t\t\t\tComparisonOperator: pulumi.String(\"\u003e\"),\n\t\t\t\t\tValue:              pulumi.Float64(80),\n\t\t\t\t\tUnit:               pulumi.String(\"%\"),\n\t\t\t\t\tCount:              pulumi.Float64(3),\n\t\t\t\t\tAlarmLevel:         pulumi.Float64(2),\n\t\t\t\t\tSuppressDuration:   pulumi.Float64(300),\n\t\t\t\t},\n\t\t\t\t\u0026opentelekomcloud.CesAlarmTemplateV2PolicyArgs{\n\t\t\t\t\tNamespace:          pulumi.String(\"SYS.ECS\"),\n\t\t\t\t\tDimensionName:      pulumi.String(\"instance_id\"),\n\t\t\t\t\tMetricName:         pulumi.String(\"mem_util\"),\n\t\t\t\t\tPeriod:             pulumi.Float64(300),\n\t\t\t\t\tFilter:             pulumi.String(\"average\"),\n\t\t\t\t\tComparisonOperator: pulumi.String(\"\u003e\"),\n\t\t\t\t\tValue:              pulumi.Float64(85),\n\t\t\t\t\tUnit:               pulumi.String(\"%\"),\n\t\t\t\t\tCount:              pulumi.Float64(3),\n\t\t\t\t\tAlarmLevel:         pulumi.Float64(2),\n\t\t\t\t\tSuppressDuration:   pulumi.Float64(300),\n\t\t\t\t},\n\t\t\t\t\u0026opentelekomcloud.CesAlarmTemplateV2PolicyArgs{\n\t\t\t\t\tNamespace:          pulumi.String(\"SYS.ECS\"),\n\t\t\t\t\tDimensionName:      pulumi.String(\"instance_id\"),\n\t\t\t\t\tMetricName:         pulumi.String(\"disk_util_inband\"),\n\t\t\t\t\tPeriod:             pulumi.Float64(300),\n\t\t\t\t\tFilter:             pulumi.String(\"average\"),\n\t\t\t\t\tComparisonOperator: pulumi.String(\"\u003e=\"),\n\t\t\t\t\tValue:              pulumi.Float64(90),\n\t\t\t\t\tUnit:               pulumi.String(\"%\"),\n\t\t\t\t\tCount:              pulumi.Float64(3),\n\t\t\t\t\tAlarmLevel:         pulumi.Float64(1),\n\t\t\t\t\tSuppressDuration:   pulumi.Float64(600),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.CesAlarmTemplateV2;\nimport com.pulumi.opentelekomcloud.CesAlarmTemplateV2Args;\nimport com.pulumi.opentelekomcloud.inputs.CesAlarmTemplateV2PolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test = new CesAlarmTemplateV2(\"test\", CesAlarmTemplateV2Args.builder()\n            .name(\"multi-policy-template\")\n            .description(\"Alarm template with multiple monitoring policies\")\n            .policies(            \n                CesAlarmTemplateV2PolicyArgs.builder()\n                    .namespace(\"SYS.ECS\")\n                    .dimensionName(\"instance_id\")\n                    .metricName(\"cpu_util\")\n                    .period(300.0)\n                    .filter(\"average\")\n                    .comparisonOperator(\"\u003e\")\n                    .value(80.0)\n                    .unit(\"%\")\n                    .count(3.0)\n                    .alarmLevel(2.0)\n                    .suppressDuration(300.0)\n                    .build(),\n                CesAlarmTemplateV2PolicyArgs.builder()\n                    .namespace(\"SYS.ECS\")\n                    .dimensionName(\"instance_id\")\n                    .metricName(\"mem_util\")\n                    .period(300.0)\n                    .filter(\"average\")\n                    .comparisonOperator(\"\u003e\")\n                    .value(85.0)\n                    .unit(\"%\")\n                    .count(3.0)\n                    .alarmLevel(2.0)\n                    .suppressDuration(300.0)\n                    .build(),\n                CesAlarmTemplateV2PolicyArgs.builder()\n                    .namespace(\"SYS.ECS\")\n                    .dimensionName(\"instance_id\")\n                    .metricName(\"disk_util_inband\")\n                    .period(300.0)\n                    .filter(\"average\")\n                    .comparisonOperator(\"\u003e=\")\n                    .value(90.0)\n                    .unit(\"%\")\n                    .count(3.0)\n                    .alarmLevel(1.0)\n                    .suppressDuration(600.0)\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test:\n    type: opentelekomcloud:CesAlarmTemplateV2\n    properties:\n      name: multi-policy-template\n      description: Alarm template with multiple monitoring policies\n      policies:\n        - namespace: SYS.ECS\n          dimensionName: instance_id\n          metricName: cpu_util\n          period: 300\n          filter: average\n          comparisonOperator: '\u003e'\n          value: 80\n          unit: '%'\n          count: 3\n          alarmLevel: 2\n          suppressDuration: 300\n        - namespace: SYS.ECS\n          dimensionName: instance_id\n          metricName: mem_util\n          period: 300\n          filter: average\n          comparisonOperator: '\u003e'\n          value: 85\n          unit: '%'\n          count: 3\n          alarmLevel: 2\n          suppressDuration: 300\n        - namespace: SYS.ECS\n          dimensionName: instance_id\n          metricName: disk_util_inband\n          period: 300\n          filter: average\n          comparisonOperator: '\u003e='\n          value: 90\n          unit: '%'\n          count: 3\n          alarmLevel: 1\n          suppressDuration: 600\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe CES alarm template can be imported using the `id`, e.g.\n\nbash\n\n```sh\n$ pulumi import opentelekomcloud:index/cesAlarmTemplateV2:CesAlarmTemplateV2 test \u003ctemplate_id\u003e\n```\n\nNote that the imported state may not be identical to your resource definition, due to some attributes missing from the\n\nAPI response. The missing attributes include: `delete_associate_alarm`.\n\nIt is generally recommended running `pulumi preview` after importing an alarm template.\n\nYou can then decide if changes should be applied to the alarm template, or the resource definition should be updated to\n\nalign with the alarm template. Also you can ignore changes as below.\n\nhcl\n\nresource \"opentelekomcloud_ces_alarm_template_v2\" \"test\" {\n\n  lifecycle {\n\n    ignore_changes = [\n\n      delete_associate_alarm,\n\n    ]\n\n  }\n\n}\n\n","properties":{"cesAlarmTemplateV2Id":{"type":"string","description":"The resource ID (same as \u003cspan pulumi-lang-nodejs=\"`templateId`\" pulumi-lang-dotnet=\"`TemplateId`\" pulumi-lang-go=\"`templateId`\" pulumi-lang-python=\"`template_id`\" pulumi-lang-yaml=\"`templateId`\" pulumi-lang-java=\"`templateId`\"\u003e`template_id`\u003c/span\u003e).\n"},"deleteAssociateAlarm":{"type":"boolean","description":"Specifies whether to delete the alarm rules\nassociated with the alarm template when deleting the template. Defaults to **false**.\n\n\u003ca name=\"CesAlarmTemplate_Policy\"\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`policies`\" pulumi-lang-dotnet=\"`Policies`\" pulumi-lang-go=\"`policies`\" pulumi-lang-python=\"`policies`\" pulumi-lang-yaml=\"`policies`\" pulumi-lang-java=\"`policies`\"\u003e`policies`\u003c/span\u003e block supports:\n"},"description":{"type":"string","description":"Specifies the description of the CES alarm template.\nThe description can contain a maximum of \u003cspan pulumi-lang-nodejs=\"`256`\" pulumi-lang-dotnet=\"`256`\" pulumi-lang-go=\"`256`\" pulumi-lang-python=\"`256`\" pulumi-lang-yaml=\"`256`\" pulumi-lang-java=\"`256`\"\u003e`256`\u003c/span\u003e characters.\n"},"name":{"type":"string","description":"Specifies the name of the CES alarm template.\nAn alarm template name starts with a letter, consists of \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e characters,\nand can contain only letters, digits, underscores (_), hyphens (-), parentheses, and periods (.).\n"},"policies":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCesAlarmTemplateV2Policy:CesAlarmTemplateV2Policy"},"description":"Specifies the policy list of the CES alarm template.\nA maximum of \u003cspan pulumi-lang-nodejs=\"`50`\" pulumi-lang-dotnet=\"`50`\" pulumi-lang-go=\"`50`\" pulumi-lang-python=\"`50`\" pulumi-lang-yaml=\"`50`\" pulumi-lang-java=\"`50`\"\u003e`50`\u003c/span\u003e policies are supported.\nThe policies structure is documented below.\n"},"templateId":{"type":"string","description":"The alarm template ID.\n"},"type":{"type":"number","description":"Specifies the type of the CES alarm template.\nDefaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e. Changing this parameter will create a new resource.\nThe valid values are as follows:\n+ **0**: metric alarm template.\n+ **2**: event alarm template.\n"}},"type":"object","required":["cesAlarmTemplateV2Id","name","policies","templateId"],"inputProperties":{"cesAlarmTemplateV2Id":{"type":"string","description":"The resource ID (same as \u003cspan pulumi-lang-nodejs=\"`templateId`\" pulumi-lang-dotnet=\"`TemplateId`\" pulumi-lang-go=\"`templateId`\" pulumi-lang-python=\"`template_id`\" pulumi-lang-yaml=\"`templateId`\" pulumi-lang-java=\"`templateId`\"\u003e`template_id`\u003c/span\u003e).\n"},"deleteAssociateAlarm":{"type":"boolean","description":"Specifies whether to delete the alarm rules\nassociated with the alarm template when deleting the template. Defaults to **false**.\n\n\u003ca name=\"CesAlarmTemplate_Policy\"\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`policies`\" pulumi-lang-dotnet=\"`Policies`\" pulumi-lang-go=\"`policies`\" pulumi-lang-python=\"`policies`\" pulumi-lang-yaml=\"`policies`\" pulumi-lang-java=\"`policies`\"\u003e`policies`\u003c/span\u003e block supports:\n"},"description":{"type":"string","description":"Specifies the description of the CES alarm template.\nThe description can contain a maximum of \u003cspan pulumi-lang-nodejs=\"`256`\" pulumi-lang-dotnet=\"`256`\" pulumi-lang-go=\"`256`\" pulumi-lang-python=\"`256`\" pulumi-lang-yaml=\"`256`\" pulumi-lang-java=\"`256`\"\u003e`256`\u003c/span\u003e characters.\n"},"name":{"type":"string","description":"Specifies the name of the CES alarm template.\nAn alarm template name starts with a letter, consists of \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e characters,\nand can contain only letters, digits, underscores (_), hyphens (-), parentheses, and periods (.).\n"},"policies":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCesAlarmTemplateV2Policy:CesAlarmTemplateV2Policy"},"description":"Specifies the policy list of the CES alarm template.\nA maximum of \u003cspan pulumi-lang-nodejs=\"`50`\" pulumi-lang-dotnet=\"`50`\" pulumi-lang-go=\"`50`\" pulumi-lang-python=\"`50`\" pulumi-lang-yaml=\"`50`\" pulumi-lang-java=\"`50`\"\u003e`50`\u003c/span\u003e policies are supported.\nThe policies structure is documented below.\n"},"type":{"type":"number","description":"Specifies the type of the CES alarm template.\nDefaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e. Changing this parameter will create a new resource.\nThe valid values are as follows:\n+ **0**: metric alarm template.\n+ **2**: event alarm template.\n"}},"requiredInputs":["policies"],"stateInputs":{"description":"Input properties used for looking up and filtering CesAlarmTemplateV2 resources.\n","properties":{"cesAlarmTemplateV2Id":{"type":"string","description":"The resource ID (same as \u003cspan pulumi-lang-nodejs=\"`templateId`\" pulumi-lang-dotnet=\"`TemplateId`\" pulumi-lang-go=\"`templateId`\" pulumi-lang-python=\"`template_id`\" pulumi-lang-yaml=\"`templateId`\" pulumi-lang-java=\"`templateId`\"\u003e`template_id`\u003c/span\u003e).\n"},"deleteAssociateAlarm":{"type":"boolean","description":"Specifies whether to delete the alarm rules\nassociated with the alarm template when deleting the template. Defaults to **false**.\n\n\u003ca name=\"CesAlarmTemplate_Policy\"\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`policies`\" pulumi-lang-dotnet=\"`Policies`\" pulumi-lang-go=\"`policies`\" pulumi-lang-python=\"`policies`\" pulumi-lang-yaml=\"`policies`\" pulumi-lang-java=\"`policies`\"\u003e`policies`\u003c/span\u003e block supports:\n"},"description":{"type":"string","description":"Specifies the description of the CES alarm template.\nThe description can contain a maximum of \u003cspan pulumi-lang-nodejs=\"`256`\" pulumi-lang-dotnet=\"`256`\" pulumi-lang-go=\"`256`\" pulumi-lang-python=\"`256`\" pulumi-lang-yaml=\"`256`\" pulumi-lang-java=\"`256`\"\u003e`256`\u003c/span\u003e characters.\n"},"name":{"type":"string","description":"Specifies the name of the CES alarm template.\nAn alarm template name starts with a letter, consists of \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e characters,\nand can contain only letters, digits, underscores (_), hyphens (-), parentheses, and periods (.).\n"},"policies":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCesAlarmTemplateV2Policy:CesAlarmTemplateV2Policy"},"description":"Specifies the policy list of the CES alarm template.\nA maximum of \u003cspan pulumi-lang-nodejs=\"`50`\" pulumi-lang-dotnet=\"`50`\" pulumi-lang-go=\"`50`\" pulumi-lang-python=\"`50`\" pulumi-lang-yaml=\"`50`\" pulumi-lang-java=\"`50`\"\u003e`50`\u003c/span\u003e policies are supported.\nThe policies structure is documented below.\n"},"templateId":{"type":"string","description":"The alarm template ID.\n"},"type":{"type":"number","description":"Specifies the type of the CES alarm template.\nDefaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e. Changing this parameter will create a new resource.\nThe valid values are as follows:\n+ **0**: metric alarm template.\n+ **2**: event alarm template.\n"}},"type":"object"}},"opentelekomcloud:index/cesAlarmrule:CesAlarmrule":{"description":"Up-to-date reference of API arguments for CES alarm rule you can get at\n[documentation portal](https://docs.otc.t-systems.com/cloud-eye/api-ref/api_description/alarm_rules/index.html#ces-03-0026)\n\nManages a V1 CES Alarm Rule resource within OpenTelekomCloud.\n\n~\u003e\n  Alarm rule \u003cspan pulumi-lang-nodejs=\"`namespaces`\" pulumi-lang-dotnet=\"`Namespaces`\" pulumi-lang-go=\"`namespaces`\" pulumi-lang-python=\"`namespaces`\" pulumi-lang-yaml=\"`namespaces`\" pulumi-lang-java=\"`namespaces`\"\u003e`namespaces`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`dimensions`\" pulumi-lang-dotnet=\"`Dimensions`\" pulumi-lang-go=\"`dimensions`\" pulumi-lang-python=\"`dimensions`\" pulumi-lang-yaml=\"`dimensions`\" pulumi-lang-java=\"`dimensions`\"\u003e`dimensions`\u003c/span\u003e are available on our github link or [official documentation](https://docs.otc.t-systems.com/cloud-eye/api-ref/appendix/services_interconnected_with_cloud_eye.html).\n\n## Example Usage\n\n### Basic alarm rule for single ECS monitoring\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst serverId = config.requireObject\u003cany\u003e(\"serverId\");\nconst smnTopicId = config.requireObject\u003cany\u003e(\"smnTopicId\");\nconst alarmRule = new opentelekomcloud.CesAlarmrule(\"alarm_rule\", {\n    alarmName: \"alarm_rule\",\n    metric: {\n        namespace: \"SYS.ECS\",\n        metricName: \"network_outgoing_bytes_rate_inband\",\n        dimensions: [{\n            name: \"instance_id\",\n            value: serverId,\n        }],\n    },\n    condition: {\n        period: 300,\n        filter: \"average\",\n        comparisonOperator: \"\u003e\",\n        value: 6,\n        unit: \"B/s\",\n        count: 1,\n    },\n    alarmActions: [{\n        type: \"notification\",\n        notificationLists: [smnTopicId],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nserver_id = config.require_object(\"serverId\")\nsmn_topic_id = config.require_object(\"smnTopicId\")\nalarm_rule = opentelekomcloud.CesAlarmrule(\"alarm_rule\",\n    alarm_name=\"alarm_rule\",\n    metric={\n        \"namespace\": \"SYS.ECS\",\n        \"metric_name\": \"network_outgoing_bytes_rate_inband\",\n        \"dimensions\": [{\n            \"name\": \"instance_id\",\n            \"value\": server_id,\n        }],\n    },\n    condition={\n        \"period\": 300,\n        \"filter\": \"average\",\n        \"comparison_operator\": \"\u003e\",\n        \"value\": 6,\n        \"unit\": \"B/s\",\n        \"count\": 1,\n    },\n    alarm_actions=[{\n        \"type\": \"notification\",\n        \"notification_lists\": [smn_topic_id],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var serverId = config.RequireObject\u003cdynamic\u003e(\"serverId\");\n    var smnTopicId = config.RequireObject\u003cdynamic\u003e(\"smnTopicId\");\n    var alarmRule = new Opentelekomcloud.CesAlarmrule(\"alarm_rule\", new()\n    {\n        AlarmName = \"alarm_rule\",\n        Metric = new Opentelekomcloud.Inputs.CesAlarmruleMetricArgs\n        {\n            Namespace = \"SYS.ECS\",\n            MetricName = \"network_outgoing_bytes_rate_inband\",\n            Dimensions = new[]\n            {\n                new Opentelekomcloud.Inputs.CesAlarmruleMetricDimensionArgs\n                {\n                    Name = \"instance_id\",\n                    Value = serverId,\n                },\n            },\n        },\n        Condition = new Opentelekomcloud.Inputs.CesAlarmruleConditionArgs\n        {\n            Period = 300,\n            Filter = \"average\",\n            ComparisonOperator = \"\u003e\",\n            Value = 6,\n            Unit = \"B/s\",\n            Count = 1,\n        },\n        AlarmActions = new[]\n        {\n            new Opentelekomcloud.Inputs.CesAlarmruleAlarmActionArgs\n            {\n                Type = \"notification\",\n                NotificationLists = new[]\n                {\n                    smnTopicId,\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tserverId := cfg.RequireObject(\"serverId\")\n\t\tsmnTopicId := cfg.RequireObject(\"smnTopicId\")\n\t\t_, err := opentelekomcloud.NewCesAlarmrule(ctx, \"alarm_rule\", \u0026opentelekomcloud.CesAlarmruleArgs{\n\t\t\tAlarmName: pulumi.String(\"alarm_rule\"),\n\t\t\tMetric: \u0026opentelekomcloud.CesAlarmruleMetricArgs{\n\t\t\t\tNamespace:  pulumi.String(\"SYS.ECS\"),\n\t\t\t\tMetricName: pulumi.String(\"network_outgoing_bytes_rate_inband\"),\n\t\t\t\tDimensions: opentelekomcloud.CesAlarmruleMetricDimensionArray{\n\t\t\t\t\t\u0026opentelekomcloud.CesAlarmruleMetricDimensionArgs{\n\t\t\t\t\t\tName:  pulumi.String(\"instance_id\"),\n\t\t\t\t\t\tValue: pulumi.Any(serverId),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tCondition: \u0026opentelekomcloud.CesAlarmruleConditionArgs{\n\t\t\t\tPeriod:             pulumi.Float64(300),\n\t\t\t\tFilter:             pulumi.String(\"average\"),\n\t\t\t\tComparisonOperator: pulumi.String(\"\u003e\"),\n\t\t\t\tValue:              pulumi.Float64(6),\n\t\t\t\tUnit:               pulumi.String(\"B/s\"),\n\t\t\t\tCount:              pulumi.Float64(1),\n\t\t\t},\n\t\t\tAlarmActions: opentelekomcloud.CesAlarmruleAlarmActionArray{\n\t\t\t\t\u0026opentelekomcloud.CesAlarmruleAlarmActionArgs{\n\t\t\t\t\tType: pulumi.String(\"notification\"),\n\t\t\t\t\tNotificationLists: pulumi.StringArray{\n\t\t\t\t\t\tsmnTopicId,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.CesAlarmrule;\nimport com.pulumi.opentelekomcloud.CesAlarmruleArgs;\nimport com.pulumi.opentelekomcloud.inputs.CesAlarmruleMetricArgs;\nimport com.pulumi.opentelekomcloud.inputs.CesAlarmruleConditionArgs;\nimport com.pulumi.opentelekomcloud.inputs.CesAlarmruleAlarmActionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var serverId = config.get(\"serverId\");\n        final var smnTopicId = config.get(\"smnTopicId\");\n        var alarmRule = new CesAlarmrule(\"alarmRule\", CesAlarmruleArgs.builder()\n            .alarmName(\"alarm_rule\")\n            .metric(CesAlarmruleMetricArgs.builder()\n                .namespace(\"SYS.ECS\")\n                .metricName(\"network_outgoing_bytes_rate_inband\")\n                .dimensions(CesAlarmruleMetricDimensionArgs.builder()\n                    .name(\"instance_id\")\n                    .value(serverId)\n                    .build())\n                .build())\n            .condition(CesAlarmruleConditionArgs.builder()\n                .period(300.0)\n                .filter(\"average\")\n                .comparisonOperator(\"\u003e\")\n                .value(6.0)\n                .unit(\"B/s\")\n                .count(1.0)\n                .build())\n            .alarmActions(CesAlarmruleAlarmActionArgs.builder()\n                .type(\"notification\")\n                .notificationLists(smnTopicId)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  serverId:\n    type: dynamic\n  smnTopicId:\n    type: dynamic\nresources:\n  alarmRule:\n    type: opentelekomcloud:CesAlarmrule\n    name: alarm_rule\n    properties:\n      alarmName: alarm_rule\n      metric:\n        namespace: SYS.ECS\n        metricName: network_outgoing_bytes_rate_inband\n        dimensions:\n          - name: instance_id\n            value: ${serverId}\n      condition:\n        period: 300\n        filter: average\n        comparisonOperator: '\u003e'\n        value: 6\n        unit: B/s\n        count: 1\n      alarmActions:\n        - type: notification\n          notificationLists:\n            - ${smnTopicId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### CBR system event alarm rule to monitor all CBR resources\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst smnTopicId = config.requireObject\u003cany\u003e(\"smnTopicId\");\nconst alarmrule1 = new opentelekomcloud.CesAlarmrule(\"alarmrule_1\", {\n    alarmName: \"alarm_rule1\",\n    alarmType: \"EVENT.SYS\",\n    metric: {\n        namespace: \"SYS.CBR\",\n        metricName: \"backupFailed\",\n    },\n    condition: {\n        period: 300,\n        filter: \"average\",\n        comparisonOperator: \"\u003e\",\n        value: 6,\n        unit: \"B/s\",\n        count: 1,\n        alarmFrequency: 300,\n    },\n    alarmActionEnabled: false,\n    alarmActions: [{\n        type: \"notification\",\n        notificationLists: [smnTopicId],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nsmn_topic_id = config.require_object(\"smnTopicId\")\nalarmrule1 = opentelekomcloud.CesAlarmrule(\"alarmrule_1\",\n    alarm_name=\"alarm_rule1\",\n    alarm_type=\"EVENT.SYS\",\n    metric={\n        \"namespace\": \"SYS.CBR\",\n        \"metric_name\": \"backupFailed\",\n    },\n    condition={\n        \"period\": 300,\n        \"filter\": \"average\",\n        \"comparison_operator\": \"\u003e\",\n        \"value\": 6,\n        \"unit\": \"B/s\",\n        \"count\": 1,\n        \"alarm_frequency\": 300,\n    },\n    alarm_action_enabled=False,\n    alarm_actions=[{\n        \"type\": \"notification\",\n        \"notification_lists\": [smn_topic_id],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var smnTopicId = config.RequireObject\u003cdynamic\u003e(\"smnTopicId\");\n    var alarmrule1 = new Opentelekomcloud.CesAlarmrule(\"alarmrule_1\", new()\n    {\n        AlarmName = \"alarm_rule1\",\n        AlarmType = \"EVENT.SYS\",\n        Metric = new Opentelekomcloud.Inputs.CesAlarmruleMetricArgs\n        {\n            Namespace = \"SYS.CBR\",\n            MetricName = \"backupFailed\",\n        },\n        Condition = new Opentelekomcloud.Inputs.CesAlarmruleConditionArgs\n        {\n            Period = 300,\n            Filter = \"average\",\n            ComparisonOperator = \"\u003e\",\n            Value = 6,\n            Unit = \"B/s\",\n            Count = 1,\n            AlarmFrequency = 300,\n        },\n        AlarmActionEnabled = false,\n        AlarmActions = new[]\n        {\n            new Opentelekomcloud.Inputs.CesAlarmruleAlarmActionArgs\n            {\n                Type = \"notification\",\n                NotificationLists = new[]\n                {\n                    smnTopicId,\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tsmnTopicId := cfg.RequireObject(\"smnTopicId\")\n\t\t_, err := opentelekomcloud.NewCesAlarmrule(ctx, \"alarmrule_1\", \u0026opentelekomcloud.CesAlarmruleArgs{\n\t\t\tAlarmName: pulumi.String(\"alarm_rule1\"),\n\t\t\tAlarmType: pulumi.String(\"EVENT.SYS\"),\n\t\t\tMetric: \u0026opentelekomcloud.CesAlarmruleMetricArgs{\n\t\t\t\tNamespace:  pulumi.String(\"SYS.CBR\"),\n\t\t\t\tMetricName: pulumi.String(\"backupFailed\"),\n\t\t\t},\n\t\t\tCondition: \u0026opentelekomcloud.CesAlarmruleConditionArgs{\n\t\t\t\tPeriod:             pulumi.Float64(300),\n\t\t\t\tFilter:             pulumi.String(\"average\"),\n\t\t\t\tComparisonOperator: pulumi.String(\"\u003e\"),\n\t\t\t\tValue:              pulumi.Float64(6),\n\t\t\t\tUnit:               pulumi.String(\"B/s\"),\n\t\t\t\tCount:              pulumi.Float64(1),\n\t\t\t\tAlarmFrequency:     pulumi.Float64(300),\n\t\t\t},\n\t\t\tAlarmActionEnabled: pulumi.Bool(false),\n\t\t\tAlarmActions: opentelekomcloud.CesAlarmruleAlarmActionArray{\n\t\t\t\t\u0026opentelekomcloud.CesAlarmruleAlarmActionArgs{\n\t\t\t\t\tType: pulumi.String(\"notification\"),\n\t\t\t\t\tNotificationLists: pulumi.StringArray{\n\t\t\t\t\t\tsmnTopicId,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.CesAlarmrule;\nimport com.pulumi.opentelekomcloud.CesAlarmruleArgs;\nimport com.pulumi.opentelekomcloud.inputs.CesAlarmruleMetricArgs;\nimport com.pulumi.opentelekomcloud.inputs.CesAlarmruleConditionArgs;\nimport com.pulumi.opentelekomcloud.inputs.CesAlarmruleAlarmActionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var smnTopicId = config.get(\"smnTopicId\");\n        var alarmrule1 = new CesAlarmrule(\"alarmrule1\", CesAlarmruleArgs.builder()\n            .alarmName(\"alarm_rule1\")\n            .alarmType(\"EVENT.SYS\")\n            .metric(CesAlarmruleMetricArgs.builder()\n                .namespace(\"SYS.CBR\")\n                .metricName(\"backupFailed\")\n                .build())\n            .condition(CesAlarmruleConditionArgs.builder()\n                .period(300.0)\n                .filter(\"average\")\n                .comparisonOperator(\"\u003e\")\n                .value(6.0)\n                .unit(\"B/s\")\n                .count(1.0)\n                .alarmFrequency(300.0)\n                .build())\n            .alarmActionEnabled(false)\n            .alarmActions(CesAlarmruleAlarmActionArgs.builder()\n                .type(\"notification\")\n                .notificationLists(smnTopicId)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  smnTopicId:\n    type: dynamic\nresources:\n  alarmrule1:\n    type: opentelekomcloud:CesAlarmrule\n    name: alarmrule_1\n    properties:\n      alarmName: alarm_rule1\n      alarmType: EVENT.SYS\n      metric:\n        namespace: SYS.CBR\n        metricName: backupFailed\n      condition:\n        period: 300\n        filter: average\n        comparisonOperator: '\u003e'\n        value: 6\n        unit: B/s\n        count: 1\n        alarmFrequency: 300\n      alarmActionEnabled: false\n      alarmActions:\n        - type: notification\n          notificationLists:\n            - ${smnTopicId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCES alarms can be imported using alarm rule `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/cesAlarmrule:CesAlarmrule alarmrule c1881895-cdcb-4d23-96cb-032e6a3ee667\n```\n\n","properties":{"alarmActionEnabled":{"type":"boolean","description":"Specifies whether to enable the action\nto be triggered by an alarm. The default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"alarmActions":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCesAlarmruleAlarmAction:CesAlarmruleAlarmAction"},"description":"Specifies the actions list triggered by an alarm. The\nstructure is described below.\n"},"alarmDescription":{"type":"string","description":"Alarm description. The value can be a string of \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`256`\" pulumi-lang-dotnet=\"`256`\" pulumi-lang-go=\"`256`\" pulumi-lang-python=\"`256`\" pulumi-lang-yaml=\"`256`\" pulumi-lang-java=\"`256`\"\u003e`256`\u003c/span\u003e characters.\n"},"alarmEnabled":{"type":"boolean","description":"Specifies whether to enable the alarm. The default\nvalue is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"alarmLevel":{"type":"number","description":"Specifies the alarm severity. The value can be \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e,\nwhich indicates \u003cspan pulumi-lang-nodejs=\"`critical`\" pulumi-lang-dotnet=\"`Critical`\" pulumi-lang-go=\"`critical`\" pulumi-lang-python=\"`critical`\" pulumi-lang-yaml=\"`critical`\" pulumi-lang-java=\"`critical`\"\u003e`critical`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`major`\" pulumi-lang-dotnet=\"`Major`\" pulumi-lang-go=\"`major`\" pulumi-lang-python=\"`major`\" pulumi-lang-yaml=\"`major`\" pulumi-lang-java=\"`major`\"\u003e`major`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`minor`\" pulumi-lang-dotnet=\"`Minor`\" pulumi-lang-go=\"`minor`\" pulumi-lang-python=\"`minor`\" pulumi-lang-yaml=\"`minor`\" pulumi-lang-java=\"`minor`\"\u003e`minor`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`informational`\" pulumi-lang-dotnet=\"`Informational`\" pulumi-lang-go=\"`informational`\" pulumi-lang-python=\"`informational`\" pulumi-lang-yaml=\"`informational`\" pulumi-lang-java=\"`informational`\"\u003e`informational`\u003c/span\u003e. The default value is \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e.\n"},"alarmName":{"type":"string","description":"Specifies the name of an alarm rule. The value can\nbe a string of \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e characters that can consist of numbers, lowercase letters,\nuppercase letters, underscores (_), or hyphens (-).\n"},"alarmState":{"type":"string","description":"Specifies the alarm status. The value can be:\n"},"alarmType":{"type":"string","description":"Specifies the alarm rule type.\n`EVENT.SYS`: The alarm rule is created for system events.\n`EVENT.CUSTOM`: The alarm rule is created for custom events.\n"},"cesAlarmruleId":{"type":"string","description":"Specifies the alarm rule ID.\n"},"condition":{"$ref":"#/types/opentelekomcloud:index%2FCesAlarmruleCondition:CesAlarmruleCondition","description":"Specifies the alarm triggering condition. The structure\nis described below.\n"},"metric":{"$ref":"#/types/opentelekomcloud:index%2FCesAlarmruleMetric:CesAlarmruleMetric","description":"Specifies the alarm metrics. The structure is described below.\n"},"okActions":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCesAlarmruleOkAction:CesAlarmruleOkAction"},"description":"Specifies the actions list triggered by the clearing of\nan alarm. The structure is described below.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCesAlarmruleTimeouts:CesAlarmruleTimeouts"},"updateTime":{"type":"number","description":"Specifies the time when the alarm status changed. The value\nis a UNIX timestamp and the unit is ms.\n"}},"type":"object","required":["alarmName","alarmState","alarmType","cesAlarmruleId","condition","metric","updateTime"],"inputProperties":{"alarmActionEnabled":{"type":"boolean","description":"Specifies whether to enable the action\nto be triggered by an alarm. The default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"alarmActions":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCesAlarmruleAlarmAction:CesAlarmruleAlarmAction"},"description":"Specifies the actions list triggered by an alarm. The\nstructure is described below.\n"},"alarmDescription":{"type":"string","description":"Alarm description. The value can be a string of \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`256`\" pulumi-lang-dotnet=\"`256`\" pulumi-lang-go=\"`256`\" pulumi-lang-python=\"`256`\" pulumi-lang-yaml=\"`256`\" pulumi-lang-java=\"`256`\"\u003e`256`\u003c/span\u003e characters.\n"},"alarmEnabled":{"type":"boolean","description":"Specifies whether to enable the alarm. The default\nvalue is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"alarmLevel":{"type":"number","description":"Specifies the alarm severity. The value can be \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e,\nwhich indicates \u003cspan pulumi-lang-nodejs=\"`critical`\" pulumi-lang-dotnet=\"`Critical`\" pulumi-lang-go=\"`critical`\" pulumi-lang-python=\"`critical`\" pulumi-lang-yaml=\"`critical`\" pulumi-lang-java=\"`critical`\"\u003e`critical`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`major`\" pulumi-lang-dotnet=\"`Major`\" pulumi-lang-go=\"`major`\" pulumi-lang-python=\"`major`\" pulumi-lang-yaml=\"`major`\" pulumi-lang-java=\"`major`\"\u003e`major`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`minor`\" pulumi-lang-dotnet=\"`Minor`\" pulumi-lang-go=\"`minor`\" pulumi-lang-python=\"`minor`\" pulumi-lang-yaml=\"`minor`\" pulumi-lang-java=\"`minor`\"\u003e`minor`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`informational`\" pulumi-lang-dotnet=\"`Informational`\" pulumi-lang-go=\"`informational`\" pulumi-lang-python=\"`informational`\" pulumi-lang-yaml=\"`informational`\" pulumi-lang-java=\"`informational`\"\u003e`informational`\u003c/span\u003e. The default value is \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e.\n"},"alarmName":{"type":"string","description":"Specifies the name of an alarm rule. The value can\nbe a string of \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e characters that can consist of numbers, lowercase letters,\nuppercase letters, underscores (_), or hyphens (-).\n"},"alarmType":{"type":"string","description":"Specifies the alarm rule type.\n`EVENT.SYS`: The alarm rule is created for system events.\n`EVENT.CUSTOM`: The alarm rule is created for custom events.\n"},"cesAlarmruleId":{"type":"string","description":"Specifies the alarm rule ID.\n"},"condition":{"$ref":"#/types/opentelekomcloud:index%2FCesAlarmruleCondition:CesAlarmruleCondition","description":"Specifies the alarm triggering condition. The structure\nis described below.\n"},"metric":{"$ref":"#/types/opentelekomcloud:index%2FCesAlarmruleMetric:CesAlarmruleMetric","description":"Specifies the alarm metrics. The structure is described below.\n"},"okActions":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCesAlarmruleOkAction:CesAlarmruleOkAction"},"description":"Specifies the actions list triggered by the clearing of\nan alarm. The structure is described below.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCesAlarmruleTimeouts:CesAlarmruleTimeouts"}},"requiredInputs":["alarmName","condition","metric"],"stateInputs":{"description":"Input properties used for looking up and filtering CesAlarmrule resources.\n","properties":{"alarmActionEnabled":{"type":"boolean","description":"Specifies whether to enable the action\nto be triggered by an alarm. The default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"alarmActions":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCesAlarmruleAlarmAction:CesAlarmruleAlarmAction"},"description":"Specifies the actions list triggered by an alarm. The\nstructure is described below.\n"},"alarmDescription":{"type":"string","description":"Alarm description. The value can be a string of \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`256`\" pulumi-lang-dotnet=\"`256`\" pulumi-lang-go=\"`256`\" pulumi-lang-python=\"`256`\" pulumi-lang-yaml=\"`256`\" pulumi-lang-java=\"`256`\"\u003e`256`\u003c/span\u003e characters.\n"},"alarmEnabled":{"type":"boolean","description":"Specifies whether to enable the alarm. The default\nvalue is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"alarmLevel":{"type":"number","description":"Specifies the alarm severity. The value can be \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e,\nwhich indicates \u003cspan pulumi-lang-nodejs=\"`critical`\" pulumi-lang-dotnet=\"`Critical`\" pulumi-lang-go=\"`critical`\" pulumi-lang-python=\"`critical`\" pulumi-lang-yaml=\"`critical`\" pulumi-lang-java=\"`critical`\"\u003e`critical`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`major`\" pulumi-lang-dotnet=\"`Major`\" pulumi-lang-go=\"`major`\" pulumi-lang-python=\"`major`\" pulumi-lang-yaml=\"`major`\" pulumi-lang-java=\"`major`\"\u003e`major`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`minor`\" pulumi-lang-dotnet=\"`Minor`\" pulumi-lang-go=\"`minor`\" pulumi-lang-python=\"`minor`\" pulumi-lang-yaml=\"`minor`\" pulumi-lang-java=\"`minor`\"\u003e`minor`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`informational`\" pulumi-lang-dotnet=\"`Informational`\" pulumi-lang-go=\"`informational`\" pulumi-lang-python=\"`informational`\" pulumi-lang-yaml=\"`informational`\" pulumi-lang-java=\"`informational`\"\u003e`informational`\u003c/span\u003e. The default value is \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e.\n"},"alarmName":{"type":"string","description":"Specifies the name of an alarm rule. The value can\nbe a string of \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e characters that can consist of numbers, lowercase letters,\nuppercase letters, underscores (_), or hyphens (-).\n"},"alarmState":{"type":"string","description":"Specifies the alarm status. The value can be:\n"},"alarmType":{"type":"string","description":"Specifies the alarm rule type.\n`EVENT.SYS`: The alarm rule is created for system events.\n`EVENT.CUSTOM`: The alarm rule is created for custom events.\n"},"cesAlarmruleId":{"type":"string","description":"Specifies the alarm rule ID.\n"},"condition":{"$ref":"#/types/opentelekomcloud:index%2FCesAlarmruleCondition:CesAlarmruleCondition","description":"Specifies the alarm triggering condition. The structure\nis described below.\n"},"metric":{"$ref":"#/types/opentelekomcloud:index%2FCesAlarmruleMetric:CesAlarmruleMetric","description":"Specifies the alarm metrics. The structure is described below.\n"},"okActions":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCesAlarmruleOkAction:CesAlarmruleOkAction"},"description":"Specifies the actions list triggered by the clearing of\nan alarm. The structure is described below.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCesAlarmruleTimeouts:CesAlarmruleTimeouts"},"updateTime":{"type":"number","description":"Specifies the time when the alarm status changed. The value\nis a UNIX timestamp and the unit is ms.\n"}},"type":"object"}},"opentelekomcloud:index/cesDashboardV2:CesDashboardV2":{"description":"Up-to-date reference of API arguments for CES dashboard you can get at\n[documentation portal](https://docs.otc.t-systems.com/cloud-eye/api-ref/api_v2/dashboards/index.html)\n\nManages a CES Dashboard v2 resource within OpenTelekomCloud.\n\n## Example Usage\n\n### Basic dashboard\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst dashboard = new opentelekomcloud.CesDashboardV2(\"dashboard\", {\n    name: \"my-dashboard\",\n    rowWidgetNum: 1,\n    isFavorite: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ndashboard = opentelekomcloud.CesDashboardV2(\"dashboard\",\n    name=\"my-dashboard\",\n    row_widget_num=1,\n    is_favorite=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var dashboard = new Opentelekomcloud.CesDashboardV2(\"dashboard\", new()\n    {\n        Name = \"my-dashboard\",\n        RowWidgetNum = 1,\n        IsFavorite = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewCesDashboardV2(ctx, \"dashboard\", \u0026opentelekomcloud.CesDashboardV2Args{\n\t\t\tName:         pulumi.String(\"my-dashboard\"),\n\t\t\tRowWidgetNum: pulumi.Float64(1),\n\t\t\tIsFavorite:   pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.CesDashboardV2;\nimport com.pulumi.opentelekomcloud.CesDashboardV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var dashboard = new CesDashboardV2(\"dashboard\", CesDashboardV2Args.builder()\n            .name(\"my-dashboard\")\n            .rowWidgetNum(1.0)\n            .isFavorite(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  dashboard:\n    type: opentelekomcloud:CesDashboardV2\n    properties:\n      name: my-dashboard\n      rowWidgetNum: 1\n      isFavorite: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Copy an existing dashboard\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst base = new opentelekomcloud.CesDashboardV2(\"base\", {\n    name: \"base-dashboard\",\n    rowWidgetNum: 2,\n});\nconst copy = new opentelekomcloud.CesDashboardV2(\"copy\", {\n    name: \"copied-dashboard\",\n    dashboardId: base.cesDashboardV2Id,\n    rowWidgetNum: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nbase = opentelekomcloud.CesDashboardV2(\"base\",\n    name=\"base-dashboard\",\n    row_widget_num=2)\ncopy = opentelekomcloud.CesDashboardV2(\"copy\",\n    name=\"copied-dashboard\",\n    dashboard_id=base.ces_dashboard_v2_id,\n    row_widget_num=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @base = new Opentelekomcloud.CesDashboardV2(\"base\", new()\n    {\n        Name = \"base-dashboard\",\n        RowWidgetNum = 2,\n    });\n\n    var copy = new Opentelekomcloud.CesDashboardV2(\"copy\", new()\n    {\n        Name = \"copied-dashboard\",\n        DashboardId = @base.CesDashboardV2Id,\n        RowWidgetNum = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tbase, err := opentelekomcloud.NewCesDashboardV2(ctx, \"base\", \u0026opentelekomcloud.CesDashboardV2Args{\n\t\t\tName:         pulumi.String(\"base-dashboard\"),\n\t\t\tRowWidgetNum: pulumi.Float64(2),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewCesDashboardV2(ctx, \"copy\", \u0026opentelekomcloud.CesDashboardV2Args{\n\t\t\tName:         pulumi.String(\"copied-dashboard\"),\n\t\t\tDashboardId:  base.CesDashboardV2Id,\n\t\t\tRowWidgetNum: pulumi.Float64(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.CesDashboardV2;\nimport com.pulumi.opentelekomcloud.CesDashboardV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var base = new CesDashboardV2(\"base\", CesDashboardV2Args.builder()\n            .name(\"base-dashboard\")\n            .rowWidgetNum(2.0)\n            .build());\n\n        var copy = new CesDashboardV2(\"copy\", CesDashboardV2Args.builder()\n            .name(\"copied-dashboard\")\n            .dashboardId(base.cesDashboardV2Id())\n            .rowWidgetNum(1.0)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  base:\n    type: opentelekomcloud:CesDashboardV2\n    properties:\n      name: base-dashboard\n      rowWidgetNum: 2\n  copy:\n    type: opentelekomcloud:CesDashboardV2\n    properties:\n      name: copied-dashboard\n      dashboardId: ${base.cesDashboardV2Id}\n      rowWidgetNum: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCES dashboards v2 can be imported using the `id`, e.g.\n\nbash\n\n```sh\n$ pulumi import opentelekomcloud:index/cesDashboardV2:CesDashboardV2 dashboard db16564943172807wjOmoLyn\n```\n\n","properties":{"cesDashboardV2Id":{"type":"string","description":"The dashboard ID.\n"},"createdAt":{"type":"string","description":"The creation time of the dashboard in RFC3339 format.\n"},"creatorName":{"type":"string","description":"The creator of the dashboard.\n"},"dashboardId":{"type":"string","description":"Specifies the ID of an existing dashboard to copy.\nIf omitted, a new empty dashboard is created. Changing this creates a new resource.\n"},"enterpriseProjectId":{"type":"string","description":"Specifies the enterprise project ID.\nChanging this creates a new resource.\n"},"isFavorite":{"type":"boolean","description":"Specifies whether to add the dashboard to favorites.\n"},"name":{"type":"string","description":"Specifies the dashboard name. The value can be a string of \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e\ncharacters that can consist of letters, digits, underscores (_), and hyphens (-).\n"},"region":{"type":"string","description":"The region in which the dashboard is created.\n"},"rowWidgetNum":{"type":"number","description":"Specifies the graph display mode. The value can be:\n+ **0**: Graphs are displayed in a customizable position.\n+ **1**: One graph is displayed per row.\n+ **2**: Two graphs are displayed per row.\n+ **3**: Three graphs are displayed per row.\n\nDefaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"}},"type":"object","required":["cesDashboardV2Id","createdAt","creatorName","enterpriseProjectId","name","region"],"inputProperties":{"cesDashboardV2Id":{"type":"string","description":"The dashboard ID.\n"},"dashboardId":{"type":"string","description":"Specifies the ID of an existing dashboard to copy.\nIf omitted, a new empty dashboard is created. Changing this creates a new resource.\n"},"enterpriseProjectId":{"type":"string","description":"Specifies the enterprise project ID.\nChanging this creates a new resource.\n"},"isFavorite":{"type":"boolean","description":"Specifies whether to add the dashboard to favorites.\n"},"name":{"type":"string","description":"Specifies the dashboard name. The value can be a string of \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e\ncharacters that can consist of letters, digits, underscores (_), and hyphens (-).\n"},"rowWidgetNum":{"type":"number","description":"Specifies the graph display mode. The value can be:\n+ **0**: Graphs are displayed in a customizable position.\n+ **1**: One graph is displayed per row.\n+ **2**: Two graphs are displayed per row.\n+ **3**: Three graphs are displayed per row.\n\nDefaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering CesDashboardV2 resources.\n","properties":{"cesDashboardV2Id":{"type":"string","description":"The dashboard ID.\n"},"createdAt":{"type":"string","description":"The creation time of the dashboard in RFC3339 format.\n"},"creatorName":{"type":"string","description":"The creator of the dashboard.\n"},"dashboardId":{"type":"string","description":"Specifies the ID of an existing dashboard to copy.\nIf omitted, a new empty dashboard is created. Changing this creates a new resource.\n"},"enterpriseProjectId":{"type":"string","description":"Specifies the enterprise project ID.\nChanging this creates a new resource.\n"},"isFavorite":{"type":"boolean","description":"Specifies whether to add the dashboard to favorites.\n"},"name":{"type":"string","description":"Specifies the dashboard name. The value can be a string of \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e\ncharacters that can consist of letters, digits, underscores (_), and hyphens (-).\n"},"region":{"type":"string","description":"The region in which the dashboard is created.\n"},"rowWidgetNum":{"type":"number","description":"Specifies the graph display mode. The value can be:\n+ **0**: Graphs are displayed in a customizable position.\n+ **1**: One graph is displayed per row.\n+ **2**: Two graphs are displayed per row.\n+ **3**: Three graphs are displayed per row.\n\nDefaults to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"}},"type":"object"}},"opentelekomcloud:index/cesEventReportV1:CesEventReportV1":{"description":"Up-to-date reference of API arguments for CES event report v1 you can get at\n[documentation portal](https://docs.otc.t-systems.com/cloud-eye/api-ref/api_description/event_monitoring/index.html)\n\nManages a V1 CES Event Report (used for reporting custom events) resource within OpenTelekomCloud.\n\n## Example Usage\n\n### Basic event report\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst eventReport1 = new opentelekomcloud.CesEventReportV1(\"event_report_1\", {\n    eventName: \"Test_tf_event\",\n    eventSource: \"SYS.ECS\",\n    time: 1257894000000,\n    detail: {\n        content: \"This is a test event\",\n        eventState: \"normal\",\n        eventLevel: \"Info\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nevent_report1 = opentelekomcloud.CesEventReportV1(\"event_report_1\",\n    event_name=\"Test_tf_event\",\n    event_source=\"SYS.ECS\",\n    time=1257894000000,\n    detail={\n        \"content\": \"This is a test event\",\n        \"event_state\": \"normal\",\n        \"event_level\": \"Info\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var eventReport1 = new Opentelekomcloud.CesEventReportV1(\"event_report_1\", new()\n    {\n        EventName = \"Test_tf_event\",\n        EventSource = \"SYS.ECS\",\n        Time = 1257894000000,\n        Detail = new Opentelekomcloud.Inputs.CesEventReportV1DetailArgs\n        {\n            Content = \"This is a test event\",\n            EventState = \"normal\",\n            EventLevel = \"Info\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewCesEventReportV1(ctx, \"event_report_1\", \u0026opentelekomcloud.CesEventReportV1Args{\n\t\t\tEventName:   pulumi.String(\"Test_tf_event\"),\n\t\t\tEventSource: pulumi.String(\"SYS.ECS\"),\n\t\t\tTime:        pulumi.Float64(1257894000000),\n\t\t\tDetail: \u0026opentelekomcloud.CesEventReportV1DetailArgs{\n\t\t\t\tContent:    pulumi.String(\"This is a test event\"),\n\t\t\t\tEventState: pulumi.String(\"normal\"),\n\t\t\t\tEventLevel: pulumi.String(\"Info\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.CesEventReportV1;\nimport com.pulumi.opentelekomcloud.CesEventReportV1Args;\nimport com.pulumi.opentelekomcloud.inputs.CesEventReportV1DetailArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var eventReport1 = new CesEventReportV1(\"eventReport1\", CesEventReportV1Args.builder()\n            .eventName(\"Test_tf_event\")\n            .eventSource(\"SYS.ECS\")\n            .time(1257894000000.0)\n            .detail(CesEventReportV1DetailArgs.builder()\n                .content(\"This is a test event\")\n                .eventState(\"normal\")\n                .eventLevel(\"Info\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  eventReport1:\n    type: opentelekomcloud:CesEventReportV1\n    name: event_report_1\n    properties:\n      eventName: Test_tf_event\n      eventSource: SYS.ECS\n      time: 1.257894e+12\n      detail:\n        content: This is a test event\n        eventState: normal\n        eventLevel: Info\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"cesEventReportV1Id":{"type":"string"},"detail":{"$ref":"#/types/opentelekomcloud:index%2FCesEventReportV1Detail:CesEventReportV1Detail","description":"Specifies the event details. The structure is described below.\n"},"eventId":{"type":"string","description":"Specifies the event ID.\n"},"eventName":{"type":"string","description":"Specifies the event name. The value must be \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e characters long and contain letters, digits, and underscores (_). It must start with a letter.\n"},"eventSource":{"type":"string","description":"Specifies the event source. The format is `service.item`. Set this parameter based on the site requirements. \u003cspan pulumi-lang-nodejs=\"`service`\" pulumi-lang-dotnet=\"`Service`\" pulumi-lang-go=\"`service`\" pulumi-lang-python=\"`service`\" pulumi-lang-yaml=\"`service`\" pulumi-lang-java=\"`service`\"\u003e`service`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`item`\" pulumi-lang-dotnet=\"`Item`\" pulumi-lang-go=\"`item`\" pulumi-lang-python=\"`item`\" pulumi-lang-yaml=\"`item`\" pulumi-lang-java=\"`item`\"\u003e`item`\u003c/span\u003e each must be a string that starts with a letter and contains 3 to 32 characters, including only letters, digits, and underscores (_).\n"},"time":{"type":"number","description":"Specifies when the event occurred, which is a UNIX timestamp (ms). \n\n\u003e **NOTE:**\nSince there is a latency between the client and the server, the data timestamp to be inserted should be within the period that starts from one hour before the current time plus 20s to 10 minutes after the current time minus 20s. In this way, the timestamp will be inserted to the database without being affected by the latency. For example, if the current time is 2020.01.30 12:00:30, the timestamp inserted must be within the range [2020.01.30 11:00:50, 2020.01.30 12:10:10]. The corresponding UNIX timestamp is [1580353250, 1580357410].\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCesEventReportV1Timeouts:CesEventReportV1Timeouts"}},"type":"object","required":["cesEventReportV1Id","detail","eventId","eventName","eventSource","time"],"inputProperties":{"cesEventReportV1Id":{"type":"string"},"detail":{"$ref":"#/types/opentelekomcloud:index%2FCesEventReportV1Detail:CesEventReportV1Detail","description":"Specifies the event details. The structure is described below.\n"},"eventName":{"type":"string","description":"Specifies the event name. The value must be \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e characters long and contain letters, digits, and underscores (_). It must start with a letter.\n"},"eventSource":{"type":"string","description":"Specifies the event source. The format is `service.item`. Set this parameter based on the site requirements. \u003cspan pulumi-lang-nodejs=\"`service`\" pulumi-lang-dotnet=\"`Service`\" pulumi-lang-go=\"`service`\" pulumi-lang-python=\"`service`\" pulumi-lang-yaml=\"`service`\" pulumi-lang-java=\"`service`\"\u003e`service`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`item`\" pulumi-lang-dotnet=\"`Item`\" pulumi-lang-go=\"`item`\" pulumi-lang-python=\"`item`\" pulumi-lang-yaml=\"`item`\" pulumi-lang-java=\"`item`\"\u003e`item`\u003c/span\u003e each must be a string that starts with a letter and contains 3 to 32 characters, including only letters, digits, and underscores (_).\n"},"time":{"type":"number","description":"Specifies when the event occurred, which is a UNIX timestamp (ms). \n\n\u003e **NOTE:**\nSince there is a latency between the client and the server, the data timestamp to be inserted should be within the period that starts from one hour before the current time plus 20s to 10 minutes after the current time minus 20s. In this way, the timestamp will be inserted to the database without being affected by the latency. For example, if the current time is 2020.01.30 12:00:30, the timestamp inserted must be within the range [2020.01.30 11:00:50, 2020.01.30 12:10:10]. The corresponding UNIX timestamp is [1580353250, 1580357410].\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCesEventReportV1Timeouts:CesEventReportV1Timeouts"}},"requiredInputs":["detail","eventName","eventSource","time"],"stateInputs":{"description":"Input properties used for looking up and filtering CesEventReportV1 resources.\n","properties":{"cesEventReportV1Id":{"type":"string"},"detail":{"$ref":"#/types/opentelekomcloud:index%2FCesEventReportV1Detail:CesEventReportV1Detail","description":"Specifies the event details. The structure is described below.\n"},"eventId":{"type":"string","description":"Specifies the event ID.\n"},"eventName":{"type":"string","description":"Specifies the event name. The value must be \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e characters long and contain letters, digits, and underscores (_). It must start with a letter.\n"},"eventSource":{"type":"string","description":"Specifies the event source. The format is `service.item`. Set this parameter based on the site requirements. \u003cspan pulumi-lang-nodejs=\"`service`\" pulumi-lang-dotnet=\"`Service`\" pulumi-lang-go=\"`service`\" pulumi-lang-python=\"`service`\" pulumi-lang-yaml=\"`service`\" pulumi-lang-java=\"`service`\"\u003e`service`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`item`\" pulumi-lang-dotnet=\"`Item`\" pulumi-lang-go=\"`item`\" pulumi-lang-python=\"`item`\" pulumi-lang-yaml=\"`item`\" pulumi-lang-java=\"`item`\"\u003e`item`\u003c/span\u003e each must be a string that starts with a letter and contains 3 to 32 characters, including only letters, digits, and underscores (_).\n"},"time":{"type":"number","description":"Specifies when the event occurred, which is a UNIX timestamp (ms). \n\n\u003e **NOTE:**\nSince there is a latency between the client and the server, the data timestamp to be inserted should be within the period that starts from one hour before the current time plus 20s to 10 minutes after the current time minus 20s. In this way, the timestamp will be inserted to the database without being affected by the latency. For example, if the current time is 2020.01.30 12:00:30, the timestamp inserted must be within the range [2020.01.30 11:00:50, 2020.01.30 12:10:10]. The corresponding UNIX timestamp is [1580353250, 1580357410].\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCesEventReportV1Timeouts:CesEventReportV1Timeouts"}},"type":"object"}},"opentelekomcloud:index/cesMetricDataV1:CesMetricDataV1":{"description":"Up-to-date reference of API arguments for CES Metric Data v1 you can get at\n[documentation portal](https://docs.otc.t-systems.com/cloud-eye/api-ref/api_description/monitoring_data/index.html)\n\nManages a V1 CES Metric Data (used for reporting custom monitoring data) resource within OpenTelekomCloud.\n\n## Example Usage\n\n### Basic metric data usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst instanceId = config.requireObject\u003cany\u003e(\"instanceId\");\nconst metric1 = new opentelekomcloud.CesMetricDataV1(\"metric_1\", {\n    metric: {\n        namespace: \"TEST.TF_ACC\",\n        metricName: \"cpu_util\",\n        dimensions: [{\n            name: \"instance_id\",\n            value: instanceId,\n        }],\n    },\n    ttl: 172800,\n    collectTime: 1257894000000,\n    value: 0.09,\n    unit: \"%\",\n    type: \"float\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ninstance_id = config.require_object(\"instanceId\")\nmetric1 = opentelekomcloud.CesMetricDataV1(\"metric_1\",\n    metric={\n        \"namespace\": \"TEST.TF_ACC\",\n        \"metric_name\": \"cpu_util\",\n        \"dimensions\": [{\n            \"name\": \"instance_id\",\n            \"value\": instance_id,\n        }],\n    },\n    ttl=172800,\n    collect_time=1257894000000,\n    value=0.09,\n    unit=\"%\",\n    type=\"float\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var instanceId = config.RequireObject\u003cdynamic\u003e(\"instanceId\");\n    var metric1 = new Opentelekomcloud.CesMetricDataV1(\"metric_1\", new()\n    {\n        Metric = new Opentelekomcloud.Inputs.CesMetricDataV1MetricArgs\n        {\n            Namespace = \"TEST.TF_ACC\",\n            MetricName = \"cpu_util\",\n            Dimensions = new[]\n            {\n                new Opentelekomcloud.Inputs.CesMetricDataV1MetricDimensionArgs\n                {\n                    Name = \"instance_id\",\n                    Value = instanceId,\n                },\n            },\n        },\n        Ttl = 172800,\n        CollectTime = 1257894000000,\n        Value = 0.09,\n        Unit = \"%\",\n        Type = \"float\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tinstanceId := cfg.RequireObject(\"instanceId\")\n\t\t_, err := opentelekomcloud.NewCesMetricDataV1(ctx, \"metric_1\", \u0026opentelekomcloud.CesMetricDataV1Args{\n\t\t\tMetric: \u0026opentelekomcloud.CesMetricDataV1MetricArgs{\n\t\t\t\tNamespace:  pulumi.String(\"TEST.TF_ACC\"),\n\t\t\t\tMetricName: pulumi.String(\"cpu_util\"),\n\t\t\t\tDimensions: opentelekomcloud.CesMetricDataV1MetricDimensionArray{\n\t\t\t\t\t\u0026opentelekomcloud.CesMetricDataV1MetricDimensionArgs{\n\t\t\t\t\t\tName:  pulumi.String(\"instance_id\"),\n\t\t\t\t\t\tValue: pulumi.Any(instanceId),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTtl:         pulumi.Float64(172800),\n\t\t\tCollectTime: pulumi.Float64(1257894000000),\n\t\t\tValue:       pulumi.Float64(0.09),\n\t\t\tUnit:        pulumi.String(\"%\"),\n\t\t\tType:        pulumi.String(\"float\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.CesMetricDataV1;\nimport com.pulumi.opentelekomcloud.CesMetricDataV1Args;\nimport com.pulumi.opentelekomcloud.inputs.CesMetricDataV1MetricArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var instanceId = config.get(\"instanceId\");\n        var metric1 = new CesMetricDataV1(\"metric1\", CesMetricDataV1Args.builder()\n            .metric(CesMetricDataV1MetricArgs.builder()\n                .namespace(\"TEST.TF_ACC\")\n                .metricName(\"cpu_util\")\n                .dimensions(CesMetricDataV1MetricDimensionArgs.builder()\n                    .name(\"instance_id\")\n                    .value(instanceId)\n                    .build())\n                .build())\n            .ttl(172800.0)\n            .collectTime(1257894000000.0)\n            .value(0.09)\n            .unit(\"%\")\n            .type(\"float\")\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  instanceId:\n    type: dynamic\nresources:\n  metric1:\n    type: opentelekomcloud:CesMetricDataV1\n    name: metric_1\n    properties:\n      metric:\n        namespace: TEST.TF_ACC\n        metricName: cpu_util\n        dimensions:\n          - name: instance_id\n            value: ${instanceId}\n      ttl: 172800\n      collectTime: 1.257894e+12\n      value: 0.09\n      unit: '%'\n      type: float\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"cesMetricDataV1Id":{"type":"string"},"collectTime":{"type":"number","description":"Specifies when the data was collected, which is a UNIX timestamp (ms). \n\n\u003e **NOTE:**\nSince there is a latency between the client and the server, the data timestamp to be inserted should be within the period that starts from three days before the current time plus 20s to 10 minutes after the current time minus 20s. In this way, the timestamp will be inserted to the database without being affected by the latency.\n"},"metric":{"$ref":"#/types/opentelekomcloud:index%2FCesMetricDataV1Metric:CesMetricDataV1Metric","description":"Specifies the metric data. The structure is described below.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCesMetricDataV1Timeouts:CesMetricDataV1Timeouts"},"ttl":{"type":"number","description":"Specifies the data validity period. The unit is \u003cspan pulumi-lang-nodejs=\"`second`\" pulumi-lang-dotnet=\"`Second`\" pulumi-lang-go=\"`second`\" pulumi-lang-python=\"`second`\" pulumi-lang-yaml=\"`second`\" pulumi-lang-java=\"`second`\"\u003e`second`\u003c/span\u003e. Supported range: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`604800`\" pulumi-lang-dotnet=\"`604800`\" pulumi-lang-go=\"`604800`\" pulumi-lang-python=\"`604800`\" pulumi-lang-yaml=\"`604800`\" pulumi-lang-java=\"`604800`\"\u003e`604800`\u003c/span\u003e. If the validity period expires, the data will be automatically deleted.\n"},"type":{"type":"string","description":"Specifies the enumerated type. Possible values: \u003cspan pulumi-lang-nodejs=\"`int`\" pulumi-lang-dotnet=\"`Int`\" pulumi-lang-go=\"`int`\" pulumi-lang-python=\"`int`\" pulumi-lang-yaml=\"`int`\" pulumi-lang-java=\"`int`\"\u003e`int`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`float`\" pulumi-lang-dotnet=\"`Float`\" pulumi-lang-go=\"`float`\" pulumi-lang-python=\"`float`\" pulumi-lang-yaml=\"`float`\" pulumi-lang-java=\"`float`\"\u003e`float`\u003c/span\u003e\n"},"unit":{"type":"string","description":"Specifies the data unit. Supported range: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e\n"},"value":{"type":"number","description":"Specifies the monitoring metric data to be added, which can be an integer or a floating point number.\n"}},"type":"object","required":["cesMetricDataV1Id","collectTime","metric","ttl","value"],"inputProperties":{"cesMetricDataV1Id":{"type":"string"},"collectTime":{"type":"number","description":"Specifies when the data was collected, which is a UNIX timestamp (ms). \n\n\u003e **NOTE:**\nSince there is a latency between the client and the server, the data timestamp to be inserted should be within the period that starts from three days before the current time plus 20s to 10 minutes after the current time minus 20s. In this way, the timestamp will be inserted to the database without being affected by the latency.\n"},"metric":{"$ref":"#/types/opentelekomcloud:index%2FCesMetricDataV1Metric:CesMetricDataV1Metric","description":"Specifies the metric data. The structure is described below.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCesMetricDataV1Timeouts:CesMetricDataV1Timeouts"},"ttl":{"type":"number","description":"Specifies the data validity period. The unit is \u003cspan pulumi-lang-nodejs=\"`second`\" pulumi-lang-dotnet=\"`Second`\" pulumi-lang-go=\"`second`\" pulumi-lang-python=\"`second`\" pulumi-lang-yaml=\"`second`\" pulumi-lang-java=\"`second`\"\u003e`second`\u003c/span\u003e. Supported range: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`604800`\" pulumi-lang-dotnet=\"`604800`\" pulumi-lang-go=\"`604800`\" pulumi-lang-python=\"`604800`\" pulumi-lang-yaml=\"`604800`\" pulumi-lang-java=\"`604800`\"\u003e`604800`\u003c/span\u003e. If the validity period expires, the data will be automatically deleted.\n"},"type":{"type":"string","description":"Specifies the enumerated type. Possible values: \u003cspan pulumi-lang-nodejs=\"`int`\" pulumi-lang-dotnet=\"`Int`\" pulumi-lang-go=\"`int`\" pulumi-lang-python=\"`int`\" pulumi-lang-yaml=\"`int`\" pulumi-lang-java=\"`int`\"\u003e`int`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`float`\" pulumi-lang-dotnet=\"`Float`\" pulumi-lang-go=\"`float`\" pulumi-lang-python=\"`float`\" pulumi-lang-yaml=\"`float`\" pulumi-lang-java=\"`float`\"\u003e`float`\u003c/span\u003e\n"},"unit":{"type":"string","description":"Specifies the data unit. Supported range: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e\n"},"value":{"type":"number","description":"Specifies the monitoring metric data to be added, which can be an integer or a floating point number.\n"}},"requiredInputs":["collectTime","metric","ttl","value"],"stateInputs":{"description":"Input properties used for looking up and filtering CesMetricDataV1 resources.\n","properties":{"cesMetricDataV1Id":{"type":"string"},"collectTime":{"type":"number","description":"Specifies when the data was collected, which is a UNIX timestamp (ms). \n\n\u003e **NOTE:**\nSince there is a latency between the client and the server, the data timestamp to be inserted should be within the period that starts from three days before the current time plus 20s to 10 minutes after the current time minus 20s. In this way, the timestamp will be inserted to the database without being affected by the latency.\n"},"metric":{"$ref":"#/types/opentelekomcloud:index%2FCesMetricDataV1Metric:CesMetricDataV1Metric","description":"Specifies the metric data. The structure is described below.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCesMetricDataV1Timeouts:CesMetricDataV1Timeouts"},"ttl":{"type":"number","description":"Specifies the data validity period. The unit is \u003cspan pulumi-lang-nodejs=\"`second`\" pulumi-lang-dotnet=\"`Second`\" pulumi-lang-go=\"`second`\" pulumi-lang-python=\"`second`\" pulumi-lang-yaml=\"`second`\" pulumi-lang-java=\"`second`\"\u003e`second`\u003c/span\u003e. Supported range: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`604800`\" pulumi-lang-dotnet=\"`604800`\" pulumi-lang-go=\"`604800`\" pulumi-lang-python=\"`604800`\" pulumi-lang-yaml=\"`604800`\" pulumi-lang-java=\"`604800`\"\u003e`604800`\u003c/span\u003e. If the validity period expires, the data will be automatically deleted.\n"},"type":{"type":"string","description":"Specifies the enumerated type. Possible values: \u003cspan pulumi-lang-nodejs=\"`int`\" pulumi-lang-dotnet=\"`Int`\" pulumi-lang-go=\"`int`\" pulumi-lang-python=\"`int`\" pulumi-lang-yaml=\"`int`\" pulumi-lang-java=\"`int`\"\u003e`int`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`float`\" pulumi-lang-dotnet=\"`Float`\" pulumi-lang-go=\"`float`\" pulumi-lang-python=\"`float`\" pulumi-lang-yaml=\"`float`\" pulumi-lang-java=\"`float`\"\u003e`float`\u003c/span\u003e\n"},"unit":{"type":"string","description":"Specifies the data unit. Supported range: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e\n"},"value":{"type":"number","description":"Specifies the monitoring metric data to be added, which can be an integer or a floating point number.\n"}},"type":"object"}},"opentelekomcloud:index/cesOneClickAlarmV2:CesOneClickAlarmV2":{"description":"Up-to-date reference of API arguments for CES one-click monitoring you can get at\n[documentation portal](https://docs.otc.t-systems.com/cloud-eye/api-ref/api_v2/one-click_monitoring/index.html)\n\nManages a CES One-Click Alarm v2 resource within OpenTelekomCloud.\n\n## Example Usage\n\n### Basic one-click monitoring without notifications\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst test = new opentelekomcloud.CesOneClickAlarmV2(\"test\", {\n    oneClickAlarmId: \"ECSSystemOneClickAlarm\",\n    dimensionNames: {\n        metrics: [\"instance_id\"],\n    },\n    notificationEnabled: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ntest = opentelekomcloud.CesOneClickAlarmV2(\"test\",\n    one_click_alarm_id=\"ECSSystemOneClickAlarm\",\n    dimension_names={\n        \"metrics\": [\"instance_id\"],\n    },\n    notification_enabled=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = new Opentelekomcloud.CesOneClickAlarmV2(\"test\", new()\n    {\n        OneClickAlarmId = \"ECSSystemOneClickAlarm\",\n        DimensionNames = new Opentelekomcloud.Inputs.CesOneClickAlarmV2DimensionNamesArgs\n        {\n            Metrics = new[]\n            {\n                \"instance_id\",\n            },\n        },\n        NotificationEnabled = false,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewCesOneClickAlarmV2(ctx, \"test\", \u0026opentelekomcloud.CesOneClickAlarmV2Args{\n\t\t\tOneClickAlarmId: pulumi.String(\"ECSSystemOneClickAlarm\"),\n\t\t\tDimensionNames: \u0026opentelekomcloud.CesOneClickAlarmV2DimensionNamesArgs{\n\t\t\t\tMetrics: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"instance_id\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tNotificationEnabled: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.CesOneClickAlarmV2;\nimport com.pulumi.opentelekomcloud.CesOneClickAlarmV2Args;\nimport com.pulumi.opentelekomcloud.inputs.CesOneClickAlarmV2DimensionNamesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test = new CesOneClickAlarmV2(\"test\", CesOneClickAlarmV2Args.builder()\n            .oneClickAlarmId(\"ECSSystemOneClickAlarm\")\n            .dimensionNames(CesOneClickAlarmV2DimensionNamesArgs.builder()\n                .metrics(\"instance_id\")\n                .build())\n            .notificationEnabled(false)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test:\n    type: opentelekomcloud:CesOneClickAlarmV2\n    properties:\n      oneClickAlarmId: ECSSystemOneClickAlarm\n      dimensionNames:\n        metrics:\n          - instance_id\n      notificationEnabled: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### One-click monitoring with notifications\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst topicUrn = config.requireObject\u003cany\u003e(\"topicUrn\");\nconst test = new opentelekomcloud.CesOneClickAlarmV2(\"test\", {\n    oneClickAlarmId: \"OBSSystemOneClickAlarm\",\n    dimensionNames: {\n        metrics: [\"bucket_name\"],\n    },\n    notificationEnabled: true,\n    alarmNotifications: [{\n        type: \"notification\",\n        notificationLists: [topicUrn],\n    }],\n    okNotifications: [{\n        type: \"notification\",\n        notificationLists: [topicUrn],\n    }],\n    notificationBeginTime: \"00:00\",\n    notificationEndTime: \"23:59\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ntopic_urn = config.require_object(\"topicUrn\")\ntest = opentelekomcloud.CesOneClickAlarmV2(\"test\",\n    one_click_alarm_id=\"OBSSystemOneClickAlarm\",\n    dimension_names={\n        \"metrics\": [\"bucket_name\"],\n    },\n    notification_enabled=True,\n    alarm_notifications=[{\n        \"type\": \"notification\",\n        \"notification_lists\": [topic_urn],\n    }],\n    ok_notifications=[{\n        \"type\": \"notification\",\n        \"notification_lists\": [topic_urn],\n    }],\n    notification_begin_time=\"00:00\",\n    notification_end_time=\"23:59\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var topicUrn = config.RequireObject\u003cdynamic\u003e(\"topicUrn\");\n    var test = new Opentelekomcloud.CesOneClickAlarmV2(\"test\", new()\n    {\n        OneClickAlarmId = \"OBSSystemOneClickAlarm\",\n        DimensionNames = new Opentelekomcloud.Inputs.CesOneClickAlarmV2DimensionNamesArgs\n        {\n            Metrics = new[]\n            {\n                \"bucket_name\",\n            },\n        },\n        NotificationEnabled = true,\n        AlarmNotifications = new[]\n        {\n            new Opentelekomcloud.Inputs.CesOneClickAlarmV2AlarmNotificationArgs\n            {\n                Type = \"notification\",\n                NotificationLists = new[]\n                {\n                    topicUrn,\n                },\n            },\n        },\n        OkNotifications = new[]\n        {\n            new Opentelekomcloud.Inputs.CesOneClickAlarmV2OkNotificationArgs\n            {\n                Type = \"notification\",\n                NotificationLists = new[]\n                {\n                    topicUrn,\n                },\n            },\n        },\n        NotificationBeginTime = \"00:00\",\n        NotificationEndTime = \"23:59\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\ttopicUrn := cfg.RequireObject(\"topicUrn\")\n\t\t_, err := opentelekomcloud.NewCesOneClickAlarmV2(ctx, \"test\", \u0026opentelekomcloud.CesOneClickAlarmV2Args{\n\t\t\tOneClickAlarmId: pulumi.String(\"OBSSystemOneClickAlarm\"),\n\t\t\tDimensionNames: \u0026opentelekomcloud.CesOneClickAlarmV2DimensionNamesArgs{\n\t\t\t\tMetrics: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"bucket_name\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tNotificationEnabled: pulumi.Bool(true),\n\t\t\tAlarmNotifications: opentelekomcloud.CesOneClickAlarmV2AlarmNotificationArray{\n\t\t\t\t\u0026opentelekomcloud.CesOneClickAlarmV2AlarmNotificationArgs{\n\t\t\t\t\tType: pulumi.String(\"notification\"),\n\t\t\t\t\tNotificationLists: pulumi.StringArray{\n\t\t\t\t\t\ttopicUrn,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tOkNotifications: opentelekomcloud.CesOneClickAlarmV2OkNotificationArray{\n\t\t\t\t\u0026opentelekomcloud.CesOneClickAlarmV2OkNotificationArgs{\n\t\t\t\t\tType: pulumi.String(\"notification\"),\n\t\t\t\t\tNotificationLists: pulumi.StringArray{\n\t\t\t\t\t\ttopicUrn,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tNotificationBeginTime: pulumi.String(\"00:00\"),\n\t\t\tNotificationEndTime:   pulumi.String(\"23:59\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.CesOneClickAlarmV2;\nimport com.pulumi.opentelekomcloud.CesOneClickAlarmV2Args;\nimport com.pulumi.opentelekomcloud.inputs.CesOneClickAlarmV2DimensionNamesArgs;\nimport com.pulumi.opentelekomcloud.inputs.CesOneClickAlarmV2AlarmNotificationArgs;\nimport com.pulumi.opentelekomcloud.inputs.CesOneClickAlarmV2OkNotificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var topicUrn = config.get(\"topicUrn\");\n        var test = new CesOneClickAlarmV2(\"test\", CesOneClickAlarmV2Args.builder()\n            .oneClickAlarmId(\"OBSSystemOneClickAlarm\")\n            .dimensionNames(CesOneClickAlarmV2DimensionNamesArgs.builder()\n                .metrics(\"bucket_name\")\n                .build())\n            .notificationEnabled(true)\n            .alarmNotifications(CesOneClickAlarmV2AlarmNotificationArgs.builder()\n                .type(\"notification\")\n                .notificationLists(topicUrn)\n                .build())\n            .okNotifications(CesOneClickAlarmV2OkNotificationArgs.builder()\n                .type(\"notification\")\n                .notificationLists(topicUrn)\n                .build())\n            .notificationBeginTime(\"00:00\")\n            .notificationEndTime(\"23:59\")\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  topicUrn:\n    type: dynamic\nresources:\n  test:\n    type: opentelekomcloud:CesOneClickAlarmV2\n    properties:\n      oneClickAlarmId: OBSSystemOneClickAlarm\n      dimensionNames:\n        metrics:\n          - bucket_name\n      notificationEnabled: true\n      alarmNotifications:\n        - type: notification\n          notificationLists:\n            - ${topicUrn}\n      okNotifications:\n        - type: notification\n          notificationLists:\n            - ${topicUrn}\n      notificationBeginTime: 00:00\n      notificationEndTime: 23:59\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### One-click monitoring with event dimensions\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst topicUrn = config.requireObject\u003cany\u003e(\"topicUrn\");\nconst test = new opentelekomcloud.CesOneClickAlarmV2(\"test\", {\n    oneClickAlarmId: \"ECSSystemOneClickAlarm\",\n    dimensionNames: {\n        metrics: [\"instance_id\"],\n        event: true,\n    },\n    notificationEnabled: true,\n    alarmNotifications: [{\n        type: \"notification\",\n        notificationLists: [topicUrn],\n    }],\n    notificationBeginTime: \"00:00\",\n    notificationEndTime: \"23:59\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ntopic_urn = config.require_object(\"topicUrn\")\ntest = opentelekomcloud.CesOneClickAlarmV2(\"test\",\n    one_click_alarm_id=\"ECSSystemOneClickAlarm\",\n    dimension_names={\n        \"metrics\": [\"instance_id\"],\n        \"event\": True,\n    },\n    notification_enabled=True,\n    alarm_notifications=[{\n        \"type\": \"notification\",\n        \"notification_lists\": [topic_urn],\n    }],\n    notification_begin_time=\"00:00\",\n    notification_end_time=\"23:59\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var topicUrn = config.RequireObject\u003cdynamic\u003e(\"topicUrn\");\n    var test = new Opentelekomcloud.CesOneClickAlarmV2(\"test\", new()\n    {\n        OneClickAlarmId = \"ECSSystemOneClickAlarm\",\n        DimensionNames = new Opentelekomcloud.Inputs.CesOneClickAlarmV2DimensionNamesArgs\n        {\n            Metrics = new[]\n            {\n                \"instance_id\",\n            },\n            Event = true,\n        },\n        NotificationEnabled = true,\n        AlarmNotifications = new[]\n        {\n            new Opentelekomcloud.Inputs.CesOneClickAlarmV2AlarmNotificationArgs\n            {\n                Type = \"notification\",\n                NotificationLists = new[]\n                {\n                    topicUrn,\n                },\n            },\n        },\n        NotificationBeginTime = \"00:00\",\n        NotificationEndTime = \"23:59\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\ttopicUrn := cfg.RequireObject(\"topicUrn\")\n\t\t_, err := opentelekomcloud.NewCesOneClickAlarmV2(ctx, \"test\", \u0026opentelekomcloud.CesOneClickAlarmV2Args{\n\t\t\tOneClickAlarmId: pulumi.String(\"ECSSystemOneClickAlarm\"),\n\t\t\tDimensionNames: \u0026opentelekomcloud.CesOneClickAlarmV2DimensionNamesArgs{\n\t\t\t\tMetrics: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"instance_id\"),\n\t\t\t\t},\n\t\t\t\tEvent: pulumi.Bool(true),\n\t\t\t},\n\t\t\tNotificationEnabled: pulumi.Bool(true),\n\t\t\tAlarmNotifications: opentelekomcloud.CesOneClickAlarmV2AlarmNotificationArray{\n\t\t\t\t\u0026opentelekomcloud.CesOneClickAlarmV2AlarmNotificationArgs{\n\t\t\t\t\tType: pulumi.String(\"notification\"),\n\t\t\t\t\tNotificationLists: pulumi.StringArray{\n\t\t\t\t\t\ttopicUrn,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tNotificationBeginTime: pulumi.String(\"00:00\"),\n\t\t\tNotificationEndTime:   pulumi.String(\"23:59\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.CesOneClickAlarmV2;\nimport com.pulumi.opentelekomcloud.CesOneClickAlarmV2Args;\nimport com.pulumi.opentelekomcloud.inputs.CesOneClickAlarmV2DimensionNamesArgs;\nimport com.pulumi.opentelekomcloud.inputs.CesOneClickAlarmV2AlarmNotificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var topicUrn = config.get(\"topicUrn\");\n        var test = new CesOneClickAlarmV2(\"test\", CesOneClickAlarmV2Args.builder()\n            .oneClickAlarmId(\"ECSSystemOneClickAlarm\")\n            .dimensionNames(CesOneClickAlarmV2DimensionNamesArgs.builder()\n                .metrics(\"instance_id\")\n                .event(true)\n                .build())\n            .notificationEnabled(true)\n            .alarmNotifications(CesOneClickAlarmV2AlarmNotificationArgs.builder()\n                .type(\"notification\")\n                .notificationLists(topicUrn)\n                .build())\n            .notificationBeginTime(\"00:00\")\n            .notificationEndTime(\"23:59\")\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  topicUrn:\n    type: dynamic\nresources:\n  test:\n    type: opentelekomcloud:CesOneClickAlarmV2\n    properties:\n      oneClickAlarmId: ECSSystemOneClickAlarm\n      dimensionNames:\n        metrics:\n          - instance_id\n        event: true\n      notificationEnabled: true\n      alarmNotifications:\n        - type: notification\n          notificationLists:\n            - ${topicUrn}\n      notificationBeginTime: 00:00\n      notificationEndTime: 23:59\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCES one-click alarms v2 can be imported using the `id`, e.g.\n\nbash\n\n```sh\n$ pulumi import opentelekomcloud:index/cesOneClickAlarmV2:CesOneClickAlarmV2 test OBSSystemOneClickAlarm\n```\n\nNote that the imported state may not be identical to your resource definition, due to the API response not including\n\nsome attributes. The missing attributes include: `one_click_alarm_id`, `dimension_names`, `notification_enabled`,\n\n`alarm_notifications`, `ok_notifications`, `notification_begin_time`, and `notification_end_time`.\n\nIt is generally recommended running `pulumi preview` after importing the resource. You can then decide\n\nif changes should be applied to the resource, or the resource definition should be updated to align\n\nwith the resource. Also, you can ignore changes as below.\n\nhcl\n\nresource \"opentelekomcloud_ces_one_click_alarm_v2\" \"test\" {\n\n  lifecycle {\n\n    ignore_changes = [\n\n      one_click_alarm_id, dimension_names, notification_enabled,\n\n      alarm_notifications, ok_notifications, notification_begin_time, notification_end_time,\n\n    ]\n\n  }\n\n}\n\n","properties":{"alarmNotifications":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCesOneClickAlarmV2AlarmNotification:CesOneClickAlarmV2AlarmNotification"},"description":"Specifies the action to be triggered by an alarm.\n+ If the value of \u003cspan pulumi-lang-nodejs=\"`notificationEnabled`\" pulumi-lang-dotnet=\"`NotificationEnabled`\" pulumi-lang-go=\"`notificationEnabled`\" pulumi-lang-python=\"`notification_enabled`\" pulumi-lang-yaml=\"`notificationEnabled`\" pulumi-lang-java=\"`notificationEnabled`\"\u003e`notification_enabled`\u003c/span\u003e is **false**, this parameter should not be set.\n+ If the value of \u003cspan pulumi-lang-nodejs=\"`notificationEnabled`\" pulumi-lang-dotnet=\"`NotificationEnabled`\" pulumi-lang-go=\"`notificationEnabled`\" pulumi-lang-python=\"`notification_enabled`\" pulumi-lang-yaml=\"`notificationEnabled`\" pulumi-lang-java=\"`notificationEnabled`\"\u003e`notification_enabled`\u003c/span\u003e is **true**, this parameter is required.\n\nThe\u003cspan pulumi-lang-nodejs=\" alarmNotifications \" pulumi-lang-dotnet=\" AlarmNotifications \" pulumi-lang-go=\" alarmNotifications \" pulumi-lang-python=\" alarm_notifications \" pulumi-lang-yaml=\" alarmNotifications \" pulumi-lang-java=\" alarmNotifications \"\u003e alarm_notifications \u003c/span\u003estructure is documented below.\n"},"cesOneClickAlarmV2Id":{"type":"string","description":"The one-click alarm ID.\n"},"description":{"type":"string","description":"The description of the one-click monitoring configuration.\n"},"dimensionNames":{"$ref":"#/types/opentelekomcloud:index%2FCesOneClickAlarmV2DimensionNames:CesOneClickAlarmV2DimensionNames","description":"Specifies the dimension names for metric and event alarm rules.\nThe\u003cspan pulumi-lang-nodejs=\" dimensionNames \" pulumi-lang-dotnet=\" DimensionNames \" pulumi-lang-go=\" dimensionNames \" pulumi-lang-python=\" dimension_names \" pulumi-lang-yaml=\" dimensionNames \" pulumi-lang-java=\" dimensionNames \"\u003e dimension_names \u003c/span\u003estructure is documented below.\nChanging this creates a new resource.\n"},"enabled":{"type":"boolean","description":"Whether one-click monitoring is enabled.\n"},"internalAlarmId":{"type":"string","description":"The auto-generated internal alarm ID returned by the API.\n"},"namespace":{"type":"string","description":"The namespace of the monitored service.\n"},"notificationBeginTime":{"type":"string","description":"Specifies the alarm notification start time,\nfor example: **00:00**. The format is `HH:MM`.\n"},"notificationEnabled":{"type":"boolean","description":"Specifies whether to enable alarm notifications.\n"},"notificationEndTime":{"type":"string","description":"Specifies the alarm notification end time,\nfor example: **23:59**. The format is `HH:MM`.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"dimensionNamesStruct\"\" pulumi-lang-dotnet=\"\"DimensionNamesStruct\"\" pulumi-lang-go=\"\"dimensionNamesStruct\"\" pulumi-lang-python=\"\"dimension_names_struct\"\" pulumi-lang-yaml=\"\"dimensionNamesStruct\"\" pulumi-lang-java=\"\"dimensionNamesStruct\"\"\u003e\"dimension_names_struct\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`dimensionNames`\" pulumi-lang-dotnet=\"`DimensionNames`\" pulumi-lang-go=\"`dimensionNames`\" pulumi-lang-python=\"`dimension_names`\" pulumi-lang-yaml=\"`dimensionNames`\" pulumi-lang-java=\"`dimensionNames`\"\u003e`dimension_names`\u003c/span\u003e block supports:\n"},"okNotifications":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCesOneClickAlarmV2OkNotification:CesOneClickAlarmV2OkNotification"},"description":"Specifies the action to be triggered after an alarm is cleared.\n+ If the value of \u003cspan pulumi-lang-nodejs=\"`notificationEnabled`\" pulumi-lang-dotnet=\"`NotificationEnabled`\" pulumi-lang-go=\"`notificationEnabled`\" pulumi-lang-python=\"`notification_enabled`\" pulumi-lang-yaml=\"`notificationEnabled`\" pulumi-lang-java=\"`notificationEnabled`\"\u003e`notification_enabled`\u003c/span\u003e is **false**, this parameter should not be set.\n\nThe\u003cspan pulumi-lang-nodejs=\" okNotifications \" pulumi-lang-dotnet=\" OkNotifications \" pulumi-lang-go=\" okNotifications \" pulumi-lang-python=\" ok_notifications \" pulumi-lang-yaml=\" okNotifications \" pulumi-lang-java=\" okNotifications \"\u003e ok_notifications \u003c/span\u003estructure is documented below.\n"},"oneClickAlarmId":{"type":"string","description":"Specifies the one-click monitoring ID.\nThe value can be a string of \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e alphanumeric characters.\nChanging this creates a new resource.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCesOneClickAlarmV2Timeouts:CesOneClickAlarmV2Timeouts"}},"type":"object","required":["cesOneClickAlarmV2Id","description","dimensionNames","enabled","internalAlarmId","namespace","notificationEnabled","oneClickAlarmId"],"inputProperties":{"alarmNotifications":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCesOneClickAlarmV2AlarmNotification:CesOneClickAlarmV2AlarmNotification"},"description":"Specifies the action to be triggered by an alarm.\n+ If the value of \u003cspan pulumi-lang-nodejs=\"`notificationEnabled`\" pulumi-lang-dotnet=\"`NotificationEnabled`\" pulumi-lang-go=\"`notificationEnabled`\" pulumi-lang-python=\"`notification_enabled`\" pulumi-lang-yaml=\"`notificationEnabled`\" pulumi-lang-java=\"`notificationEnabled`\"\u003e`notification_enabled`\u003c/span\u003e is **false**, this parameter should not be set.\n+ If the value of \u003cspan pulumi-lang-nodejs=\"`notificationEnabled`\" pulumi-lang-dotnet=\"`NotificationEnabled`\" pulumi-lang-go=\"`notificationEnabled`\" pulumi-lang-python=\"`notification_enabled`\" pulumi-lang-yaml=\"`notificationEnabled`\" pulumi-lang-java=\"`notificationEnabled`\"\u003e`notification_enabled`\u003c/span\u003e is **true**, this parameter is required.\n\nThe\u003cspan pulumi-lang-nodejs=\" alarmNotifications \" pulumi-lang-dotnet=\" AlarmNotifications \" pulumi-lang-go=\" alarmNotifications \" pulumi-lang-python=\" alarm_notifications \" pulumi-lang-yaml=\" alarmNotifications \" pulumi-lang-java=\" alarmNotifications \"\u003e alarm_notifications \u003c/span\u003estructure is documented below.\n"},"cesOneClickAlarmV2Id":{"type":"string","description":"The one-click alarm ID.\n"},"dimensionNames":{"$ref":"#/types/opentelekomcloud:index%2FCesOneClickAlarmV2DimensionNames:CesOneClickAlarmV2DimensionNames","description":"Specifies the dimension names for metric and event alarm rules.\nThe\u003cspan pulumi-lang-nodejs=\" dimensionNames \" pulumi-lang-dotnet=\" DimensionNames \" pulumi-lang-go=\" dimensionNames \" pulumi-lang-python=\" dimension_names \" pulumi-lang-yaml=\" dimensionNames \" pulumi-lang-java=\" dimensionNames \"\u003e dimension_names \u003c/span\u003estructure is documented below.\nChanging this creates a new resource.\n"},"notificationBeginTime":{"type":"string","description":"Specifies the alarm notification start time,\nfor example: **00:00**. The format is `HH:MM`.\n"},"notificationEnabled":{"type":"boolean","description":"Specifies whether to enable alarm notifications.\n"},"notificationEndTime":{"type":"string","description":"Specifies the alarm notification end time,\nfor example: **23:59**. The format is `HH:MM`.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"dimensionNamesStruct\"\" pulumi-lang-dotnet=\"\"DimensionNamesStruct\"\" pulumi-lang-go=\"\"dimensionNamesStruct\"\" pulumi-lang-python=\"\"dimension_names_struct\"\" pulumi-lang-yaml=\"\"dimensionNamesStruct\"\" pulumi-lang-java=\"\"dimensionNamesStruct\"\"\u003e\"dimension_names_struct\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`dimensionNames`\" pulumi-lang-dotnet=\"`DimensionNames`\" pulumi-lang-go=\"`dimensionNames`\" pulumi-lang-python=\"`dimension_names`\" pulumi-lang-yaml=\"`dimensionNames`\" pulumi-lang-java=\"`dimensionNames`\"\u003e`dimension_names`\u003c/span\u003e block supports:\n"},"okNotifications":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCesOneClickAlarmV2OkNotification:CesOneClickAlarmV2OkNotification"},"description":"Specifies the action to be triggered after an alarm is cleared.\n+ If the value of \u003cspan pulumi-lang-nodejs=\"`notificationEnabled`\" pulumi-lang-dotnet=\"`NotificationEnabled`\" pulumi-lang-go=\"`notificationEnabled`\" pulumi-lang-python=\"`notification_enabled`\" pulumi-lang-yaml=\"`notificationEnabled`\" pulumi-lang-java=\"`notificationEnabled`\"\u003e`notification_enabled`\u003c/span\u003e is **false**, this parameter should not be set.\n\nThe\u003cspan pulumi-lang-nodejs=\" okNotifications \" pulumi-lang-dotnet=\" OkNotifications \" pulumi-lang-go=\" okNotifications \" pulumi-lang-python=\" ok_notifications \" pulumi-lang-yaml=\" okNotifications \" pulumi-lang-java=\" okNotifications \"\u003e ok_notifications \u003c/span\u003estructure is documented below.\n"},"oneClickAlarmId":{"type":"string","description":"Specifies the one-click monitoring ID.\nThe value can be a string of \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e alphanumeric characters.\nChanging this creates a new resource.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCesOneClickAlarmV2Timeouts:CesOneClickAlarmV2Timeouts"}},"requiredInputs":["dimensionNames","notificationEnabled","oneClickAlarmId"],"stateInputs":{"description":"Input properties used for looking up and filtering CesOneClickAlarmV2 resources.\n","properties":{"alarmNotifications":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCesOneClickAlarmV2AlarmNotification:CesOneClickAlarmV2AlarmNotification"},"description":"Specifies the action to be triggered by an alarm.\n+ If the value of \u003cspan pulumi-lang-nodejs=\"`notificationEnabled`\" pulumi-lang-dotnet=\"`NotificationEnabled`\" pulumi-lang-go=\"`notificationEnabled`\" pulumi-lang-python=\"`notification_enabled`\" pulumi-lang-yaml=\"`notificationEnabled`\" pulumi-lang-java=\"`notificationEnabled`\"\u003e`notification_enabled`\u003c/span\u003e is **false**, this parameter should not be set.\n+ If the value of \u003cspan pulumi-lang-nodejs=\"`notificationEnabled`\" pulumi-lang-dotnet=\"`NotificationEnabled`\" pulumi-lang-go=\"`notificationEnabled`\" pulumi-lang-python=\"`notification_enabled`\" pulumi-lang-yaml=\"`notificationEnabled`\" pulumi-lang-java=\"`notificationEnabled`\"\u003e`notification_enabled`\u003c/span\u003e is **true**, this parameter is required.\n\nThe\u003cspan pulumi-lang-nodejs=\" alarmNotifications \" pulumi-lang-dotnet=\" AlarmNotifications \" pulumi-lang-go=\" alarmNotifications \" pulumi-lang-python=\" alarm_notifications \" pulumi-lang-yaml=\" alarmNotifications \" pulumi-lang-java=\" alarmNotifications \"\u003e alarm_notifications \u003c/span\u003estructure is documented below.\n"},"cesOneClickAlarmV2Id":{"type":"string","description":"The one-click alarm ID.\n"},"description":{"type":"string","description":"The description of the one-click monitoring configuration.\n"},"dimensionNames":{"$ref":"#/types/opentelekomcloud:index%2FCesOneClickAlarmV2DimensionNames:CesOneClickAlarmV2DimensionNames","description":"Specifies the dimension names for metric and event alarm rules.\nThe\u003cspan pulumi-lang-nodejs=\" dimensionNames \" pulumi-lang-dotnet=\" DimensionNames \" pulumi-lang-go=\" dimensionNames \" pulumi-lang-python=\" dimension_names \" pulumi-lang-yaml=\" dimensionNames \" pulumi-lang-java=\" dimensionNames \"\u003e dimension_names \u003c/span\u003estructure is documented below.\nChanging this creates a new resource.\n"},"enabled":{"type":"boolean","description":"Whether one-click monitoring is enabled.\n"},"internalAlarmId":{"type":"string","description":"The auto-generated internal alarm ID returned by the API.\n"},"namespace":{"type":"string","description":"The namespace of the monitored service.\n"},"notificationBeginTime":{"type":"string","description":"Specifies the alarm notification start time,\nfor example: **00:00**. The format is `HH:MM`.\n"},"notificationEnabled":{"type":"boolean","description":"Specifies whether to enable alarm notifications.\n"},"notificationEndTime":{"type":"string","description":"Specifies the alarm notification end time,\nfor example: **23:59**. The format is `HH:MM`.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"dimensionNamesStruct\"\" pulumi-lang-dotnet=\"\"DimensionNamesStruct\"\" pulumi-lang-go=\"\"dimensionNamesStruct\"\" pulumi-lang-python=\"\"dimension_names_struct\"\" pulumi-lang-yaml=\"\"dimensionNamesStruct\"\" pulumi-lang-java=\"\"dimensionNamesStruct\"\"\u003e\"dimension_names_struct\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`dimensionNames`\" pulumi-lang-dotnet=\"`DimensionNames`\" pulumi-lang-go=\"`dimensionNames`\" pulumi-lang-python=\"`dimension_names`\" pulumi-lang-yaml=\"`dimensionNames`\" pulumi-lang-java=\"`dimensionNames`\"\u003e`dimension_names`\u003c/span\u003e block supports:\n"},"okNotifications":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCesOneClickAlarmV2OkNotification:CesOneClickAlarmV2OkNotification"},"description":"Specifies the action to be triggered after an alarm is cleared.\n+ If the value of \u003cspan pulumi-lang-nodejs=\"`notificationEnabled`\" pulumi-lang-dotnet=\"`NotificationEnabled`\" pulumi-lang-go=\"`notificationEnabled`\" pulumi-lang-python=\"`notification_enabled`\" pulumi-lang-yaml=\"`notificationEnabled`\" pulumi-lang-java=\"`notificationEnabled`\"\u003e`notification_enabled`\u003c/span\u003e is **false**, this parameter should not be set.\n\nThe\u003cspan pulumi-lang-nodejs=\" okNotifications \" pulumi-lang-dotnet=\" OkNotifications \" pulumi-lang-go=\" okNotifications \" pulumi-lang-python=\" ok_notifications \" pulumi-lang-yaml=\" okNotifications \" pulumi-lang-java=\" okNotifications \"\u003e ok_notifications \u003c/span\u003estructure is documented below.\n"},"oneClickAlarmId":{"type":"string","description":"Specifies the one-click monitoring ID.\nThe value can be a string of \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e alphanumeric characters.\nChanging this creates a new resource.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCesOneClickAlarmV2Timeouts:CesOneClickAlarmV2Timeouts"}},"type":"object"}},"opentelekomcloud:index/cesResourceGroupV2:CesResourceGroupV2":{"description":"Up-to-date reference of API arguments for CES resource group you can get at\n[documentation portal](https://docs.otc.t-systems.com/cloud-eye/api-ref/api_v2/resource_groups/index.html)\n\nManages a CES resource group resource within OpenTelekomCloud.\n\n## Example Usage\n\n### Add resources manually\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst subnetId = config.requireObject\u003cany\u003e(\"subnetId\");\nconst vm1 = new opentelekomcloud.ComputeInstanceV2(\"vm_1\", {\n    name: \"ecs-test\",\n    imageName: \"Standard_Debian_11_latest\",\n    flavorName: \"s3.large.2\",\n    networks: [{\n        uuid: subnetId,\n    }],\n});\nconst test = new opentelekomcloud.CesResourceGroupV2(\"test\", {\n    name: \"test\",\n    resources: [\n        {\n            namespace: \"SYS.ECS\",\n            dimensions: [{\n                name: \"instance_id\",\n                value: vm1.computeInstanceV2Id,\n            }],\n        },\n        {\n            namespace: \"SYS.EVS\",\n            dimensions: [{\n                name: \"disk_name\",\n                value: pulumi.interpolate`${vm1.computeInstanceV2Id}-sda`,\n            }],\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nsubnet_id = config.require_object(\"subnetId\")\nvm1 = opentelekomcloud.ComputeInstanceV2(\"vm_1\",\n    name=\"ecs-test\",\n    image_name=\"Standard_Debian_11_latest\",\n    flavor_name=\"s3.large.2\",\n    networks=[{\n        \"uuid\": subnet_id,\n    }])\ntest = opentelekomcloud.CesResourceGroupV2(\"test\",\n    name=\"test\",\n    resources=[\n        {\n            \"namespace\": \"SYS.ECS\",\n            \"dimensions\": [{\n                \"name\": \"instance_id\",\n                \"value\": vm1.compute_instance_v2_id,\n            }],\n        },\n        {\n            \"namespace\": \"SYS.EVS\",\n            \"dimensions\": [{\n                \"name\": \"disk_name\",\n                \"value\": vm1.compute_instance_v2_id.apply(lambda compute_instance_v2_id: f\"{compute_instance_v2_id}-sda\"),\n            }],\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var subnetId = config.RequireObject\u003cdynamic\u003e(\"subnetId\");\n    var vm1 = new Opentelekomcloud.ComputeInstanceV2(\"vm_1\", new()\n    {\n        Name = \"ecs-test\",\n        ImageName = \"Standard_Debian_11_latest\",\n        FlavorName = \"s3.large.2\",\n        Networks = new[]\n        {\n            new Opentelekomcloud.Inputs.ComputeInstanceV2NetworkArgs\n            {\n                Uuid = subnetId,\n            },\n        },\n    });\n\n    var test = new Opentelekomcloud.CesResourceGroupV2(\"test\", new()\n    {\n        Name = \"test\",\n        Resources = new[]\n        {\n            new Opentelekomcloud.Inputs.CesResourceGroupV2ResourceArgs\n            {\n                Namespace = \"SYS.ECS\",\n                Dimensions = new[]\n                {\n                    new Opentelekomcloud.Inputs.CesResourceGroupV2ResourceDimensionArgs\n                    {\n                        Name = \"instance_id\",\n                        Value = vm1.ComputeInstanceV2Id,\n                    },\n                },\n            },\n            new Opentelekomcloud.Inputs.CesResourceGroupV2ResourceArgs\n            {\n                Namespace = \"SYS.EVS\",\n                Dimensions = new[]\n                {\n                    new Opentelekomcloud.Inputs.CesResourceGroupV2ResourceDimensionArgs\n                    {\n                        Name = \"disk_name\",\n                        Value = vm1.ComputeInstanceV2Id.Apply(computeInstanceV2Id =\u003e $\"{computeInstanceV2Id}-sda\"),\n                    },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tsubnetId := cfg.RequireObject(\"subnetId\")\n\t\tvm1, err := opentelekomcloud.NewComputeInstanceV2(ctx, \"vm_1\", \u0026opentelekomcloud.ComputeInstanceV2Args{\n\t\t\tName:       pulumi.String(\"ecs-test\"),\n\t\t\tImageName:  pulumi.String(\"Standard_Debian_11_latest\"),\n\t\t\tFlavorName: pulumi.String(\"s3.large.2\"),\n\t\t\tNetworks: opentelekomcloud.ComputeInstanceV2NetworkArray{\n\t\t\t\t\u0026opentelekomcloud.ComputeInstanceV2NetworkArgs{\n\t\t\t\t\tUuid: pulumi.Any(subnetId),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewCesResourceGroupV2(ctx, \"test\", \u0026opentelekomcloud.CesResourceGroupV2Args{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tResources: opentelekomcloud.CesResourceGroupV2ResourceArray{\n\t\t\t\t\u0026opentelekomcloud.CesResourceGroupV2ResourceArgs{\n\t\t\t\t\tNamespace: pulumi.String(\"SYS.ECS\"),\n\t\t\t\t\tDimensions: opentelekomcloud.CesResourceGroupV2ResourceDimensionArray{\n\t\t\t\t\t\t\u0026opentelekomcloud.CesResourceGroupV2ResourceDimensionArgs{\n\t\t\t\t\t\t\tName:  pulumi.String(\"instance_id\"),\n\t\t\t\t\t\t\tValue: vm1.ComputeInstanceV2Id,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026opentelekomcloud.CesResourceGroupV2ResourceArgs{\n\t\t\t\t\tNamespace: pulumi.String(\"SYS.EVS\"),\n\t\t\t\t\tDimensions: opentelekomcloud.CesResourceGroupV2ResourceDimensionArray{\n\t\t\t\t\t\t\u0026opentelekomcloud.CesResourceGroupV2ResourceDimensionArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"disk_name\"),\n\t\t\t\t\t\t\tValue: vm1.ComputeInstanceV2Id.ApplyT(func(computeInstanceV2Id string) (string, error) {\n\t\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v-sda\", computeInstanceV2Id), nil\n\t\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ComputeInstanceV2;\nimport com.pulumi.opentelekomcloud.ComputeInstanceV2Args;\nimport com.pulumi.opentelekomcloud.inputs.ComputeInstanceV2NetworkArgs;\nimport com.pulumi.opentelekomcloud.CesResourceGroupV2;\nimport com.pulumi.opentelekomcloud.CesResourceGroupV2Args;\nimport com.pulumi.opentelekomcloud.inputs.CesResourceGroupV2ResourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var subnetId = config.get(\"subnetId\");\n        var vm1 = new ComputeInstanceV2(\"vm1\", ComputeInstanceV2Args.builder()\n            .name(\"ecs-test\")\n            .imageName(\"Standard_Debian_11_latest\")\n            .flavorName(\"s3.large.2\")\n            .networks(ComputeInstanceV2NetworkArgs.builder()\n                .uuid(subnetId)\n                .build())\n            .build());\n\n        var test = new CesResourceGroupV2(\"test\", CesResourceGroupV2Args.builder()\n            .name(\"test\")\n            .resources(            \n                CesResourceGroupV2ResourceArgs.builder()\n                    .namespace(\"SYS.ECS\")\n                    .dimensions(CesResourceGroupV2ResourceDimensionArgs.builder()\n                        .name(\"instance_id\")\n                        .value(vm1.computeInstanceV2Id())\n                        .build())\n                    .build(),\n                CesResourceGroupV2ResourceArgs.builder()\n                    .namespace(\"SYS.EVS\")\n                    .dimensions(CesResourceGroupV2ResourceDimensionArgs.builder()\n                        .name(\"disk_name\")\n                        .value(vm1.computeInstanceV2Id().applyValue(_computeInstanceV2Id -\u003e String.format(\"%s-sda\", _computeInstanceV2Id)))\n                        .build())\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  subnetId:\n    type: dynamic\nresources:\n  vm1:\n    type: opentelekomcloud:ComputeInstanceV2\n    name: vm_1\n    properties:\n      name: ecs-test\n      imageName: Standard_Debian_11_latest\n      flavorName: s3.large.2\n      networks:\n        - uuid: ${subnetId}\n  test:\n    type: opentelekomcloud:CesResourceGroupV2\n    properties:\n      name: test\n      resources:\n        - namespace: SYS.ECS\n          dimensions:\n            - name: instance_id\n              value: ${vm1.computeInstanceV2Id}\n        - namespace: SYS.EVS\n          dimensions:\n            - name: disk_name\n              value: ${vm1.computeInstanceV2Id}-sda\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Add resources from enterprise projects\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst epsId = config.requireObject\u003cany\u003e(\"epsId\");\nconst test = new opentelekomcloud.CesResourceGroupV2(\"test\", {\n    name: \"test\",\n    type: \"EPS\",\n    associatedEpsIds: [epsId],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\neps_id = config.require_object(\"epsId\")\ntest = opentelekomcloud.CesResourceGroupV2(\"test\",\n    name=\"test\",\n    type=\"EPS\",\n    associated_eps_ids=[eps_id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var epsId = config.RequireObject\u003cdynamic\u003e(\"epsId\");\n    var test = new Opentelekomcloud.CesResourceGroupV2(\"test\", new()\n    {\n        Name = \"test\",\n        Type = \"EPS\",\n        AssociatedEpsIds = new[]\n        {\n            epsId,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tepsId := cfg.RequireObject(\"epsId\")\n\t\t_, err := opentelekomcloud.NewCesResourceGroupV2(ctx, \"test\", \u0026opentelekomcloud.CesResourceGroupV2Args{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tType: pulumi.String(\"EPS\"),\n\t\t\tAssociatedEpsIds: pulumi.StringArray{\n\t\t\t\tepsId,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.CesResourceGroupV2;\nimport com.pulumi.opentelekomcloud.CesResourceGroupV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var epsId = config.get(\"epsId\");\n        var test = new CesResourceGroupV2(\"test\", CesResourceGroupV2Args.builder()\n            .name(\"test\")\n            .type(\"EPS\")\n            .associatedEpsIds(epsId)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  epsId:\n    type: dynamic\nresources:\n  test:\n    type: opentelekomcloud:CesResourceGroupV2\n    properties:\n      name: test\n      type: EPS\n      associatedEpsIds:\n        - ${epsId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Add resources by tags\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst test = new opentelekomcloud.CesResourceGroupV2(\"test\", {\n    name: \"test\",\n    type: \"TAG\",\n    tags: {\n        key: \"value\",\n        foo: \"bar\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ntest = opentelekomcloud.CesResourceGroupV2(\"test\",\n    name=\"test\",\n    type=\"TAG\",\n    tags={\n        \"key\": \"value\",\n        \"foo\": \"bar\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = new Opentelekomcloud.CesResourceGroupV2(\"test\", new()\n    {\n        Name = \"test\",\n        Type = \"TAG\",\n        Tags = \n        {\n            { \"key\", \"value\" },\n            { \"foo\", \"bar\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewCesResourceGroupV2(ctx, \"test\", \u0026opentelekomcloud.CesResourceGroupV2Args{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tType: pulumi.String(\"TAG\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"key\": pulumi.String(\"value\"),\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.CesResourceGroupV2;\nimport com.pulumi.opentelekomcloud.CesResourceGroupV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test = new CesResourceGroupV2(\"test\", CesResourceGroupV2Args.builder()\n            .name(\"test\")\n            .type(\"TAG\")\n            .tags(Map.ofEntries(\n                Map.entry(\"key\", \"value\"),\n                Map.entry(\"foo\", \"bar\")\n            ))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test:\n    type: opentelekomcloud:CesResourceGroupV2\n    properties:\n      name: test\n      type: TAG\n      tags:\n        key: value\n        foo: bar\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe resource group can be imported using the `id`, e.g.\n\nbash\n\n```sh\n$ pulumi import opentelekomcloud:index/cesResourceGroupV2:CesResourceGroupV2 test 0ce123456a00f2591fabc00385ff1234\n```\n\nNote that the imported state may not be identical to your resource definition, due to some attributes missing from the\n\nAPI response, security or some other reason. The missing attributes include: `resources`.\n\nIt is generally recommended running `pulumi preview` after importing a resource group.\n\nYou can then decide if changes should be applied to the resource group, or the resource definition should be updated to\n\nalign with the resource group. Also you can ignore changes as below.\n\nhcl\n\nresource \"opentelekomcloud_ces_resource_group_v2\" \"test\" {\n\n  lifecycle {\n\n    ignore_changes = [\n\n      resources,\n\n    ]\n\n  }\n\n}\n\n","properties":{"associatedEpsIds":{"type":"array","items":{"type":"string"},"description":"Specifies the enterprise project IDs where the resources from.\nIt's required if the value of type is **EPS**.\nChanging this parameter will create a new resource.\n"},"cesResourceGroupV2Id":{"type":"string","description":"The resource ID.\n"},"createdAt":{"type":"string","description":"The creation time.\n"},"enterpriseProjectId":{"type":"string","description":"Specifies the enterprise project ID of the resource group.\nChanging this parameter will create a new resource.\n"},"name":{"type":"string","description":"Specifies the dimension name.\nThe value can be a string of 1 to 32 characters that must start with a letter\nand contain only letters, digits, and underscores (_).\n"},"region":{"type":"string","description":"The region in which the resource group is created.\n"},"resources":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCesResourceGroupV2Resource:CesResourceGroupV2Resource"},"description":"Specifies the list of resources to add into the group.\nThe resources structure is documented below.\n\n\u003ca name=\"ResourceGroup_resources\"\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`resources`\" pulumi-lang-dotnet=\"`Resources`\" pulumi-lang-go=\"`resources`\" pulumi-lang-python=\"`resources`\" pulumi-lang-yaml=\"`resources`\" pulumi-lang-java=\"`resources`\"\u003e`resources`\u003c/span\u003e block supports:\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the key/value to match resources.\nIt's required if the value of type is **TAG**.\n"},"type":{"type":"string","description":"Specifies the resource group type.\nThe value can be **EPS**, **TAG**, and **Manual**. If not specified, that means add resources manually.\nChanging this parameter will create a new resource.\n"}},"type":"object","required":["associatedEpsIds","cesResourceGroupV2Id","createdAt","enterpriseProjectId","name","region","type"],"inputProperties":{"associatedEpsIds":{"type":"array","items":{"type":"string"},"description":"Specifies the enterprise project IDs where the resources from.\nIt's required if the value of type is **EPS**.\nChanging this parameter will create a new resource.\n"},"cesResourceGroupV2Id":{"type":"string","description":"The resource ID.\n"},"enterpriseProjectId":{"type":"string","description":"Specifies the enterprise project ID of the resource group.\nChanging this parameter will create a new resource.\n"},"name":{"type":"string","description":"Specifies the dimension name.\nThe value can be a string of 1 to 32 characters that must start with a letter\nand contain only letters, digits, and underscores (_).\n"},"resources":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCesResourceGroupV2Resource:CesResourceGroupV2Resource"},"description":"Specifies the list of resources to add into the group.\nThe resources structure is documented below.\n\n\u003ca name=\"ResourceGroup_resources\"\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`resources`\" pulumi-lang-dotnet=\"`Resources`\" pulumi-lang-go=\"`resources`\" pulumi-lang-python=\"`resources`\" pulumi-lang-yaml=\"`resources`\" pulumi-lang-java=\"`resources`\"\u003e`resources`\u003c/span\u003e block supports:\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the key/value to match resources.\nIt's required if the value of type is **TAG**.\n"},"type":{"type":"string","description":"Specifies the resource group type.\nThe value can be **EPS**, **TAG**, and **Manual**. If not specified, that means add resources manually.\nChanging this parameter will create a new resource.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering CesResourceGroupV2 resources.\n","properties":{"associatedEpsIds":{"type":"array","items":{"type":"string"},"description":"Specifies the enterprise project IDs where the resources from.\nIt's required if the value of type is **EPS**.\nChanging this parameter will create a new resource.\n"},"cesResourceGroupV2Id":{"type":"string","description":"The resource ID.\n"},"createdAt":{"type":"string","description":"The creation time.\n"},"enterpriseProjectId":{"type":"string","description":"Specifies the enterprise project ID of the resource group.\nChanging this parameter will create a new resource.\n"},"name":{"type":"string","description":"Specifies the dimension name.\nThe value can be a string of 1 to 32 characters that must start with a letter\nand contain only letters, digits, and underscores (_).\n"},"region":{"type":"string","description":"The region in which the resource group is created.\n"},"resources":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCesResourceGroupV2Resource:CesResourceGroupV2Resource"},"description":"Specifies the list of resources to add into the group.\nThe resources structure is documented below.\n\n\u003ca name=\"ResourceGroup_resources\"\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`resources`\" pulumi-lang-dotnet=\"`Resources`\" pulumi-lang-go=\"`resources`\" pulumi-lang-python=\"`resources`\" pulumi-lang-yaml=\"`resources`\" pulumi-lang-java=\"`resources`\"\u003e`resources`\u003c/span\u003e block supports:\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the key/value to match resources.\nIt's required if the value of type is **TAG**.\n"},"type":{"type":"string","description":"Specifies the resource group type.\nThe value can be **EPS**, **TAG**, and **Manual**. If not specified, that means add resources manually.\nChanging this parameter will create a new resource.\n"}},"type":"object"}},"opentelekomcloud:index/cfwAclRuleV1:CfwAclRuleV1":{"description":"Up-to-date reference of API arguments for CFW ACL rule you can get at\n[documentation portal](https://docs.otc.t-systems.com/cloud-firewall/api-ref/api/acl_rule_management/index.html)\n\nManages a CFW ACL rule resource within OpenTelekomCloud.\n\n## Example Usage\n\n### \n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst objectId = config.requireObject\u003cany\u003e(\"objectId\");\nconst rule1 = new opentelekomcloud.CfwAclRuleV1(\"rule_1\", {\n    objectId: objectId,\n    type: 0,\n    name: \"test-acc-tf-acl-rule\",\n    sequence: {\n        top: 1,\n    },\n    addressType: 0,\n    actionType: 0,\n    status: 1,\n    longConnectEnable: 0,\n    direction: 0,\n    source: {\n        type: 0,\n        address: \"1.1.1.1\",\n    },\n    destination: {\n        type: 0,\n        address: \"2.2.2.2\",\n    },\n    service: {\n        type: 0,\n        protocol: -1,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nobject_id = config.require_object(\"objectId\")\nrule1 = opentelekomcloud.CfwAclRuleV1(\"rule_1\",\n    object_id=object_id,\n    type=0,\n    name=\"test-acc-tf-acl-rule\",\n    sequence={\n        \"top\": 1,\n    },\n    address_type=0,\n    action_type=0,\n    status=1,\n    long_connect_enable=0,\n    direction=0,\n    source={\n        \"type\": 0,\n        \"address\": \"1.1.1.1\",\n    },\n    destination={\n        \"type\": 0,\n        \"address\": \"2.2.2.2\",\n    },\n    service={\n        \"type\": 0,\n        \"protocol\": -1,\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var objectId = config.RequireObject\u003cdynamic\u003e(\"objectId\");\n    var rule1 = new Opentelekomcloud.CfwAclRuleV1(\"rule_1\", new()\n    {\n        ObjectId = objectId,\n        Type = 0,\n        Name = \"test-acc-tf-acl-rule\",\n        Sequence = new Opentelekomcloud.Inputs.CfwAclRuleV1SequenceArgs\n        {\n            Top = 1,\n        },\n        AddressType = 0,\n        ActionType = 0,\n        Status = 1,\n        LongConnectEnable = 0,\n        Direction = 0,\n        Source = new Opentelekomcloud.Inputs.CfwAclRuleV1SourceArgs\n        {\n            Type = 0,\n            Address = \"1.1.1.1\",\n        },\n        Destination = new Opentelekomcloud.Inputs.CfwAclRuleV1DestinationArgs\n        {\n            Type = 0,\n            Address = \"2.2.2.2\",\n        },\n        Service = new Opentelekomcloud.Inputs.CfwAclRuleV1ServiceArgs\n        {\n            Type = 0,\n            Protocol = -1,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tobjectId := cfg.RequireObject(\"objectId\")\n\t\t_, err := opentelekomcloud.NewCfwAclRuleV1(ctx, \"rule_1\", \u0026opentelekomcloud.CfwAclRuleV1Args{\n\t\t\tObjectId: pulumi.Any(objectId),\n\t\t\tType:     pulumi.Float64(0),\n\t\t\tName:     pulumi.String(\"test-acc-tf-acl-rule\"),\n\t\t\tSequence: \u0026opentelekomcloud.CfwAclRuleV1SequenceArgs{\n\t\t\t\tTop: pulumi.Float64(1),\n\t\t\t},\n\t\t\tAddressType:       pulumi.Float64(0),\n\t\t\tActionType:        pulumi.Float64(0),\n\t\t\tStatus:            pulumi.Float64(1),\n\t\t\tLongConnectEnable: pulumi.Float64(0),\n\t\t\tDirection:         pulumi.Float64(0),\n\t\t\tSource: \u0026opentelekomcloud.CfwAclRuleV1SourceArgs{\n\t\t\t\tType:    pulumi.Float64(0),\n\t\t\t\tAddress: pulumi.String(\"1.1.1.1\"),\n\t\t\t},\n\t\t\tDestination: \u0026opentelekomcloud.CfwAclRuleV1DestinationArgs{\n\t\t\t\tType:    pulumi.Float64(0),\n\t\t\t\tAddress: pulumi.String(\"2.2.2.2\"),\n\t\t\t},\n\t\t\tService: \u0026opentelekomcloud.CfwAclRuleV1ServiceArgs{\n\t\t\t\tType:     pulumi.Float64(0),\n\t\t\t\tProtocol: pulumi.Float64(-1),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.CfwAclRuleV1;\nimport com.pulumi.opentelekomcloud.CfwAclRuleV1Args;\nimport com.pulumi.opentelekomcloud.inputs.CfwAclRuleV1SequenceArgs;\nimport com.pulumi.opentelekomcloud.inputs.CfwAclRuleV1SourceArgs;\nimport com.pulumi.opentelekomcloud.inputs.CfwAclRuleV1DestinationArgs;\nimport com.pulumi.opentelekomcloud.inputs.CfwAclRuleV1ServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var objectId = config.get(\"objectId\");\n        var rule1 = new CfwAclRuleV1(\"rule1\", CfwAclRuleV1Args.builder()\n            .objectId(objectId)\n            .type(0.0)\n            .name(\"test-acc-tf-acl-rule\")\n            .sequence(CfwAclRuleV1SequenceArgs.builder()\n                .top(1.0)\n                .build())\n            .addressType(0.0)\n            .actionType(0.0)\n            .status(1.0)\n            .longConnectEnable(0.0)\n            .direction(0.0)\n            .source(CfwAclRuleV1SourceArgs.builder()\n                .type(0.0)\n                .address(\"1.1.1.1\")\n                .build())\n            .destination(CfwAclRuleV1DestinationArgs.builder()\n                .type(0.0)\n                .address(\"2.2.2.2\")\n                .build())\n            .service(CfwAclRuleV1ServiceArgs.builder()\n                .type(0.0)\n                .protocol(-1.0)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  objectId:\n    type: dynamic\nresources:\n  rule1:\n    type: opentelekomcloud:CfwAclRuleV1\n    name: rule_1\n    properties:\n      objectId: ${objectId}\n      type: 0\n      name: test-acc-tf-acl-rule\n      sequence:\n        top: 1\n      addressType: 0\n      actionType: 0\n      status: 1\n      longConnectEnable: 0\n      direction: 0\n      source:\n        type: 0\n        address: 1.1.1.1\n      destination:\n        type: 0\n        address: 2.2.2.2\n      service:\n        type: 0\n        protocol: -1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCFW ACL V1 Rule can be imported using the CFW Firewall protection object ID, `object_id` and rule name `name`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/cfwAclRuleV1:CfwAclRuleV1 rule_1 b4cd6aeb0b7445d3bf271457c6941544in09/name\n```\n\n","properties":{"actionType":{"type":"number","description":"Specifies the rule action: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (permit), \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (deny).\n"},"addressType":{"type":"number","description":"Specifies theInternet protocol type of an address: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (IPv4), \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (IPv6). If type is 0, this parameter cannot be left blank.\n"},"applications":{"type":"array","items":{"type":"string"},"description":"Specifies the rule application list . Allowed list values: `HTTP`, `HTTPS`, `TLS1`, `DNS`, `SSH`, `MYSQL`, `SMTP`, `RDP`, `RDPS`, `VNC`, `POP3`, `IMAP4`, `SMTPS`, `POP3S`, `FTPS`, `ANY`, or `BGP`.\n"},"applicationsJsonString":{"type":"string","description":"Specifies the JSON string converted from the \u003cspan pulumi-lang-nodejs=\"`applications`\" pulumi-lang-dotnet=\"`Applications`\" pulumi-lang-go=\"`applications`\" pulumi-lang-python=\"`applications`\" pulumi-lang-yaml=\"`applications`\" pulumi-lang-java=\"`applications`\"\u003e`applications`\u003c/span\u003e field in the application list.\n"},"createdDate":{"type":"string","description":"Indicates the Rule creation time in YYYY-MM-DD hh:mm:ss format.\n"},"description":{"type":"string","description":"Specifies the description of the rule.\n"},"destination":{"$ref":"#/types/opentelekomcloud:index%2FCfwAclRuleV1Destination:CfwAclRuleV1Destination","description":"Specifies the destination address Data Transport Object.\nThe destination structure is documented below.\n"},"direction":{"type":"number","description":"Specifies the Direction: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (inbound) or \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (outbound). This parameter is **mandatory** **when** \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (Internet rule) or \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e (NAT rule).\n"},"lastOpenTime":{"type":"string","description":"Indicates the Last time when the rule was enabled in  YYYY-MM-DD hh:mm:ss format.\n"},"longConnectEnable":{"type":"number","description":"Specifies whether to support persistent connections: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (no), \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (yes).\n"},"longConnectTime":{"type":"number","description":"Specifies the persistent connection duration.\n"},"longConnectTimeHour":{"type":"number","description":"Specifies the persistent connection duration (hour).\n"},"longConnectTimeMinute":{"type":"number","description":"Specifies the persistent connection duration (minute).\n"},"longConnectTimeSecond":{"type":"number","description":"Specifies the persistent connection duration (second).\n"},"name":{"type":"string","description":"Specifies the CFW ACL rule name. The CFW ACL rule name of the same type is unique in the same firewall instance.\n"},"objectId":{"type":"string","description":"Protected object ID, which is used to distinguish between Internet border protection and VPC border protection after a cloud firewall is created. If the value of type is 0, the protected object ID belongs to the Internet border. If the value of type is 1, the protected object ID belongs to the VPC border.\n"},"sequence":{"$ref":"#/types/opentelekomcloud:index%2FCfwAclRuleV1Sequence:CfwAclRuleV1Sequence","description":"Specifies the request body for changing the rule sequence. The sequence structure is documented below.\n"},"service":{"$ref":"#/types/opentelekomcloud:index%2FCfwAclRuleV1Service:CfwAclRuleV1Service","description":"Specifies the service object.\nThe service structure is documented below.\n\n\u003ca name=\"sequence\"\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`sequence`\" pulumi-lang-dotnet=\"`Sequence`\" pulumi-lang-go=\"`sequence`\" pulumi-lang-python=\"`sequence`\" pulumi-lang-yaml=\"`sequence`\" pulumi-lang-java=\"`sequence`\"\u003e`sequence`\u003c/span\u003e block supports:\n"},"source":{"$ref":"#/types/opentelekomcloud:index%2FCfwAclRuleV1Source:CfwAclRuleV1Source","description":"Specifies the source address Data Transport Object.\nThe source structure is documented below.\n"},"status":{"type":"number","description":"Specifies the rule status: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (disabled), \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (enabled).\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCfwAclRuleV1Timeouts:CfwAclRuleV1Timeouts"},"type":{"type":"number","description":"Specifies the service input type: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (manual), \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (automatic).\n"}},"type":"object","required":["actionType","addressType","createdDate","destination","lastOpenTime","longConnectEnable","name","objectId","sequence","service","source","status","type"],"inputProperties":{"actionType":{"type":"number","description":"Specifies the rule action: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (permit), \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (deny).\n"},"addressType":{"type":"number","description":"Specifies theInternet protocol type of an address: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (IPv4), \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (IPv6). If type is 0, this parameter cannot be left blank.\n"},"applications":{"type":"array","items":{"type":"string"},"description":"Specifies the rule application list . Allowed list values: `HTTP`, `HTTPS`, `TLS1`, `DNS`, `SSH`, `MYSQL`, `SMTP`, `RDP`, `RDPS`, `VNC`, `POP3`, `IMAP4`, `SMTPS`, `POP3S`, `FTPS`, `ANY`, or `BGP`.\n"},"applicationsJsonString":{"type":"string","description":"Specifies the JSON string converted from the \u003cspan pulumi-lang-nodejs=\"`applications`\" pulumi-lang-dotnet=\"`Applications`\" pulumi-lang-go=\"`applications`\" pulumi-lang-python=\"`applications`\" pulumi-lang-yaml=\"`applications`\" pulumi-lang-java=\"`applications`\"\u003e`applications`\u003c/span\u003e field in the application list.\n"},"description":{"type":"string","description":"Specifies the description of the rule.\n"},"destination":{"$ref":"#/types/opentelekomcloud:index%2FCfwAclRuleV1Destination:CfwAclRuleV1Destination","description":"Specifies the destination address Data Transport Object.\nThe destination structure is documented below.\n"},"direction":{"type":"number","description":"Specifies the Direction: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (inbound) or \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (outbound). This parameter is **mandatory** **when** \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (Internet rule) or \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e (NAT rule).\n"},"longConnectEnable":{"type":"number","description":"Specifies whether to support persistent connections: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (no), \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (yes).\n"},"longConnectTime":{"type":"number","description":"Specifies the persistent connection duration.\n"},"longConnectTimeHour":{"type":"number","description":"Specifies the persistent connection duration (hour).\n"},"longConnectTimeMinute":{"type":"number","description":"Specifies the persistent connection duration (minute).\n"},"longConnectTimeSecond":{"type":"number","description":"Specifies the persistent connection duration (second).\n"},"name":{"type":"string","description":"Specifies the CFW ACL rule name. The CFW ACL rule name of the same type is unique in the same firewall instance.\n"},"objectId":{"type":"string","description":"Protected object ID, which is used to distinguish between Internet border protection and VPC border protection after a cloud firewall is created. If the value of type is 0, the protected object ID belongs to the Internet border. If the value of type is 1, the protected object ID belongs to the VPC border.\n"},"sequence":{"$ref":"#/types/opentelekomcloud:index%2FCfwAclRuleV1Sequence:CfwAclRuleV1Sequence","description":"Specifies the request body for changing the rule sequence. The sequence structure is documented below.\n"},"service":{"$ref":"#/types/opentelekomcloud:index%2FCfwAclRuleV1Service:CfwAclRuleV1Service","description":"Specifies the service object.\nThe service structure is documented below.\n\n\u003ca name=\"sequence\"\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`sequence`\" pulumi-lang-dotnet=\"`Sequence`\" pulumi-lang-go=\"`sequence`\" pulumi-lang-python=\"`sequence`\" pulumi-lang-yaml=\"`sequence`\" pulumi-lang-java=\"`sequence`\"\u003e`sequence`\u003c/span\u003e block supports:\n"},"source":{"$ref":"#/types/opentelekomcloud:index%2FCfwAclRuleV1Source:CfwAclRuleV1Source","description":"Specifies the source address Data Transport Object.\nThe source structure is documented below.\n"},"status":{"type":"number","description":"Specifies the rule status: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (disabled), \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (enabled).\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCfwAclRuleV1Timeouts:CfwAclRuleV1Timeouts"},"type":{"type":"number","description":"Specifies the service input type: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (manual), \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (automatic).\n"}},"requiredInputs":["actionType","addressType","destination","longConnectEnable","objectId","sequence","service","source","status","type"],"stateInputs":{"description":"Input properties used for looking up and filtering CfwAclRuleV1 resources.\n","properties":{"actionType":{"type":"number","description":"Specifies the rule action: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (permit), \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (deny).\n"},"addressType":{"type":"number","description":"Specifies theInternet protocol type of an address: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (IPv4), \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (IPv6). If type is 0, this parameter cannot be left blank.\n"},"applications":{"type":"array","items":{"type":"string"},"description":"Specifies the rule application list . Allowed list values: `HTTP`, `HTTPS`, `TLS1`, `DNS`, `SSH`, `MYSQL`, `SMTP`, `RDP`, `RDPS`, `VNC`, `POP3`, `IMAP4`, `SMTPS`, `POP3S`, `FTPS`, `ANY`, or `BGP`.\n"},"applicationsJsonString":{"type":"string","description":"Specifies the JSON string converted from the \u003cspan pulumi-lang-nodejs=\"`applications`\" pulumi-lang-dotnet=\"`Applications`\" pulumi-lang-go=\"`applications`\" pulumi-lang-python=\"`applications`\" pulumi-lang-yaml=\"`applications`\" pulumi-lang-java=\"`applications`\"\u003e`applications`\u003c/span\u003e field in the application list.\n"},"createdDate":{"type":"string","description":"Indicates the Rule creation time in YYYY-MM-DD hh:mm:ss format.\n"},"description":{"type":"string","description":"Specifies the description of the rule.\n"},"destination":{"$ref":"#/types/opentelekomcloud:index%2FCfwAclRuleV1Destination:CfwAclRuleV1Destination","description":"Specifies the destination address Data Transport Object.\nThe destination structure is documented below.\n"},"direction":{"type":"number","description":"Specifies the Direction: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (inbound) or \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (outbound). This parameter is **mandatory** **when** \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (Internet rule) or \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e (NAT rule).\n"},"lastOpenTime":{"type":"string","description":"Indicates the Last time when the rule was enabled in  YYYY-MM-DD hh:mm:ss format.\n"},"longConnectEnable":{"type":"number","description":"Specifies whether to support persistent connections: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (no), \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (yes).\n"},"longConnectTime":{"type":"number","description":"Specifies the persistent connection duration.\n"},"longConnectTimeHour":{"type":"number","description":"Specifies the persistent connection duration (hour).\n"},"longConnectTimeMinute":{"type":"number","description":"Specifies the persistent connection duration (minute).\n"},"longConnectTimeSecond":{"type":"number","description":"Specifies the persistent connection duration (second).\n"},"name":{"type":"string","description":"Specifies the CFW ACL rule name. The CFW ACL rule name of the same type is unique in the same firewall instance.\n"},"objectId":{"type":"string","description":"Protected object ID, which is used to distinguish between Internet border protection and VPC border protection after a cloud firewall is created. If the value of type is 0, the protected object ID belongs to the Internet border. If the value of type is 1, the protected object ID belongs to the VPC border.\n"},"sequence":{"$ref":"#/types/opentelekomcloud:index%2FCfwAclRuleV1Sequence:CfwAclRuleV1Sequence","description":"Specifies the request body for changing the rule sequence. The sequence structure is documented below.\n"},"service":{"$ref":"#/types/opentelekomcloud:index%2FCfwAclRuleV1Service:CfwAclRuleV1Service","description":"Specifies the service object.\nThe service structure is documented below.\n\n\u003ca name=\"sequence\"\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`sequence`\" pulumi-lang-dotnet=\"`Sequence`\" pulumi-lang-go=\"`sequence`\" pulumi-lang-python=\"`sequence`\" pulumi-lang-yaml=\"`sequence`\" pulumi-lang-java=\"`sequence`\"\u003e`sequence`\u003c/span\u003e block supports:\n"},"source":{"$ref":"#/types/opentelekomcloud:index%2FCfwAclRuleV1Source:CfwAclRuleV1Source","description":"Specifies the source address Data Transport Object.\nThe source structure is documented below.\n"},"status":{"type":"number","description":"Specifies the rule status: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (disabled), \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (enabled).\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCfwAclRuleV1Timeouts:CfwAclRuleV1Timeouts"},"type":{"type":"number","description":"Specifies the service input type: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (manual), \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (automatic).\n"}},"type":"object"}},"opentelekomcloud:index/cfwAddressGroupMemberV1:CfwAddressGroupMemberV1":{"description":"Up-to-date reference of API arguments for CFW address group member you can get at\n[documentation portal](https://docs.otc.t-systems.com/cloud-firewall/api-ref/api/address_group_management/index.html)\n\nManages a CFW Address Group Member resource within OpenTelekomCloud.\n\n## Example Usage\n\n### \n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst setId = config.requireObject\u003cany\u003e(\"setId\");\nconst group1 = new opentelekomcloud.CfwAddressGroupMemberV1(\"group_1\", {\n    setId: setId,\n    address: \"1.1.1.1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nset_id = config.require_object(\"setId\")\ngroup1 = opentelekomcloud.CfwAddressGroupMemberV1(\"group_1\",\n    set_id=set_id,\n    address=\"1.1.1.1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var setId = config.RequireObject\u003cdynamic\u003e(\"setId\");\n    var group1 = new Opentelekomcloud.CfwAddressGroupMemberV1(\"group_1\", new()\n    {\n        SetId = setId,\n        Address = \"1.1.1.1\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tsetId := cfg.RequireObject(\"setId\")\n\t\t_, err := opentelekomcloud.NewCfwAddressGroupMemberV1(ctx, \"group_1\", \u0026opentelekomcloud.CfwAddressGroupMemberV1Args{\n\t\t\tSetId:   pulumi.Any(setId),\n\t\t\tAddress: pulumi.String(\"1.1.1.1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.CfwAddressGroupMemberV1;\nimport com.pulumi.opentelekomcloud.CfwAddressGroupMemberV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var setId = config.get(\"setId\");\n        var group1 = new CfwAddressGroupMemberV1(\"group1\", CfwAddressGroupMemberV1Args.builder()\n            .setId(setId)\n            .address(\"1.1.1.1\")\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  setId:\n    type: dynamic\nresources:\n  group1:\n    type: opentelekomcloud:CfwAddressGroupMemberV1\n    name: group_1\n    properties:\n      setId: ${setId}\n      address: 1.1.1.1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCFW Address Group Member V1 resource can be imported using the address group ID, `set_id` and IP address, `address`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/cfwAddressGroupMemberV1:CfwAddressGroupMemberV1 member_1 b4cd6aeb0b7445d3bf271457c6941544in09/address\n```\n\n","properties":{"address":{"type":"string","description":"Specifies the IP Address.\n"},"addressType":{"type":"number","description":"Specifies the Internet protocol type of an address: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (IPv4), \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (IPv6).\n"},"description":{"type":"string","description":"Specifies the description of the address group member.\n"},"name":{"type":"string","description":"Indicates the CFW Address group member name.\n"},"setId":{"type":"string","description":"Specifies the address group ID.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCfwAddressGroupMemberV1Timeouts:CfwAddressGroupMemberV1Timeouts"}},"type":"object","required":["address","name","setId"],"inputProperties":{"address":{"type":"string","description":"Specifies the IP Address.\n"},"addressType":{"type":"number","description":"Specifies the Internet protocol type of an address: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (IPv4), \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (IPv6).\n"},"description":{"type":"string","description":"Specifies the description of the address group member.\n"},"setId":{"type":"string","description":"Specifies the address group ID.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCfwAddressGroupMemberV1Timeouts:CfwAddressGroupMemberV1Timeouts"}},"requiredInputs":["address","setId"],"stateInputs":{"description":"Input properties used for looking up and filtering CfwAddressGroupMemberV1 resources.\n","properties":{"address":{"type":"string","description":"Specifies the IP Address.\n"},"addressType":{"type":"number","description":"Specifies the Internet protocol type of an address: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (IPv4), \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (IPv6).\n"},"description":{"type":"string","description":"Specifies the description of the address group member.\n"},"name":{"type":"string","description":"Indicates the CFW Address group member name.\n"},"setId":{"type":"string","description":"Specifies the address group ID.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCfwAddressGroupMemberV1Timeouts:CfwAddressGroupMemberV1Timeouts"}},"type":"object"}},"opentelekomcloud:index/cfwAddressGroupV1:CfwAddressGroupV1":{"description":"Up-to-date reference of API arguments for CFW address group you can get at\n[documentation portal](https://docs.otc.t-systems.com/cloud-firewall/api-ref/api/address_group_management/index.html)\n\nManages a CFW Address Group resource within OpenTelekomCloud.\n\n## Example Usage\n\n### \n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst objectId = config.requireObject\u003cany\u003e(\"objectId\");\nconst group1 = new opentelekomcloud.CfwAddressGroupV1(\"group_1\", {\n    objectId: objectId,\n    name: \"test-acc-tf-address-group\",\n    addressType: 0,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nobject_id = config.require_object(\"objectId\")\ngroup1 = opentelekomcloud.CfwAddressGroupV1(\"group_1\",\n    object_id=object_id,\n    name=\"test-acc-tf-address-group\",\n    address_type=0)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var objectId = config.RequireObject\u003cdynamic\u003e(\"objectId\");\n    var group1 = new Opentelekomcloud.CfwAddressGroupV1(\"group_1\", new()\n    {\n        ObjectId = objectId,\n        Name = \"test-acc-tf-address-group\",\n        AddressType = 0,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tobjectId := cfg.RequireObject(\"objectId\")\n\t\t_, err := opentelekomcloud.NewCfwAddressGroupV1(ctx, \"group_1\", \u0026opentelekomcloud.CfwAddressGroupV1Args{\n\t\t\tObjectId:    pulumi.Any(objectId),\n\t\t\tName:        pulumi.String(\"test-acc-tf-address-group\"),\n\t\t\tAddressType: pulumi.Float64(0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.CfwAddressGroupV1;\nimport com.pulumi.opentelekomcloud.CfwAddressGroupV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var objectId = config.get(\"objectId\");\n        var group1 = new CfwAddressGroupV1(\"group1\", CfwAddressGroupV1Args.builder()\n            .objectId(objectId)\n            .name(\"test-acc-tf-address-group\")\n            .addressType(0.0)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  objectId:\n    type: dynamic\nresources:\n  group1:\n    type: opentelekomcloud:CfwAddressGroupV1\n    name: group_1\n    properties:\n      objectId: ${objectId}\n      name: test-acc-tf-address-group\n      addressType: 0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Notes\n\nBut due to some attributes missing from the API response, it's required to ignore changes as below:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst group1 = new opentelekomcloud.CfwAddressGroupV1(\"group_1\", {});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ngroup1 = opentelekomcloud.CfwAddressGroupV1(\"group_1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var group1 = new Opentelekomcloud.CfwAddressGroupV1(\"group_1\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewCfwAddressGroupV1(ctx, \"group_1\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.CfwAddressGroupV1;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var group1 = new CfwAddressGroupV1(\"group1\");\n\n    }\n}\n```\n```yaml\nresources:\n  group1:\n    type: opentelekomcloud:CfwAddressGroupV1\n    name: group_1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCFW Address Group V1 resource can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/cfwAddressGroupV1:CfwAddressGroupV1 group_1 b4cd6aeb0b7445d3bf271457c6941544in09\n```\n\n","properties":{"addressSetType":{"type":"number","description":"Indicates the Address group type: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (user-defined address group), \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (WAF back-to-source IP address group), \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e (DDoS back-to-source IP address group), or \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e (NAT64 address group).\n"},"addressType":{"type":"number","description":"Specifies the Internet protocol type of an address: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (IPv4), \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (IPv6).\n"},"description":{"type":"string","description":"Specifies the description of the address group.\n"},"name":{"type":"string","description":"Specifies the CFW Address group name. The CFW address group name of the same type is unique in the same firewall.\n"},"objectId":{"type":"string","description":"Protected object ID, which is used to distinguish between Internet border protection and VPC border protection after a cloud firewall is created. If the value of type is 0, the protected object ID belongs to the Internet border. If the value of type is 1, the protected object ID belongs to the VPC border.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCfwAddressGroupV1Timeouts:CfwAddressGroupV1Timeouts"}},"type":"object","required":["addressSetType","name","objectId"],"inputProperties":{"addressType":{"type":"number","description":"Specifies the Internet protocol type of an address: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (IPv4), \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (IPv6).\n"},"description":{"type":"string","description":"Specifies the description of the address group.\n"},"name":{"type":"string","description":"Specifies the CFW Address group name. The CFW address group name of the same type is unique in the same firewall.\n"},"objectId":{"type":"string","description":"Protected object ID, which is used to distinguish between Internet border protection and VPC border protection after a cloud firewall is created. If the value of type is 0, the protected object ID belongs to the Internet border. If the value of type is 1, the protected object ID belongs to the VPC border.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCfwAddressGroupV1Timeouts:CfwAddressGroupV1Timeouts"}},"requiredInputs":["objectId"],"stateInputs":{"description":"Input properties used for looking up and filtering CfwAddressGroupV1 resources.\n","properties":{"addressSetType":{"type":"number","description":"Indicates the Address group type: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (user-defined address group), \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (WAF back-to-source IP address group), \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e (DDoS back-to-source IP address group), or \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e (NAT64 address group).\n"},"addressType":{"type":"number","description":"Specifies the Internet protocol type of an address: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (IPv4), \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (IPv6).\n"},"description":{"type":"string","description":"Specifies the description of the address group.\n"},"name":{"type":"string","description":"Specifies the CFW Address group name. The CFW address group name of the same type is unique in the same firewall.\n"},"objectId":{"type":"string","description":"Protected object ID, which is used to distinguish between Internet border protection and VPC border protection after a cloud firewall is created. If the value of type is 0, the protected object ID belongs to the Internet border. If the value of type is 1, the protected object ID belongs to the VPC border.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCfwAddressGroupV1Timeouts:CfwAddressGroupV1Timeouts"}},"type":"object"}},"opentelekomcloud:index/cfwBlacklistWhitelistRuleV1:CfwBlacklistWhitelistRuleV1":{"description":"Up-to-date reference of API arguments for CFW blacklist/whitelist rule you can get at\n[documentation portal](https://docs.otc.t-systems.com/cloud-firewall/api-ref/api/blacklist_whitelist_management/index.html)\n\nManages a CFW blacklist/whitelist rule resource within OpenTelekomCloud.\n\n## Example Usage\n\n### \n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst objectId = config.requireObject\u003cany\u003e(\"objectId\");\nconst rule1 = new opentelekomcloud.CfwBlacklistWhitelistRuleV1(\"rule_1\", {\n    objectId: objectId,\n    listType: 5,\n    direction: 0,\n    addressType: 0,\n    address: \"1.1.1.1\",\n    protocol: 6,\n    port: \"1\",\n    description: \"Test111161\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nobject_id = config.require_object(\"objectId\")\nrule1 = opentelekomcloud.CfwBlacklistWhitelistRuleV1(\"rule_1\",\n    object_id=object_id,\n    list_type=5,\n    direction=0,\n    address_type=0,\n    address=\"1.1.1.1\",\n    protocol=6,\n    port=\"1\",\n    description=\"Test111161\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var objectId = config.RequireObject\u003cdynamic\u003e(\"objectId\");\n    var rule1 = new Opentelekomcloud.CfwBlacklistWhitelistRuleV1(\"rule_1\", new()\n    {\n        ObjectId = objectId,\n        ListType = 5,\n        Direction = 0,\n        AddressType = 0,\n        Address = \"1.1.1.1\",\n        Protocol = 6,\n        Port = \"1\",\n        Description = \"Test111161\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tobjectId := cfg.RequireObject(\"objectId\")\n\t\t_, err := opentelekomcloud.NewCfwBlacklistWhitelistRuleV1(ctx, \"rule_1\", \u0026opentelekomcloud.CfwBlacklistWhitelistRuleV1Args{\n\t\t\tObjectId:    pulumi.Any(objectId),\n\t\t\tListType:    pulumi.Float64(5),\n\t\t\tDirection:   pulumi.Float64(0),\n\t\t\tAddressType: pulumi.Float64(0),\n\t\t\tAddress:     pulumi.String(\"1.1.1.1\"),\n\t\t\tProtocol:    pulumi.Float64(6),\n\t\t\tPort:        pulumi.String(\"1\"),\n\t\t\tDescription: pulumi.String(\"Test111161\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.CfwBlacklistWhitelistRuleV1;\nimport com.pulumi.opentelekomcloud.CfwBlacklistWhitelistRuleV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var objectId = config.get(\"objectId\");\n        var rule1 = new CfwBlacklistWhitelistRuleV1(\"rule1\", CfwBlacklistWhitelistRuleV1Args.builder()\n            .objectId(objectId)\n            .listType(5.0)\n            .direction(0.0)\n            .addressType(0.0)\n            .address(\"1.1.1.1\")\n            .protocol(6.0)\n            .port(\"1\")\n            .description(\"Test111161\")\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  objectId:\n    type: dynamic\nresources:\n  rule1:\n    type: opentelekomcloud:CfwBlacklistWhitelistRuleV1\n    name: rule_1\n    properties:\n      objectId: ${objectId}\n      listType: 5\n      direction: 0\n      addressType: 0\n      address: 1.1.1.1\n      protocol: 6\n      port: '1'\n      description: Test111161\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCFW Blacklist or Whitelist Rule V1 resource can be imported using the object ID, `object_id`, the type of list, `list_type` and IP address, `address`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/cfwBlacklistWhitelistRuleV1:CfwBlacklistWhitelistRuleV1 rule_1 \u003cobject_id\u003e/\u003clist_type\u003e/\u003caddress\u003e\n```\n\n","properties":{"address":{"type":"string","description":"Specifies the IP address.\n"},"addressType":{"type":"number","description":"Specifies the Internet protocol type of an address: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (IPv4), \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (IPv6).\n"},"description":{"type":"string","description":"Specifies the description of the blacklist or whitelist rule.\n"},"direction":{"type":"number","description":"Specifies the address direction: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (source), \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (destination).\n"},"listType":{"type":"number","description":"Specifies the list type. \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e (blacklist), \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e (whitelist).\n"},"objectId":{"type":"string","description":"Specifies the protected object ID, which is used to distinguish between Internet border protection and VPC border protection after a cloud firewall is created. If the value of type is 0, the protected object ID belongs to the Internet border. If the value of type is 1, the protected object ID belongs to the VPC border.\n"},"port":{"type":"string","description":"Specifies the destination port.\n"},"protocol":{"type":"number","description":"Specifies the Protocol type: \u003cspan pulumi-lang-nodejs=\"`6`\" pulumi-lang-dotnet=\"`6`\" pulumi-lang-go=\"`6`\" pulumi-lang-python=\"`6`\" pulumi-lang-yaml=\"`6`\" pulumi-lang-java=\"`6`\"\u003e`6`\u003c/span\u003e (TCP), \u003cspan pulumi-lang-nodejs=\"`17`\" pulumi-lang-dotnet=\"`17`\" pulumi-lang-go=\"`17`\" pulumi-lang-python=\"`17`\" pulumi-lang-yaml=\"`17`\" pulumi-lang-java=\"`17`\"\u003e`17`\u003c/span\u003e (UDP), \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (ICMP), \u003cspan pulumi-lang-nodejs=\"`58`\" pulumi-lang-dotnet=\"`58`\" pulumi-lang-go=\"`58`\" pulumi-lang-python=\"`58`\" pulumi-lang-yaml=\"`58`\" pulumi-lang-java=\"`58`\"\u003e`58`\u003c/span\u003e (ICMPv6), or -\u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (any).\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCfwBlacklistWhitelistRuleV1Timeouts:CfwBlacklistWhitelistRuleV1Timeouts"}},"type":"object","required":["address","addressType","direction","listType","objectId","port","protocol"],"inputProperties":{"address":{"type":"string","description":"Specifies the IP address.\n"},"addressType":{"type":"number","description":"Specifies the Internet protocol type of an address: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (IPv4), \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (IPv6).\n"},"description":{"type":"string","description":"Specifies the description of the blacklist or whitelist rule.\n"},"direction":{"type":"number","description":"Specifies the address direction: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (source), \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (destination).\n"},"listType":{"type":"number","description":"Specifies the list type. \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e (blacklist), \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e (whitelist).\n"},"objectId":{"type":"string","description":"Specifies the protected object ID, which is used to distinguish between Internet border protection and VPC border protection after a cloud firewall is created. If the value of type is 0, the protected object ID belongs to the Internet border. If the value of type is 1, the protected object ID belongs to the VPC border.\n"},"port":{"type":"string","description":"Specifies the destination port.\n"},"protocol":{"type":"number","description":"Specifies the Protocol type: \u003cspan pulumi-lang-nodejs=\"`6`\" pulumi-lang-dotnet=\"`6`\" pulumi-lang-go=\"`6`\" pulumi-lang-python=\"`6`\" pulumi-lang-yaml=\"`6`\" pulumi-lang-java=\"`6`\"\u003e`6`\u003c/span\u003e (TCP), \u003cspan pulumi-lang-nodejs=\"`17`\" pulumi-lang-dotnet=\"`17`\" pulumi-lang-go=\"`17`\" pulumi-lang-python=\"`17`\" pulumi-lang-yaml=\"`17`\" pulumi-lang-java=\"`17`\"\u003e`17`\u003c/span\u003e (UDP), \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (ICMP), \u003cspan pulumi-lang-nodejs=\"`58`\" pulumi-lang-dotnet=\"`58`\" pulumi-lang-go=\"`58`\" pulumi-lang-python=\"`58`\" pulumi-lang-yaml=\"`58`\" pulumi-lang-java=\"`58`\"\u003e`58`\u003c/span\u003e (ICMPv6), or -\u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (any).\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCfwBlacklistWhitelistRuleV1Timeouts:CfwBlacklistWhitelistRuleV1Timeouts"}},"requiredInputs":["address","addressType","direction","listType","objectId","port","protocol"],"stateInputs":{"description":"Input properties used for looking up and filtering CfwBlacklistWhitelistRuleV1 resources.\n","properties":{"address":{"type":"string","description":"Specifies the IP address.\n"},"addressType":{"type":"number","description":"Specifies the Internet protocol type of an address: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (IPv4), \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (IPv6).\n"},"description":{"type":"string","description":"Specifies the description of the blacklist or whitelist rule.\n"},"direction":{"type":"number","description":"Specifies the address direction: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (source), \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (destination).\n"},"listType":{"type":"number","description":"Specifies the list type. \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e (blacklist), \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e (whitelist).\n"},"objectId":{"type":"string","description":"Specifies the protected object ID, which is used to distinguish between Internet border protection and VPC border protection after a cloud firewall is created. If the value of type is 0, the protected object ID belongs to the Internet border. If the value of type is 1, the protected object ID belongs to the VPC border.\n"},"port":{"type":"string","description":"Specifies the destination port.\n"},"protocol":{"type":"number","description":"Specifies the Protocol type: \u003cspan pulumi-lang-nodejs=\"`6`\" pulumi-lang-dotnet=\"`6`\" pulumi-lang-go=\"`6`\" pulumi-lang-python=\"`6`\" pulumi-lang-yaml=\"`6`\" pulumi-lang-java=\"`6`\"\u003e`6`\u003c/span\u003e (TCP), \u003cspan pulumi-lang-nodejs=\"`17`\" pulumi-lang-dotnet=\"`17`\" pulumi-lang-go=\"`17`\" pulumi-lang-python=\"`17`\" pulumi-lang-yaml=\"`17`\" pulumi-lang-java=\"`17`\"\u003e`17`\u003c/span\u003e (UDP), \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (ICMP), \u003cspan pulumi-lang-nodejs=\"`58`\" pulumi-lang-dotnet=\"`58`\" pulumi-lang-go=\"`58`\" pulumi-lang-python=\"`58`\" pulumi-lang-yaml=\"`58`\" pulumi-lang-java=\"`58`\"\u003e`58`\u003c/span\u003e (ICMPv6), or -\u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (any).\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCfwBlacklistWhitelistRuleV1Timeouts:CfwBlacklistWhitelistRuleV1Timeouts"}},"type":"object"}},"opentelekomcloud:index/cfwDomainNameGroupV1:CfwDomainNameGroupV1":{"description":"Up-to-date reference of API arguments for CFW domain name group you can get at\n[documentation portal](https://docs.otc.t-systems.com/cloud-firewall/api-ref/api/domain_name_resolution_and_domain_name_group_management/index.html)\n\nManages a CFW domain name Group resource within OpenTelekomCloud.\n\n## Example Usage\n\n### \n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst firewallId = config.requireObject\u003cany\u003e(\"firewallId\");\nconst objectId = config.requireObject\u003cany\u003e(\"objectId\");\nconst group1 = new opentelekomcloud.CfwDomainNameGroupV1(\"group_1\", {\n    firewallId: firewallId,\n    objectId: objectId,\n    name: \"test-acc-tf-domain-group\",\n    domainNames: [{\n        domainName: \"www.testacctf.com\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nfirewall_id = config.require_object(\"firewallId\")\nobject_id = config.require_object(\"objectId\")\ngroup1 = opentelekomcloud.CfwDomainNameGroupV1(\"group_1\",\n    firewall_id=firewall_id,\n    object_id=object_id,\n    name=\"test-acc-tf-domain-group\",\n    domain_names=[{\n        \"domain_name\": \"www.testacctf.com\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var firewallId = config.RequireObject\u003cdynamic\u003e(\"firewallId\");\n    var objectId = config.RequireObject\u003cdynamic\u003e(\"objectId\");\n    var group1 = new Opentelekomcloud.CfwDomainNameGroupV1(\"group_1\", new()\n    {\n        FirewallId = firewallId,\n        ObjectId = objectId,\n        Name = \"test-acc-tf-domain-group\",\n        DomainNames = new[]\n        {\n            new Opentelekomcloud.Inputs.CfwDomainNameGroupV1DomainNameArgs\n            {\n                DomainName = \"www.testacctf.com\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tfirewallId := cfg.RequireObject(\"firewallId\")\n\t\tobjectId := cfg.RequireObject(\"objectId\")\n\t\t_, err := opentelekomcloud.NewCfwDomainNameGroupV1(ctx, \"group_1\", \u0026opentelekomcloud.CfwDomainNameGroupV1Args{\n\t\t\tFirewallId: pulumi.Any(firewallId),\n\t\t\tObjectId:   pulumi.Any(objectId),\n\t\t\tName:       pulumi.String(\"test-acc-tf-domain-group\"),\n\t\t\tDomainNames: opentelekomcloud.CfwDomainNameGroupV1DomainNameArray{\n\t\t\t\t\u0026opentelekomcloud.CfwDomainNameGroupV1DomainNameArgs{\n\t\t\t\t\tDomainName: pulumi.String(\"www.testacctf.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.CfwDomainNameGroupV1;\nimport com.pulumi.opentelekomcloud.CfwDomainNameGroupV1Args;\nimport com.pulumi.opentelekomcloud.inputs.CfwDomainNameGroupV1DomainNameArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var firewallId = config.get(\"firewallId\");\n        final var objectId = config.get(\"objectId\");\n        var group1 = new CfwDomainNameGroupV1(\"group1\", CfwDomainNameGroupV1Args.builder()\n            .firewallId(firewallId)\n            .objectId(objectId)\n            .name(\"test-acc-tf-domain-group\")\n            .domainNames(CfwDomainNameGroupV1DomainNameArgs.builder()\n                .domainName(\"www.testacctf.com\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  firewallId:\n    type: dynamic\n  objectId:\n    type: dynamic\nresources:\n  group1:\n    type: opentelekomcloud:CfwDomainNameGroupV1\n    name: group_1\n    properties:\n      firewallId: ${firewallId}\n      objectId: ${objectId}\n      name: test-acc-tf-domain-group\n      domainNames:\n        - domainName: www.testacctf.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCFW Domain name Group V1 resource can be imported using the firewall ID, `firewall_id`, the object ID, `object_id`, and the name of the group, `name`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/cfwDomainNameGroupV1:CfwDomainNameGroupV1 group_1 \u003cfirewall_id\u003e/\u003cobject_id\u003e/\u003cname\u003e\n```\n\n","properties":{"configStatus":{"type":"number","description":"Indicates the configuration status: `-1` (unconfigured), \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (configuration failed), \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (configuration succeeded), \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e (configuring), 3 (normal), or \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e (abnormal).\n"},"description":{"type":"string","description":"Specifies the domain name description.\n"},"domainNames":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCfwDomainNameGroupV1DomainName:CfwDomainNameGroupV1DomainName"},"description":"Specifies the domain name information list. The\u003cspan pulumi-lang-nodejs=\" domainNames \" pulumi-lang-dotnet=\" DomainNames \" pulumi-lang-go=\" domainNames \" pulumi-lang-python=\" domain_names \" pulumi-lang-yaml=\" domainNames \" pulumi-lang-java=\" domainNames \"\u003e domain_names \u003c/span\u003estructure is documented below.\n"},"domainSetType":{"type":"number","description":"Specifies the domain name group typ: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (application domain name group), \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (network domain name group).\n\n\u003ca name=\"domainnames\"\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`domainNames`\" pulumi-lang-dotnet=\"`DomainNames`\" pulumi-lang-go=\"`domainNames`\" pulumi-lang-python=\"`domain_names`\" pulumi-lang-yaml=\"`domainNames`\" pulumi-lang-java=\"`domainNames`\"\u003e`domain_names`\u003c/span\u003e block supports:\n"},"firewallId":{"type":"string","description":"Specifies the Firewall ID.\n"},"name":{"type":"string","description":"Specifies the CFW domain name group name. The CFW domain name group name of the same type is unique in the same firewall.\n"},"objectId":{"type":"string","description":"Specifies the protected object ID, which is used to distinguish between Internet border protection and VPC border protection after a cloud firewall is created. If the value of type is 0, the protected object ID belongs to the Internet border. If the value of type is 1, the protected object ID belongs to the VPC border.\n"},"refCount":{"type":"number","description":"Indicates the number of times a domain name group is referenced by rules.\n"},"rules":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCfwDomainNameGroupV1Rule:CfwDomainNameGroupV1Rule"},"description":"Indicates the used rule ID list. The \u003cspan pulumi-lang-nodejs=\"`rules`\" pulumi-lang-dotnet=\"`Rules`\" pulumi-lang-go=\"`rules`\" pulumi-lang-python=\"`rules`\" pulumi-lang-yaml=\"`rules`\" pulumi-lang-java=\"`rules`\"\u003e`rules`\u003c/span\u003e structure is as follows:\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCfwDomainNameGroupV1Timeouts:CfwDomainNameGroupV1Timeouts"}},"type":"object","required":["configStatus","domainNames","firewallId","name","objectId","refCount","rules"],"inputProperties":{"description":{"type":"string","description":"Specifies the domain name description.\n"},"domainNames":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCfwDomainNameGroupV1DomainName:CfwDomainNameGroupV1DomainName"},"description":"Specifies the domain name information list. The\u003cspan pulumi-lang-nodejs=\" domainNames \" pulumi-lang-dotnet=\" DomainNames \" pulumi-lang-go=\" domainNames \" pulumi-lang-python=\" domain_names \" pulumi-lang-yaml=\" domainNames \" pulumi-lang-java=\" domainNames \"\u003e domain_names \u003c/span\u003estructure is documented below.\n"},"domainSetType":{"type":"number","description":"Specifies the domain name group typ: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (application domain name group), \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (network domain name group).\n\n\u003ca name=\"domainnames\"\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`domainNames`\" pulumi-lang-dotnet=\"`DomainNames`\" pulumi-lang-go=\"`domainNames`\" pulumi-lang-python=\"`domain_names`\" pulumi-lang-yaml=\"`domainNames`\" pulumi-lang-java=\"`domainNames`\"\u003e`domain_names`\u003c/span\u003e block supports:\n"},"firewallId":{"type":"string","description":"Specifies the Firewall ID.\n"},"name":{"type":"string","description":"Specifies the CFW domain name group name. The CFW domain name group name of the same type is unique in the same firewall.\n"},"objectId":{"type":"string","description":"Specifies the protected object ID, which is used to distinguish between Internet border protection and VPC border protection after a cloud firewall is created. If the value of type is 0, the protected object ID belongs to the Internet border. If the value of type is 1, the protected object ID belongs to the VPC border.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCfwDomainNameGroupV1Timeouts:CfwDomainNameGroupV1Timeouts"}},"requiredInputs":["domainNames","firewallId","objectId"],"stateInputs":{"description":"Input properties used for looking up and filtering CfwDomainNameGroupV1 resources.\n","properties":{"configStatus":{"type":"number","description":"Indicates the configuration status: `-1` (unconfigured), \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (configuration failed), \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (configuration succeeded), \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e (configuring), 3 (normal), or \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e (abnormal).\n"},"description":{"type":"string","description":"Specifies the domain name description.\n"},"domainNames":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCfwDomainNameGroupV1DomainName:CfwDomainNameGroupV1DomainName"},"description":"Specifies the domain name information list. The\u003cspan pulumi-lang-nodejs=\" domainNames \" pulumi-lang-dotnet=\" DomainNames \" pulumi-lang-go=\" domainNames \" pulumi-lang-python=\" domain_names \" pulumi-lang-yaml=\" domainNames \" pulumi-lang-java=\" domainNames \"\u003e domain_names \u003c/span\u003estructure is documented below.\n"},"domainSetType":{"type":"number","description":"Specifies the domain name group typ: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (application domain name group), \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (network domain name group).\n\n\u003ca name=\"domainnames\"\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`domainNames`\" pulumi-lang-dotnet=\"`DomainNames`\" pulumi-lang-go=\"`domainNames`\" pulumi-lang-python=\"`domain_names`\" pulumi-lang-yaml=\"`domainNames`\" pulumi-lang-java=\"`domainNames`\"\u003e`domain_names`\u003c/span\u003e block supports:\n"},"firewallId":{"type":"string","description":"Specifies the Firewall ID.\n"},"name":{"type":"string","description":"Specifies the CFW domain name group name. The CFW domain name group name of the same type is unique in the same firewall.\n"},"objectId":{"type":"string","description":"Specifies the protected object ID, which is used to distinguish between Internet border protection and VPC border protection after a cloud firewall is created. If the value of type is 0, the protected object ID belongs to the Internet border. If the value of type is 1, the protected object ID belongs to the VPC border.\n"},"refCount":{"type":"number","description":"Indicates the number of times a domain name group is referenced by rules.\n"},"rules":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCfwDomainNameGroupV1Rule:CfwDomainNameGroupV1Rule"},"description":"Indicates the used rule ID list. The \u003cspan pulumi-lang-nodejs=\"`rules`\" pulumi-lang-dotnet=\"`Rules`\" pulumi-lang-go=\"`rules`\" pulumi-lang-python=\"`rules`\" pulumi-lang-yaml=\"`rules`\" pulumi-lang-java=\"`rules`\"\u003e`rules`\u003c/span\u003e structure is as follows:\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCfwDomainNameGroupV1Timeouts:CfwDomainNameGroupV1Timeouts"}},"type":"object"}},"opentelekomcloud:index/cfwEipProtectionV1:CfwEipProtectionV1":{"description":"Up-to-date reference of API arguments for CFW EIP protection you can get at\n[documentation portal](https://docs.otc.t-systems.com/cloud-firewall/api-ref/api/eip_management/index.html)\n\n  Enable or Disable EIP protection using CFW firewall within OpenTelekomCloud.\n\n## Example Usage\n\n### \n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst firewallId = config.requireObject\u003cany\u003e(\"firewallId\");\nconst objectId = config.requireObject\u003cany\u003e(\"objectId\");\nconst eipId = config.requireObject\u003cany\u003e(\"eipId\");\nconst ipAddress = config.requireObject\u003cany\u003e(\"ipAddress\");\nconst protect1 = new opentelekomcloud.CfwEipProtectionV1(\"protect_1\", {\n    firewallId: firewallId,\n    objectId: objectId,\n    status: 0,\n    eipId: eipId,\n    publicIp: ipAddress,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nfirewall_id = config.require_object(\"firewallId\")\nobject_id = config.require_object(\"objectId\")\neip_id = config.require_object(\"eipId\")\nip_address = config.require_object(\"ipAddress\")\nprotect1 = opentelekomcloud.CfwEipProtectionV1(\"protect_1\",\n    firewall_id=firewall_id,\n    object_id=object_id,\n    status=0,\n    eip_id=eip_id,\n    public_ip=ip_address)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var firewallId = config.RequireObject\u003cdynamic\u003e(\"firewallId\");\n    var objectId = config.RequireObject\u003cdynamic\u003e(\"objectId\");\n    var eipId = config.RequireObject\u003cdynamic\u003e(\"eipId\");\n    var ipAddress = config.RequireObject\u003cdynamic\u003e(\"ipAddress\");\n    var protect1 = new Opentelekomcloud.CfwEipProtectionV1(\"protect_1\", new()\n    {\n        FirewallId = firewallId,\n        ObjectId = objectId,\n        Status = 0,\n        EipId = eipId,\n        PublicIp = ipAddress,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tfirewallId := cfg.RequireObject(\"firewallId\")\n\t\tobjectId := cfg.RequireObject(\"objectId\")\n\t\teipId := cfg.RequireObject(\"eipId\")\n\t\tipAddress := cfg.RequireObject(\"ipAddress\")\n\t\t_, err := opentelekomcloud.NewCfwEipProtectionV1(ctx, \"protect_1\", \u0026opentelekomcloud.CfwEipProtectionV1Args{\n\t\t\tFirewallId: pulumi.Any(firewallId),\n\t\t\tObjectId:   pulumi.Any(objectId),\n\t\t\tStatus:     pulumi.Float64(0),\n\t\t\tEipId:      pulumi.Any(eipId),\n\t\t\tPublicIp:   pulumi.Any(ipAddress),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.CfwEipProtectionV1;\nimport com.pulumi.opentelekomcloud.CfwEipProtectionV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var firewallId = config.get(\"firewallId\");\n        final var objectId = config.get(\"objectId\");\n        final var eipId = config.get(\"eipId\");\n        final var ipAddress = config.get(\"ipAddress\");\n        var protect1 = new CfwEipProtectionV1(\"protect1\", CfwEipProtectionV1Args.builder()\n            .firewallId(firewallId)\n            .objectId(objectId)\n            .status(0.0)\n            .eipId(eipId)\n            .publicIp(ipAddress)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  firewallId:\n    type: dynamic\n  objectId:\n    type: dynamic\n  eipId:\n    type: dynamic\n  ipAddress:\n    type: dynamic\nresources:\n  protect1:\n    type: opentelekomcloud:CfwEipProtectionV1\n    name: protect_1\n    properties:\n      firewallId: ${firewallId}\n      objectId: ${objectId}\n      status: 0\n      eipId: ${eipId}\n      publicIp: ${ipAddress}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"cfwEipProtectionV1Id":{"type":"string"},"eipId":{"type":"string","description":"Specifies the EIP ID.\n"},"firewallId":{"type":"string","description":"Specifies the Firewall ID.\n"},"objectId":{"type":"string","description":"Specifies the protected object ID, which is used to distinguish between Internet border protection and VPC border protection after a cloud firewall is created. If the value of type is 0, the protected object ID belongs to the Internet border. If the value of type is 1, the protected object ID belongs to the VPC border.\n"},"publicIp":{"type":"string","description":"Specifies the EIP IPV4 address. Required if \u003cspan pulumi-lang-nodejs=\"`publicIpv6`\" pulumi-lang-dotnet=\"`PublicIpv6`\" pulumi-lang-go=\"`publicIpv6`\" pulumi-lang-python=\"`public_ipv6`\" pulumi-lang-yaml=\"`publicIpv6`\" pulumi-lang-java=\"`publicIpv6`\"\u003e`public_ipv6`\u003c/span\u003e is not set.\n"},"publicIpv6":{"type":"string","description":"Specifies the EIP IPV6 address. Required if \u003cspan pulumi-lang-nodejs=\"`publicIp`\" pulumi-lang-dotnet=\"`PublicIp`\" pulumi-lang-go=\"`publicIp`\" pulumi-lang-python=\"`public_ip`\" pulumi-lang-yaml=\"`publicIp`\" pulumi-lang-java=\"`publicIp`\"\u003e`public_ip`\u003c/span\u003e is not set.\n"},"status":{"type":"number","description":"Specifies the desired EIP protection status: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (protected), \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (unprotected).\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCfwEipProtectionV1Timeouts:CfwEipProtectionV1Timeouts"}},"type":"object","required":["cfwEipProtectionV1Id","eipId","firewallId","objectId","status"],"inputProperties":{"cfwEipProtectionV1Id":{"type":"string"},"eipId":{"type":"string","description":"Specifies the EIP ID.\n"},"firewallId":{"type":"string","description":"Specifies the Firewall ID.\n"},"objectId":{"type":"string","description":"Specifies the protected object ID, which is used to distinguish between Internet border protection and VPC border protection after a cloud firewall is created. If the value of type is 0, the protected object ID belongs to the Internet border. If the value of type is 1, the protected object ID belongs to the VPC border.\n"},"publicIp":{"type":"string","description":"Specifies the EIP IPV4 address. Required if \u003cspan pulumi-lang-nodejs=\"`publicIpv6`\" pulumi-lang-dotnet=\"`PublicIpv6`\" pulumi-lang-go=\"`publicIpv6`\" pulumi-lang-python=\"`public_ipv6`\" pulumi-lang-yaml=\"`publicIpv6`\" pulumi-lang-java=\"`publicIpv6`\"\u003e`public_ipv6`\u003c/span\u003e is not set.\n"},"publicIpv6":{"type":"string","description":"Specifies the EIP IPV6 address. Required if \u003cspan pulumi-lang-nodejs=\"`publicIp`\" pulumi-lang-dotnet=\"`PublicIp`\" pulumi-lang-go=\"`publicIp`\" pulumi-lang-python=\"`public_ip`\" pulumi-lang-yaml=\"`publicIp`\" pulumi-lang-java=\"`publicIp`\"\u003e`public_ip`\u003c/span\u003e is not set.\n"},"status":{"type":"number","description":"Specifies the desired EIP protection status: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (protected), \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (unprotected).\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCfwEipProtectionV1Timeouts:CfwEipProtectionV1Timeouts"}},"requiredInputs":["eipId","firewallId","objectId","status"],"stateInputs":{"description":"Input properties used for looking up and filtering CfwEipProtectionV1 resources.\n","properties":{"cfwEipProtectionV1Id":{"type":"string"},"eipId":{"type":"string","description":"Specifies the EIP ID.\n"},"firewallId":{"type":"string","description":"Specifies the Firewall ID.\n"},"objectId":{"type":"string","description":"Specifies the protected object ID, which is used to distinguish between Internet border protection and VPC border protection after a cloud firewall is created. If the value of type is 0, the protected object ID belongs to the Internet border. If the value of type is 1, the protected object ID belongs to the VPC border.\n"},"publicIp":{"type":"string","description":"Specifies the EIP IPV4 address. Required if \u003cspan pulumi-lang-nodejs=\"`publicIpv6`\" pulumi-lang-dotnet=\"`PublicIpv6`\" pulumi-lang-go=\"`publicIpv6`\" pulumi-lang-python=\"`public_ipv6`\" pulumi-lang-yaml=\"`publicIpv6`\" pulumi-lang-java=\"`publicIpv6`\"\u003e`public_ipv6`\u003c/span\u003e is not set.\n"},"publicIpv6":{"type":"string","description":"Specifies the EIP IPV6 address. Required if \u003cspan pulumi-lang-nodejs=\"`publicIp`\" pulumi-lang-dotnet=\"`PublicIp`\" pulumi-lang-go=\"`publicIp`\" pulumi-lang-python=\"`public_ip`\" pulumi-lang-yaml=\"`publicIp`\" pulumi-lang-java=\"`publicIp`\"\u003e`public_ip`\u003c/span\u003e is not set.\n"},"status":{"type":"number","description":"Specifies the desired EIP protection status: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (protected), \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (unprotected).\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCfwEipProtectionV1Timeouts:CfwEipProtectionV1Timeouts"}},"type":"object"}},"opentelekomcloud:index/cfwFirewallV1:CfwFirewallV1":{"description":"Up-to-date reference of API arguments for CFW firewall instance you can get at\n[documentation portal](https://docs.otc.t-systems.com/cloud-firewall/api-ref/api/firewall_management/index.html)\n\nManages a CFW Firewall Instance resource within OpenTelekomCloud.\n\n## Example Usage\n\n### Creating A Basic CFW Firewall Instance\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst firewall1 = new opentelekomcloud.CfwFirewallV1(\"firewall_1\", {\n    name: \"test-acc-tf-firewall\",\n    flavor: {\n        version: \"standard\",\n    },\n    chargeInfo: {\n        chargeMode: \"postPaid\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nfirewall1 = opentelekomcloud.CfwFirewallV1(\"firewall_1\",\n    name=\"test-acc-tf-firewall\",\n    flavor={\n        \"version\": \"standard\",\n    },\n    charge_info={\n        \"charge_mode\": \"postPaid\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var firewall1 = new Opentelekomcloud.CfwFirewallV1(\"firewall_1\", new()\n    {\n        Name = \"test-acc-tf-firewall\",\n        Flavor = new Opentelekomcloud.Inputs.CfwFirewallV1FlavorArgs\n        {\n            Version = \"standard\",\n        },\n        ChargeInfo = new Opentelekomcloud.Inputs.CfwFirewallV1ChargeInfoArgs\n        {\n            ChargeMode = \"postPaid\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewCfwFirewallV1(ctx, \"firewall_1\", \u0026opentelekomcloud.CfwFirewallV1Args{\n\t\t\tName: pulumi.String(\"test-acc-tf-firewall\"),\n\t\t\tFlavor: \u0026opentelekomcloud.CfwFirewallV1FlavorArgs{\n\t\t\t\tVersion: pulumi.String(\"standard\"),\n\t\t\t},\n\t\t\tChargeInfo: \u0026opentelekomcloud.CfwFirewallV1ChargeInfoArgs{\n\t\t\t\tChargeMode: pulumi.String(\"postPaid\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.CfwFirewallV1;\nimport com.pulumi.opentelekomcloud.CfwFirewallV1Args;\nimport com.pulumi.opentelekomcloud.inputs.CfwFirewallV1FlavorArgs;\nimport com.pulumi.opentelekomcloud.inputs.CfwFirewallV1ChargeInfoArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var firewall1 = new CfwFirewallV1(\"firewall1\", CfwFirewallV1Args.builder()\n            .name(\"test-acc-tf-firewall\")\n            .flavor(CfwFirewallV1FlavorArgs.builder()\n                .version(\"standard\")\n                .build())\n            .chargeInfo(CfwFirewallV1ChargeInfoArgs.builder()\n                .chargeMode(\"postPaid\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  firewall1:\n    type: opentelekomcloud:CfwFirewallV1\n    name: firewall_1\n    properties:\n      name: test-acc-tf-firewall\n      flavor:\n        version: standard\n      chargeInfo:\n        chargeMode: postPaid\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Notes\n\nBut due to some attributes missing from the API response, it's required to ignore changes as below:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst firewall1 = new opentelekomcloud.CfwFirewallV1(\"firewall_1\", {});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nfirewall1 = opentelekomcloud.CfwFirewallV1(\"firewall_1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var firewall1 = new Opentelekomcloud.CfwFirewallV1(\"firewall_1\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewCfwFirewallV1(ctx, \"firewall_1\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.CfwFirewallV1;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var firewall1 = new CfwFirewallV1(\"firewall1\");\n\n    }\n}\n```\n```yaml\nresources:\n  firewall1:\n    type: opentelekomcloud:CfwFirewallV1\n    name: firewall_1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCFW Firewall V1 Instance can be imported using the CFW firewall instance ID, `id` and service type `service_type`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/cfwFirewallV1:CfwFirewallV1 firewall_1 b4cd6aeb0b7445d3bf271457c6941544in09/service_type\n```\n\n","properties":{"chargeInfo":{"$ref":"#/types/opentelekomcloud:index%2FCfwFirewallV1ChargeInfo:CfwFirewallV1ChargeInfo","description":"Specifies the billing type, which can be yearly/monthly or pay-per-use (default setting).\nThe\u003cspan pulumi-lang-nodejs=\" chargeInfo \" pulumi-lang-dotnet=\" ChargeInfo \" pulumi-lang-go=\" chargeInfo \" pulumi-lang-python=\" charge_info \" pulumi-lang-yaml=\" chargeInfo \" pulumi-lang-java=\" chargeInfo \"\u003e charge_info \u003c/span\u003estructure is documented below.\n\n\u003ca name=\"flavor\"\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`flavor`\" pulumi-lang-dotnet=\"`Flavor`\" pulumi-lang-go=\"`flavor`\" pulumi-lang-python=\"`flavor`\" pulumi-lang-yaml=\"`flavor`\" pulumi-lang-java=\"`flavor`\"\u003e`flavor`\u003c/span\u003e block supports:\n"},"chargeMode":{"type":"number","description":"Specifies the Billing mode. The value can only be `postPaid` (case-sensitive), indicating pay-per-use billing.\n"},"engineType":{"type":"number","description":"Indicates the engine type. Its value can only be 1 (Hillstone engine).\n"},"enterpriseProjectId":{"type":"string","description":"Indicates the Enterprise project ID, which is the ID of a project planned based on organizations.\n"},"featureToggle":{"type":"object","additionalProperties":{"type":"boolean"},"description":"Provides a map of features indicating whether a feature is enabled: true (yes), false (no).\n"},"flavor":{"$ref":"#/types/opentelekomcloud:index%2FCfwFirewallV1Flavor:CfwFirewallV1Flavor","description":"Specifies the Firewall specifications. The flavor structure is documented below.\n"},"haType":{"type":"number","description":"Indicates the Cluster type: 0 (active/standby), 1 (cluster). In active/standby mode, there are four nodes. Two active nodes form a cluster, and the other two are the standby of the active nodes. In cluster mode, only two nodes are started to form a cluster..\n"},"isAvailableObs":{"type":"boolean","description":"Indicates whether OBS is supported: true (yes), false (no).\n"},"isOldFirewallInstance":{"type":"boolean","description":"Indicates whether an engine is old: true (yes), false (no)..\n"},"isSupportThreatTags":{"type":"boolean","description":"Indicates whether threat intelligence tags are supported: true (yes), false (no).\n"},"name":{"type":"string","description":"Specifies the CFW firewall instance name. The CFW firewall instance name of the same\ntype is unique in the same tenant.\n"},"protectObjects":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCfwFirewallV1ProtectObject:CfwFirewallV1ProtectObject"},"description":"Indicates the protected object list. The\u003cspan pulumi-lang-nodejs=\" protectObjects \" pulumi-lang-dotnet=\" ProtectObjects \" pulumi-lang-go=\" protectObjects \" pulumi-lang-python=\" protect_objects \" pulumi-lang-yaml=\" protectObjects \" pulumi-lang-java=\" protectObjects \"\u003e protect_objects \u003c/span\u003estructure is documented below.\n"},"resourceId":{"type":"string","description":"Indicates the resource ID. It can be the firewall ID, bandwidth ID, EIP ID, VPC ID, or the ID returned after CBC callback.\n"},"resources":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCfwFirewallV1Resource:CfwFirewallV1Resource"},"description":"Indicates the firewall resource list. The resources structure is documented below.\n"},"serviceType":{"type":"string","description":"Specifies the Firewall protection type. Currently, its value can only be \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (Internet protection).\n"},"status":{"type":"number","description":"Indicates the firewall status: -1 (waiting for payment), 0 (creating), 1 (deleting), 2 (running), 3 (upgrading), 4 (deleted), 5 (frozen), 6 (creation failed), 7 (deletion failed), 8 (freezing failed), or 9 (being stored), 10 (storage failed), or 11 (upgrade failed).\n"},"supportIpv6":{"type":"boolean","description":"Indicates whether IPv6 is supported: true (yes), false (no).\n"},"supportUrlFiltering":{"type":"boolean","description":"Indicates whether website filtering is supported: true (yes), false (no).\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCfwFirewallV1Timeouts:CfwFirewallV1Timeouts"}},"type":"object","required":["chargeInfo","chargeMode","engineType","enterpriseProjectId","featureToggle","flavor","haType","isAvailableObs","isOldFirewallInstance","isSupportThreatTags","name","protectObjects","resourceId","resources","status","supportIpv6","supportUrlFiltering"],"inputProperties":{"chargeInfo":{"$ref":"#/types/opentelekomcloud:index%2FCfwFirewallV1ChargeInfo:CfwFirewallV1ChargeInfo","description":"Specifies the billing type, which can be yearly/monthly or pay-per-use (default setting).\nThe\u003cspan pulumi-lang-nodejs=\" chargeInfo \" pulumi-lang-dotnet=\" ChargeInfo \" pulumi-lang-go=\" chargeInfo \" pulumi-lang-python=\" charge_info \" pulumi-lang-yaml=\" chargeInfo \" pulumi-lang-java=\" chargeInfo \"\u003e charge_info \u003c/span\u003estructure is documented below.\n\n\u003ca name=\"flavor\"\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`flavor`\" pulumi-lang-dotnet=\"`Flavor`\" pulumi-lang-go=\"`flavor`\" pulumi-lang-python=\"`flavor`\" pulumi-lang-yaml=\"`flavor`\" pulumi-lang-java=\"`flavor`\"\u003e`flavor`\u003c/span\u003e block supports:\n"},"flavor":{"$ref":"#/types/opentelekomcloud:index%2FCfwFirewallV1Flavor:CfwFirewallV1Flavor","description":"Specifies the Firewall specifications. The flavor structure is documented below.\n"},"name":{"type":"string","description":"Specifies the CFW firewall instance name. The CFW firewall instance name of the same\ntype is unique in the same tenant.\n"},"serviceType":{"type":"string","description":"Specifies the Firewall protection type. Currently, its value can only be \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (Internet protection).\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCfwFirewallV1Timeouts:CfwFirewallV1Timeouts"}},"requiredInputs":["chargeInfo","flavor"],"stateInputs":{"description":"Input properties used for looking up and filtering CfwFirewallV1 resources.\n","properties":{"chargeInfo":{"$ref":"#/types/opentelekomcloud:index%2FCfwFirewallV1ChargeInfo:CfwFirewallV1ChargeInfo","description":"Specifies the billing type, which can be yearly/monthly or pay-per-use (default setting).\nThe\u003cspan pulumi-lang-nodejs=\" chargeInfo \" pulumi-lang-dotnet=\" ChargeInfo \" pulumi-lang-go=\" chargeInfo \" pulumi-lang-python=\" charge_info \" pulumi-lang-yaml=\" chargeInfo \" pulumi-lang-java=\" chargeInfo \"\u003e charge_info \u003c/span\u003estructure is documented below.\n\n\u003ca name=\"flavor\"\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`flavor`\" pulumi-lang-dotnet=\"`Flavor`\" pulumi-lang-go=\"`flavor`\" pulumi-lang-python=\"`flavor`\" pulumi-lang-yaml=\"`flavor`\" pulumi-lang-java=\"`flavor`\"\u003e`flavor`\u003c/span\u003e block supports:\n"},"chargeMode":{"type":"number","description":"Specifies the Billing mode. The value can only be `postPaid` (case-sensitive), indicating pay-per-use billing.\n"},"engineType":{"type":"number","description":"Indicates the engine type. Its value can only be 1 (Hillstone engine).\n"},"enterpriseProjectId":{"type":"string","description":"Indicates the Enterprise project ID, which is the ID of a project planned based on organizations.\n"},"featureToggle":{"type":"object","additionalProperties":{"type":"boolean"},"description":"Provides a map of features indicating whether a feature is enabled: true (yes), false (no).\n"},"flavor":{"$ref":"#/types/opentelekomcloud:index%2FCfwFirewallV1Flavor:CfwFirewallV1Flavor","description":"Specifies the Firewall specifications. The flavor structure is documented below.\n"},"haType":{"type":"number","description":"Indicates the Cluster type: 0 (active/standby), 1 (cluster). In active/standby mode, there are four nodes. Two active nodes form a cluster, and the other two are the standby of the active nodes. In cluster mode, only two nodes are started to form a cluster..\n"},"isAvailableObs":{"type":"boolean","description":"Indicates whether OBS is supported: true (yes), false (no).\n"},"isOldFirewallInstance":{"type":"boolean","description":"Indicates whether an engine is old: true (yes), false (no)..\n"},"isSupportThreatTags":{"type":"boolean","description":"Indicates whether threat intelligence tags are supported: true (yes), false (no).\n"},"name":{"type":"string","description":"Specifies the CFW firewall instance name. The CFW firewall instance name of the same\ntype is unique in the same tenant.\n"},"protectObjects":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCfwFirewallV1ProtectObject:CfwFirewallV1ProtectObject"},"description":"Indicates the protected object list. The\u003cspan pulumi-lang-nodejs=\" protectObjects \" pulumi-lang-dotnet=\" ProtectObjects \" pulumi-lang-go=\" protectObjects \" pulumi-lang-python=\" protect_objects \" pulumi-lang-yaml=\" protectObjects \" pulumi-lang-java=\" protectObjects \"\u003e protect_objects \u003c/span\u003estructure is documented below.\n"},"resourceId":{"type":"string","description":"Indicates the resource ID. It can be the firewall ID, bandwidth ID, EIP ID, VPC ID, or the ID returned after CBC callback.\n"},"resources":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCfwFirewallV1Resource:CfwFirewallV1Resource"},"description":"Indicates the firewall resource list. The resources structure is documented below.\n"},"serviceType":{"type":"string","description":"Specifies the Firewall protection type. Currently, its value can only be \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (Internet protection).\n"},"status":{"type":"number","description":"Indicates the firewall status: -1 (waiting for payment), 0 (creating), 1 (deleting), 2 (running), 3 (upgrading), 4 (deleted), 5 (frozen), 6 (creation failed), 7 (deletion failed), 8 (freezing failed), or 9 (being stored), 10 (storage failed), or 11 (upgrade failed).\n"},"supportIpv6":{"type":"boolean","description":"Indicates whether IPv6 is supported: true (yes), false (no).\n"},"supportUrlFiltering":{"type":"boolean","description":"Indicates whether website filtering is supported: true (yes), false (no).\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCfwFirewallV1Timeouts:CfwFirewallV1Timeouts"}},"type":"object"}},"opentelekomcloud:index/cfwIpsProtectionV1:CfwIpsProtectionV1":{"description":"Up-to-date reference of API arguments for CFW IPS protection you can get at\n[documentation portal](https://docs.otc.t-systems.com/cloud-firewall/api-ref/api/ips_management/index.html)\n\n  Configure IPS protection associated with CFW firewall within OpenTelekomCloud.\n\n## Example Usage\n\n### \n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst objectId = config.requireObject\u003cany\u003e(\"objectId\");\nconst protect1 = new opentelekomcloud.CfwIpsProtectionV1(\"protect_1\", {\n    objectId: objectId,\n    ipsType: 2,\n    featureStatus: 1,\n    mode: 0,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nobject_id = config.require_object(\"objectId\")\nprotect1 = opentelekomcloud.CfwIpsProtectionV1(\"protect_1\",\n    object_id=object_id,\n    ips_type=2,\n    feature_status=1,\n    mode=0)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var objectId = config.RequireObject\u003cdynamic\u003e(\"objectId\");\n    var protect1 = new Opentelekomcloud.CfwIpsProtectionV1(\"protect_1\", new()\n    {\n        ObjectId = objectId,\n        IpsType = 2,\n        FeatureStatus = 1,\n        Mode = 0,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tobjectId := cfg.RequireObject(\"objectId\")\n\t\t_, err := opentelekomcloud.NewCfwIpsProtectionV1(ctx, \"protect_1\", \u0026opentelekomcloud.CfwIpsProtectionV1Args{\n\t\t\tObjectId:      pulumi.Any(objectId),\n\t\t\tIpsType:       pulumi.Float64(2),\n\t\t\tFeatureStatus: pulumi.Float64(1),\n\t\t\tMode:          pulumi.Float64(0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.CfwIpsProtectionV1;\nimport com.pulumi.opentelekomcloud.CfwIpsProtectionV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var objectId = config.get(\"objectId\");\n        var protect1 = new CfwIpsProtectionV1(\"protect1\", CfwIpsProtectionV1Args.builder()\n            .objectId(objectId)\n            .ipsType(2.0)\n            .featureStatus(1.0)\n            .mode(0.0)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  objectId:\n    type: dynamic\nresources:\n  protect1:\n    type: opentelekomcloud:CfwIpsProtectionV1\n    name: protect_1\n    properties:\n      objectId: ${objectId}\n      ipsType: 2\n      featureStatus: 1\n      mode: 0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"basicDefenseStatus":{"type":"number","description":"Indicates the basic defense status: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (disabled), \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (enabled).\n"},"cfwIpsProtectionV1Id":{"type":"string"},"featureStatus":{"type":"number","description":"Specifies the desired IPS virtual patching status: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (disabled), \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (enabled).\n"},"ipsProtectionModeId":{"type":"string","description":"Indicates the IPS protection mode ID.\n"},"ipsSwitchId":{"type":"string","description":"Indicates the IPS switch ID.\n"},"ipsType":{"type":"number","description":"Specifies the IPS patch type. Its value can only be \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e (virtual patch). Default: \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e.\n"},"mode":{"type":"number","description":"Specifies the IPS protection mode: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (observation mode), \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (strict mode), \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e (medium mode), or \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e (loose mode).\n"},"objectId":{"type":"string","description":"Specifies the protected object ID, which is used to distinguish between Internet border protection and VPC border protection after a cloud firewall is created. If the value of type is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e, the protected object ID belongs to the Internet border. If the value of type is \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, the protected object ID belongs to the VPC border.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCfwIpsProtectionV1Timeouts:CfwIpsProtectionV1Timeouts"}},"type":"object","required":["basicDefenseStatus","cfwIpsProtectionV1Id","featureStatus","ipsProtectionModeId","ipsSwitchId","mode","objectId"],"inputProperties":{"cfwIpsProtectionV1Id":{"type":"string"},"featureStatus":{"type":"number","description":"Specifies the desired IPS virtual patching status: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (disabled), \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (enabled).\n"},"ipsType":{"type":"number","description":"Specifies the IPS patch type. Its value can only be \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e (virtual patch). Default: \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e.\n"},"mode":{"type":"number","description":"Specifies the IPS protection mode: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (observation mode), \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (strict mode), \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e (medium mode), or \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e (loose mode).\n"},"objectId":{"type":"string","description":"Specifies the protected object ID, which is used to distinguish between Internet border protection and VPC border protection after a cloud firewall is created. If the value of type is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e, the protected object ID belongs to the Internet border. If the value of type is \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, the protected object ID belongs to the VPC border.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCfwIpsProtectionV1Timeouts:CfwIpsProtectionV1Timeouts"}},"requiredInputs":["featureStatus","mode","objectId"],"stateInputs":{"description":"Input properties used for looking up and filtering CfwIpsProtectionV1 resources.\n","properties":{"basicDefenseStatus":{"type":"number","description":"Indicates the basic defense status: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (disabled), \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (enabled).\n"},"cfwIpsProtectionV1Id":{"type":"string"},"featureStatus":{"type":"number","description":"Specifies the desired IPS virtual patching status: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (disabled), \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (enabled).\n"},"ipsProtectionModeId":{"type":"string","description":"Indicates the IPS protection mode ID.\n"},"ipsSwitchId":{"type":"string","description":"Indicates the IPS switch ID.\n"},"ipsType":{"type":"number","description":"Specifies the IPS patch type. Its value can only be \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e (virtual patch). Default: \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e.\n"},"mode":{"type":"number","description":"Specifies the IPS protection mode: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (observation mode), \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (strict mode), \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e (medium mode), or \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e (loose mode).\n"},"objectId":{"type":"string","description":"Specifies the protected object ID, which is used to distinguish between Internet border protection and VPC border protection after a cloud firewall is created. If the value of type is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e, the protected object ID belongs to the Internet border. If the value of type is \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, the protected object ID belongs to the VPC border.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCfwIpsProtectionV1Timeouts:CfwIpsProtectionV1Timeouts"}},"type":"object"}},"opentelekomcloud:index/cfwServiceGroupMemberV1:CfwServiceGroupMemberV1":{"description":"Up-to-date reference of API arguments for CFW service group member you can get at\n[documentation portal](https://docs.otc.t-systems.com/cloud-firewall/api-ref/api/service_group_management/index.html)\n\nManages a CFW Service Group Member resource within OpenTelekomCloud.\n\n## Example Usage\n\n### \n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst setId = config.requireObject\u003cany\u003e(\"setId\");\nconst member1 = new opentelekomcloud.CfwServiceGroupMemberV1(\"member_1\", {\n    setId: setId,\n    protocol: 6,\n    sourcePort: \"1\",\n    destPort: \"1\",\n    description: \"Test611\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nset_id = config.require_object(\"setId\")\nmember1 = opentelekomcloud.CfwServiceGroupMemberV1(\"member_1\",\n    set_id=set_id,\n    protocol=6,\n    source_port=\"1\",\n    dest_port=\"1\",\n    description=\"Test611\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var setId = config.RequireObject\u003cdynamic\u003e(\"setId\");\n    var member1 = new Opentelekomcloud.CfwServiceGroupMemberV1(\"member_1\", new()\n    {\n        SetId = setId,\n        Protocol = 6,\n        SourcePort = \"1\",\n        DestPort = \"1\",\n        Description = \"Test611\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tsetId := cfg.RequireObject(\"setId\")\n\t\t_, err := opentelekomcloud.NewCfwServiceGroupMemberV1(ctx, \"member_1\", \u0026opentelekomcloud.CfwServiceGroupMemberV1Args{\n\t\t\tSetId:       pulumi.Any(setId),\n\t\t\tProtocol:    pulumi.Float64(6),\n\t\t\tSourcePort:  pulumi.String(\"1\"),\n\t\t\tDestPort:    pulumi.String(\"1\"),\n\t\t\tDescription: pulumi.String(\"Test611\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.CfwServiceGroupMemberV1;\nimport com.pulumi.opentelekomcloud.CfwServiceGroupMemberV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var setId = config.get(\"setId\");\n        var member1 = new CfwServiceGroupMemberV1(\"member1\", CfwServiceGroupMemberV1Args.builder()\n            .setId(setId)\n            .protocol(6.0)\n            .sourcePort(\"1\")\n            .destPort(\"1\")\n            .description(\"Test611\")\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  setId:\n    type: dynamic\nresources:\n  member1:\n    type: opentelekomcloud:CfwServiceGroupMemberV1\n    name: member_1\n    properties:\n      setId: ${setId}\n      protocol: 6\n      sourcePort: '1'\n      destPort: '1'\n      description: Test611\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCFW Service Group Member V1 resource can be imported using the service group ID, `set_id` and member ID, `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/cfwServiceGroupMemberV1:CfwServiceGroupMemberV1 member_1 \u003cset_id\u003e/\u003cid\u003e\n```\n\n","properties":{"description":{"type":"string","description":"Specifies the description of the service group member.\n"},"destPort":{"type":"string","description":"Specifies the destination port.\n"},"protocol":{"type":"number","description":"Specifies the Protocol type: \u003cspan pulumi-lang-nodejs=\"`6`\" pulumi-lang-dotnet=\"`6`\" pulumi-lang-go=\"`6`\" pulumi-lang-python=\"`6`\" pulumi-lang-yaml=\"`6`\" pulumi-lang-java=\"`6`\"\u003e`6`\u003c/span\u003e (TCP), \u003cspan pulumi-lang-nodejs=\"`17`\" pulumi-lang-dotnet=\"`17`\" pulumi-lang-go=\"`17`\" pulumi-lang-python=\"`17`\" pulumi-lang-yaml=\"`17`\" pulumi-lang-java=\"`17`\"\u003e`17`\u003c/span\u003e (UDP), \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (ICMP), \u003cspan pulumi-lang-nodejs=\"`58`\" pulumi-lang-dotnet=\"`58`\" pulumi-lang-go=\"`58`\" pulumi-lang-python=\"`58`\" pulumi-lang-yaml=\"`58`\" pulumi-lang-java=\"`58`\"\u003e`58`\u003c/span\u003e (ICMPv6), or -\u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (any).\n"},"setId":{"type":"string","description":"Specifies the service group ID.\n"},"sourcePort":{"type":"string","description":"Specifies the source port.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCfwServiceGroupMemberV1Timeouts:CfwServiceGroupMemberV1Timeouts"}},"type":"object","required":["destPort","protocol","setId","sourcePort"],"inputProperties":{"description":{"type":"string","description":"Specifies the description of the service group member.\n"},"destPort":{"type":"string","description":"Specifies the destination port.\n"},"protocol":{"type":"number","description":"Specifies the Protocol type: \u003cspan pulumi-lang-nodejs=\"`6`\" pulumi-lang-dotnet=\"`6`\" pulumi-lang-go=\"`6`\" pulumi-lang-python=\"`6`\" pulumi-lang-yaml=\"`6`\" pulumi-lang-java=\"`6`\"\u003e`6`\u003c/span\u003e (TCP), \u003cspan pulumi-lang-nodejs=\"`17`\" pulumi-lang-dotnet=\"`17`\" pulumi-lang-go=\"`17`\" pulumi-lang-python=\"`17`\" pulumi-lang-yaml=\"`17`\" pulumi-lang-java=\"`17`\"\u003e`17`\u003c/span\u003e (UDP), \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (ICMP), \u003cspan pulumi-lang-nodejs=\"`58`\" pulumi-lang-dotnet=\"`58`\" pulumi-lang-go=\"`58`\" pulumi-lang-python=\"`58`\" pulumi-lang-yaml=\"`58`\" pulumi-lang-java=\"`58`\"\u003e`58`\u003c/span\u003e (ICMPv6), or -\u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (any).\n"},"setId":{"type":"string","description":"Specifies the service group ID.\n"},"sourcePort":{"type":"string","description":"Specifies the source port.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCfwServiceGroupMemberV1Timeouts:CfwServiceGroupMemberV1Timeouts"}},"requiredInputs":["destPort","protocol","setId","sourcePort"],"stateInputs":{"description":"Input properties used for looking up and filtering CfwServiceGroupMemberV1 resources.\n","properties":{"description":{"type":"string","description":"Specifies the description of the service group member.\n"},"destPort":{"type":"string","description":"Specifies the destination port.\n"},"protocol":{"type":"number","description":"Specifies the Protocol type: \u003cspan pulumi-lang-nodejs=\"`6`\" pulumi-lang-dotnet=\"`6`\" pulumi-lang-go=\"`6`\" pulumi-lang-python=\"`6`\" pulumi-lang-yaml=\"`6`\" pulumi-lang-java=\"`6`\"\u003e`6`\u003c/span\u003e (TCP), \u003cspan pulumi-lang-nodejs=\"`17`\" pulumi-lang-dotnet=\"`17`\" pulumi-lang-go=\"`17`\" pulumi-lang-python=\"`17`\" pulumi-lang-yaml=\"`17`\" pulumi-lang-java=\"`17`\"\u003e`17`\u003c/span\u003e (UDP), \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (ICMP), \u003cspan pulumi-lang-nodejs=\"`58`\" pulumi-lang-dotnet=\"`58`\" pulumi-lang-go=\"`58`\" pulumi-lang-python=\"`58`\" pulumi-lang-yaml=\"`58`\" pulumi-lang-java=\"`58`\"\u003e`58`\u003c/span\u003e (ICMPv6), or -\u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (any).\n"},"setId":{"type":"string","description":"Specifies the service group ID.\n"},"sourcePort":{"type":"string","description":"Specifies the source port.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCfwServiceGroupMemberV1Timeouts:CfwServiceGroupMemberV1Timeouts"}},"type":"object"}},"opentelekomcloud:index/cfwServiceGroupV1:CfwServiceGroupV1":{"description":"Up-to-date reference of API arguments for CFW service group you can get at\n[documentation portal](https://docs.otc.t-systems.com/cloud-firewall/api-ref/api/service_group_management/index.html)\n\nManages a CFW Service Group resource within OpenTelekomCloud.\n\n## Example Usage\n\n### \n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst objectId = config.requireObject\u003cany\u003e(\"objectId\");\nconst group1 = new opentelekomcloud.CfwServiceGroupV1(\"group_1\", {\n    objectId: objectId,\n    name: \"test-acc-tf-service-group\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nobject_id = config.require_object(\"objectId\")\ngroup1 = opentelekomcloud.CfwServiceGroupV1(\"group_1\",\n    object_id=object_id,\n    name=\"test-acc-tf-service-group\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var objectId = config.RequireObject\u003cdynamic\u003e(\"objectId\");\n    var group1 = new Opentelekomcloud.CfwServiceGroupV1(\"group_1\", new()\n    {\n        ObjectId = objectId,\n        Name = \"test-acc-tf-service-group\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tobjectId := cfg.RequireObject(\"objectId\")\n\t\t_, err := opentelekomcloud.NewCfwServiceGroupV1(ctx, \"group_1\", \u0026opentelekomcloud.CfwServiceGroupV1Args{\n\t\t\tObjectId: pulumi.Any(objectId),\n\t\t\tName:     pulumi.String(\"test-acc-tf-service-group\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.CfwServiceGroupV1;\nimport com.pulumi.opentelekomcloud.CfwServiceGroupV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var objectId = config.get(\"objectId\");\n        var group1 = new CfwServiceGroupV1(\"group1\", CfwServiceGroupV1Args.builder()\n            .objectId(objectId)\n            .name(\"test-acc-tf-service-group\")\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  objectId:\n    type: dynamic\nresources:\n  group1:\n    type: opentelekomcloud:CfwServiceGroupV1\n    name: group_1\n    properties:\n      objectId: ${objectId}\n      name: test-acc-tf-service-group\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Notes\n\nBut due to some attributes missing from the API response, it's required to ignore changes as below:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst group1 = new opentelekomcloud.CfwServiceGroupV1(\"group_1\", {});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ngroup1 = opentelekomcloud.CfwServiceGroupV1(\"group_1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var group1 = new Opentelekomcloud.CfwServiceGroupV1(\"group_1\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewCfwServiceGroupV1(ctx, \"group_1\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.CfwServiceGroupV1;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var group1 = new CfwServiceGroupV1(\"group1\");\n\n    }\n}\n```\n```yaml\nresources:\n  group1:\n    type: opentelekomcloud:CfwServiceGroupV1\n    name: group_1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCFW Service Group V1 resource can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/cfwServiceGroupV1:CfwServiceGroupV1 group_1 b4cd6aeb0b7445d3bf271457c6941544in09\n```\n\n","properties":{"description":{"type":"string","description":"Specifies the description of the service group.\n"},"name":{"type":"string","description":"Specifies the CFW Service group name. The CFW service group name of the same type is unique in the same firewall.\n"},"objectId":{"type":"string","description":"Specifies the protected object ID, which is used to distinguish between Internet border protection and VPC border protection after a cloud firewall is created. If the value of type is 0, the protected object ID belongs to the Internet border. If the value of type is 1, the protected object ID belongs to the VPC border.\n"},"serviceSetType":{"type":"number","description":"Indicates the Service group type: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (user-defined service group), \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (common web service), \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e (common remote login and ping), or \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e (common database).\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCfwServiceGroupV1Timeouts:CfwServiceGroupV1Timeouts"}},"type":"object","required":["name","objectId","serviceSetType"],"inputProperties":{"description":{"type":"string","description":"Specifies the description of the service group.\n"},"name":{"type":"string","description":"Specifies the CFW Service group name. The CFW service group name of the same type is unique in the same firewall.\n"},"objectId":{"type":"string","description":"Specifies the protected object ID, which is used to distinguish between Internet border protection and VPC border protection after a cloud firewall is created. If the value of type is 0, the protected object ID belongs to the Internet border. If the value of type is 1, the protected object ID belongs to the VPC border.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCfwServiceGroupV1Timeouts:CfwServiceGroupV1Timeouts"}},"requiredInputs":["objectId"],"stateInputs":{"description":"Input properties used for looking up and filtering CfwServiceGroupV1 resources.\n","properties":{"description":{"type":"string","description":"Specifies the description of the service group.\n"},"name":{"type":"string","description":"Specifies the CFW Service group name. The CFW service group name of the same type is unique in the same firewall.\n"},"objectId":{"type":"string","description":"Specifies the protected object ID, which is used to distinguish between Internet border protection and VPC border protection after a cloud firewall is created. If the value of type is 0, the protected object ID belongs to the Internet border. If the value of type is 1, the protected object ID belongs to the VPC border.\n"},"serviceSetType":{"type":"number","description":"Indicates the Service group type: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (user-defined service group), \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e (common web service), \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e (common remote login and ping), or \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e (common database).\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCfwServiceGroupV1Timeouts:CfwServiceGroupV1Timeouts"}},"type":"object"}},"opentelekomcloud:index/computeBmsServerV2:ComputeBmsServerV2":{"description":"Manages a BMS Server resource within OpenTelekomCloud.\n\n## Example Usage\n\n### Basic Instance\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst imageId = config.requireObject\u003cany\u003e(\"imageId\");\nconst flavorId = config.requireObject\u003cany\u003e(\"flavorId\");\nconst keypairName = config.requireObject\u003cany\u003e(\"keypairName\");\nconst networkId = config.requireObject\u003cany\u003e(\"networkId\");\nconst availabilityZone = config.requireObject\u003cany\u003e(\"availabilityZone\");\nconst basic = new opentelekomcloud.ComputeBmsServerV2(\"basic\", {\n    name: \"basic\",\n    imageId: imageId,\n    flavorId: flavorId,\n    keyPair: keypairName,\n    securityGroups: [\"default\"],\n    availabilityZone: availabilityZone,\n    metadata: {\n        \"this\": \"that\",\n    },\n    networks: [{\n        uuid: networkId,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nimage_id = config.require_object(\"imageId\")\nflavor_id = config.require_object(\"flavorId\")\nkeypair_name = config.require_object(\"keypairName\")\nnetwork_id = config.require_object(\"networkId\")\navailability_zone = config.require_object(\"availabilityZone\")\nbasic = opentelekomcloud.ComputeBmsServerV2(\"basic\",\n    name=\"basic\",\n    image_id=image_id,\n    flavor_id=flavor_id,\n    key_pair=keypair_name,\n    security_groups=[\"default\"],\n    availability_zone=availability_zone,\n    metadata={\n        \"this\": \"that\",\n    },\n    networks=[{\n        \"uuid\": network_id,\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var imageId = config.RequireObject\u003cdynamic\u003e(\"imageId\");\n    var flavorId = config.RequireObject\u003cdynamic\u003e(\"flavorId\");\n    var keypairName = config.RequireObject\u003cdynamic\u003e(\"keypairName\");\n    var networkId = config.RequireObject\u003cdynamic\u003e(\"networkId\");\n    var availabilityZone = config.RequireObject\u003cdynamic\u003e(\"availabilityZone\");\n    var basic = new Opentelekomcloud.ComputeBmsServerV2(\"basic\", new()\n    {\n        Name = \"basic\",\n        ImageId = imageId,\n        FlavorId = flavorId,\n        KeyPair = keypairName,\n        SecurityGroups = new[]\n        {\n            \"default\",\n        },\n        AvailabilityZone = availabilityZone,\n        Metadata = \n        {\n            { \"this\", \"that\" },\n        },\n        Networks = new[]\n        {\n            new Opentelekomcloud.Inputs.ComputeBmsServerV2NetworkArgs\n            {\n                Uuid = networkId,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\timageId := cfg.RequireObject(\"imageId\")\n\t\tflavorId := cfg.RequireObject(\"flavorId\")\n\t\tkeypairName := cfg.RequireObject(\"keypairName\")\n\t\tnetworkId := cfg.RequireObject(\"networkId\")\n\t\tavailabilityZone := cfg.RequireObject(\"availabilityZone\")\n\t\t_, err := opentelekomcloud.NewComputeBmsServerV2(ctx, \"basic\", \u0026opentelekomcloud.ComputeBmsServerV2Args{\n\t\t\tName:     pulumi.String(\"basic\"),\n\t\t\tImageId:  pulumi.Any(imageId),\n\t\t\tFlavorId: pulumi.Any(flavorId),\n\t\t\tKeyPair:  pulumi.Any(keypairName),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"default\"),\n\t\t\t},\n\t\t\tAvailabilityZone: pulumi.Any(availabilityZone),\n\t\t\tMetadata: pulumi.StringMap{\n\t\t\t\t\"this\": pulumi.String(\"that\"),\n\t\t\t},\n\t\t\tNetworks: opentelekomcloud.ComputeBmsServerV2NetworkArray{\n\t\t\t\t\u0026opentelekomcloud.ComputeBmsServerV2NetworkArgs{\n\t\t\t\t\tUuid: pulumi.Any(networkId),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ComputeBmsServerV2;\nimport com.pulumi.opentelekomcloud.ComputeBmsServerV2Args;\nimport com.pulumi.opentelekomcloud.inputs.ComputeBmsServerV2NetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var imageId = config.get(\"imageId\");\n        final var flavorId = config.get(\"flavorId\");\n        final var keypairName = config.get(\"keypairName\");\n        final var networkId = config.get(\"networkId\");\n        final var availabilityZone = config.get(\"availabilityZone\");\n        var basic = new ComputeBmsServerV2(\"basic\", ComputeBmsServerV2Args.builder()\n            .name(\"basic\")\n            .imageId(imageId)\n            .flavorId(flavorId)\n            .keyPair(keypairName)\n            .securityGroups(\"default\")\n            .availabilityZone(availabilityZone)\n            .metadata(Map.of(\"this\", \"that\"))\n            .networks(ComputeBmsServerV2NetworkArgs.builder()\n                .uuid(networkId)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  imageId:\n    type: dynamic\n  flavorId:\n    type: dynamic\n  keypairName:\n    type: dynamic\n  networkId:\n    type: dynamic\n  availabilityZone:\n    type: dynamic\nresources:\n  basic:\n    type: opentelekomcloud:ComputeBmsServerV2\n    properties:\n      name: basic\n      imageId: ${imageId}\n      flavorId: ${flavorId}\n      keyPair: ${keypairName}\n      securityGroups:\n        - default\n      availabilityZone: ${availabilityZone}\n      metadata:\n        this: that\n      networks:\n        - uuid: ${networkId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Instance Boot From Volume Image\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst flavorId = config.requireObject\u003cany\u003e(\"flavorId\");\nconst keypairName = config.requireObject\u003cany\u003e(\"keypairName\");\nconst networkId = config.requireObject\u003cany\u003e(\"networkId\");\nconst availabilityZone = config.requireObject\u003cany\u003e(\"availabilityZone\");\nconst basic = new opentelekomcloud.ComputeBmsServerV2(\"basic\", {\n    name: \"basic\",\n    flavorId: flavorId,\n    keyPair: keypairName,\n    securityGroups: [\"default\"],\n    availabilityZone: availabilityZone,\n    metadata: {\n        \"this\": \"that\",\n    },\n    networks: [{\n        uuid: networkId,\n    }],\n    blockDevices: [{\n        uuid: imageId,\n        sourceType: \"image\",\n        volumeType: \"SATA\",\n        volumeSize: 100,\n        bootIndex: 0,\n        destinationType: \"volume\",\n        deleteOnTermination: true,\n        deviceName: \"/dev/sda\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nflavor_id = config.require_object(\"flavorId\")\nkeypair_name = config.require_object(\"keypairName\")\nnetwork_id = config.require_object(\"networkId\")\navailability_zone = config.require_object(\"availabilityZone\")\nbasic = opentelekomcloud.ComputeBmsServerV2(\"basic\",\n    name=\"basic\",\n    flavor_id=flavor_id,\n    key_pair=keypair_name,\n    security_groups=[\"default\"],\n    availability_zone=availability_zone,\n    metadata={\n        \"this\": \"that\",\n    },\n    networks=[{\n        \"uuid\": network_id,\n    }],\n    block_devices=[{\n        \"uuid\": image_id,\n        \"source_type\": \"image\",\n        \"volume_type\": \"SATA\",\n        \"volume_size\": 100,\n        \"boot_index\": 0,\n        \"destination_type\": \"volume\",\n        \"delete_on_termination\": True,\n        \"device_name\": \"/dev/sda\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var flavorId = config.RequireObject\u003cdynamic\u003e(\"flavorId\");\n    var keypairName = config.RequireObject\u003cdynamic\u003e(\"keypairName\");\n    var networkId = config.RequireObject\u003cdynamic\u003e(\"networkId\");\n    var availabilityZone = config.RequireObject\u003cdynamic\u003e(\"availabilityZone\");\n    var basic = new Opentelekomcloud.ComputeBmsServerV2(\"basic\", new()\n    {\n        Name = \"basic\",\n        FlavorId = flavorId,\n        KeyPair = keypairName,\n        SecurityGroups = new[]\n        {\n            \"default\",\n        },\n        AvailabilityZone = availabilityZone,\n        Metadata = \n        {\n            { \"this\", \"that\" },\n        },\n        Networks = new[]\n        {\n            new Opentelekomcloud.Inputs.ComputeBmsServerV2NetworkArgs\n            {\n                Uuid = networkId,\n            },\n        },\n        BlockDevices = new[]\n        {\n            new Opentelekomcloud.Inputs.ComputeBmsServerV2BlockDeviceArgs\n            {\n                Uuid = imageId,\n                SourceType = \"image\",\n                VolumeType = \"SATA\",\n                VolumeSize = 100,\n                BootIndex = 0,\n                DestinationType = \"volume\",\n                DeleteOnTermination = true,\n                DeviceName = \"/dev/sda\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tflavorId := cfg.RequireObject(\"flavorId\")\n\t\tkeypairName := cfg.RequireObject(\"keypairName\")\n\t\tnetworkId := cfg.RequireObject(\"networkId\")\n\t\tavailabilityZone := cfg.RequireObject(\"availabilityZone\")\n\t\t_, err := opentelekomcloud.NewComputeBmsServerV2(ctx, \"basic\", \u0026opentelekomcloud.ComputeBmsServerV2Args{\n\t\t\tName:     pulumi.String(\"basic\"),\n\t\t\tFlavorId: pulumi.Any(flavorId),\n\t\t\tKeyPair:  pulumi.Any(keypairName),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"default\"),\n\t\t\t},\n\t\t\tAvailabilityZone: pulumi.Any(availabilityZone),\n\t\t\tMetadata: pulumi.StringMap{\n\t\t\t\t\"this\": pulumi.String(\"that\"),\n\t\t\t},\n\t\t\tNetworks: opentelekomcloud.ComputeBmsServerV2NetworkArray{\n\t\t\t\t\u0026opentelekomcloud.ComputeBmsServerV2NetworkArgs{\n\t\t\t\t\tUuid: pulumi.Any(networkId),\n\t\t\t\t},\n\t\t\t},\n\t\t\tBlockDevices: opentelekomcloud.ComputeBmsServerV2BlockDeviceArray{\n\t\t\t\t\u0026opentelekomcloud.ComputeBmsServerV2BlockDeviceArgs{\n\t\t\t\t\tUuid:                pulumi.Any(imageId),\n\t\t\t\t\tSourceType:          pulumi.String(\"image\"),\n\t\t\t\t\tVolumeType:          pulumi.String(\"SATA\"),\n\t\t\t\t\tVolumeSize:          pulumi.Float64(100),\n\t\t\t\t\tBootIndex:           pulumi.Float64(0),\n\t\t\t\t\tDestinationType:     pulumi.String(\"volume\"),\n\t\t\t\t\tDeleteOnTermination: pulumi.Bool(true),\n\t\t\t\t\tDeviceName:          pulumi.String(\"/dev/sda\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ComputeBmsServerV2;\nimport com.pulumi.opentelekomcloud.ComputeBmsServerV2Args;\nimport com.pulumi.opentelekomcloud.inputs.ComputeBmsServerV2NetworkArgs;\nimport com.pulumi.opentelekomcloud.inputs.ComputeBmsServerV2BlockDeviceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var flavorId = config.get(\"flavorId\");\n        final var keypairName = config.get(\"keypairName\");\n        final var networkId = config.get(\"networkId\");\n        final var availabilityZone = config.get(\"availabilityZone\");\n        var basic = new ComputeBmsServerV2(\"basic\", ComputeBmsServerV2Args.builder()\n            .name(\"basic\")\n            .flavorId(flavorId)\n            .keyPair(keypairName)\n            .securityGroups(\"default\")\n            .availabilityZone(availabilityZone)\n            .metadata(Map.of(\"this\", \"that\"))\n            .networks(ComputeBmsServerV2NetworkArgs.builder()\n                .uuid(networkId)\n                .build())\n            .blockDevices(ComputeBmsServerV2BlockDeviceArgs.builder()\n                .uuid(imageId)\n                .sourceType(\"image\")\n                .volumeType(\"SATA\")\n                .volumeSize(100.0)\n                .bootIndex(0.0)\n                .destinationType(\"volume\")\n                .deleteOnTermination(true)\n                .deviceName(\"/dev/sda\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  flavorId:\n    type: dynamic\n  keypairName:\n    type: dynamic\n  networkId:\n    type: dynamic\n  availabilityZone:\n    type: dynamic\nresources:\n  basic:\n    type: opentelekomcloud:ComputeBmsServerV2\n    properties:\n      name: basic\n      flavorId: ${flavorId}\n      keyPair: ${keypairName}\n      securityGroups:\n        - default\n      availabilityZone: ${availabilityZone}\n      metadata:\n        this: that\n      networks:\n        - uuid: ${networkId}\n      blockDevices:\n        - uuid: ${imageId}\n          sourceType: image\n          volumeType: SATA\n          volumeSize: 100\n          bootIndex: 0\n          destinationType: volume\n          deleteOnTermination: true\n          deviceName: /dev/sda\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"accessIpV4":{"type":"string"},"accessIpV6":{"type":"string"},"adminPass":{"type":"string","description":"The administrative password to assign to the BMS server.\nChanging this changes the root password on the existing server.\n"},"availabilityZone":{"type":"string","description":"The availability zone in which to create\nthe BMS server.\n"},"blockDevices":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FComputeBmsServerV2BlockDevice:ComputeBmsServerV2BlockDevice"}},"computeBmsServerV2Id":{"type":"string","description":"The id of the BMS server.\n"},"configDrive":{"type":"boolean","description":"Whether to use the\u003cspan pulumi-lang-nodejs=\" configDrive \" pulumi-lang-dotnet=\" ConfigDrive \" pulumi-lang-go=\" configDrive \" pulumi-lang-python=\" config_drive \" pulumi-lang-yaml=\" configDrive \" pulumi-lang-java=\" configDrive \"\u003e config_drive \u003c/span\u003efeature to configure the instance.\n"},"flavorId":{"type":"string","description":"The flavor ID of\nthe desired flavor for the BMS server. Changing this resizes the existing BMS server.\n"},"flavorName":{"type":"string","description":"The name of the\ndesired flavor for the BMS server. Changing this resizes the existing BMS server.\n"},"hostId":{"type":"string"},"hostStatus":{"type":"string","description":"The nova-compute status: `UP`, `UNKNOWN`, `DOWN`, `MAINTENANCE` and `Null`.\n"},"imageId":{"type":"string","description":"Changing this creates a new bms server.\n"},"imageName":{"type":"string","description":"The name of the\ndesired image for the bms server. Changing this creates a new BMS server.\n"},"kernelId":{"type":"string","description":"The UUID of the kernel image when the AMI image is used.\n"},"keyPair":{"type":"string","description":"The name of a key pair to put on the BMS server. The key\npair must already be created and associated with the tenant's account.\nChanging this creates a new BMS server.\n"},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"Metadata key/value pairs to make available from\nwithin the instance. Changing this updates the existing BMS server metadata.\n"},"name":{"type":"string","description":"The name of the BMS.\n"},"networks":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FComputeBmsServerV2Network:ComputeBmsServerV2Network"},"description":"An array of one or more networks to attach to the\nBMS instance. Changing this creates a new BMS server.\n"},"region":{"type":"string"},"securityGroups":{"type":"array","items":{"type":"string"},"description":"An array of one or more security group names\nto associate with the BMS server. Changing this results in adding/removing\nsecurity groups from the existing BMS server.\n"},"stopBeforeDestroy":{"type":"boolean","description":"Whether to try stop instance gracefully\nbefore destroying it, thus giving chance for guest OS daemons to stop correctly.\nIf instance doesn't stop within timeout, it will be destroyed anyway.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags key/value pairs to associate with the instance.\n"},"tenantId":{"type":"string"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FComputeBmsServerV2Timeouts:ComputeBmsServerV2Timeouts"},"userData":{"type":"string","description":"The user data to provide when launching the instance.\nChanging this creates a new BMS server.\n"},"userId":{"type":"string","description":"The ID of the user to which the BMS belongs.\n"}},"type":"object","required":["accessIpV4","accessIpV6","adminPass","availabilityZone","computeBmsServerV2Id","configDrive","flavorId","flavorName","hostId","hostStatus","imageId","imageName","kernelId","keyPair","name","region","securityGroups","tenantId","userId"],"inputProperties":{"adminPass":{"type":"string","description":"The administrative password to assign to the BMS server.\nChanging this changes the root password on the existing server.\n"},"availabilityZone":{"type":"string","description":"The availability zone in which to create\nthe BMS server.\n"},"blockDevices":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FComputeBmsServerV2BlockDevice:ComputeBmsServerV2BlockDevice"}},"computeBmsServerV2Id":{"type":"string","description":"The id of the BMS server.\n"},"flavorId":{"type":"string","description":"The flavor ID of\nthe desired flavor for the BMS server. Changing this resizes the existing BMS server.\n"},"flavorName":{"type":"string","description":"The name of the\ndesired flavor for the BMS server. Changing this resizes the existing BMS server.\n"},"imageId":{"type":"string","description":"Changing this creates a new bms server.\n"},"imageName":{"type":"string","description":"The name of the\ndesired image for the bms server. Changing this creates a new BMS server.\n"},"keyPair":{"type":"string","description":"The name of a key pair to put on the BMS server. The key\npair must already be created and associated with the tenant's account.\nChanging this creates a new BMS server.\n"},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"Metadata key/value pairs to make available from\nwithin the instance. Changing this updates the existing BMS server metadata.\n"},"name":{"type":"string","description":"The name of the BMS.\n"},"networks":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FComputeBmsServerV2Network:ComputeBmsServerV2Network"},"description":"An array of one or more networks to attach to the\nBMS instance. Changing this creates a new BMS server.\n"},"region":{"type":"string"},"securityGroups":{"type":"array","items":{"type":"string"},"description":"An array of one or more security group names\nto associate with the BMS server. Changing this results in adding/removing\nsecurity groups from the existing BMS server.\n"},"stopBeforeDestroy":{"type":"boolean","description":"Whether to try stop instance gracefully\nbefore destroying it, thus giving chance for guest OS daemons to stop correctly.\nIf instance doesn't stop within timeout, it will be destroyed anyway.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags key/value pairs to associate with the instance.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FComputeBmsServerV2Timeouts:ComputeBmsServerV2Timeouts"},"userData":{"type":"string","description":"The user data to provide when launching the instance.\nChanging this creates a new BMS server.\n"}},"requiredInputs":["availabilityZone"],"stateInputs":{"description":"Input properties used for looking up and filtering ComputeBmsServerV2 resources.\n","properties":{"accessIpV4":{"type":"string"},"accessIpV6":{"type":"string"},"adminPass":{"type":"string","description":"The administrative password to assign to the BMS server.\nChanging this changes the root password on the existing server.\n"},"availabilityZone":{"type":"string","description":"The availability zone in which to create\nthe BMS server.\n"},"blockDevices":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FComputeBmsServerV2BlockDevice:ComputeBmsServerV2BlockDevice"}},"computeBmsServerV2Id":{"type":"string","description":"The id of the BMS server.\n"},"configDrive":{"type":"boolean","description":"Whether to use the\u003cspan pulumi-lang-nodejs=\" configDrive \" pulumi-lang-dotnet=\" ConfigDrive \" pulumi-lang-go=\" configDrive \" pulumi-lang-python=\" config_drive \" pulumi-lang-yaml=\" configDrive \" pulumi-lang-java=\" configDrive \"\u003e config_drive \u003c/span\u003efeature to configure the instance.\n"},"flavorId":{"type":"string","description":"The flavor ID of\nthe desired flavor for the BMS server. Changing this resizes the existing BMS server.\n"},"flavorName":{"type":"string","description":"The name of the\ndesired flavor for the BMS server. Changing this resizes the existing BMS server.\n"},"hostId":{"type":"string"},"hostStatus":{"type":"string","description":"The nova-compute status: `UP`, `UNKNOWN`, `DOWN`, `MAINTENANCE` and `Null`.\n"},"imageId":{"type":"string","description":"Changing this creates a new bms server.\n"},"imageName":{"type":"string","description":"The name of the\ndesired image for the bms server. Changing this creates a new BMS server.\n"},"kernelId":{"type":"string","description":"The UUID of the kernel image when the AMI image is used.\n"},"keyPair":{"type":"string","description":"The name of a key pair to put on the BMS server. The key\npair must already be created and associated with the tenant's account.\nChanging this creates a new BMS server.\n"},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"Metadata key/value pairs to make available from\nwithin the instance. Changing this updates the existing BMS server metadata.\n"},"name":{"type":"string","description":"The name of the BMS.\n"},"networks":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FComputeBmsServerV2Network:ComputeBmsServerV2Network"},"description":"An array of one or more networks to attach to the\nBMS instance. Changing this creates a new BMS server.\n"},"region":{"type":"string"},"securityGroups":{"type":"array","items":{"type":"string"},"description":"An array of one or more security group names\nto associate with the BMS server. Changing this results in adding/removing\nsecurity groups from the existing BMS server.\n"},"stopBeforeDestroy":{"type":"boolean","description":"Whether to try stop instance gracefully\nbefore destroying it, thus giving chance for guest OS daemons to stop correctly.\nIf instance doesn't stop within timeout, it will be destroyed anyway.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags key/value pairs to associate with the instance.\n"},"tenantId":{"type":"string"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FComputeBmsServerV2Timeouts:ComputeBmsServerV2Timeouts"},"userData":{"type":"string","description":"The user data to provide when launching the instance.\nChanging this creates a new BMS server.\n"},"userId":{"type":"string","description":"The ID of the user to which the BMS belongs.\n"}},"type":"object"}},"opentelekomcloud:index/computeBmsTagsV2:ComputeBmsTagsV2":{"description":"Used to add tags to a BMS within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst bmsId = config.requireObject\u003cany\u003e(\"bmsId\");\nconst addTags = new opentelekomcloud.ComputeBmsTagsV2(\"add_tags\", {\n    serverId: bmsId,\n    tags: [\"tags_type_baremetal\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nbms_id = config.require_object(\"bmsId\")\nadd_tags = opentelekomcloud.ComputeBmsTagsV2(\"add_tags\",\n    server_id=bms_id,\n    tags=[\"tags_type_baremetal\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var bmsId = config.RequireObject\u003cdynamic\u003e(\"bmsId\");\n    var addTags = new Opentelekomcloud.ComputeBmsTagsV2(\"add_tags\", new()\n    {\n        ServerId = bmsId,\n        Tags = new[]\n        {\n            \"tags_type_baremetal\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tbmsId := cfg.RequireObject(\"bmsId\")\n\t\t_, err := opentelekomcloud.NewComputeBmsTagsV2(ctx, \"add_tags\", \u0026opentelekomcloud.ComputeBmsTagsV2Args{\n\t\t\tServerId: pulumi.Any(bmsId),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"tags_type_baremetal\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ComputeBmsTagsV2;\nimport com.pulumi.opentelekomcloud.ComputeBmsTagsV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var bmsId = config.get(\"bmsId\");\n        var addTags = new ComputeBmsTagsV2(\"addTags\", ComputeBmsTagsV2Args.builder()\n            .serverId(bmsId)\n            .tags(\"tags_type_baremetal\")\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  bmsId:\n    type: dynamic\nresources:\n  addTags:\n    type: opentelekomcloud:ComputeBmsTagsV2\n    name: add_tags\n    properties:\n      serverId: ${bmsId}\n      tags:\n        - tags_type_baremetal\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nBMS tags can be imported using the server_id, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/computeBmsTagsV2:ComputeBmsTagsV2 add_tags 4779ab1c-7c1a-44b1-a02e-93dfc361b32d\n```\n\n","properties":{"computeBmsTagsV2Id":{"type":"string"},"region":{"type":"string"},"serverId":{"type":"string","description":"The unique id of bare metal server.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"The tags of a BMS. Changing this parameter creates a new resource.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FComputeBmsTagsV2Timeouts:ComputeBmsTagsV2Timeouts"}},"type":"object","required":["computeBmsTagsV2Id","region","serverId","tags"],"inputProperties":{"computeBmsTagsV2Id":{"type":"string"},"region":{"type":"string"},"serverId":{"type":"string","description":"The unique id of bare metal server.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"The tags of a BMS. Changing this parameter creates a new resource.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FComputeBmsTagsV2Timeouts:ComputeBmsTagsV2Timeouts"}},"requiredInputs":["serverId","tags"],"stateInputs":{"description":"Input properties used for looking up and filtering ComputeBmsTagsV2 resources.\n","properties":{"computeBmsTagsV2Id":{"type":"string"},"region":{"type":"string"},"serverId":{"type":"string","description":"The unique id of bare metal server.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"The tags of a BMS. Changing this parameter creates a new resource.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FComputeBmsTagsV2Timeouts:ComputeBmsTagsV2Timeouts"}},"type":"object"}},"opentelekomcloud:index/computeFloatingipAssociateV2:ComputeFloatingipAssociateV2":{"description":"Up-to-date reference of API arguments for EIP you can get at\n[documentation portal](https://docs.otc.t-systems.com/elastic-ip/api-ref/native_openstack_neutron_apis_v2.0/floating_ip_address)\n\nAssociate a floating IP to an instance. This can be used instead of the\n\u003cspan pulumi-lang-nodejs=\"`floatingIp`\" pulumi-lang-dotnet=\"`FloatingIp`\" pulumi-lang-go=\"`floatingIp`\" pulumi-lang-python=\"`floating_ip`\" pulumi-lang-yaml=\"`floatingIp`\" pulumi-lang-java=\"`floatingIp`\"\u003e`floating_ip`\u003c/span\u003e options in \u003cspan pulumi-lang-nodejs=\"`opentelekomcloud.ComputeInstanceV2`\" pulumi-lang-dotnet=\"`opentelekomcloud.ComputeInstanceV2`\" pulumi-lang-go=\"`ComputeInstanceV2`\" pulumi-lang-python=\"`ComputeInstanceV2`\" pulumi-lang-yaml=\"`opentelekomcloud.ComputeInstanceV2`\" pulumi-lang-java=\"`opentelekomcloud.ComputeInstanceV2`\"\u003e`opentelekomcloud.ComputeInstanceV2`\u003c/span\u003e.\n\n~\u003e\nFloating IP compute APIs are marked as discarded in [help center](https://docs.otc.t-systems.com/en-us/api/ecs/en-us_topic_0065817682.html).\nPlease use `resource/opentelekomcloud_networking_floatingip_associate_v2`.\n\n## Example Usage\n\n### Automatically detect the correct network\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst instance1 = new opentelekomcloud.ComputeInstanceV2(\"instance_1\", {\n    name: \"instance_1\",\n    imageId: \"ad091b52-742f-469e-8f3c-fd81cadf0743\",\n    flavorId: \"3\",\n    keyPair: \"my_key_pair_name\",\n    securityGroups: [\"default\"],\n});\nconst fip1 = new opentelekomcloud.NetworkingFloatingipV2(\"fip_1\", {pool: \"admin_external_net\"});\nconst fip1ComputeFloatingipAssociateV2 = new opentelekomcloud.ComputeFloatingipAssociateV2(\"fip_1\", {\n    floatingIp: fip1.address,\n    instanceId: instance1.computeInstanceV2Id,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ninstance1 = opentelekomcloud.ComputeInstanceV2(\"instance_1\",\n    name=\"instance_1\",\n    image_id=\"ad091b52-742f-469e-8f3c-fd81cadf0743\",\n    flavor_id=\"3\",\n    key_pair=\"my_key_pair_name\",\n    security_groups=[\"default\"])\nfip1 = opentelekomcloud.NetworkingFloatingipV2(\"fip_1\", pool=\"admin_external_net\")\nfip1_compute_floatingip_associate_v2 = opentelekomcloud.ComputeFloatingipAssociateV2(\"fip_1\",\n    floating_ip=fip1.address,\n    instance_id=instance1.compute_instance_v2_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var instance1 = new Opentelekomcloud.ComputeInstanceV2(\"instance_1\", new()\n    {\n        Name = \"instance_1\",\n        ImageId = \"ad091b52-742f-469e-8f3c-fd81cadf0743\",\n        FlavorId = \"3\",\n        KeyPair = \"my_key_pair_name\",\n        SecurityGroups = new[]\n        {\n            \"default\",\n        },\n    });\n\n    var fip1 = new Opentelekomcloud.NetworkingFloatingipV2(\"fip_1\", new()\n    {\n        Pool = \"admin_external_net\",\n    });\n\n    var fip1ComputeFloatingipAssociateV2 = new Opentelekomcloud.ComputeFloatingipAssociateV2(\"fip_1\", new()\n    {\n        FloatingIp = fip1.Address,\n        InstanceId = instance1.ComputeInstanceV2Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinstance1, err := opentelekomcloud.NewComputeInstanceV2(ctx, \"instance_1\", \u0026opentelekomcloud.ComputeInstanceV2Args{\n\t\t\tName:     pulumi.String(\"instance_1\"),\n\t\t\tImageId:  pulumi.String(\"ad091b52-742f-469e-8f3c-fd81cadf0743\"),\n\t\t\tFlavorId: pulumi.String(\"3\"),\n\t\t\tKeyPair:  pulumi.String(\"my_key_pair_name\"),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"default\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfip1, err := opentelekomcloud.NewNetworkingFloatingipV2(ctx, \"fip_1\", \u0026opentelekomcloud.NetworkingFloatingipV2Args{\n\t\t\tPool: pulumi.String(\"admin_external_net\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewComputeFloatingipAssociateV2(ctx, \"fip_1\", \u0026opentelekomcloud.ComputeFloatingipAssociateV2Args{\n\t\t\tFloatingIp: fip1.Address,\n\t\t\tInstanceId: instance1.ComputeInstanceV2Id,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ComputeInstanceV2;\nimport com.pulumi.opentelekomcloud.ComputeInstanceV2Args;\nimport com.pulumi.opentelekomcloud.NetworkingFloatingipV2;\nimport com.pulumi.opentelekomcloud.NetworkingFloatingipV2Args;\nimport com.pulumi.opentelekomcloud.ComputeFloatingipAssociateV2;\nimport com.pulumi.opentelekomcloud.ComputeFloatingipAssociateV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var instance1 = new ComputeInstanceV2(\"instance1\", ComputeInstanceV2Args.builder()\n            .name(\"instance_1\")\n            .imageId(\"ad091b52-742f-469e-8f3c-fd81cadf0743\")\n            .flavorId(\"3\")\n            .keyPair(\"my_key_pair_name\")\n            .securityGroups(\"default\")\n            .build());\n\n        var fip1 = new NetworkingFloatingipV2(\"fip1\", NetworkingFloatingipV2Args.builder()\n            .pool(\"admin_external_net\")\n            .build());\n\n        var fip1ComputeFloatingipAssociateV2 = new ComputeFloatingipAssociateV2(\"fip1ComputeFloatingipAssociateV2\", ComputeFloatingipAssociateV2Args.builder()\n            .floatingIp(fip1.address())\n            .instanceId(instance1.computeInstanceV2Id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  instance1:\n    type: opentelekomcloud:ComputeInstanceV2\n    name: instance_1\n    properties:\n      name: instance_1\n      imageId: ad091b52-742f-469e-8f3c-fd81cadf0743\n      flavorId: 3\n      keyPair: my_key_pair_name\n      securityGroups:\n        - default\n  fip1:\n    type: opentelekomcloud:NetworkingFloatingipV2\n    name: fip_1\n    properties:\n      pool: admin_external_net\n  fip1ComputeFloatingipAssociateV2:\n    type: opentelekomcloud:ComputeFloatingipAssociateV2\n    name: fip_1\n    properties:\n      floatingIp: ${fip1.address}\n      instanceId: ${instance1.computeInstanceV2Id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Explicitly set the network to attach to\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst instance1 = new opentelekomcloud.ComputeInstanceV2(\"instance_1\", {\n    name: \"instance_1\",\n    imageId: \"ad091b52-742f-469e-8f3c-fd81cadf0743\",\n    flavorId: \"3\",\n    keyPair: \"my_key_pair_name\",\n    securityGroups: [\"default\"],\n    networks: [\n        {\n            name: \"my_network\",\n        },\n        {\n            name: \"default\",\n        },\n    ],\n});\nconst fip1 = new opentelekomcloud.NetworkingFloatingipV2(\"fip_1\", {pool: \"admin_external_net\"});\nconst fip1ComputeFloatingipAssociateV2 = new opentelekomcloud.ComputeFloatingipAssociateV2(\"fip_1\", {\n    floatingIp: fip1.address,\n    instanceId: instance1.computeInstanceV2Id,\n    fixedIp: instance1.networks.apply(networks =\u003e networks?.[1]?.fixedIpV4),\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ninstance1 = opentelekomcloud.ComputeInstanceV2(\"instance_1\",\n    name=\"instance_1\",\n    image_id=\"ad091b52-742f-469e-8f3c-fd81cadf0743\",\n    flavor_id=\"3\",\n    key_pair=\"my_key_pair_name\",\n    security_groups=[\"default\"],\n    networks=[\n        {\n            \"name\": \"my_network\",\n        },\n        {\n            \"name\": \"default\",\n        },\n    ])\nfip1 = opentelekomcloud.NetworkingFloatingipV2(\"fip_1\", pool=\"admin_external_net\")\nfip1_compute_floatingip_associate_v2 = opentelekomcloud.ComputeFloatingipAssociateV2(\"fip_1\",\n    floating_ip=fip1.address,\n    instance_id=instance1.compute_instance_v2_id,\n    fixed_ip=instance1.networks[1].fixed_ip_v4)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var instance1 = new Opentelekomcloud.ComputeInstanceV2(\"instance_1\", new()\n    {\n        Name = \"instance_1\",\n        ImageId = \"ad091b52-742f-469e-8f3c-fd81cadf0743\",\n        FlavorId = \"3\",\n        KeyPair = \"my_key_pair_name\",\n        SecurityGroups = new[]\n        {\n            \"default\",\n        },\n        Networks = new[]\n        {\n            new Opentelekomcloud.Inputs.ComputeInstanceV2NetworkArgs\n            {\n                Name = \"my_network\",\n            },\n            new Opentelekomcloud.Inputs.ComputeInstanceV2NetworkArgs\n            {\n                Name = \"default\",\n            },\n        },\n    });\n\n    var fip1 = new Opentelekomcloud.NetworkingFloatingipV2(\"fip_1\", new()\n    {\n        Pool = \"admin_external_net\",\n    });\n\n    var fip1ComputeFloatingipAssociateV2 = new Opentelekomcloud.ComputeFloatingipAssociateV2(\"fip_1\", new()\n    {\n        FloatingIp = fip1.Address,\n        InstanceId = instance1.ComputeInstanceV2Id,\n        FixedIp = instance1.Networks.Apply(networks =\u003e networks[1]?.FixedIpV4),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinstance1, err := opentelekomcloud.NewComputeInstanceV2(ctx, \"instance_1\", \u0026opentelekomcloud.ComputeInstanceV2Args{\n\t\t\tName:     pulumi.String(\"instance_1\"),\n\t\t\tImageId:  pulumi.String(\"ad091b52-742f-469e-8f3c-fd81cadf0743\"),\n\t\t\tFlavorId: pulumi.String(\"3\"),\n\t\t\tKeyPair:  pulumi.String(\"my_key_pair_name\"),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"default\"),\n\t\t\t},\n\t\t\tNetworks: opentelekomcloud.ComputeInstanceV2NetworkArray{\n\t\t\t\t\u0026opentelekomcloud.ComputeInstanceV2NetworkArgs{\n\t\t\t\t\tName: pulumi.String(\"my_network\"),\n\t\t\t\t},\n\t\t\t\t\u0026opentelekomcloud.ComputeInstanceV2NetworkArgs{\n\t\t\t\t\tName: pulumi.String(\"default\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfip1, err := opentelekomcloud.NewNetworkingFloatingipV2(ctx, \"fip_1\", \u0026opentelekomcloud.NetworkingFloatingipV2Args{\n\t\t\tPool: pulumi.String(\"admin_external_net\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewComputeFloatingipAssociateV2(ctx, \"fip_1\", \u0026opentelekomcloud.ComputeFloatingipAssociateV2Args{\n\t\t\tFloatingIp: fip1.Address,\n\t\t\tInstanceId: instance1.ComputeInstanceV2Id,\n\t\t\tFixedIp: pulumi.String(instance1.Networks.ApplyT(func(networks []opentelekomcloud.ComputeInstanceV2Network) (*string, error) {\n\t\t\t\treturn \u0026networks[1].FixedIpV4, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ComputeInstanceV2;\nimport com.pulumi.opentelekomcloud.ComputeInstanceV2Args;\nimport com.pulumi.opentelekomcloud.inputs.ComputeInstanceV2NetworkArgs;\nimport com.pulumi.opentelekomcloud.NetworkingFloatingipV2;\nimport com.pulumi.opentelekomcloud.NetworkingFloatingipV2Args;\nimport com.pulumi.opentelekomcloud.ComputeFloatingipAssociateV2;\nimport com.pulumi.opentelekomcloud.ComputeFloatingipAssociateV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var instance1 = new ComputeInstanceV2(\"instance1\", ComputeInstanceV2Args.builder()\n            .name(\"instance_1\")\n            .imageId(\"ad091b52-742f-469e-8f3c-fd81cadf0743\")\n            .flavorId(\"3\")\n            .keyPair(\"my_key_pair_name\")\n            .securityGroups(\"default\")\n            .networks(            \n                ComputeInstanceV2NetworkArgs.builder()\n                    .name(\"my_network\")\n                    .build(),\n                ComputeInstanceV2NetworkArgs.builder()\n                    .name(\"default\")\n                    .build())\n            .build());\n\n        var fip1 = new NetworkingFloatingipV2(\"fip1\", NetworkingFloatingipV2Args.builder()\n            .pool(\"admin_external_net\")\n            .build());\n\n        var fip1ComputeFloatingipAssociateV2 = new ComputeFloatingipAssociateV2(\"fip1ComputeFloatingipAssociateV2\", ComputeFloatingipAssociateV2Args.builder()\n            .floatingIp(fip1.address())\n            .instanceId(instance1.computeInstanceV2Id())\n            .fixedIp(instance1.networks().applyValue(_networks -\u003e _networks[1].fixedIpV4()))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  instance1:\n    type: opentelekomcloud:ComputeInstanceV2\n    name: instance_1\n    properties:\n      name: instance_1\n      imageId: ad091b52-742f-469e-8f3c-fd81cadf0743\n      flavorId: 3\n      keyPair: my_key_pair_name\n      securityGroups:\n        - default\n      networks:\n        - name: my_network\n        - name: default\n  fip1:\n    type: opentelekomcloud:NetworkingFloatingipV2\n    name: fip_1\n    properties:\n      pool: admin_external_net\n  fip1ComputeFloatingipAssociateV2:\n    type: opentelekomcloud:ComputeFloatingipAssociateV2\n    name: fip_1\n    properties:\n      floatingIp: ${fip1.address}\n      instanceId: ${instance1.computeInstanceV2Id}\n      fixedIp: ${instance1.networks[1].fixedIpV4}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThis resource can be imported by specifying all three arguments, separated\n\nby a forward slash:\n\n```sh\n$ pulumi import opentelekomcloud:index/computeFloatingipAssociateV2:ComputeFloatingipAssociateV2 fip_1 \u003cfloating_ip\u003e/\u003cinstance_id\u003e/\u003cfixed_ip\u003e\n```\n\n","properties":{"computeFloatingipAssociateV2Id":{"type":"string"},"fixedIp":{"type":"string","description":"The specific IP address to direct traffic to.\n"},"floatingIp":{"type":"string","description":"The floating IP to associate.\n"},"instanceId":{"type":"string","description":"The instance to associte the floating IP with.\n"},"region":{"type":"string"}},"type":"object","required":["computeFloatingipAssociateV2Id","floatingIp","instanceId","region"],"inputProperties":{"computeFloatingipAssociateV2Id":{"type":"string"},"fixedIp":{"type":"string","description":"The specific IP address to direct traffic to.\n"},"floatingIp":{"type":"string","description":"The floating IP to associate.\n"},"instanceId":{"type":"string","description":"The instance to associte the floating IP with.\n"},"region":{"type":"string"}},"requiredInputs":["floatingIp","instanceId"],"stateInputs":{"description":"Input properties used for looking up and filtering ComputeFloatingipAssociateV2 resources.\n","properties":{"computeFloatingipAssociateV2Id":{"type":"string"},"fixedIp":{"type":"string","description":"The specific IP address to direct traffic to.\n"},"floatingIp":{"type":"string","description":"The floating IP to associate.\n"},"instanceId":{"type":"string","description":"The instance to associte the floating IP with.\n"},"region":{"type":"string"}},"type":"object"}},"opentelekomcloud:index/computeFloatingipV2:ComputeFloatingipV2":{"description":"Up-to-date reference of API arguments for EIP you can get at\n[documentation portal](https://docs.otc.t-systems.com/elastic-ip/api-ref/native_openstack_neutron_apis_v2.0/floating_ip_address)\n\nManages a V2 floating IP resource within OpenTelekomCloud Nova (compute)\nthat can be used for compute instances.\nThese are similar to Neutron (networking) floating IP resources,\nbut only networking floating IPs can be used with load balancers.\n\nFloating IPs created with this module will have a bandwidth of 1000Mbit/s,\nfor manually specifying the bandwidth please use the\n\u003cspan pulumi-lang-nodejs=\"`opentelekomcloud.VpcEipV1`\" pulumi-lang-dotnet=\"`opentelekomcloud.VpcEipV1`\" pulumi-lang-go=\"`VpcEipV1`\" pulumi-lang-python=\"`VpcEipV1`\" pulumi-lang-yaml=\"`opentelekomcloud.VpcEipV1`\" pulumi-lang-java=\"`opentelekomcloud.VpcEipV1`\"\u003e`opentelekomcloud.VpcEipV1`\u003c/span\u003e module.\n\n~\u003e\nFloating IP compute APIs are marked as discarded in [help center](https://docs.otc.t-systems.com/en-us/api/ecs/en-us_topic_0065817682.html).\nPlease use `resource/opentelekomcloud_networking_floatingip_v2` or\n`resource/opentelekomcloud_vpc_eip_v1`.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst floatip1 = new opentelekomcloud.ComputeFloatingipV2(\"floatip_1\", {});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nfloatip1 = opentelekomcloud.ComputeFloatingipV2(\"floatip_1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var floatip1 = new Opentelekomcloud.ComputeFloatingipV2(\"floatip_1\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewComputeFloatingipV2(ctx, \"floatip_1\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ComputeFloatingipV2;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var floatip1 = new ComputeFloatingipV2(\"floatip1\");\n\n    }\n}\n```\n```yaml\nresources:\n  floatip1:\n    type: opentelekomcloud:ComputeFloatingipV2\n    name: floatip_1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFloating IPs can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/computeFloatingipV2:ComputeFloatingipV2 floatip_1 89c60255-9bd6-460c-822a-e2b959ede9d2\n```\n\n","properties":{"address":{"type":"string","description":"The actual floating IP address itself.\n"},"computeFloatingipV2Id":{"type":"string"},"fixedIp":{"type":"string","description":"The fixed IP address corresponding to the floating IP.\n"},"instanceId":{"type":"string","description":"UUID of the compute instance associated with the floating IP.\n"},"pool":{"type":"string","description":"The name of the pool from which to obtain the floating\nIP. Default value is admin_external_net. Changing this creates a new floating IP.\n"},"region":{"type":"string"}},"type":"object","required":["address","computeFloatingipV2Id","fixedIp","instanceId","region"],"inputProperties":{"computeFloatingipV2Id":{"type":"string"},"pool":{"type":"string","description":"The name of the pool from which to obtain the floating\nIP. Default value is admin_external_net. Changing this creates a new floating IP.\n"},"region":{"type":"string"}},"stateInputs":{"description":"Input properties used for looking up and filtering ComputeFloatingipV2 resources.\n","properties":{"address":{"type":"string","description":"The actual floating IP address itself.\n"},"computeFloatingipV2Id":{"type":"string"},"fixedIp":{"type":"string","description":"The fixed IP address corresponding to the floating IP.\n"},"instanceId":{"type":"string","description":"UUID of the compute instance associated with the floating IP.\n"},"pool":{"type":"string","description":"The name of the pool from which to obtain the floating\nIP. Default value is admin_external_net. Changing this creates a new floating IP.\n"},"region":{"type":"string"}},"type":"object"}},"opentelekomcloud:index/computeInstanceV2:ComputeInstanceV2":{"description":"Up-to-date reference of API arguments for ECS management you can get at\n[documentation portal](https://docs.otc.t-systems.com/elastic-cloud-server/api-ref/openstack_nova_apis/lifecycle_management)\n\n\nManages a V2 VM instance resource within OpenTelekomCloud.\n\n\u003e **NOTE:** Compute v2 API that are used in this resource aren't officially supported on SwissCloud.\n\n## Example Usage\n\n### Basic Instance\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst imageId = config.requireObject\u003cany\u003e(\"imageId\");\nconst basic = new opentelekomcloud.ComputeInstanceV2(\"basic\", {\n    name: \"basic\",\n    imageId: imageId,\n    flavorId: \"s2.large.4\",\n    keyPair: \"my_key_pair_name\",\n    securityGroups: [\"default\"],\n    networks: [{\n        name: \"my_network\",\n    }],\n    metadata: {\n        \"this\": \"that\",\n    },\n    tags: {\n        muh: \"kuh\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nimage_id = config.require_object(\"imageId\")\nbasic = opentelekomcloud.ComputeInstanceV2(\"basic\",\n    name=\"basic\",\n    image_id=image_id,\n    flavor_id=\"s2.large.4\",\n    key_pair=\"my_key_pair_name\",\n    security_groups=[\"default\"],\n    networks=[{\n        \"name\": \"my_network\",\n    }],\n    metadata={\n        \"this\": \"that\",\n    },\n    tags={\n        \"muh\": \"kuh\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var imageId = config.RequireObject\u003cdynamic\u003e(\"imageId\");\n    var basic = new Opentelekomcloud.ComputeInstanceV2(\"basic\", new()\n    {\n        Name = \"basic\",\n        ImageId = imageId,\n        FlavorId = \"s2.large.4\",\n        KeyPair = \"my_key_pair_name\",\n        SecurityGroups = new[]\n        {\n            \"default\",\n        },\n        Networks = new[]\n        {\n            new Opentelekomcloud.Inputs.ComputeInstanceV2NetworkArgs\n            {\n                Name = \"my_network\",\n            },\n        },\n        Metadata = \n        {\n            { \"this\", \"that\" },\n        },\n        Tags = \n        {\n            { \"muh\", \"kuh\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\timageId := cfg.RequireObject(\"imageId\")\n\t\t_, err := opentelekomcloud.NewComputeInstanceV2(ctx, \"basic\", \u0026opentelekomcloud.ComputeInstanceV2Args{\n\t\t\tName:     pulumi.String(\"basic\"),\n\t\t\tImageId:  pulumi.Any(imageId),\n\t\t\tFlavorId: pulumi.String(\"s2.large.4\"),\n\t\t\tKeyPair:  pulumi.String(\"my_key_pair_name\"),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"default\"),\n\t\t\t},\n\t\t\tNetworks: opentelekomcloud.ComputeInstanceV2NetworkArray{\n\t\t\t\t\u0026opentelekomcloud.ComputeInstanceV2NetworkArgs{\n\t\t\t\t\tName: pulumi.String(\"my_network\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tMetadata: pulumi.StringMap{\n\t\t\t\t\"this\": pulumi.String(\"that\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"muh\": pulumi.String(\"kuh\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ComputeInstanceV2;\nimport com.pulumi.opentelekomcloud.ComputeInstanceV2Args;\nimport com.pulumi.opentelekomcloud.inputs.ComputeInstanceV2NetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var imageId = config.get(\"imageId\");\n        var basic = new ComputeInstanceV2(\"basic\", ComputeInstanceV2Args.builder()\n            .name(\"basic\")\n            .imageId(imageId)\n            .flavorId(\"s2.large.4\")\n            .keyPair(\"my_key_pair_name\")\n            .securityGroups(\"default\")\n            .networks(ComputeInstanceV2NetworkArgs.builder()\n                .name(\"my_network\")\n                .build())\n            .metadata(Map.of(\"this\", \"that\"))\n            .tags(Map.of(\"muh\", \"kuh\"))\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  imageId:\n    type: dynamic\nresources:\n  basic:\n    type: opentelekomcloud:ComputeInstanceV2\n    properties:\n      name: basic\n      imageId: ${imageId}\n      flavorId: s2.large.4\n      keyPair: my_key_pair_name\n      securityGroups:\n        - default\n      networks:\n        - name: my_network\n      metadata:\n        this: that\n      tags:\n        muh: kuh\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Instance With Attached Volume\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst imageId = config.requireObject\u003cany\u003e(\"imageId\");\nconst myvol = new opentelekomcloud.BlockstorageVolumeV2(\"myvol\", {\n    name: \"myvol\",\n    size: 4,\n});\nconst myinstance = new opentelekomcloud.ComputeInstanceV2(\"myinstance\", {\n    name: \"myinstance\",\n    imageId: imageId,\n    flavorId: \"s2.large.4\",\n    keyPair: \"my_key_pair_name\",\n    securityGroups: [\"default\"],\n    networks: [{\n        name: \"my_network\",\n    }],\n});\nconst attached = new opentelekomcloud.ComputeVolumeAttachV2(\"attached\", {\n    instanceId: myinstance.computeInstanceV2Id,\n    volumeId: myvol.blockstorageVolumeV2Id,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nimage_id = config.require_object(\"imageId\")\nmyvol = opentelekomcloud.BlockstorageVolumeV2(\"myvol\",\n    name=\"myvol\",\n    size=4)\nmyinstance = opentelekomcloud.ComputeInstanceV2(\"myinstance\",\n    name=\"myinstance\",\n    image_id=image_id,\n    flavor_id=\"s2.large.4\",\n    key_pair=\"my_key_pair_name\",\n    security_groups=[\"default\"],\n    networks=[{\n        \"name\": \"my_network\",\n    }])\nattached = opentelekomcloud.ComputeVolumeAttachV2(\"attached\",\n    instance_id=myinstance.compute_instance_v2_id,\n    volume_id=myvol.blockstorage_volume_v2_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var imageId = config.RequireObject\u003cdynamic\u003e(\"imageId\");\n    var myvol = new Opentelekomcloud.BlockstorageVolumeV2(\"myvol\", new()\n    {\n        Name = \"myvol\",\n        Size = 4,\n    });\n\n    var myinstance = new Opentelekomcloud.ComputeInstanceV2(\"myinstance\", new()\n    {\n        Name = \"myinstance\",\n        ImageId = imageId,\n        FlavorId = \"s2.large.4\",\n        KeyPair = \"my_key_pair_name\",\n        SecurityGroups = new[]\n        {\n            \"default\",\n        },\n        Networks = new[]\n        {\n            new Opentelekomcloud.Inputs.ComputeInstanceV2NetworkArgs\n            {\n                Name = \"my_network\",\n            },\n        },\n    });\n\n    var attached = new Opentelekomcloud.ComputeVolumeAttachV2(\"attached\", new()\n    {\n        InstanceId = myinstance.ComputeInstanceV2Id,\n        VolumeId = myvol.BlockstorageVolumeV2Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\timageId := cfg.RequireObject(\"imageId\")\n\t\tmyvol, err := opentelekomcloud.NewBlockstorageVolumeV2(ctx, \"myvol\", \u0026opentelekomcloud.BlockstorageVolumeV2Args{\n\t\t\tName: pulumi.String(\"myvol\"),\n\t\t\tSize: pulumi.Float64(4),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyinstance, err := opentelekomcloud.NewComputeInstanceV2(ctx, \"myinstance\", \u0026opentelekomcloud.ComputeInstanceV2Args{\n\t\t\tName:     pulumi.String(\"myinstance\"),\n\t\t\tImageId:  pulumi.Any(imageId),\n\t\t\tFlavorId: pulumi.String(\"s2.large.4\"),\n\t\t\tKeyPair:  pulumi.String(\"my_key_pair_name\"),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"default\"),\n\t\t\t},\n\t\t\tNetworks: opentelekomcloud.ComputeInstanceV2NetworkArray{\n\t\t\t\t\u0026opentelekomcloud.ComputeInstanceV2NetworkArgs{\n\t\t\t\t\tName: pulumi.String(\"my_network\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewComputeVolumeAttachV2(ctx, \"attached\", \u0026opentelekomcloud.ComputeVolumeAttachV2Args{\n\t\t\tInstanceId: myinstance.ComputeInstanceV2Id,\n\t\t\tVolumeId:   myvol.BlockstorageVolumeV2Id,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.BlockstorageVolumeV2;\nimport com.pulumi.opentelekomcloud.BlockstorageVolumeV2Args;\nimport com.pulumi.opentelekomcloud.ComputeInstanceV2;\nimport com.pulumi.opentelekomcloud.ComputeInstanceV2Args;\nimport com.pulumi.opentelekomcloud.inputs.ComputeInstanceV2NetworkArgs;\nimport com.pulumi.opentelekomcloud.ComputeVolumeAttachV2;\nimport com.pulumi.opentelekomcloud.ComputeVolumeAttachV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var imageId = config.get(\"imageId\");\n        var myvol = new BlockstorageVolumeV2(\"myvol\", BlockstorageVolumeV2Args.builder()\n            .name(\"myvol\")\n            .size(4.0)\n            .build());\n\n        var myinstance = new ComputeInstanceV2(\"myinstance\", ComputeInstanceV2Args.builder()\n            .name(\"myinstance\")\n            .imageId(imageId)\n            .flavorId(\"s2.large.4\")\n            .keyPair(\"my_key_pair_name\")\n            .securityGroups(\"default\")\n            .networks(ComputeInstanceV2NetworkArgs.builder()\n                .name(\"my_network\")\n                .build())\n            .build());\n\n        var attached = new ComputeVolumeAttachV2(\"attached\", ComputeVolumeAttachV2Args.builder()\n            .instanceId(myinstance.computeInstanceV2Id())\n            .volumeId(myvol.blockstorageVolumeV2Id())\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  imageId:\n    type: dynamic\nresources:\n  myvol:\n    type: opentelekomcloud:BlockstorageVolumeV2\n    properties:\n      name: myvol\n      size: 4\n  myinstance:\n    type: opentelekomcloud:ComputeInstanceV2\n    properties:\n      name: myinstance\n      imageId: ${imageId}\n      flavorId: s2.large.4\n      keyPair: my_key_pair_name\n      securityGroups:\n        - default\n      networks:\n        - name: my_network\n  attached:\n    type: opentelekomcloud:ComputeVolumeAttachV2\n    properties:\n      instanceId: ${myinstance.computeInstanceV2Id}\n      volumeId: ${myvol.blockstorageVolumeV2Id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Boot From Volume\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst imageId = config.requireObject\u003cany\u003e(\"imageId\");\nconst boot_from_volume = new opentelekomcloud.ComputeInstanceV2(\"boot-from-volume\", {\n    name: \"boot-from-volume\",\n    flavorId: \"s2.large.4\",\n    keyPair: \"my_key_pair_name\",\n    securityGroups: [\"default\"],\n    blockDevices: [{\n        uuid: imageId,\n        sourceType: \"image\",\n        volumeSize: 5,\n        bootIndex: 0,\n        destinationType: \"volume\",\n        deleteOnTermination: true,\n        volumeType: \"SSD\",\n    }],\n    networks: [{\n        name: \"my_network\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nimage_id = config.require_object(\"imageId\")\nboot_from_volume = opentelekomcloud.ComputeInstanceV2(\"boot-from-volume\",\n    name=\"boot-from-volume\",\n    flavor_id=\"s2.large.4\",\n    key_pair=\"my_key_pair_name\",\n    security_groups=[\"default\"],\n    block_devices=[{\n        \"uuid\": image_id,\n        \"source_type\": \"image\",\n        \"volume_size\": 5,\n        \"boot_index\": 0,\n        \"destination_type\": \"volume\",\n        \"delete_on_termination\": True,\n        \"volume_type\": \"SSD\",\n    }],\n    networks=[{\n        \"name\": \"my_network\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var imageId = config.RequireObject\u003cdynamic\u003e(\"imageId\");\n    var boot_from_volume = new Opentelekomcloud.ComputeInstanceV2(\"boot-from-volume\", new()\n    {\n        Name = \"boot-from-volume\",\n        FlavorId = \"s2.large.4\",\n        KeyPair = \"my_key_pair_name\",\n        SecurityGroups = new[]\n        {\n            \"default\",\n        },\n        BlockDevices = new[]\n        {\n            new Opentelekomcloud.Inputs.ComputeInstanceV2BlockDeviceArgs\n            {\n                Uuid = imageId,\n                SourceType = \"image\",\n                VolumeSize = 5,\n                BootIndex = 0,\n                DestinationType = \"volume\",\n                DeleteOnTermination = true,\n                VolumeType = \"SSD\",\n            },\n        },\n        Networks = new[]\n        {\n            new Opentelekomcloud.Inputs.ComputeInstanceV2NetworkArgs\n            {\n                Name = \"my_network\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\timageId := cfg.RequireObject(\"imageId\")\n\t\t_, err := opentelekomcloud.NewComputeInstanceV2(ctx, \"boot-from-volume\", \u0026opentelekomcloud.ComputeInstanceV2Args{\n\t\t\tName:     pulumi.String(\"boot-from-volume\"),\n\t\t\tFlavorId: pulumi.String(\"s2.large.4\"),\n\t\t\tKeyPair:  pulumi.String(\"my_key_pair_name\"),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"default\"),\n\t\t\t},\n\t\t\tBlockDevices: opentelekomcloud.ComputeInstanceV2BlockDeviceArray{\n\t\t\t\t\u0026opentelekomcloud.ComputeInstanceV2BlockDeviceArgs{\n\t\t\t\t\tUuid:                pulumi.Any(imageId),\n\t\t\t\t\tSourceType:          pulumi.String(\"image\"),\n\t\t\t\t\tVolumeSize:          pulumi.Float64(5),\n\t\t\t\t\tBootIndex:           pulumi.Float64(0),\n\t\t\t\t\tDestinationType:     pulumi.String(\"volume\"),\n\t\t\t\t\tDeleteOnTermination: pulumi.Bool(true),\n\t\t\t\t\tVolumeType:          pulumi.String(\"SSD\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tNetworks: opentelekomcloud.ComputeInstanceV2NetworkArray{\n\t\t\t\t\u0026opentelekomcloud.ComputeInstanceV2NetworkArgs{\n\t\t\t\t\tName: pulumi.String(\"my_network\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ComputeInstanceV2;\nimport com.pulumi.opentelekomcloud.ComputeInstanceV2Args;\nimport com.pulumi.opentelekomcloud.inputs.ComputeInstanceV2BlockDeviceArgs;\nimport com.pulumi.opentelekomcloud.inputs.ComputeInstanceV2NetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var imageId = config.get(\"imageId\");\n        var boot_from_volume = new ComputeInstanceV2(\"boot-from-volume\", ComputeInstanceV2Args.builder()\n            .name(\"boot-from-volume\")\n            .flavorId(\"s2.large.4\")\n            .keyPair(\"my_key_pair_name\")\n            .securityGroups(\"default\")\n            .blockDevices(ComputeInstanceV2BlockDeviceArgs.builder()\n                .uuid(imageId)\n                .sourceType(\"image\")\n                .volumeSize(5.0)\n                .bootIndex(0.0)\n                .destinationType(\"volume\")\n                .deleteOnTermination(true)\n                .volumeType(\"SSD\")\n                .build())\n            .networks(ComputeInstanceV2NetworkArgs.builder()\n                .name(\"my_network\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  imageId:\n    type: dynamic\nresources:\n  boot-from-volume:\n    type: opentelekomcloud:ComputeInstanceV2\n    properties:\n      name: boot-from-volume\n      flavorId: s2.large.4\n      keyPair: my_key_pair_name\n      securityGroups:\n        - default\n      blockDevices:\n        - uuid: ${imageId}\n          sourceType: image\n          volumeSize: 5\n          bootIndex: 0\n          destinationType: volume\n          deleteOnTermination: true\n          volumeType: SSD\n      networks:\n        - name: my_network\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Boot From an Existing Volume\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst imageId = config.requireObject\u003cany\u003e(\"imageId\");\nconst myvol = new opentelekomcloud.BlockstorageVolumeV2(\"myvol\", {\n    name: \"myvol\",\n    size: 5,\n    imageId: imageId,\n});\nconst boot_from_volume = new opentelekomcloud.ComputeInstanceV2(\"boot-from-volume\", {\n    name: \"bootfromvolume\",\n    flavorId: \"s2.large.4\",\n    keyPair: \"my_key_pair_name\",\n    securityGroups: [\"default\"],\n    blockDevices: [{\n        uuid: myvol.blockstorageVolumeV2Id,\n        sourceType: \"volume\",\n        bootIndex: 0,\n        destinationType: \"volume\",\n        deleteOnTermination: true,\n    }],\n    networks: [{\n        name: \"my_network\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nimage_id = config.require_object(\"imageId\")\nmyvol = opentelekomcloud.BlockstorageVolumeV2(\"myvol\",\n    name=\"myvol\",\n    size=5,\n    image_id=image_id)\nboot_from_volume = opentelekomcloud.ComputeInstanceV2(\"boot-from-volume\",\n    name=\"bootfromvolume\",\n    flavor_id=\"s2.large.4\",\n    key_pair=\"my_key_pair_name\",\n    security_groups=[\"default\"],\n    block_devices=[{\n        \"uuid\": myvol.blockstorage_volume_v2_id,\n        \"source_type\": \"volume\",\n        \"boot_index\": 0,\n        \"destination_type\": \"volume\",\n        \"delete_on_termination\": True,\n    }],\n    networks=[{\n        \"name\": \"my_network\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var imageId = config.RequireObject\u003cdynamic\u003e(\"imageId\");\n    var myvol = new Opentelekomcloud.BlockstorageVolumeV2(\"myvol\", new()\n    {\n        Name = \"myvol\",\n        Size = 5,\n        ImageId = imageId,\n    });\n\n    var boot_from_volume = new Opentelekomcloud.ComputeInstanceV2(\"boot-from-volume\", new()\n    {\n        Name = \"bootfromvolume\",\n        FlavorId = \"s2.large.4\",\n        KeyPair = \"my_key_pair_name\",\n        SecurityGroups = new[]\n        {\n            \"default\",\n        },\n        BlockDevices = new[]\n        {\n            new Opentelekomcloud.Inputs.ComputeInstanceV2BlockDeviceArgs\n            {\n                Uuid = myvol.BlockstorageVolumeV2Id,\n                SourceType = \"volume\",\n                BootIndex = 0,\n                DestinationType = \"volume\",\n                DeleteOnTermination = true,\n            },\n        },\n        Networks = new[]\n        {\n            new Opentelekomcloud.Inputs.ComputeInstanceV2NetworkArgs\n            {\n                Name = \"my_network\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\timageId := cfg.RequireObject(\"imageId\")\n\t\tmyvol, err := opentelekomcloud.NewBlockstorageVolumeV2(ctx, \"myvol\", \u0026opentelekomcloud.BlockstorageVolumeV2Args{\n\t\t\tName:    pulumi.String(\"myvol\"),\n\t\t\tSize:    pulumi.Float64(5),\n\t\t\tImageId: pulumi.Any(imageId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewComputeInstanceV2(ctx, \"boot-from-volume\", \u0026opentelekomcloud.ComputeInstanceV2Args{\n\t\t\tName:     pulumi.String(\"bootfromvolume\"),\n\t\t\tFlavorId: pulumi.String(\"s2.large.4\"),\n\t\t\tKeyPair:  pulumi.String(\"my_key_pair_name\"),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"default\"),\n\t\t\t},\n\t\t\tBlockDevices: opentelekomcloud.ComputeInstanceV2BlockDeviceArray{\n\t\t\t\t\u0026opentelekomcloud.ComputeInstanceV2BlockDeviceArgs{\n\t\t\t\t\tUuid:                myvol.BlockstorageVolumeV2Id,\n\t\t\t\t\tSourceType:          pulumi.String(\"volume\"),\n\t\t\t\t\tBootIndex:           pulumi.Float64(0),\n\t\t\t\t\tDestinationType:     pulumi.String(\"volume\"),\n\t\t\t\t\tDeleteOnTermination: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tNetworks: opentelekomcloud.ComputeInstanceV2NetworkArray{\n\t\t\t\t\u0026opentelekomcloud.ComputeInstanceV2NetworkArgs{\n\t\t\t\t\tName: pulumi.String(\"my_network\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.BlockstorageVolumeV2;\nimport com.pulumi.opentelekomcloud.BlockstorageVolumeV2Args;\nimport com.pulumi.opentelekomcloud.ComputeInstanceV2;\nimport com.pulumi.opentelekomcloud.ComputeInstanceV2Args;\nimport com.pulumi.opentelekomcloud.inputs.ComputeInstanceV2BlockDeviceArgs;\nimport com.pulumi.opentelekomcloud.inputs.ComputeInstanceV2NetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var imageId = config.get(\"imageId\");\n        var myvol = new BlockstorageVolumeV2(\"myvol\", BlockstorageVolumeV2Args.builder()\n            .name(\"myvol\")\n            .size(5.0)\n            .imageId(imageId)\n            .build());\n\n        var boot_from_volume = new ComputeInstanceV2(\"boot-from-volume\", ComputeInstanceV2Args.builder()\n            .name(\"bootfromvolume\")\n            .flavorId(\"s2.large.4\")\n            .keyPair(\"my_key_pair_name\")\n            .securityGroups(\"default\")\n            .blockDevices(ComputeInstanceV2BlockDeviceArgs.builder()\n                .uuid(myvol.blockstorageVolumeV2Id())\n                .sourceType(\"volume\")\n                .bootIndex(0.0)\n                .destinationType(\"volume\")\n                .deleteOnTermination(true)\n                .build())\n            .networks(ComputeInstanceV2NetworkArgs.builder()\n                .name(\"my_network\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  imageId:\n    type: dynamic\nresources:\n  myvol:\n    type: opentelekomcloud:BlockstorageVolumeV2\n    properties:\n      name: myvol\n      size: 5\n      imageId: ${imageId}\n  boot-from-volume:\n    type: opentelekomcloud:ComputeInstanceV2\n    properties:\n      name: bootfromvolume\n      flavorId: s2.large.4\n      keyPair: my_key_pair_name\n      securityGroups:\n        - default\n      blockDevices:\n        - uuid: ${myvol.blockstorageVolumeV2Id}\n          sourceType: volume\n          bootIndex: 0\n          destinationType: volume\n          deleteOnTermination: true\n      networks:\n        - name: my_network\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Boot Instance, Create Volume, and Attach Volume as a Block Device\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst imageId = config.requireObject\u003cany\u003e(\"imageId\");\nconst dataImageId = config.requireObject\u003cany\u003e(\"dataImageId\");\nconst instance1 = new opentelekomcloud.ComputeInstanceV2(\"instance_1\", {\n    name: \"instance_1\",\n    imageId: imageId,\n    flavorId: \"s2.large.4\",\n    keyPair: \"my_key_pair_name\",\n    securityGroups: [\"default\"],\n    blockDevices: [\n        {\n            uuid: dataImageId,\n            sourceType: \"image\",\n            destinationType: \"volume\",\n            bootIndex: 0,\n            deleteOnTermination: true,\n        },\n        {\n            sourceType: \"blank\",\n            destinationType: \"volume\",\n            volumeSize: 1,\n            bootIndex: 1,\n            deleteOnTermination: true,\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nimage_id = config.require_object(\"imageId\")\ndata_image_id = config.require_object(\"dataImageId\")\ninstance1 = opentelekomcloud.ComputeInstanceV2(\"instance_1\",\n    name=\"instance_1\",\n    image_id=image_id,\n    flavor_id=\"s2.large.4\",\n    key_pair=\"my_key_pair_name\",\n    security_groups=[\"default\"],\n    block_devices=[\n        {\n            \"uuid\": data_image_id,\n            \"source_type\": \"image\",\n            \"destination_type\": \"volume\",\n            \"boot_index\": 0,\n            \"delete_on_termination\": True,\n        },\n        {\n            \"source_type\": \"blank\",\n            \"destination_type\": \"volume\",\n            \"volume_size\": 1,\n            \"boot_index\": 1,\n            \"delete_on_termination\": True,\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var imageId = config.RequireObject\u003cdynamic\u003e(\"imageId\");\n    var dataImageId = config.RequireObject\u003cdynamic\u003e(\"dataImageId\");\n    var instance1 = new Opentelekomcloud.ComputeInstanceV2(\"instance_1\", new()\n    {\n        Name = \"instance_1\",\n        ImageId = imageId,\n        FlavorId = \"s2.large.4\",\n        KeyPair = \"my_key_pair_name\",\n        SecurityGroups = new[]\n        {\n            \"default\",\n        },\n        BlockDevices = new[]\n        {\n            new Opentelekomcloud.Inputs.ComputeInstanceV2BlockDeviceArgs\n            {\n                Uuid = dataImageId,\n                SourceType = \"image\",\n                DestinationType = \"volume\",\n                BootIndex = 0,\n                DeleteOnTermination = true,\n            },\n            new Opentelekomcloud.Inputs.ComputeInstanceV2BlockDeviceArgs\n            {\n                SourceType = \"blank\",\n                DestinationType = \"volume\",\n                VolumeSize = 1,\n                BootIndex = 1,\n                DeleteOnTermination = true,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\timageId := cfg.RequireObject(\"imageId\")\n\t\tdataImageId := cfg.RequireObject(\"dataImageId\")\n\t\t_, err := opentelekomcloud.NewComputeInstanceV2(ctx, \"instance_1\", \u0026opentelekomcloud.ComputeInstanceV2Args{\n\t\t\tName:     pulumi.String(\"instance_1\"),\n\t\t\tImageId:  pulumi.Any(imageId),\n\t\t\tFlavorId: pulumi.String(\"s2.large.4\"),\n\t\t\tKeyPair:  pulumi.String(\"my_key_pair_name\"),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"default\"),\n\t\t\t},\n\t\t\tBlockDevices: opentelekomcloud.ComputeInstanceV2BlockDeviceArray{\n\t\t\t\t\u0026opentelekomcloud.ComputeInstanceV2BlockDeviceArgs{\n\t\t\t\t\tUuid:                pulumi.Any(dataImageId),\n\t\t\t\t\tSourceType:          pulumi.String(\"image\"),\n\t\t\t\t\tDestinationType:     pulumi.String(\"volume\"),\n\t\t\t\t\tBootIndex:           pulumi.Float64(0),\n\t\t\t\t\tDeleteOnTermination: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\u0026opentelekomcloud.ComputeInstanceV2BlockDeviceArgs{\n\t\t\t\t\tSourceType:          pulumi.String(\"blank\"),\n\t\t\t\t\tDestinationType:     pulumi.String(\"volume\"),\n\t\t\t\t\tVolumeSize:          pulumi.Float64(1),\n\t\t\t\t\tBootIndex:           pulumi.Float64(1),\n\t\t\t\t\tDeleteOnTermination: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ComputeInstanceV2;\nimport com.pulumi.opentelekomcloud.ComputeInstanceV2Args;\nimport com.pulumi.opentelekomcloud.inputs.ComputeInstanceV2BlockDeviceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var imageId = config.get(\"imageId\");\n        final var dataImageId = config.get(\"dataImageId\");\n        var instance1 = new ComputeInstanceV2(\"instance1\", ComputeInstanceV2Args.builder()\n            .name(\"instance_1\")\n            .imageId(imageId)\n            .flavorId(\"s2.large.4\")\n            .keyPair(\"my_key_pair_name\")\n            .securityGroups(\"default\")\n            .blockDevices(            \n                ComputeInstanceV2BlockDeviceArgs.builder()\n                    .uuid(dataImageId)\n                    .sourceType(\"image\")\n                    .destinationType(\"volume\")\n                    .bootIndex(0.0)\n                    .deleteOnTermination(true)\n                    .build(),\n                ComputeInstanceV2BlockDeviceArgs.builder()\n                    .sourceType(\"blank\")\n                    .destinationType(\"volume\")\n                    .volumeSize(1.0)\n                    .bootIndex(1.0)\n                    .deleteOnTermination(true)\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  imageId:\n    type: dynamic\n  dataImageId:\n    type: dynamic\nresources:\n  instance1:\n    type: opentelekomcloud:ComputeInstanceV2\n    name: instance_1\n    properties:\n      name: instance_1\n      imageId: ${imageId}\n      flavorId: s2.large.4\n      keyPair: my_key_pair_name\n      securityGroups:\n        - default\n      blockDevices:\n        - uuid: ${dataImageId}\n          sourceType: image\n          destinationType: volume\n          bootIndex: 0\n          deleteOnTermination: true\n        - sourceType: blank\n          destinationType: volume\n          volumeSize: 1\n          bootIndex: 1\n          deleteOnTermination: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Boot Instance and Attach Existing Volume as a Block Device\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst imageId = config.requireObject\u003cany\u003e(\"imageId\");\nconst dataImageId = config.requireObject\u003cany\u003e(\"dataImageId\");\nconst volume1 = new opentelekomcloud.BlockstorageVolumeV2(\"volume_1\", {\n    name: \"volume_1\",\n    size: 1,\n});\nconst instance1 = new opentelekomcloud.ComputeInstanceV2(\"instance_1\", {\n    name: \"instance_1\",\n    imageId: imageId,\n    flavorId: \"s2.large.4\",\n    keyPair: \"my_key_pair_name\",\n    securityGroups: [\"default\"],\n    blockDevices: [\n        {\n            uuid: dataImageId,\n            sourceType: \"image\",\n            destinationType: \"volume\",\n            bootIndex: 0,\n            deleteOnTermination: true,\n        },\n        {\n            uuid: volume1.blockstorageVolumeV2Id,\n            sourceType: \"volume\",\n            destinationType: \"volume\",\n            bootIndex: 1,\n            deleteOnTermination: true,\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nimage_id = config.require_object(\"imageId\")\ndata_image_id = config.require_object(\"dataImageId\")\nvolume1 = opentelekomcloud.BlockstorageVolumeV2(\"volume_1\",\n    name=\"volume_1\",\n    size=1)\ninstance1 = opentelekomcloud.ComputeInstanceV2(\"instance_1\",\n    name=\"instance_1\",\n    image_id=image_id,\n    flavor_id=\"s2.large.4\",\n    key_pair=\"my_key_pair_name\",\n    security_groups=[\"default\"],\n    block_devices=[\n        {\n            \"uuid\": data_image_id,\n            \"source_type\": \"image\",\n            \"destination_type\": \"volume\",\n            \"boot_index\": 0,\n            \"delete_on_termination\": True,\n        },\n        {\n            \"uuid\": volume1.blockstorage_volume_v2_id,\n            \"source_type\": \"volume\",\n            \"destination_type\": \"volume\",\n            \"boot_index\": 1,\n            \"delete_on_termination\": True,\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var imageId = config.RequireObject\u003cdynamic\u003e(\"imageId\");\n    var dataImageId = config.RequireObject\u003cdynamic\u003e(\"dataImageId\");\n    var volume1 = new Opentelekomcloud.BlockstorageVolumeV2(\"volume_1\", new()\n    {\n        Name = \"volume_1\",\n        Size = 1,\n    });\n\n    var instance1 = new Opentelekomcloud.ComputeInstanceV2(\"instance_1\", new()\n    {\n        Name = \"instance_1\",\n        ImageId = imageId,\n        FlavorId = \"s2.large.4\",\n        KeyPair = \"my_key_pair_name\",\n        SecurityGroups = new[]\n        {\n            \"default\",\n        },\n        BlockDevices = new[]\n        {\n            new Opentelekomcloud.Inputs.ComputeInstanceV2BlockDeviceArgs\n            {\n                Uuid = dataImageId,\n                SourceType = \"image\",\n                DestinationType = \"volume\",\n                BootIndex = 0,\n                DeleteOnTermination = true,\n            },\n            new Opentelekomcloud.Inputs.ComputeInstanceV2BlockDeviceArgs\n            {\n                Uuid = volume1.BlockstorageVolumeV2Id,\n                SourceType = \"volume\",\n                DestinationType = \"volume\",\n                BootIndex = 1,\n                DeleteOnTermination = true,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\timageId := cfg.RequireObject(\"imageId\")\n\t\tdataImageId := cfg.RequireObject(\"dataImageId\")\n\t\tvolume1, err := opentelekomcloud.NewBlockstorageVolumeV2(ctx, \"volume_1\", \u0026opentelekomcloud.BlockstorageVolumeV2Args{\n\t\t\tName: pulumi.String(\"volume_1\"),\n\t\t\tSize: pulumi.Float64(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewComputeInstanceV2(ctx, \"instance_1\", \u0026opentelekomcloud.ComputeInstanceV2Args{\n\t\t\tName:     pulumi.String(\"instance_1\"),\n\t\t\tImageId:  pulumi.Any(imageId),\n\t\t\tFlavorId: pulumi.String(\"s2.large.4\"),\n\t\t\tKeyPair:  pulumi.String(\"my_key_pair_name\"),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"default\"),\n\t\t\t},\n\t\t\tBlockDevices: opentelekomcloud.ComputeInstanceV2BlockDeviceArray{\n\t\t\t\t\u0026opentelekomcloud.ComputeInstanceV2BlockDeviceArgs{\n\t\t\t\t\tUuid:                pulumi.Any(dataImageId),\n\t\t\t\t\tSourceType:          pulumi.String(\"image\"),\n\t\t\t\t\tDestinationType:     pulumi.String(\"volume\"),\n\t\t\t\t\tBootIndex:           pulumi.Float64(0),\n\t\t\t\t\tDeleteOnTermination: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\u0026opentelekomcloud.ComputeInstanceV2BlockDeviceArgs{\n\t\t\t\t\tUuid:                volume1.BlockstorageVolumeV2Id,\n\t\t\t\t\tSourceType:          pulumi.String(\"volume\"),\n\t\t\t\t\tDestinationType:     pulumi.String(\"volume\"),\n\t\t\t\t\tBootIndex:           pulumi.Float64(1),\n\t\t\t\t\tDeleteOnTermination: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.BlockstorageVolumeV2;\nimport com.pulumi.opentelekomcloud.BlockstorageVolumeV2Args;\nimport com.pulumi.opentelekomcloud.ComputeInstanceV2;\nimport com.pulumi.opentelekomcloud.ComputeInstanceV2Args;\nimport com.pulumi.opentelekomcloud.inputs.ComputeInstanceV2BlockDeviceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var imageId = config.get(\"imageId\");\n        final var dataImageId = config.get(\"dataImageId\");\n        var volume1 = new BlockstorageVolumeV2(\"volume1\", BlockstorageVolumeV2Args.builder()\n            .name(\"volume_1\")\n            .size(1.0)\n            .build());\n\n        var instance1 = new ComputeInstanceV2(\"instance1\", ComputeInstanceV2Args.builder()\n            .name(\"instance_1\")\n            .imageId(imageId)\n            .flavorId(\"s2.large.4\")\n            .keyPair(\"my_key_pair_name\")\n            .securityGroups(\"default\")\n            .blockDevices(            \n                ComputeInstanceV2BlockDeviceArgs.builder()\n                    .uuid(dataImageId)\n                    .sourceType(\"image\")\n                    .destinationType(\"volume\")\n                    .bootIndex(0.0)\n                    .deleteOnTermination(true)\n                    .build(),\n                ComputeInstanceV2BlockDeviceArgs.builder()\n                    .uuid(volume1.blockstorageVolumeV2Id())\n                    .sourceType(\"volume\")\n                    .destinationType(\"volume\")\n                    .bootIndex(1.0)\n                    .deleteOnTermination(true)\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  imageId:\n    type: dynamic\n  dataImageId:\n    type: dynamic\nresources:\n  volume1:\n    type: opentelekomcloud:BlockstorageVolumeV2\n    name: volume_1\n    properties:\n      name: volume_1\n      size: 1\n  instance1:\n    type: opentelekomcloud:ComputeInstanceV2\n    name: instance_1\n    properties:\n      name: instance_1\n      imageId: ${imageId}\n      flavorId: s2.large.4\n      keyPair: my_key_pair_name\n      securityGroups:\n        - default\n      blockDevices:\n        - uuid: ${dataImageId}\n          sourceType: image\n          destinationType: volume\n          bootIndex: 0\n          deleteOnTermination: true\n        - uuid: ${volume1.blockstorageVolumeV2Id}\n          sourceType: volume\n          destinationType: volume\n          bootIndex: 1\n          deleteOnTermination: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Instance With Multiple Networks\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst imageId = config.requireObject\u003cany\u003e(\"imageId\");\nconst secondSubnet = opentelekomcloud.getVpcSubnetV1({\n    name: \"my-subnet\",\n});\nconst myip = new opentelekomcloud.NetworkingFloatingipV2(\"myip\", {pool: \"admin_external_net\"});\nconst multi_net = new opentelekomcloud.ComputeInstanceV2(\"multi-net\", {\n    name: \"multi-net\",\n    imageId: imageId,\n    flavorId: \"s2.large.4\",\n    keyPair: \"my_key_pair_name\",\n    securityGroups: [\"default\"],\n    networks: [\n        {\n            name: \"my_first_network\",\n        },\n        {\n            uuid: secondSubnet.then(secondSubnet =\u003e secondSubnet.networkId),\n        },\n    ],\n});\nconst myipComputeFloatingipAssociateV2 = new opentelekomcloud.ComputeFloatingipAssociateV2(\"myip\", {\n    floatingIp: myip.address,\n    instanceId: multi_net.computeInstanceV2Id,\n    fixedIp: multi_net.networks.apply(networks =\u003e networks?.[1]?.fixedIpV4),\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nimage_id = config.require_object(\"imageId\")\nsecond_subnet = opentelekomcloud.get_vpc_subnet_v1(name=\"my-subnet\")\nmyip = opentelekomcloud.NetworkingFloatingipV2(\"myip\", pool=\"admin_external_net\")\nmulti_net = opentelekomcloud.ComputeInstanceV2(\"multi-net\",\n    name=\"multi-net\",\n    image_id=image_id,\n    flavor_id=\"s2.large.4\",\n    key_pair=\"my_key_pair_name\",\n    security_groups=[\"default\"],\n    networks=[\n        {\n            \"name\": \"my_first_network\",\n        },\n        {\n            \"uuid\": second_subnet.network_id,\n        },\n    ])\nmyip_compute_floatingip_associate_v2 = opentelekomcloud.ComputeFloatingipAssociateV2(\"myip\",\n    floating_ip=myip.address,\n    instance_id=multi_net.compute_instance_v2_id,\n    fixed_ip=multi_net.networks[1].fixed_ip_v4)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var imageId = config.RequireObject\u003cdynamic\u003e(\"imageId\");\n    var secondSubnet = Opentelekomcloud.GetVpcSubnetV1.Invoke(new()\n    {\n        Name = \"my-subnet\",\n    });\n\n    var myip = new Opentelekomcloud.NetworkingFloatingipV2(\"myip\", new()\n    {\n        Pool = \"admin_external_net\",\n    });\n\n    var multi_net = new Opentelekomcloud.ComputeInstanceV2(\"multi-net\", new()\n    {\n        Name = \"multi-net\",\n        ImageId = imageId,\n        FlavorId = \"s2.large.4\",\n        KeyPair = \"my_key_pair_name\",\n        SecurityGroups = new[]\n        {\n            \"default\",\n        },\n        Networks = new[]\n        {\n            new Opentelekomcloud.Inputs.ComputeInstanceV2NetworkArgs\n            {\n                Name = \"my_first_network\",\n            },\n            new Opentelekomcloud.Inputs.ComputeInstanceV2NetworkArgs\n            {\n                Uuid = secondSubnet.Apply(getVpcSubnetV1Result =\u003e getVpcSubnetV1Result.NetworkId),\n            },\n        },\n    });\n\n    var myipComputeFloatingipAssociateV2 = new Opentelekomcloud.ComputeFloatingipAssociateV2(\"myip\", new()\n    {\n        FloatingIp = myip.Address,\n        InstanceId = multi_net.ComputeInstanceV2Id,\n        FixedIp = multi_net.Networks.Apply(networks =\u003e networks[1]?.FixedIpV4),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\timageId := cfg.RequireObject(\"imageId\")\n\t\tsecondSubnet, err := opentelekomcloud.LookupVpcSubnetV1(ctx, \u0026opentelekomcloud.LookupVpcSubnetV1Args{\n\t\t\tName: pulumi.StringRef(\"my-subnet\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyip, err := opentelekomcloud.NewNetworkingFloatingipV2(ctx, \"myip\", \u0026opentelekomcloud.NetworkingFloatingipV2Args{\n\t\t\tPool: pulumi.String(\"admin_external_net\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmulti_net, err := opentelekomcloud.NewComputeInstanceV2(ctx, \"multi-net\", \u0026opentelekomcloud.ComputeInstanceV2Args{\n\t\t\tName:     pulumi.String(\"multi-net\"),\n\t\t\tImageId:  pulumi.Any(imageId),\n\t\t\tFlavorId: pulumi.String(\"s2.large.4\"),\n\t\t\tKeyPair:  pulumi.String(\"my_key_pair_name\"),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"default\"),\n\t\t\t},\n\t\t\tNetworks: opentelekomcloud.ComputeInstanceV2NetworkArray{\n\t\t\t\t\u0026opentelekomcloud.ComputeInstanceV2NetworkArgs{\n\t\t\t\t\tName: pulumi.String(\"my_first_network\"),\n\t\t\t\t},\n\t\t\t\t\u0026opentelekomcloud.ComputeInstanceV2NetworkArgs{\n\t\t\t\t\tUuid: pulumi.String(secondSubnet.NetworkId),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewComputeFloatingipAssociateV2(ctx, \"myip\", \u0026opentelekomcloud.ComputeFloatingipAssociateV2Args{\n\t\t\tFloatingIp: myip.Address,\n\t\t\tInstanceId: multi_net.ComputeInstanceV2Id,\n\t\t\tFixedIp: pulumi.String(multi_net.Networks.ApplyT(func(networks []opentelekomcloud.ComputeInstanceV2Network) (*string, error) {\n\t\t\t\treturn \u0026networks[1].FixedIpV4, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetVpcSubnetV1Args;\nimport com.pulumi.opentelekomcloud.NetworkingFloatingipV2;\nimport com.pulumi.opentelekomcloud.NetworkingFloatingipV2Args;\nimport com.pulumi.opentelekomcloud.ComputeInstanceV2;\nimport com.pulumi.opentelekomcloud.ComputeInstanceV2Args;\nimport com.pulumi.opentelekomcloud.inputs.ComputeInstanceV2NetworkArgs;\nimport com.pulumi.opentelekomcloud.ComputeFloatingipAssociateV2;\nimport com.pulumi.opentelekomcloud.ComputeFloatingipAssociateV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var imageId = config.get(\"imageId\");\n        final var secondSubnet = OpentelekomcloudFunctions.getVpcSubnetV1(GetVpcSubnetV1Args.builder()\n            .name(\"my-subnet\")\n            .build());\n\n        var myip = new NetworkingFloatingipV2(\"myip\", NetworkingFloatingipV2Args.builder()\n            .pool(\"admin_external_net\")\n            .build());\n\n        var multi_net = new ComputeInstanceV2(\"multi-net\", ComputeInstanceV2Args.builder()\n            .name(\"multi-net\")\n            .imageId(imageId)\n            .flavorId(\"s2.large.4\")\n            .keyPair(\"my_key_pair_name\")\n            .securityGroups(\"default\")\n            .networks(            \n                ComputeInstanceV2NetworkArgs.builder()\n                    .name(\"my_first_network\")\n                    .build(),\n                ComputeInstanceV2NetworkArgs.builder()\n                    .uuid(secondSubnet.networkId())\n                    .build())\n            .build());\n\n        var myipComputeFloatingipAssociateV2 = new ComputeFloatingipAssociateV2(\"myipComputeFloatingipAssociateV2\", ComputeFloatingipAssociateV2Args.builder()\n            .floatingIp(myip.address())\n            .instanceId(multi_net.computeInstanceV2Id())\n            .fixedIp(multi_net.networks().applyValue(_networks -\u003e _networks[1].fixedIpV4()))\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  imageId:\n    type: dynamic\nresources:\n  myip:\n    type: opentelekomcloud:NetworkingFloatingipV2\n    properties:\n      pool: admin_external_net\n  multi-net:\n    type: opentelekomcloud:ComputeInstanceV2\n    properties:\n      name: multi-net\n      imageId: ${imageId}\n      flavorId: s2.large.4\n      keyPair: my_key_pair_name\n      securityGroups:\n        - default\n      networks:\n        - name: my_first_network\n        - uuid: ${secondSubnet.networkId}\n  myipComputeFloatingipAssociateV2:\n    type: opentelekomcloud:ComputeFloatingipAssociateV2\n    name: myip\n    properties:\n      floatingIp: ${myip.address}\n      instanceId: ${[\"multi-net\"].computeInstanceV2Id}\n      fixedIp: ${[\"multi-net\"].networks[1].fixedIpV4}\nvariables:\n  secondSubnet:\n    fn::invoke:\n      function: opentelekomcloud:getVpcSubnetV1\n      arguments:\n        name: my-subnet\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Instance with Multiple Ephemeral Disks\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst imageId = config.requireObject\u003cany\u003e(\"imageId\");\nconst dataImageId = config.requireObject\u003cany\u003e(\"dataImageId\");\nconst multi_eph = new opentelekomcloud.ComputeInstanceV2(\"multi-eph\", {\n    name: \"multi_eph\",\n    imageId: imageId,\n    flavorId: \"s2.large.4\",\n    keyPair: \"my_key_pair_name\",\n    securityGroups: [\"default\"],\n    blockDevices: [\n        {\n            bootIndex: 0,\n            deleteOnTermination: true,\n            destinationType: \"volume\",\n            sourceType: \"image\",\n            uuid: dataImageId,\n        },\n        {\n            bootIndex: -1,\n            deleteOnTermination: true,\n            destinationType: \"volume\",\n            sourceType: \"blank\",\n            volumeSize: 1,\n        },\n        {\n            bootIndex: -1,\n            deleteOnTermination: true,\n            destinationType: \"volume\",\n            sourceType: \"blank\",\n            volumeSize: 1,\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nimage_id = config.require_object(\"imageId\")\ndata_image_id = config.require_object(\"dataImageId\")\nmulti_eph = opentelekomcloud.ComputeInstanceV2(\"multi-eph\",\n    name=\"multi_eph\",\n    image_id=image_id,\n    flavor_id=\"s2.large.4\",\n    key_pair=\"my_key_pair_name\",\n    security_groups=[\"default\"],\n    block_devices=[\n        {\n            \"boot_index\": 0,\n            \"delete_on_termination\": True,\n            \"destination_type\": \"volume\",\n            \"source_type\": \"image\",\n            \"uuid\": data_image_id,\n        },\n        {\n            \"boot_index\": -1,\n            \"delete_on_termination\": True,\n            \"destination_type\": \"volume\",\n            \"source_type\": \"blank\",\n            \"volume_size\": 1,\n        },\n        {\n            \"boot_index\": -1,\n            \"delete_on_termination\": True,\n            \"destination_type\": \"volume\",\n            \"source_type\": \"blank\",\n            \"volume_size\": 1,\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var imageId = config.RequireObject\u003cdynamic\u003e(\"imageId\");\n    var dataImageId = config.RequireObject\u003cdynamic\u003e(\"dataImageId\");\n    var multi_eph = new Opentelekomcloud.ComputeInstanceV2(\"multi-eph\", new()\n    {\n        Name = \"multi_eph\",\n        ImageId = imageId,\n        FlavorId = \"s2.large.4\",\n        KeyPair = \"my_key_pair_name\",\n        SecurityGroups = new[]\n        {\n            \"default\",\n        },\n        BlockDevices = new[]\n        {\n            new Opentelekomcloud.Inputs.ComputeInstanceV2BlockDeviceArgs\n            {\n                BootIndex = 0,\n                DeleteOnTermination = true,\n                DestinationType = \"volume\",\n                SourceType = \"image\",\n                Uuid = dataImageId,\n            },\n            new Opentelekomcloud.Inputs.ComputeInstanceV2BlockDeviceArgs\n            {\n                BootIndex = -1,\n                DeleteOnTermination = true,\n                DestinationType = \"volume\",\n                SourceType = \"blank\",\n                VolumeSize = 1,\n            },\n            new Opentelekomcloud.Inputs.ComputeInstanceV2BlockDeviceArgs\n            {\n                BootIndex = -1,\n                DeleteOnTermination = true,\n                DestinationType = \"volume\",\n                SourceType = \"blank\",\n                VolumeSize = 1,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\timageId := cfg.RequireObject(\"imageId\")\n\t\tdataImageId := cfg.RequireObject(\"dataImageId\")\n\t\t_, err := opentelekomcloud.NewComputeInstanceV2(ctx, \"multi-eph\", \u0026opentelekomcloud.ComputeInstanceV2Args{\n\t\t\tName:     pulumi.String(\"multi_eph\"),\n\t\t\tImageId:  pulumi.Any(imageId),\n\t\t\tFlavorId: pulumi.String(\"s2.large.4\"),\n\t\t\tKeyPair:  pulumi.String(\"my_key_pair_name\"),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"default\"),\n\t\t\t},\n\t\t\tBlockDevices: opentelekomcloud.ComputeInstanceV2BlockDeviceArray{\n\t\t\t\t\u0026opentelekomcloud.ComputeInstanceV2BlockDeviceArgs{\n\t\t\t\t\tBootIndex:           pulumi.Float64(0),\n\t\t\t\t\tDeleteOnTermination: pulumi.Bool(true),\n\t\t\t\t\tDestinationType:     pulumi.String(\"volume\"),\n\t\t\t\t\tSourceType:          pulumi.String(\"image\"),\n\t\t\t\t\tUuid:                pulumi.Any(dataImageId),\n\t\t\t\t},\n\t\t\t\t\u0026opentelekomcloud.ComputeInstanceV2BlockDeviceArgs{\n\t\t\t\t\tBootIndex:           pulumi.Float64(-1),\n\t\t\t\t\tDeleteOnTermination: pulumi.Bool(true),\n\t\t\t\t\tDestinationType:     pulumi.String(\"volume\"),\n\t\t\t\t\tSourceType:          pulumi.String(\"blank\"),\n\t\t\t\t\tVolumeSize:          pulumi.Float64(1),\n\t\t\t\t},\n\t\t\t\t\u0026opentelekomcloud.ComputeInstanceV2BlockDeviceArgs{\n\t\t\t\t\tBootIndex:           pulumi.Float64(-1),\n\t\t\t\t\tDeleteOnTermination: pulumi.Bool(true),\n\t\t\t\t\tDestinationType:     pulumi.String(\"volume\"),\n\t\t\t\t\tSourceType:          pulumi.String(\"blank\"),\n\t\t\t\t\tVolumeSize:          pulumi.Float64(1),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ComputeInstanceV2;\nimport com.pulumi.opentelekomcloud.ComputeInstanceV2Args;\nimport com.pulumi.opentelekomcloud.inputs.ComputeInstanceV2BlockDeviceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var imageId = config.get(\"imageId\");\n        final var dataImageId = config.get(\"dataImageId\");\n        var multi_eph = new ComputeInstanceV2(\"multi-eph\", ComputeInstanceV2Args.builder()\n            .name(\"multi_eph\")\n            .imageId(imageId)\n            .flavorId(\"s2.large.4\")\n            .keyPair(\"my_key_pair_name\")\n            .securityGroups(\"default\")\n            .blockDevices(            \n                ComputeInstanceV2BlockDeviceArgs.builder()\n                    .bootIndex(0.0)\n                    .deleteOnTermination(true)\n                    .destinationType(\"volume\")\n                    .sourceType(\"image\")\n                    .uuid(dataImageId)\n                    .build(),\n                ComputeInstanceV2BlockDeviceArgs.builder()\n                    .bootIndex(-1.0)\n                    .deleteOnTermination(true)\n                    .destinationType(\"volume\")\n                    .sourceType(\"blank\")\n                    .volumeSize(1.0)\n                    .build(),\n                ComputeInstanceV2BlockDeviceArgs.builder()\n                    .bootIndex(-1.0)\n                    .deleteOnTermination(true)\n                    .destinationType(\"volume\")\n                    .sourceType(\"blank\")\n                    .volumeSize(1.0)\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  imageId:\n    type: dynamic\n  dataImageId:\n    type: dynamic\nresources:\n  multi-eph:\n    type: opentelekomcloud:ComputeInstanceV2\n    properties:\n      name: multi_eph\n      imageId: ${imageId}\n      flavorId: s2.large.4\n      keyPair: my_key_pair_name\n      securityGroups:\n        - default\n      blockDevices:\n        - bootIndex: 0\n          deleteOnTermination: true\n          destinationType: volume\n          sourceType: image\n          uuid: ${dataImageId}\n        - bootIndex: -1\n          deleteOnTermination: true\n          destinationType: volume\n          sourceType: blank\n          volumeSize: 1\n        - bootIndex: -1\n          deleteOnTermination: true\n          destinationType: volume\n          sourceType: blank\n          volumeSize: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Instance with User Data (cloud-init)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst imageId = config.requireObject\u003cany\u003e(\"imageId\");\nconst instance1 = new opentelekomcloud.ComputeInstanceV2(\"instance_1\", {\n    name: \"basic\",\n    imageId: imageId,\n    flavorId: \"s2.large.4\",\n    keyPair: \"my_key_pair_name\",\n    securityGroups: [\"default\"],\n    userData: `#cloud-config\nhostname: instance_1.example.com\nfqdn: instance_1.example.com`,\n    networks: [{\n        name: \"my_network\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nimage_id = config.require_object(\"imageId\")\ninstance1 = opentelekomcloud.ComputeInstanceV2(\"instance_1\",\n    name=\"basic\",\n    image_id=image_id,\n    flavor_id=\"s2.large.4\",\n    key_pair=\"my_key_pair_name\",\n    security_groups=[\"default\"],\n    user_data=\"\"\"#cloud-config\nhostname: instance_1.example.com\nfqdn: instance_1.example.com\"\"\",\n    networks=[{\n        \"name\": \"my_network\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var imageId = config.RequireObject\u003cdynamic\u003e(\"imageId\");\n    var instance1 = new Opentelekomcloud.ComputeInstanceV2(\"instance_1\", new()\n    {\n        Name = \"basic\",\n        ImageId = imageId,\n        FlavorId = \"s2.large.4\",\n        KeyPair = \"my_key_pair_name\",\n        SecurityGroups = new[]\n        {\n            \"default\",\n        },\n        UserData = @\"#cloud-config\nhostname: instance_1.example.com\nfqdn: instance_1.example.com\",\n        Networks = new[]\n        {\n            new Opentelekomcloud.Inputs.ComputeInstanceV2NetworkArgs\n            {\n                Name = \"my_network\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\timageId := cfg.RequireObject(\"imageId\")\n\t\t_, err := opentelekomcloud.NewComputeInstanceV2(ctx, \"instance_1\", \u0026opentelekomcloud.ComputeInstanceV2Args{\n\t\t\tName:     pulumi.String(\"basic\"),\n\t\t\tImageId:  pulumi.Any(imageId),\n\t\t\tFlavorId: pulumi.String(\"s2.large.4\"),\n\t\t\tKeyPair:  pulumi.String(\"my_key_pair_name\"),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"default\"),\n\t\t\t},\n\t\t\tUserData: pulumi.String(\"#cloud-config\\nhostname: instance_1.example.com\\nfqdn: instance_1.example.com\"),\n\t\t\tNetworks: opentelekomcloud.ComputeInstanceV2NetworkArray{\n\t\t\t\t\u0026opentelekomcloud.ComputeInstanceV2NetworkArgs{\n\t\t\t\t\tName: pulumi.String(\"my_network\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ComputeInstanceV2;\nimport com.pulumi.opentelekomcloud.ComputeInstanceV2Args;\nimport com.pulumi.opentelekomcloud.inputs.ComputeInstanceV2NetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var imageId = config.get(\"imageId\");\n        var instance1 = new ComputeInstanceV2(\"instance1\", ComputeInstanceV2Args.builder()\n            .name(\"basic\")\n            .imageId(imageId)\n            .flavorId(\"s2.large.4\")\n            .keyPair(\"my_key_pair_name\")\n            .securityGroups(\"default\")\n            .userData(\"\"\"\n#cloud-config\nhostname: instance_1.example.com\nfqdn: instance_1.example.com            \"\"\")\n            .networks(ComputeInstanceV2NetworkArgs.builder()\n                .name(\"my_network\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  imageId:\n    type: dynamic\nresources:\n  instance1:\n    type: opentelekomcloud:ComputeInstanceV2\n    name: instance_1\n    properties:\n      name: basic\n      imageId: ${imageId}\n      flavorId: s2.large.4\n      keyPair: my_key_pair_name\n      securityGroups:\n        - default\n      userData: |-\n        #cloud-config\n        hostname: instance_1.example.com\n        fqdn: instance_1.example.com\n      networks:\n        - name: my_network\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003cspan pulumi-lang-nodejs=\"`userData`\" pulumi-lang-dotnet=\"`UserData`\" pulumi-lang-go=\"`userData`\" pulumi-lang-python=\"`user_data`\" pulumi-lang-yaml=\"`userData`\" pulumi-lang-java=\"`userData`\"\u003e`user_data`\u003c/span\u003e can come from a variety of sources: inline, read in from the \u003cspan pulumi-lang-nodejs=\"`file`\" pulumi-lang-dotnet=\"`File`\" pulumi-lang-go=\"`file`\" pulumi-lang-python=\"`file`\" pulumi-lang-yaml=\"`file`\" pulumi-lang-java=\"`file`\"\u003e`file`\u003c/span\u003e\nfunction, or the \u003cspan pulumi-lang-nodejs=\"`templateCloudinitConfig`\" pulumi-lang-dotnet=\"`TemplateCloudinitConfig`\" pulumi-lang-go=\"`templateCloudinitConfig`\" pulumi-lang-python=\"`template_cloudinit_config`\" pulumi-lang-yaml=\"`templateCloudinitConfig`\" pulumi-lang-java=\"`templateCloudinitConfig`\"\u003e`template_cloudinit_config`\u003c/span\u003e resource.\n\n## Notes\n\n### Multiple Ephemeral Disks\n\nIt's possible to specify multiple \u003cspan pulumi-lang-nodejs=\"`blockDevice`\" pulumi-lang-dotnet=\"`BlockDevice`\" pulumi-lang-go=\"`blockDevice`\" pulumi-lang-python=\"`block_device`\" pulumi-lang-yaml=\"`blockDevice`\" pulumi-lang-java=\"`blockDevice`\"\u003e`block_device`\u003c/span\u003e entries to create an instance with multiple ephemeral (local) disks. In\norder to create multiple ephemeral disks, the sum of the total amount of ephemeral space must be less than or equal to\nwhat the chosen flavor supports.\n\nThe following example shows how to create an instance with multiple ephemeral disks:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst foo = new opentelekomcloud.ComputeInstanceV2(\"foo\", {\n    name: \"terraform-test\",\n    blockDevices: [\n        {\n            bootIndex: 0,\n            deleteOnTermination: true,\n            destinationType: \"volume\",\n            sourceType: \"image\",\n            uuid: imageId,\n        },\n        {\n            bootIndex: -1,\n            deleteOnTermination: true,\n            destinationType: \"volume\",\n            sourceType: \"blank\",\n            volumeSize: 1,\n        },\n        {\n            bootIndex: -1,\n            deleteOnTermination: true,\n            destinationType: \"volume\",\n            sourceType: \"blank\",\n            volumeSize: 1,\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nfoo = opentelekomcloud.ComputeInstanceV2(\"foo\",\n    name=\"terraform-test\",\n    block_devices=[\n        {\n            \"boot_index\": 0,\n            \"delete_on_termination\": True,\n            \"destination_type\": \"volume\",\n            \"source_type\": \"image\",\n            \"uuid\": image_id,\n        },\n        {\n            \"boot_index\": -1,\n            \"delete_on_termination\": True,\n            \"destination_type\": \"volume\",\n            \"source_type\": \"blank\",\n            \"volume_size\": 1,\n        },\n        {\n            \"boot_index\": -1,\n            \"delete_on_termination\": True,\n            \"destination_type\": \"volume\",\n            \"source_type\": \"blank\",\n            \"volume_size\": 1,\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var foo = new Opentelekomcloud.ComputeInstanceV2(\"foo\", new()\n    {\n        Name = \"terraform-test\",\n        BlockDevices = new[]\n        {\n            new Opentelekomcloud.Inputs.ComputeInstanceV2BlockDeviceArgs\n            {\n                BootIndex = 0,\n                DeleteOnTermination = true,\n                DestinationType = \"volume\",\n                SourceType = \"image\",\n                Uuid = imageId,\n            },\n            new Opentelekomcloud.Inputs.ComputeInstanceV2BlockDeviceArgs\n            {\n                BootIndex = -1,\n                DeleteOnTermination = true,\n                DestinationType = \"volume\",\n                SourceType = \"blank\",\n                VolumeSize = 1,\n            },\n            new Opentelekomcloud.Inputs.ComputeInstanceV2BlockDeviceArgs\n            {\n                BootIndex = -1,\n                DeleteOnTermination = true,\n                DestinationType = \"volume\",\n                SourceType = \"blank\",\n                VolumeSize = 1,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewComputeInstanceV2(ctx, \"foo\", \u0026opentelekomcloud.ComputeInstanceV2Args{\n\t\t\tName: pulumi.String(\"terraform-test\"),\n\t\t\tBlockDevices: opentelekomcloud.ComputeInstanceV2BlockDeviceArray{\n\t\t\t\t\u0026opentelekomcloud.ComputeInstanceV2BlockDeviceArgs{\n\t\t\t\t\tBootIndex:           pulumi.Float64(0),\n\t\t\t\t\tDeleteOnTermination: pulumi.Bool(true),\n\t\t\t\t\tDestinationType:     pulumi.String(\"volume\"),\n\t\t\t\t\tSourceType:          pulumi.String(\"image\"),\n\t\t\t\t\tUuid:                pulumi.Any(imageId),\n\t\t\t\t},\n\t\t\t\t\u0026opentelekomcloud.ComputeInstanceV2BlockDeviceArgs{\n\t\t\t\t\tBootIndex:           pulumi.Float64(-1),\n\t\t\t\t\tDeleteOnTermination: pulumi.Bool(true),\n\t\t\t\t\tDestinationType:     pulumi.String(\"volume\"),\n\t\t\t\t\tSourceType:          pulumi.String(\"blank\"),\n\t\t\t\t\tVolumeSize:          pulumi.Float64(1),\n\t\t\t\t},\n\t\t\t\t\u0026opentelekomcloud.ComputeInstanceV2BlockDeviceArgs{\n\t\t\t\t\tBootIndex:           pulumi.Float64(-1),\n\t\t\t\t\tDeleteOnTermination: pulumi.Bool(true),\n\t\t\t\t\tDestinationType:     pulumi.String(\"volume\"),\n\t\t\t\t\tSourceType:          pulumi.String(\"blank\"),\n\t\t\t\t\tVolumeSize:          pulumi.Float64(1),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ComputeInstanceV2;\nimport com.pulumi.opentelekomcloud.ComputeInstanceV2Args;\nimport com.pulumi.opentelekomcloud.inputs.ComputeInstanceV2BlockDeviceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var foo = new ComputeInstanceV2(\"foo\", ComputeInstanceV2Args.builder()\n            .name(\"terraform-test\")\n            .blockDevices(            \n                ComputeInstanceV2BlockDeviceArgs.builder()\n                    .bootIndex(0.0)\n                    .deleteOnTermination(true)\n                    .destinationType(\"volume\")\n                    .sourceType(\"image\")\n                    .uuid(imageId)\n                    .build(),\n                ComputeInstanceV2BlockDeviceArgs.builder()\n                    .bootIndex(-1.0)\n                    .deleteOnTermination(true)\n                    .destinationType(\"volume\")\n                    .sourceType(\"blank\")\n                    .volumeSize(1.0)\n                    .build(),\n                ComputeInstanceV2BlockDeviceArgs.builder()\n                    .bootIndex(-1.0)\n                    .deleteOnTermination(true)\n                    .destinationType(\"volume\")\n                    .sourceType(\"blank\")\n                    .volumeSize(1.0)\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  foo:\n    type: opentelekomcloud:ComputeInstanceV2\n    properties:\n      name: terraform-test\n      blockDevices:\n        - bootIndex: 0\n          deleteOnTermination: true\n          destinationType: volume\n          sourceType: image\n          uuid: ${imageId}\n        - bootIndex: -1\n          deleteOnTermination: true\n          destinationType: volume\n          sourceType: blank\n          volumeSize: 1\n        - bootIndex: -1\n          deleteOnTermination: true\n          destinationType: volume\n          sourceType: blank\n          volumeSize: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Instances and Ports\n\nNeutron Ports are a great feature and provide a lot of functionality. However, there are some notes to be aware of when\nmixing Instances and Ports:\n\n* When attaching an Instance to one or more networks using Ports, place the security groups on the Port and not the\n  Instance. If you place the security groups on the Instance, the security groups will not be applied upon creation, but\n  they will be applied upon a refresh. This is a known OpenTelekomCloud bug.\n\n* Network IP information is not available within an instance for networks that are attached with Ports. This is mostly\n  due to the flexibility Neutron Ports provide when it comes to IP addresses. For example, a Neutron Port can have\n  multiple Fixed IP addresses associated with it. It's not possible to know which single IP address the user would want\n  returned to the Instance's state information. Therefore, in order for a Provisioner to connect to an Instance via it's\n  network Port, customize the \u003cspan pulumi-lang-nodejs=\"`connection`\" pulumi-lang-dotnet=\"`Connection`\" pulumi-lang-go=\"`connection`\" pulumi-lang-python=\"`connection`\" pulumi-lang-yaml=\"`connection`\" pulumi-lang-java=\"`connection`\"\u003e`connection`\u003c/span\u003e information:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst port1 = new opentelekomcloud.NetworkingPortV2(\"port_1\", {\n    name: \"port_1\",\n    adminStateUp: true,\n    networkId: \"0a1d0a27-cffa-4de3-92c5-9d3fd3f2e74d\",\n    securityGroupIds: [\n        \"2f02d20a-8dca-49b7-b26f-b6ce9fddaf4f\",\n        \"ca1e5ed7-dae8-4605-987b-fadaeeb30461\",\n    ],\n});\nconst instance1 = new opentelekomcloud.ComputeInstanceV2(\"instance_1\", {\n    name: \"instance_1\",\n    networks: [{\n        port: port1.networkingPortV2Id,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nport1 = opentelekomcloud.NetworkingPortV2(\"port_1\",\n    name=\"port_1\",\n    admin_state_up=True,\n    network_id=\"0a1d0a27-cffa-4de3-92c5-9d3fd3f2e74d\",\n    security_group_ids=[\n        \"2f02d20a-8dca-49b7-b26f-b6ce9fddaf4f\",\n        \"ca1e5ed7-dae8-4605-987b-fadaeeb30461\",\n    ])\ninstance1 = opentelekomcloud.ComputeInstanceV2(\"instance_1\",\n    name=\"instance_1\",\n    networks=[{\n        \"port\": port1.networking_port_v2_id,\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var port1 = new Opentelekomcloud.NetworkingPortV2(\"port_1\", new()\n    {\n        Name = \"port_1\",\n        AdminStateUp = true,\n        NetworkId = \"0a1d0a27-cffa-4de3-92c5-9d3fd3f2e74d\",\n        SecurityGroupIds = new[]\n        {\n            \"2f02d20a-8dca-49b7-b26f-b6ce9fddaf4f\",\n            \"ca1e5ed7-dae8-4605-987b-fadaeeb30461\",\n        },\n    });\n\n    var instance1 = new Opentelekomcloud.ComputeInstanceV2(\"instance_1\", new()\n    {\n        Name = \"instance_1\",\n        Networks = new[]\n        {\n            new Opentelekomcloud.Inputs.ComputeInstanceV2NetworkArgs\n            {\n                Port = port1.NetworkingPortV2Id,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tport1, err := opentelekomcloud.NewNetworkingPortV2(ctx, \"port_1\", \u0026opentelekomcloud.NetworkingPortV2Args{\n\t\t\tName:         pulumi.String(\"port_1\"),\n\t\t\tAdminStateUp: pulumi.Bool(true),\n\t\t\tNetworkId:    pulumi.String(\"0a1d0a27-cffa-4de3-92c5-9d3fd3f2e74d\"),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"2f02d20a-8dca-49b7-b26f-b6ce9fddaf4f\"),\n\t\t\t\tpulumi.String(\"ca1e5ed7-dae8-4605-987b-fadaeeb30461\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewComputeInstanceV2(ctx, \"instance_1\", \u0026opentelekomcloud.ComputeInstanceV2Args{\n\t\t\tName: pulumi.String(\"instance_1\"),\n\t\t\tNetworks: opentelekomcloud.ComputeInstanceV2NetworkArray{\n\t\t\t\t\u0026opentelekomcloud.ComputeInstanceV2NetworkArgs{\n\t\t\t\t\tPort: port1.NetworkingPortV2Id,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.NetworkingPortV2;\nimport com.pulumi.opentelekomcloud.NetworkingPortV2Args;\nimport com.pulumi.opentelekomcloud.ComputeInstanceV2;\nimport com.pulumi.opentelekomcloud.ComputeInstanceV2Args;\nimport com.pulumi.opentelekomcloud.inputs.ComputeInstanceV2NetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var port1 = new NetworkingPortV2(\"port1\", NetworkingPortV2Args.builder()\n            .name(\"port_1\")\n            .adminStateUp(true)\n            .networkId(\"0a1d0a27-cffa-4de3-92c5-9d3fd3f2e74d\")\n            .securityGroupIds(            \n                \"2f02d20a-8dca-49b7-b26f-b6ce9fddaf4f\",\n                \"ca1e5ed7-dae8-4605-987b-fadaeeb30461\")\n            .build());\n\n        var instance1 = new ComputeInstanceV2(\"instance1\", ComputeInstanceV2Args.builder()\n            .name(\"instance_1\")\n            .networks(ComputeInstanceV2NetworkArgs.builder()\n                .port(port1.networkingPortV2Id())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  port1:\n    type: opentelekomcloud:NetworkingPortV2\n    name: port_1\n    properties:\n      name: port_1\n      adminStateUp: 'true'\n      networkId: 0a1d0a27-cffa-4de3-92c5-9d3fd3f2e74d\n      securityGroupIds:\n        - 2f02d20a-8dca-49b7-b26f-b6ce9fddaf4f\n        - ca1e5ed7-dae8-4605-987b-fadaeeb30461\n  instance1:\n    type: opentelekomcloud:ComputeInstanceV2\n    name: instance_1\n    properties:\n      name: instance_1\n      networks:\n        - port: ${port1.networkingPortV2Id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Importing instances\n\nImporting instances can be tricky, since the nova api does not offer all information provided at creation time for later\nretrieval. Network interface attachment order, and number and sizes of ephemeral disks are examples of this.\n\n### Importing basic instance\n\nAssume you want to import an instance with one ephemeral root disk, and one network interface.\n\nYour configuration would look like the following:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst basicInstance = new opentelekomcloud.ComputeInstanceV2(\"basic_instance\", {\n    name: \"basic\",\n    flavorId: flavorId,\n    keyPair: keyPair,\n    imageId: imageId,\n    networks: [{\n        name: networkName,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nbasic_instance = opentelekomcloud.ComputeInstanceV2(\"basic_instance\",\n    name=\"basic\",\n    flavor_id=flavor_id,\n    key_pair=key_pair,\n    image_id=image_id,\n    networks=[{\n        \"name\": network_name,\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var basicInstance = new Opentelekomcloud.ComputeInstanceV2(\"basic_instance\", new()\n    {\n        Name = \"basic\",\n        FlavorId = flavorId,\n        KeyPair = keyPair,\n        ImageId = imageId,\n        Networks = new[]\n        {\n            new Opentelekomcloud.Inputs.ComputeInstanceV2NetworkArgs\n            {\n                Name = networkName,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewComputeInstanceV2(ctx, \"basic_instance\", \u0026opentelekomcloud.ComputeInstanceV2Args{\n\t\t\tName:     pulumi.String(\"basic\"),\n\t\t\tFlavorId: pulumi.Any(flavorId),\n\t\t\tKeyPair:  pulumi.Any(keyPair),\n\t\t\tImageId:  pulumi.Any(imageId),\n\t\t\tNetworks: opentelekomcloud.ComputeInstanceV2NetworkArray{\n\t\t\t\t\u0026opentelekomcloud.ComputeInstanceV2NetworkArgs{\n\t\t\t\t\tName: pulumi.Any(networkName),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ComputeInstanceV2;\nimport com.pulumi.opentelekomcloud.ComputeInstanceV2Args;\nimport com.pulumi.opentelekomcloud.inputs.ComputeInstanceV2NetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var basicInstance = new ComputeInstanceV2(\"basicInstance\", ComputeInstanceV2Args.builder()\n            .name(\"basic\")\n            .flavorId(flavorId)\n            .keyPair(keyPair)\n            .imageId(imageId)\n            .networks(ComputeInstanceV2NetworkArgs.builder()\n                .name(networkName)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  basicInstance:\n    type: opentelekomcloud:ComputeInstanceV2\n    name: basic_instance\n    properties:\n      name: basic\n      flavorId: ${flavorId}\n      keyPair: ${keyPair}\n      imageId: ${imageId}\n      networks:\n        - name: ${networkName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nThen you execute\n\n```\nterraform import opentelekomcloud_compute_instance_v2.basic_instance \u003cinstance_id\u003e\n```\n\n### Importing instance with multiple network interfaces.\n\nNova returns the network interfaces grouped by network, thus not in creation order. That means that if you have multiple\nnetwork interfaces you must take care of the order of networks in your configuration.\n\nAs example, we want to import an instance with one ephemeral root disk, and 3 network interfaces.\n\nExamples\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst boot_from_volume = new opentelekomcloud.ComputeInstanceV2(\"boot-from-volume\", {\n    name: \"boot-from-volume\",\n    flavorId: flavorId,\n    keyPair: keyPair,\n    imageId: imageId,\n    networks: [\n        {\n            name: network1Name,\n        },\n        {\n            name: network2Name,\n        },\n        {\n            name: network1Name,\n            fixedIpV4: fixedIpV4,\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nboot_from_volume = opentelekomcloud.ComputeInstanceV2(\"boot-from-volume\",\n    name=\"boot-from-volume\",\n    flavor_id=flavor_id,\n    key_pair=key_pair,\n    image_id=image_id,\n    networks=[\n        {\n            \"name\": network1_name,\n        },\n        {\n            \"name\": network2_name,\n        },\n        {\n            \"name\": network1_name,\n            \"fixed_ip_v4\": fixed_ip_v4,\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var boot_from_volume = new Opentelekomcloud.ComputeInstanceV2(\"boot-from-volume\", new()\n    {\n        Name = \"boot-from-volume\",\n        FlavorId = flavorId,\n        KeyPair = keyPair,\n        ImageId = imageId,\n        Networks = new[]\n        {\n            new Opentelekomcloud.Inputs.ComputeInstanceV2NetworkArgs\n            {\n                Name = network1Name,\n            },\n            new Opentelekomcloud.Inputs.ComputeInstanceV2NetworkArgs\n            {\n                Name = network2Name,\n            },\n            new Opentelekomcloud.Inputs.ComputeInstanceV2NetworkArgs\n            {\n                Name = network1Name,\n                FixedIpV4 = fixedIpV4,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewComputeInstanceV2(ctx, \"boot-from-volume\", \u0026opentelekomcloud.ComputeInstanceV2Args{\n\t\t\tName:     pulumi.String(\"boot-from-volume\"),\n\t\t\tFlavorId: pulumi.Any(flavorId),\n\t\t\tKeyPair:  pulumi.Any(keyPair),\n\t\t\tImageId:  pulumi.Any(imageId),\n\t\t\tNetworks: opentelekomcloud.ComputeInstanceV2NetworkArray{\n\t\t\t\t\u0026opentelekomcloud.ComputeInstanceV2NetworkArgs{\n\t\t\t\t\tName: pulumi.Any(network1Name),\n\t\t\t\t},\n\t\t\t\t\u0026opentelekomcloud.ComputeInstanceV2NetworkArgs{\n\t\t\t\t\tName: pulumi.Any(network2Name),\n\t\t\t\t},\n\t\t\t\t\u0026opentelekomcloud.ComputeInstanceV2NetworkArgs{\n\t\t\t\t\tName:      pulumi.Any(network1Name),\n\t\t\t\t\tFixedIpV4: pulumi.Any(fixedIpV4),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ComputeInstanceV2;\nimport com.pulumi.opentelekomcloud.ComputeInstanceV2Args;\nimport com.pulumi.opentelekomcloud.inputs.ComputeInstanceV2NetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var boot_from_volume = new ComputeInstanceV2(\"boot-from-volume\", ComputeInstanceV2Args.builder()\n            .name(\"boot-from-volume\")\n            .flavorId(flavorId)\n            .keyPair(keyPair)\n            .imageId(imageId)\n            .networks(            \n                ComputeInstanceV2NetworkArgs.builder()\n                    .name(network1Name)\n                    .build(),\n                ComputeInstanceV2NetworkArgs.builder()\n                    .name(network2Name)\n                    .build(),\n                ComputeInstanceV2NetworkArgs.builder()\n                    .name(network1Name)\n                    .fixedIpV4(fixedIpV4)\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  boot-from-volume:\n    type: opentelekomcloud:ComputeInstanceV2\n    properties:\n      name: boot-from-volume\n      flavorId: ${flavorId}\n      keyPair: ${keyPair}\n      imageId: ${imageId}\n      networks:\n        - name: ${network1Name}\n        - name: ${network2Name}\n        - name: ${network1Name}\n          fixedIpV4: ${fixedIpV4}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nIn the above configuration the networks are out of order compared to what nova and thus the import code returns, which\nmeans the plan will not be empty after import.\n\nSo either with care check the plan and modify configuration, or read the network order in the state file after import\nand modify your configuration accordingly.\n\n* A note on ports. If you have created a neutron port independent of an instance, then the import code has no way to\n  detect that the port is created idenpendently, and therefore on deletion of imported instances you might have port\n  resources in your project, which you expected to be created by the instance and thus to also be deleted with the\n  instance.\n\n### Importing instances with multiple block storage volumes.\n\nWe have an instance with two block storage volumes, one bootable and one non-bootable. Note that we only configure the\nbootable device as block_device. The other volumes can be specified as \u003cspan pulumi-lang-nodejs=\"`opentelekomcloud.BlockstorageVolumeV2`\" pulumi-lang-dotnet=\"`opentelekomcloud.BlockstorageVolumeV2`\" pulumi-lang-go=\"`BlockstorageVolumeV2`\" pulumi-lang-python=\"`BlockstorageVolumeV2`\" pulumi-lang-yaml=\"`opentelekomcloud.BlockstorageVolumeV2`\" pulumi-lang-java=\"`opentelekomcloud.BlockstorageVolumeV2`\"\u003e`opentelekomcloud.BlockstorageVolumeV2`\u003c/span\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst instance2 = new opentelekomcloud.ComputeInstanceV2(\"instance_2\", {\n    name: \"instance_2\",\n    imageId: imageId,\n    flavorId: flavorId,\n    keyPair: keyPair,\n    blockDevices: [{\n        uuid: imageId,\n        sourceType: \"image\",\n        destinationType: \"volume\",\n        bootIndex: 0,\n        deleteOnTermination: true,\n    }],\n    networks: [{\n        name: networkName,\n    }],\n});\nconst volume1 = new opentelekomcloud.BlockstorageVolumeV2(\"volume_1\", {\n    size: 1,\n    name: volumeName,\n});\nconst va1 = new opentelekomcloud.ComputeVolumeAttachV2(\"va_1\", {\n    volumeId: volume1.blockstorageVolumeV2Id,\n    instanceId: instance2.computeInstanceV2Id,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ninstance2 = opentelekomcloud.ComputeInstanceV2(\"instance_2\",\n    name=\"instance_2\",\n    image_id=image_id,\n    flavor_id=flavor_id,\n    key_pair=key_pair,\n    block_devices=[{\n        \"uuid\": image_id,\n        \"source_type\": \"image\",\n        \"destination_type\": \"volume\",\n        \"boot_index\": 0,\n        \"delete_on_termination\": True,\n    }],\n    networks=[{\n        \"name\": network_name,\n    }])\nvolume1 = opentelekomcloud.BlockstorageVolumeV2(\"volume_1\",\n    size=1,\n    name=volume_name)\nva1 = opentelekomcloud.ComputeVolumeAttachV2(\"va_1\",\n    volume_id=volume1.blockstorage_volume_v2_id,\n    instance_id=instance2.compute_instance_v2_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var instance2 = new Opentelekomcloud.ComputeInstanceV2(\"instance_2\", new()\n    {\n        Name = \"instance_2\",\n        ImageId = imageId,\n        FlavorId = flavorId,\n        KeyPair = keyPair,\n        BlockDevices = new[]\n        {\n            new Opentelekomcloud.Inputs.ComputeInstanceV2BlockDeviceArgs\n            {\n                Uuid = imageId,\n                SourceType = \"image\",\n                DestinationType = \"volume\",\n                BootIndex = 0,\n                DeleteOnTermination = true,\n            },\n        },\n        Networks = new[]\n        {\n            new Opentelekomcloud.Inputs.ComputeInstanceV2NetworkArgs\n            {\n                Name = networkName,\n            },\n        },\n    });\n\n    var volume1 = new Opentelekomcloud.BlockstorageVolumeV2(\"volume_1\", new()\n    {\n        Size = 1,\n        Name = volumeName,\n    });\n\n    var va1 = new Opentelekomcloud.ComputeVolumeAttachV2(\"va_1\", new()\n    {\n        VolumeId = volume1.BlockstorageVolumeV2Id,\n        InstanceId = instance2.ComputeInstanceV2Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinstance2, err := opentelekomcloud.NewComputeInstanceV2(ctx, \"instance_2\", \u0026opentelekomcloud.ComputeInstanceV2Args{\n\t\t\tName:     pulumi.String(\"instance_2\"),\n\t\t\tImageId:  pulumi.Any(imageId),\n\t\t\tFlavorId: pulumi.Any(flavorId),\n\t\t\tKeyPair:  pulumi.Any(keyPair),\n\t\t\tBlockDevices: opentelekomcloud.ComputeInstanceV2BlockDeviceArray{\n\t\t\t\t\u0026opentelekomcloud.ComputeInstanceV2BlockDeviceArgs{\n\t\t\t\t\tUuid:                pulumi.Any(imageId),\n\t\t\t\t\tSourceType:          pulumi.String(\"image\"),\n\t\t\t\t\tDestinationType:     pulumi.String(\"volume\"),\n\t\t\t\t\tBootIndex:           pulumi.Float64(0),\n\t\t\t\t\tDeleteOnTermination: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tNetworks: opentelekomcloud.ComputeInstanceV2NetworkArray{\n\t\t\t\t\u0026opentelekomcloud.ComputeInstanceV2NetworkArgs{\n\t\t\t\t\tName: pulumi.Any(networkName),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvolume1, err := opentelekomcloud.NewBlockstorageVolumeV2(ctx, \"volume_1\", \u0026opentelekomcloud.BlockstorageVolumeV2Args{\n\t\t\tSize: pulumi.Float64(1),\n\t\t\tName: pulumi.Any(volumeName),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewComputeVolumeAttachV2(ctx, \"va_1\", \u0026opentelekomcloud.ComputeVolumeAttachV2Args{\n\t\t\tVolumeId:   volume1.BlockstorageVolumeV2Id,\n\t\t\tInstanceId: instance2.ComputeInstanceV2Id,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ComputeInstanceV2;\nimport com.pulumi.opentelekomcloud.ComputeInstanceV2Args;\nimport com.pulumi.opentelekomcloud.inputs.ComputeInstanceV2BlockDeviceArgs;\nimport com.pulumi.opentelekomcloud.inputs.ComputeInstanceV2NetworkArgs;\nimport com.pulumi.opentelekomcloud.BlockstorageVolumeV2;\nimport com.pulumi.opentelekomcloud.BlockstorageVolumeV2Args;\nimport com.pulumi.opentelekomcloud.ComputeVolumeAttachV2;\nimport com.pulumi.opentelekomcloud.ComputeVolumeAttachV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var instance2 = new ComputeInstanceV2(\"instance2\", ComputeInstanceV2Args.builder()\n            .name(\"instance_2\")\n            .imageId(imageId)\n            .flavorId(flavorId)\n            .keyPair(keyPair)\n            .blockDevices(ComputeInstanceV2BlockDeviceArgs.builder()\n                .uuid(imageId)\n                .sourceType(\"image\")\n                .destinationType(\"volume\")\n                .bootIndex(0.0)\n                .deleteOnTermination(true)\n                .build())\n            .networks(ComputeInstanceV2NetworkArgs.builder()\n                .name(networkName)\n                .build())\n            .build());\n\n        var volume1 = new BlockstorageVolumeV2(\"volume1\", BlockstorageVolumeV2Args.builder()\n            .size(1.0)\n            .name(volumeName)\n            .build());\n\n        var va1 = new ComputeVolumeAttachV2(\"va1\", ComputeVolumeAttachV2Args.builder()\n            .volumeId(volume1.blockstorageVolumeV2Id())\n            .instanceId(instance2.computeInstanceV2Id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  instance2:\n    type: opentelekomcloud:ComputeInstanceV2\n    name: instance_2\n    properties:\n      name: instance_2\n      imageId: ${imageId}\n      flavorId: ${flavorId}\n      keyPair: ${keyPair}\n      blockDevices:\n        - uuid: ${imageId}\n          sourceType: image\n          destinationType: volume\n          bootIndex: 0\n          deleteOnTermination: true\n      networks:\n        - name: ${networkName}\n  volume1:\n    type: opentelekomcloud:BlockstorageVolumeV2\n    name: volume_1\n    properties:\n      size: 1\n      name: ${volumeName}\n  va1:\n    type: opentelekomcloud:ComputeVolumeAttachV2\n    name: va_1\n    properties:\n      volumeId: ${volume1.blockstorageVolumeV2Id}\n      instanceId: ${instance2.computeInstanceV2Id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nTo import the instance outlined in the above configuration do the following:\n\n```\nterraform import opentelekomcloud_compute_instance_v2.instance_2 \u003cinstance_id\u003e\nimport opentelekomcloud_blockstorage_volume_v2.volume_1 \u003cvolume_id\u003e\nterraform import opentelekomcloud_compute_volume_attach_v2.va_1\n\u003cinstance_id\u003e/\u003cvolume_id\u003e\n```\n\n* A note on block storage volumes, the importer does not read\u003cspan pulumi-lang-nodejs=\" deleteOnTermination \" pulumi-lang-dotnet=\" DeleteOnTermination \" pulumi-lang-go=\" deleteOnTermination \" pulumi-lang-python=\" delete_on_termination \" pulumi-lang-yaml=\" deleteOnTermination \" pulumi-lang-java=\" deleteOnTermination \"\u003e delete_on_termination \u003c/span\u003eflag, and always assumes true. If\n  you import an instance created with\u003cspan pulumi-lang-nodejs=\" deleteOnTermination \" pulumi-lang-dotnet=\" DeleteOnTermination \" pulumi-lang-go=\" deleteOnTermination \" pulumi-lang-python=\" delete_on_termination \" pulumi-lang-yaml=\" deleteOnTermination \" pulumi-lang-java=\" deleteOnTermination \"\u003e delete_on_termination \u003c/span\u003efalse, you end up with \"orphaned\" volumes after destruction\n  of instances.\n","properties":{"accessIpV4":{"type":"string","description":"The first detected Fixed IPv4 address _or_ the Floating IP.\n"},"accessIpV6":{"type":"string","description":"The first detected Fixed IPv6 address.\n"},"adminPass":{"type":"string","description":"The administrative password to assign to the server. Changing this changes the root password\non the existing server.\n","secret":true},"allMetadata":{"type":"object","additionalProperties":{"type":"string"}},"autoRecovery":{"type":"boolean","description":"Configures or deletes automatic recovery of an instance. Defaults to true.\n"},"availabilityZone":{"type":"string","description":"The availability zone in which to create the server. Changing this creates a new\nserver.\n"},"blockDevices":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FComputeInstanceV2BlockDevice:ComputeInstanceV2BlockDevice"},"description":"Configuration of block devices. The\u003cspan pulumi-lang-nodejs=\" blockDevice \" pulumi-lang-dotnet=\" BlockDevice \" pulumi-lang-go=\" blockDevice \" pulumi-lang-python=\" block_device \" pulumi-lang-yaml=\" blockDevice \" pulumi-lang-java=\" blockDevice \"\u003e block_device \u003c/span\u003estructure is documented below. Changing\nthis creates a new server. You can specify multiple block devices which will create an instance with multiple disks.\nThis configuration is very flexible, so please see the\nfollowing [reference](http://docs.openstack.org/developer/nova/block_device_mapping.html)\nfor more information.\n"},"computeInstanceV2Id":{"type":"string"},"configDrive":{"type":"boolean","description":"Whether to use the\u003cspan pulumi-lang-nodejs=\" configDrive \" pulumi-lang-dotnet=\" ConfigDrive \" pulumi-lang-go=\" configDrive \" pulumi-lang-python=\" config_drive \" pulumi-lang-yaml=\" configDrive \" pulumi-lang-java=\" configDrive \"\u003e config_drive \u003c/span\u003efeature to configure the instance. Changing this creates a\nnew server.\n"},"description":{"type":"string","description":"Server description.\n"},"encryptedPassword":{"type":"string","description":"The encrypted password of the server. This is only available if the server is a Windows server.\nIf privateKey == nil the encrypted password is returned and can be decrypted with:\necho '\u003cpwd\u003e' | base64 -D | openssl rsautl -decrypt -inkey \u003cprivate_key\u003e\n","secret":true},"flavorId":{"type":"string","description":"The flavor ID of the desired flavor for the server.\nChanging this resizes the existing server.\n"},"flavorName":{"type":"string","description":"The name of the desired flavor for the server. Changing\nthis resizes the existing server.\n"},"imageId":{"type":"string","description":"(Optional; Required if \u003cspan pulumi-lang-nodejs=\"`imageName`\" pulumi-lang-dotnet=\"`ImageName`\" pulumi-lang-go=\"`imageName`\" pulumi-lang-python=\"`image_name`\" pulumi-lang-yaml=\"`imageName`\" pulumi-lang-java=\"`imageName`\"\u003e`image_name`\u003c/span\u003e is empty and not booting from a volume. Do not specify if booting\nfrom a volume.) The image ID of the desired image for the server. Changing this creates a new server.\n"},"imageName":{"type":"string","description":"(Optional; Required if \u003cspan pulumi-lang-nodejs=\"`imageId`\" pulumi-lang-dotnet=\"`ImageId`\" pulumi-lang-go=\"`imageId`\" pulumi-lang-python=\"`image_id`\" pulumi-lang-yaml=\"`imageId`\" pulumi-lang-java=\"`imageId`\"\u003e`image_id`\u003c/span\u003e is empty and not booting from a volume. Do not specify if booting\nfrom a volume.) The name of the desired image for the server. Changing this creates a new server.\n"},"keyPair":{"type":"string","description":"The name of a key pair to put on the server. The key pair must already be created and\nassociated with the tenant's account. Changing this creates a new server.\n"},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"Metadata key/value pairs to make available from within the instance. Changing this updates the\nexisting server metadata.\n"},"name":{"type":"string","description":"A unique name for the resource.\n"},"networks":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FComputeInstanceV2Network:ComputeInstanceV2Network"},"description":"An array of one or more networks to attach to the instance. Required when there are multiple\nnetworks defined for the tenant. The network object structure is documented below. Changing this creates a new server.\n"},"password":{"type":"string","description":"The password of the server. This is only available if the server is a Windows server.\nIf privateKey != nil the password is decrypted with the private key.\n","secret":true},"powerState":{"type":"string","description":"Provide the VM state. Only \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`shutoff`\" pulumi-lang-dotnet=\"`Shutoff`\" pulumi-lang-go=\"`shutoff`\" pulumi-lang-python=\"`shutoff`\" pulumi-lang-yaml=\"`shutoff`\" pulumi-lang-java=\"`shutoff`\"\u003e`shutoff`\u003c/span\u003e are supported values.\n\n-\u003e\nIf the initial \u003cspan pulumi-lang-nodejs=\"`powerState`\" pulumi-lang-dotnet=\"`PowerState`\" pulumi-lang-go=\"`powerState`\" pulumi-lang-python=\"`power_state`\" pulumi-lang-yaml=\"`powerState`\" pulumi-lang-java=\"`powerState`\"\u003e`power_state`\u003c/span\u003e is the \u003cspan pulumi-lang-nodejs=\"`shutoff`\" pulumi-lang-dotnet=\"`Shutoff`\" pulumi-lang-go=\"`shutoff`\" pulumi-lang-python=\"`shutoff`\" pulumi-lang-yaml=\"`shutoff`\" pulumi-lang-java=\"`shutoff`\"\u003e`shutoff`\u003c/span\u003e the VM will be stopped immediately after build, and the provisioners\nlike remote-exec or files are not supported.\n"},"region":{"type":"string"},"schedulerHints":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FComputeInstanceV2SchedulerHint:ComputeInstanceV2SchedulerHint"},"description":"Provide the Nova scheduler with hints on how the instance should be launched. The\navailable hints are described below.\n"},"securityGroups":{"type":"array","items":{"type":"string"},"description":"An array of one or more security group names to associate with the server. Changing\nthis results in adding/removing security groups from the existing server.\n\n\u003e **Warning** Names should be used and not IDs. Security group names should be **unique**, otherwise it will return an\nerror.\n\n\u003e When attaching the instance to networks using Ports, place the security groups on the Port and not the instance.\n"},"sshPrivateKeyPath":{"type":"string","description":"The path to the private key to use for SSH access. Required only if you want to\nget the password from the windows instance.\n","secret":true},"stopBeforeDestroy":{"type":"boolean","description":"Whether to try stop instance gracefully before destroying it, thus giving chance\nfor guest OS daemons to stop correctly. If instance doesn't stop within a timeout, it will be destroyed anyway.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags key/value pairs to associate with the instance.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FComputeInstanceV2Timeouts:ComputeInstanceV2Timeouts"},"userData":{"type":"string","description":"The user data to provide when launching the instance. Changing this creates a new server.\n"},"volumeAttacheds":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FComputeInstanceV2VolumeAttached:ComputeInstanceV2VolumeAttached"}}},"type":"object","required":["accessIpV4","accessIpV6","allMetadata","autoRecovery","availabilityZone","computeInstanceV2Id","description","encryptedPassword","flavorId","flavorName","imageId","imageName","name","password","region","securityGroups","volumeAttacheds"],"inputProperties":{"accessIpV4":{"type":"string","description":"The first detected Fixed IPv4 address _or_ the Floating IP.\n"},"accessIpV6":{"type":"string","description":"The first detected Fixed IPv6 address.\n"},"adminPass":{"type":"string","description":"The administrative password to assign to the server. Changing this changes the root password\non the existing server.\n","secret":true},"autoRecovery":{"type":"boolean","description":"Configures or deletes automatic recovery of an instance. Defaults to true.\n"},"availabilityZone":{"type":"string","description":"The availability zone in which to create the server. Changing this creates a new\nserver.\n"},"blockDevices":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FComputeInstanceV2BlockDevice:ComputeInstanceV2BlockDevice"},"description":"Configuration of block devices. The\u003cspan pulumi-lang-nodejs=\" blockDevice \" pulumi-lang-dotnet=\" BlockDevice \" pulumi-lang-go=\" blockDevice \" pulumi-lang-python=\" block_device \" pulumi-lang-yaml=\" blockDevice \" pulumi-lang-java=\" blockDevice \"\u003e block_device \u003c/span\u003estructure is documented below. Changing\nthis creates a new server. You can specify multiple block devices which will create an instance with multiple disks.\nThis configuration is very flexible, so please see the\nfollowing [reference](http://docs.openstack.org/developer/nova/block_device_mapping.html)\nfor more information.\n"},"computeInstanceV2Id":{"type":"string"},"configDrive":{"type":"boolean","description":"Whether to use the\u003cspan pulumi-lang-nodejs=\" configDrive \" pulumi-lang-dotnet=\" ConfigDrive \" pulumi-lang-go=\" configDrive \" pulumi-lang-python=\" config_drive \" pulumi-lang-yaml=\" configDrive \" pulumi-lang-java=\" configDrive \"\u003e config_drive \u003c/span\u003efeature to configure the instance. Changing this creates a\nnew server.\n"},"description":{"type":"string","description":"Server description.\n"},"flavorId":{"type":"string","description":"The flavor ID of the desired flavor for the server.\nChanging this resizes the existing server.\n"},"flavorName":{"type":"string","description":"The name of the desired flavor for the server. Changing\nthis resizes the existing server.\n"},"imageId":{"type":"string","description":"(Optional; Required if \u003cspan pulumi-lang-nodejs=\"`imageName`\" pulumi-lang-dotnet=\"`ImageName`\" pulumi-lang-go=\"`imageName`\" pulumi-lang-python=\"`image_name`\" pulumi-lang-yaml=\"`imageName`\" pulumi-lang-java=\"`imageName`\"\u003e`image_name`\u003c/span\u003e is empty and not booting from a volume. Do not specify if booting\nfrom a volume.) The image ID of the desired image for the server. Changing this creates a new server.\n"},"imageName":{"type":"string","description":"(Optional; Required if \u003cspan pulumi-lang-nodejs=\"`imageId`\" pulumi-lang-dotnet=\"`ImageId`\" pulumi-lang-go=\"`imageId`\" pulumi-lang-python=\"`image_id`\" pulumi-lang-yaml=\"`imageId`\" pulumi-lang-java=\"`imageId`\"\u003e`image_id`\u003c/span\u003e is empty and not booting from a volume. Do not specify if booting\nfrom a volume.) The name of the desired image for the server. Changing this creates a new server.\n"},"keyPair":{"type":"string","description":"The name of a key pair to put on the server. The key pair must already be created and\nassociated with the tenant's account. Changing this creates a new server.\n"},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"Metadata key/value pairs to make available from within the instance. Changing this updates the\nexisting server metadata.\n"},"name":{"type":"string","description":"A unique name for the resource.\n"},"networks":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FComputeInstanceV2Network:ComputeInstanceV2Network"},"description":"An array of one or more networks to attach to the instance. Required when there are multiple\nnetworks defined for the tenant. The network object structure is documented below. Changing this creates a new server.\n"},"powerState":{"type":"string","description":"Provide the VM state. Only \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`shutoff`\" pulumi-lang-dotnet=\"`Shutoff`\" pulumi-lang-go=\"`shutoff`\" pulumi-lang-python=\"`shutoff`\" pulumi-lang-yaml=\"`shutoff`\" pulumi-lang-java=\"`shutoff`\"\u003e`shutoff`\u003c/span\u003e are supported values.\n\n-\u003e\nIf the initial \u003cspan pulumi-lang-nodejs=\"`powerState`\" pulumi-lang-dotnet=\"`PowerState`\" pulumi-lang-go=\"`powerState`\" pulumi-lang-python=\"`power_state`\" pulumi-lang-yaml=\"`powerState`\" pulumi-lang-java=\"`powerState`\"\u003e`power_state`\u003c/span\u003e is the \u003cspan pulumi-lang-nodejs=\"`shutoff`\" pulumi-lang-dotnet=\"`Shutoff`\" pulumi-lang-go=\"`shutoff`\" pulumi-lang-python=\"`shutoff`\" pulumi-lang-yaml=\"`shutoff`\" pulumi-lang-java=\"`shutoff`\"\u003e`shutoff`\u003c/span\u003e the VM will be stopped immediately after build, and the provisioners\nlike remote-exec or files are not supported.\n"},"region":{"type":"string"},"schedulerHints":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FComputeInstanceV2SchedulerHint:ComputeInstanceV2SchedulerHint"},"description":"Provide the Nova scheduler with hints on how the instance should be launched. The\navailable hints are described below.\n"},"securityGroups":{"type":"array","items":{"type":"string"},"description":"An array of one or more security group names to associate with the server. Changing\nthis results in adding/removing security groups from the existing server.\n\n\u003e **Warning** Names should be used and not IDs. Security group names should be **unique**, otherwise it will return an\nerror.\n\n\u003e When attaching the instance to networks using Ports, place the security groups on the Port and not the instance.\n"},"sshPrivateKeyPath":{"type":"string","description":"The path to the private key to use for SSH access. Required only if you want to\nget the password from the windows instance.\n","secret":true},"stopBeforeDestroy":{"type":"boolean","description":"Whether to try stop instance gracefully before destroying it, thus giving chance\nfor guest OS daemons to stop correctly. If instance doesn't stop within a timeout, it will be destroyed anyway.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags key/value pairs to associate with the instance.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FComputeInstanceV2Timeouts:ComputeInstanceV2Timeouts"},"userData":{"type":"string","description":"The user data to provide when launching the instance. Changing this creates a new server.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering ComputeInstanceV2 resources.\n","properties":{"accessIpV4":{"type":"string","description":"The first detected Fixed IPv4 address _or_ the Floating IP.\n"},"accessIpV6":{"type":"string","description":"The first detected Fixed IPv6 address.\n"},"adminPass":{"type":"string","description":"The administrative password to assign to the server. Changing this changes the root password\non the existing server.\n","secret":true},"allMetadata":{"type":"object","additionalProperties":{"type":"string"}},"autoRecovery":{"type":"boolean","description":"Configures or deletes automatic recovery of an instance. Defaults to true.\n"},"availabilityZone":{"type":"string","description":"The availability zone in which to create the server. Changing this creates a new\nserver.\n"},"blockDevices":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FComputeInstanceV2BlockDevice:ComputeInstanceV2BlockDevice"},"description":"Configuration of block devices. The\u003cspan pulumi-lang-nodejs=\" blockDevice \" pulumi-lang-dotnet=\" BlockDevice \" pulumi-lang-go=\" blockDevice \" pulumi-lang-python=\" block_device \" pulumi-lang-yaml=\" blockDevice \" pulumi-lang-java=\" blockDevice \"\u003e block_device \u003c/span\u003estructure is documented below. Changing\nthis creates a new server. You can specify multiple block devices which will create an instance with multiple disks.\nThis configuration is very flexible, so please see the\nfollowing [reference](http://docs.openstack.org/developer/nova/block_device_mapping.html)\nfor more information.\n"},"computeInstanceV2Id":{"type":"string"},"configDrive":{"type":"boolean","description":"Whether to use the\u003cspan pulumi-lang-nodejs=\" configDrive \" pulumi-lang-dotnet=\" ConfigDrive \" pulumi-lang-go=\" configDrive \" pulumi-lang-python=\" config_drive \" pulumi-lang-yaml=\" configDrive \" pulumi-lang-java=\" configDrive \"\u003e config_drive \u003c/span\u003efeature to configure the instance. Changing this creates a\nnew server.\n"},"description":{"type":"string","description":"Server description.\n"},"encryptedPassword":{"type":"string","description":"The encrypted password of the server. This is only available if the server is a Windows server.\nIf privateKey == nil the encrypted password is returned and can be decrypted with:\necho '\u003cpwd\u003e' | base64 -D | openssl rsautl -decrypt -inkey \u003cprivate_key\u003e\n","secret":true},"flavorId":{"type":"string","description":"The flavor ID of the desired flavor for the server.\nChanging this resizes the existing server.\n"},"flavorName":{"type":"string","description":"The name of the desired flavor for the server. Changing\nthis resizes the existing server.\n"},"imageId":{"type":"string","description":"(Optional; Required if \u003cspan pulumi-lang-nodejs=\"`imageName`\" pulumi-lang-dotnet=\"`ImageName`\" pulumi-lang-go=\"`imageName`\" pulumi-lang-python=\"`image_name`\" pulumi-lang-yaml=\"`imageName`\" pulumi-lang-java=\"`imageName`\"\u003e`image_name`\u003c/span\u003e is empty and not booting from a volume. Do not specify if booting\nfrom a volume.) The image ID of the desired image for the server. Changing this creates a new server.\n"},"imageName":{"type":"string","description":"(Optional; Required if \u003cspan pulumi-lang-nodejs=\"`imageId`\" pulumi-lang-dotnet=\"`ImageId`\" pulumi-lang-go=\"`imageId`\" pulumi-lang-python=\"`image_id`\" pulumi-lang-yaml=\"`imageId`\" pulumi-lang-java=\"`imageId`\"\u003e`image_id`\u003c/span\u003e is empty and not booting from a volume. Do not specify if booting\nfrom a volume.) The name of the desired image for the server. Changing this creates a new server.\n"},"keyPair":{"type":"string","description":"The name of a key pair to put on the server. The key pair must already be created and\nassociated with the tenant's account. Changing this creates a new server.\n"},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"Metadata key/value pairs to make available from within the instance. Changing this updates the\nexisting server metadata.\n"},"name":{"type":"string","description":"A unique name for the resource.\n"},"networks":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FComputeInstanceV2Network:ComputeInstanceV2Network"},"description":"An array of one or more networks to attach to the instance. Required when there are multiple\nnetworks defined for the tenant. The network object structure is documented below. Changing this creates a new server.\n"},"password":{"type":"string","description":"The password of the server. This is only available if the server is a Windows server.\nIf privateKey != nil the password is decrypted with the private key.\n","secret":true},"powerState":{"type":"string","description":"Provide the VM state. Only \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`shutoff`\" pulumi-lang-dotnet=\"`Shutoff`\" pulumi-lang-go=\"`shutoff`\" pulumi-lang-python=\"`shutoff`\" pulumi-lang-yaml=\"`shutoff`\" pulumi-lang-java=\"`shutoff`\"\u003e`shutoff`\u003c/span\u003e are supported values.\n\n-\u003e\nIf the initial \u003cspan pulumi-lang-nodejs=\"`powerState`\" pulumi-lang-dotnet=\"`PowerState`\" pulumi-lang-go=\"`powerState`\" pulumi-lang-python=\"`power_state`\" pulumi-lang-yaml=\"`powerState`\" pulumi-lang-java=\"`powerState`\"\u003e`power_state`\u003c/span\u003e is the \u003cspan pulumi-lang-nodejs=\"`shutoff`\" pulumi-lang-dotnet=\"`Shutoff`\" pulumi-lang-go=\"`shutoff`\" pulumi-lang-python=\"`shutoff`\" pulumi-lang-yaml=\"`shutoff`\" pulumi-lang-java=\"`shutoff`\"\u003e`shutoff`\u003c/span\u003e the VM will be stopped immediately after build, and the provisioners\nlike remote-exec or files are not supported.\n"},"region":{"type":"string"},"schedulerHints":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FComputeInstanceV2SchedulerHint:ComputeInstanceV2SchedulerHint"},"description":"Provide the Nova scheduler with hints on how the instance should be launched. The\navailable hints are described below.\n"},"securityGroups":{"type":"array","items":{"type":"string"},"description":"An array of one or more security group names to associate with the server. Changing\nthis results in adding/removing security groups from the existing server.\n\n\u003e **Warning** Names should be used and not IDs. Security group names should be **unique**, otherwise it will return an\nerror.\n\n\u003e When attaching the instance to networks using Ports, place the security groups on the Port and not the instance.\n"},"sshPrivateKeyPath":{"type":"string","description":"The path to the private key to use for SSH access. Required only if you want to\nget the password from the windows instance.\n","secret":true},"stopBeforeDestroy":{"type":"boolean","description":"Whether to try stop instance gracefully before destroying it, thus giving chance\nfor guest OS daemons to stop correctly. If instance doesn't stop within a timeout, it will be destroyed anyway.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags key/value pairs to associate with the instance.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FComputeInstanceV2Timeouts:ComputeInstanceV2Timeouts"},"userData":{"type":"string","description":"The user data to provide when launching the instance. Changing this creates a new server.\n"},"volumeAttacheds":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FComputeInstanceV2VolumeAttached:ComputeInstanceV2VolumeAttached"}}},"type":"object"}},"opentelekomcloud:index/computeKeypairV2:ComputeKeypairV2":{"description":"## Example Usage\n\n### Importing an SSH key\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst import_keypair = new opentelekomcloud.ComputeKeypairV2(\"import-keypair\", {\n    name: \"imported-keypair\",\n    publicKey: \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAjpC1hwiOCCmKEWxJ4qzTTsJbKzndLotBCz5PcwtUnflmU+gHJtWMZKpuEGVi29h0A/+ydKek1O18k10Ff+4tyFjiHDQAnOfgWf7+b1yK+qDip3X1C0UPMbwHlTfSGWLGZqd9LvEFx9k3h/M+VtMvwR1lJ9LUyTAImnNjWG7TaIPmui30HvM2UiFEmqkr4ijq45MyX2+fLIePLRIF61p4whjHAQYufqyno3BS48icQb4p6iVEZPo4AE2o9oIyQvj2mx4dk5Y8CgSETOZTYDOR3rU2fZTRDRgPJDH9FWvQjF5tA0p3d9CoWWd2s6GKKbfoUIi8R/Db1BSPJwkqB\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nimport_keypair = opentelekomcloud.ComputeKeypairV2(\"import-keypair\",\n    name=\"imported-keypair\",\n    public_key=\"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAjpC1hwiOCCmKEWxJ4qzTTsJbKzndLotBCz5PcwtUnflmU+gHJtWMZKpuEGVi29h0A/+ydKek1O18k10Ff+4tyFjiHDQAnOfgWf7+b1yK+qDip3X1C0UPMbwHlTfSGWLGZqd9LvEFx9k3h/M+VtMvwR1lJ9LUyTAImnNjWG7TaIPmui30HvM2UiFEmqkr4ijq45MyX2+fLIePLRIF61p4whjHAQYufqyno3BS48icQb4p6iVEZPo4AE2o9oIyQvj2mx4dk5Y8CgSETOZTYDOR3rU2fZTRDRgPJDH9FWvQjF5tA0p3d9CoWWd2s6GKKbfoUIi8R/Db1BSPJwkqB\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var import_keypair = new Opentelekomcloud.ComputeKeypairV2(\"import-keypair\", new()\n    {\n        Name = \"imported-keypair\",\n        PublicKey = \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAjpC1hwiOCCmKEWxJ4qzTTsJbKzndLotBCz5PcwtUnflmU+gHJtWMZKpuEGVi29h0A/+ydKek1O18k10Ff+4tyFjiHDQAnOfgWf7+b1yK+qDip3X1C0UPMbwHlTfSGWLGZqd9LvEFx9k3h/M+VtMvwR1lJ9LUyTAImnNjWG7TaIPmui30HvM2UiFEmqkr4ijq45MyX2+fLIePLRIF61p4whjHAQYufqyno3BS48icQb4p6iVEZPo4AE2o9oIyQvj2mx4dk5Y8CgSETOZTYDOR3rU2fZTRDRgPJDH9FWvQjF5tA0p3d9CoWWd2s6GKKbfoUIi8R/Db1BSPJwkqB\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewComputeKeypairV2(ctx, \"import-keypair\", \u0026opentelekomcloud.ComputeKeypairV2Args{\n\t\t\tName:      pulumi.String(\"imported-keypair\"),\n\t\t\tPublicKey: pulumi.String(\"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAjpC1hwiOCCmKEWxJ4qzTTsJbKzndLotBCz5PcwtUnflmU+gHJtWMZKpuEGVi29h0A/+ydKek1O18k10Ff+4tyFjiHDQAnOfgWf7+b1yK+qDip3X1C0UPMbwHlTfSGWLGZqd9LvEFx9k3h/M+VtMvwR1lJ9LUyTAImnNjWG7TaIPmui30HvM2UiFEmqkr4ijq45MyX2+fLIePLRIF61p4whjHAQYufqyno3BS48icQb4p6iVEZPo4AE2o9oIyQvj2mx4dk5Y8CgSETOZTYDOR3rU2fZTRDRgPJDH9FWvQjF5tA0p3d9CoWWd2s6GKKbfoUIi8R/Db1BSPJwkqB\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ComputeKeypairV2;\nimport com.pulumi.opentelekomcloud.ComputeKeypairV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var import_keypair = new ComputeKeypairV2(\"import-keypair\", ComputeKeypairV2Args.builder()\n            .name(\"imported-keypair\")\n            .publicKey(\"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAjpC1hwiOCCmKEWxJ4qzTTsJbKzndLotBCz5PcwtUnflmU+gHJtWMZKpuEGVi29h0A/+ydKek1O18k10Ff+4tyFjiHDQAnOfgWf7+b1yK+qDip3X1C0UPMbwHlTfSGWLGZqd9LvEFx9k3h/M+VtMvwR1lJ9LUyTAImnNjWG7TaIPmui30HvM2UiFEmqkr4ijq45MyX2+fLIePLRIF61p4whjHAQYufqyno3BS48icQb4p6iVEZPo4AE2o9oIyQvj2mx4dk5Y8CgSETOZTYDOR3rU2fZTRDRgPJDH9FWvQjF5tA0p3d9CoWWd2s6GKKbfoUIi8R/Db1BSPJwkqB\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  import-keypair:\n    type: opentelekomcloud:ComputeKeypairV2\n    properties:\n      name: imported-keypair\n      publicKey: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAjpC1hwiOCCmKEWxJ4qzTTsJbKzndLotBCz5PcwtUnflmU+gHJtWMZKpuEGVi29h0A/+ydKek1O18k10Ff+4tyFjiHDQAnOfgWf7+b1yK+qDip3X1C0UPMbwHlTfSGWLGZqd9LvEFx9k3h/M+VtMvwR1lJ9LUyTAImnNjWG7TaIPmui30HvM2UiFEmqkr4ijq45MyX2+fLIePLRIF61p4whjHAQYufqyno3BS48icQb4p6iVEZPo4AE2o9oIyQvj2mx4dk5Y8CgSETOZTYDOR3rU2fZTRDRgPJDH9FWvQjF5tA0p3d9CoWWd2s6GKKbfoUIi8R/Db1BSPJwkqB\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Creating an SSH key\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst create_keypair = new opentelekomcloud.ComputeKeypairV2(\"create-keypair\", {name: \"new-keypair\"});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ncreate_keypair = opentelekomcloud.ComputeKeypairV2(\"create-keypair\", name=\"new-keypair\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var create_keypair = new Opentelekomcloud.ComputeKeypairV2(\"create-keypair\", new()\n    {\n        Name = \"new-keypair\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewComputeKeypairV2(ctx, \"create-keypair\", \u0026opentelekomcloud.ComputeKeypairV2Args{\n\t\t\tName: pulumi.String(\"new-keypair\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ComputeKeypairV2;\nimport com.pulumi.opentelekomcloud.ComputeKeypairV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var create_keypair = new ComputeKeypairV2(\"create-keypair\", ComputeKeypairV2Args.builder()\n            .name(\"new-keypair\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  create-keypair:\n    type: opentelekomcloud:ComputeKeypairV2\n    properties:\n      name: new-keypair\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nKey pairs can be imported using the `name`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/computeKeypairV2:ComputeKeypairV2 my-keypair test-keypair\n```\n\nImported key pairs are considered to be not shared.\n\n","properties":{"computeKeypairV2Id":{"type":"string"},"name":{"type":"string","description":"A unique name for the keypair. Changing this creates a new keypair.\n"},"privateKey":{"type":"string","description":"The generated private key when no public key is specified.\n"},"publicKey":{"type":"string","description":"A pregenerated OpenSSH-formatted public key.\nChanging this creates a new keypair. If a public key is not specified, then\na public/private key pair will be automatically generated. If a pair is\ncreated, then destroying this resource means you will lose access to that\nkeypair forever.\n"},"region":{"type":"string"},"shared":{"type":"boolean"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of additional options.\n"}},"type":"object","required":["computeKeypairV2Id","name","privateKey","publicKey","region","shared"],"inputProperties":{"computeKeypairV2Id":{"type":"string"},"name":{"type":"string","description":"A unique name for the keypair. Changing this creates a new keypair.\n"},"publicKey":{"type":"string","description":"A pregenerated OpenSSH-formatted public key.\nChanging this creates a new keypair. If a public key is not specified, then\na public/private key pair will be automatically generated. If a pair is\ncreated, then destroying this resource means you will lose access to that\nkeypair forever.\n"},"region":{"type":"string"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of additional options.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering ComputeKeypairV2 resources.\n","properties":{"computeKeypairV2Id":{"type":"string"},"name":{"type":"string","description":"A unique name for the keypair. Changing this creates a new keypair.\n"},"privateKey":{"type":"string","description":"The generated private key when no public key is specified.\n"},"publicKey":{"type":"string","description":"A pregenerated OpenSSH-formatted public key.\nChanging this creates a new keypair. If a public key is not specified, then\na public/private key pair will be automatically generated. If a pair is\ncreated, then destroying this resource means you will lose access to that\nkeypair forever.\n"},"region":{"type":"string"},"shared":{"type":"boolean"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of additional options.\n"}},"type":"object"}},"opentelekomcloud:index/computeSecgroupV2:ComputeSecgroupV2":{"description":"Up-to-date reference of API arguments for ECS security group management you can get at\n[documentation portal](https://docs.otc.t-systems.com/elastic-cloud-server/api-ref/openstack_nova_apis/security_group_management)\n\nManages a V2 security group resource within OpenTelekomCloud.\n\n~\u003e\nSecurity group compute APIs are marked as discarded in [documentation](https://docs.otc.t-systems.com/en-us/api/ecs/en-us_topic_0267427144.html).\nPlease use `resource/opentelekomcloud_networking_secgroup_v2`\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst secgroup1 = new opentelekomcloud.ComputeSecgroupV2(\"secgroup_1\", {\n    name: \"my_secgroup\",\n    description: \"my security group\",\n    rules: [\n        {\n            fromPort: 22,\n            toPort: 22,\n            ipProtocol: \"tcp\",\n            cidr: \"0.0.0.0/0\",\n        },\n        {\n            fromPort: 80,\n            toPort: 80,\n            ipProtocol: \"tcp\",\n            cidr: \"0.0.0.0/0\",\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nsecgroup1 = opentelekomcloud.ComputeSecgroupV2(\"secgroup_1\",\n    name=\"my_secgroup\",\n    description=\"my security group\",\n    rules=[\n        {\n            \"from_port\": 22,\n            \"to_port\": 22,\n            \"ip_protocol\": \"tcp\",\n            \"cidr\": \"0.0.0.0/0\",\n        },\n        {\n            \"from_port\": 80,\n            \"to_port\": 80,\n            \"ip_protocol\": \"tcp\",\n            \"cidr\": \"0.0.0.0/0\",\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var secgroup1 = new Opentelekomcloud.ComputeSecgroupV2(\"secgroup_1\", new()\n    {\n        Name = \"my_secgroup\",\n        Description = \"my security group\",\n        Rules = new[]\n        {\n            new Opentelekomcloud.Inputs.ComputeSecgroupV2RuleArgs\n            {\n                FromPort = 22,\n                ToPort = 22,\n                IpProtocol = \"tcp\",\n                Cidr = \"0.0.0.0/0\",\n            },\n            new Opentelekomcloud.Inputs.ComputeSecgroupV2RuleArgs\n            {\n                FromPort = 80,\n                ToPort = 80,\n                IpProtocol = \"tcp\",\n                Cidr = \"0.0.0.0/0\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewComputeSecgroupV2(ctx, \"secgroup_1\", \u0026opentelekomcloud.ComputeSecgroupV2Args{\n\t\t\tName:        pulumi.String(\"my_secgroup\"),\n\t\t\tDescription: pulumi.String(\"my security group\"),\n\t\t\tRules: opentelekomcloud.ComputeSecgroupV2RuleArray{\n\t\t\t\t\u0026opentelekomcloud.ComputeSecgroupV2RuleArgs{\n\t\t\t\t\tFromPort:   pulumi.Float64(22),\n\t\t\t\t\tToPort:     pulumi.Float64(22),\n\t\t\t\t\tIpProtocol: pulumi.String(\"tcp\"),\n\t\t\t\t\tCidr:       pulumi.String(\"0.0.0.0/0\"),\n\t\t\t\t},\n\t\t\t\t\u0026opentelekomcloud.ComputeSecgroupV2RuleArgs{\n\t\t\t\t\tFromPort:   pulumi.Float64(80),\n\t\t\t\t\tToPort:     pulumi.Float64(80),\n\t\t\t\t\tIpProtocol: pulumi.String(\"tcp\"),\n\t\t\t\t\tCidr:       pulumi.String(\"0.0.0.0/0\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ComputeSecgroupV2;\nimport com.pulumi.opentelekomcloud.ComputeSecgroupV2Args;\nimport com.pulumi.opentelekomcloud.inputs.ComputeSecgroupV2RuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var secgroup1 = new ComputeSecgroupV2(\"secgroup1\", ComputeSecgroupV2Args.builder()\n            .name(\"my_secgroup\")\n            .description(\"my security group\")\n            .rules(            \n                ComputeSecgroupV2RuleArgs.builder()\n                    .fromPort(22.0)\n                    .toPort(22.0)\n                    .ipProtocol(\"tcp\")\n                    .cidr(\"0.0.0.0/0\")\n                    .build(),\n                ComputeSecgroupV2RuleArgs.builder()\n                    .fromPort(80.0)\n                    .toPort(80.0)\n                    .ipProtocol(\"tcp\")\n                    .cidr(\"0.0.0.0/0\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  secgroup1:\n    type: opentelekomcloud:ComputeSecgroupV2\n    name: secgroup_1\n    properties:\n      name: my_secgroup\n      description: my security group\n      rules:\n        - fromPort: 22\n          toPort: 22\n          ipProtocol: tcp\n          cidr: 0.0.0.0/0\n        - fromPort: 80\n          toPort: 80\n          ipProtocol: tcp\n          cidr: 0.0.0.0/0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Notes\n\n### Referencing Security Groups\n\nWhen referencing a security group in a configuration (for example, a configuration creates a new security group and then needs to apply it to an instance being created in the same configuration), it is currently recommended to reference the security group by name and not by ID, like this:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst test_server = new opentelekomcloud.ComputeInstanceV2(\"test-server\", {\n    name: \"tf-test\",\n    imageId: \"ad091b52-742f-469e-8f3c-fd81cadf0743\",\n    flavorId: \"3\",\n    keyPair: \"my_key_pair_name\",\n    securityGroups: [secgroup1.name],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ntest_server = opentelekomcloud.ComputeInstanceV2(\"test-server\",\n    name=\"tf-test\",\n    image_id=\"ad091b52-742f-469e-8f3c-fd81cadf0743\",\n    flavor_id=\"3\",\n    key_pair=\"my_key_pair_name\",\n    security_groups=[secgroup1[\"name\"]])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test_server = new Opentelekomcloud.ComputeInstanceV2(\"test-server\", new()\n    {\n        Name = \"tf-test\",\n        ImageId = \"ad091b52-742f-469e-8f3c-fd81cadf0743\",\n        FlavorId = \"3\",\n        KeyPair = \"my_key_pair_name\",\n        SecurityGroups = new[]\n        {\n            secgroup1.Name,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewComputeInstanceV2(ctx, \"test-server\", \u0026opentelekomcloud.ComputeInstanceV2Args{\n\t\t\tName:     pulumi.String(\"tf-test\"),\n\t\t\tImageId:  pulumi.String(\"ad091b52-742f-469e-8f3c-fd81cadf0743\"),\n\t\t\tFlavorId: pulumi.String(\"3\"),\n\t\t\tKeyPair:  pulumi.String(\"my_key_pair_name\"),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tsecgroup1.Name,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ComputeInstanceV2;\nimport com.pulumi.opentelekomcloud.ComputeInstanceV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test_server = new ComputeInstanceV2(\"test-server\", ComputeInstanceV2Args.builder()\n            .name(\"tf-test\")\n            .imageId(\"ad091b52-742f-469e-8f3c-fd81cadf0743\")\n            .flavorId(\"3\")\n            .keyPair(\"my_key_pair_name\")\n            .securityGroups(secgroup1.name())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test-server:\n    type: opentelekomcloud:ComputeInstanceV2\n    properties:\n      name: tf-test\n      imageId: ad091b52-742f-469e-8f3c-fd81cadf0743\n      flavorId: '3'\n      keyPair: my_key_pair_name\n      securityGroups:\n        - ${secgroup1.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSecurity Groups can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/computeSecgroupV2:ComputeSecgroupV2 my_secgroup 1bc30ee9-9d5b-4c30-bdd5-7f1e663f5edf\n```\n\n","properties":{"computeSecgroupV2Id":{"type":"string"},"description":{"type":"string","description":"A description for the security group. Changing this\nupdates the \u003cspan pulumi-lang-nodejs=\"`description`\" pulumi-lang-dotnet=\"`Description`\" pulumi-lang-go=\"`description`\" pulumi-lang-python=\"`description`\" pulumi-lang-yaml=\"`description`\" pulumi-lang-java=\"`description`\"\u003e`description`\u003c/span\u003e of an existing security group.\n"},"name":{"type":"string","description":"A unique name for the security group. Changing this\nupdates the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e of an existing security group.\n"},"region":{"type":"string"},"rules":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FComputeSecgroupV2Rule:ComputeSecgroupV2Rule"},"description":"A rule describing how the security group operates. The\nrule object structure is documented below. Changing this updates the\nsecurity group rules. As shown in the example above, multiple rule blocks\nmay be used.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FComputeSecgroupV2Timeouts:ComputeSecgroupV2Timeouts"}},"type":"object","required":["computeSecgroupV2Id","description","name","region"],"inputProperties":{"computeSecgroupV2Id":{"type":"string"},"description":{"type":"string","description":"A description for the security group. Changing this\nupdates the \u003cspan pulumi-lang-nodejs=\"`description`\" pulumi-lang-dotnet=\"`Description`\" pulumi-lang-go=\"`description`\" pulumi-lang-python=\"`description`\" pulumi-lang-yaml=\"`description`\" pulumi-lang-java=\"`description`\"\u003e`description`\u003c/span\u003e of an existing security group.\n"},"name":{"type":"string","description":"A unique name for the security group. Changing this\nupdates the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e of an existing security group.\n"},"region":{"type":"string"},"rules":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FComputeSecgroupV2Rule:ComputeSecgroupV2Rule"},"description":"A rule describing how the security group operates. The\nrule object structure is documented below. Changing this updates the\nsecurity group rules. As shown in the example above, multiple rule blocks\nmay be used.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FComputeSecgroupV2Timeouts:ComputeSecgroupV2Timeouts"}},"requiredInputs":["description"],"stateInputs":{"description":"Input properties used for looking up and filtering ComputeSecgroupV2 resources.\n","properties":{"computeSecgroupV2Id":{"type":"string"},"description":{"type":"string","description":"A description for the security group. Changing this\nupdates the \u003cspan pulumi-lang-nodejs=\"`description`\" pulumi-lang-dotnet=\"`Description`\" pulumi-lang-go=\"`description`\" pulumi-lang-python=\"`description`\" pulumi-lang-yaml=\"`description`\" pulumi-lang-java=\"`description`\"\u003e`description`\u003c/span\u003e of an existing security group.\n"},"name":{"type":"string","description":"A unique name for the security group. Changing this\nupdates the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e of an existing security group.\n"},"region":{"type":"string"},"rules":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FComputeSecgroupV2Rule:ComputeSecgroupV2Rule"},"description":"A rule describing how the security group operates. The\nrule object structure is documented below. Changing this updates the\nsecurity group rules. As shown in the example above, multiple rule blocks\nmay be used.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FComputeSecgroupV2Timeouts:ComputeSecgroupV2Timeouts"}},"type":"object"}},"opentelekomcloud:index/computeServergroupV2:ComputeServergroupV2":{"description":"Up-to-date reference of API arguments for ECS server group management you can get at\n[documentation portal](https://docs.otc.t-systems.com/elastic-cloud-server/api-ref/openstack_nova_apis/ecs_group_management)\n\nManages a V2 Server Group resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst test_sg = new opentelekomcloud.ComputeServergroupV2(\"test-sg\", {\n    name: \"my-sg\",\n    policies: [\"anti-affinity\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ntest_sg = opentelekomcloud.ComputeServergroupV2(\"test-sg\",\n    name=\"my-sg\",\n    policies=[\"anti-affinity\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test_sg = new Opentelekomcloud.ComputeServergroupV2(\"test-sg\", new()\n    {\n        Name = \"my-sg\",\n        Policies = new[]\n        {\n            \"anti-affinity\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewComputeServergroupV2(ctx, \"test-sg\", \u0026opentelekomcloud.ComputeServergroupV2Args{\n\t\t\tName: pulumi.String(\"my-sg\"),\n\t\t\tPolicies: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"anti-affinity\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ComputeServergroupV2;\nimport com.pulumi.opentelekomcloud.ComputeServergroupV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test_sg = new ComputeServergroupV2(\"test-sg\", ComputeServergroupV2Args.builder()\n            .name(\"my-sg\")\n            .policies(\"anti-affinity\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test-sg:\n    type: opentelekomcloud:ComputeServergroupV2\n    properties:\n      name: my-sg\n      policies:\n        - anti-affinity\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Policies\n\n* `anti-affinity` - All instances/servers launched in this group will be\n  hosted on different compute nodes.\n\n## Import\n\nServer Groups can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/computeServergroupV2:ComputeServergroupV2 test-sg 1bc30ee9-9d5b-4c30-bdd5-7f1e663f5edf\n```\n\n","properties":{"computeServergroupV2Id":{"type":"string","description":"ID of the server group.\n"},"members":{"type":"array","items":{"type":"string"},"description":"The instances that are part of this server group.\n"},"name":{"type":"string","description":"A unique name for the server group. Changing this creates\na new server group.\n"},"policies":{"type":"array","items":{"type":"string"},"description":"The set of policies for the server group. Only two\ntwo policies are available right now, and both are mutually exclusive. See\nthe Policies section for more information. Changing this creates a new\nserver group.\n"},"region":{"type":"string"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of additional options.\n"}},"type":"object","required":["computeServergroupV2Id","members","name","policies","region"],"inputProperties":{"computeServergroupV2Id":{"type":"string","description":"ID of the server group.\n"},"name":{"type":"string","description":"A unique name for the server group. Changing this creates\na new server group.\n"},"policies":{"type":"array","items":{"type":"string"},"description":"The set of policies for the server group. Only two\ntwo policies are available right now, and both are mutually exclusive. See\nthe Policies section for more information. Changing this creates a new\nserver group.\n"},"region":{"type":"string"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of additional options.\n"}},"requiredInputs":["policies"],"stateInputs":{"description":"Input properties used for looking up and filtering ComputeServergroupV2 resources.\n","properties":{"computeServergroupV2Id":{"type":"string","description":"ID of the server group.\n"},"members":{"type":"array","items":{"type":"string"},"description":"The instances that are part of this server group.\n"},"name":{"type":"string","description":"A unique name for the server group. Changing this creates\na new server group.\n"},"policies":{"type":"array","items":{"type":"string"},"description":"The set of policies for the server group. Only two\ntwo policies are available right now, and both are mutually exclusive. See\nthe Policies section for more information. Changing this creates a new\nserver group.\n"},"region":{"type":"string"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of additional options.\n"}},"type":"object"}},"opentelekomcloud:index/computeVolumeAttachV2:ComputeVolumeAttachV2":{"description":"Up-to-date reference of API arguments for ECS disk management you can get at\n[documentation portal](https://docs.otc.t-systems.com/elastic-cloud-server/api-ref/openstack_nova_apis/disk_management)\n\nAttaches a Block Storage Volume to an Instance using the OpenTelekomCloud\nCompute (Nova) v2 API.\n\n## Example Usage\n\n### Basic attachment of a single volume to a single instance\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst volume1 = new opentelekomcloud.BlockstorageVolumeV2(\"volume_1\", {\n    name: \"volume_1\",\n    size: 1,\n});\nconst instance1 = new opentelekomcloud.ComputeInstanceV2(\"instance_1\", {\n    name: \"instance_1\",\n    securityGroups: [\"default\"],\n});\nconst va1 = new opentelekomcloud.ComputeVolumeAttachV2(\"va_1\", {\n    instanceId: instance1.computeInstanceV2Id,\n    volumeId: volume1.blockstorageVolumeV2Id,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nvolume1 = opentelekomcloud.BlockstorageVolumeV2(\"volume_1\",\n    name=\"volume_1\",\n    size=1)\ninstance1 = opentelekomcloud.ComputeInstanceV2(\"instance_1\",\n    name=\"instance_1\",\n    security_groups=[\"default\"])\nva1 = opentelekomcloud.ComputeVolumeAttachV2(\"va_1\",\n    instance_id=instance1.compute_instance_v2_id,\n    volume_id=volume1.blockstorage_volume_v2_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var volume1 = new Opentelekomcloud.BlockstorageVolumeV2(\"volume_1\", new()\n    {\n        Name = \"volume_1\",\n        Size = 1,\n    });\n\n    var instance1 = new Opentelekomcloud.ComputeInstanceV2(\"instance_1\", new()\n    {\n        Name = \"instance_1\",\n        SecurityGroups = new[]\n        {\n            \"default\",\n        },\n    });\n\n    var va1 = new Opentelekomcloud.ComputeVolumeAttachV2(\"va_1\", new()\n    {\n        InstanceId = instance1.ComputeInstanceV2Id,\n        VolumeId = volume1.BlockstorageVolumeV2Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tvolume1, err := opentelekomcloud.NewBlockstorageVolumeV2(ctx, \"volume_1\", \u0026opentelekomcloud.BlockstorageVolumeV2Args{\n\t\t\tName: pulumi.String(\"volume_1\"),\n\t\t\tSize: pulumi.Float64(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinstance1, err := opentelekomcloud.NewComputeInstanceV2(ctx, \"instance_1\", \u0026opentelekomcloud.ComputeInstanceV2Args{\n\t\t\tName: pulumi.String(\"instance_1\"),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"default\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewComputeVolumeAttachV2(ctx, \"va_1\", \u0026opentelekomcloud.ComputeVolumeAttachV2Args{\n\t\t\tInstanceId: instance1.ComputeInstanceV2Id,\n\t\t\tVolumeId:   volume1.BlockstorageVolumeV2Id,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.BlockstorageVolumeV2;\nimport com.pulumi.opentelekomcloud.BlockstorageVolumeV2Args;\nimport com.pulumi.opentelekomcloud.ComputeInstanceV2;\nimport com.pulumi.opentelekomcloud.ComputeInstanceV2Args;\nimport com.pulumi.opentelekomcloud.ComputeVolumeAttachV2;\nimport com.pulumi.opentelekomcloud.ComputeVolumeAttachV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var volume1 = new BlockstorageVolumeV2(\"volume1\", BlockstorageVolumeV2Args.builder()\n            .name(\"volume_1\")\n            .size(1.0)\n            .build());\n\n        var instance1 = new ComputeInstanceV2(\"instance1\", ComputeInstanceV2Args.builder()\n            .name(\"instance_1\")\n            .securityGroups(\"default\")\n            .build());\n\n        var va1 = new ComputeVolumeAttachV2(\"va1\", ComputeVolumeAttachV2Args.builder()\n            .instanceId(instance1.computeInstanceV2Id())\n            .volumeId(volume1.blockstorageVolumeV2Id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  volume1:\n    type: opentelekomcloud:BlockstorageVolumeV2\n    name: volume_1\n    properties:\n      name: volume_1\n      size: 1\n  instance1:\n    type: opentelekomcloud:ComputeInstanceV2\n    name: instance_1\n    properties:\n      name: instance_1\n      securityGroups:\n        - default\n  va1:\n    type: opentelekomcloud:ComputeVolumeAttachV2\n    name: va_1\n    properties:\n      instanceId: ${instance1.computeInstanceV2Id}\n      volumeId: ${volume1.blockstorageVolumeV2Id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example with\u003cspan pulumi-lang-nodejs=\" forceDetach \" pulumi-lang-dotnet=\" ForceDetach \" pulumi-lang-go=\" forceDetach \" pulumi-lang-python=\" force_detach \" pulumi-lang-yaml=\" forceDetach \" pulumi-lang-java=\" forceDetach \"\u003e force_detach \u003c/span\u003eflag\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst vaForce = new opentelekomcloud.ComputeVolumeAttachV2(\"va_force\", {\n    instanceId: instance1.id,\n    volumeId: volume1.id,\n    forceDetach: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nva_force = opentelekomcloud.ComputeVolumeAttachV2(\"va_force\",\n    instance_id=instance1[\"id\"],\n    volume_id=volume1[\"id\"],\n    force_detach=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var vaForce = new Opentelekomcloud.ComputeVolumeAttachV2(\"va_force\", new()\n    {\n        InstanceId = instance1.Id,\n        VolumeId = volume1.Id,\n        ForceDetach = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewComputeVolumeAttachV2(ctx, \"va_force\", \u0026opentelekomcloud.ComputeVolumeAttachV2Args{\n\t\t\tInstanceId:  pulumi.Any(instance1.Id),\n\t\t\tVolumeId:    pulumi.Any(volume1.Id),\n\t\t\tForceDetach: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ComputeVolumeAttachV2;\nimport com.pulumi.opentelekomcloud.ComputeVolumeAttachV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var vaForce = new ComputeVolumeAttachV2(\"vaForce\", ComputeVolumeAttachV2Args.builder()\n            .instanceId(instance1.id())\n            .volumeId(volume1.id())\n            .forceDetach(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  vaForce:\n    type: opentelekomcloud:ComputeVolumeAttachV2\n    name: va_force\n    properties:\n      instanceId: ${instance1.id}\n      volumeId: ${volume1.id}\n      forceDetach: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVolume Attachments can be imported using the Instance ID and Volume ID\nseparated by a slash, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/computeVolumeAttachV2:ComputeVolumeAttachV2 va_1 89c60255-9bd6-460c-822a-e2b959ede9d2/45670584-225f-46c3-b33e-6707b589b666\n```\n","properties":{"computeVolumeAttachV2Id":{"type":"string"},"device":{"type":"string"},"forceDetach":{"type":"boolean","description":"Indicates whether to force detach the disk when deleting the attachment resource.\nIf set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the provider will call the force detach API, ensuring the disk is detached even\nif the normal detach operation fails. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"instanceId":{"type":"string","description":"The ID of the Instance to attach the Volume to.\n"},"region":{"type":"string"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FComputeVolumeAttachV2Timeouts:ComputeVolumeAttachV2Timeouts"},"volumeId":{"type":"string","description":"The ID of the Volume to attach to an Instance.\n"}},"type":"object","required":["computeVolumeAttachV2Id","device","instanceId","region","volumeId"],"inputProperties":{"computeVolumeAttachV2Id":{"type":"string"},"device":{"type":"string"},"forceDetach":{"type":"boolean","description":"Indicates whether to force detach the disk when deleting the attachment resource.\nIf set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the provider will call the force detach API, ensuring the disk is detached even\nif the normal detach operation fails. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"instanceId":{"type":"string","description":"The ID of the Instance to attach the Volume to.\n"},"region":{"type":"string"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FComputeVolumeAttachV2Timeouts:ComputeVolumeAttachV2Timeouts"},"volumeId":{"type":"string","description":"The ID of the Volume to attach to an Instance.\n"}},"requiredInputs":["instanceId","volumeId"],"stateInputs":{"description":"Input properties used for looking up and filtering ComputeVolumeAttachV2 resources.\n","properties":{"computeVolumeAttachV2Id":{"type":"string"},"device":{"type":"string"},"forceDetach":{"type":"boolean","description":"Indicates whether to force detach the disk when deleting the attachment resource.\nIf set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the provider will call the force detach API, ensuring the disk is detached even\nif the normal detach operation fails. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"instanceId":{"type":"string","description":"The ID of the Instance to attach the Volume to.\n"},"region":{"type":"string"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FComputeVolumeAttachV2Timeouts:ComputeVolumeAttachV2Timeouts"},"volumeId":{"type":"string","description":"The ID of the Volume to attach to an Instance.\n"}},"type":"object"}},"opentelekomcloud:index/csbsBackupPolicyV1:CsbsBackupPolicyV1":{"description":"Up-to-date reference of API arguments for CSBS backup policy you can get at\n[documentation portal](https://docs.otc.t-systems.com/cloud-server-backup-service/api-ref/api_description/backup_policy_management)\n\nProvides an OpenTelekomCloud Backup Policy of Resources.\n\n~\u003e\nDeprecated, use \u003cspan pulumi-lang-nodejs=\"`opentelekomcloud.CbrPolicyV3`\" pulumi-lang-dotnet=\"`opentelekomcloud.CbrPolicyV3`\" pulumi-lang-go=\"`CbrPolicyV3`\" pulumi-lang-python=\"`CbrPolicyV3`\" pulumi-lang-yaml=\"`opentelekomcloud.CbrPolicyV3`\" pulumi-lang-java=\"`opentelekomcloud.CbrPolicyV3`\"\u003e`opentelekomcloud.CbrPolicyV3`\u003c/span\u003e resource instead.\n\n## Example Usage\n\n### Basic example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst name = config.requireObject\u003cany\u003e(\"name\");\nconst id = config.requireObject\u003cany\u003e(\"id\");\nconst resourceName = config.requireObject\u003cany\u003e(\"resourceName\");\nconst backupPolicyV1 = new opentelekomcloud.CsbsBackupPolicyV1(\"backup_policy_v1\", {\n    name: name,\n    resources: [{\n        id: id,\n        type: \"OS::Nova::Server\",\n        name: resourceName,\n    }],\n    scheduledOperation: {\n        enabled: true,\n        operationType: \"backup\",\n        triggerPattern: `BEGIN:VCALENDAR\\x0d\nBEGIN:VEVENT\\x0d\nRRULE:FREQ=WEEKLY;BYDAY=TH;BYHOUR=12;BYMINUTE=27\\x0d\nEND:VEVENT\\x0d\nEND:VCALENDAR\\x0d\n`,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nname = config.require_object(\"name\")\nid = config.require_object(\"id\")\nresource_name = config.require_object(\"resourceName\")\nbackup_policy_v1 = opentelekomcloud.CsbsBackupPolicyV1(\"backup_policy_v1\",\n    name=name,\n    resources=[{\n        \"id\": id,\n        \"type\": \"OS::Nova::Server\",\n        \"name\": resource_name,\n    }],\n    scheduled_operation={\n        \"enabled\": True,\n        \"operation_type\": \"backup\",\n        \"trigger_pattern\": \"\"\"BEGIN:VCALENDAR\\x0d\nBEGIN:VEVENT\\x0d\nRRULE:FREQ=WEEKLY;BYDAY=TH;BYHOUR=12;BYMINUTE=27\\x0d\nEND:VEVENT\\x0d\nEND:VCALENDAR\\x0d\n\"\"\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var name = config.RequireObject\u003cdynamic\u003e(\"name\");\n    var id = config.RequireObject\u003cdynamic\u003e(\"id\");\n    var resourceName = config.RequireObject\u003cdynamic\u003e(\"resourceName\");\n    var backupPolicyV1 = new Opentelekomcloud.CsbsBackupPolicyV1(\"backup_policy_v1\", new()\n    {\n        Name = name,\n        Resources = new[]\n        {\n            new Opentelekomcloud.Inputs.CsbsBackupPolicyV1ResourceArgs\n            {\n                Id = id,\n                Type = \"OS::Nova::Server\",\n                Name = resourceName,\n            },\n        },\n        ScheduledOperation = new Opentelekomcloud.Inputs.CsbsBackupPolicyV1ScheduledOperationArgs\n        {\n            Enabled = true,\n            OperationType = \"backup\",\n            TriggerPattern = @\"BEGIN:VCALENDAR\r\nBEGIN:VEVENT\r\nRRULE:FREQ=WEEKLY;BYDAY=TH;BYHOUR=12;BYMINUTE=27\r\nEND:VEVENT\r\nEND:VCALENDAR\r\n\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := cfg.RequireObject(\"name\")\n\t\tid := cfg.RequireObject(\"id\")\n\t\tresourceName := cfg.RequireObject(\"resourceName\")\n\t\t_, err := opentelekomcloud.NewCsbsBackupPolicyV1(ctx, \"backup_policy_v1\", \u0026opentelekomcloud.CsbsBackupPolicyV1Args{\n\t\t\tName: pulumi.Any(name),\n\t\t\tResources: opentelekomcloud.CsbsBackupPolicyV1ResourceArray{\n\t\t\t\t\u0026opentelekomcloud.CsbsBackupPolicyV1ResourceArgs{\n\t\t\t\t\tId:   pulumi.Any(id),\n\t\t\t\t\tType: pulumi.String(\"OS::Nova::Server\"),\n\t\t\t\t\tName: pulumi.Any(resourceName),\n\t\t\t\t},\n\t\t\t},\n\t\t\tScheduledOperation: \u0026opentelekomcloud.CsbsBackupPolicyV1ScheduledOperationArgs{\n\t\t\t\tEnabled:       pulumi.Bool(true),\n\t\t\t\tOperationType: pulumi.String(\"backup\"),\n\t\t\t\tTriggerPattern: pulumi.String(`BEGIN:VCALENDAR\nBEGIN:VEVENT\nRRULE:FREQ=WEEKLY;BYDAY=TH;BYHOUR=12;BYMINUTE=27\nEND:VEVENT\nEND:VCALENDAR\n`),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.CsbsBackupPolicyV1;\nimport com.pulumi.opentelekomcloud.CsbsBackupPolicyV1Args;\nimport com.pulumi.opentelekomcloud.inputs.CsbsBackupPolicyV1ResourceArgs;\nimport com.pulumi.opentelekomcloud.inputs.CsbsBackupPolicyV1ScheduledOperationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var name = config.get(\"name\");\n        final var id = config.get(\"id\");\n        final var resourceName = config.get(\"resourceName\");\n        var backupPolicyV1 = new CsbsBackupPolicyV1(\"backupPolicyV1\", CsbsBackupPolicyV1Args.builder()\n            .name(name)\n            .resources(CsbsBackupPolicyV1ResourceArgs.builder()\n                .id(id)\n                .type(\"OS::Nova::Server\")\n                .name(resourceName)\n                .build())\n            .scheduledOperation(CsbsBackupPolicyV1ScheduledOperationArgs.builder()\n                .enabled(true)\n                .operationType(\"backup\")\n                .triggerPattern(\"\"\"\nBEGIN:VCALENDAR\r\nBEGIN:VEVENT\r\nRRULE:FREQ=WEEKLY;BYDAY=TH;BYHOUR=12;BYMINUTE=27\r\nEND:VEVENT\r\nEND:VCALENDAR\r\n                \"\"\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  name:\n    type: dynamic\n  id:\n    type: dynamic\n  resourceName:\n    type: dynamic\nresources:\n  backupPolicyV1:\n    type: opentelekomcloud:CsbsBackupPolicyV1\n    name: backup_policy_v1\n    properties:\n      name: ${name}\n      resources:\n        - id: ${id}\n          type: OS::Nova::Server\n          name: ${resourceName}\n      scheduledOperation:\n        enabled: true\n        operationType: backup\n        triggerPattern: \"BEGIN:VCALENDAR\\r\\nBEGIN:VEVENT\\r\\nRRULE:FREQ=WEEKLY;BYDAY=TH;BYHOUR=12;BYMINUTE=27\\r\\nEND:VEVENT\\r\\nEND:VCALENDAR\\r\\n\"\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nBackup Policy can be imported using `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/csbsBackupPolicyV1:CsbsBackupPolicyV1 backup_policy_v1 7056d636-ac60-4663-8a6c-82d3c32c1c64\n```\n\n","properties":{"common":{"type":"object","additionalProperties":{"type":"string"},"description":"General backup policy parameters, which are blank by default.\n"},"createdAt":{"type":"string","description":"Backup creation time.\n"},"csbsBackupPolicyV1Id":{"type":"string","description":"Specifies Scheduling period ID.\n"},"description":{"type":"string","description":"Backup policy description. The value consists of 0 to 255 characters and must not contain a greater-than sign (\u003e) or less-than sign (\u003c).\n"},"name":{"type":"string","description":"Specifies the name of backup policy. The value consists of 1 to 255 characters and can contain only letters, digits, underscores (_), and hyphens (-).\n"},"providerId":{"type":"string","description":"Specifies backup provider ID. Default value is **fc4d5750-22e7-4798-8a46-f48f62c4c1da**\n"},"region":{"type":"string"},"resources":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCsbsBackupPolicyV1Resource:CsbsBackupPolicyV1Resource"}},"scheduledOperation":{"$ref":"#/types/opentelekomcloud:index%2FCsbsBackupPolicyV1ScheduledOperation:CsbsBackupPolicyV1ScheduledOperation","description":"Backup plan information\n"},"status":{"type":"string","description":"Status of Backup Policy.\n"},"tags":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCsbsBackupPolicyV1Tag:CsbsBackupPolicyV1Tag"}},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCsbsBackupPolicyV1Timeouts:CsbsBackupPolicyV1Timeouts"}},"type":"object","required":["createdAt","csbsBackupPolicyV1Id","name","region","resources","scheduledOperation","status"],"inputProperties":{"common":{"type":"object","additionalProperties":{"type":"string"},"description":"General backup policy parameters, which are blank by default.\n"},"csbsBackupPolicyV1Id":{"type":"string","description":"Specifies Scheduling period ID.\n"},"description":{"type":"string","description":"Backup policy description. The value consists of 0 to 255 characters and must not contain a greater-than sign (\u003e) or less-than sign (\u003c).\n"},"name":{"type":"string","description":"Specifies the name of backup policy. The value consists of 1 to 255 characters and can contain only letters, digits, underscores (_), and hyphens (-).\n"},"providerId":{"type":"string","description":"Specifies backup provider ID. Default value is **fc4d5750-22e7-4798-8a46-f48f62c4c1da**\n"},"region":{"type":"string"},"resources":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCsbsBackupPolicyV1Resource:CsbsBackupPolicyV1Resource"}},"scheduledOperation":{"$ref":"#/types/opentelekomcloud:index%2FCsbsBackupPolicyV1ScheduledOperation:CsbsBackupPolicyV1ScheduledOperation","description":"Backup plan information\n"},"tags":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCsbsBackupPolicyV1Tag:CsbsBackupPolicyV1Tag"}},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCsbsBackupPolicyV1Timeouts:CsbsBackupPolicyV1Timeouts"}},"requiredInputs":["resources","scheduledOperation"],"stateInputs":{"description":"Input properties used for looking up and filtering CsbsBackupPolicyV1 resources.\n","properties":{"common":{"type":"object","additionalProperties":{"type":"string"},"description":"General backup policy parameters, which are blank by default.\n"},"createdAt":{"type":"string","description":"Backup creation time.\n"},"csbsBackupPolicyV1Id":{"type":"string","description":"Specifies Scheduling period ID.\n"},"description":{"type":"string","description":"Backup policy description. The value consists of 0 to 255 characters and must not contain a greater-than sign (\u003e) or less-than sign (\u003c).\n"},"name":{"type":"string","description":"Specifies the name of backup policy. The value consists of 1 to 255 characters and can contain only letters, digits, underscores (_), and hyphens (-).\n"},"providerId":{"type":"string","description":"Specifies backup provider ID. Default value is **fc4d5750-22e7-4798-8a46-f48f62c4c1da**\n"},"region":{"type":"string"},"resources":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCsbsBackupPolicyV1Resource:CsbsBackupPolicyV1Resource"}},"scheduledOperation":{"$ref":"#/types/opentelekomcloud:index%2FCsbsBackupPolicyV1ScheduledOperation:CsbsBackupPolicyV1ScheduledOperation","description":"Backup plan information\n"},"status":{"type":"string","description":"Status of Backup Policy.\n"},"tags":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCsbsBackupPolicyV1Tag:CsbsBackupPolicyV1Tag"}},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCsbsBackupPolicyV1Timeouts:CsbsBackupPolicyV1Timeouts"}},"type":"object"}},"opentelekomcloud:index/csbsBackupV1:CsbsBackupV1":{"description":"Up-to-date reference of API arguments for CSBS backup you can get at\n[documentation portal](https://docs.otc.t-systems.com/cloud-server-backup-service/api-ref/api_description/backup_management)\n\nProvides an OpenTelekomCloud Backup of Resources.\n\n~\u003e\nDeprecated, use \u003cspan pulumi-lang-nodejs=\"`opentelekomcloud.CbrVaultV3`\" pulumi-lang-dotnet=\"`opentelekomcloud.CbrVaultV3`\" pulumi-lang-go=\"`CbrVaultV3`\" pulumi-lang-python=\"`CbrVaultV3`\" pulumi-lang-yaml=\"`opentelekomcloud.CbrVaultV3`\" pulumi-lang-java=\"`opentelekomcloud.CbrVaultV3`\"\u003e`opentelekomcloud.CbrVaultV3`\u003c/span\u003e resource instead.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst backupName = config.requireObject\u003cany\u003e(\"backupName\");\nconst resourceId = config.requireObject\u003cany\u003e(\"resourceId\");\nconst backupV1 = new opentelekomcloud.CsbsBackupV1(\"backup_v1\", {\n    backupName: backupName,\n    resourceId: resourceId,\n    resourceType: \"OS::Nova::Server\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nbackup_name = config.require_object(\"backupName\")\nresource_id = config.require_object(\"resourceId\")\nbackup_v1 = opentelekomcloud.CsbsBackupV1(\"backup_v1\",\n    backup_name=backup_name,\n    resource_id=resource_id,\n    resource_type=\"OS::Nova::Server\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var backupName = config.RequireObject\u003cdynamic\u003e(\"backupName\");\n    var resourceId = config.RequireObject\u003cdynamic\u003e(\"resourceId\");\n    var backupV1 = new Opentelekomcloud.CsbsBackupV1(\"backup_v1\", new()\n    {\n        BackupName = backupName,\n        ResourceId = resourceId,\n        ResourceType = \"OS::Nova::Server\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tbackupName := cfg.RequireObject(\"backupName\")\n\t\tresourceId := cfg.RequireObject(\"resourceId\")\n\t\t_, err := opentelekomcloud.NewCsbsBackupV1(ctx, \"backup_v1\", \u0026opentelekomcloud.CsbsBackupV1Args{\n\t\t\tBackupName:   pulumi.Any(backupName),\n\t\t\tResourceId:   pulumi.Any(resourceId),\n\t\t\tResourceType: pulumi.String(\"OS::Nova::Server\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.CsbsBackupV1;\nimport com.pulumi.opentelekomcloud.CsbsBackupV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var backupName = config.get(\"backupName\");\n        final var resourceId = config.get(\"resourceId\");\n        var backupV1 = new CsbsBackupV1(\"backupV1\", CsbsBackupV1Args.builder()\n            .backupName(backupName)\n            .resourceId(resourceId)\n            .resourceType(\"OS::Nova::Server\")\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  backupName:\n    type: dynamic\n  resourceId:\n    type: dynamic\nresources:\n  backupV1:\n    type: opentelekomcloud:CsbsBackupV1\n    name: backup_v1\n    properties:\n      backupName: ${backupName}\n      resourceId: ${resourceId}\n      resourceType: OS::Nova::Server\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nBackup can be imported using  `backup_record_id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/csbsBackupV1:CsbsBackupV1 backup_v1 7056d636-ac60-4663-8a6c-82d3c32c1c64\n```\n\n","properties":{"backupName":{"type":"string","description":"Name for the backup. The value consists of 1 to 255 characters and can contain only letters, digits, underscores (_), and hyphens (-). Changing\u003cspan pulumi-lang-nodejs=\" backupName \" pulumi-lang-dotnet=\" BackupName \" pulumi-lang-go=\" backupName \" pulumi-lang-python=\" backup_name \" pulumi-lang-yaml=\" backupName \" pulumi-lang-java=\" backupName \"\u003e backup_name \u003c/span\u003ecreates a new backup.\n"},"backupRecordId":{"type":"string","description":"Specifies backup record ID.\n"},"csbsBackupV1Id":{"type":"string","description":"Specifies Cinder backup ID.\n"},"description":{"type":"string","description":"Backup description. The value consists of 0 to 255 characters and must not contain a greater-than sign (\u003e) or less-than sign (\u003c). Changing description creates a new backup.\n"},"region":{"type":"string"},"resourceId":{"type":"string","description":"ID of the target to which the backup is restored. Changing this creates a new backup.\n"},"resourceType":{"type":"string","description":"Type of the target to which the backup is restored. The default value is `OS::Nova::Server` for an ECS. Changing this creates a new backup.\n"},"status":{"type":"string","description":"Status of backup Volume.\n"},"tags":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCsbsBackupV1Tag:CsbsBackupV1Tag"},"description":"block supports the following arguments:\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCsbsBackupV1Timeouts:CsbsBackupV1Timeouts"},"vmMetadatas":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCsbsBackupV1VmMetadata:CsbsBackupV1VmMetadata"}},"volumeBackups":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCsbsBackupV1VolumeBackup:CsbsBackupV1VolumeBackup"}}},"type":"object","required":["backupName","backupRecordId","csbsBackupV1Id","description","region","resourceId","status","vmMetadatas","volumeBackups"],"inputProperties":{"backupName":{"type":"string","description":"Name for the backup. The value consists of 1 to 255 characters and can contain only letters, digits, underscores (_), and hyphens (-). Changing\u003cspan pulumi-lang-nodejs=\" backupName \" pulumi-lang-dotnet=\" BackupName \" pulumi-lang-go=\" backupName \" pulumi-lang-python=\" backup_name \" pulumi-lang-yaml=\" backupName \" pulumi-lang-java=\" backupName \"\u003e backup_name \u003c/span\u003ecreates a new backup.\n"},"csbsBackupV1Id":{"type":"string","description":"Specifies Cinder backup ID.\n"},"description":{"type":"string","description":"Backup description. The value consists of 0 to 255 characters and must not contain a greater-than sign (\u003e) or less-than sign (\u003c). Changing description creates a new backup.\n"},"region":{"type":"string"},"resourceId":{"type":"string","description":"ID of the target to which the backup is restored. Changing this creates a new backup.\n"},"resourceType":{"type":"string","description":"Type of the target to which the backup is restored. The default value is `OS::Nova::Server` for an ECS. Changing this creates a new backup.\n"},"tags":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCsbsBackupV1Tag:CsbsBackupV1Tag"},"description":"block supports the following arguments:\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCsbsBackupV1Timeouts:CsbsBackupV1Timeouts"}},"requiredInputs":["resourceId"],"stateInputs":{"description":"Input properties used for looking up and filtering CsbsBackupV1 resources.\n","properties":{"backupName":{"type":"string","description":"Name for the backup. The value consists of 1 to 255 characters and can contain only letters, digits, underscores (_), and hyphens (-). Changing\u003cspan pulumi-lang-nodejs=\" backupName \" pulumi-lang-dotnet=\" BackupName \" pulumi-lang-go=\" backupName \" pulumi-lang-python=\" backup_name \" pulumi-lang-yaml=\" backupName \" pulumi-lang-java=\" backupName \"\u003e backup_name \u003c/span\u003ecreates a new backup.\n"},"backupRecordId":{"type":"string","description":"Specifies backup record ID.\n"},"csbsBackupV1Id":{"type":"string","description":"Specifies Cinder backup ID.\n"},"description":{"type":"string","description":"Backup description. The value consists of 0 to 255 characters and must not contain a greater-than sign (\u003e) or less-than sign (\u003c). Changing description creates a new backup.\n"},"region":{"type":"string"},"resourceId":{"type":"string","description":"ID of the target to which the backup is restored. Changing this creates a new backup.\n"},"resourceType":{"type":"string","description":"Type of the target to which the backup is restored. The default value is `OS::Nova::Server` for an ECS. Changing this creates a new backup.\n"},"status":{"type":"string","description":"Status of backup Volume.\n"},"tags":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCsbsBackupV1Tag:CsbsBackupV1Tag"},"description":"block supports the following arguments:\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCsbsBackupV1Timeouts:CsbsBackupV1Timeouts"},"vmMetadatas":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCsbsBackupV1VmMetadata:CsbsBackupV1VmMetadata"}},"volumeBackups":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCsbsBackupV1VolumeBackup:CsbsBackupV1VolumeBackup"}}},"type":"object"}},"opentelekomcloud:index/cssClusterRestartV1:CssClusterRestartV1":{"description":"Manages CSS cluster restart resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst clusterId = config.requireObject\u003cany\u003e(\"clusterId\");\nconst test = new opentelekomcloud.CssClusterRestartV1(\"test\", {clusterId: clusterId});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ncluster_id = config.require_object(\"clusterId\")\ntest = opentelekomcloud.CssClusterRestartV1(\"test\", cluster_id=cluster_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var clusterId = config.RequireObject\u003cdynamic\u003e(\"clusterId\");\n    var test = new Opentelekomcloud.CssClusterRestartV1(\"test\", new()\n    {\n        ClusterId = clusterId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tclusterId := cfg.RequireObject(\"clusterId\")\n\t\t_, err := opentelekomcloud.NewCssClusterRestartV1(ctx, \"test\", \u0026opentelekomcloud.CssClusterRestartV1Args{\n\t\t\tClusterId: pulumi.Any(clusterId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.CssClusterRestartV1;\nimport com.pulumi.opentelekomcloud.CssClusterRestartV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var clusterId = config.get(\"clusterId\");\n        var test = new CssClusterRestartV1(\"test\", CssClusterRestartV1Args.builder()\n            .clusterId(clusterId)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  clusterId:\n    type: dynamic\nresources:\n  test:\n    type: opentelekomcloud:CssClusterRestartV1\n    properties:\n      clusterId: ${clusterId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"clusterId":{"type":"string","description":"Specifies the ID of the CSS cluster.\nChanging this creates a new resource.\n"},"cssClusterRestartV1Id":{"type":"string","description":"The resource ID.\n"},"region":{"type":"string","description":"The region in which the resource created.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCssClusterRestartV1Timeouts:CssClusterRestartV1Timeouts"}},"type":"object","required":["clusterId","cssClusterRestartV1Id","region"],"inputProperties":{"clusterId":{"type":"string","description":"Specifies the ID of the CSS cluster.\nChanging this creates a new resource.\n"},"cssClusterRestartV1Id":{"type":"string","description":"The resource ID.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCssClusterRestartV1Timeouts:CssClusterRestartV1Timeouts"}},"requiredInputs":["clusterId"],"stateInputs":{"description":"Input properties used for looking up and filtering CssClusterRestartV1 resources.\n","properties":{"clusterId":{"type":"string","description":"Specifies the ID of the CSS cluster.\nChanging this creates a new resource.\n"},"cssClusterRestartV1Id":{"type":"string","description":"The resource ID.\n"},"region":{"type":"string","description":"The region in which the resource created.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCssClusterRestartV1Timeouts:CssClusterRestartV1Timeouts"}},"type":"object"}},"opentelekomcloud:index/cssClusterV1:CssClusterV1":{"description":"Up-to-date reference of API arguments for CSS cluster you can get at\n[documentation portal](https://docs.otc.t-systems.com/cloud-search-service/api-ref/cluster_management_apis)\n\nManages a CSS cluster resource.\n\n## Example Usage\n\n### Creating ElasticSearch v7.6.2\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst secgroup = opentelekomcloud.getNetworkingSecgroupV2({\n    name: securityGroup,\n});\nconst cluster = new opentelekomcloud.CssClusterV1(\"cluster\", {\n    name: \"terraform_test_cluster\",\n    expectNodeNum: 1,\n    nodeConfig: {\n        flavor: \"css.medium.8\",\n        networkInfo: {\n            securityGroupId: secgroup.then(secgroup =\u003e secgroup.id),\n            networkId: networkId,\n            vpcId: vpcId,\n        },\n        volume: {\n            volumeType: \"COMMON\",\n            size: 40,\n        },\n        availabilityZone: availabilityZone,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nsecgroup = opentelekomcloud.get_networking_secgroup_v2(name=security_group)\ncluster = opentelekomcloud.CssClusterV1(\"cluster\",\n    name=\"terraform_test_cluster\",\n    expect_node_num=1,\n    node_config={\n        \"flavor\": \"css.medium.8\",\n        \"network_info\": {\n            \"security_group_id\": secgroup.id,\n            \"network_id\": network_id,\n            \"vpc_id\": vpc_id,\n        },\n        \"volume\": {\n            \"volume_type\": \"COMMON\",\n            \"size\": 40,\n        },\n        \"availability_zone\": availability_zone,\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var secgroup = Opentelekomcloud.GetNetworkingSecgroupV2.Invoke(new()\n    {\n        Name = securityGroup,\n    });\n\n    var cluster = new Opentelekomcloud.CssClusterV1(\"cluster\", new()\n    {\n        Name = \"terraform_test_cluster\",\n        ExpectNodeNum = 1,\n        NodeConfig = new Opentelekomcloud.Inputs.CssClusterV1NodeConfigArgs\n        {\n            Flavor = \"css.medium.8\",\n            NetworkInfo = new Opentelekomcloud.Inputs.CssClusterV1NodeConfigNetworkInfoArgs\n            {\n                SecurityGroupId = secgroup.Apply(getNetworkingSecgroupV2Result =\u003e getNetworkingSecgroupV2Result.Id),\n                NetworkId = networkId,\n                VpcId = vpcId,\n            },\n            Volume = new Opentelekomcloud.Inputs.CssClusterV1NodeConfigVolumeArgs\n            {\n                VolumeType = \"COMMON\",\n                Size = 40,\n            },\n            AvailabilityZone = availabilityZone,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsecgroup, err := opentelekomcloud.LookupNetworkingSecgroupV2(ctx, \u0026opentelekomcloud.LookupNetworkingSecgroupV2Args{\n\t\t\tName: pulumi.StringRef(securityGroup),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewCssClusterV1(ctx, \"cluster\", \u0026opentelekomcloud.CssClusterV1Args{\n\t\t\tName:          pulumi.String(\"terraform_test_cluster\"),\n\t\t\tExpectNodeNum: pulumi.Float64(1),\n\t\t\tNodeConfig: \u0026opentelekomcloud.CssClusterV1NodeConfigArgs{\n\t\t\t\tFlavor: pulumi.String(\"css.medium.8\"),\n\t\t\t\tNetworkInfo: \u0026opentelekomcloud.CssClusterV1NodeConfigNetworkInfoArgs{\n\t\t\t\t\tSecurityGroupId: pulumi.String(secgroup.Id),\n\t\t\t\t\tNetworkId:       pulumi.Any(networkId),\n\t\t\t\t\tVpcId:           pulumi.Any(vpcId),\n\t\t\t\t},\n\t\t\t\tVolume: \u0026opentelekomcloud.CssClusterV1NodeConfigVolumeArgs{\n\t\t\t\t\tVolumeType: pulumi.String(\"COMMON\"),\n\t\t\t\t\tSize:       pulumi.Float64(40),\n\t\t\t\t},\n\t\t\t\tAvailabilityZone: pulumi.Any(availabilityZone),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetNetworkingSecgroupV2Args;\nimport com.pulumi.opentelekomcloud.CssClusterV1;\nimport com.pulumi.opentelekomcloud.CssClusterV1Args;\nimport com.pulumi.opentelekomcloud.inputs.CssClusterV1NodeConfigArgs;\nimport com.pulumi.opentelekomcloud.inputs.CssClusterV1NodeConfigNetworkInfoArgs;\nimport com.pulumi.opentelekomcloud.inputs.CssClusterV1NodeConfigVolumeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var secgroup = OpentelekomcloudFunctions.getNetworkingSecgroupV2(GetNetworkingSecgroupV2Args.builder()\n            .name(securityGroup)\n            .build());\n\n        var cluster = new CssClusterV1(\"cluster\", CssClusterV1Args.builder()\n            .name(\"terraform_test_cluster\")\n            .expectNodeNum(1.0)\n            .nodeConfig(CssClusterV1NodeConfigArgs.builder()\n                .flavor(\"css.medium.8\")\n                .networkInfo(CssClusterV1NodeConfigNetworkInfoArgs.builder()\n                    .securityGroupId(secgroup.id())\n                    .networkId(networkId)\n                    .vpcId(vpcId)\n                    .build())\n                .volume(CssClusterV1NodeConfigVolumeArgs.builder()\n                    .volumeType(\"COMMON\")\n                    .size(40.0)\n                    .build())\n                .availabilityZone(availabilityZone)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  cluster:\n    type: opentelekomcloud:CssClusterV1\n    properties:\n      name: terraform_test_cluster\n      expectNodeNum: 1\n      nodeConfig:\n        flavor: css.medium.8\n        networkInfo:\n          securityGroupId: ${secgroup.id}\n          networkId: ${networkId}\n          vpcId: ${vpcId}\n        volume:\n          volumeType: COMMON\n          size: 40\n        availabilityZone: ${availabilityZone}\nvariables:\n  secgroup:\n    fn::invoke:\n      function: opentelekomcloud:getNetworkingSecgroupV2\n      arguments:\n        name: ${securityGroup}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Creating OpenSearch v1.3.6 with backup strategy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst secgroup = opentelekomcloud.getNetworkingSecgroupV2({\n    name: securityGroup,\n});\nconst cluster = new opentelekomcloud.CssClusterV1(\"cluster\", {\n    name: \"terraform_test_cluster\",\n    expectNodeNum: 1,\n    datastore: {\n        version: \"1.3.6\",\n        type: \"opensearch\",\n    },\n    enableHttps: true,\n    enableAuthority: true,\n    adminPass: \"QwertyUI!\",\n    backupStrategy: {\n        keepDays: 7,\n        startTime: \"00:00 GMT+08:00\",\n        prefix: \"snapshot\",\n    },\n    nodeConfig: {\n        flavor: \"css.medium.8\",\n        networkInfo: {\n            securityGroupId: secgroup.then(secgroup =\u003e secgroup.id),\n            networkId: networkId,\n            vpcId: vpcId,\n        },\n        volume: {\n            volumeType: \"COMMON\",\n            size: 40,\n        },\n        availabilityZone: availabilityZone,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nsecgroup = opentelekomcloud.get_networking_secgroup_v2(name=security_group)\ncluster = opentelekomcloud.CssClusterV1(\"cluster\",\n    name=\"terraform_test_cluster\",\n    expect_node_num=1,\n    datastore={\n        \"version\": \"1.3.6\",\n        \"type\": \"opensearch\",\n    },\n    enable_https=True,\n    enable_authority=True,\n    admin_pass=\"QwertyUI!\",\n    backup_strategy={\n        \"keep_days\": 7,\n        \"start_time\": \"00:00 GMT+08:00\",\n        \"prefix\": \"snapshot\",\n    },\n    node_config={\n        \"flavor\": \"css.medium.8\",\n        \"network_info\": {\n            \"security_group_id\": secgroup.id,\n            \"network_id\": network_id,\n            \"vpc_id\": vpc_id,\n        },\n        \"volume\": {\n            \"volume_type\": \"COMMON\",\n            \"size\": 40,\n        },\n        \"availability_zone\": availability_zone,\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var secgroup = Opentelekomcloud.GetNetworkingSecgroupV2.Invoke(new()\n    {\n        Name = securityGroup,\n    });\n\n    var cluster = new Opentelekomcloud.CssClusterV1(\"cluster\", new()\n    {\n        Name = \"terraform_test_cluster\",\n        ExpectNodeNum = 1,\n        Datastore = new Opentelekomcloud.Inputs.CssClusterV1DatastoreArgs\n        {\n            Version = \"1.3.6\",\n            Type = \"opensearch\",\n        },\n        EnableHttps = true,\n        EnableAuthority = true,\n        AdminPass = \"QwertyUI!\",\n        BackupStrategy = new Opentelekomcloud.Inputs.CssClusterV1BackupStrategyArgs\n        {\n            KeepDays = 7,\n            StartTime = \"00:00 GMT+08:00\",\n            Prefix = \"snapshot\",\n        },\n        NodeConfig = new Opentelekomcloud.Inputs.CssClusterV1NodeConfigArgs\n        {\n            Flavor = \"css.medium.8\",\n            NetworkInfo = new Opentelekomcloud.Inputs.CssClusterV1NodeConfigNetworkInfoArgs\n            {\n                SecurityGroupId = secgroup.Apply(getNetworkingSecgroupV2Result =\u003e getNetworkingSecgroupV2Result.Id),\n                NetworkId = networkId,\n                VpcId = vpcId,\n            },\n            Volume = new Opentelekomcloud.Inputs.CssClusterV1NodeConfigVolumeArgs\n            {\n                VolumeType = \"COMMON\",\n                Size = 40,\n            },\n            AvailabilityZone = availabilityZone,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsecgroup, err := opentelekomcloud.LookupNetworkingSecgroupV2(ctx, \u0026opentelekomcloud.LookupNetworkingSecgroupV2Args{\n\t\t\tName: pulumi.StringRef(securityGroup),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewCssClusterV1(ctx, \"cluster\", \u0026opentelekomcloud.CssClusterV1Args{\n\t\t\tName:          pulumi.String(\"terraform_test_cluster\"),\n\t\t\tExpectNodeNum: pulumi.Float64(1),\n\t\t\tDatastore: \u0026opentelekomcloud.CssClusterV1DatastoreArgs{\n\t\t\t\tVersion: pulumi.String(\"1.3.6\"),\n\t\t\t\tType:    pulumi.String(\"opensearch\"),\n\t\t\t},\n\t\t\tEnableHttps:     pulumi.Bool(true),\n\t\t\tEnableAuthority: pulumi.Bool(true),\n\t\t\tAdminPass:       pulumi.String(\"QwertyUI!\"),\n\t\t\tBackupStrategy: \u0026opentelekomcloud.CssClusterV1BackupStrategyArgs{\n\t\t\t\tKeepDays:  pulumi.Float64(7),\n\t\t\t\tStartTime: pulumi.String(\"00:00 GMT+08:00\"),\n\t\t\t\tPrefix:    pulumi.String(\"snapshot\"),\n\t\t\t},\n\t\t\tNodeConfig: \u0026opentelekomcloud.CssClusterV1NodeConfigArgs{\n\t\t\t\tFlavor: pulumi.String(\"css.medium.8\"),\n\t\t\t\tNetworkInfo: \u0026opentelekomcloud.CssClusterV1NodeConfigNetworkInfoArgs{\n\t\t\t\t\tSecurityGroupId: pulumi.String(secgroup.Id),\n\t\t\t\t\tNetworkId:       pulumi.Any(networkId),\n\t\t\t\t\tVpcId:           pulumi.Any(vpcId),\n\t\t\t\t},\n\t\t\t\tVolume: \u0026opentelekomcloud.CssClusterV1NodeConfigVolumeArgs{\n\t\t\t\t\tVolumeType: pulumi.String(\"COMMON\"),\n\t\t\t\t\tSize:       pulumi.Float64(40),\n\t\t\t\t},\n\t\t\t\tAvailabilityZone: pulumi.Any(availabilityZone),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetNetworkingSecgroupV2Args;\nimport com.pulumi.opentelekomcloud.CssClusterV1;\nimport com.pulumi.opentelekomcloud.CssClusterV1Args;\nimport com.pulumi.opentelekomcloud.inputs.CssClusterV1DatastoreArgs;\nimport com.pulumi.opentelekomcloud.inputs.CssClusterV1BackupStrategyArgs;\nimport com.pulumi.opentelekomcloud.inputs.CssClusterV1NodeConfigArgs;\nimport com.pulumi.opentelekomcloud.inputs.CssClusterV1NodeConfigNetworkInfoArgs;\nimport com.pulumi.opentelekomcloud.inputs.CssClusterV1NodeConfigVolumeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var secgroup = OpentelekomcloudFunctions.getNetworkingSecgroupV2(GetNetworkingSecgroupV2Args.builder()\n            .name(securityGroup)\n            .build());\n\n        var cluster = new CssClusterV1(\"cluster\", CssClusterV1Args.builder()\n            .name(\"terraform_test_cluster\")\n            .expectNodeNum(1.0)\n            .datastore(CssClusterV1DatastoreArgs.builder()\n                .version(\"1.3.6\")\n                .type(\"opensearch\")\n                .build())\n            .enableHttps(true)\n            .enableAuthority(true)\n            .adminPass(\"QwertyUI!\")\n            .backupStrategy(CssClusterV1BackupStrategyArgs.builder()\n                .keepDays(7.0)\n                .startTime(\"00:00 GMT+08:00\")\n                .prefix(\"snapshot\")\n                .build())\n            .nodeConfig(CssClusterV1NodeConfigArgs.builder()\n                .flavor(\"css.medium.8\")\n                .networkInfo(CssClusterV1NodeConfigNetworkInfoArgs.builder()\n                    .securityGroupId(secgroup.id())\n                    .networkId(networkId)\n                    .vpcId(vpcId)\n                    .build())\n                .volume(CssClusterV1NodeConfigVolumeArgs.builder()\n                    .volumeType(\"COMMON\")\n                    .size(40.0)\n                    .build())\n                .availabilityZone(availabilityZone)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  cluster:\n    type: opentelekomcloud:CssClusterV1\n    properties:\n      name: terraform_test_cluster\n      expectNodeNum: 1\n      datastore:\n        version: 1.3.6\n        type: opensearch\n      enableHttps: true\n      enableAuthority: true\n      adminPass: QwertyUI!\n      backupStrategy:\n        keepDays: 7\n        startTime: 00:00 GMT+08:00\n        prefix: snapshot\n      nodeConfig:\n        flavor: css.medium.8\n        networkInfo:\n          securityGroupId: ${secgroup.id}\n          networkId: ${networkId}\n          vpcId: ${vpcId}\n        volume:\n          volumeType: COMMON\n          size: 40\n        availabilityZone: ${availabilityZone}\nvariables:\n  secgroup:\n    fn::invoke:\n      function: opentelekomcloud:getNetworkingSecgroupV2\n      arguments:\n        name: ${securityGroup}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nBackup can be imported using  `cluster_id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/cssClusterV1:CssClusterV1 cluster 5c77b71c-5b35-4f50-8984-76387e42451a\n```\n\n","properties":{"adminPass":{"type":"string","description":"Password of the cluster user admin in security mode.\nThis parameter is mandatory only when \u003cspan pulumi-lang-nodejs=\"`enableAuthority`\" pulumi-lang-dotnet=\"`EnableAuthority`\" pulumi-lang-go=\"`enableAuthority`\" pulumi-lang-python=\"`enable_authority`\" pulumi-lang-yaml=\"`enableAuthority`\" pulumi-lang-java=\"`enableAuthority`\"\u003e`enable_authority`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n~\u003e\nThe administrator password must meet the following requirements: contain \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e characters,\ncontain at least \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e of the following character types: uppercase letters,\nlowercase letters, numbers, and special characters (`~!@#$%^\u0026*()-_=+\\\\|[{}];:,\u003c.\u003e/?`).\n"},"backupAvailable":{"type":"boolean","description":"Indicates whether the snapshot function is enabled.\n"},"backupStrategy":{"$ref":"#/types/opentelekomcloud:index%2FCssClusterV1BackupStrategy:CssClusterV1BackupStrategy","description":"Specifies the advanced backup policy. Structure is documented below.\n"},"created":{"type":"string","description":"Time when a cluster is created. The format is ISO8601: `CCYY-MM-DDThh:mm:ss`.\n"},"cssClusterV1Id":{"type":"string","description":"Instance ID.\n"},"datastore":{"$ref":"#/types/opentelekomcloud:index%2FCssClusterV1Datastore:CssClusterV1Datastore","description":"Type of the data search engine. Structure is documented below.\nChanging this parameter will create a new resource.\n"},"enableAuthority":{"type":"boolean","description":"Whether to enable authentication.\nAuthentication is disabled by default.\nWhen authentication is enabled, \u003cspan pulumi-lang-nodejs=\"`enableHttps`\" pulumi-lang-dotnet=\"`EnableHttps`\" pulumi-lang-go=\"`enableHttps`\" pulumi-lang-python=\"`enable_https`\" pulumi-lang-yaml=\"`enableHttps`\" pulumi-lang-java=\"`enableHttps`\"\u003e`enable_https`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\nChanging this parameter will create a new resource.\n"},"enableHttps":{"type":"boolean","description":"Whether communication encryption is performed on the cluster.\nBy default, communication encryption is disabled.\nValue \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e indicates that communication encryption is performed on the cluster.\nValue \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e indicates that communication encryption is not performed on the cluster.\nChanging this parameter will create a new resource.\n"},"endpoint":{"type":"string","description":"Indicates the IP address and port number of the user used to access the VPC.\n"},"expectNodeNum":{"type":"number","description":"Number of cluster instances. The value range is \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Cluster name. It contains \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e characters. Only letters, digits,\nhyphens (`-`), and underscores (`_`) are allowed. The value must start with a letter.\nChanging this parameter will create a new resource.\n"},"nodeConfig":{"$ref":"#/types/opentelekomcloud:index%2FCssClusterV1NodeConfig:CssClusterV1NodeConfig","description":"Instance object. Structure is documented below.\nChanging this parameter will create a new resource.\n"},"nodes":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCssClusterV1Node:CssClusterV1Node"},"description":"List of node objects. Structure is documented below.\n"},"publicAccess":{"$ref":"#/types/opentelekomcloud:index%2FCssClusterV1PublicAccess:CssClusterV1PublicAccess"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags key/value pairs to associate with the cluster.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCssClusterV1Timeouts:CssClusterV1Timeouts"},"updated":{"type":"string","description":"Last modification time of a cluster. The format is ISO8601: `CCYY-MM-DDThh:mm:ss`.\n"}},"type":"object","required":["backupAvailable","created","cssClusterV1Id","enableAuthority","enableHttps","endpoint","name","nodeConfig","nodes","tags","updated"],"inputProperties":{"adminPass":{"type":"string","description":"Password of the cluster user admin in security mode.\nThis parameter is mandatory only when \u003cspan pulumi-lang-nodejs=\"`enableAuthority`\" pulumi-lang-dotnet=\"`EnableAuthority`\" pulumi-lang-go=\"`enableAuthority`\" pulumi-lang-python=\"`enable_authority`\" pulumi-lang-yaml=\"`enableAuthority`\" pulumi-lang-java=\"`enableAuthority`\"\u003e`enable_authority`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n~\u003e\nThe administrator password must meet the following requirements: contain \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e characters,\ncontain at least \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e of the following character types: uppercase letters,\nlowercase letters, numbers, and special characters (`~!@#$%^\u0026*()-_=+\\\\|[{}];:,\u003c.\u003e/?`).\n"},"backupStrategy":{"$ref":"#/types/opentelekomcloud:index%2FCssClusterV1BackupStrategy:CssClusterV1BackupStrategy","description":"Specifies the advanced backup policy. Structure is documented below.\n"},"cssClusterV1Id":{"type":"string","description":"Instance ID.\n"},"datastore":{"$ref":"#/types/opentelekomcloud:index%2FCssClusterV1Datastore:CssClusterV1Datastore","description":"Type of the data search engine. Structure is documented below.\nChanging this parameter will create a new resource.\n"},"enableAuthority":{"type":"boolean","description":"Whether to enable authentication.\nAuthentication is disabled by default.\nWhen authentication is enabled, \u003cspan pulumi-lang-nodejs=\"`enableHttps`\" pulumi-lang-dotnet=\"`EnableHttps`\" pulumi-lang-go=\"`enableHttps`\" pulumi-lang-python=\"`enable_https`\" pulumi-lang-yaml=\"`enableHttps`\" pulumi-lang-java=\"`enableHttps`\"\u003e`enable_https`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\nChanging this parameter will create a new resource.\n"},"enableHttps":{"type":"boolean","description":"Whether communication encryption is performed on the cluster.\nBy default, communication encryption is disabled.\nValue \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e indicates that communication encryption is performed on the cluster.\nValue \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e indicates that communication encryption is not performed on the cluster.\nChanging this parameter will create a new resource.\n"},"expectNodeNum":{"type":"number","description":"Number of cluster instances. The value range is \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Cluster name. It contains \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e characters. Only letters, digits,\nhyphens (`-`), and underscores (`_`) are allowed. The value must start with a letter.\nChanging this parameter will create a new resource.\n"},"nodeConfig":{"$ref":"#/types/opentelekomcloud:index%2FCssClusterV1NodeConfig:CssClusterV1NodeConfig","description":"Instance object. Structure is documented below.\nChanging this parameter will create a new resource.\n"},"publicAccess":{"$ref":"#/types/opentelekomcloud:index%2FCssClusterV1PublicAccess:CssClusterV1PublicAccess"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags key/value pairs to associate with the cluster.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCssClusterV1Timeouts:CssClusterV1Timeouts"}},"requiredInputs":["nodeConfig"],"stateInputs":{"description":"Input properties used for looking up and filtering CssClusterV1 resources.\n","properties":{"adminPass":{"type":"string","description":"Password of the cluster user admin in security mode.\nThis parameter is mandatory only when \u003cspan pulumi-lang-nodejs=\"`enableAuthority`\" pulumi-lang-dotnet=\"`EnableAuthority`\" pulumi-lang-go=\"`enableAuthority`\" pulumi-lang-python=\"`enable_authority`\" pulumi-lang-yaml=\"`enableAuthority`\" pulumi-lang-java=\"`enableAuthority`\"\u003e`enable_authority`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n~\u003e\nThe administrator password must meet the following requirements: contain \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e characters,\ncontain at least \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e of the following character types: uppercase letters,\nlowercase letters, numbers, and special characters (`~!@#$%^\u0026*()-_=+\\\\|[{}];:,\u003c.\u003e/?`).\n"},"backupAvailable":{"type":"boolean","description":"Indicates whether the snapshot function is enabled.\n"},"backupStrategy":{"$ref":"#/types/opentelekomcloud:index%2FCssClusterV1BackupStrategy:CssClusterV1BackupStrategy","description":"Specifies the advanced backup policy. Structure is documented below.\n"},"created":{"type":"string","description":"Time when a cluster is created. The format is ISO8601: `CCYY-MM-DDThh:mm:ss`.\n"},"cssClusterV1Id":{"type":"string","description":"Instance ID.\n"},"datastore":{"$ref":"#/types/opentelekomcloud:index%2FCssClusterV1Datastore:CssClusterV1Datastore","description":"Type of the data search engine. Structure is documented below.\nChanging this parameter will create a new resource.\n"},"enableAuthority":{"type":"boolean","description":"Whether to enable authentication.\nAuthentication is disabled by default.\nWhen authentication is enabled, \u003cspan pulumi-lang-nodejs=\"`enableHttps`\" pulumi-lang-dotnet=\"`EnableHttps`\" pulumi-lang-go=\"`enableHttps`\" pulumi-lang-python=\"`enable_https`\" pulumi-lang-yaml=\"`enableHttps`\" pulumi-lang-java=\"`enableHttps`\"\u003e`enable_https`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\nChanging this parameter will create a new resource.\n"},"enableHttps":{"type":"boolean","description":"Whether communication encryption is performed on the cluster.\nBy default, communication encryption is disabled.\nValue \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e indicates that communication encryption is performed on the cluster.\nValue \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e indicates that communication encryption is not performed on the cluster.\nChanging this parameter will create a new resource.\n"},"endpoint":{"type":"string","description":"Indicates the IP address and port number of the user used to access the VPC.\n"},"expectNodeNum":{"type":"number","description":"Number of cluster instances. The value range is \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Cluster name. It contains \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e characters. Only letters, digits,\nhyphens (`-`), and underscores (`_`) are allowed. The value must start with a letter.\nChanging this parameter will create a new resource.\n"},"nodeConfig":{"$ref":"#/types/opentelekomcloud:index%2FCssClusterV1NodeConfig:CssClusterV1NodeConfig","description":"Instance object. Structure is documented below.\nChanging this parameter will create a new resource.\n"},"nodes":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCssClusterV1Node:CssClusterV1Node"},"description":"List of node objects. Structure is documented below.\n"},"publicAccess":{"$ref":"#/types/opentelekomcloud:index%2FCssClusterV1PublicAccess:CssClusterV1PublicAccess"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags key/value pairs to associate with the cluster.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCssClusterV1Timeouts:CssClusterV1Timeouts"},"updated":{"type":"string","description":"Last modification time of a cluster. The format is ISO8601: `CCYY-MM-DDThh:mm:ss`.\n"}},"type":"object"}},"opentelekomcloud:index/cssConfigurationV1:CssConfigurationV1":{"description":"Up-to-date reference for API arguments and details can be found at the [documentation portal](https://docs.otc.t-systems.com/cloud-search-service/api-ref/parameter_configuration/index.html).\n\nManage the configuration settings of a CSS cluster in OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst example = new opentelekomcloud.CssConfigurationV1(\"example\", {\n    clusterId: \"your-cluster-id\",\n    httpCorsAllowCredentials: \"true\",\n    httpCorsAllowOrigin: \"122.122.122.122:9200\",\n    indicesQueriesCacheSize: \"50\",\n    autoCreateIndex: \"true\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nexample = opentelekomcloud.CssConfigurationV1(\"example\",\n    cluster_id=\"your-cluster-id\",\n    http_cors_allow_credentials=\"true\",\n    http_cors_allow_origin=\"122.122.122.122:9200\",\n    indices_queries_cache_size=\"50\",\n    auto_create_index=\"true\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Opentelekomcloud.CssConfigurationV1(\"example\", new()\n    {\n        ClusterId = \"your-cluster-id\",\n        HttpCorsAllowCredentials = \"true\",\n        HttpCorsAllowOrigin = \"122.122.122.122:9200\",\n        IndicesQueriesCacheSize = \"50\",\n        AutoCreateIndex = \"true\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewCssConfigurationV1(ctx, \"example\", \u0026opentelekomcloud.CssConfigurationV1Args{\n\t\t\tClusterId:                pulumi.String(\"your-cluster-id\"),\n\t\t\tHttpCorsAllowCredentials: pulumi.String(\"true\"),\n\t\t\tHttpCorsAllowOrigin:      pulumi.String(\"122.122.122.122:9200\"),\n\t\t\tIndicesQueriesCacheSize:  pulumi.String(\"50\"),\n\t\t\tAutoCreateIndex:          pulumi.String(\"true\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.CssConfigurationV1;\nimport com.pulumi.opentelekomcloud.CssConfigurationV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new CssConfigurationV1(\"example\", CssConfigurationV1Args.builder()\n            .clusterId(\"your-cluster-id\")\n            .httpCorsAllowCredentials(\"true\")\n            .httpCorsAllowOrigin(\"122.122.122.122:9200\")\n            .indicesQueriesCacheSize(\"50\")\n            .autoCreateIndex(\"true\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: opentelekomcloud:CssConfigurationV1\n    properties:\n      clusterId: your-cluster-id\n      httpCorsAllowCredentials: 'true'\n      httpCorsAllowOrigin: 122.122.122.122:9200\n      indicesQueriesCacheSize: '50'\n      autoCreateIndex: 'true'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe CSS configuration can be imported using the `id` which equals the `cluster_id`, e.g.\n\nbash\n\n```sh\n$ pulumi import opentelekomcloud:index/cssConfigurationV1:CssConfigurationV1 test \u003cid\u003e\n```\n\n","properties":{"autoCreateIndex":{"type":"string","description":"Whether to auto-create an index.\nThe value can be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"clusterId":{"type":"string","description":"The CSS cluster ID.\n\nChanging this parameter will create a new resource.\n"},"cssConfigurationV1Id":{"type":"string","description":"The resource ID which equals the \u003cspan pulumi-lang-nodejs=\"`clusterId`\" pulumi-lang-dotnet=\"`ClusterId`\" pulumi-lang-go=\"`clusterId`\" pulumi-lang-python=\"`cluster_id`\" pulumi-lang-yaml=\"`clusterId`\" pulumi-lang-java=\"`clusterId`\"\u003e`cluster_id`\u003c/span\u003e.\n"},"httpCorsAllowCredentials":{"type":"string","description":"Whether to return the Access-Control-Allow-Credentials of the header during cross-domain access."},"httpCorsAllowHeaders":{"type":"string","description":"Headers allowed for cross-domain access.\nIncluding `X-Requested-With`, `Content-Type`, and `Content-Length`.\nUse commas (,) and spaces to separate headers.\n"},"httpCorsAllowMethods":{"type":"string","description":"Methods allowed for cross-domain access.\nIncluding `OPTIONS`, `HEAD`, `GET`, `POST`, `PUT`, and `DELETE`.\nUse commas (,) and spaces to separate methods.\n"},"httpCorsAllowOrigin":{"type":"string","description":"Origin IP address allowed for cross-domain access, for example, `122.122.122.122:9200`.\n"},"httpCorsEnabled":{"type":"string","description":"Whether to allow cross-domain access.\nThe value can be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Default value: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"httpCorsMaxAge":{"type":"string","description":"Cache duration of the browser. The cache is automatically cleared\nafter the time range you specify.\nUnit: s, Default value: `1,728,000`.\n"},"indicesQueriesCacheSize":{"type":"string","description":"Cache size in the query phase. Value range: `1%` to `100%`.\nUnit: %, Default value: `10%`.\n"},"region":{"type":"string","description":"The region where the CSS cluster is deployed.\n"},"reindexRemoteWhitelist":{"type":"string","description":"Configured for migrating data from the current cluster to\nthe target cluster through the reindex API.\nThe example value is `122.122.122.122:9200`.\n"},"threadPoolForceMergeSize":{"type":"string","description":"Queue size in the force merge thread pool.\nDefault value: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCssConfigurationV1Timeouts:CssConfigurationV1Timeouts"}},"type":"object","required":["autoCreateIndex","clusterId","cssConfigurationV1Id","httpCorsAllowCredentials","httpCorsAllowHeaders","httpCorsAllowMethods","httpCorsAllowOrigin","httpCorsEnabled","httpCorsMaxAge","indicesQueriesCacheSize","region","reindexRemoteWhitelist","threadPoolForceMergeSize"],"inputProperties":{"autoCreateIndex":{"type":"string","description":"Whether to auto-create an index.\nThe value can be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"clusterId":{"type":"string","description":"The CSS cluster ID.\n\nChanging this parameter will create a new resource.\n"},"cssConfigurationV1Id":{"type":"string","description":"The resource ID which equals the \u003cspan pulumi-lang-nodejs=\"`clusterId`\" pulumi-lang-dotnet=\"`ClusterId`\" pulumi-lang-go=\"`clusterId`\" pulumi-lang-python=\"`cluster_id`\" pulumi-lang-yaml=\"`clusterId`\" pulumi-lang-java=\"`clusterId`\"\u003e`cluster_id`\u003c/span\u003e.\n"},"httpCorsAllowCredentials":{"type":"string","description":"Whether to return the Access-Control-Allow-Credentials of the header during cross-domain access."},"httpCorsAllowHeaders":{"type":"string","description":"Headers allowed for cross-domain access.\nIncluding `X-Requested-With`, `Content-Type`, and `Content-Length`.\nUse commas (,) and spaces to separate headers.\n"},"httpCorsAllowMethods":{"type":"string","description":"Methods allowed for cross-domain access.\nIncluding `OPTIONS`, `HEAD`, `GET`, `POST`, `PUT`, and `DELETE`.\nUse commas (,) and spaces to separate methods.\n"},"httpCorsAllowOrigin":{"type":"string","description":"Origin IP address allowed for cross-domain access, for example, `122.122.122.122:9200`.\n"},"httpCorsEnabled":{"type":"string","description":"Whether to allow cross-domain access.\nThe value can be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Default value: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"httpCorsMaxAge":{"type":"string","description":"Cache duration of the browser. The cache is automatically cleared\nafter the time range you specify.\nUnit: s, Default value: `1,728,000`.\n"},"indicesQueriesCacheSize":{"type":"string","description":"Cache size in the query phase. Value range: `1%` to `100%`.\nUnit: %, Default value: `10%`.\n"},"reindexRemoteWhitelist":{"type":"string","description":"Configured for migrating data from the current cluster to\nthe target cluster through the reindex API.\nThe example value is `122.122.122.122:9200`.\n"},"threadPoolForceMergeSize":{"type":"string","description":"Queue size in the force merge thread pool.\nDefault value: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCssConfigurationV1Timeouts:CssConfigurationV1Timeouts"}},"requiredInputs":["clusterId"],"stateInputs":{"description":"Input properties used for looking up and filtering CssConfigurationV1 resources.\n","properties":{"autoCreateIndex":{"type":"string","description":"Whether to auto-create an index.\nThe value can be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"clusterId":{"type":"string","description":"The CSS cluster ID.\n\nChanging this parameter will create a new resource.\n"},"cssConfigurationV1Id":{"type":"string","description":"The resource ID which equals the \u003cspan pulumi-lang-nodejs=\"`clusterId`\" pulumi-lang-dotnet=\"`ClusterId`\" pulumi-lang-go=\"`clusterId`\" pulumi-lang-python=\"`cluster_id`\" pulumi-lang-yaml=\"`clusterId`\" pulumi-lang-java=\"`clusterId`\"\u003e`cluster_id`\u003c/span\u003e.\n"},"httpCorsAllowCredentials":{"type":"string","description":"Whether to return the Access-Control-Allow-Credentials of the header during cross-domain access."},"httpCorsAllowHeaders":{"type":"string","description":"Headers allowed for cross-domain access.\nIncluding `X-Requested-With`, `Content-Type`, and `Content-Length`.\nUse commas (,) and spaces to separate headers.\n"},"httpCorsAllowMethods":{"type":"string","description":"Methods allowed for cross-domain access.\nIncluding `OPTIONS`, `HEAD`, `GET`, `POST`, `PUT`, and `DELETE`.\nUse commas (,) and spaces to separate methods.\n"},"httpCorsAllowOrigin":{"type":"string","description":"Origin IP address allowed for cross-domain access, for example, `122.122.122.122:9200`.\n"},"httpCorsEnabled":{"type":"string","description":"Whether to allow cross-domain access.\nThe value can be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Default value: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"httpCorsMaxAge":{"type":"string","description":"Cache duration of the browser. The cache is automatically cleared\nafter the time range you specify.\nUnit: s, Default value: `1,728,000`.\n"},"indicesQueriesCacheSize":{"type":"string","description":"Cache size in the query phase. Value range: `1%` to `100%`.\nUnit: %, Default value: `10%`.\n"},"region":{"type":"string","description":"The region where the CSS cluster is deployed.\n"},"reindexRemoteWhitelist":{"type":"string","description":"Configured for migrating data from the current cluster to\nthe target cluster through the reindex API.\nThe example value is `122.122.122.122:9200`.\n"},"threadPoolForceMergeSize":{"type":"string","description":"Queue size in the force merge thread pool.\nDefault value: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCssConfigurationV1Timeouts:CssConfigurationV1Timeouts"}},"type":"object"}},"opentelekomcloud:index/cssSnapshotConfigurationV1:CssSnapshotConfigurationV1":{"description":"Up-to-date reference of API arguments for CSS snapshot you can get at\n[documentation portal](https://docs.otc.t-systems.com/cloud-search-service/api-ref/snapshot_management_apis)\n\nManages a CSS configuration of automatic snapshot creation.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst secgroup = opentelekomcloud.getNetworkingSecgroupV2({\n    name: securityGroup,\n});\nconst cluster = new opentelekomcloud.CssClusterV1(\"cluster\", {\n    name: \"terraform_test_cluster\",\n    expectNodeNum: 1,\n    nodeConfig: {\n        flavor: \"css.medium.8\",\n        networkInfo: {\n            securityGroupId: secgroup.then(secgroup =\u003e secgroup.id),\n            networkId: networkId,\n            vpcId: vpcId,\n        },\n        volume: {\n            volumeType: \"COMMON\",\n            size: 40,\n        },\n        availabilityZone: availabilityZone,\n    },\n});\nconst bucket = new opentelekomcloud.ObsBucket(\"bucket\", {\n    bucket: \"tf-snap-testing\",\n    forceDestroy: true,\n});\nconst config = new opentelekomcloud.CssSnapshotConfigurationV1(\"config\", {\n    clusterId: cluster.cssClusterV1Id,\n    configuration: {\n        bucket: bucket.bucket,\n        agency: \"css_obs_agency\",\n        basePath: \"css/snapshot\",\n    },\n    creationPolicy: {\n        prefix: \"snapshot\",\n        period: \"00:00 GMT+03:00\",\n        keepday: 2,\n        enable: true,\n        deleteAuto: true,\n        frequency: \"DAY\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nsecgroup = opentelekomcloud.get_networking_secgroup_v2(name=security_group)\ncluster = opentelekomcloud.CssClusterV1(\"cluster\",\n    name=\"terraform_test_cluster\",\n    expect_node_num=1,\n    node_config={\n        \"flavor\": \"css.medium.8\",\n        \"network_info\": {\n            \"security_group_id\": secgroup.id,\n            \"network_id\": network_id,\n            \"vpc_id\": vpc_id,\n        },\n        \"volume\": {\n            \"volume_type\": \"COMMON\",\n            \"size\": 40,\n        },\n        \"availability_zone\": availability_zone,\n    })\nbucket = opentelekomcloud.ObsBucket(\"bucket\",\n    bucket=\"tf-snap-testing\",\n    force_destroy=True)\nconfig = opentelekomcloud.CssSnapshotConfigurationV1(\"config\",\n    cluster_id=cluster.css_cluster_v1_id,\n    configuration={\n        \"bucket\": bucket.bucket,\n        \"agency\": \"css_obs_agency\",\n        \"base_path\": \"css/snapshot\",\n    },\n    creation_policy={\n        \"prefix\": \"snapshot\",\n        \"period\": \"00:00 GMT+03:00\",\n        \"keepday\": 2,\n        \"enable\": True,\n        \"delete_auto\": True,\n        \"frequency\": \"DAY\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var secgroup = Opentelekomcloud.GetNetworkingSecgroupV2.Invoke(new()\n    {\n        Name = securityGroup,\n    });\n\n    var cluster = new Opentelekomcloud.CssClusterV1(\"cluster\", new()\n    {\n        Name = \"terraform_test_cluster\",\n        ExpectNodeNum = 1,\n        NodeConfig = new Opentelekomcloud.Inputs.CssClusterV1NodeConfigArgs\n        {\n            Flavor = \"css.medium.8\",\n            NetworkInfo = new Opentelekomcloud.Inputs.CssClusterV1NodeConfigNetworkInfoArgs\n            {\n                SecurityGroupId = secgroup.Apply(getNetworkingSecgroupV2Result =\u003e getNetworkingSecgroupV2Result.Id),\n                NetworkId = networkId,\n                VpcId = vpcId,\n            },\n            Volume = new Opentelekomcloud.Inputs.CssClusterV1NodeConfigVolumeArgs\n            {\n                VolumeType = \"COMMON\",\n                Size = 40,\n            },\n            AvailabilityZone = availabilityZone,\n        },\n    });\n\n    var bucket = new Opentelekomcloud.ObsBucket(\"bucket\", new()\n    {\n        Bucket = \"tf-snap-testing\",\n        ForceDestroy = true,\n    });\n\n    var config = new Opentelekomcloud.CssSnapshotConfigurationV1(\"config\", new()\n    {\n        ClusterId = cluster.CssClusterV1Id,\n        Configuration = new Opentelekomcloud.Inputs.CssSnapshotConfigurationV1ConfigurationArgs\n        {\n            Bucket = bucket.Bucket,\n            Agency = \"css_obs_agency\",\n            BasePath = \"css/snapshot\",\n        },\n        CreationPolicy = new Opentelekomcloud.Inputs.CssSnapshotConfigurationV1CreationPolicyArgs\n        {\n            Prefix = \"snapshot\",\n            Period = \"00:00 GMT+03:00\",\n            Keepday = 2,\n            Enable = true,\n            DeleteAuto = true,\n            Frequency = \"DAY\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsecgroup, err := opentelekomcloud.LookupNetworkingSecgroupV2(ctx, \u0026opentelekomcloud.LookupNetworkingSecgroupV2Args{\n\t\t\tName: pulumi.StringRef(securityGroup),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcluster, err := opentelekomcloud.NewCssClusterV1(ctx, \"cluster\", \u0026opentelekomcloud.CssClusterV1Args{\n\t\t\tName:          pulumi.String(\"terraform_test_cluster\"),\n\t\t\tExpectNodeNum: pulumi.Float64(1),\n\t\t\tNodeConfig: \u0026opentelekomcloud.CssClusterV1NodeConfigArgs{\n\t\t\t\tFlavor: pulumi.String(\"css.medium.8\"),\n\t\t\t\tNetworkInfo: \u0026opentelekomcloud.CssClusterV1NodeConfigNetworkInfoArgs{\n\t\t\t\t\tSecurityGroupId: pulumi.String(secgroup.Id),\n\t\t\t\t\tNetworkId:       pulumi.Any(networkId),\n\t\t\t\t\tVpcId:           pulumi.Any(vpcId),\n\t\t\t\t},\n\t\t\t\tVolume: \u0026opentelekomcloud.CssClusterV1NodeConfigVolumeArgs{\n\t\t\t\t\tVolumeType: pulumi.String(\"COMMON\"),\n\t\t\t\t\tSize:       pulumi.Float64(40),\n\t\t\t\t},\n\t\t\t\tAvailabilityZone: pulumi.Any(availabilityZone),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbucket, err := opentelekomcloud.NewObsBucket(ctx, \"bucket\", \u0026opentelekomcloud.ObsBucketArgs{\n\t\t\tBucket:       pulumi.String(\"tf-snap-testing\"),\n\t\t\tForceDestroy: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewCssSnapshotConfigurationV1(ctx, \"config\", \u0026opentelekomcloud.CssSnapshotConfigurationV1Args{\n\t\t\tClusterId: cluster.CssClusterV1Id,\n\t\t\tConfiguration: \u0026opentelekomcloud.CssSnapshotConfigurationV1ConfigurationArgs{\n\t\t\t\tBucket:   bucket.Bucket,\n\t\t\t\tAgency:   pulumi.String(\"css_obs_agency\"),\n\t\t\t\tBasePath: pulumi.String(\"css/snapshot\"),\n\t\t\t},\n\t\t\tCreationPolicy: \u0026opentelekomcloud.CssSnapshotConfigurationV1CreationPolicyArgs{\n\t\t\t\tPrefix:     pulumi.String(\"snapshot\"),\n\t\t\t\tPeriod:     pulumi.String(\"00:00 GMT+03:00\"),\n\t\t\t\tKeepday:    pulumi.Float64(2),\n\t\t\t\tEnable:     pulumi.Bool(true),\n\t\t\t\tDeleteAuto: pulumi.Bool(true),\n\t\t\t\tFrequency:  pulumi.String(\"DAY\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetNetworkingSecgroupV2Args;\nimport com.pulumi.opentelekomcloud.CssClusterV1;\nimport com.pulumi.opentelekomcloud.CssClusterV1Args;\nimport com.pulumi.opentelekomcloud.inputs.CssClusterV1NodeConfigArgs;\nimport com.pulumi.opentelekomcloud.inputs.CssClusterV1NodeConfigNetworkInfoArgs;\nimport com.pulumi.opentelekomcloud.inputs.CssClusterV1NodeConfigVolumeArgs;\nimport com.pulumi.opentelekomcloud.ObsBucket;\nimport com.pulumi.opentelekomcloud.ObsBucketArgs;\nimport com.pulumi.opentelekomcloud.CssSnapshotConfigurationV1;\nimport com.pulumi.opentelekomcloud.CssSnapshotConfigurationV1Args;\nimport com.pulumi.opentelekomcloud.inputs.CssSnapshotConfigurationV1ConfigurationArgs;\nimport com.pulumi.opentelekomcloud.inputs.CssSnapshotConfigurationV1CreationPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var secgroup = OpentelekomcloudFunctions.getNetworkingSecgroupV2(GetNetworkingSecgroupV2Args.builder()\n            .name(securityGroup)\n            .build());\n\n        var cluster = new CssClusterV1(\"cluster\", CssClusterV1Args.builder()\n            .name(\"terraform_test_cluster\")\n            .expectNodeNum(1.0)\n            .nodeConfig(CssClusterV1NodeConfigArgs.builder()\n                .flavor(\"css.medium.8\")\n                .networkInfo(CssClusterV1NodeConfigNetworkInfoArgs.builder()\n                    .securityGroupId(secgroup.id())\n                    .networkId(networkId)\n                    .vpcId(vpcId)\n                    .build())\n                .volume(CssClusterV1NodeConfigVolumeArgs.builder()\n                    .volumeType(\"COMMON\")\n                    .size(40.0)\n                    .build())\n                .availabilityZone(availabilityZone)\n                .build())\n            .build());\n\n        var bucket = new ObsBucket(\"bucket\", ObsBucketArgs.builder()\n            .bucket(\"tf-snap-testing\")\n            .forceDestroy(true)\n            .build());\n\n        var config = new CssSnapshotConfigurationV1(\"config\", CssSnapshotConfigurationV1Args.builder()\n            .clusterId(cluster.cssClusterV1Id())\n            .configuration(CssSnapshotConfigurationV1ConfigurationArgs.builder()\n                .bucket(bucket.bucket())\n                .agency(\"css_obs_agency\")\n                .basePath(\"css/snapshot\")\n                .build())\n            .creationPolicy(CssSnapshotConfigurationV1CreationPolicyArgs.builder()\n                .prefix(\"snapshot\")\n                .period(\"00:00 GMT+03:00\")\n                .keepday(2.0)\n                .enable(true)\n                .deleteAuto(true)\n                .frequency(\"DAY\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  cluster:\n    type: opentelekomcloud:CssClusterV1\n    properties:\n      name: terraform_test_cluster\n      expectNodeNum: 1\n      nodeConfig:\n        flavor: css.medium.8\n        networkInfo:\n          securityGroupId: ${secgroup.id}\n          networkId: ${networkId}\n          vpcId: ${vpcId}\n        volume:\n          volumeType: COMMON\n          size: 40\n        availabilityZone: ${availabilityZone}\n  bucket:\n    type: opentelekomcloud:ObsBucket\n    properties:\n      bucket: tf-snap-testing\n      forceDestroy: true\n  config:\n    type: opentelekomcloud:CssSnapshotConfigurationV1\n    properties:\n      clusterId: ${cluster.cssClusterV1Id}\n      configuration:\n        bucket: ${bucket.bucket}\n        agency: css_obs_agency\n        basePath: css/snapshot\n      creationPolicy:\n        prefix: snapshot\n        period: 00:00 GMT+03:00\n        keepday: 2\n        enable: true\n        deleteAuto: true\n        frequency: DAY\nvariables:\n  secgroup:\n    fn::invoke:\n      function: opentelekomcloud:getNetworkingSecgroupV2\n      arguments:\n        name: ${securityGroup}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"automatic":{"type":"boolean","description":"Use automatic configuration for CCS cluster screenshots.\nMutually exclusive with \u003cspan pulumi-lang-nodejs=\"`configuration`\" pulumi-lang-dotnet=\"`Configuration`\" pulumi-lang-go=\"`configuration`\" pulumi-lang-python=\"`configuration`\" pulumi-lang-yaml=\"`configuration`\" pulumi-lang-java=\"`configuration`\"\u003e`configuration`\u003c/span\u003e/\u003cspan pulumi-lang-nodejs=\"`creationPolicy`\" pulumi-lang-dotnet=\"`CreationPolicy`\" pulumi-lang-go=\"`creationPolicy`\" pulumi-lang-python=\"`creation_policy`\" pulumi-lang-yaml=\"`creationPolicy`\" pulumi-lang-java=\"`creationPolicy`\"\u003e`creation_policy`\u003c/span\u003e.\n"},"clusterId":{"type":"string","description":"ID of the CSS cluster.\n"},"configuration":{"$ref":"#/types/opentelekomcloud:index%2FCssSnapshotConfigurationV1Configuration:CssSnapshotConfigurationV1Configuration","description":"The basic configurations of a cluster snapshot. Structure is documented below.\nMutually exclusive with \u003cspan pulumi-lang-nodejs=\"`automatic`\" pulumi-lang-dotnet=\"`Automatic`\" pulumi-lang-go=\"`automatic`\" pulumi-lang-python=\"`automatic`\" pulumi-lang-yaml=\"`automatic`\" pulumi-lang-java=\"`automatic`\"\u003e`automatic`\u003c/span\u003e.\n"},"creationPolicy":{"$ref":"#/types/opentelekomcloud:index%2FCssSnapshotConfigurationV1CreationPolicy:CssSnapshotConfigurationV1CreationPolicy","description":"Parameters related to automatic snapshot creation. Structure is documented below.\nMutually exclusive with \u003cspan pulumi-lang-nodejs=\"`automatic`\" pulumi-lang-dotnet=\"`Automatic`\" pulumi-lang-go=\"`automatic`\" pulumi-lang-python=\"`automatic`\" pulumi-lang-yaml=\"`automatic`\" pulumi-lang-java=\"`automatic`\"\u003e`automatic`\u003c/span\u003e.\n"},"cssSnapshotConfigurationV1Id":{"type":"string"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCssSnapshotConfigurationV1Timeouts:CssSnapshotConfigurationV1Timeouts"}},"type":"object","required":["clusterId","cssSnapshotConfigurationV1Id"],"inputProperties":{"automatic":{"type":"boolean","description":"Use automatic configuration for CCS cluster screenshots.\nMutually exclusive with \u003cspan pulumi-lang-nodejs=\"`configuration`\" pulumi-lang-dotnet=\"`Configuration`\" pulumi-lang-go=\"`configuration`\" pulumi-lang-python=\"`configuration`\" pulumi-lang-yaml=\"`configuration`\" pulumi-lang-java=\"`configuration`\"\u003e`configuration`\u003c/span\u003e/\u003cspan pulumi-lang-nodejs=\"`creationPolicy`\" pulumi-lang-dotnet=\"`CreationPolicy`\" pulumi-lang-go=\"`creationPolicy`\" pulumi-lang-python=\"`creation_policy`\" pulumi-lang-yaml=\"`creationPolicy`\" pulumi-lang-java=\"`creationPolicy`\"\u003e`creation_policy`\u003c/span\u003e.\n"},"clusterId":{"type":"string","description":"ID of the CSS cluster.\n"},"configuration":{"$ref":"#/types/opentelekomcloud:index%2FCssSnapshotConfigurationV1Configuration:CssSnapshotConfigurationV1Configuration","description":"The basic configurations of a cluster snapshot. Structure is documented below.\nMutually exclusive with \u003cspan pulumi-lang-nodejs=\"`automatic`\" pulumi-lang-dotnet=\"`Automatic`\" pulumi-lang-go=\"`automatic`\" pulumi-lang-python=\"`automatic`\" pulumi-lang-yaml=\"`automatic`\" pulumi-lang-java=\"`automatic`\"\u003e`automatic`\u003c/span\u003e.\n"},"creationPolicy":{"$ref":"#/types/opentelekomcloud:index%2FCssSnapshotConfigurationV1CreationPolicy:CssSnapshotConfigurationV1CreationPolicy","description":"Parameters related to automatic snapshot creation. Structure is documented below.\nMutually exclusive with \u003cspan pulumi-lang-nodejs=\"`automatic`\" pulumi-lang-dotnet=\"`Automatic`\" pulumi-lang-go=\"`automatic`\" pulumi-lang-python=\"`automatic`\" pulumi-lang-yaml=\"`automatic`\" pulumi-lang-java=\"`automatic`\"\u003e`automatic`\u003c/span\u003e.\n"},"cssSnapshotConfigurationV1Id":{"type":"string"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCssSnapshotConfigurationV1Timeouts:CssSnapshotConfigurationV1Timeouts"}},"requiredInputs":["clusterId"],"stateInputs":{"description":"Input properties used for looking up and filtering CssSnapshotConfigurationV1 resources.\n","properties":{"automatic":{"type":"boolean","description":"Use automatic configuration for CCS cluster screenshots.\nMutually exclusive with \u003cspan pulumi-lang-nodejs=\"`configuration`\" pulumi-lang-dotnet=\"`Configuration`\" pulumi-lang-go=\"`configuration`\" pulumi-lang-python=\"`configuration`\" pulumi-lang-yaml=\"`configuration`\" pulumi-lang-java=\"`configuration`\"\u003e`configuration`\u003c/span\u003e/\u003cspan pulumi-lang-nodejs=\"`creationPolicy`\" pulumi-lang-dotnet=\"`CreationPolicy`\" pulumi-lang-go=\"`creationPolicy`\" pulumi-lang-python=\"`creation_policy`\" pulumi-lang-yaml=\"`creationPolicy`\" pulumi-lang-java=\"`creationPolicy`\"\u003e`creation_policy`\u003c/span\u003e.\n"},"clusterId":{"type":"string","description":"ID of the CSS cluster.\n"},"configuration":{"$ref":"#/types/opentelekomcloud:index%2FCssSnapshotConfigurationV1Configuration:CssSnapshotConfigurationV1Configuration","description":"The basic configurations of a cluster snapshot. Structure is documented below.\nMutually exclusive with \u003cspan pulumi-lang-nodejs=\"`automatic`\" pulumi-lang-dotnet=\"`Automatic`\" pulumi-lang-go=\"`automatic`\" pulumi-lang-python=\"`automatic`\" pulumi-lang-yaml=\"`automatic`\" pulumi-lang-java=\"`automatic`\"\u003e`automatic`\u003c/span\u003e.\n"},"creationPolicy":{"$ref":"#/types/opentelekomcloud:index%2FCssSnapshotConfigurationV1CreationPolicy:CssSnapshotConfigurationV1CreationPolicy","description":"Parameters related to automatic snapshot creation. Structure is documented below.\nMutually exclusive with \u003cspan pulumi-lang-nodejs=\"`automatic`\" pulumi-lang-dotnet=\"`Automatic`\" pulumi-lang-go=\"`automatic`\" pulumi-lang-python=\"`automatic`\" pulumi-lang-yaml=\"`automatic`\" pulumi-lang-java=\"`automatic`\"\u003e`automatic`\u003c/span\u003e.\n"},"cssSnapshotConfigurationV1Id":{"type":"string"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCssSnapshotConfigurationV1Timeouts:CssSnapshotConfigurationV1Timeouts"}},"type":"object"}},"opentelekomcloud:index/ctsEventNotificationV3:CtsEventNotificationV3":{"description":"Up-to-date reference of API arguments for CTS event notification you can get at\n[documentation portal](https://docs.otc.t-systems.com/cloud-trace-service/api-ref/api_description/key_event_notification_management)\n\nAllows to send SMS, email, or HTTP/HTTPS notifications through pre-configured SMN topics to subscribers.\n\n## Example Usage\n\n### Event notification which delivers every tenant action to subscribers\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst topic1 = new opentelekomcloud.SmnTopicV2(\"topic_1\", {name: \"topic_1\"});\nconst notificationV3 = new opentelekomcloud.CtsEventNotificationV3(\"notification_v3\", {\n    notificationName: \"my_notification\",\n    operationType: \"complete\",\n    topicId: topic1.smnTopicV2Id,\n    status: \"enabled\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ntopic1 = opentelekomcloud.SmnTopicV2(\"topic_1\", name=\"topic_1\")\nnotification_v3 = opentelekomcloud.CtsEventNotificationV3(\"notification_v3\",\n    notification_name=\"my_notification\",\n    operation_type=\"complete\",\n    topic_id=topic1.smn_topic_v2_id,\n    status=\"enabled\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var topic1 = new Opentelekomcloud.SmnTopicV2(\"topic_1\", new()\n    {\n        Name = \"topic_1\",\n    });\n\n    var notificationV3 = new Opentelekomcloud.CtsEventNotificationV3(\"notification_v3\", new()\n    {\n        NotificationName = \"my_notification\",\n        OperationType = \"complete\",\n        TopicId = topic1.SmnTopicV2Id,\n        Status = \"enabled\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttopic1, err := opentelekomcloud.NewSmnTopicV2(ctx, \"topic_1\", \u0026opentelekomcloud.SmnTopicV2Args{\n\t\t\tName: pulumi.String(\"topic_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewCtsEventNotificationV3(ctx, \"notification_v3\", \u0026opentelekomcloud.CtsEventNotificationV3Args{\n\t\t\tNotificationName: pulumi.String(\"my_notification\"),\n\t\t\tOperationType:    pulumi.String(\"complete\"),\n\t\t\tTopicId:          topic1.SmnTopicV2Id,\n\t\t\tStatus:           pulumi.String(\"enabled\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.SmnTopicV2;\nimport com.pulumi.opentelekomcloud.SmnTopicV2Args;\nimport com.pulumi.opentelekomcloud.CtsEventNotificationV3;\nimport com.pulumi.opentelekomcloud.CtsEventNotificationV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var topic1 = new SmnTopicV2(\"topic1\", SmnTopicV2Args.builder()\n            .name(\"topic_1\")\n            .build());\n\n        var notificationV3 = new CtsEventNotificationV3(\"notificationV3\", CtsEventNotificationV3Args.builder()\n            .notificationName(\"my_notification\")\n            .operationType(\"complete\")\n            .topicId(topic1.smnTopicV2Id())\n            .status(\"enabled\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  topic1:\n    type: opentelekomcloud:SmnTopicV2\n    name: topic_1\n    properties:\n      name: topic_1\n  notificationV3:\n    type: opentelekomcloud:CtsEventNotificationV3\n    name: notification_v3\n    properties:\n      notificationName: my_notification\n      operationType: complete\n      topicId: ${topic1.smnTopicV2Id}\n      status: enabled\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Event notification with disabled SMN topic and filtering\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst topic1 = new opentelekomcloud.SmnTopicV2(\"topic_1\", {name: \"topic_1\"});\nconst notificationV3 = new opentelekomcloud.CtsEventNotificationV3(\"notification_v3\", {\n    notificationName: \"my_notification\",\n    operationType: \"complete\",\n    filter: {\n        condition: \"AND\",\n        rules: [\n            \"code = 200\",\n            \"resource_name = test\",\n        ],\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ntopic1 = opentelekomcloud.SmnTopicV2(\"topic_1\", name=\"topic_1\")\nnotification_v3 = opentelekomcloud.CtsEventNotificationV3(\"notification_v3\",\n    notification_name=\"my_notification\",\n    operation_type=\"complete\",\n    filter={\n        \"condition\": \"AND\",\n        \"rules\": [\n            \"code = 200\",\n            \"resource_name = test\",\n        ],\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var topic1 = new Opentelekomcloud.SmnTopicV2(\"topic_1\", new()\n    {\n        Name = \"topic_1\",\n    });\n\n    var notificationV3 = new Opentelekomcloud.CtsEventNotificationV3(\"notification_v3\", new()\n    {\n        NotificationName = \"my_notification\",\n        OperationType = \"complete\",\n        Filter = new Opentelekomcloud.Inputs.CtsEventNotificationV3FilterArgs\n        {\n            Condition = \"AND\",\n            Rules = new[]\n            {\n                \"code = 200\",\n                \"resource_name = test\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewSmnTopicV2(ctx, \"topic_1\", \u0026opentelekomcloud.SmnTopicV2Args{\n\t\t\tName: pulumi.String(\"topic_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewCtsEventNotificationV3(ctx, \"notification_v3\", \u0026opentelekomcloud.CtsEventNotificationV3Args{\n\t\t\tNotificationName: pulumi.String(\"my_notification\"),\n\t\t\tOperationType:    pulumi.String(\"complete\"),\n\t\t\tFilter: \u0026opentelekomcloud.CtsEventNotificationV3FilterArgs{\n\t\t\t\tCondition: pulumi.String(\"AND\"),\n\t\t\t\tRules: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"code = 200\"),\n\t\t\t\t\tpulumi.String(\"resource_name = test\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.SmnTopicV2;\nimport com.pulumi.opentelekomcloud.SmnTopicV2Args;\nimport com.pulumi.opentelekomcloud.CtsEventNotificationV3;\nimport com.pulumi.opentelekomcloud.CtsEventNotificationV3Args;\nimport com.pulumi.opentelekomcloud.inputs.CtsEventNotificationV3FilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var topic1 = new SmnTopicV2(\"topic1\", SmnTopicV2Args.builder()\n            .name(\"topic_1\")\n            .build());\n\n        var notificationV3 = new CtsEventNotificationV3(\"notificationV3\", CtsEventNotificationV3Args.builder()\n            .notificationName(\"my_notification\")\n            .operationType(\"complete\")\n            .filter(CtsEventNotificationV3FilterArgs.builder()\n                .condition(\"AND\")\n                .rules(                \n                    \"code = 200\",\n                    \"resource_name = test\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  topic1:\n    type: opentelekomcloud:SmnTopicV2\n    name: topic_1\n    properties:\n      name: topic_1\n  notificationV3:\n    type: opentelekomcloud:CtsEventNotificationV3\n    name: notification_v3\n    properties:\n      notificationName: my_notification\n      operationType: complete\n      filter:\n        condition: AND\n        rules:\n          - code = 200\n          - resource_name = test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Event notification with selected operations and users\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst topic1 = new opentelekomcloud.SmnTopicV2(\"topic_1\", {name: \"topic_1\"});\nconst notificationV3 = new opentelekomcloud.CtsEventNotificationV3(\"notification_v3\", {\n    notificationName: \"test_user\",\n    operationType: \"customized\",\n    topicId: topic1.smnTopicV2Id,\n    status: \"enabled\",\n    operations: [\n        {\n            resourceType: \"vpc\",\n            serviceType: \"VPC\",\n            traceNames: [\n                \"deleteVpc\",\n                \"createVpc\",\n            ],\n        },\n        {\n            resourceType: \"evs\",\n            serviceType: \"EVS\",\n            traceNames: [\n                \"createVolume\",\n                \"deleteVolume\",\n            ],\n        },\n    ],\n    notifyUserLists: [{\n        userGroup: \"user_group\",\n        userLists: [\n            \"user_one\",\n            \"user_two\",\n        ],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ntopic1 = opentelekomcloud.SmnTopicV2(\"topic_1\", name=\"topic_1\")\nnotification_v3 = opentelekomcloud.CtsEventNotificationV3(\"notification_v3\",\n    notification_name=\"test_user\",\n    operation_type=\"customized\",\n    topic_id=topic1.smn_topic_v2_id,\n    status=\"enabled\",\n    operations=[\n        {\n            \"resource_type\": \"vpc\",\n            \"service_type\": \"VPC\",\n            \"trace_names\": [\n                \"deleteVpc\",\n                \"createVpc\",\n            ],\n        },\n        {\n            \"resource_type\": \"evs\",\n            \"service_type\": \"EVS\",\n            \"trace_names\": [\n                \"createVolume\",\n                \"deleteVolume\",\n            ],\n        },\n    ],\n    notify_user_lists=[{\n        \"user_group\": \"user_group\",\n        \"user_lists\": [\n            \"user_one\",\n            \"user_two\",\n        ],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var topic1 = new Opentelekomcloud.SmnTopicV2(\"topic_1\", new()\n    {\n        Name = \"topic_1\",\n    });\n\n    var notificationV3 = new Opentelekomcloud.CtsEventNotificationV3(\"notification_v3\", new()\n    {\n        NotificationName = \"test_user\",\n        OperationType = \"customized\",\n        TopicId = topic1.SmnTopicV2Id,\n        Status = \"enabled\",\n        Operations = new[]\n        {\n            new Opentelekomcloud.Inputs.CtsEventNotificationV3OperationArgs\n            {\n                ResourceType = \"vpc\",\n                ServiceType = \"VPC\",\n                TraceNames = new[]\n                {\n                    \"deleteVpc\",\n                    \"createVpc\",\n                },\n            },\n            new Opentelekomcloud.Inputs.CtsEventNotificationV3OperationArgs\n            {\n                ResourceType = \"evs\",\n                ServiceType = \"EVS\",\n                TraceNames = new[]\n                {\n                    \"createVolume\",\n                    \"deleteVolume\",\n                },\n            },\n        },\n        NotifyUserLists = new[]\n        {\n            new Opentelekomcloud.Inputs.CtsEventNotificationV3NotifyUserListArgs\n            {\n                UserGroup = \"user_group\",\n                UserLists = new[]\n                {\n                    \"user_one\",\n                    \"user_two\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttopic1, err := opentelekomcloud.NewSmnTopicV2(ctx, \"topic_1\", \u0026opentelekomcloud.SmnTopicV2Args{\n\t\t\tName: pulumi.String(\"topic_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewCtsEventNotificationV3(ctx, \"notification_v3\", \u0026opentelekomcloud.CtsEventNotificationV3Args{\n\t\t\tNotificationName: pulumi.String(\"test_user\"),\n\t\t\tOperationType:    pulumi.String(\"customized\"),\n\t\t\tTopicId:          topic1.SmnTopicV2Id,\n\t\t\tStatus:           pulumi.String(\"enabled\"),\n\t\t\tOperations: opentelekomcloud.CtsEventNotificationV3OperationArray{\n\t\t\t\t\u0026opentelekomcloud.CtsEventNotificationV3OperationArgs{\n\t\t\t\t\tResourceType: pulumi.String(\"vpc\"),\n\t\t\t\t\tServiceType:  pulumi.String(\"VPC\"),\n\t\t\t\t\tTraceNames: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"deleteVpc\"),\n\t\t\t\t\t\tpulumi.String(\"createVpc\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026opentelekomcloud.CtsEventNotificationV3OperationArgs{\n\t\t\t\t\tResourceType: pulumi.String(\"evs\"),\n\t\t\t\t\tServiceType:  pulumi.String(\"EVS\"),\n\t\t\t\t\tTraceNames: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"createVolume\"),\n\t\t\t\t\t\tpulumi.String(\"deleteVolume\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tNotifyUserLists: opentelekomcloud.CtsEventNotificationV3NotifyUserListArray{\n\t\t\t\t\u0026opentelekomcloud.CtsEventNotificationV3NotifyUserListArgs{\n\t\t\t\t\tUserGroup: pulumi.String(\"user_group\"),\n\t\t\t\t\tUserLists: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"user_one\"),\n\t\t\t\t\t\tpulumi.String(\"user_two\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.SmnTopicV2;\nimport com.pulumi.opentelekomcloud.SmnTopicV2Args;\nimport com.pulumi.opentelekomcloud.CtsEventNotificationV3;\nimport com.pulumi.opentelekomcloud.CtsEventNotificationV3Args;\nimport com.pulumi.opentelekomcloud.inputs.CtsEventNotificationV3OperationArgs;\nimport com.pulumi.opentelekomcloud.inputs.CtsEventNotificationV3NotifyUserListArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var topic1 = new SmnTopicV2(\"topic1\", SmnTopicV2Args.builder()\n            .name(\"topic_1\")\n            .build());\n\n        var notificationV3 = new CtsEventNotificationV3(\"notificationV3\", CtsEventNotificationV3Args.builder()\n            .notificationName(\"test_user\")\n            .operationType(\"customized\")\n            .topicId(topic1.smnTopicV2Id())\n            .status(\"enabled\")\n            .operations(            \n                CtsEventNotificationV3OperationArgs.builder()\n                    .resourceType(\"vpc\")\n                    .serviceType(\"VPC\")\n                    .traceNames(                    \n                        \"deleteVpc\",\n                        \"createVpc\")\n                    .build(),\n                CtsEventNotificationV3OperationArgs.builder()\n                    .resourceType(\"evs\")\n                    .serviceType(\"EVS\")\n                    .traceNames(                    \n                        \"createVolume\",\n                        \"deleteVolume\")\n                    .build())\n            .notifyUserLists(CtsEventNotificationV3NotifyUserListArgs.builder()\n                .userGroup(\"user_group\")\n                .userLists(                \n                    \"user_one\",\n                    \"user_two\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  topic1:\n    type: opentelekomcloud:SmnTopicV2\n    name: topic_1\n    properties:\n      name: topic_1\n  notificationV3:\n    type: opentelekomcloud:CtsEventNotificationV3\n    name: notification_v3\n    properties:\n      notificationName: test_user\n      operationType: customized\n      topicId: ${topic1.smnTopicV2Id}\n      status: enabled\n      operations:\n        - resourceType: vpc\n          serviceType: VPC\n          traceNames:\n            - deleteVpc\n            - createVpc\n        - resourceType: evs\n          serviceType: EVS\n          traceNames:\n            - createVolume\n            - deleteVolume\n      notifyUserLists:\n        - userGroup: user_group\n          userLists:\n            - user_one\n            - user_two\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCTS event notification can be imported using the `notification_id/notification_name`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/ctsEventNotificationV3:CtsEventNotificationV3 notification c1881895-cdcb-4d23-96cb-032e6a3ee667/test_event\n```\n\n","properties":{"createTime":{"type":"number","description":"Specifies creation time of event notification rule.\n"},"ctsEventNotificationV3Id":{"type":"string"},"filter":{"$ref":"#/types/opentelekomcloud:index%2FCtsEventNotificationV3Filter:CtsEventNotificationV3Filter","description":"Specifies the filtering rules for notification.\nThe filter structure is documented below.\n"},"notificationId":{"type":"string","description":"Unique event notification id.\n"},"notificationName":{"type":"string","description":"The name of event notification rule. Only letters, digits\nand underscores (_) are allowed.\n"},"notificationType":{"type":"string","description":"Specifies the notification type. Current \u003cspan pulumi-lang-nodejs=\"`cts`\" pulumi-lang-dotnet=\"`Cts`\" pulumi-lang-go=\"`cts`\" pulumi-lang-python=\"`cts`\" pulumi-lang-yaml=\"`cts`\" pulumi-lang-java=\"`cts`\"\u003e`cts`\u003c/span\u003e version supports only \u003cspan pulumi-lang-nodejs=\"`smn`\" pulumi-lang-dotnet=\"`Smn`\" pulumi-lang-go=\"`smn`\" pulumi-lang-python=\"`smn`\" pulumi-lang-yaml=\"`smn`\" pulumi-lang-java=\"`smn`\"\u003e`smn`\u003c/span\u003e type.\n"},"notifyUserLists":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCtsEventNotificationV3NotifyUserList:CtsEventNotificationV3NotifyUserList"},"description":"Specifies the list of users whose operations will trigger notifications.\nCurrently, up to 50 users in 10 user groups can be configured. Supported fields:\n"},"operationType":{"type":"string","description":"The operation type of event rules.\n\nPossible values:\n"},"operations":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCtsEventNotificationV3Operation:CtsEventNotificationV3Operation"},"description":"Specifies an array of operations that will trigger notifications.\nThe operations structure is documented below.\n"},"projectId":{"type":"string","description":"Specifies project id of event notification rule.\n"},"status":{"type":"string","description":"Specifies whether SMN topic is \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e.\n"},"topicId":{"type":"string","description":"Specifies SMN topic URN that will be used for events notification.\n"}},"type":"object","required":["createTime","ctsEventNotificationV3Id","notificationId","notificationName","notificationType","operationType","projectId","status","topicId"],"inputProperties":{"ctsEventNotificationV3Id":{"type":"string"},"filter":{"$ref":"#/types/opentelekomcloud:index%2FCtsEventNotificationV3Filter:CtsEventNotificationV3Filter","description":"Specifies the filtering rules for notification.\nThe filter structure is documented below.\n"},"notificationName":{"type":"string","description":"The name of event notification rule. Only letters, digits\nand underscores (_) are allowed.\n"},"notifyUserLists":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCtsEventNotificationV3NotifyUserList:CtsEventNotificationV3NotifyUserList"},"description":"Specifies the list of users whose operations will trigger notifications.\nCurrently, up to 50 users in 10 user groups can be configured. Supported fields:\n"},"operationType":{"type":"string","description":"The operation type of event rules.\n\nPossible values:\n"},"operations":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCtsEventNotificationV3Operation:CtsEventNotificationV3Operation"},"description":"Specifies an array of operations that will trigger notifications.\nThe operations structure is documented below.\n"},"status":{"type":"string","description":"Specifies whether SMN topic is \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e.\n"},"topicId":{"type":"string","description":"Specifies SMN topic URN that will be used for events notification.\n"}},"requiredInputs":["notificationName","operationType"],"stateInputs":{"description":"Input properties used for looking up and filtering CtsEventNotificationV3 resources.\n","properties":{"createTime":{"type":"number","description":"Specifies creation time of event notification rule.\n"},"ctsEventNotificationV3Id":{"type":"string"},"filter":{"$ref":"#/types/opentelekomcloud:index%2FCtsEventNotificationV3Filter:CtsEventNotificationV3Filter","description":"Specifies the filtering rules for notification.\nThe filter structure is documented below.\n"},"notificationId":{"type":"string","description":"Unique event notification id.\n"},"notificationName":{"type":"string","description":"The name of event notification rule. Only letters, digits\nand underscores (_) are allowed.\n"},"notificationType":{"type":"string","description":"Specifies the notification type. Current \u003cspan pulumi-lang-nodejs=\"`cts`\" pulumi-lang-dotnet=\"`Cts`\" pulumi-lang-go=\"`cts`\" pulumi-lang-python=\"`cts`\" pulumi-lang-yaml=\"`cts`\" pulumi-lang-java=\"`cts`\"\u003e`cts`\u003c/span\u003e version supports only \u003cspan pulumi-lang-nodejs=\"`smn`\" pulumi-lang-dotnet=\"`Smn`\" pulumi-lang-go=\"`smn`\" pulumi-lang-python=\"`smn`\" pulumi-lang-yaml=\"`smn`\" pulumi-lang-java=\"`smn`\"\u003e`smn`\u003c/span\u003e type.\n"},"notifyUserLists":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCtsEventNotificationV3NotifyUserList:CtsEventNotificationV3NotifyUserList"},"description":"Specifies the list of users whose operations will trigger notifications.\nCurrently, up to 50 users in 10 user groups can be configured. Supported fields:\n"},"operationType":{"type":"string","description":"The operation type of event rules.\n\nPossible values:\n"},"operations":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FCtsEventNotificationV3Operation:CtsEventNotificationV3Operation"},"description":"Specifies an array of operations that will trigger notifications.\nThe operations structure is documented below.\n"},"projectId":{"type":"string","description":"Specifies project id of event notification rule.\n"},"status":{"type":"string","description":"Specifies whether SMN topic is \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e.\n"},"topicId":{"type":"string","description":"Specifies SMN topic URN that will be used for events notification.\n"}},"type":"object"}},"opentelekomcloud:index/ctsTrackerV1:CtsTrackerV1":{"description":"Up-to-date reference of API arguments for CTS tracker you can get at\n[documentation portal](https://docs.otc.t-systems.com/cloud-trace-service/api-ref/api_description/tracker_management)\n\n**DEPRECATED**\nAllows you to collect, store, and query cloud resource operation records.\n\n\u003e A single tracker can be created for current CTS version.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst bucketName = config.requireObject\u003cany\u003e(\"bucketName\");\nconst trackerV1 = new opentelekomcloud.CtsTrackerV1(\"tracker_v1\", {\n    bucketName: bucketName,\n    filePrefixName: \"yO8Q\",\n    isLtsEnabled: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nbucket_name = config.require_object(\"bucketName\")\ntracker_v1 = opentelekomcloud.CtsTrackerV1(\"tracker_v1\",\n    bucket_name=bucket_name,\n    file_prefix_name=\"yO8Q\",\n    is_lts_enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var bucketName = config.RequireObject\u003cdynamic\u003e(\"bucketName\");\n    var trackerV1 = new Opentelekomcloud.CtsTrackerV1(\"tracker_v1\", new()\n    {\n        BucketName = bucketName,\n        FilePrefixName = \"yO8Q\",\n        IsLtsEnabled = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tbucketName := cfg.RequireObject(\"bucketName\")\n\t\t_, err := opentelekomcloud.NewCtsTrackerV1(ctx, \"tracker_v1\", \u0026opentelekomcloud.CtsTrackerV1Args{\n\t\t\tBucketName:     pulumi.Any(bucketName),\n\t\t\tFilePrefixName: pulumi.String(\"yO8Q\"),\n\t\t\tIsLtsEnabled:   pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.CtsTrackerV1;\nimport com.pulumi.opentelekomcloud.CtsTrackerV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var bucketName = config.get(\"bucketName\");\n        var trackerV1 = new CtsTrackerV1(\"trackerV1\", CtsTrackerV1Args.builder()\n            .bucketName(bucketName)\n            .filePrefixName(\"yO8Q\")\n            .isLtsEnabled(true)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  bucketName:\n    type: dynamic\nresources:\n  trackerV1:\n    type: opentelekomcloud:CtsTrackerV1\n    name: tracker_v1\n    properties:\n      bucketName: ${bucketName}\n      filePrefixName: yO8Q\n      isLtsEnabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCTS tracker can be imported using  `tracker_name`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/ctsTrackerV1:CtsTrackerV1 tracker system\n```\n\n","properties":{"bucketName":{"type":"string","description":"The OBS bucket name for a tracker.\n"},"ctsTrackerV1Id":{"type":"string"},"filePrefixName":{"type":"string","description":"The prefix of a log that needs to be stored in an OBS bucket.\n"},"isLtsEnabled":{"type":"boolean","description":"Specifies whether to enable trace analysis.\n"},"logGroupName":{"type":"string","description":"Specifies LTS log group name.\n"},"logTopicName":{"type":"string","description":"Specifies LTS log stream.\n"},"region":{"type":"string","description":"Specifies the tracker region.\n"},"status":{"type":"string","description":"Specifies current status of the tracker.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCtsTrackerV1Timeouts:CtsTrackerV1Timeouts"},"trackerName":{"type":"string","description":"The tracker name. Currently, only tracker \u003cspan pulumi-lang-nodejs=\"`system`\" pulumi-lang-dotnet=\"`System`\" pulumi-lang-go=\"`system`\" pulumi-lang-python=\"`system`\" pulumi-lang-yaml=\"`system`\" pulumi-lang-java=\"`system`\"\u003e`system`\u003c/span\u003e is available.\n"}},"type":"object","required":["bucketName","ctsTrackerV1Id","filePrefixName","isLtsEnabled","logGroupName","logTopicName","region","status","trackerName"],"inputProperties":{"bucketName":{"type":"string","description":"The OBS bucket name for a tracker.\n"},"ctsTrackerV1Id":{"type":"string"},"filePrefixName":{"type":"string","description":"The prefix of a log that needs to be stored in an OBS bucket.\n"},"isLtsEnabled":{"type":"boolean","description":"Specifies whether to enable trace analysis.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCtsTrackerV1Timeouts:CtsTrackerV1Timeouts"}},"requiredInputs":["bucketName"],"stateInputs":{"description":"Input properties used for looking up and filtering CtsTrackerV1 resources.\n","properties":{"bucketName":{"type":"string","description":"The OBS bucket name for a tracker.\n"},"ctsTrackerV1Id":{"type":"string"},"filePrefixName":{"type":"string","description":"The prefix of a log that needs to be stored in an OBS bucket.\n"},"isLtsEnabled":{"type":"boolean","description":"Specifies whether to enable trace analysis.\n"},"logGroupName":{"type":"string","description":"Specifies LTS log group name.\n"},"logTopicName":{"type":"string","description":"Specifies LTS log stream.\n"},"region":{"type":"string","description":"Specifies the tracker region.\n"},"status":{"type":"string","description":"Specifies current status of the tracker.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCtsTrackerV1Timeouts:CtsTrackerV1Timeouts"},"trackerName":{"type":"string","description":"The tracker name. Currently, only tracker \u003cspan pulumi-lang-nodejs=\"`system`\" pulumi-lang-dotnet=\"`System`\" pulumi-lang-go=\"`system`\" pulumi-lang-python=\"`system`\" pulumi-lang-yaml=\"`system`\" pulumi-lang-java=\"`system`\"\u003e`system`\u003c/span\u003e is available.\n"}},"type":"object"}},"opentelekomcloud:index/ctsTrackerV3:CtsTrackerV3":{"description":"Up-to-date reference of API arguments for CTS tracker you can get at\n[documentation portal](https://docs.otc.t-systems.com/cloud-trace-service/api-ref/v3_apis_recommended/tracker_management/index.html#cts-api-0320)\n\nAllows you to collect, store, and query cloud resource operation records.\n\n\u003e A single tracker can be created for current CTS version.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst bucketName = config.requireObject\u003cany\u003e(\"bucketName\");\nconst trackerV3 = new opentelekomcloud.CtsTrackerV3(\"tracker_v3\", {\n    bucketName: bucketName,\n    filePrefixName: \"prefix\",\n    isLtsEnabled: true,\n    status: \"enabled\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nbucket_name = config.require_object(\"bucketName\")\ntracker_v3 = opentelekomcloud.CtsTrackerV3(\"tracker_v3\",\n    bucket_name=bucket_name,\n    file_prefix_name=\"prefix\",\n    is_lts_enabled=True,\n    status=\"enabled\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var bucketName = config.RequireObject\u003cdynamic\u003e(\"bucketName\");\n    var trackerV3 = new Opentelekomcloud.CtsTrackerV3(\"tracker_v3\", new()\n    {\n        BucketName = bucketName,\n        FilePrefixName = \"prefix\",\n        IsLtsEnabled = true,\n        Status = \"enabled\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tbucketName := cfg.RequireObject(\"bucketName\")\n\t\t_, err := opentelekomcloud.NewCtsTrackerV3(ctx, \"tracker_v3\", \u0026opentelekomcloud.CtsTrackerV3Args{\n\t\t\tBucketName:     pulumi.Any(bucketName),\n\t\t\tFilePrefixName: pulumi.String(\"prefix\"),\n\t\t\tIsLtsEnabled:   pulumi.Bool(true),\n\t\t\tStatus:         pulumi.String(\"enabled\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.CtsTrackerV3;\nimport com.pulumi.opentelekomcloud.CtsTrackerV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var bucketName = config.get(\"bucketName\");\n        var trackerV3 = new CtsTrackerV3(\"trackerV3\", CtsTrackerV3Args.builder()\n            .bucketName(bucketName)\n            .filePrefixName(\"prefix\")\n            .isLtsEnabled(true)\n            .status(\"enabled\")\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  bucketName:\n    type: dynamic\nresources:\n  trackerV3:\n    type: opentelekomcloud:CtsTrackerV3\n    name: tracker_v3\n    properties:\n      bucketName: ${bucketName}\n      filePrefixName: prefix\n      isLtsEnabled: true\n      status: enabled\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCTS tracker can be imported using `tracker_name`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/ctsTrackerV3:CtsTrackerV3 tracker system\n```\n\n","properties":{"bucketName":{"type":"string","description":"The OBS bucket name for a tracker.\n"},"compressType":{"type":"string","description":"Specifies the compression type. Default value is \u003cspan pulumi-lang-nodejs=\"`gzip`\" pulumi-lang-dotnet=\"`Gzip`\" pulumi-lang-go=\"`gzip`\" pulumi-lang-python=\"`gzip`\" pulumi-lang-yaml=\"`gzip`\" pulumi-lang-java=\"`gzip`\"\u003e`gzip`\u003c/span\u003e.\nThe valid values are as follows:\n+ **gzip**: compression.\n+ **json**: no compression.\n"},"detail":{"type":"string","description":"Specifies the cause of the abnormal status, and its value in case of errors.\n"},"domainId":{"type":"string","description":"Specifies domain id of the tracker.\n"},"filePrefixName":{"type":"string","description":"The prefix of a log that needs to be stored in an OBS bucket.\n"},"isLtsEnabled":{"type":"boolean","description":"Specifies whether to enable trace analysis.\n"},"isObsCreated":{"type":"boolean","description":"Specifies whether the OBS bucket is automatically created by the tracker.\n"},"isSortByService":{"type":"boolean","description":"Specifies whether to sort the path by cloud service. If this option is enabled,\nthe cloud service name is added to the transfer file path. Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"logGroupName":{"type":"string","description":"Specifies LTS log group name.\n"},"logTopicName":{"type":"string","description":"Specifies LTS log stream.\n"},"projectId":{"type":"string","description":"Specifies project id of the tracker.\n"},"status":{"type":"string","description":"Specifies whether tracker is \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCtsTrackerV3Timeouts:CtsTrackerV3Timeouts"},"trackerName":{"type":"string","description":"The tracker name. Currently, only tracker \u003cspan pulumi-lang-nodejs=\"`system`\" pulumi-lang-dotnet=\"`System`\" pulumi-lang-go=\"`system`\" pulumi-lang-python=\"`system`\" pulumi-lang-yaml=\"`system`\" pulumi-lang-java=\"`system`\"\u003e`system`\u003c/span\u003e is available.\n"},"trackerType":{"type":"string","description":"The tracker type. Currently, only tracker \u003cspan pulumi-lang-nodejs=\"`system`\" pulumi-lang-dotnet=\"`System`\" pulumi-lang-go=\"`system`\" pulumi-lang-python=\"`system`\" pulumi-lang-yaml=\"`system`\" pulumi-lang-java=\"`system`\"\u003e`system`\u003c/span\u003e is available.\n"}},"type":"object","required":["bucketName","compressType","detail","domainId","filePrefixName","isLtsEnabled","isObsCreated","isSortByService","logGroupName","logTopicName","projectId","status","trackerName","trackerType"],"inputProperties":{"bucketName":{"type":"string","description":"The OBS bucket name for a tracker.\n"},"compressType":{"type":"string","description":"Specifies the compression type. Default value is \u003cspan pulumi-lang-nodejs=\"`gzip`\" pulumi-lang-dotnet=\"`Gzip`\" pulumi-lang-go=\"`gzip`\" pulumi-lang-python=\"`gzip`\" pulumi-lang-yaml=\"`gzip`\" pulumi-lang-java=\"`gzip`\"\u003e`gzip`\u003c/span\u003e.\nThe valid values are as follows:\n+ **gzip**: compression.\n+ **json**: no compression.\n"},"filePrefixName":{"type":"string","description":"The prefix of a log that needs to be stored in an OBS bucket.\n"},"isLtsEnabled":{"type":"boolean","description":"Specifies whether to enable trace analysis.\n"},"isObsCreated":{"type":"boolean","description":"Specifies whether the OBS bucket is automatically created by the tracker.\n"},"isSortByService":{"type":"boolean","description":"Specifies whether to sort the path by cloud service. If this option is enabled,\nthe cloud service name is added to the transfer file path. Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"status":{"type":"string","description":"Specifies whether tracker is \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCtsTrackerV3Timeouts:CtsTrackerV3Timeouts"}},"requiredInputs":["status"],"stateInputs":{"description":"Input properties used for looking up and filtering CtsTrackerV3 resources.\n","properties":{"bucketName":{"type":"string","description":"The OBS bucket name for a tracker.\n"},"compressType":{"type":"string","description":"Specifies the compression type. Default value is \u003cspan pulumi-lang-nodejs=\"`gzip`\" pulumi-lang-dotnet=\"`Gzip`\" pulumi-lang-go=\"`gzip`\" pulumi-lang-python=\"`gzip`\" pulumi-lang-yaml=\"`gzip`\" pulumi-lang-java=\"`gzip`\"\u003e`gzip`\u003c/span\u003e.\nThe valid values are as follows:\n+ **gzip**: compression.\n+ **json**: no compression.\n"},"detail":{"type":"string","description":"Specifies the cause of the abnormal status, and its value in case of errors.\n"},"domainId":{"type":"string","description":"Specifies domain id of the tracker.\n"},"filePrefixName":{"type":"string","description":"The prefix of a log that needs to be stored in an OBS bucket.\n"},"isLtsEnabled":{"type":"boolean","description":"Specifies whether to enable trace analysis.\n"},"isObsCreated":{"type":"boolean","description":"Specifies whether the OBS bucket is automatically created by the tracker.\n"},"isSortByService":{"type":"boolean","description":"Specifies whether to sort the path by cloud service. If this option is enabled,\nthe cloud service name is added to the transfer file path. Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"logGroupName":{"type":"string","description":"Specifies LTS log group name.\n"},"logTopicName":{"type":"string","description":"Specifies LTS log stream.\n"},"projectId":{"type":"string","description":"Specifies project id of the tracker.\n"},"status":{"type":"string","description":"Specifies whether tracker is \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FCtsTrackerV3Timeouts:CtsTrackerV3Timeouts"},"trackerName":{"type":"string","description":"The tracker name. Currently, only tracker \u003cspan pulumi-lang-nodejs=\"`system`\" pulumi-lang-dotnet=\"`System`\" pulumi-lang-go=\"`system`\" pulumi-lang-python=\"`system`\" pulumi-lang-yaml=\"`system`\" pulumi-lang-java=\"`system`\"\u003e`system`\u003c/span\u003e is available.\n"},"trackerType":{"type":"string","description":"The tracker type. Currently, only tracker \u003cspan pulumi-lang-nodejs=\"`system`\" pulumi-lang-dotnet=\"`System`\" pulumi-lang-go=\"`system`\" pulumi-lang-python=\"`system`\" pulumi-lang-yaml=\"`system`\" pulumi-lang-java=\"`system`\"\u003e`system`\u003c/span\u003e is available.\n"}},"type":"object"}},"opentelekomcloud:index/dcEndpointGroupV2:DcEndpointGroupV2":{"properties":{"description":{"type":"string"},"endpoints":{"type":"array","items":{"type":"string"}},"name":{"type":"string"},"projectId":{"type":"string"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FDcEndpointGroupV2Timeouts:DcEndpointGroupV2Timeouts"},"type":{"type":"string"}},"type":"object","required":["endpoints","name","projectId","type"],"inputProperties":{"description":{"type":"string"},"endpoints":{"type":"array","items":{"type":"string"}},"name":{"type":"string"},"projectId":{"type":"string"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FDcEndpointGroupV2Timeouts:DcEndpointGroupV2Timeouts"},"type":{"type":"string"}},"requiredInputs":["endpoints","projectId","type"],"stateInputs":{"description":"Input properties used for looking up and filtering DcEndpointGroupV2 resources.\n","properties":{"description":{"type":"string"},"endpoints":{"type":"array","items":{"type":"string"}},"name":{"type":"string"},"projectId":{"type":"string"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FDcEndpointGroupV2Timeouts:DcEndpointGroupV2Timeouts"},"type":{"type":"string"}},"type":"object"}},"opentelekomcloud:index/dcHostedConnectV3:DcHostedConnectV3":{"description":"Manages a hosted connection resource within OpenTelekomCloud.\n\n\u003e **NOTE:** Direct Connect v3 API that are used in this resource officially supported only on SwissCloud now.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst hostingId = config.requireObject\u003cany\u003e(\"hostingId\");\nconst project = opentelekomcloud.getIdentityProjectV3({\n    name: \"project\",\n});\nconst hc = new opentelekomcloud.DcHostedConnectV3(\"hc\", {\n    name: \"hc\",\n    description: \"create\",\n    resourceTenantId: project.then(project =\u003e project.id),\n    hostingId: hostingId,\n    vlan: 441,\n    bandwidth: 10,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nhosting_id = config.require_object(\"hostingId\")\nproject = opentelekomcloud.get_identity_project_v3(name=\"project\")\nhc = opentelekomcloud.DcHostedConnectV3(\"hc\",\n    name=\"hc\",\n    description=\"create\",\n    resource_tenant_id=project.id,\n    hosting_id=hosting_id,\n    vlan=441,\n    bandwidth=10)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var hostingId = config.RequireObject\u003cdynamic\u003e(\"hostingId\");\n    var project = Opentelekomcloud.GetIdentityProjectV3.Invoke(new()\n    {\n        Name = \"project\",\n    });\n\n    var hc = new Opentelekomcloud.DcHostedConnectV3(\"hc\", new()\n    {\n        Name = \"hc\",\n        Description = \"create\",\n        ResourceTenantId = project.Apply(getIdentityProjectV3Result =\u003e getIdentityProjectV3Result.Id),\n        HostingId = hostingId,\n        Vlan = 441,\n        Bandwidth = 10,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\thostingId := cfg.RequireObject(\"hostingId\")\n\t\tproject, err := opentelekomcloud.LookupIdentityProjectV3(ctx, \u0026opentelekomcloud.LookupIdentityProjectV3Args{\n\t\t\tName: pulumi.StringRef(\"project\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewDcHostedConnectV3(ctx, \"hc\", \u0026opentelekomcloud.DcHostedConnectV3Args{\n\t\t\tName:             pulumi.String(\"hc\"),\n\t\t\tDescription:      pulumi.String(\"create\"),\n\t\t\tResourceTenantId: pulumi.String(project.Id),\n\t\t\tHostingId:        pulumi.Any(hostingId),\n\t\t\tVlan:             pulumi.Float64(441),\n\t\t\tBandwidth:        pulumi.Float64(10),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetIdentityProjectV3Args;\nimport com.pulumi.opentelekomcloud.DcHostedConnectV3;\nimport com.pulumi.opentelekomcloud.DcHostedConnectV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var hostingId = config.get(\"hostingId\");\n        final var project = OpentelekomcloudFunctions.getIdentityProjectV3(GetIdentityProjectV3Args.builder()\n            .name(\"project\")\n            .build());\n\n        var hc = new DcHostedConnectV3(\"hc\", DcHostedConnectV3Args.builder()\n            .name(\"hc\")\n            .description(\"create\")\n            .resourceTenantId(project.id())\n            .hostingId(hostingId)\n            .vlan(441.0)\n            .bandwidth(10.0)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  hostingId:\n    type: dynamic\nresources:\n  hc:\n    type: opentelekomcloud:DcHostedConnectV3\n    properties:\n      name: hc\n      description: create\n      resourceTenantId: ${project.id}\n      hostingId: ${hostingId}\n      vlan: 441\n      bandwidth: 10\nvariables:\n  project:\n    fn::invoke:\n      function: opentelekomcloud:getIdentityProjectV3\n      arguments:\n        name: project\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe hosted connect can be imported using the `id`, e.g.\n\nbash\n\n```sh\n$ pulumi import opentelekomcloud:index/dcHostedConnectV3:DcHostedConnectV3 hc 6d7bdb34-9254-46ad-b9e0-c7edf7abf8bc\n```\n\n","properties":{"bandwidth":{"type":"number","description":"The bandwidth size of the hosted connect in Mbit/s.\n"},"dcHostedConnectV3Id":{"type":"string","description":"The resource ID.\n"},"description":{"type":"string","description":"The description of the hosted connect.\n"},"hostingId":{"type":"string","description":"The ID of the operations connection on which the hosted connect is created.\n\nChanging this parameter will create a new resource.\n"},"name":{"type":"string","description":"The name of the hosted connect.\n"},"peerLocation":{"type":"string","description":"The location of the on-premises facility at the other end of the connection.\nSpecific to the street or data center name.\n"},"region":{"type":"string","description":"Specifies the region in which to create the resource.\n"},"resourceTenantId":{"type":"string","description":"The project ID of the specified tenant for whom a hosted connection is to be created.\n\nChanging this parameter will create a new resource.\n"},"status":{"type":"string","description":"The status of the hosted connect.\nThe options are as follows:\n+ **BUILD**: The hosted connect has been created.\n+ **ACTIVE**: The associated virtual gateway is normal.\n+ **DOWN**: The port used by the hosted connect is down, indicating that there may be line faults.\n+ **ERROR**: The associated virtual gateway is abnormal.\n+ **PENDING_DELETE**: The hosted connect is being deleted.\n+ **PENDING_UPDATE**: The hosted connect is being updated.\n+ **PENDING_CREATE**: The hosted connect is being created.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FDcHostedConnectV3Timeouts:DcHostedConnectV3Timeouts"},"vlan":{"type":"number","description":"The VLAN allocated to the hosted connect.\n\nChanging this parameter will create a new resource.\n"}},"type":"object","required":["bandwidth","dcHostedConnectV3Id","hostingId","name","peerLocation","region","resourceTenantId","status","vlan"],"inputProperties":{"bandwidth":{"type":"number","description":"The bandwidth size of the hosted connect in Mbit/s.\n"},"dcHostedConnectV3Id":{"type":"string","description":"The resource ID.\n"},"description":{"type":"string","description":"The description of the hosted connect.\n"},"hostingId":{"type":"string","description":"The ID of the operations connection on which the hosted connect is created.\n\nChanging this parameter will create a new resource.\n"},"name":{"type":"string","description":"The name of the hosted connect.\n"},"peerLocation":{"type":"string","description":"The location of the on-premises facility at the other end of the connection.\nSpecific to the street or data center name.\n"},"resourceTenantId":{"type":"string","description":"The project ID of the specified tenant for whom a hosted connection is to be created.\n\nChanging this parameter will create a new resource.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FDcHostedConnectV3Timeouts:DcHostedConnectV3Timeouts"},"vlan":{"type":"number","description":"The VLAN allocated to the hosted connect.\n\nChanging this parameter will create a new resource.\n"}},"requiredInputs":["bandwidth","hostingId","resourceTenantId","vlan"],"stateInputs":{"description":"Input properties used for looking up and filtering DcHostedConnectV3 resources.\n","properties":{"bandwidth":{"type":"number","description":"The bandwidth size of the hosted connect in Mbit/s.\n"},"dcHostedConnectV3Id":{"type":"string","description":"The resource ID.\n"},"description":{"type":"string","description":"The description of the hosted connect.\n"},"hostingId":{"type":"string","description":"The ID of the operations connection on which the hosted connect is created.\n\nChanging this parameter will create a new resource.\n"},"name":{"type":"string","description":"The name of the hosted connect.\n"},"peerLocation":{"type":"string","description":"The location of the on-premises facility at the other end of the connection.\nSpecific to the street or data center name.\n"},"region":{"type":"string","description":"Specifies the region in which to create the resource.\n"},"resourceTenantId":{"type":"string","description":"The project ID of the specified tenant for whom a hosted connection is to be created.\n\nChanging this parameter will create a new resource.\n"},"status":{"type":"string","description":"The status of the hosted connect.\nThe options are as follows:\n+ **BUILD**: The hosted connect has been created.\n+ **ACTIVE**: The associated virtual gateway is normal.\n+ **DOWN**: The port used by the hosted connect is down, indicating that there may be line faults.\n+ **ERROR**: The associated virtual gateway is abnormal.\n+ **PENDING_DELETE**: The hosted connect is being deleted.\n+ **PENDING_UPDATE**: The hosted connect is being updated.\n+ **PENDING_CREATE**: The hosted connect is being created.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FDcHostedConnectV3Timeouts:DcHostedConnectV3Timeouts"},"vlan":{"type":"number","description":"The VLAN allocated to the hosted connect.\n\nChanging this parameter will create a new resource.\n"}},"type":"object"}},"opentelekomcloud:index/dcVirtualGatewayV2:DcVirtualGatewayV2":{"properties":{"asn":{"type":"number"},"dcVirtualGatewayV2Id":{"type":"string"},"description":{"type":"string"},"deviceId":{"type":"string"},"localEpGroup":{"$ref":"#/types/opentelekomcloud:index%2FDcVirtualGatewayV2LocalEpGroup:DcVirtualGatewayV2LocalEpGroup"},"localEpGroupId":{"type":"string"},"localEpGroupIpv6Id":{"type":"string"},"localEpGroupV6":{"$ref":"#/types/opentelekomcloud:index%2FDcVirtualGatewayV2LocalEpGroupV6:DcVirtualGatewayV2LocalEpGroupV6"},"name":{"type":"string"},"projectId":{"type":"string"},"redundantDeviceId":{"type":"string"},"status":{"type":"string"},"vpcId":{"type":"string"}},"type":"object","required":["asn","dcVirtualGatewayV2Id","deviceId","localEpGroupId","localEpGroupIpv6Id","name","projectId","redundantDeviceId","status","vpcId"],"inputProperties":{"asn":{"type":"number"},"dcVirtualGatewayV2Id":{"type":"string"},"description":{"type":"string"},"deviceId":{"type":"string"},"localEpGroup":{"$ref":"#/types/opentelekomcloud:index%2FDcVirtualGatewayV2LocalEpGroup:DcVirtualGatewayV2LocalEpGroup"},"localEpGroupV6":{"$ref":"#/types/opentelekomcloud:index%2FDcVirtualGatewayV2LocalEpGroupV6:DcVirtualGatewayV2LocalEpGroupV6"},"name":{"type":"string"},"projectId":{"type":"string"},"redundantDeviceId":{"type":"string"},"vpcId":{"type":"string"}},"requiredInputs":["vpcId"],"stateInputs":{"description":"Input properties used for looking up and filtering DcVirtualGatewayV2 resources.\n","properties":{"asn":{"type":"number"},"dcVirtualGatewayV2Id":{"type":"string"},"description":{"type":"string"},"deviceId":{"type":"string"},"localEpGroup":{"$ref":"#/types/opentelekomcloud:index%2FDcVirtualGatewayV2LocalEpGroup:DcVirtualGatewayV2LocalEpGroup"},"localEpGroupId":{"type":"string"},"localEpGroupIpv6Id":{"type":"string"},"localEpGroupV6":{"$ref":"#/types/opentelekomcloud:index%2FDcVirtualGatewayV2LocalEpGroupV6:DcVirtualGatewayV2LocalEpGroupV6"},"name":{"type":"string"},"projectId":{"type":"string"},"redundantDeviceId":{"type":"string"},"status":{"type":"string"},"vpcId":{"type":"string"}},"type":"object"}},"opentelekomcloud:index/dcVirtualGatewayV3:DcVirtualGatewayV3":{"description":"Manages a virtual gateway v3 resource within OpenTelekomCloud.\n\n\u003e **NOTE:** Direct Connect v3 API that are used in this resource officially supported only on SwissCloud now.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst vpcId = config.requireObject\u003cany\u003e(\"vpcId\");\nconst vpcCidr = config.requireObject\u003cany\u003e(\"vpcCidr\");\nconst gatewayName = config.requireObject\u003cany\u003e(\"gatewayName\");\nconst gw = new opentelekomcloud.DcVirtualGatewayV3(\"gw\", {\n    vpcId: vpcId,\n    name: gatewayName,\n    description: \"my gateway\",\n    localEpGroups: [vpcCidr],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nvpc_id = config.require_object(\"vpcId\")\nvpc_cidr = config.require_object(\"vpcCidr\")\ngateway_name = config.require_object(\"gatewayName\")\ngw = opentelekomcloud.DcVirtualGatewayV3(\"gw\",\n    vpc_id=vpc_id,\n    name=gateway_name,\n    description=\"my gateway\",\n    local_ep_groups=[vpc_cidr])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var vpcId = config.RequireObject\u003cdynamic\u003e(\"vpcId\");\n    var vpcCidr = config.RequireObject\u003cdynamic\u003e(\"vpcCidr\");\n    var gatewayName = config.RequireObject\u003cdynamic\u003e(\"gatewayName\");\n    var gw = new Opentelekomcloud.DcVirtualGatewayV3(\"gw\", new()\n    {\n        VpcId = vpcId,\n        Name = gatewayName,\n        Description = \"my gateway\",\n        LocalEpGroups = new[]\n        {\n            vpcCidr,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tvpcId := cfg.RequireObject(\"vpcId\")\n\t\tvpcCidr := cfg.RequireObject(\"vpcCidr\")\n\t\tgatewayName := cfg.RequireObject(\"gatewayName\")\n\t\t_, err := opentelekomcloud.NewDcVirtualGatewayV3(ctx, \"gw\", \u0026opentelekomcloud.DcVirtualGatewayV3Args{\n\t\t\tVpcId:       pulumi.Any(vpcId),\n\t\t\tName:        pulumi.Any(gatewayName),\n\t\t\tDescription: pulumi.String(\"my gateway\"),\n\t\t\tLocalEpGroups: pulumi.StringArray{\n\t\t\t\tvpcCidr,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.DcVirtualGatewayV3;\nimport com.pulumi.opentelekomcloud.DcVirtualGatewayV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var vpcId = config.get(\"vpcId\");\n        final var vpcCidr = config.get(\"vpcCidr\");\n        final var gatewayName = config.get(\"gatewayName\");\n        var gw = new DcVirtualGatewayV3(\"gw\", DcVirtualGatewayV3Args.builder()\n            .vpcId(vpcId)\n            .name(gatewayName)\n            .description(\"my gateway\")\n            .localEpGroups(vpcCidr)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  vpcId:\n    type: dynamic\n  vpcCidr:\n    type: dynamic\n  gatewayName:\n    type: dynamic\nresources:\n  gw:\n    type: opentelekomcloud:DcVirtualGatewayV3\n    properties:\n      vpcId: ${vpcId}\n      name: ${gatewayName}\n      description: my gateway\n      localEpGroups:\n        - ${vpcCidr}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVirtual gateways can be imported using their `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/dcVirtualGatewayV3:DcVirtualGatewayV3 gw e41748a0-aed9-463e-9817-5c6162265d10\n```\n\n","properties":{"asn":{"type":"number","description":"Specifies the local BGP ASN of the virtual gateway.\nThe valid value is range from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to `4,294,967,295`.\nChanging this will create a new resource.\n"},"dcVirtualGatewayV3Id":{"type":"string","description":"The ID of the virtual gateway.\n"},"description":{"type":"string","description":"Specifies the description of the virtual gateway.\nThe description contain a maximum of 128 characters and the angle brackets (\u003c and \u003e) are not allowed.\nChinese characters must be in `UTF-8` or `Unicode` format.\n"},"localEpGroupIpv6s":{"type":"array","items":{"type":"string"},"description":"Specifies the IPv6 subnets of the associated VPC that can be accessed over the virtual gateway.\n"},"localEpGroups":{"type":"array","items":{"type":"string"},"description":"Specifies the list of IPv4 subnets from the virtual gateway to access cloud\nservices, which is usually the CIDR block of the VPC.\n"},"name":{"type":"string","description":"Specifies the name of the virtual gateway.\nThe valid length is limited from \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e, only chinese and english letters, digits, hyphens (-), underscores (_)\nand dots (.) are allowed.\nThe Chinese characters must be in `UTF-8` or `Unicode` format.\n"},"region":{"type":"string","description":"The region where the virtual gateway is located.\n"},"status":{"type":"string","description":"The current status of the virtual gateway.\n"},"vpcId":{"type":"string","description":"Specifies the ID of the VPC connected to the virtual gateway.\nChanging this will create a new resource.\n"}},"type":"object","required":["asn","dcVirtualGatewayV3Id","localEpGroupIpv6s","localEpGroups","name","region","status","vpcId"],"inputProperties":{"asn":{"type":"number","description":"Specifies the local BGP ASN of the virtual gateway.\nThe valid value is range from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to `4,294,967,295`.\nChanging this will create a new resource.\n"},"dcVirtualGatewayV3Id":{"type":"string","description":"The ID of the virtual gateway.\n"},"description":{"type":"string","description":"Specifies the description of the virtual gateway.\nThe description contain a maximum of 128 characters and the angle brackets (\u003c and \u003e) are not allowed.\nChinese characters must be in `UTF-8` or `Unicode` format.\n"},"localEpGroupIpv6s":{"type":"array","items":{"type":"string"},"description":"Specifies the IPv6 subnets of the associated VPC that can be accessed over the virtual gateway.\n"},"localEpGroups":{"type":"array","items":{"type":"string"},"description":"Specifies the list of IPv4 subnets from the virtual gateway to access cloud\nservices, which is usually the CIDR block of the VPC.\n"},"name":{"type":"string","description":"Specifies the name of the virtual gateway.\nThe valid length is limited from \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e, only chinese and english letters, digits, hyphens (-), underscores (_)\nand dots (.) are allowed.\nThe Chinese characters must be in `UTF-8` or `Unicode` format.\n"},"vpcId":{"type":"string","description":"Specifies the ID of the VPC connected to the virtual gateway.\nChanging this will create a new resource.\n"}},"requiredInputs":["localEpGroups","vpcId"],"stateInputs":{"description":"Input properties used for looking up and filtering DcVirtualGatewayV3 resources.\n","properties":{"asn":{"type":"number","description":"Specifies the local BGP ASN of the virtual gateway.\nThe valid value is range from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to `4,294,967,295`.\nChanging this will create a new resource.\n"},"dcVirtualGatewayV3Id":{"type":"string","description":"The ID of the virtual gateway.\n"},"description":{"type":"string","description":"Specifies the description of the virtual gateway.\nThe description contain a maximum of 128 characters and the angle brackets (\u003c and \u003e) are not allowed.\nChinese characters must be in `UTF-8` or `Unicode` format.\n"},"localEpGroupIpv6s":{"type":"array","items":{"type":"string"},"description":"Specifies the IPv6 subnets of the associated VPC that can be accessed over the virtual gateway.\n"},"localEpGroups":{"type":"array","items":{"type":"string"},"description":"Specifies the list of IPv4 subnets from the virtual gateway to access cloud\nservices, which is usually the CIDR block of the VPC.\n"},"name":{"type":"string","description":"Specifies the name of the virtual gateway.\nThe valid length is limited from \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e, only chinese and english letters, digits, hyphens (-), underscores (_)\nand dots (.) are allowed.\nThe Chinese characters must be in `UTF-8` or `Unicode` format.\n"},"region":{"type":"string","description":"The region where the virtual gateway is located.\n"},"status":{"type":"string","description":"The current status of the virtual gateway.\n"},"vpcId":{"type":"string","description":"Specifies the ID of the VPC connected to the virtual gateway.\nChanging this will create a new resource.\n"}},"type":"object"}},"opentelekomcloud:index/dcVirtualInterfacePeerV3:DcVirtualInterfacePeerV3":{"description":"Manages a virtual interface peer v3 resource within OpenTelekomCloud.\n\n\u003e **NOTE:** Direct Connect v3 API that are used in this resource officially supported only on SwissCloud now.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst virtualInterfaceId = config.requireObject\u003cany\u003e(\"virtualInterfaceId\");\nconst vp = new opentelekomcloud.DcVirtualInterfacePeerV3(\"vp\", {\n    vifId: virtualInterfaceId,\n    name: \"my_peer\",\n    addressFamily: \"ipv6\",\n    routeMode: \"static\",\n    remoteEpGroups: [\"fd00:0:0:0:0:0:0:0/64\"],\n    description: \"ipv6 peer\",\n    localGatewayIp: \"FD00::1/64\",\n    remoteGatewayIp: \"FD00::2/64\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nvirtual_interface_id = config.require_object(\"virtualInterfaceId\")\nvp = opentelekomcloud.DcVirtualInterfacePeerV3(\"vp\",\n    vif_id=virtual_interface_id,\n    name=\"my_peer\",\n    address_family=\"ipv6\",\n    route_mode=\"static\",\n    remote_ep_groups=[\"fd00:0:0:0:0:0:0:0/64\"],\n    description=\"ipv6 peer\",\n    local_gateway_ip=\"FD00::1/64\",\n    remote_gateway_ip=\"FD00::2/64\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var virtualInterfaceId = config.RequireObject\u003cdynamic\u003e(\"virtualInterfaceId\");\n    var vp = new Opentelekomcloud.DcVirtualInterfacePeerV3(\"vp\", new()\n    {\n        VifId = virtualInterfaceId,\n        Name = \"my_peer\",\n        AddressFamily = \"ipv6\",\n        RouteMode = \"static\",\n        RemoteEpGroups = new[]\n        {\n            \"fd00:0:0:0:0:0:0:0/64\",\n        },\n        Description = \"ipv6 peer\",\n        LocalGatewayIp = \"FD00::1/64\",\n        RemoteGatewayIp = \"FD00::2/64\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tvirtualInterfaceId := cfg.RequireObject(\"virtualInterfaceId\")\n\t\t_, err := opentelekomcloud.NewDcVirtualInterfacePeerV3(ctx, \"vp\", \u0026opentelekomcloud.DcVirtualInterfacePeerV3Args{\n\t\t\tVifId:         pulumi.Any(virtualInterfaceId),\n\t\t\tName:          pulumi.String(\"my_peer\"),\n\t\t\tAddressFamily: pulumi.String(\"ipv6\"),\n\t\t\tRouteMode:     pulumi.String(\"static\"),\n\t\t\tRemoteEpGroups: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"fd00:0:0:0:0:0:0:0/64\"),\n\t\t\t},\n\t\t\tDescription:     pulumi.String(\"ipv6 peer\"),\n\t\t\tLocalGatewayIp:  pulumi.String(\"FD00::1/64\"),\n\t\t\tRemoteGatewayIp: pulumi.String(\"FD00::2/64\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.DcVirtualInterfacePeerV3;\nimport com.pulumi.opentelekomcloud.DcVirtualInterfacePeerV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var virtualInterfaceId = config.get(\"virtualInterfaceId\");\n        var vp = new DcVirtualInterfacePeerV3(\"vp\", DcVirtualInterfacePeerV3Args.builder()\n            .vifId(virtualInterfaceId)\n            .name(\"my_peer\")\n            .addressFamily(\"ipv6\")\n            .routeMode(\"static\")\n            .remoteEpGroups(\"fd00:0:0:0:0:0:0:0/64\")\n            .description(\"ipv6 peer\")\n            .localGatewayIp(\"FD00::1/64\")\n            .remoteGatewayIp(\"FD00::2/64\")\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  virtualInterfaceId:\n    type: dynamic\nresources:\n  vp:\n    type: opentelekomcloud:DcVirtualInterfacePeerV3\n    properties:\n      vifId: ${virtualInterfaceId}\n      name: my_peer\n      addressFamily: ipv6\n      routeMode: static\n      remoteEpGroups:\n        - fd00:0:0:0:0:0:0:0/64\n      description: ipv6 peer\n      localGatewayIp: FD00::1/64\n      remoteGatewayIp: FD00::2/64\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVirtual interface peers can be imported using their `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/dcVirtualInterfacePeerV3:DcVirtualInterfacePeerV3 vi e41748a0-aed9-463e-9817-5c6162265d11\n```\n\n","properties":{"addressFamily":{"type":"string","description":"The address family type of the virtual interface, which can be `IPv4` or `IPv6`.\n"},"bgpAsn":{"type":"number","description":"The ASN of the BGP peer.\n"},"bgpMd5":{"type":"string","description":"The MD5 password of the BGP peer.\n"},"bgpRouteLimit":{"type":"number","description":"The BGP route configuration.\n"},"bgpStatus":{"type":"string","description":"The BGP protocol status of the virtual interface peer.\n"},"dcVirtualInterfacePeerV3Id":{"type":"string","description":"The VIF peer resource ID.\n"},"description":{"type":"string","description":"Provides supplementary information about the virtual interface peer.\n"},"deviceId":{"type":"string","description":"The ID of the device that the virtual interface peer belongs to.\n"},"enableBfd":{"type":"boolean","description":"BFD status.\n"},"enableNqa":{"type":"boolean","description":"NQA status.\n"},"localGatewayIp":{"type":"string","description":"The address of the virtual interface peer used on the cloud.\n"},"name":{"type":"string","description":"Specifies the name of the virtual interface peer.\n"},"projectId":{"type":"string","description":"The project where the virtual interface is located.\n"},"receiveRouteNum":{"type":"number","description":"The number of received BGP routes if \u003cspan pulumi-lang-nodejs=\"`bgp`\" pulumi-lang-dotnet=\"`Bgp`\" pulumi-lang-go=\"`bgp`\" pulumi-lang-python=\"`bgp`\" pulumi-lang-yaml=\"`bgp`\" pulumi-lang-java=\"`bgp`\"\u003e`bgp`\u003c/span\u003e routing is used.\n"},"region":{"type":"string","description":"The region where the virtual interface is located.\n"},"remoteEpGroups":{"type":"array","items":{"type":"string"},"description":"The remote subnet list, which records the CIDR blocks used in the on-premises data center.\n"},"remoteGatewayIp":{"type":"string","description":"The address of the virtual interface peer used in the on-premises data center.\n"},"routeMode":{"type":"string","description":"The routing mode, which can be \u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\"\u003e`static`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`bgp`\" pulumi-lang-dotnet=\"`Bgp`\" pulumi-lang-go=\"`bgp`\" pulumi-lang-python=\"`bgp`\" pulumi-lang-yaml=\"`bgp`\" pulumi-lang-java=\"`bgp`\"\u003e`bgp`\u003c/span\u003e.\n"},"serviceEpGroups":{"type":"array","items":{"type":"string"},"description":"The list of public network addresses that can be accessed by the on-premises data center.\n"},"status":{"type":"string","description":"The status of the virtual interface peer.\n"},"vifId":{"type":"string","description":"Specifies the ID of the virtual interface corresponding to the virtual interface peer.\n"}},"type":"object","required":["addressFamily","bgpRouteLimit","bgpStatus","dcVirtualInterfacePeerV3Id","deviceId","enableBfd","enableNqa","localGatewayIp","name","projectId","receiveRouteNum","region","remoteEpGroups","remoteGatewayIp","serviceEpGroups","status","vifId"],"inputProperties":{"addressFamily":{"type":"string","description":"The address family type of the virtual interface, which can be `IPv4` or `IPv6`.\n"},"bgpAsn":{"type":"number","description":"The ASN of the BGP peer.\n"},"bgpMd5":{"type":"string","description":"The MD5 password of the BGP peer.\n"},"dcVirtualInterfacePeerV3Id":{"type":"string","description":"The VIF peer resource ID.\n"},"description":{"type":"string","description":"Provides supplementary information about the virtual interface peer.\n"},"localGatewayIp":{"type":"string","description":"The address of the virtual interface peer used on the cloud.\n"},"name":{"type":"string","description":"Specifies the name of the virtual interface peer.\n"},"remoteEpGroups":{"type":"array","items":{"type":"string"},"description":"The remote subnet list, which records the CIDR blocks used in the on-premises data center.\n"},"remoteGatewayIp":{"type":"string","description":"The address of the virtual interface peer used in the on-premises data center.\n"},"routeMode":{"type":"string","description":"The routing mode, which can be \u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\"\u003e`static`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`bgp`\" pulumi-lang-dotnet=\"`Bgp`\" pulumi-lang-go=\"`bgp`\" pulumi-lang-python=\"`bgp`\" pulumi-lang-yaml=\"`bgp`\" pulumi-lang-java=\"`bgp`\"\u003e`bgp`\u003c/span\u003e.\n"},"vifId":{"type":"string","description":"Specifies the ID of the virtual interface corresponding to the virtual interface peer.\n"}},"requiredInputs":["addressFamily","localGatewayIp","remoteEpGroups","remoteGatewayIp","vifId"],"stateInputs":{"description":"Input properties used for looking up and filtering DcVirtualInterfacePeerV3 resources.\n","properties":{"addressFamily":{"type":"string","description":"The address family type of the virtual interface, which can be `IPv4` or `IPv6`.\n"},"bgpAsn":{"type":"number","description":"The ASN of the BGP peer.\n"},"bgpMd5":{"type":"string","description":"The MD5 password of the BGP peer.\n"},"bgpRouteLimit":{"type":"number","description":"The BGP route configuration.\n"},"bgpStatus":{"type":"string","description":"The BGP protocol status of the virtual interface peer.\n"},"dcVirtualInterfacePeerV3Id":{"type":"string","description":"The VIF peer resource ID.\n"},"description":{"type":"string","description":"Provides supplementary information about the virtual interface peer.\n"},"deviceId":{"type":"string","description":"The ID of the device that the virtual interface peer belongs to.\n"},"enableBfd":{"type":"boolean","description":"BFD status.\n"},"enableNqa":{"type":"boolean","description":"NQA status.\n"},"localGatewayIp":{"type":"string","description":"The address of the virtual interface peer used on the cloud.\n"},"name":{"type":"string","description":"Specifies the name of the virtual interface peer.\n"},"projectId":{"type":"string","description":"The project where the virtual interface is located.\n"},"receiveRouteNum":{"type":"number","description":"The number of received BGP routes if \u003cspan pulumi-lang-nodejs=\"`bgp`\" pulumi-lang-dotnet=\"`Bgp`\" pulumi-lang-go=\"`bgp`\" pulumi-lang-python=\"`bgp`\" pulumi-lang-yaml=\"`bgp`\" pulumi-lang-java=\"`bgp`\"\u003e`bgp`\u003c/span\u003e routing is used.\n"},"region":{"type":"string","description":"The region where the virtual interface is located.\n"},"remoteEpGroups":{"type":"array","items":{"type":"string"},"description":"The remote subnet list, which records the CIDR blocks used in the on-premises data center.\n"},"remoteGatewayIp":{"type":"string","description":"The address of the virtual interface peer used in the on-premises data center.\n"},"routeMode":{"type":"string","description":"The routing mode, which can be \u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\"\u003e`static`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`bgp`\" pulumi-lang-dotnet=\"`Bgp`\" pulumi-lang-go=\"`bgp`\" pulumi-lang-python=\"`bgp`\" pulumi-lang-yaml=\"`bgp`\" pulumi-lang-java=\"`bgp`\"\u003e`bgp`\u003c/span\u003e.\n"},"serviceEpGroups":{"type":"array","items":{"type":"string"},"description":"The list of public network addresses that can be accessed by the on-premises data center.\n"},"status":{"type":"string","description":"The status of the virtual interface peer.\n"},"vifId":{"type":"string","description":"Specifies the ID of the virtual interface corresponding to the virtual interface peer.\n"}},"type":"object"}},"opentelekomcloud:index/dcVirtualInterfaceV2:DcVirtualInterfaceV2":{"properties":{"asn":{"type":"number"},"bandwidth":{"type":"number"},"bgpMd5":{"type":"string"},"createdAt":{"type":"string"},"dcVirtualInterfaceV2Id":{"type":"string"},"description":{"type":"string"},"directConnectId":{"type":"string"},"enableBfd":{"type":"boolean"},"enableNqa":{"type":"boolean"},"lagId":{"type":"string"},"localGatewayV4Ip":{"type":"string"},"name":{"type":"string"},"projectId":{"type":"string"},"remoteEpGroup":{"$ref":"#/types/opentelekomcloud:index%2FDcVirtualInterfaceV2RemoteEpGroup:DcVirtualInterfaceV2RemoteEpGroup"},"remoteEpGroupId":{"type":"string"},"remoteGatewayV4Ip":{"type":"string"},"routeMode":{"type":"string"},"serviceType":{"type":"string"},"status":{"type":"string"},"type":{"type":"string"},"virtualGatewayId":{"type":"string"},"vlan":{"type":"number"}},"type":"object","required":["asn","bandwidth","bgpMd5","createdAt","dcVirtualInterfaceV2Id","directConnectId","enableBfd","enableNqa","lagId","name","remoteEpGroup","remoteEpGroupId","routeMode","serviceType","status","type","virtualGatewayId","vlan"],"inputProperties":{"asn":{"type":"number"},"bandwidth":{"type":"number"},"bgpMd5":{"type":"string"},"dcVirtualInterfaceV2Id":{"type":"string"},"description":{"type":"string"},"directConnectId":{"type":"string"},"enableBfd":{"type":"boolean"},"enableNqa":{"type":"boolean"},"lagId":{"type":"string"},"localGatewayV4Ip":{"type":"string"},"name":{"type":"string"},"projectId":{"type":"string"},"remoteEpGroup":{"$ref":"#/types/opentelekomcloud:index%2FDcVirtualInterfaceV2RemoteEpGroup:DcVirtualInterfaceV2RemoteEpGroup"},"remoteGatewayV4Ip":{"type":"string"},"routeMode":{"type":"string"},"serviceType":{"type":"string"},"type":{"type":"string"},"virtualGatewayId":{"type":"string"},"vlan":{"type":"number"}},"requiredInputs":["bandwidth","directConnectId","remoteEpGroup","routeMode","serviceType","type","virtualGatewayId","vlan"],"stateInputs":{"description":"Input properties used for looking up and filtering DcVirtualInterfaceV2 resources.\n","properties":{"asn":{"type":"number"},"bandwidth":{"type":"number"},"bgpMd5":{"type":"string"},"createdAt":{"type":"string"},"dcVirtualInterfaceV2Id":{"type":"string"},"description":{"type":"string"},"directConnectId":{"type":"string"},"enableBfd":{"type":"boolean"},"enableNqa":{"type":"boolean"},"lagId":{"type":"string"},"localGatewayV4Ip":{"type":"string"},"name":{"type":"string"},"projectId":{"type":"string"},"remoteEpGroup":{"$ref":"#/types/opentelekomcloud:index%2FDcVirtualInterfaceV2RemoteEpGroup:DcVirtualInterfaceV2RemoteEpGroup"},"remoteEpGroupId":{"type":"string"},"remoteGatewayV4Ip":{"type":"string"},"routeMode":{"type":"string"},"serviceType":{"type":"string"},"status":{"type":"string"},"type":{"type":"string"},"virtualGatewayId":{"type":"string"},"vlan":{"type":"number"}},"type":"object"}},"opentelekomcloud:index/dcVirtualInterfaceV3:DcVirtualInterfaceV3":{"description":"Manages a virtual interface v3 resource within OpenTelekomCloud.\n\n\u003e **NOTE:** Direct Connect v3 API that are used in this resource officially supported only on SwissCloud now.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst directConnectId = config.requireObject\u003cany\u003e(\"directConnectId\");\nconst gatewayId = config.requireObject\u003cany\u003e(\"gatewayId\");\nconst interfaceName = config.requireObject\u003cany\u003e(\"interfaceName\");\nconst vi = new opentelekomcloud.DcVirtualInterfaceV3(\"vi\", {\n    directConnectId: directConnectId,\n    vgwId: gatewayId,\n    name: interfaceName,\n    type: \"private\",\n    routeMode: \"static\",\n    vlan: 522,\n    bandwidth: 5,\n    remoteEpGroups: [\"1.1.1.0/30\"],\n    addressFamily: \"ipv4\",\n    localGatewayV4Ip: \"1.1.1.1/30\",\n    remoteGatewayV4Ip: \"1.1.1.2/30\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ndirect_connect_id = config.require_object(\"directConnectId\")\ngateway_id = config.require_object(\"gatewayId\")\ninterface_name = config.require_object(\"interfaceName\")\nvi = opentelekomcloud.DcVirtualInterfaceV3(\"vi\",\n    direct_connect_id=direct_connect_id,\n    vgw_id=gateway_id,\n    name=interface_name,\n    type=\"private\",\n    route_mode=\"static\",\n    vlan=522,\n    bandwidth=5,\n    remote_ep_groups=[\"1.1.1.0/30\"],\n    address_family=\"ipv4\",\n    local_gateway_v4_ip=\"1.1.1.1/30\",\n    remote_gateway_v4_ip=\"1.1.1.2/30\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var directConnectId = config.RequireObject\u003cdynamic\u003e(\"directConnectId\");\n    var gatewayId = config.RequireObject\u003cdynamic\u003e(\"gatewayId\");\n    var interfaceName = config.RequireObject\u003cdynamic\u003e(\"interfaceName\");\n    var vi = new Opentelekomcloud.DcVirtualInterfaceV3(\"vi\", new()\n    {\n        DirectConnectId = directConnectId,\n        VgwId = gatewayId,\n        Name = interfaceName,\n        Type = \"private\",\n        RouteMode = \"static\",\n        Vlan = 522,\n        Bandwidth = 5,\n        RemoteEpGroups = new[]\n        {\n            \"1.1.1.0/30\",\n        },\n        AddressFamily = \"ipv4\",\n        LocalGatewayV4Ip = \"1.1.1.1/30\",\n        RemoteGatewayV4Ip = \"1.1.1.2/30\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tdirectConnectId := cfg.RequireObject(\"directConnectId\")\n\t\tgatewayId := cfg.RequireObject(\"gatewayId\")\n\t\tinterfaceName := cfg.RequireObject(\"interfaceName\")\n\t\t_, err := opentelekomcloud.NewDcVirtualInterfaceV3(ctx, \"vi\", \u0026opentelekomcloud.DcVirtualInterfaceV3Args{\n\t\t\tDirectConnectId: pulumi.Any(directConnectId),\n\t\t\tVgwId:           pulumi.Any(gatewayId),\n\t\t\tName:            pulumi.Any(interfaceName),\n\t\t\tType:            pulumi.String(\"private\"),\n\t\t\tRouteMode:       pulumi.String(\"static\"),\n\t\t\tVlan:            pulumi.Float64(522),\n\t\t\tBandwidth:       pulumi.Float64(5),\n\t\t\tRemoteEpGroups: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"1.1.1.0/30\"),\n\t\t\t},\n\t\t\tAddressFamily:     pulumi.String(\"ipv4\"),\n\t\t\tLocalGatewayV4Ip:  pulumi.String(\"1.1.1.1/30\"),\n\t\t\tRemoteGatewayV4Ip: pulumi.String(\"1.1.1.2/30\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.DcVirtualInterfaceV3;\nimport com.pulumi.opentelekomcloud.DcVirtualInterfaceV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var directConnectId = config.get(\"directConnectId\");\n        final var gatewayId = config.get(\"gatewayId\");\n        final var interfaceName = config.get(\"interfaceName\");\n        var vi = new DcVirtualInterfaceV3(\"vi\", DcVirtualInterfaceV3Args.builder()\n            .directConnectId(directConnectId)\n            .vgwId(gatewayId)\n            .name(interfaceName)\n            .type(\"private\")\n            .routeMode(\"static\")\n            .vlan(522.0)\n            .bandwidth(5.0)\n            .remoteEpGroups(\"1.1.1.0/30\")\n            .addressFamily(\"ipv4\")\n            .localGatewayV4Ip(\"1.1.1.1/30\")\n            .remoteGatewayV4Ip(\"1.1.1.2/30\")\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  directConnectId:\n    type: dynamic\n  gatewayId:\n    type: dynamic\n  interfaceName:\n    type: dynamic\nresources:\n  vi:\n    type: opentelekomcloud:DcVirtualInterfaceV3\n    properties:\n      directConnectId: ${directConnectId}\n      vgwId: ${gatewayId}\n      name: ${interfaceName}\n      type: private\n      routeMode: static\n      vlan: 522\n      bandwidth: 5\n      remoteEpGroups:\n        - 1.1.1.0/30\n      addressFamily: ipv4\n      localGatewayV4Ip: 1.1.1.1/30\n      remoteGatewayV4Ip: 1.1.1.2/30\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVirtual interfaces can be imported using their `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/dcVirtualInterfaceV3:DcVirtualInterfaceV3 vi e41748a0-aed9-463e-9817-5c6162265d10\n```\n\n","properties":{"addressFamily":{"type":"string","description":"Specifies the service type of the virtual interface.\nThe valid values are \u003cspan pulumi-lang-nodejs=\"`ipv4`\" pulumi-lang-dotnet=\"`Ipv4`\" pulumi-lang-go=\"`ipv4`\" pulumi-lang-python=\"`ipv4`\" pulumi-lang-yaml=\"`ipv4`\" pulumi-lang-java=\"`ipv4`\"\u003e`ipv4`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`ipv6`\" pulumi-lang-dotnet=\"`Ipv6`\" pulumi-lang-go=\"`ipv6`\" pulumi-lang-python=\"`ipv6`\" pulumi-lang-yaml=\"`ipv6`\" pulumi-lang-java=\"`ipv6`\"\u003e`ipv6`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`ipv4`\" pulumi-lang-dotnet=\"`Ipv4`\" pulumi-lang-go=\"`ipv4`\" pulumi-lang-python=\"`ipv4`\" pulumi-lang-yaml=\"`ipv4`\" pulumi-lang-java=\"`ipv4`\"\u003e`ipv4`\u003c/span\u003e.\nChanging this will create a new resource.\n"},"asn":{"type":"number","description":"Specifies the local BGP ASN of the virtual interface.\nThe valid value is range from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to `4,294,967,295`, except `64,512`.\nChanging this will create a new resource.\n"},"bandwidth":{"type":"number","description":"Specifies the bandwidth of the virtual interface. The unit is Mbit/s.\nThe size range depends on the direct connection.\n"},"bgpMd5":{"type":"string","description":"Specifies the (MD5) password for the local BGP.\nChanging this will create a new resource.\n"},"createdAt":{"type":"string","description":"The creation time of the virtual interface\n"},"dcVirtualInterfaceV3Id":{"type":"string","description":"The VIF peer resource ID.\n"},"description":{"type":"string","description":"Specifies the description of the virtual interface.\nThe description contain a maximum of \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e characters and the angle brackets (`\u003c` and `\u003e`) are not allowed.\nChinese characters must be in `UTF-8` or `Unicode` format.\n"},"deviceId":{"type":"string","description":"The ID of the device that the virtual interface peer belongs to.\n"},"directConnectId":{"type":"string","description":"Specifies the ID of the direct connection associated with the\nvirtual interface.\nChanging this will create a new resource.\n"},"enableBfd":{"type":"boolean","description":"Specifies whether to enable the Bidirectional Forwarding Detection (BFD) function.\nDefaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. (This is a reserved parameter and is not supported currently.)\n"},"enableNqa":{"type":"boolean","description":"Specifies whether to enable the Network Quality Analysis (NQA) function.\nDefaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. (This is a reserved parameter and is not supported currently.)\n\n\u003e The values of parameter \u003cspan pulumi-lang-nodejs=\"`enableBfd`\" pulumi-lang-dotnet=\"`EnableBfd`\" pulumi-lang-go=\"`enableBfd`\" pulumi-lang-python=\"`enable_bfd`\" pulumi-lang-yaml=\"`enableBfd`\" pulumi-lang-java=\"`enableBfd`\"\u003e`enable_bfd`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`enableNqa`\" pulumi-lang-dotnet=\"`EnableNqa`\" pulumi-lang-go=\"`enableNqa`\" pulumi-lang-python=\"`enable_nqa`\" pulumi-lang-yaml=\"`enableNqa`\" pulumi-lang-java=\"`enableNqa`\"\u003e`enable_nqa`\u003c/span\u003e cannot be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e at the same time.\n"},"lagId":{"type":"string","description":"Specifies the ID of the link aggregation group (LAG) associated with the\nvirtual interface.\nChanging this will create a new resource.\n"},"localGatewayV4Ip":{"type":"string","description":"Specifies the IPv4 address of the virtual interface in cloud\nside. This parameter is mandatory if \u003cspan pulumi-lang-nodejs=\"`addressFamily`\" pulumi-lang-dotnet=\"`AddressFamily`\" pulumi-lang-go=\"`addressFamily`\" pulumi-lang-python=\"`address_family`\" pulumi-lang-yaml=\"`addressFamily`\" pulumi-lang-java=\"`addressFamily`\"\u003e`address_family`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`ipv4`\" pulumi-lang-dotnet=\"`Ipv4`\" pulumi-lang-go=\"`ipv4`\" pulumi-lang-python=\"`ipv4`\" pulumi-lang-yaml=\"`ipv4`\" pulumi-lang-java=\"`ipv4`\"\u003e`ipv4`\u003c/span\u003e.\nChanging this will create a new resource.\n"},"localGatewayV6Ip":{"type":"string","description":"Specifies the IPv6 address of the virtual interface in cloud\nside. This parameter is mandatory if \u003cspan pulumi-lang-nodejs=\"`addressFamily`\" pulumi-lang-dotnet=\"`AddressFamily`\" pulumi-lang-go=\"`addressFamily`\" pulumi-lang-python=\"`address_family`\" pulumi-lang-yaml=\"`addressFamily`\" pulumi-lang-java=\"`addressFamily`\"\u003e`address_family`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`ipv6`\" pulumi-lang-dotnet=\"`Ipv6`\" pulumi-lang-go=\"`ipv6`\" pulumi-lang-python=\"`ipv6`\" pulumi-lang-yaml=\"`ipv6`\" pulumi-lang-java=\"`ipv6`\"\u003e`ipv6`\u003c/span\u003e.\nChanging this will create a new resource.\n"},"name":{"type":"string","description":"Specifies the name of the virtual interface.\n"},"region":{"type":"string","description":"The region where the virtual interface is located.\n"},"remoteEpGroups":{"type":"array","items":{"type":"string"},"description":"Specifies the CIDR list of remote subnets.\nA CIDR that contains CIDRs of local subnet (corresponding to the parameter \u003cspan pulumi-lang-nodejs=\"`localGatewayV4Ip`\" pulumi-lang-dotnet=\"`LocalGatewayV4Ip`\" pulumi-lang-go=\"`localGatewayV4Ip`\" pulumi-lang-python=\"`local_gateway_v4_ip`\" pulumi-lang-yaml=\"`localGatewayV4Ip`\" pulumi-lang-java=\"`localGatewayV4Ip`\"\u003e`local_gateway_v4_ip`\u003c/span\u003e or\n\u003cspan pulumi-lang-nodejs=\"`localGatewayV6Ip`\" pulumi-lang-dotnet=\"`LocalGatewayV6Ip`\" pulumi-lang-go=\"`localGatewayV6Ip`\" pulumi-lang-python=\"`local_gateway_v6_ip`\" pulumi-lang-yaml=\"`localGatewayV6Ip`\" pulumi-lang-java=\"`localGatewayV6Ip`\"\u003e`local_gateway_v6_ip`\u003c/span\u003e) and remote subnet (corresponding to the parameter \u003cspan pulumi-lang-nodejs=\"`remoteGatewayV4Ip`\" pulumi-lang-dotnet=\"`RemoteGatewayV4Ip`\" pulumi-lang-go=\"`remoteGatewayV4Ip`\" pulumi-lang-python=\"`remote_gateway_v4_ip`\" pulumi-lang-yaml=\"`remoteGatewayV4Ip`\" pulumi-lang-java=\"`remoteGatewayV4Ip`\"\u003e`remote_gateway_v4_ip`\u003c/span\u003e or\n\u003cspan pulumi-lang-nodejs=\"`remoteGatewayV6Ip`\" pulumi-lang-dotnet=\"`RemoteGatewayV6Ip`\" pulumi-lang-go=\"`remoteGatewayV6Ip`\" pulumi-lang-python=\"`remote_gateway_v6_ip`\" pulumi-lang-yaml=\"`remoteGatewayV6Ip`\" pulumi-lang-java=\"`remoteGatewayV6Ip`\"\u003e`remote_gateway_v6_ip`\u003c/span\u003e) must exist in the list.\n"},"remoteGatewayV4Ip":{"type":"string","description":"Specifies the IPv4 address of the virtual interface in client\nside. This parameter is mandatory if \u003cspan pulumi-lang-nodejs=\"`addressFamily`\" pulumi-lang-dotnet=\"`AddressFamily`\" pulumi-lang-go=\"`addressFamily`\" pulumi-lang-python=\"`address_family`\" pulumi-lang-yaml=\"`addressFamily`\" pulumi-lang-java=\"`addressFamily`\"\u003e`address_family`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`ipv4`\" pulumi-lang-dotnet=\"`Ipv4`\" pulumi-lang-go=\"`ipv4`\" pulumi-lang-python=\"`ipv4`\" pulumi-lang-yaml=\"`ipv4`\" pulumi-lang-java=\"`ipv4`\"\u003e`ipv4`\u003c/span\u003e.\nChanging this will create a new resource.\n"},"remoteGatewayV6Ip":{"type":"string","description":"Specifies the IPv6 address of the virtual interface in client\nside. This parameter is mandatory if \u003cspan pulumi-lang-nodejs=\"`addressFamily`\" pulumi-lang-dotnet=\"`AddressFamily`\" pulumi-lang-go=\"`addressFamily`\" pulumi-lang-python=\"`address_family`\" pulumi-lang-yaml=\"`addressFamily`\" pulumi-lang-java=\"`addressFamily`\"\u003e`address_family`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`ipv6`\" pulumi-lang-dotnet=\"`Ipv6`\" pulumi-lang-go=\"`ipv6`\" pulumi-lang-python=\"`ipv6`\" pulumi-lang-yaml=\"`ipv6`\" pulumi-lang-java=\"`ipv6`\"\u003e`ipv6`\u003c/span\u003e.\nChanging this will create a new resource.\n\n\u003e The CIDRs of \u003cspan pulumi-lang-nodejs=\"`localGatewayV4Ip`\" pulumi-lang-dotnet=\"`LocalGatewayV4Ip`\" pulumi-lang-go=\"`localGatewayV4Ip`\" pulumi-lang-python=\"`local_gateway_v4_ip`\" pulumi-lang-yaml=\"`localGatewayV4Ip`\" pulumi-lang-java=\"`localGatewayV4Ip`\"\u003e`local_gateway_v4_ip`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`remoteGatewayV4Ip`\" pulumi-lang-dotnet=\"`RemoteGatewayV4Ip`\" pulumi-lang-go=\"`remoteGatewayV4Ip`\" pulumi-lang-python=\"`remote_gateway_v4_ip`\" pulumi-lang-yaml=\"`remoteGatewayV4Ip`\" pulumi-lang-java=\"`remoteGatewayV4Ip`\"\u003e`remote_gateway_v4_ip`\u003c/span\u003e (or \u003cspan pulumi-lang-nodejs=\"`localGatewayV6Ip`\" pulumi-lang-dotnet=\"`LocalGatewayV6Ip`\" pulumi-lang-go=\"`localGatewayV6Ip`\" pulumi-lang-python=\"`local_gateway_v6_ip`\" pulumi-lang-yaml=\"`localGatewayV6Ip`\" pulumi-lang-java=\"`localGatewayV6Ip`\"\u003e`local_gateway_v6_ip`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`remoteGatewayV6Ip`\" pulumi-lang-dotnet=\"`RemoteGatewayV6Ip`\" pulumi-lang-go=\"`remoteGatewayV6Ip`\" pulumi-lang-python=\"`remote_gateway_v6_ip`\" pulumi-lang-yaml=\"`remoteGatewayV6Ip`\" pulumi-lang-java=\"`remoteGatewayV6Ip`\"\u003e`remote_gateway_v6_ip`\u003c/span\u003e)\nmust be in the same subnet.\n"},"resourceTenantId":{"type":"string","description":"Specifies the project ID of another tenant in the same region\nwhich is used to create virtual interface across tenant. After the across tenant virtual interface is successfully\ncreated, the target tenant needs to accept the virtual interface request for the virtual interface to take effect.\nChanging this will create a new resource.\n\n\u003e 1. When \u003cspan pulumi-lang-nodejs=\"`resourceTenantId`\" pulumi-lang-dotnet=\"`ResourceTenantId`\" pulumi-lang-go=\"`resourceTenantId`\" pulumi-lang-python=\"`resource_tenant_id`\" pulumi-lang-yaml=\"`resourceTenantId`\" pulumi-lang-java=\"`resourceTenantId`\"\u003e`resource_tenant_id`\u003c/span\u003e is specified, \u003cspan pulumi-lang-nodejs=\"`vgwId`\" pulumi-lang-dotnet=\"`VgwId`\" pulumi-lang-go=\"`vgwId`\" pulumi-lang-python=\"`vgw_id`\" pulumi-lang-yaml=\"`vgwId`\" pulumi-lang-java=\"`vgwId`\"\u003e`vgw_id`\u003c/span\u003e must be the target tenant virtual gateway id.\n\u003cbr/\u003e2. When \u003cspan pulumi-lang-nodejs=\"`resourceTenantId`\" pulumi-lang-dotnet=\"`ResourceTenantId`\" pulumi-lang-go=\"`resourceTenantId`\" pulumi-lang-python=\"`resource_tenant_id`\" pulumi-lang-yaml=\"`resourceTenantId`\" pulumi-lang-java=\"`resourceTenantId`\"\u003e`resource_tenant_id`\u003c/span\u003e is specified, the tags can only be configured after the target tenant accepts the\nvirtual interface request and the virtual interface takes effect.\n"},"routeMode":{"type":"string","description":"Specifies the route mode of the virtual interface.\nThe valid values are \u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\"\u003e`static`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`bgp`\" pulumi-lang-dotnet=\"`Bgp`\" pulumi-lang-go=\"`bgp`\" pulumi-lang-python=\"`bgp`\" pulumi-lang-yaml=\"`bgp`\" pulumi-lang-java=\"`bgp`\"\u003e`bgp`\u003c/span\u003e.\nChanging this will create a new resource.\n"},"serviceEpGroups":{"type":"array","items":{"type":"string"},"description":"Specifies the subnets that access Internet services through a connection.\n"},"status":{"type":"string","description":"The status of the virtual interface peer.\n"},"type":{"type":"string","description":"Specifies the type of the virtual interface.\nThe valid value is \u003cspan pulumi-lang-nodejs=\"`private`\" pulumi-lang-dotnet=\"`Private`\" pulumi-lang-go=\"`private`\" pulumi-lang-python=\"`private`\" pulumi-lang-yaml=\"`private`\" pulumi-lang-java=\"`private`\"\u003e`private`\u003c/span\u003e.\nChanging this will create a new resource.\n"},"updatedAt":{"type":"string"},"vgwId":{"type":"string","description":"Specifies the ID of the virtual gateway to which the virtual interface is\nconnected.\nChanging this will create a new resource.\n"},"vifPeers":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FDcVirtualInterfaceV3VifPeer:DcVirtualInterfaceV3VifPeer"},"description":"The peer information of the virtual interface.\nThe\u003cspan pulumi-lang-nodejs=\" vifPeers \" pulumi-lang-dotnet=\" VifPeers \" pulumi-lang-go=\" vifPeers \" pulumi-lang-python=\" vif_peers \" pulumi-lang-yaml=\" vifPeers \" pulumi-lang-java=\" vifPeers \"\u003e vif_peers \u003c/span\u003estructure is documented below.\n"},"vlan":{"type":"number","description":"Specifies the customer VLAN to be connected.\nThe valid value is range from \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e to `3,999`.\nChanging this will create a new resource.\n"}},"type":"object","required":["asn","bandwidth","bgpMd5","createdAt","dcVirtualInterfaceV3Id","deviceId","directConnectId","enableBfd","enableNqa","lagId","name","region","remoteEpGroups","routeMode","serviceEpGroups","status","type","updatedAt","vgwId","vifPeers","vlan"],"inputProperties":{"addressFamily":{"type":"string","description":"Specifies the service type of the virtual interface.\nThe valid values are \u003cspan pulumi-lang-nodejs=\"`ipv4`\" pulumi-lang-dotnet=\"`Ipv4`\" pulumi-lang-go=\"`ipv4`\" pulumi-lang-python=\"`ipv4`\" pulumi-lang-yaml=\"`ipv4`\" pulumi-lang-java=\"`ipv4`\"\u003e`ipv4`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`ipv6`\" pulumi-lang-dotnet=\"`Ipv6`\" pulumi-lang-go=\"`ipv6`\" pulumi-lang-python=\"`ipv6`\" pulumi-lang-yaml=\"`ipv6`\" pulumi-lang-java=\"`ipv6`\"\u003e`ipv6`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`ipv4`\" pulumi-lang-dotnet=\"`Ipv4`\" pulumi-lang-go=\"`ipv4`\" pulumi-lang-python=\"`ipv4`\" pulumi-lang-yaml=\"`ipv4`\" pulumi-lang-java=\"`ipv4`\"\u003e`ipv4`\u003c/span\u003e.\nChanging this will create a new resource.\n"},"asn":{"type":"number","description":"Specifies the local BGP ASN of the virtual interface.\nThe valid value is range from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to `4,294,967,295`, except `64,512`.\nChanging this will create a new resource.\n"},"bandwidth":{"type":"number","description":"Specifies the bandwidth of the virtual interface. The unit is Mbit/s.\nThe size range depends on the direct connection.\n"},"bgpMd5":{"type":"string","description":"Specifies the (MD5) password for the local BGP.\nChanging this will create a new resource.\n"},"dcVirtualInterfaceV3Id":{"type":"string","description":"The VIF peer resource ID.\n"},"description":{"type":"string","description":"Specifies the description of the virtual interface.\nThe description contain a maximum of \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e characters and the angle brackets (`\u003c` and `\u003e`) are not allowed.\nChinese characters must be in `UTF-8` or `Unicode` format.\n"},"directConnectId":{"type":"string","description":"Specifies the ID of the direct connection associated with the\nvirtual interface.\nChanging this will create a new resource.\n"},"enableBfd":{"type":"boolean","description":"Specifies whether to enable the Bidirectional Forwarding Detection (BFD) function.\nDefaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. (This is a reserved parameter and is not supported currently.)\n"},"enableNqa":{"type":"boolean","description":"Specifies whether to enable the Network Quality Analysis (NQA) function.\nDefaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. (This is a reserved parameter and is not supported currently.)\n\n\u003e The values of parameter \u003cspan pulumi-lang-nodejs=\"`enableBfd`\" pulumi-lang-dotnet=\"`EnableBfd`\" pulumi-lang-go=\"`enableBfd`\" pulumi-lang-python=\"`enable_bfd`\" pulumi-lang-yaml=\"`enableBfd`\" pulumi-lang-java=\"`enableBfd`\"\u003e`enable_bfd`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`enableNqa`\" pulumi-lang-dotnet=\"`EnableNqa`\" pulumi-lang-go=\"`enableNqa`\" pulumi-lang-python=\"`enable_nqa`\" pulumi-lang-yaml=\"`enableNqa`\" pulumi-lang-java=\"`enableNqa`\"\u003e`enable_nqa`\u003c/span\u003e cannot be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e at the same time.\n"},"lagId":{"type":"string","description":"Specifies the ID of the link aggregation group (LAG) associated with the\nvirtual interface.\nChanging this will create a new resource.\n"},"localGatewayV4Ip":{"type":"string","description":"Specifies the IPv4 address of the virtual interface in cloud\nside. This parameter is mandatory if \u003cspan pulumi-lang-nodejs=\"`addressFamily`\" pulumi-lang-dotnet=\"`AddressFamily`\" pulumi-lang-go=\"`addressFamily`\" pulumi-lang-python=\"`address_family`\" pulumi-lang-yaml=\"`addressFamily`\" pulumi-lang-java=\"`addressFamily`\"\u003e`address_family`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`ipv4`\" pulumi-lang-dotnet=\"`Ipv4`\" pulumi-lang-go=\"`ipv4`\" pulumi-lang-python=\"`ipv4`\" pulumi-lang-yaml=\"`ipv4`\" pulumi-lang-java=\"`ipv4`\"\u003e`ipv4`\u003c/span\u003e.\nChanging this will create a new resource.\n"},"localGatewayV6Ip":{"type":"string","description":"Specifies the IPv6 address of the virtual interface in cloud\nside. This parameter is mandatory if \u003cspan pulumi-lang-nodejs=\"`addressFamily`\" pulumi-lang-dotnet=\"`AddressFamily`\" pulumi-lang-go=\"`addressFamily`\" pulumi-lang-python=\"`address_family`\" pulumi-lang-yaml=\"`addressFamily`\" pulumi-lang-java=\"`addressFamily`\"\u003e`address_family`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`ipv6`\" pulumi-lang-dotnet=\"`Ipv6`\" pulumi-lang-go=\"`ipv6`\" pulumi-lang-python=\"`ipv6`\" pulumi-lang-yaml=\"`ipv6`\" pulumi-lang-java=\"`ipv6`\"\u003e`ipv6`\u003c/span\u003e.\nChanging this will create a new resource.\n"},"name":{"type":"string","description":"Specifies the name of the virtual interface.\n"},"remoteEpGroups":{"type":"array","items":{"type":"string"},"description":"Specifies the CIDR list of remote subnets.\nA CIDR that contains CIDRs of local subnet (corresponding to the parameter \u003cspan pulumi-lang-nodejs=\"`localGatewayV4Ip`\" pulumi-lang-dotnet=\"`LocalGatewayV4Ip`\" pulumi-lang-go=\"`localGatewayV4Ip`\" pulumi-lang-python=\"`local_gateway_v4_ip`\" pulumi-lang-yaml=\"`localGatewayV4Ip`\" pulumi-lang-java=\"`localGatewayV4Ip`\"\u003e`local_gateway_v4_ip`\u003c/span\u003e or\n\u003cspan pulumi-lang-nodejs=\"`localGatewayV6Ip`\" pulumi-lang-dotnet=\"`LocalGatewayV6Ip`\" pulumi-lang-go=\"`localGatewayV6Ip`\" pulumi-lang-python=\"`local_gateway_v6_ip`\" pulumi-lang-yaml=\"`localGatewayV6Ip`\" pulumi-lang-java=\"`localGatewayV6Ip`\"\u003e`local_gateway_v6_ip`\u003c/span\u003e) and remote subnet (corresponding to the parameter \u003cspan pulumi-lang-nodejs=\"`remoteGatewayV4Ip`\" pulumi-lang-dotnet=\"`RemoteGatewayV4Ip`\" pulumi-lang-go=\"`remoteGatewayV4Ip`\" pulumi-lang-python=\"`remote_gateway_v4_ip`\" pulumi-lang-yaml=\"`remoteGatewayV4Ip`\" pulumi-lang-java=\"`remoteGatewayV4Ip`\"\u003e`remote_gateway_v4_ip`\u003c/span\u003e or\n\u003cspan pulumi-lang-nodejs=\"`remoteGatewayV6Ip`\" pulumi-lang-dotnet=\"`RemoteGatewayV6Ip`\" pulumi-lang-go=\"`remoteGatewayV6Ip`\" pulumi-lang-python=\"`remote_gateway_v6_ip`\" pulumi-lang-yaml=\"`remoteGatewayV6Ip`\" pulumi-lang-java=\"`remoteGatewayV6Ip`\"\u003e`remote_gateway_v6_ip`\u003c/span\u003e) must exist in the list.\n"},"remoteGatewayV4Ip":{"type":"string","description":"Specifies the IPv4 address of the virtual interface in client\nside. This parameter is mandatory if \u003cspan pulumi-lang-nodejs=\"`addressFamily`\" pulumi-lang-dotnet=\"`AddressFamily`\" pulumi-lang-go=\"`addressFamily`\" pulumi-lang-python=\"`address_family`\" pulumi-lang-yaml=\"`addressFamily`\" pulumi-lang-java=\"`addressFamily`\"\u003e`address_family`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`ipv4`\" pulumi-lang-dotnet=\"`Ipv4`\" pulumi-lang-go=\"`ipv4`\" pulumi-lang-python=\"`ipv4`\" pulumi-lang-yaml=\"`ipv4`\" pulumi-lang-java=\"`ipv4`\"\u003e`ipv4`\u003c/span\u003e.\nChanging this will create a new resource.\n"},"remoteGatewayV6Ip":{"type":"string","description":"Specifies the IPv6 address of the virtual interface in client\nside. This parameter is mandatory if \u003cspan pulumi-lang-nodejs=\"`addressFamily`\" pulumi-lang-dotnet=\"`AddressFamily`\" pulumi-lang-go=\"`addressFamily`\" pulumi-lang-python=\"`address_family`\" pulumi-lang-yaml=\"`addressFamily`\" pulumi-lang-java=\"`addressFamily`\"\u003e`address_family`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`ipv6`\" pulumi-lang-dotnet=\"`Ipv6`\" pulumi-lang-go=\"`ipv6`\" pulumi-lang-python=\"`ipv6`\" pulumi-lang-yaml=\"`ipv6`\" pulumi-lang-java=\"`ipv6`\"\u003e`ipv6`\u003c/span\u003e.\nChanging this will create a new resource.\n\n\u003e The CIDRs of \u003cspan pulumi-lang-nodejs=\"`localGatewayV4Ip`\" pulumi-lang-dotnet=\"`LocalGatewayV4Ip`\" pulumi-lang-go=\"`localGatewayV4Ip`\" pulumi-lang-python=\"`local_gateway_v4_ip`\" pulumi-lang-yaml=\"`localGatewayV4Ip`\" pulumi-lang-java=\"`localGatewayV4Ip`\"\u003e`local_gateway_v4_ip`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`remoteGatewayV4Ip`\" pulumi-lang-dotnet=\"`RemoteGatewayV4Ip`\" pulumi-lang-go=\"`remoteGatewayV4Ip`\" pulumi-lang-python=\"`remote_gateway_v4_ip`\" pulumi-lang-yaml=\"`remoteGatewayV4Ip`\" pulumi-lang-java=\"`remoteGatewayV4Ip`\"\u003e`remote_gateway_v4_ip`\u003c/span\u003e (or \u003cspan pulumi-lang-nodejs=\"`localGatewayV6Ip`\" pulumi-lang-dotnet=\"`LocalGatewayV6Ip`\" pulumi-lang-go=\"`localGatewayV6Ip`\" pulumi-lang-python=\"`local_gateway_v6_ip`\" pulumi-lang-yaml=\"`localGatewayV6Ip`\" pulumi-lang-java=\"`localGatewayV6Ip`\"\u003e`local_gateway_v6_ip`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`remoteGatewayV6Ip`\" pulumi-lang-dotnet=\"`RemoteGatewayV6Ip`\" pulumi-lang-go=\"`remoteGatewayV6Ip`\" pulumi-lang-python=\"`remote_gateway_v6_ip`\" pulumi-lang-yaml=\"`remoteGatewayV6Ip`\" pulumi-lang-java=\"`remoteGatewayV6Ip`\"\u003e`remote_gateway_v6_ip`\u003c/span\u003e)\nmust be in the same subnet.\n"},"resourceTenantId":{"type":"string","description":"Specifies the project ID of another tenant in the same region\nwhich is used to create virtual interface across tenant. After the across tenant virtual interface is successfully\ncreated, the target tenant needs to accept the virtual interface request for the virtual interface to take effect.\nChanging this will create a new resource.\n\n\u003e 1. When \u003cspan pulumi-lang-nodejs=\"`resourceTenantId`\" pulumi-lang-dotnet=\"`ResourceTenantId`\" pulumi-lang-go=\"`resourceTenantId`\" pulumi-lang-python=\"`resource_tenant_id`\" pulumi-lang-yaml=\"`resourceTenantId`\" pulumi-lang-java=\"`resourceTenantId`\"\u003e`resource_tenant_id`\u003c/span\u003e is specified, \u003cspan pulumi-lang-nodejs=\"`vgwId`\" pulumi-lang-dotnet=\"`VgwId`\" pulumi-lang-go=\"`vgwId`\" pulumi-lang-python=\"`vgw_id`\" pulumi-lang-yaml=\"`vgwId`\" pulumi-lang-java=\"`vgwId`\"\u003e`vgw_id`\u003c/span\u003e must be the target tenant virtual gateway id.\n\u003cbr/\u003e2. When \u003cspan pulumi-lang-nodejs=\"`resourceTenantId`\" pulumi-lang-dotnet=\"`ResourceTenantId`\" pulumi-lang-go=\"`resourceTenantId`\" pulumi-lang-python=\"`resource_tenant_id`\" pulumi-lang-yaml=\"`resourceTenantId`\" pulumi-lang-java=\"`resourceTenantId`\"\u003e`resource_tenant_id`\u003c/span\u003e is specified, the tags can only be configured after the target tenant accepts the\nvirtual interface request and the virtual interface takes effect.\n"},"routeMode":{"type":"string","description":"Specifies the route mode of the virtual interface.\nThe valid values are \u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\"\u003e`static`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`bgp`\" pulumi-lang-dotnet=\"`Bgp`\" pulumi-lang-go=\"`bgp`\" pulumi-lang-python=\"`bgp`\" pulumi-lang-yaml=\"`bgp`\" pulumi-lang-java=\"`bgp`\"\u003e`bgp`\u003c/span\u003e.\nChanging this will create a new resource.\n"},"serviceEpGroups":{"type":"array","items":{"type":"string"},"description":"Specifies the subnets that access Internet services through a connection.\n"},"type":{"type":"string","description":"Specifies the type of the virtual interface.\nThe valid value is \u003cspan pulumi-lang-nodejs=\"`private`\" pulumi-lang-dotnet=\"`Private`\" pulumi-lang-go=\"`private`\" pulumi-lang-python=\"`private`\" pulumi-lang-yaml=\"`private`\" pulumi-lang-java=\"`private`\"\u003e`private`\u003c/span\u003e.\nChanging this will create a new resource.\n"},"vgwId":{"type":"string","description":"Specifies the ID of the virtual gateway to which the virtual interface is\nconnected.\nChanging this will create a new resource.\n"},"vlan":{"type":"number","description":"Specifies the customer VLAN to be connected.\nThe valid value is range from \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e to `3,999`.\nChanging this will create a new resource.\n"}},"requiredInputs":["bandwidth","directConnectId","remoteEpGroups","routeMode","type","vgwId","vlan"],"stateInputs":{"description":"Input properties used for looking up and filtering DcVirtualInterfaceV3 resources.\n","properties":{"addressFamily":{"type":"string","description":"Specifies the service type of the virtual interface.\nThe valid values are \u003cspan pulumi-lang-nodejs=\"`ipv4`\" pulumi-lang-dotnet=\"`Ipv4`\" pulumi-lang-go=\"`ipv4`\" pulumi-lang-python=\"`ipv4`\" pulumi-lang-yaml=\"`ipv4`\" pulumi-lang-java=\"`ipv4`\"\u003e`ipv4`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`ipv6`\" pulumi-lang-dotnet=\"`Ipv6`\" pulumi-lang-go=\"`ipv6`\" pulumi-lang-python=\"`ipv6`\" pulumi-lang-yaml=\"`ipv6`\" pulumi-lang-java=\"`ipv6`\"\u003e`ipv6`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`ipv4`\" pulumi-lang-dotnet=\"`Ipv4`\" pulumi-lang-go=\"`ipv4`\" pulumi-lang-python=\"`ipv4`\" pulumi-lang-yaml=\"`ipv4`\" pulumi-lang-java=\"`ipv4`\"\u003e`ipv4`\u003c/span\u003e.\nChanging this will create a new resource.\n"},"asn":{"type":"number","description":"Specifies the local BGP ASN of the virtual interface.\nThe valid value is range from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to `4,294,967,295`, except `64,512`.\nChanging this will create a new resource.\n"},"bandwidth":{"type":"number","description":"Specifies the bandwidth of the virtual interface. The unit is Mbit/s.\nThe size range depends on the direct connection.\n"},"bgpMd5":{"type":"string","description":"Specifies the (MD5) password for the local BGP.\nChanging this will create a new resource.\n"},"createdAt":{"type":"string","description":"The creation time of the virtual interface\n"},"dcVirtualInterfaceV3Id":{"type":"string","description":"The VIF peer resource ID.\n"},"description":{"type":"string","description":"Specifies the description of the virtual interface.\nThe description contain a maximum of \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e characters and the angle brackets (`\u003c` and `\u003e`) are not allowed.\nChinese characters must be in `UTF-8` or `Unicode` format.\n"},"deviceId":{"type":"string","description":"The ID of the device that the virtual interface peer belongs to.\n"},"directConnectId":{"type":"string","description":"Specifies the ID of the direct connection associated with the\nvirtual interface.\nChanging this will create a new resource.\n"},"enableBfd":{"type":"boolean","description":"Specifies whether to enable the Bidirectional Forwarding Detection (BFD) function.\nDefaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. (This is a reserved parameter and is not supported currently.)\n"},"enableNqa":{"type":"boolean","description":"Specifies whether to enable the Network Quality Analysis (NQA) function.\nDefaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. (This is a reserved parameter and is not supported currently.)\n\n\u003e The values of parameter \u003cspan pulumi-lang-nodejs=\"`enableBfd`\" pulumi-lang-dotnet=\"`EnableBfd`\" pulumi-lang-go=\"`enableBfd`\" pulumi-lang-python=\"`enable_bfd`\" pulumi-lang-yaml=\"`enableBfd`\" pulumi-lang-java=\"`enableBfd`\"\u003e`enable_bfd`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`enableNqa`\" pulumi-lang-dotnet=\"`EnableNqa`\" pulumi-lang-go=\"`enableNqa`\" pulumi-lang-python=\"`enable_nqa`\" pulumi-lang-yaml=\"`enableNqa`\" pulumi-lang-java=\"`enableNqa`\"\u003e`enable_nqa`\u003c/span\u003e cannot be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e at the same time.\n"},"lagId":{"type":"string","description":"Specifies the ID of the link aggregation group (LAG) associated with the\nvirtual interface.\nChanging this will create a new resource.\n"},"localGatewayV4Ip":{"type":"string","description":"Specifies the IPv4 address of the virtual interface in cloud\nside. This parameter is mandatory if \u003cspan pulumi-lang-nodejs=\"`addressFamily`\" pulumi-lang-dotnet=\"`AddressFamily`\" pulumi-lang-go=\"`addressFamily`\" pulumi-lang-python=\"`address_family`\" pulumi-lang-yaml=\"`addressFamily`\" pulumi-lang-java=\"`addressFamily`\"\u003e`address_family`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`ipv4`\" pulumi-lang-dotnet=\"`Ipv4`\" pulumi-lang-go=\"`ipv4`\" pulumi-lang-python=\"`ipv4`\" pulumi-lang-yaml=\"`ipv4`\" pulumi-lang-java=\"`ipv4`\"\u003e`ipv4`\u003c/span\u003e.\nChanging this will create a new resource.\n"},"localGatewayV6Ip":{"type":"string","description":"Specifies the IPv6 address of the virtual interface in cloud\nside. This parameter is mandatory if \u003cspan pulumi-lang-nodejs=\"`addressFamily`\" pulumi-lang-dotnet=\"`AddressFamily`\" pulumi-lang-go=\"`addressFamily`\" pulumi-lang-python=\"`address_family`\" pulumi-lang-yaml=\"`addressFamily`\" pulumi-lang-java=\"`addressFamily`\"\u003e`address_family`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`ipv6`\" pulumi-lang-dotnet=\"`Ipv6`\" pulumi-lang-go=\"`ipv6`\" pulumi-lang-python=\"`ipv6`\" pulumi-lang-yaml=\"`ipv6`\" pulumi-lang-java=\"`ipv6`\"\u003e`ipv6`\u003c/span\u003e.\nChanging this will create a new resource.\n"},"name":{"type":"string","description":"Specifies the name of the virtual interface.\n"},"region":{"type":"string","description":"The region where the virtual interface is located.\n"},"remoteEpGroups":{"type":"array","items":{"type":"string"},"description":"Specifies the CIDR list of remote subnets.\nA CIDR that contains CIDRs of local subnet (corresponding to the parameter \u003cspan pulumi-lang-nodejs=\"`localGatewayV4Ip`\" pulumi-lang-dotnet=\"`LocalGatewayV4Ip`\" pulumi-lang-go=\"`localGatewayV4Ip`\" pulumi-lang-python=\"`local_gateway_v4_ip`\" pulumi-lang-yaml=\"`localGatewayV4Ip`\" pulumi-lang-java=\"`localGatewayV4Ip`\"\u003e`local_gateway_v4_ip`\u003c/span\u003e or\n\u003cspan pulumi-lang-nodejs=\"`localGatewayV6Ip`\" pulumi-lang-dotnet=\"`LocalGatewayV6Ip`\" pulumi-lang-go=\"`localGatewayV6Ip`\" pulumi-lang-python=\"`local_gateway_v6_ip`\" pulumi-lang-yaml=\"`localGatewayV6Ip`\" pulumi-lang-java=\"`localGatewayV6Ip`\"\u003e`local_gateway_v6_ip`\u003c/span\u003e) and remote subnet (corresponding to the parameter \u003cspan pulumi-lang-nodejs=\"`remoteGatewayV4Ip`\" pulumi-lang-dotnet=\"`RemoteGatewayV4Ip`\" pulumi-lang-go=\"`remoteGatewayV4Ip`\" pulumi-lang-python=\"`remote_gateway_v4_ip`\" pulumi-lang-yaml=\"`remoteGatewayV4Ip`\" pulumi-lang-java=\"`remoteGatewayV4Ip`\"\u003e`remote_gateway_v4_ip`\u003c/span\u003e or\n\u003cspan pulumi-lang-nodejs=\"`remoteGatewayV6Ip`\" pulumi-lang-dotnet=\"`RemoteGatewayV6Ip`\" pulumi-lang-go=\"`remoteGatewayV6Ip`\" pulumi-lang-python=\"`remote_gateway_v6_ip`\" pulumi-lang-yaml=\"`remoteGatewayV6Ip`\" pulumi-lang-java=\"`remoteGatewayV6Ip`\"\u003e`remote_gateway_v6_ip`\u003c/span\u003e) must exist in the list.\n"},"remoteGatewayV4Ip":{"type":"string","description":"Specifies the IPv4 address of the virtual interface in client\nside. This parameter is mandatory if \u003cspan pulumi-lang-nodejs=\"`addressFamily`\" pulumi-lang-dotnet=\"`AddressFamily`\" pulumi-lang-go=\"`addressFamily`\" pulumi-lang-python=\"`address_family`\" pulumi-lang-yaml=\"`addressFamily`\" pulumi-lang-java=\"`addressFamily`\"\u003e`address_family`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`ipv4`\" pulumi-lang-dotnet=\"`Ipv4`\" pulumi-lang-go=\"`ipv4`\" pulumi-lang-python=\"`ipv4`\" pulumi-lang-yaml=\"`ipv4`\" pulumi-lang-java=\"`ipv4`\"\u003e`ipv4`\u003c/span\u003e.\nChanging this will create a new resource.\n"},"remoteGatewayV6Ip":{"type":"string","description":"Specifies the IPv6 address of the virtual interface in client\nside. This parameter is mandatory if \u003cspan pulumi-lang-nodejs=\"`addressFamily`\" pulumi-lang-dotnet=\"`AddressFamily`\" pulumi-lang-go=\"`addressFamily`\" pulumi-lang-python=\"`address_family`\" pulumi-lang-yaml=\"`addressFamily`\" pulumi-lang-java=\"`addressFamily`\"\u003e`address_family`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`ipv6`\" pulumi-lang-dotnet=\"`Ipv6`\" pulumi-lang-go=\"`ipv6`\" pulumi-lang-python=\"`ipv6`\" pulumi-lang-yaml=\"`ipv6`\" pulumi-lang-java=\"`ipv6`\"\u003e`ipv6`\u003c/span\u003e.\nChanging this will create a new resource.\n\n\u003e The CIDRs of \u003cspan pulumi-lang-nodejs=\"`localGatewayV4Ip`\" pulumi-lang-dotnet=\"`LocalGatewayV4Ip`\" pulumi-lang-go=\"`localGatewayV4Ip`\" pulumi-lang-python=\"`local_gateway_v4_ip`\" pulumi-lang-yaml=\"`localGatewayV4Ip`\" pulumi-lang-java=\"`localGatewayV4Ip`\"\u003e`local_gateway_v4_ip`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`remoteGatewayV4Ip`\" pulumi-lang-dotnet=\"`RemoteGatewayV4Ip`\" pulumi-lang-go=\"`remoteGatewayV4Ip`\" pulumi-lang-python=\"`remote_gateway_v4_ip`\" pulumi-lang-yaml=\"`remoteGatewayV4Ip`\" pulumi-lang-java=\"`remoteGatewayV4Ip`\"\u003e`remote_gateway_v4_ip`\u003c/span\u003e (or \u003cspan pulumi-lang-nodejs=\"`localGatewayV6Ip`\" pulumi-lang-dotnet=\"`LocalGatewayV6Ip`\" pulumi-lang-go=\"`localGatewayV6Ip`\" pulumi-lang-python=\"`local_gateway_v6_ip`\" pulumi-lang-yaml=\"`localGatewayV6Ip`\" pulumi-lang-java=\"`localGatewayV6Ip`\"\u003e`local_gateway_v6_ip`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`remoteGatewayV6Ip`\" pulumi-lang-dotnet=\"`RemoteGatewayV6Ip`\" pulumi-lang-go=\"`remoteGatewayV6Ip`\" pulumi-lang-python=\"`remote_gateway_v6_ip`\" pulumi-lang-yaml=\"`remoteGatewayV6Ip`\" pulumi-lang-java=\"`remoteGatewayV6Ip`\"\u003e`remote_gateway_v6_ip`\u003c/span\u003e)\nmust be in the same subnet.\n"},"resourceTenantId":{"type":"string","description":"Specifies the project ID of another tenant in the same region\nwhich is used to create virtual interface across tenant. After the across tenant virtual interface is successfully\ncreated, the target tenant needs to accept the virtual interface request for the virtual interface to take effect.\nChanging this will create a new resource.\n\n\u003e 1. When \u003cspan pulumi-lang-nodejs=\"`resourceTenantId`\" pulumi-lang-dotnet=\"`ResourceTenantId`\" pulumi-lang-go=\"`resourceTenantId`\" pulumi-lang-python=\"`resource_tenant_id`\" pulumi-lang-yaml=\"`resourceTenantId`\" pulumi-lang-java=\"`resourceTenantId`\"\u003e`resource_tenant_id`\u003c/span\u003e is specified, \u003cspan pulumi-lang-nodejs=\"`vgwId`\" pulumi-lang-dotnet=\"`VgwId`\" pulumi-lang-go=\"`vgwId`\" pulumi-lang-python=\"`vgw_id`\" pulumi-lang-yaml=\"`vgwId`\" pulumi-lang-java=\"`vgwId`\"\u003e`vgw_id`\u003c/span\u003e must be the target tenant virtual gateway id.\n\u003cbr/\u003e2. When \u003cspan pulumi-lang-nodejs=\"`resourceTenantId`\" pulumi-lang-dotnet=\"`ResourceTenantId`\" pulumi-lang-go=\"`resourceTenantId`\" pulumi-lang-python=\"`resource_tenant_id`\" pulumi-lang-yaml=\"`resourceTenantId`\" pulumi-lang-java=\"`resourceTenantId`\"\u003e`resource_tenant_id`\u003c/span\u003e is specified, the tags can only be configured after the target tenant accepts the\nvirtual interface request and the virtual interface takes effect.\n"},"routeMode":{"type":"string","description":"Specifies the route mode of the virtual interface.\nThe valid values are \u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\"\u003e`static`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`bgp`\" pulumi-lang-dotnet=\"`Bgp`\" pulumi-lang-go=\"`bgp`\" pulumi-lang-python=\"`bgp`\" pulumi-lang-yaml=\"`bgp`\" pulumi-lang-java=\"`bgp`\"\u003e`bgp`\u003c/span\u003e.\nChanging this will create a new resource.\n"},"serviceEpGroups":{"type":"array","items":{"type":"string"},"description":"Specifies the subnets that access Internet services through a connection.\n"},"status":{"type":"string","description":"The status of the virtual interface peer.\n"},"type":{"type":"string","description":"Specifies the type of the virtual interface.\nThe valid value is \u003cspan pulumi-lang-nodejs=\"`private`\" pulumi-lang-dotnet=\"`Private`\" pulumi-lang-go=\"`private`\" pulumi-lang-python=\"`private`\" pulumi-lang-yaml=\"`private`\" pulumi-lang-java=\"`private`\"\u003e`private`\u003c/span\u003e.\nChanging this will create a new resource.\n"},"updatedAt":{"type":"string"},"vgwId":{"type":"string","description":"Specifies the ID of the virtual gateway to which the virtual interface is\nconnected.\nChanging this will create a new resource.\n"},"vifPeers":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FDcVirtualInterfaceV3VifPeer:DcVirtualInterfaceV3VifPeer"},"description":"The peer information of the virtual interface.\nThe\u003cspan pulumi-lang-nodejs=\" vifPeers \" pulumi-lang-dotnet=\" VifPeers \" pulumi-lang-go=\" vifPeers \" pulumi-lang-python=\" vif_peers \" pulumi-lang-yaml=\" vifPeers \" pulumi-lang-java=\" vifPeers \"\u003e vif_peers \u003c/span\u003estructure is documented below.\n"},"vlan":{"type":"number","description":"Specifies the customer VLAN to be connected.\nThe valid value is range from \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e to `3,999`.\nChanging this will create a new resource.\n"}},"type":"object"}},"opentelekomcloud:index/dcsInstanceV1:DcsInstanceV1":{"description":"Up-to-date reference of API arguments for DCS instance you can get at\n[documentation portal](https://docs.otc.t-systems.com/distributed-cache-service/api-ref/lifecycle_management_apis)\n\nManages a DCSv1 instance in the OpenTelekomCloud DCS Service.\n\n## Example Usage\n\n### Engine version 5.0 (please pay attention of proper selection of the spec_code):\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst az1 = opentelekomcloud.getDcsAzV1({\n    name: \"eu-de-01\",\n});\nconst product1 = opentelekomcloud.getDcsProductV1({\n    specCode: \"redis.single.xu1.tiny.128\",\n});\nconst instance1 = new opentelekomcloud.DcsInstanceV1(\"instance_1\", {\n    name: \"test_dcs_instance_5.0\",\n    engineVersion: \"5.0\",\n    password: \"0TCTestP@ssw0rd\",\n    engine: \"Redis\",\n    capacity: 0.125,\n    vpcId: sharedSubnet.vpcId,\n    subnetId: sharedSubnet.networkId,\n    availableZones: [az1.then(az1 =\u003e az1.id)],\n    productId: product1.then(product1 =\u003e product1.id),\n    enableWhitelist: true,\n    whitelists: [\n        {\n            groupName: \"test-group-name\",\n            ipLists: [\n                \"10.10.10.1\",\n                \"10.10.10.2\",\n            ],\n        },\n        {\n            groupName: \"test-group-name-2\",\n            ipLists: [\n                \"10.10.10.11\",\n                \"10.10.10.3\",\n                \"10.10.10.4\",\n            ],\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\naz1 = opentelekomcloud.get_dcs_az_v1(name=\"eu-de-01\")\nproduct1 = opentelekomcloud.get_dcs_product_v1(spec_code=\"redis.single.xu1.tiny.128\")\ninstance1 = opentelekomcloud.DcsInstanceV1(\"instance_1\",\n    name=\"test_dcs_instance_5.0\",\n    engine_version=\"5.0\",\n    password=\"0TCTestP@ssw0rd\",\n    engine=\"Redis\",\n    capacity=0.125,\n    vpc_id=shared_subnet[\"vpcId\"],\n    subnet_id=shared_subnet[\"networkId\"],\n    available_zones=[az1.id],\n    product_id=product1.id,\n    enable_whitelist=True,\n    whitelists=[\n        {\n            \"group_name\": \"test-group-name\",\n            \"ip_lists\": [\n                \"10.10.10.1\",\n                \"10.10.10.2\",\n            ],\n        },\n        {\n            \"group_name\": \"test-group-name-2\",\n            \"ip_lists\": [\n                \"10.10.10.11\",\n                \"10.10.10.3\",\n                \"10.10.10.4\",\n            ],\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var az1 = Opentelekomcloud.GetDcsAzV1.Invoke(new()\n    {\n        Name = \"eu-de-01\",\n    });\n\n    var product1 = Opentelekomcloud.GetDcsProductV1.Invoke(new()\n    {\n        SpecCode = \"redis.single.xu1.tiny.128\",\n    });\n\n    var instance1 = new Opentelekomcloud.DcsInstanceV1(\"instance_1\", new()\n    {\n        Name = \"test_dcs_instance_5.0\",\n        EngineVersion = \"5.0\",\n        Password = \"0TCTestP@ssw0rd\",\n        Engine = \"Redis\",\n        Capacity = 0.125,\n        VpcId = sharedSubnet.VpcId,\n        SubnetId = sharedSubnet.NetworkId,\n        AvailableZones = new[]\n        {\n            az1.Apply(getDcsAzV1Result =\u003e getDcsAzV1Result.Id),\n        },\n        ProductId = product1.Apply(getDcsProductV1Result =\u003e getDcsProductV1Result.Id),\n        EnableWhitelist = true,\n        Whitelists = new[]\n        {\n            new Opentelekomcloud.Inputs.DcsInstanceV1WhitelistArgs\n            {\n                GroupName = \"test-group-name\",\n                IpLists = new[]\n                {\n                    \"10.10.10.1\",\n                    \"10.10.10.2\",\n                },\n            },\n            new Opentelekomcloud.Inputs.DcsInstanceV1WhitelistArgs\n            {\n                GroupName = \"test-group-name-2\",\n                IpLists = new[]\n                {\n                    \"10.10.10.11\",\n                    \"10.10.10.3\",\n                    \"10.10.10.4\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\taz1, err := opentelekomcloud.GetDcsAzV1(ctx, \u0026opentelekomcloud.GetDcsAzV1Args{\n\t\t\tName: pulumi.StringRef(\"eu-de-01\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tproduct1, err := opentelekomcloud.GetDcsProductV1(ctx, \u0026opentelekomcloud.GetDcsProductV1Args{\n\t\t\tSpecCode: pulumi.StringRef(\"redis.single.xu1.tiny.128\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewDcsInstanceV1(ctx, \"instance_1\", \u0026opentelekomcloud.DcsInstanceV1Args{\n\t\t\tName:          pulumi.String(\"test_dcs_instance_5.0\"),\n\t\t\tEngineVersion: pulumi.String(\"5.0\"),\n\t\t\tPassword:      pulumi.String(\"0TCTestP@ssw0rd\"),\n\t\t\tEngine:        pulumi.String(\"Redis\"),\n\t\t\tCapacity:      pulumi.Float64(0.125),\n\t\t\tVpcId:         pulumi.Any(sharedSubnet.VpcId),\n\t\t\tSubnetId:      pulumi.Any(sharedSubnet.NetworkId),\n\t\t\tAvailableZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(az1.Id),\n\t\t\t},\n\t\t\tProductId:       pulumi.String(product1.Id),\n\t\t\tEnableWhitelist: pulumi.Bool(true),\n\t\t\tWhitelists: opentelekomcloud.DcsInstanceV1WhitelistArray{\n\t\t\t\t\u0026opentelekomcloud.DcsInstanceV1WhitelistArgs{\n\t\t\t\t\tGroupName: pulumi.String(\"test-group-name\"),\n\t\t\t\t\tIpLists: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"10.10.10.1\"),\n\t\t\t\t\t\tpulumi.String(\"10.10.10.2\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026opentelekomcloud.DcsInstanceV1WhitelistArgs{\n\t\t\t\t\tGroupName: pulumi.String(\"test-group-name-2\"),\n\t\t\t\t\tIpLists: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"10.10.10.11\"),\n\t\t\t\t\t\tpulumi.String(\"10.10.10.3\"),\n\t\t\t\t\t\tpulumi.String(\"10.10.10.4\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetDcsAzV1Args;\nimport com.pulumi.opentelekomcloud.inputs.GetDcsProductV1Args;\nimport com.pulumi.opentelekomcloud.DcsInstanceV1;\nimport com.pulumi.opentelekomcloud.DcsInstanceV1Args;\nimport com.pulumi.opentelekomcloud.inputs.DcsInstanceV1WhitelistArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var az1 = OpentelekomcloudFunctions.getDcsAzV1(GetDcsAzV1Args.builder()\n            .name(\"eu-de-01\")\n            .build());\n\n        final var product1 = OpentelekomcloudFunctions.getDcsProductV1(GetDcsProductV1Args.builder()\n            .specCode(\"redis.single.xu1.tiny.128\")\n            .build());\n\n        var instance1 = new DcsInstanceV1(\"instance1\", DcsInstanceV1Args.builder()\n            .name(\"test_dcs_instance_5.0\")\n            .engineVersion(\"5.0\")\n            .password(\"0TCTestP@ssw0rd\")\n            .engine(\"Redis\")\n            .capacity(0.125)\n            .vpcId(sharedSubnet.vpcId())\n            .subnetId(sharedSubnet.networkId())\n            .availableZones(az1.id())\n            .productId(product1.id())\n            .enableWhitelist(true)\n            .whitelists(            \n                DcsInstanceV1WhitelistArgs.builder()\n                    .groupName(\"test-group-name\")\n                    .ipLists(                    \n                        \"10.10.10.1\",\n                        \"10.10.10.2\")\n                    .build(),\n                DcsInstanceV1WhitelistArgs.builder()\n                    .groupName(\"test-group-name-2\")\n                    .ipLists(                    \n                        \"10.10.10.11\",\n                        \"10.10.10.3\",\n                        \"10.10.10.4\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  instance1:\n    type: opentelekomcloud:DcsInstanceV1\n    name: instance_1\n    properties:\n      name: test_dcs_instance_5.0\n      engineVersion: '5.0'\n      password: 0TCTestP@ssw0rd\n      engine: Redis\n      capacity: 0.125\n      vpcId: ${sharedSubnet.vpcId}\n      subnetId: ${sharedSubnet.networkId}\n      availableZones:\n        - ${az1.id}\n      productId: ${product1.id}\n      enableWhitelist: true\n      whitelists:\n        - groupName: test-group-name\n          ipLists:\n            - 10.10.10.1\n            - 10.10.10.2\n        - groupName: test-group-name-2\n          ipLists:\n            - 10.10.10.11\n            - 10.10.10.3\n            - 10.10.10.4\nvariables:\n  az1:\n    fn::invoke:\n      function: opentelekomcloud:getDcsAzV1\n      arguments:\n        name: eu-de-01\n  product1:\n    fn::invoke:\n      function: opentelekomcloud:getDcsProductV1\n      arguments:\n        specCode: redis.single.xu1.tiny.128\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDCS instance can be imported using  `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/dcsInstanceV1:DcsInstanceV1 instance instance_id\n```\n\n","properties":{"availableZones":{"type":"array","items":{"type":"string"},"description":"IDs of the AZs where cache nodes reside. For details\non how to query AZs, see [Querying AZ Information](https://docs.otc.t-systems.com/en-us/api/dcs/dcs-api-0312039.html)\nor use\u003cspan pulumi-lang-nodejs=\" opentelekomcloud.getDcsAzV1 \" pulumi-lang-dotnet=\" opentelekomcloud.getDcsAzV1 \" pulumi-lang-go=\" getDcsAzV1 \" pulumi-lang-python=\" get_dcs_az_v1 \" pulumi-lang-yaml=\" opentelekomcloud.getDcsAzV1 \" pulumi-lang-java=\" opentelekomcloud.getDcsAzV1 \"\u003e opentelekomcloud.getDcsAzV1 \u003c/span\u003edata source:\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst az1 = opentelekomcloud.getDcsAzV1({\n    name: \"eu-de-01\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\naz1 = opentelekomcloud.get_dcs_az_v1(name=\"eu-de-01\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var az1 = Opentelekomcloud.GetDcsAzV1.Invoke(new()\n    {\n        Name = \"eu-de-01\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.GetDcsAzV1(ctx, \u0026opentelekomcloud.GetDcsAzV1Args{\n\t\t\tName: pulumi.StringRef(\"eu-de-01\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetDcsAzV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var az1 = OpentelekomcloudFunctions.getDcsAzV1(GetDcsAzV1Args.builder()\n            .name(\"eu-de-01\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  az1:\n    fn::invoke:\n      function: opentelekomcloud:getDcsAzV1\n      arguments:\n        name: eu-de-01\n```\n\u003c!--End PulumiCodeChooser --\u003e\nChanging this creates a new instance.\n"},"backupAts":{"type":"array","items":{"type":"number"},"description":"See Argument Reference above.\n","deprecationMessage":"Deprecated"},"backupPolicy":{"$ref":"#/types/opentelekomcloud:index%2FDcsInstanceV1BackupPolicy:DcsInstanceV1BackupPolicy","description":"Describes the backup configuration to be used with the instance.\n"},"backupType":{"type":"string","description":"See Argument Reference above.\n","deprecationMessage":"Deprecated"},"beginAt":{"type":"string","description":"See Argument Reference above.\n","deprecationMessage":"Deprecated"},"capacity":{"type":"number","description":"Indicates the Cache capacity. Unit: GB.\n+ **Redis4.0, Redis5.0 and Redis6.0**: Stand-alone and active/standby type instance values: `0.125`, `0.25`,\n`0.5`, \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e.\nCluster instance specifications support \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`24`\" pulumi-lang-dotnet=\"`24`\" pulumi-lang-go=\"`24`\" pulumi-lang-python=\"`24`\" pulumi-lang-yaml=\"`24`\" pulumi-lang-java=\"`24`\"\u003e`24`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`48`\" pulumi-lang-dotnet=\"`48`\" pulumi-lang-go=\"`48`\" pulumi-lang-python=\"`48`\" pulumi-lang-yaml=\"`48`\" pulumi-lang-java=\"`48`\"\u003e`48`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`96`\" pulumi-lang-dotnet=\"`96`\" pulumi-lang-go=\"`96`\" pulumi-lang-python=\"`96`\" pulumi-lang-yaml=\"`96`\" pulumi-lang-java=\"`96`\"\u003e`96`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`192`\" pulumi-lang-dotnet=\"`192`\" pulumi-lang-go=\"`192`\" pulumi-lang-python=\"`192`\" pulumi-lang-yaml=\"`192`\" pulumi-lang-java=\"`192`\"\u003e`192`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`256`\" pulumi-lang-dotnet=\"`256`\" pulumi-lang-go=\"`256`\" pulumi-lang-python=\"`256`\" pulumi-lang-yaml=\"`256`\" pulumi-lang-java=\"`256`\"\u003e`256`\u003c/span\u003e,\n\u003cspan pulumi-lang-nodejs=\"`384`\" pulumi-lang-dotnet=\"`384`\" pulumi-lang-go=\"`384`\" pulumi-lang-python=\"`384`\" pulumi-lang-yaml=\"`384`\" pulumi-lang-java=\"`384`\"\u003e`384`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`512`\" pulumi-lang-dotnet=\"`512`\" pulumi-lang-go=\"`512`\" pulumi-lang-python=\"`512`\" pulumi-lang-yaml=\"`512`\" pulumi-lang-java=\"`512`\"\u003e`512`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`768`\" pulumi-lang-dotnet=\"`768`\" pulumi-lang-go=\"`768`\" pulumi-lang-python=\"`768`\" pulumi-lang-yaml=\"`768`\" pulumi-lang-java=\"`768`\"\u003e`768`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`1024`\" pulumi-lang-dotnet=\"`1024`\" pulumi-lang-go=\"`1024`\" pulumi-lang-python=\"`1024`\" pulumi-lang-yaml=\"`1024`\" pulumi-lang-java=\"`1024`\"\u003e`1024`\u003c/span\u003e.\n+ **Memcached**: Stand-alone and active/standby type instance values: \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e.\n"},"configurations":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FDcsInstanceV1Configuration:DcsInstanceV1Configuration"},"description":"Describes the array of configuration items of the DCS instance.\nConfigured values can be found [here](https://docs.otc.t-systems.com/en-us/api/dcs/dcs-api-0312015.html#dcs-api-0312015__table1439111281351).\n"},"createdAt":{"type":"string","description":"Time at which the DCS instance is created. For example, `2017-03-31T12:24:46.297Z`.\n"},"dcsInstanceV1Id":{"type":"string"},"description":{"type":"string","description":"Indicates the description of an instance. It is a character\nstring containing not more than \u003cspan pulumi-lang-nodejs=\"`1024`\" pulumi-lang-dotnet=\"`1024`\" pulumi-lang-go=\"`1024`\" pulumi-lang-python=\"`1024`\" pulumi-lang-yaml=\"`1024`\" pulumi-lang-java=\"`1024`\"\u003e`1024`\u003c/span\u003e characters.\n"},"enableWhitelist":{"type":"boolean","description":"Specifies whether to enable or disable \u003cspan pulumi-lang-nodejs=\"`whitelist`\" pulumi-lang-dotnet=\"`Whitelist`\" pulumi-lang-go=\"`whitelist`\" pulumi-lang-python=\"`whitelist`\" pulumi-lang-yaml=\"`whitelist`\" pulumi-lang-java=\"`whitelist`\"\u003e`whitelist`\u003c/span\u003e. Only available when\n\u003cspan pulumi-lang-nodejs=\"`engineVersion`\" pulumi-lang-dotnet=\"`EngineVersion`\" pulumi-lang-go=\"`engineVersion`\" pulumi-lang-python=\"`engine_version`\" pulumi-lang-yaml=\"`engineVersion`\" pulumi-lang-java=\"`engineVersion`\"\u003e`engine_version`\u003c/span\u003e is set to `4.0`/`5.0`. Parameter have to be used together with \u003cspan pulumi-lang-nodejs=\"`whitelist`\" pulumi-lang-dotnet=\"`Whitelist`\" pulumi-lang-go=\"`whitelist`\" pulumi-lang-python=\"`whitelist`\" pulumi-lang-yaml=\"`whitelist`\" pulumi-lang-java=\"`whitelist`\"\u003e`whitelist`\u003c/span\u003e.\n"},"engine":{"type":"string","description":"Indicates a cache engine. Only `Redis` is supported. Changing this\ncreates a new instance.\n"},"engineVersion":{"type":"string","description":"Indicates the version of a cache engine, which can be `4.0`/`5.0`/`6.0`.\nChanging this creates a new instance.\n"},"internalVersion":{"type":"string","description":"Internal DCS version.\n"},"ip":{"type":"string","description":"Cache node's IP address in the tenant's VPC.\n"},"maintainBegin":{"type":"string","description":"Indicates the time at which a maintenance time window starts.\nFormat: `HH:mm:ss`. The start time and end time of a maintenance time window must indicate the time segment of\na supported maintenance time window. For details, see section\n[Querying Maintenance Time Windows](https://docs.otc.t-systems.com/api/dcs/dcs-api-0312041.html).\nThe start time must be set to `22:00`, `02:00`, `06:00`, `10:00`, `14:00`, or `18:00`.\n"},"maintainEnd":{"type":"string","description":"Indicates the time at which a maintenance time window ends.\nFormat: `HH:mm:ss`. The start time and end time of a maintenance time window must indicate the time segment of\na supported maintenance time window. For details, see section\n[Querying Maintenance Time Windows](https://docs.otc.t-systems.com/api/dcs/dcs-api-0312041.html).\nThe end time is four hours later than the start time. For example, if the start time is `22:00`,\nthe end time is `02:00`.\n\n\u003e Parameters \u003cspan pulumi-lang-nodejs=\"`maintainBegin`\" pulumi-lang-dotnet=\"`MaintainBegin`\" pulumi-lang-go=\"`maintainBegin`\" pulumi-lang-python=\"`maintain_begin`\" pulumi-lang-yaml=\"`maintainBegin`\" pulumi-lang-java=\"`maintainBegin`\"\u003e`maintain_begin`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`maintainEnd`\" pulumi-lang-dotnet=\"`MaintainEnd`\" pulumi-lang-go=\"`maintainEnd`\" pulumi-lang-python=\"`maintain_end`\" pulumi-lang-yaml=\"`maintainEnd`\" pulumi-lang-java=\"`maintainEnd`\"\u003e`maintain_end`\u003c/span\u003e must be set in pairs. If parameter \u003cspan pulumi-lang-nodejs=\"`maintainEnd`\" pulumi-lang-dotnet=\"`MaintainEnd`\" pulumi-lang-go=\"`maintainEnd`\" pulumi-lang-python=\"`maintain_end`\" pulumi-lang-yaml=\"`maintainEnd`\" pulumi-lang-java=\"`maintainEnd`\"\u003e`maintain_end`\u003c/span\u003e is left\nblank, parameter \u003cspan pulumi-lang-nodejs=\"`maintainBegin`\" pulumi-lang-dotnet=\"`MaintainBegin`\" pulumi-lang-go=\"`maintainBegin`\" pulumi-lang-python=\"`maintain_begin`\" pulumi-lang-yaml=\"`maintainBegin`\" pulumi-lang-java=\"`maintainBegin`\"\u003e`maintain_begin`\u003c/span\u003e is also blank. In this case, the system automatically allocates\nthe default start time `02:00` and the default end time `06:00`.\n"},"maxMemory":{"type":"number","description":"Overall memory size. Unit: MB.\n"},"name":{"type":"string","description":"Indicates the name of an instance. An instance name starts with a letter,\nconsists of \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e characters, and supports only letters, digits, and hyphens (-).\n"},"noPasswordAccess":{"type":"string","description":"An indicator of whether a DCS instance can be accessed in password-free mode.\n\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e when password not set.\n"},"orderId":{"type":"string","description":"An order ID is generated only in the monthly or yearly billing mode.\nIn other billing modes, no value is returned for this parameter.\n"},"password":{"type":"string","description":"Indicates the password of an instance. An instance password\nmust meet the following complexity requirements: Must be 8 to 32 characters long.\nMust contain at least 3 of the following character types: lowercase letters, uppercase\nletters, digits, and special characters: `~!@#$^\u0026*()-_=+|{}:,\u003c\u003e./?\nChanging this creates a new instance.\n","secret":true},"periodType":{"type":"string","description":"See Argument Reference above.\n","deprecationMessage":"Deprecated"},"port":{"type":"number","description":"Port of the cache node.\n"},"privateIp":{"type":"string","description":"IP address that is manually specified for a DCS instance.\n"},"productId":{"type":"string","description":"Product ID used to differentiate DCS instance types.\nChanging this creates a new instance.\n"},"resourceSpecCode":{"type":"string","description":"Resource specifications.\n"},"saveDays":{"type":"number","description":"See Argument Reference above.\n","deprecationMessage":"Deprecated"},"securityGroupId":{"type":"string","description":"Security group ID. This parameter is mandatory when \u003cspan pulumi-lang-nodejs=\"`engineVersion`\" pulumi-lang-dotnet=\"`EngineVersion`\" pulumi-lang-go=\"`engineVersion`\" pulumi-lang-python=\"`engine_version`\" pulumi-lang-yaml=\"`engineVersion`\" pulumi-lang-java=\"`engineVersion`\"\u003e`engine_version`\u003c/span\u003e is `3.0`.\n"},"securityGroupName":{"type":"string","description":"Indicates the name of a security group.\n"},"status":{"type":"string","description":"Cache instance status. One of `CREATING`, `CREATEFAILED`, `RUNNING`, `ERROR`,\n`RESTARTING`, `EXTENDING`, `RESTORING`\n"},"subnetId":{"type":"string","description":"Specifies the subnet Network ID. Changing this creates a new instance.\n"},"subnetName":{"type":"string","description":"Indicates the name of a subnet.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"The key/value pairs to associate with the dcs instance.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FDcsInstanceV1Timeouts:DcsInstanceV1Timeouts"},"usedMemory":{"type":"number","description":"Size of the used memory. Unit: MB.\n"},"userId":{"type":"string","description":"Indicates a user ID.\n"},"userName":{"type":"string","description":"Username.\n"},"vpcId":{"type":"string","description":"Specifies the VPC ID. Changing this creates a new instance.\n"},"vpcName":{"type":"string","description":"Indicates the name of a vpc.\n"},"whitelists":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FDcsInstanceV1Whitelist:DcsInstanceV1Whitelist"},"description":"Describes the \u003cspan pulumi-lang-nodejs=\"`whitelist`\" pulumi-lang-dotnet=\"`Whitelist`\" pulumi-lang-go=\"`whitelist`\" pulumi-lang-python=\"`whitelist`\" pulumi-lang-yaml=\"`whitelist`\" pulumi-lang-java=\"`whitelist`\"\u003e`whitelist`\u003c/span\u003e groups to be used with the instance. Only available when\n\u003cspan pulumi-lang-nodejs=\"`engineVersion`\" pulumi-lang-dotnet=\"`EngineVersion`\" pulumi-lang-go=\"`engineVersion`\" pulumi-lang-python=\"`engine_version`\" pulumi-lang-yaml=\"`engineVersion`\" pulumi-lang-java=\"`engineVersion`\"\u003e`engine_version`\u003c/span\u003e is set to `4.0`/`5.0`. Parameter have to be used together with \u003cspan pulumi-lang-nodejs=\"`enableWhitelist`\" pulumi-lang-dotnet=\"`EnableWhitelist`\" pulumi-lang-go=\"`enableWhitelist`\" pulumi-lang-python=\"`enable_whitelist`\" pulumi-lang-yaml=\"`enableWhitelist`\" pulumi-lang-java=\"`enableWhitelist`\"\u003e`enable_whitelist`\u003c/span\u003e.\nResource fields:\n"}},"type":"object","required":["availableZones","capacity","createdAt","dcsInstanceV1Id","description","enableWhitelist","engine","engineVersion","internalVersion","ip","maintainBegin","maintainEnd","maxMemory","name","noPasswordAccess","orderId","port","productId","resourceSpecCode","securityGroupName","status","subnetId","subnetName","usedMemory","userId","userName","vpcId","vpcName"],"inputProperties":{"availableZones":{"type":"array","items":{"type":"string"},"description":"IDs of the AZs where cache nodes reside. For details\non how to query AZs, see [Querying AZ Information](https://docs.otc.t-systems.com/en-us/api/dcs/dcs-api-0312039.html)\nor use\u003cspan pulumi-lang-nodejs=\" opentelekomcloud.getDcsAzV1 \" pulumi-lang-dotnet=\" opentelekomcloud.getDcsAzV1 \" pulumi-lang-go=\" getDcsAzV1 \" pulumi-lang-python=\" get_dcs_az_v1 \" pulumi-lang-yaml=\" opentelekomcloud.getDcsAzV1 \" pulumi-lang-java=\" opentelekomcloud.getDcsAzV1 \"\u003e opentelekomcloud.getDcsAzV1 \u003c/span\u003edata source:\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst az1 = opentelekomcloud.getDcsAzV1({\n    name: \"eu-de-01\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\naz1 = opentelekomcloud.get_dcs_az_v1(name=\"eu-de-01\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var az1 = Opentelekomcloud.GetDcsAzV1.Invoke(new()\n    {\n        Name = \"eu-de-01\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.GetDcsAzV1(ctx, \u0026opentelekomcloud.GetDcsAzV1Args{\n\t\t\tName: pulumi.StringRef(\"eu-de-01\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetDcsAzV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var az1 = OpentelekomcloudFunctions.getDcsAzV1(GetDcsAzV1Args.builder()\n            .name(\"eu-de-01\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  az1:\n    fn::invoke:\n      function: opentelekomcloud:getDcsAzV1\n      arguments:\n        name: eu-de-01\n```\n\u003c!--End PulumiCodeChooser --\u003e\nChanging this creates a new instance.\n"},"backupAts":{"type":"array","items":{"type":"number"},"description":"See Argument Reference above.\n","deprecationMessage":"Deprecated"},"backupPolicy":{"$ref":"#/types/opentelekomcloud:index%2FDcsInstanceV1BackupPolicy:DcsInstanceV1BackupPolicy","description":"Describes the backup configuration to be used with the instance.\n"},"backupType":{"type":"string","description":"See Argument Reference above.\n","deprecationMessage":"Deprecated"},"beginAt":{"type":"string","description":"See Argument Reference above.\n","deprecationMessage":"Deprecated"},"capacity":{"type":"number","description":"Indicates the Cache capacity. Unit: GB.\n+ **Redis4.0, Redis5.0 and Redis6.0**: Stand-alone and active/standby type instance values: `0.125`, `0.25`,\n`0.5`, \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e.\nCluster instance specifications support \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`24`\" pulumi-lang-dotnet=\"`24`\" pulumi-lang-go=\"`24`\" pulumi-lang-python=\"`24`\" pulumi-lang-yaml=\"`24`\" pulumi-lang-java=\"`24`\"\u003e`24`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`48`\" pulumi-lang-dotnet=\"`48`\" pulumi-lang-go=\"`48`\" pulumi-lang-python=\"`48`\" pulumi-lang-yaml=\"`48`\" pulumi-lang-java=\"`48`\"\u003e`48`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`96`\" pulumi-lang-dotnet=\"`96`\" pulumi-lang-go=\"`96`\" pulumi-lang-python=\"`96`\" pulumi-lang-yaml=\"`96`\" pulumi-lang-java=\"`96`\"\u003e`96`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`192`\" pulumi-lang-dotnet=\"`192`\" pulumi-lang-go=\"`192`\" pulumi-lang-python=\"`192`\" pulumi-lang-yaml=\"`192`\" pulumi-lang-java=\"`192`\"\u003e`192`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`256`\" pulumi-lang-dotnet=\"`256`\" pulumi-lang-go=\"`256`\" pulumi-lang-python=\"`256`\" pulumi-lang-yaml=\"`256`\" pulumi-lang-java=\"`256`\"\u003e`256`\u003c/span\u003e,\n\u003cspan pulumi-lang-nodejs=\"`384`\" pulumi-lang-dotnet=\"`384`\" pulumi-lang-go=\"`384`\" pulumi-lang-python=\"`384`\" pulumi-lang-yaml=\"`384`\" pulumi-lang-java=\"`384`\"\u003e`384`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`512`\" pulumi-lang-dotnet=\"`512`\" pulumi-lang-go=\"`512`\" pulumi-lang-python=\"`512`\" pulumi-lang-yaml=\"`512`\" pulumi-lang-java=\"`512`\"\u003e`512`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`768`\" pulumi-lang-dotnet=\"`768`\" pulumi-lang-go=\"`768`\" pulumi-lang-python=\"`768`\" pulumi-lang-yaml=\"`768`\" pulumi-lang-java=\"`768`\"\u003e`768`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`1024`\" pulumi-lang-dotnet=\"`1024`\" pulumi-lang-go=\"`1024`\" pulumi-lang-python=\"`1024`\" pulumi-lang-yaml=\"`1024`\" pulumi-lang-java=\"`1024`\"\u003e`1024`\u003c/span\u003e.\n+ **Memcached**: Stand-alone and active/standby type instance values: \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e.\n"},"configurations":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FDcsInstanceV1Configuration:DcsInstanceV1Configuration"},"description":"Describes the array of configuration items of the DCS instance.\nConfigured values can be found [here](https://docs.otc.t-systems.com/en-us/api/dcs/dcs-api-0312015.html#dcs-api-0312015__table1439111281351).\n"},"dcsInstanceV1Id":{"type":"string"},"description":{"type":"string","description":"Indicates the description of an instance. It is a character\nstring containing not more than \u003cspan pulumi-lang-nodejs=\"`1024`\" pulumi-lang-dotnet=\"`1024`\" pulumi-lang-go=\"`1024`\" pulumi-lang-python=\"`1024`\" pulumi-lang-yaml=\"`1024`\" pulumi-lang-java=\"`1024`\"\u003e`1024`\u003c/span\u003e characters.\n"},"enableWhitelist":{"type":"boolean","description":"Specifies whether to enable or disable \u003cspan pulumi-lang-nodejs=\"`whitelist`\" pulumi-lang-dotnet=\"`Whitelist`\" pulumi-lang-go=\"`whitelist`\" pulumi-lang-python=\"`whitelist`\" pulumi-lang-yaml=\"`whitelist`\" pulumi-lang-java=\"`whitelist`\"\u003e`whitelist`\u003c/span\u003e. Only available when\n\u003cspan pulumi-lang-nodejs=\"`engineVersion`\" pulumi-lang-dotnet=\"`EngineVersion`\" pulumi-lang-go=\"`engineVersion`\" pulumi-lang-python=\"`engine_version`\" pulumi-lang-yaml=\"`engineVersion`\" pulumi-lang-java=\"`engineVersion`\"\u003e`engine_version`\u003c/span\u003e is set to `4.0`/`5.0`. Parameter have to be used together with \u003cspan pulumi-lang-nodejs=\"`whitelist`\" pulumi-lang-dotnet=\"`Whitelist`\" pulumi-lang-go=\"`whitelist`\" pulumi-lang-python=\"`whitelist`\" pulumi-lang-yaml=\"`whitelist`\" pulumi-lang-java=\"`whitelist`\"\u003e`whitelist`\u003c/span\u003e.\n"},"engine":{"type":"string","description":"Indicates a cache engine. Only `Redis` is supported. Changing this\ncreates a new instance.\n"},"engineVersion":{"type":"string","description":"Indicates the version of a cache engine, which can be `4.0`/`5.0`/`6.0`.\nChanging this creates a new instance.\n"},"maintainBegin":{"type":"string","description":"Indicates the time at which a maintenance time window starts.\nFormat: `HH:mm:ss`. The start time and end time of a maintenance time window must indicate the time segment of\na supported maintenance time window. For details, see section\n[Querying Maintenance Time Windows](https://docs.otc.t-systems.com/api/dcs/dcs-api-0312041.html).\nThe start time must be set to `22:00`, `02:00`, `06:00`, `10:00`, `14:00`, or `18:00`.\n"},"maintainEnd":{"type":"string","description":"Indicates the time at which a maintenance time window ends.\nFormat: `HH:mm:ss`. The start time and end time of a maintenance time window must indicate the time segment of\na supported maintenance time window. For details, see section\n[Querying Maintenance Time Windows](https://docs.otc.t-systems.com/api/dcs/dcs-api-0312041.html).\nThe end time is four hours later than the start time. For example, if the start time is `22:00`,\nthe end time is `02:00`.\n\n\u003e Parameters \u003cspan pulumi-lang-nodejs=\"`maintainBegin`\" pulumi-lang-dotnet=\"`MaintainBegin`\" pulumi-lang-go=\"`maintainBegin`\" pulumi-lang-python=\"`maintain_begin`\" pulumi-lang-yaml=\"`maintainBegin`\" pulumi-lang-java=\"`maintainBegin`\"\u003e`maintain_begin`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`maintainEnd`\" pulumi-lang-dotnet=\"`MaintainEnd`\" pulumi-lang-go=\"`maintainEnd`\" pulumi-lang-python=\"`maintain_end`\" pulumi-lang-yaml=\"`maintainEnd`\" pulumi-lang-java=\"`maintainEnd`\"\u003e`maintain_end`\u003c/span\u003e must be set in pairs. If parameter \u003cspan pulumi-lang-nodejs=\"`maintainEnd`\" pulumi-lang-dotnet=\"`MaintainEnd`\" pulumi-lang-go=\"`maintainEnd`\" pulumi-lang-python=\"`maintain_end`\" pulumi-lang-yaml=\"`maintainEnd`\" pulumi-lang-java=\"`maintainEnd`\"\u003e`maintain_end`\u003c/span\u003e is left\nblank, parameter \u003cspan pulumi-lang-nodejs=\"`maintainBegin`\" pulumi-lang-dotnet=\"`MaintainBegin`\" pulumi-lang-go=\"`maintainBegin`\" pulumi-lang-python=\"`maintain_begin`\" pulumi-lang-yaml=\"`maintainBegin`\" pulumi-lang-java=\"`maintainBegin`\"\u003e`maintain_begin`\u003c/span\u003e is also blank. In this case, the system automatically allocates\nthe default start time `02:00` and the default end time `06:00`.\n"},"name":{"type":"string","description":"Indicates the name of an instance. An instance name starts with a letter,\nconsists of \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e characters, and supports only letters, digits, and hyphens (-).\n"},"password":{"type":"string","description":"Indicates the password of an instance. An instance password\nmust meet the following complexity requirements: Must be 8 to 32 characters long.\nMust contain at least 3 of the following character types: lowercase letters, uppercase\nletters, digits, and special characters: `~!@#$^\u0026*()-_=+|{}:,\u003c\u003e./?\nChanging this creates a new instance.\n","secret":true},"periodType":{"type":"string","description":"See Argument Reference above.\n","deprecationMessage":"Deprecated"},"privateIp":{"type":"string","description":"IP address that is manually specified for a DCS instance.\n"},"productId":{"type":"string","description":"Product ID used to differentiate DCS instance types.\nChanging this creates a new instance.\n"},"saveDays":{"type":"number","description":"See Argument Reference above.\n","deprecationMessage":"Deprecated"},"securityGroupId":{"type":"string","description":"Security group ID. This parameter is mandatory when \u003cspan pulumi-lang-nodejs=\"`engineVersion`\" pulumi-lang-dotnet=\"`EngineVersion`\" pulumi-lang-go=\"`engineVersion`\" pulumi-lang-python=\"`engine_version`\" pulumi-lang-yaml=\"`engineVersion`\" pulumi-lang-java=\"`engineVersion`\"\u003e`engine_version`\u003c/span\u003e is `3.0`.\n"},"subnetId":{"type":"string","description":"Specifies the subnet Network ID. Changing this creates a new instance.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"The key/value pairs to associate with the dcs instance.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FDcsInstanceV1Timeouts:DcsInstanceV1Timeouts"},"vpcId":{"type":"string","description":"Specifies the VPC ID. Changing this creates a new instance.\n"},"whitelists":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FDcsInstanceV1Whitelist:DcsInstanceV1Whitelist"},"description":"Describes the \u003cspan pulumi-lang-nodejs=\"`whitelist`\" pulumi-lang-dotnet=\"`Whitelist`\" pulumi-lang-go=\"`whitelist`\" pulumi-lang-python=\"`whitelist`\" pulumi-lang-yaml=\"`whitelist`\" pulumi-lang-java=\"`whitelist`\"\u003e`whitelist`\u003c/span\u003e groups to be used with the instance. Only available when\n\u003cspan pulumi-lang-nodejs=\"`engineVersion`\" pulumi-lang-dotnet=\"`EngineVersion`\" pulumi-lang-go=\"`engineVersion`\" pulumi-lang-python=\"`engine_version`\" pulumi-lang-yaml=\"`engineVersion`\" pulumi-lang-java=\"`engineVersion`\"\u003e`engine_version`\u003c/span\u003e is set to `4.0`/`5.0`. Parameter have to be used together with \u003cspan pulumi-lang-nodejs=\"`enableWhitelist`\" pulumi-lang-dotnet=\"`EnableWhitelist`\" pulumi-lang-go=\"`enableWhitelist`\" pulumi-lang-python=\"`enable_whitelist`\" pulumi-lang-yaml=\"`enableWhitelist`\" pulumi-lang-java=\"`enableWhitelist`\"\u003e`enable_whitelist`\u003c/span\u003e.\nResource fields:\n"}},"requiredInputs":["availableZones","capacity","engine","engineVersion","productId","subnetId","vpcId"],"stateInputs":{"description":"Input properties used for looking up and filtering DcsInstanceV1 resources.\n","properties":{"availableZones":{"type":"array","items":{"type":"string"},"description":"IDs of the AZs where cache nodes reside. For details\non how to query AZs, see [Querying AZ Information](https://docs.otc.t-systems.com/en-us/api/dcs/dcs-api-0312039.html)\nor use\u003cspan pulumi-lang-nodejs=\" opentelekomcloud.getDcsAzV1 \" pulumi-lang-dotnet=\" opentelekomcloud.getDcsAzV1 \" pulumi-lang-go=\" getDcsAzV1 \" pulumi-lang-python=\" get_dcs_az_v1 \" pulumi-lang-yaml=\" opentelekomcloud.getDcsAzV1 \" pulumi-lang-java=\" opentelekomcloud.getDcsAzV1 \"\u003e opentelekomcloud.getDcsAzV1 \u003c/span\u003edata source:\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst az1 = opentelekomcloud.getDcsAzV1({\n    name: \"eu-de-01\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\naz1 = opentelekomcloud.get_dcs_az_v1(name=\"eu-de-01\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var az1 = Opentelekomcloud.GetDcsAzV1.Invoke(new()\n    {\n        Name = \"eu-de-01\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.GetDcsAzV1(ctx, \u0026opentelekomcloud.GetDcsAzV1Args{\n\t\t\tName: pulumi.StringRef(\"eu-de-01\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetDcsAzV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var az1 = OpentelekomcloudFunctions.getDcsAzV1(GetDcsAzV1Args.builder()\n            .name(\"eu-de-01\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  az1:\n    fn::invoke:\n      function: opentelekomcloud:getDcsAzV1\n      arguments:\n        name: eu-de-01\n```\n\u003c!--End PulumiCodeChooser --\u003e\nChanging this creates a new instance.\n"},"backupAts":{"type":"array","items":{"type":"number"},"description":"See Argument Reference above.\n","deprecationMessage":"Deprecated"},"backupPolicy":{"$ref":"#/types/opentelekomcloud:index%2FDcsInstanceV1BackupPolicy:DcsInstanceV1BackupPolicy","description":"Describes the backup configuration to be used with the instance.\n"},"backupType":{"type":"string","description":"See Argument Reference above.\n","deprecationMessage":"Deprecated"},"beginAt":{"type":"string","description":"See Argument Reference above.\n","deprecationMessage":"Deprecated"},"capacity":{"type":"number","description":"Indicates the Cache capacity. Unit: GB.\n+ **Redis4.0, Redis5.0 and Redis6.0**: Stand-alone and active/standby type instance values: `0.125`, `0.25`,\n`0.5`, \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e.\nCluster instance specifications support \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`24`\" pulumi-lang-dotnet=\"`24`\" pulumi-lang-go=\"`24`\" pulumi-lang-python=\"`24`\" pulumi-lang-yaml=\"`24`\" pulumi-lang-java=\"`24`\"\u003e`24`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`48`\" pulumi-lang-dotnet=\"`48`\" pulumi-lang-go=\"`48`\" pulumi-lang-python=\"`48`\" pulumi-lang-yaml=\"`48`\" pulumi-lang-java=\"`48`\"\u003e`48`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`96`\" pulumi-lang-dotnet=\"`96`\" pulumi-lang-go=\"`96`\" pulumi-lang-python=\"`96`\" pulumi-lang-yaml=\"`96`\" pulumi-lang-java=\"`96`\"\u003e`96`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`192`\" pulumi-lang-dotnet=\"`192`\" pulumi-lang-go=\"`192`\" pulumi-lang-python=\"`192`\" pulumi-lang-yaml=\"`192`\" pulumi-lang-java=\"`192`\"\u003e`192`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`256`\" pulumi-lang-dotnet=\"`256`\" pulumi-lang-go=\"`256`\" pulumi-lang-python=\"`256`\" pulumi-lang-yaml=\"`256`\" pulumi-lang-java=\"`256`\"\u003e`256`\u003c/span\u003e,\n\u003cspan pulumi-lang-nodejs=\"`384`\" pulumi-lang-dotnet=\"`384`\" pulumi-lang-go=\"`384`\" pulumi-lang-python=\"`384`\" pulumi-lang-yaml=\"`384`\" pulumi-lang-java=\"`384`\"\u003e`384`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`512`\" pulumi-lang-dotnet=\"`512`\" pulumi-lang-go=\"`512`\" pulumi-lang-python=\"`512`\" pulumi-lang-yaml=\"`512`\" pulumi-lang-java=\"`512`\"\u003e`512`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`768`\" pulumi-lang-dotnet=\"`768`\" pulumi-lang-go=\"`768`\" pulumi-lang-python=\"`768`\" pulumi-lang-yaml=\"`768`\" pulumi-lang-java=\"`768`\"\u003e`768`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`1024`\" pulumi-lang-dotnet=\"`1024`\" pulumi-lang-go=\"`1024`\" pulumi-lang-python=\"`1024`\" pulumi-lang-yaml=\"`1024`\" pulumi-lang-java=\"`1024`\"\u003e`1024`\u003c/span\u003e.\n+ **Memcached**: Stand-alone and active/standby type instance values: \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e.\n"},"configurations":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FDcsInstanceV1Configuration:DcsInstanceV1Configuration"},"description":"Describes the array of configuration items of the DCS instance.\nConfigured values can be found [here](https://docs.otc.t-systems.com/en-us/api/dcs/dcs-api-0312015.html#dcs-api-0312015__table1439111281351).\n"},"createdAt":{"type":"string","description":"Time at which the DCS instance is created. For example, `2017-03-31T12:24:46.297Z`.\n"},"dcsInstanceV1Id":{"type":"string"},"description":{"type":"string","description":"Indicates the description of an instance. It is a character\nstring containing not more than \u003cspan pulumi-lang-nodejs=\"`1024`\" pulumi-lang-dotnet=\"`1024`\" pulumi-lang-go=\"`1024`\" pulumi-lang-python=\"`1024`\" pulumi-lang-yaml=\"`1024`\" pulumi-lang-java=\"`1024`\"\u003e`1024`\u003c/span\u003e characters.\n"},"enableWhitelist":{"type":"boolean","description":"Specifies whether to enable or disable \u003cspan pulumi-lang-nodejs=\"`whitelist`\" pulumi-lang-dotnet=\"`Whitelist`\" pulumi-lang-go=\"`whitelist`\" pulumi-lang-python=\"`whitelist`\" pulumi-lang-yaml=\"`whitelist`\" pulumi-lang-java=\"`whitelist`\"\u003e`whitelist`\u003c/span\u003e. Only available when\n\u003cspan pulumi-lang-nodejs=\"`engineVersion`\" pulumi-lang-dotnet=\"`EngineVersion`\" pulumi-lang-go=\"`engineVersion`\" pulumi-lang-python=\"`engine_version`\" pulumi-lang-yaml=\"`engineVersion`\" pulumi-lang-java=\"`engineVersion`\"\u003e`engine_version`\u003c/span\u003e is set to `4.0`/`5.0`. Parameter have to be used together with \u003cspan pulumi-lang-nodejs=\"`whitelist`\" pulumi-lang-dotnet=\"`Whitelist`\" pulumi-lang-go=\"`whitelist`\" pulumi-lang-python=\"`whitelist`\" pulumi-lang-yaml=\"`whitelist`\" pulumi-lang-java=\"`whitelist`\"\u003e`whitelist`\u003c/span\u003e.\n"},"engine":{"type":"string","description":"Indicates a cache engine. Only `Redis` is supported. Changing this\ncreates a new instance.\n"},"engineVersion":{"type":"string","description":"Indicates the version of a cache engine, which can be `4.0`/`5.0`/`6.0`.\nChanging this creates a new instance.\n"},"internalVersion":{"type":"string","description":"Internal DCS version.\n"},"ip":{"type":"string","description":"Cache node's IP address in the tenant's VPC.\n"},"maintainBegin":{"type":"string","description":"Indicates the time at which a maintenance time window starts.\nFormat: `HH:mm:ss`. The start time and end time of a maintenance time window must indicate the time segment of\na supported maintenance time window. For details, see section\n[Querying Maintenance Time Windows](https://docs.otc.t-systems.com/api/dcs/dcs-api-0312041.html).\nThe start time must be set to `22:00`, `02:00`, `06:00`, `10:00`, `14:00`, or `18:00`.\n"},"maintainEnd":{"type":"string","description":"Indicates the time at which a maintenance time window ends.\nFormat: `HH:mm:ss`. The start time and end time of a maintenance time window must indicate the time segment of\na supported maintenance time window. For details, see section\n[Querying Maintenance Time Windows](https://docs.otc.t-systems.com/api/dcs/dcs-api-0312041.html).\nThe end time is four hours later than the start time. For example, if the start time is `22:00`,\nthe end time is `02:00`.\n\n\u003e Parameters \u003cspan pulumi-lang-nodejs=\"`maintainBegin`\" pulumi-lang-dotnet=\"`MaintainBegin`\" pulumi-lang-go=\"`maintainBegin`\" pulumi-lang-python=\"`maintain_begin`\" pulumi-lang-yaml=\"`maintainBegin`\" pulumi-lang-java=\"`maintainBegin`\"\u003e`maintain_begin`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`maintainEnd`\" pulumi-lang-dotnet=\"`MaintainEnd`\" pulumi-lang-go=\"`maintainEnd`\" pulumi-lang-python=\"`maintain_end`\" pulumi-lang-yaml=\"`maintainEnd`\" pulumi-lang-java=\"`maintainEnd`\"\u003e`maintain_end`\u003c/span\u003e must be set in pairs. If parameter \u003cspan pulumi-lang-nodejs=\"`maintainEnd`\" pulumi-lang-dotnet=\"`MaintainEnd`\" pulumi-lang-go=\"`maintainEnd`\" pulumi-lang-python=\"`maintain_end`\" pulumi-lang-yaml=\"`maintainEnd`\" pulumi-lang-java=\"`maintainEnd`\"\u003e`maintain_end`\u003c/span\u003e is left\nblank, parameter \u003cspan pulumi-lang-nodejs=\"`maintainBegin`\" pulumi-lang-dotnet=\"`MaintainBegin`\" pulumi-lang-go=\"`maintainBegin`\" pulumi-lang-python=\"`maintain_begin`\" pulumi-lang-yaml=\"`maintainBegin`\" pulumi-lang-java=\"`maintainBegin`\"\u003e`maintain_begin`\u003c/span\u003e is also blank. In this case, the system automatically allocates\nthe default start time `02:00` and the default end time `06:00`.\n"},"maxMemory":{"type":"number","description":"Overall memory size. Unit: MB.\n"},"name":{"type":"string","description":"Indicates the name of an instance. An instance name starts with a letter,\nconsists of \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e characters, and supports only letters, digits, and hyphens (-).\n"},"noPasswordAccess":{"type":"string","description":"An indicator of whether a DCS instance can be accessed in password-free mode.\n\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e when password not set.\n"},"orderId":{"type":"string","description":"An order ID is generated only in the monthly or yearly billing mode.\nIn other billing modes, no value is returned for this parameter.\n"},"password":{"type":"string","description":"Indicates the password of an instance. An instance password\nmust meet the following complexity requirements: Must be 8 to 32 characters long.\nMust contain at least 3 of the following character types: lowercase letters, uppercase\nletters, digits, and special characters: `~!@#$^\u0026*()-_=+|{}:,\u003c\u003e./?\nChanging this creates a new instance.\n","secret":true},"periodType":{"type":"string","description":"See Argument Reference above.\n","deprecationMessage":"Deprecated"},"port":{"type":"number","description":"Port of the cache node.\n"},"privateIp":{"type":"string","description":"IP address that is manually specified for a DCS instance.\n"},"productId":{"type":"string","description":"Product ID used to differentiate DCS instance types.\nChanging this creates a new instance.\n"},"resourceSpecCode":{"type":"string","description":"Resource specifications.\n"},"saveDays":{"type":"number","description":"See Argument Reference above.\n","deprecationMessage":"Deprecated"},"securityGroupId":{"type":"string","description":"Security group ID. This parameter is mandatory when \u003cspan pulumi-lang-nodejs=\"`engineVersion`\" pulumi-lang-dotnet=\"`EngineVersion`\" pulumi-lang-go=\"`engineVersion`\" pulumi-lang-python=\"`engine_version`\" pulumi-lang-yaml=\"`engineVersion`\" pulumi-lang-java=\"`engineVersion`\"\u003e`engine_version`\u003c/span\u003e is `3.0`.\n"},"securityGroupName":{"type":"string","description":"Indicates the name of a security group.\n"},"status":{"type":"string","description":"Cache instance status. One of `CREATING`, `CREATEFAILED`, `RUNNING`, `ERROR`,\n`RESTARTING`, `EXTENDING`, `RESTORING`\n"},"subnetId":{"type":"string","description":"Specifies the subnet Network ID. Changing this creates a new instance.\n"},"subnetName":{"type":"string","description":"Indicates the name of a subnet.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"The key/value pairs to associate with the dcs instance.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FDcsInstanceV1Timeouts:DcsInstanceV1Timeouts"},"usedMemory":{"type":"number","description":"Size of the used memory. Unit: MB.\n"},"userId":{"type":"string","description":"Indicates a user ID.\n"},"userName":{"type":"string","description":"Username.\n"},"vpcId":{"type":"string","description":"Specifies the VPC ID. Changing this creates a new instance.\n"},"vpcName":{"type":"string","description":"Indicates the name of a vpc.\n"},"whitelists":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FDcsInstanceV1Whitelist:DcsInstanceV1Whitelist"},"description":"Describes the \u003cspan pulumi-lang-nodejs=\"`whitelist`\" pulumi-lang-dotnet=\"`Whitelist`\" pulumi-lang-go=\"`whitelist`\" pulumi-lang-python=\"`whitelist`\" pulumi-lang-yaml=\"`whitelist`\" pulumi-lang-java=\"`whitelist`\"\u003e`whitelist`\u003c/span\u003e groups to be used with the instance. Only available when\n\u003cspan pulumi-lang-nodejs=\"`engineVersion`\" pulumi-lang-dotnet=\"`EngineVersion`\" pulumi-lang-go=\"`engineVersion`\" pulumi-lang-python=\"`engine_version`\" pulumi-lang-yaml=\"`engineVersion`\" pulumi-lang-java=\"`engineVersion`\"\u003e`engine_version`\u003c/span\u003e is set to `4.0`/`5.0`. Parameter have to be used together with \u003cspan pulumi-lang-nodejs=\"`enableWhitelist`\" pulumi-lang-dotnet=\"`EnableWhitelist`\" pulumi-lang-go=\"`enableWhitelist`\" pulumi-lang-python=\"`enable_whitelist`\" pulumi-lang-yaml=\"`enableWhitelist`\" pulumi-lang-java=\"`enableWhitelist`\"\u003e`enable_whitelist`\u003c/span\u003e.\nResource fields:\n"}},"type":"object"}},"opentelekomcloud:index/dcsInstanceV2:DcsInstanceV2":{"description":"Up-to-date reference of API arguments for DCS V2 instance you can get at\n[documentation portal](https://docs.otc.t-systems.com/distributed-cache-service/api-ref/apis_v2_recommended/index.html)\n\nManages a DCSv2 instance in the OpenTelekomCloud DCS Service.\n\n## Example Usage\n\n### Engine version 5.0 (please pay attention of proper selection of flavor):\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst zones = opentelekomcloud.getComputeAvailabilityZonesV2({});\nconst instance1 = new opentelekomcloud.DcsInstanceV2(\"instance_1\", {\n    name: \"test_dcs_instance_5.0\",\n    engineVersion: \"5.0\",\n    password: \"0TCTestP@ssw0rd\",\n    engine: \"Redis\",\n    capacity: 0.125,\n    vpcId: sharedSubnet.vpcId,\n    subnetId: sharedSubnet.networkId,\n    availabilityZones: [zones.then(zones =\u003e zones.names?.[0])],\n    flavor: \"redis.single.xu1.tiny.128\",\n    enableWhitelist: true,\n    whitelists: [\n        {\n            groupName: \"test-group-name\",\n            ipLists: [\n                \"10.10.10.1\",\n                \"10.10.10.2\",\n            ],\n        },\n        {\n            groupName: \"test-group-name-2\",\n            ipLists: [\n                \"10.10.10.11\",\n                \"10.10.10.3\",\n                \"10.10.10.4\",\n            ],\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nzones = opentelekomcloud.get_compute_availability_zones_v2()\ninstance1 = opentelekomcloud.DcsInstanceV2(\"instance_1\",\n    name=\"test_dcs_instance_5.0\",\n    engine_version=\"5.0\",\n    password=\"0TCTestP@ssw0rd\",\n    engine=\"Redis\",\n    capacity=0.125,\n    vpc_id=shared_subnet[\"vpcId\"],\n    subnet_id=shared_subnet[\"networkId\"],\n    availability_zones=[zones.names[0]],\n    flavor=\"redis.single.xu1.tiny.128\",\n    enable_whitelist=True,\n    whitelists=[\n        {\n            \"group_name\": \"test-group-name\",\n            \"ip_lists\": [\n                \"10.10.10.1\",\n                \"10.10.10.2\",\n            ],\n        },\n        {\n            \"group_name\": \"test-group-name-2\",\n            \"ip_lists\": [\n                \"10.10.10.11\",\n                \"10.10.10.3\",\n                \"10.10.10.4\",\n            ],\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var zones = Opentelekomcloud.GetComputeAvailabilityZonesV2.Invoke();\n\n    var instance1 = new Opentelekomcloud.DcsInstanceV2(\"instance_1\", new()\n    {\n        Name = \"test_dcs_instance_5.0\",\n        EngineVersion = \"5.0\",\n        Password = \"0TCTestP@ssw0rd\",\n        Engine = \"Redis\",\n        Capacity = 0.125,\n        VpcId = sharedSubnet.VpcId,\n        SubnetId = sharedSubnet.NetworkId,\n        AvailabilityZones = new[]\n        {\n            zones.Apply(getComputeAvailabilityZonesV2Result =\u003e getComputeAvailabilityZonesV2Result.Names[0]),\n        },\n        Flavor = \"redis.single.xu1.tiny.128\",\n        EnableWhitelist = true,\n        Whitelists = new[]\n        {\n            new Opentelekomcloud.Inputs.DcsInstanceV2WhitelistArgs\n            {\n                GroupName = \"test-group-name\",\n                IpLists = new[]\n                {\n                    \"10.10.10.1\",\n                    \"10.10.10.2\",\n                },\n            },\n            new Opentelekomcloud.Inputs.DcsInstanceV2WhitelistArgs\n            {\n                GroupName = \"test-group-name-2\",\n                IpLists = new[]\n                {\n                    \"10.10.10.11\",\n                    \"10.10.10.3\",\n                    \"10.10.10.4\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tzones, err := opentelekomcloud.GetComputeAvailabilityZonesV2(ctx, \u0026opentelekomcloud.GetComputeAvailabilityZonesV2Args{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewDcsInstanceV2(ctx, \"instance_1\", \u0026opentelekomcloud.DcsInstanceV2Args{\n\t\t\tName:          pulumi.String(\"test_dcs_instance_5.0\"),\n\t\t\tEngineVersion: pulumi.String(\"5.0\"),\n\t\t\tPassword:      pulumi.String(\"0TCTestP@ssw0rd\"),\n\t\t\tEngine:        pulumi.String(\"Redis\"),\n\t\t\tCapacity:      pulumi.Float64(0.125),\n\t\t\tVpcId:         pulumi.Any(sharedSubnet.VpcId),\n\t\t\tSubnetId:      pulumi.Any(sharedSubnet.NetworkId),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(zones.Names[0]),\n\t\t\t},\n\t\t\tFlavor:          pulumi.String(\"redis.single.xu1.tiny.128\"),\n\t\t\tEnableWhitelist: pulumi.Bool(true),\n\t\t\tWhitelists: opentelekomcloud.DcsInstanceV2WhitelistArray{\n\t\t\t\t\u0026opentelekomcloud.DcsInstanceV2WhitelistArgs{\n\t\t\t\t\tGroupName: pulumi.String(\"test-group-name\"),\n\t\t\t\t\tIpLists: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"10.10.10.1\"),\n\t\t\t\t\t\tpulumi.String(\"10.10.10.2\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026opentelekomcloud.DcsInstanceV2WhitelistArgs{\n\t\t\t\t\tGroupName: pulumi.String(\"test-group-name-2\"),\n\t\t\t\t\tIpLists: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"10.10.10.11\"),\n\t\t\t\t\t\tpulumi.String(\"10.10.10.3\"),\n\t\t\t\t\t\tpulumi.String(\"10.10.10.4\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetComputeAvailabilityZonesV2Args;\nimport com.pulumi.opentelekomcloud.DcsInstanceV2;\nimport com.pulumi.opentelekomcloud.DcsInstanceV2Args;\nimport com.pulumi.opentelekomcloud.inputs.DcsInstanceV2WhitelistArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var zones = OpentelekomcloudFunctions.getComputeAvailabilityZonesV2(GetComputeAvailabilityZonesV2Args.builder()\n            .build());\n\n        var instance1 = new DcsInstanceV2(\"instance1\", DcsInstanceV2Args.builder()\n            .name(\"test_dcs_instance_5.0\")\n            .engineVersion(\"5.0\")\n            .password(\"0TCTestP@ssw0rd\")\n            .engine(\"Redis\")\n            .capacity(0.125)\n            .vpcId(sharedSubnet.vpcId())\n            .subnetId(sharedSubnet.networkId())\n            .availabilityZones(zones.names()[0])\n            .flavor(\"redis.single.xu1.tiny.128\")\n            .enableWhitelist(true)\n            .whitelists(            \n                DcsInstanceV2WhitelistArgs.builder()\n                    .groupName(\"test-group-name\")\n                    .ipLists(                    \n                        \"10.10.10.1\",\n                        \"10.10.10.2\")\n                    .build(),\n                DcsInstanceV2WhitelistArgs.builder()\n                    .groupName(\"test-group-name-2\")\n                    .ipLists(                    \n                        \"10.10.10.11\",\n                        \"10.10.10.3\",\n                        \"10.10.10.4\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  instance1:\n    type: opentelekomcloud:DcsInstanceV2\n    name: instance_1\n    properties:\n      name: test_dcs_instance_5.0\n      engineVersion: '5.0'\n      password: 0TCTestP@ssw0rd\n      engine: Redis\n      capacity: 0.125\n      vpcId: ${sharedSubnet.vpcId}\n      subnetId: ${sharedSubnet.networkId}\n      availabilityZones:\n        - ${zones.names[0]}\n      flavor: redis.single.xu1.tiny.128\n      enableWhitelist: true\n      whitelists:\n        - groupName: test-group-name\n          ipLists:\n            - 10.10.10.1\n            - 10.10.10.2\n        - groupName: test-group-name-2\n          ipLists:\n            - 10.10.10.11\n            - 10.10.10.3\n            - 10.10.10.4\nvariables:\n  zones:\n    fn::invoke:\n      function: opentelekomcloud:getComputeAvailabilityZonesV2\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDCS instance can be imported using the `id`, e.g.\n\nbash\n\n```sh\n$ pulumi import opentelekomcloud:index/dcsInstanceV2:DcsInstanceV2 instance_1 80e373f9-872e-4046-aae9-ccd9ddc55511\n```\n\nNote that the imported state may not be identical to your resource definition, due to some attributes missing from the\n\nAPI response, security or some other reason.\n\nThe missing attributes include: `backup_policy`, `parameters`, `password`,\n\n`bandwidth_info.0.current_time`.\n\nIt is generally recommended running `pulumi preview` after importing an instance.\n\nYou can then decide if changes should be applied to the instance, or the resource definition should be updated to\n\nalign with the instance. Also, you can ignore changes as below.\n\nresource \"opentelekomcloud_dcs_instance_v2\" \"instance_1\" {\n\n    ...\n\n  lifecycle {\n\n    ignore_changes = [\n\n      password, rename_commands, backup_policy, parameters,\n\n      bandwidth_info.0.current_time\n\n    ]\n\n  }\n\n}\n\n","properties":{"accessUser":{"type":"string","description":"Specifies the username used for accessing a DCS instance.\nThe username starts with a letter, consists of 1 to 64 characters, and supports only letters, digits, and\nhyphens (-). Changing this creates a new instance. If the cache engine is Redis, leave this parameter empty.\n"},"availabilityZones":{"type":"array","items":{"type":"string"},"description":"The code of the AZ where the cache node resides.\nMaster/Standby, Proxy Cluster, and Redis Cluster DCS instances support cross-AZ deployment.\nYou can specify an AZ for the standby node. When specifying AZs for nodes, use commas (,) to separate AZs.\nChanging this creates a new instance.\n"},"backupPolicy":{"$ref":"#/types/opentelekomcloud:index%2FDcsInstanceV2BackupPolicy:DcsInstanceV2BackupPolicy","description":"Specifies the backup configuration to be used with the instance.\nThe structure is described below.\n\n\u003e **NOTE:** This parameter is not supported when the instance type is single.\n"},"bandwidthInfos":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FDcsInstanceV2BandwidthInfo:DcsInstanceV2BandwidthInfo"},"description":"Indicates the bandwidth information of the instance.\nThe\u003cspan pulumi-lang-nodejs=\" bandwidthInfo \" pulumi-lang-dotnet=\" BandwidthInfo \" pulumi-lang-go=\" bandwidthInfo \" pulumi-lang-python=\" bandwidth_info \" pulumi-lang-yaml=\" bandwidthInfo \" pulumi-lang-java=\" bandwidthInfo \"\u003e bandwidth_info \u003c/span\u003estructure is documented below.\n"},"cacheMode":{"type":"string","description":"Indicates the instance type. The value can be **single**, **ha**, **cluster** or **proxy**.\n"},"capacity":{"type":"number","description":"Specifies the cache capacity. Unit: GB.\n"},"cpuType":{"type":"string","description":"Indicates the CPU type of the instance. The value can be **x86_64** or **aarch64**.\n"},"createdAt":{"type":"string","description":"Indicates the time when the instance is created, in RFC3339 format.\n"},"dcsInstanceV2Id":{"type":"string","description":"A resource ID in UUID format.\n"},"deletedNodes":{"type":"array","items":{"type":"string"},"description":"Specifies the ID of the replica to delete. This parameter is mandatory when\nyou delete replicas of a master/standby DCS Redis 4.0 or 5.0 instance. Currently, only one replica can be deleted\nat a time.\n"},"description":{"type":"string","description":"Specifies the description of an instance.\nIt is a string that contains a maximum of 1024 characters.\n"},"domainName":{"type":"string","description":"Domain name of the instance. Usually, we use domain name and port to connect to the DCS instances.\n"},"enableWhitelist":{"type":"boolean","description":"Enable or disable the IP address whitelists. Defaults to true.\nIf the whitelist is disabled, all IP addresses connected to the VPC can access the instance.\n"},"engine":{"type":"string","description":"Specifies a cache engine. Options: *Redis* and *Memcached*.\nChanging this creates a new instance.\n"},"engineVersion":{"type":"string","description":"Specifies the version of a cache engine.\nIt is mandatory when the engine is *Redis*, the value can be 4.0, 5.0, 6.0 or 7.0.\nChanging this creates a new instance.\n"},"flavor":{"type":"string","description":"The flavor of the cache instance, which including the total memory, available memory,\nmaximum number of connections allowed, maximum/assured bandwidth and reference performance.\nIt also includes the modes of Redis instances. You can query the *flavor* as follows:\n+ Query flavors\nin [DCS Instance Specifications](https://docs.otc.t-systems.com/distributed-cache-service/umn/service_overview/dcs_instance_specifications/index.html)\n+ Log in to the DCS console, click *Create DCS Instance*, and find the corresponding instance specification.\n"},"launchedAt":{"type":"string","description":"Indicates the time when the instance is started, in RFC3339 format.\n"},"maintainBegin":{"type":"string","description":"Time at which the maintenance time window starts. Defaults to **02:00:00**.\n+ The start time and end time of a maintenance time window must indicate the time segment of a supported maintenance\ntime window.\n+ The start time must be on the hour, such as **18:00:00**.\n+ If parameter \u003cspan pulumi-lang-nodejs=\"`maintainBegin`\" pulumi-lang-dotnet=\"`MaintainBegin`\" pulumi-lang-go=\"`maintainBegin`\" pulumi-lang-python=\"`maintain_begin`\" pulumi-lang-yaml=\"`maintainBegin`\" pulumi-lang-java=\"`maintainBegin`\"\u003e`maintain_begin`\u003c/span\u003e is left blank, parameter \u003cspan pulumi-lang-nodejs=\"`maintainEnd`\" pulumi-lang-dotnet=\"`MaintainEnd`\" pulumi-lang-go=\"`maintainEnd`\" pulumi-lang-python=\"`maintain_end`\" pulumi-lang-yaml=\"`maintainEnd`\" pulumi-lang-java=\"`maintainEnd`\"\u003e`maintain_end`\u003c/span\u003e is also blank.\nIn this case, the system automatically allocates the default start time **02:00:00**.\n"},"maintainEnd":{"type":"string","description":"Time at which the maintenance time window ends. Defaults to **06:00:00**.\n+ The start time and end time of a maintenance time window must indicate the time segment of a supported maintenance\ntime window.\n+ The end time is one hour later than the start time. For example, if the start time is **18:00:00**, the end time is\n**19:00:00**.\n+ If parameter \u003cspan pulumi-lang-nodejs=\"`maintainEnd`\" pulumi-lang-dotnet=\"`MaintainEnd`\" pulumi-lang-go=\"`maintainEnd`\" pulumi-lang-python=\"`maintain_end`\" pulumi-lang-yaml=\"`maintainEnd`\" pulumi-lang-java=\"`maintainEnd`\"\u003e`maintain_end`\u003c/span\u003e is left blank, parameter \u003cspan pulumi-lang-nodejs=\"`maintainBegin`\" pulumi-lang-dotnet=\"`MaintainBegin`\" pulumi-lang-go=\"`maintainBegin`\" pulumi-lang-python=\"`maintain_begin`\" pulumi-lang-yaml=\"`maintainBegin`\" pulumi-lang-java=\"`maintainBegin`\"\u003e`maintain_begin`\u003c/span\u003e is also blank.\nIn this case, the system automatically allocates the default end time **06:00:00**.\n\n\u003e **NOTE:** Parameters \u003cspan pulumi-lang-nodejs=\"`maintainBegin`\" pulumi-lang-dotnet=\"`MaintainBegin`\" pulumi-lang-go=\"`maintainBegin`\" pulumi-lang-python=\"`maintain_begin`\" pulumi-lang-yaml=\"`maintainBegin`\" pulumi-lang-java=\"`maintainBegin`\"\u003e`maintain_begin`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`maintainEnd`\" pulumi-lang-dotnet=\"`MaintainEnd`\" pulumi-lang-go=\"`maintainEnd`\" pulumi-lang-python=\"`maintain_end`\" pulumi-lang-yaml=\"`maintainEnd`\" pulumi-lang-java=\"`maintainEnd`\"\u003e`maintain_end`\u003c/span\u003e must be set in pairs.\n"},"maxMemory":{"type":"number","description":"Total memory size. Unit: MB.\n"},"name":{"type":"string","description":"Specifies the name of an instance.\nThe name must be 4 to 64 characters and start with a letter.\nOnly chinese, letters (case-insensitive), digits, underscores (_) ,and hyphens (-) are allowed.\n"},"parameters":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FDcsInstanceV2Parameter:DcsInstanceV2Parameter"},"description":"Specify an array of one or more parameters to be set to the DCS instance after\nlaunched. You can check on console to see which parameters supported.\nThe parameters structure is documented below.\n"},"password":{"type":"string","description":"Specifies the password of a DCS instance.\nThe password of a DCS instance must meet the following complexity requirements:\n+ Must be a string of 8 to 32 bits in length.\n+ Must contain three combinations of the following four characters: Lower case letters, uppercase letter, digital,\nSpecial characters include (`~!@#$^\u0026*()-_=+\\\\|{}:,\u003c.\u003e/?).\n+ The new password cannot be the same as the old password.\n","secret":true},"port":{"type":"number","description":"Port customization, which is supported only by Redis 4.0 and Redis 5.0 instances.\nRedis instance defaults to 6379. Memcached instance does not use this argument.\n"},"privateIp":{"type":"string","description":"The IP address of the DCS instance,\nwhich can only be the currently available IP address the selected subnet.\nYou can specify an available IP for the Redis instance (except for the Redis Cluster type).\nIf omitted, the system will automatically allocate an available IP address to the Redis instance.\nChanging this creates a new instance resource.\n"},"productType":{"type":"string","description":"Indicates the product type of the instance. The value can be: **generic** or **enterprise**.\n"},"readonlyDomainName":{"type":"string","description":"Indicates the read-only domain name of the instance. This parameter is available\nonly for master/standby instances.\n"},"region":{"type":"string","description":"Indicates the region in which DCS instance resource is created.\n"},"renameCommands":{"type":"object","additionalProperties":{"type":"string"},"description":"Critical command renaming, which is supported only by Redis 4.0 and\nRedis 5.0 instances but not by Redis 3.0 instance.\nThe valid commands that can be renamed are: **command**, **keys**, **flushdb**, **flushall** and **hgetall**.\n"},"replicaCount":{"type":"number","description":"Indicates the number of replicas in the instance.\n"},"reservedIps":{"type":"array","items":{"type":"string"},"description":"Specifies IP addresses to retain. Mandatory during cluster scale-in. If this\nparameter is not set, the system randomly deletes unnecessary shards.\n"},"securityGroupId":{"type":"string","description":"The ID of the security group which the instance belongs to.\nThis parameter is mandatory for Memcached and Redis 3.0 version.\n"},"securityGroupName":{"type":"string","description":"The name of security group which the instance belongs to.\n"},"shardingCount":{"type":"number","description":"Indicates the number of shards in a cluster instance.\n"},"sslEnable":{"type":"boolean","description":"Specifies whether to enable the SSL. Value options: **true**, **false**.\n"},"status":{"type":"string","description":"Cache instance status. The valid values are as follows:\n+ `RUNNING`: The instance is running properly.\nOnly instances in the Running state can provide in-memory cache service.\n+ `ERROR`: The instance is not running properly.\n+ `RESTARTING`: The instance is being restarted.\n+ `FROZEN`: The instance has been frozen due to low balance.\nYou can unfreeze the instance by recharging your account in My Order.\n+ `EXTENDING`: The instance is being scaled up.\n+ `RESTORING`: The instance data is being restored.\n+ `FLUSHING`: The DCS instance is being cleared.\n"},"subnetCidr":{"type":"string","description":"Indicates the subnet segment.\n"},"subnetId":{"type":"string","description":"The ID of subnet (Network ID) which the instance belongs to.\nChanging this creates a new instance resource.\n"},"subnetName":{"type":"string","description":"The name of subnet which the instance belongs to.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"The key/value pairs to associate with the dcs instance.\n"},"templateId":{"type":"string","description":"The Parameter Template ID.\nChanging this creates a new instance resource.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FDcsInstanceV2Timeouts:DcsInstanceV2Timeouts"},"transparentClientIpEnable":{"type":"boolean","description":"Indicates whether client IP pass-through is enabled.\n"},"usedMemory":{"type":"number","description":"Size of the used memory. Unit: MB.\n"},"userId":{"type":"string"},"userName":{"type":"string"},"vpcId":{"type":"string","description":"The ID of VPC which the instance belongs to.\nChanging this creates a new instance resource.\n"},"vpcName":{"type":"string","description":"The name of VPC which the instance belongs to.\n"},"whitelists":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FDcsInstanceV2Whitelist:DcsInstanceV2Whitelist"},"description":"Specifies the IP addresses which can access the instance.\nThis parameter is valid for Redis 4.0 and 5.0 versions. The structure is described below. Required if \u003cspan pulumi-lang-nodejs=\"`enableWhitelist`\" pulumi-lang-dotnet=\"`EnableWhitelist`\" pulumi-lang-go=\"`enableWhitelist`\" pulumi-lang-python=\"`enable_whitelist`\" pulumi-lang-yaml=\"`enableWhitelist`\" pulumi-lang-java=\"`enableWhitelist`\"\u003e`enable_whitelist`\u003c/span\u003e is used.\n"}},"type":"object","required":["accessUser","availabilityZones","bandwidthInfos","cacheMode","capacity","cpuType","createdAt","dcsInstanceV2Id","description","domainName","enableWhitelist","engine","flavor","launchedAt","maintainBegin","maintainEnd","maxMemory","name","port","privateIp","productType","readonlyDomainName","region","replicaCount","securityGroupName","shardingCount","sslEnable","status","subnetCidr","subnetId","subnetName","transparentClientIpEnable","usedMemory","userId","userName","vpcId","vpcName"],"inputProperties":{"accessUser":{"type":"string","description":"Specifies the username used for accessing a DCS instance.\nThe username starts with a letter, consists of 1 to 64 characters, and supports only letters, digits, and\nhyphens (-). Changing this creates a new instance. If the cache engine is Redis, leave this parameter empty.\n"},"availabilityZones":{"type":"array","items":{"type":"string"},"description":"The code of the AZ where the cache node resides.\nMaster/Standby, Proxy Cluster, and Redis Cluster DCS instances support cross-AZ deployment.\nYou can specify an AZ for the standby node. When specifying AZs for nodes, use commas (,) to separate AZs.\nChanging this creates a new instance.\n"},"backupPolicy":{"$ref":"#/types/opentelekomcloud:index%2FDcsInstanceV2BackupPolicy:DcsInstanceV2BackupPolicy","description":"Specifies the backup configuration to be used with the instance.\nThe structure is described below.\n\n\u003e **NOTE:** This parameter is not supported when the instance type is single.\n"},"capacity":{"type":"number","description":"Specifies the cache capacity. Unit: GB.\n"},"dcsInstanceV2Id":{"type":"string","description":"A resource ID in UUID format.\n"},"deletedNodes":{"type":"array","items":{"type":"string"},"description":"Specifies the ID of the replica to delete. This parameter is mandatory when\nyou delete replicas of a master/standby DCS Redis 4.0 or 5.0 instance. Currently, only one replica can be deleted\nat a time.\n"},"description":{"type":"string","description":"Specifies the description of an instance.\nIt is a string that contains a maximum of 1024 characters.\n"},"enableWhitelist":{"type":"boolean","description":"Enable or disable the IP address whitelists. Defaults to true.\nIf the whitelist is disabled, all IP addresses connected to the VPC can access the instance.\n"},"engine":{"type":"string","description":"Specifies a cache engine. Options: *Redis* and *Memcached*.\nChanging this creates a new instance.\n"},"engineVersion":{"type":"string","description":"Specifies the version of a cache engine.\nIt is mandatory when the engine is *Redis*, the value can be 4.0, 5.0, 6.0 or 7.0.\nChanging this creates a new instance.\n"},"flavor":{"type":"string","description":"The flavor of the cache instance, which including the total memory, available memory,\nmaximum number of connections allowed, maximum/assured bandwidth and reference performance.\nIt also includes the modes of Redis instances. You can query the *flavor* as follows:\n+ Query flavors\nin [DCS Instance Specifications](https://docs.otc.t-systems.com/distributed-cache-service/umn/service_overview/dcs_instance_specifications/index.html)\n+ Log in to the DCS console, click *Create DCS Instance*, and find the corresponding instance specification.\n"},"maintainBegin":{"type":"string","description":"Time at which the maintenance time window starts. Defaults to **02:00:00**.\n+ The start time and end time of a maintenance time window must indicate the time segment of a supported maintenance\ntime window.\n+ The start time must be on the hour, such as **18:00:00**.\n+ If parameter \u003cspan pulumi-lang-nodejs=\"`maintainBegin`\" pulumi-lang-dotnet=\"`MaintainBegin`\" pulumi-lang-go=\"`maintainBegin`\" pulumi-lang-python=\"`maintain_begin`\" pulumi-lang-yaml=\"`maintainBegin`\" pulumi-lang-java=\"`maintainBegin`\"\u003e`maintain_begin`\u003c/span\u003e is left blank, parameter \u003cspan pulumi-lang-nodejs=\"`maintainEnd`\" pulumi-lang-dotnet=\"`MaintainEnd`\" pulumi-lang-go=\"`maintainEnd`\" pulumi-lang-python=\"`maintain_end`\" pulumi-lang-yaml=\"`maintainEnd`\" pulumi-lang-java=\"`maintainEnd`\"\u003e`maintain_end`\u003c/span\u003e is also blank.\nIn this case, the system automatically allocates the default start time **02:00:00**.\n"},"maintainEnd":{"type":"string","description":"Time at which the maintenance time window ends. Defaults to **06:00:00**.\n+ The start time and end time of a maintenance time window must indicate the time segment of a supported maintenance\ntime window.\n+ The end time is one hour later than the start time. For example, if the start time is **18:00:00**, the end time is\n**19:00:00**.\n+ If parameter \u003cspan pulumi-lang-nodejs=\"`maintainEnd`\" pulumi-lang-dotnet=\"`MaintainEnd`\" pulumi-lang-go=\"`maintainEnd`\" pulumi-lang-python=\"`maintain_end`\" pulumi-lang-yaml=\"`maintainEnd`\" pulumi-lang-java=\"`maintainEnd`\"\u003e`maintain_end`\u003c/span\u003e is left blank, parameter \u003cspan pulumi-lang-nodejs=\"`maintainBegin`\" pulumi-lang-dotnet=\"`MaintainBegin`\" pulumi-lang-go=\"`maintainBegin`\" pulumi-lang-python=\"`maintain_begin`\" pulumi-lang-yaml=\"`maintainBegin`\" pulumi-lang-java=\"`maintainBegin`\"\u003e`maintain_begin`\u003c/span\u003e is also blank.\nIn this case, the system automatically allocates the default end time **06:00:00**.\n\n\u003e **NOTE:** Parameters \u003cspan pulumi-lang-nodejs=\"`maintainBegin`\" pulumi-lang-dotnet=\"`MaintainBegin`\" pulumi-lang-go=\"`maintainBegin`\" pulumi-lang-python=\"`maintain_begin`\" pulumi-lang-yaml=\"`maintainBegin`\" pulumi-lang-java=\"`maintainBegin`\"\u003e`maintain_begin`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`maintainEnd`\" pulumi-lang-dotnet=\"`MaintainEnd`\" pulumi-lang-go=\"`maintainEnd`\" pulumi-lang-python=\"`maintain_end`\" pulumi-lang-yaml=\"`maintainEnd`\" pulumi-lang-java=\"`maintainEnd`\"\u003e`maintain_end`\u003c/span\u003e must be set in pairs.\n"},"name":{"type":"string","description":"Specifies the name of an instance.\nThe name must be 4 to 64 characters and start with a letter.\nOnly chinese, letters (case-insensitive), digits, underscores (_) ,and hyphens (-) are allowed.\n"},"parameters":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FDcsInstanceV2Parameter:DcsInstanceV2Parameter"},"description":"Specify an array of one or more parameters to be set to the DCS instance after\nlaunched. You can check on console to see which parameters supported.\nThe parameters structure is documented below.\n"},"password":{"type":"string","description":"Specifies the password of a DCS instance.\nThe password of a DCS instance must meet the following complexity requirements:\n+ Must be a string of 8 to 32 bits in length.\n+ Must contain three combinations of the following four characters: Lower case letters, uppercase letter, digital,\nSpecial characters include (`~!@#$^\u0026*()-_=+\\\\|{}:,\u003c.\u003e/?).\n+ The new password cannot be the same as the old password.\n","secret":true},"port":{"type":"number","description":"Port customization, which is supported only by Redis 4.0 and Redis 5.0 instances.\nRedis instance defaults to 6379. Memcached instance does not use this argument.\n"},"privateIp":{"type":"string","description":"The IP address of the DCS instance,\nwhich can only be the currently available IP address the selected subnet.\nYou can specify an available IP for the Redis instance (except for the Redis Cluster type).\nIf omitted, the system will automatically allocate an available IP address to the Redis instance.\nChanging this creates a new instance resource.\n"},"renameCommands":{"type":"object","additionalProperties":{"type":"string"},"description":"Critical command renaming, which is supported only by Redis 4.0 and\nRedis 5.0 instances but not by Redis 3.0 instance.\nThe valid commands that can be renamed are: **command**, **keys**, **flushdb**, **flushall** and **hgetall**.\n"},"reservedIps":{"type":"array","items":{"type":"string"},"description":"Specifies IP addresses to retain. Mandatory during cluster scale-in. If this\nparameter is not set, the system randomly deletes unnecessary shards.\n"},"securityGroupId":{"type":"string","description":"The ID of the security group which the instance belongs to.\nThis parameter is mandatory for Memcached and Redis 3.0 version.\n"},"sslEnable":{"type":"boolean","description":"Specifies whether to enable the SSL. Value options: **true**, **false**.\n"},"subnetId":{"type":"string","description":"The ID of subnet (Network ID) which the instance belongs to.\nChanging this creates a new instance resource.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"The key/value pairs to associate with the dcs instance.\n"},"templateId":{"type":"string","description":"The Parameter Template ID.\nChanging this creates a new instance resource.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FDcsInstanceV2Timeouts:DcsInstanceV2Timeouts"},"vpcId":{"type":"string","description":"The ID of VPC which the instance belongs to.\nChanging this creates a new instance resource.\n"},"whitelists":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FDcsInstanceV2Whitelist:DcsInstanceV2Whitelist"},"description":"Specifies the IP addresses which can access the instance.\nThis parameter is valid for Redis 4.0 and 5.0 versions. The structure is described below. Required if \u003cspan pulumi-lang-nodejs=\"`enableWhitelist`\" pulumi-lang-dotnet=\"`EnableWhitelist`\" pulumi-lang-go=\"`enableWhitelist`\" pulumi-lang-python=\"`enable_whitelist`\" pulumi-lang-yaml=\"`enableWhitelist`\" pulumi-lang-java=\"`enableWhitelist`\"\u003e`enable_whitelist`\u003c/span\u003e is used.\n"}},"requiredInputs":["availabilityZones","capacity","engine","flavor","subnetId","vpcId"],"stateInputs":{"description":"Input properties used for looking up and filtering DcsInstanceV2 resources.\n","properties":{"accessUser":{"type":"string","description":"Specifies the username used for accessing a DCS instance.\nThe username starts with a letter, consists of 1 to 64 characters, and supports only letters, digits, and\nhyphens (-). Changing this creates a new instance. If the cache engine is Redis, leave this parameter empty.\n"},"availabilityZones":{"type":"array","items":{"type":"string"},"description":"The code of the AZ where the cache node resides.\nMaster/Standby, Proxy Cluster, and Redis Cluster DCS instances support cross-AZ deployment.\nYou can specify an AZ for the standby node. When specifying AZs for nodes, use commas (,) to separate AZs.\nChanging this creates a new instance.\n"},"backupPolicy":{"$ref":"#/types/opentelekomcloud:index%2FDcsInstanceV2BackupPolicy:DcsInstanceV2BackupPolicy","description":"Specifies the backup configuration to be used with the instance.\nThe structure is described below.\n\n\u003e **NOTE:** This parameter is not supported when the instance type is single.\n"},"bandwidthInfos":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FDcsInstanceV2BandwidthInfo:DcsInstanceV2BandwidthInfo"},"description":"Indicates the bandwidth information of the instance.\nThe\u003cspan pulumi-lang-nodejs=\" bandwidthInfo \" pulumi-lang-dotnet=\" BandwidthInfo \" pulumi-lang-go=\" bandwidthInfo \" pulumi-lang-python=\" bandwidth_info \" pulumi-lang-yaml=\" bandwidthInfo \" pulumi-lang-java=\" bandwidthInfo \"\u003e bandwidth_info \u003c/span\u003estructure is documented below.\n"},"cacheMode":{"type":"string","description":"Indicates the instance type. The value can be **single**, **ha**, **cluster** or **proxy**.\n"},"capacity":{"type":"number","description":"Specifies the cache capacity. Unit: GB.\n"},"cpuType":{"type":"string","description":"Indicates the CPU type of the instance. The value can be **x86_64** or **aarch64**.\n"},"createdAt":{"type":"string","description":"Indicates the time when the instance is created, in RFC3339 format.\n"},"dcsInstanceV2Id":{"type":"string","description":"A resource ID in UUID format.\n"},"deletedNodes":{"type":"array","items":{"type":"string"},"description":"Specifies the ID of the replica to delete. This parameter is mandatory when\nyou delete replicas of a master/standby DCS Redis 4.0 or 5.0 instance. Currently, only one replica can be deleted\nat a time.\n"},"description":{"type":"string","description":"Specifies the description of an instance.\nIt is a string that contains a maximum of 1024 characters.\n"},"domainName":{"type":"string","description":"Domain name of the instance. Usually, we use domain name and port to connect to the DCS instances.\n"},"enableWhitelist":{"type":"boolean","description":"Enable or disable the IP address whitelists. Defaults to true.\nIf the whitelist is disabled, all IP addresses connected to the VPC can access the instance.\n"},"engine":{"type":"string","description":"Specifies a cache engine. Options: *Redis* and *Memcached*.\nChanging this creates a new instance.\n"},"engineVersion":{"type":"string","description":"Specifies the version of a cache engine.\nIt is mandatory when the engine is *Redis*, the value can be 4.0, 5.0, 6.0 or 7.0.\nChanging this creates a new instance.\n"},"flavor":{"type":"string","description":"The flavor of the cache instance, which including the total memory, available memory,\nmaximum number of connections allowed, maximum/assured bandwidth and reference performance.\nIt also includes the modes of Redis instances. You can query the *flavor* as follows:\n+ Query flavors\nin [DCS Instance Specifications](https://docs.otc.t-systems.com/distributed-cache-service/umn/service_overview/dcs_instance_specifications/index.html)\n+ Log in to the DCS console, click *Create DCS Instance*, and find the corresponding instance specification.\n"},"launchedAt":{"type":"string","description":"Indicates the time when the instance is started, in RFC3339 format.\n"},"maintainBegin":{"type":"string","description":"Time at which the maintenance time window starts. Defaults to **02:00:00**.\n+ The start time and end time of a maintenance time window must indicate the time segment of a supported maintenance\ntime window.\n+ The start time must be on the hour, such as **18:00:00**.\n+ If parameter \u003cspan pulumi-lang-nodejs=\"`maintainBegin`\" pulumi-lang-dotnet=\"`MaintainBegin`\" pulumi-lang-go=\"`maintainBegin`\" pulumi-lang-python=\"`maintain_begin`\" pulumi-lang-yaml=\"`maintainBegin`\" pulumi-lang-java=\"`maintainBegin`\"\u003e`maintain_begin`\u003c/span\u003e is left blank, parameter \u003cspan pulumi-lang-nodejs=\"`maintainEnd`\" pulumi-lang-dotnet=\"`MaintainEnd`\" pulumi-lang-go=\"`maintainEnd`\" pulumi-lang-python=\"`maintain_end`\" pulumi-lang-yaml=\"`maintainEnd`\" pulumi-lang-java=\"`maintainEnd`\"\u003e`maintain_end`\u003c/span\u003e is also blank.\nIn this case, the system automatically allocates the default start time **02:00:00**.\n"},"maintainEnd":{"type":"string","description":"Time at which the maintenance time window ends. Defaults to **06:00:00**.\n+ The start time and end time of a maintenance time window must indicate the time segment of a supported maintenance\ntime window.\n+ The end time is one hour later than the start time. For example, if the start time is **18:00:00**, the end time is\n**19:00:00**.\n+ If parameter \u003cspan pulumi-lang-nodejs=\"`maintainEnd`\" pulumi-lang-dotnet=\"`MaintainEnd`\" pulumi-lang-go=\"`maintainEnd`\" pulumi-lang-python=\"`maintain_end`\" pulumi-lang-yaml=\"`maintainEnd`\" pulumi-lang-java=\"`maintainEnd`\"\u003e`maintain_end`\u003c/span\u003e is left blank, parameter \u003cspan pulumi-lang-nodejs=\"`maintainBegin`\" pulumi-lang-dotnet=\"`MaintainBegin`\" pulumi-lang-go=\"`maintainBegin`\" pulumi-lang-python=\"`maintain_begin`\" pulumi-lang-yaml=\"`maintainBegin`\" pulumi-lang-java=\"`maintainBegin`\"\u003e`maintain_begin`\u003c/span\u003e is also blank.\nIn this case, the system automatically allocates the default end time **06:00:00**.\n\n\u003e **NOTE:** Parameters \u003cspan pulumi-lang-nodejs=\"`maintainBegin`\" pulumi-lang-dotnet=\"`MaintainBegin`\" pulumi-lang-go=\"`maintainBegin`\" pulumi-lang-python=\"`maintain_begin`\" pulumi-lang-yaml=\"`maintainBegin`\" pulumi-lang-java=\"`maintainBegin`\"\u003e`maintain_begin`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`maintainEnd`\" pulumi-lang-dotnet=\"`MaintainEnd`\" pulumi-lang-go=\"`maintainEnd`\" pulumi-lang-python=\"`maintain_end`\" pulumi-lang-yaml=\"`maintainEnd`\" pulumi-lang-java=\"`maintainEnd`\"\u003e`maintain_end`\u003c/span\u003e must be set in pairs.\n"},"maxMemory":{"type":"number","description":"Total memory size. Unit: MB.\n"},"name":{"type":"string","description":"Specifies the name of an instance.\nThe name must be 4 to 64 characters and start with a letter.\nOnly chinese, letters (case-insensitive), digits, underscores (_) ,and hyphens (-) are allowed.\n"},"parameters":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FDcsInstanceV2Parameter:DcsInstanceV2Parameter"},"description":"Specify an array of one or more parameters to be set to the DCS instance after\nlaunched. You can check on console to see which parameters supported.\nThe parameters structure is documented below.\n"},"password":{"type":"string","description":"Specifies the password of a DCS instance.\nThe password of a DCS instance must meet the following complexity requirements:\n+ Must be a string of 8 to 32 bits in length.\n+ Must contain three combinations of the following four characters: Lower case letters, uppercase letter, digital,\nSpecial characters include (`~!@#$^\u0026*()-_=+\\\\|{}:,\u003c.\u003e/?).\n+ The new password cannot be the same as the old password.\n","secret":true},"port":{"type":"number","description":"Port customization, which is supported only by Redis 4.0 and Redis 5.0 instances.\nRedis instance defaults to 6379. Memcached instance does not use this argument.\n"},"privateIp":{"type":"string","description":"The IP address of the DCS instance,\nwhich can only be the currently available IP address the selected subnet.\nYou can specify an available IP for the Redis instance (except for the Redis Cluster type).\nIf omitted, the system will automatically allocate an available IP address to the Redis instance.\nChanging this creates a new instance resource.\n"},"productType":{"type":"string","description":"Indicates the product type of the instance. The value can be: **generic** or **enterprise**.\n"},"readonlyDomainName":{"type":"string","description":"Indicates the read-only domain name of the instance. This parameter is available\nonly for master/standby instances.\n"},"region":{"type":"string","description":"Indicates the region in which DCS instance resource is created.\n"},"renameCommands":{"type":"object","additionalProperties":{"type":"string"},"description":"Critical command renaming, which is supported only by Redis 4.0 and\nRedis 5.0 instances but not by Redis 3.0 instance.\nThe valid commands that can be renamed are: **command**, **keys**, **flushdb**, **flushall** and **hgetall**.\n"},"replicaCount":{"type":"number","description":"Indicates the number of replicas in the instance.\n"},"reservedIps":{"type":"array","items":{"type":"string"},"description":"Specifies IP addresses to retain. Mandatory during cluster scale-in. If this\nparameter is not set, the system randomly deletes unnecessary shards.\n"},"securityGroupId":{"type":"string","description":"The ID of the security group which the instance belongs to.\nThis parameter is mandatory for Memcached and Redis 3.0 version.\n"},"securityGroupName":{"type":"string","description":"The name of security group which the instance belongs to.\n"},"shardingCount":{"type":"number","description":"Indicates the number of shards in a cluster instance.\n"},"sslEnable":{"type":"boolean","description":"Specifies whether to enable the SSL. Value options: **true**, **false**.\n"},"status":{"type":"string","description":"Cache instance status. The valid values are as follows:\n+ `RUNNING`: The instance is running properly.\nOnly instances in the Running state can provide in-memory cache service.\n+ `ERROR`: The instance is not running properly.\n+ `RESTARTING`: The instance is being restarted.\n+ `FROZEN`: The instance has been frozen due to low balance.\nYou can unfreeze the instance by recharging your account in My Order.\n+ `EXTENDING`: The instance is being scaled up.\n+ `RESTORING`: The instance data is being restored.\n+ `FLUSHING`: The DCS instance is being cleared.\n"},"subnetCidr":{"type":"string","description":"Indicates the subnet segment.\n"},"subnetId":{"type":"string","description":"The ID of subnet (Network ID) which the instance belongs to.\nChanging this creates a new instance resource.\n"},"subnetName":{"type":"string","description":"The name of subnet which the instance belongs to.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"The key/value pairs to associate with the dcs instance.\n"},"templateId":{"type":"string","description":"The Parameter Template ID.\nChanging this creates a new instance resource.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FDcsInstanceV2Timeouts:DcsInstanceV2Timeouts"},"transparentClientIpEnable":{"type":"boolean","description":"Indicates whether client IP pass-through is enabled.\n"},"usedMemory":{"type":"number","description":"Size of the used memory. Unit: MB.\n"},"userId":{"type":"string"},"userName":{"type":"string"},"vpcId":{"type":"string","description":"The ID of VPC which the instance belongs to.\nChanging this creates a new instance resource.\n"},"vpcName":{"type":"string","description":"The name of VPC which the instance belongs to.\n"},"whitelists":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FDcsInstanceV2Whitelist:DcsInstanceV2Whitelist"},"description":"Specifies the IP addresses which can access the instance.\nThis parameter is valid for Redis 4.0 and 5.0 versions. The structure is described below. Required if \u003cspan pulumi-lang-nodejs=\"`enableWhitelist`\" pulumi-lang-dotnet=\"`EnableWhitelist`\" pulumi-lang-go=\"`enableWhitelist`\" pulumi-lang-python=\"`enable_whitelist`\" pulumi-lang-yaml=\"`enableWhitelist`\" pulumi-lang-java=\"`enableWhitelist`\"\u003e`enable_whitelist`\u003c/span\u003e is used.\n"}},"type":"object"}},"opentelekomcloud:index/ddmInstanceV1:DdmInstanceV1":{"description":"Up-to-date reference of API arguments for DDM instance you can get at\n[documentation portal](https://docs.otc.t-systems.com/distributed-database-middleware/api-ref/apis_recommended/ddm_instances)\n\nManages DDM instance resource within OpenTelekomCloud\n\n## Example Usage\n\n### Creating A Basic DDM Instance With 2 Nodes\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst flavorId = config.requireObject\u003cany\u003e(\"flavorId\");\nconst engineId = config.requireObject\u003cany\u003e(\"engineId\");\nconst vpcId = config.requireObject\u003cany\u003e(\"vpcId\");\nconst subnetId = config.requireObject\u003cany\u003e(\"subnetId\");\nconst securityGroupId = config.requireObject\u003cany\u003e(\"securityGroupId\");\nconst instance1 = new opentelekomcloud.DdmInstanceV1(\"instance_1\", {\n    name: \"ddm-instance\",\n    availabilityZones: [\n        \"eu-de-01\",\n        \"eu-de-02\",\n        \"eu-de-03\",\n    ],\n    flavorId: flavorId,\n    nodeNum: 2,\n    engineId: engineId,\n    vpcId: vpcId,\n    subnetId: subnetId,\n    securityGroupId: securityGroup.id,\n    purgeRdsOnDelete: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nflavor_id = config.require_object(\"flavorId\")\nengine_id = config.require_object(\"engineId\")\nvpc_id = config.require_object(\"vpcId\")\nsubnet_id = config.require_object(\"subnetId\")\nsecurity_group_id = config.require_object(\"securityGroupId\")\ninstance1 = opentelekomcloud.DdmInstanceV1(\"instance_1\",\n    name=\"ddm-instance\",\n    availability_zones=[\n        \"eu-de-01\",\n        \"eu-de-02\",\n        \"eu-de-03\",\n    ],\n    flavor_id=flavor_id,\n    node_num=2,\n    engine_id=engine_id,\n    vpc_id=vpc_id,\n    subnet_id=subnet_id,\n    security_group_id=security_group[\"id\"],\n    purge_rds_on_delete=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var flavorId = config.RequireObject\u003cdynamic\u003e(\"flavorId\");\n    var engineId = config.RequireObject\u003cdynamic\u003e(\"engineId\");\n    var vpcId = config.RequireObject\u003cdynamic\u003e(\"vpcId\");\n    var subnetId = config.RequireObject\u003cdynamic\u003e(\"subnetId\");\n    var securityGroupId = config.RequireObject\u003cdynamic\u003e(\"securityGroupId\");\n    var instance1 = new Opentelekomcloud.DdmInstanceV1(\"instance_1\", new()\n    {\n        Name = \"ddm-instance\",\n        AvailabilityZones = new[]\n        {\n            \"eu-de-01\",\n            \"eu-de-02\",\n            \"eu-de-03\",\n        },\n        FlavorId = flavorId,\n        NodeNum = 2,\n        EngineId = engineId,\n        VpcId = vpcId,\n        SubnetId = subnetId,\n        SecurityGroupId = securityGroup.Id,\n        PurgeRdsOnDelete = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tflavorId := cfg.RequireObject(\"flavorId\")\n\t\tengineId := cfg.RequireObject(\"engineId\")\n\t\tvpcId := cfg.RequireObject(\"vpcId\")\n\t\tsubnetId := cfg.RequireObject(\"subnetId\")\n\t\tsecurityGroupId := cfg.RequireObject(\"securityGroupId\")\n\t\t_, err := opentelekomcloud.NewDdmInstanceV1(ctx, \"instance_1\", \u0026opentelekomcloud.DdmInstanceV1Args{\n\t\t\tName: pulumi.String(\"ddm-instance\"),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"eu-de-01\"),\n\t\t\t\tpulumi.String(\"eu-de-02\"),\n\t\t\t\tpulumi.String(\"eu-de-03\"),\n\t\t\t},\n\t\t\tFlavorId:         pulumi.Any(flavorId),\n\t\t\tNodeNum:          pulumi.Float64(2),\n\t\t\tEngineId:         pulumi.Any(engineId),\n\t\t\tVpcId:            pulumi.Any(vpcId),\n\t\t\tSubnetId:         pulumi.Any(subnetId),\n\t\t\tSecurityGroupId:  pulumi.Any(securityGroup.Id),\n\t\t\tPurgeRdsOnDelete: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.DdmInstanceV1;\nimport com.pulumi.opentelekomcloud.DdmInstanceV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var flavorId = config.get(\"flavorId\");\n        final var engineId = config.get(\"engineId\");\n        final var vpcId = config.get(\"vpcId\");\n        final var subnetId = config.get(\"subnetId\");\n        final var securityGroupId = config.get(\"securityGroupId\");\n        var instance1 = new DdmInstanceV1(\"instance1\", DdmInstanceV1Args.builder()\n            .name(\"ddm-instance\")\n            .availabilityZones(            \n                \"eu-de-01\",\n                \"eu-de-02\",\n                \"eu-de-03\")\n            .flavorId(flavorId)\n            .nodeNum(2.0)\n            .engineId(engineId)\n            .vpcId(vpcId)\n            .subnetId(subnetId)\n            .securityGroupId(securityGroup.id())\n            .purgeRdsOnDelete(true)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  flavorId:\n    type: dynamic\n  engineId:\n    type: dynamic\n  vpcId:\n    type: dynamic\n  subnetId:\n    type: dynamic\n  securityGroupId:\n    type: dynamic\nresources:\n  instance1:\n    type: opentelekomcloud:DdmInstanceV1\n    name: instance_1\n    properties:\n      name: ddm-instance\n      availabilityZones:\n        - eu-de-01\n        - eu-de-02\n        - eu-de-03\n      flavorId: ${flavorId}\n      nodeNum: 2\n      engineId: ${engineId}\n      vpcId: ${vpcId}\n      subnetId: ${subnetId}\n      securityGroupId: ${securityGroup.id}\n      purgeRdsOnDelete: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### Creating A DDM Instance With Custom Credentials\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst flavorId = config.requireObject\u003cany\u003e(\"flavorId\");\nconst engineId = config.requireObject\u003cany\u003e(\"engineId\");\nconst vpcId = config.requireObject\u003cany\u003e(\"vpcId\");\nconst subnetId = config.requireObject\u003cany\u003e(\"subnetId\");\nconst securityGroupId = config.requireObject\u003cany\u003e(\"securityGroupId\");\nconst username = config.requireObject\u003cany\u003e(\"username\");\nconst password = config.requireObject\u003cany\u003e(\"password\");\nconst instance1 = new opentelekomcloud.DdmInstanceV1(\"instance_1\", {\n    name: \"ddm-instance\",\n    availabilityZones: [\n        \"eu-de-01\",\n        \"eu-de-02\",\n        \"eu-de-03\",\n    ],\n    flavorId: flavorId,\n    nodeNum: 2,\n    engineId: engineId,\n    vpcId: vpcId,\n    subnetId: subnetId,\n    securityGroupId: securityGroup.id,\n    purgeRdsOnDelete: true,\n    username: username,\n    password: password,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nflavor_id = config.require_object(\"flavorId\")\nengine_id = config.require_object(\"engineId\")\nvpc_id = config.require_object(\"vpcId\")\nsubnet_id = config.require_object(\"subnetId\")\nsecurity_group_id = config.require_object(\"securityGroupId\")\nusername = config.require_object(\"username\")\npassword = config.require_object(\"password\")\ninstance1 = opentelekomcloud.DdmInstanceV1(\"instance_1\",\n    name=\"ddm-instance\",\n    availability_zones=[\n        \"eu-de-01\",\n        \"eu-de-02\",\n        \"eu-de-03\",\n    ],\n    flavor_id=flavor_id,\n    node_num=2,\n    engine_id=engine_id,\n    vpc_id=vpc_id,\n    subnet_id=subnet_id,\n    security_group_id=security_group[\"id\"],\n    purge_rds_on_delete=True,\n    username=username,\n    password=password)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var flavorId = config.RequireObject\u003cdynamic\u003e(\"flavorId\");\n    var engineId = config.RequireObject\u003cdynamic\u003e(\"engineId\");\n    var vpcId = config.RequireObject\u003cdynamic\u003e(\"vpcId\");\n    var subnetId = config.RequireObject\u003cdynamic\u003e(\"subnetId\");\n    var securityGroupId = config.RequireObject\u003cdynamic\u003e(\"securityGroupId\");\n    var username = config.RequireObject\u003cdynamic\u003e(\"username\");\n    var password = config.RequireObject\u003cdynamic\u003e(\"password\");\n    var instance1 = new Opentelekomcloud.DdmInstanceV1(\"instance_1\", new()\n    {\n        Name = \"ddm-instance\",\n        AvailabilityZones = new[]\n        {\n            \"eu-de-01\",\n            \"eu-de-02\",\n            \"eu-de-03\",\n        },\n        FlavorId = flavorId,\n        NodeNum = 2,\n        EngineId = engineId,\n        VpcId = vpcId,\n        SubnetId = subnetId,\n        SecurityGroupId = securityGroup.Id,\n        PurgeRdsOnDelete = true,\n        Username = username,\n        Password = password,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tflavorId := cfg.RequireObject(\"flavorId\")\n\t\tengineId := cfg.RequireObject(\"engineId\")\n\t\tvpcId := cfg.RequireObject(\"vpcId\")\n\t\tsubnetId := cfg.RequireObject(\"subnetId\")\n\t\tsecurityGroupId := cfg.RequireObject(\"securityGroupId\")\n\t\tusername := cfg.RequireObject(\"username\")\n\t\tpassword := cfg.RequireObject(\"password\")\n\t\t_, err := opentelekomcloud.NewDdmInstanceV1(ctx, \"instance_1\", \u0026opentelekomcloud.DdmInstanceV1Args{\n\t\t\tName: pulumi.String(\"ddm-instance\"),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"eu-de-01\"),\n\t\t\t\tpulumi.String(\"eu-de-02\"),\n\t\t\t\tpulumi.String(\"eu-de-03\"),\n\t\t\t},\n\t\t\tFlavorId:         pulumi.Any(flavorId),\n\t\t\tNodeNum:          pulumi.Float64(2),\n\t\t\tEngineId:         pulumi.Any(engineId),\n\t\t\tVpcId:            pulumi.Any(vpcId),\n\t\t\tSubnetId:         pulumi.Any(subnetId),\n\t\t\tSecurityGroupId:  pulumi.Any(securityGroup.Id),\n\t\t\tPurgeRdsOnDelete: pulumi.Bool(true),\n\t\t\tUsername:         pulumi.Any(username),\n\t\t\tPassword:         pulumi.Any(password),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.DdmInstanceV1;\nimport com.pulumi.opentelekomcloud.DdmInstanceV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var flavorId = config.get(\"flavorId\");\n        final var engineId = config.get(\"engineId\");\n        final var vpcId = config.get(\"vpcId\");\n        final var subnetId = config.get(\"subnetId\");\n        final var securityGroupId = config.get(\"securityGroupId\");\n        final var username = config.get(\"username\");\n        final var password = config.get(\"password\");\n        var instance1 = new DdmInstanceV1(\"instance1\", DdmInstanceV1Args.builder()\n            .name(\"ddm-instance\")\n            .availabilityZones(            \n                \"eu-de-01\",\n                \"eu-de-02\",\n                \"eu-de-03\")\n            .flavorId(flavorId)\n            .nodeNum(2.0)\n            .engineId(engineId)\n            .vpcId(vpcId)\n            .subnetId(subnetId)\n            .securityGroupId(securityGroup.id())\n            .purgeRdsOnDelete(true)\n            .username(username)\n            .password(password)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  flavorId:\n    type: dynamic\n  engineId:\n    type: dynamic\n  vpcId:\n    type: dynamic\n  subnetId:\n    type: dynamic\n  securityGroupId:\n    type: dynamic\n  username:\n    type: dynamic\n  password:\n    type: dynamic\nresources:\n  instance1:\n    type: opentelekomcloud:DdmInstanceV1\n    name: instance_1\n    properties:\n      name: ddm-instance\n      availabilityZones:\n        - eu-de-01\n        - eu-de-02\n        - eu-de-03\n      flavorId: ${flavorId}\n      nodeNum: 2\n      engineId: ${engineId}\n      vpcId: ${vpcId}\n      subnetId: ${subnetId}\n      securityGroupId: ${securityGroup.id}\n      purgeRdsOnDelete: true\n      username: ${username}\n      password: ${password}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### Creating A DDM Instance With Custom Time Zone\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst flavorId = config.requireObject\u003cany\u003e(\"flavorId\");\nconst engineId = config.requireObject\u003cany\u003e(\"engineId\");\nconst vpcId = config.requireObject\u003cany\u003e(\"vpcId\");\nconst subnetId = config.requireObject\u003cany\u003e(\"subnetId\");\nconst securityGroupId = config.requireObject\u003cany\u003e(\"securityGroupId\");\nconst instance1 = new opentelekomcloud.DdmInstanceV1(\"instance_1\", {\n    name: \"ddm-instance\",\n    availabilityZones: [\n        \"eu-de-01\",\n        \"eu-de-02\",\n        \"eu-de-03\",\n    ],\n    flavorId: flavorId,\n    nodeNum: 2,\n    engineId: engineId,\n    vpcId: vpcId,\n    subnetId: subnetId,\n    securityGroupId: securityGroup.id,\n    purgeRdsOnDelete: true,\n    timeZone: \"UTC+01:00\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nflavor_id = config.require_object(\"flavorId\")\nengine_id = config.require_object(\"engineId\")\nvpc_id = config.require_object(\"vpcId\")\nsubnet_id = config.require_object(\"subnetId\")\nsecurity_group_id = config.require_object(\"securityGroupId\")\ninstance1 = opentelekomcloud.DdmInstanceV1(\"instance_1\",\n    name=\"ddm-instance\",\n    availability_zones=[\n        \"eu-de-01\",\n        \"eu-de-02\",\n        \"eu-de-03\",\n    ],\n    flavor_id=flavor_id,\n    node_num=2,\n    engine_id=engine_id,\n    vpc_id=vpc_id,\n    subnet_id=subnet_id,\n    security_group_id=security_group[\"id\"],\n    purge_rds_on_delete=True,\n    time_zone=\"UTC+01:00\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var flavorId = config.RequireObject\u003cdynamic\u003e(\"flavorId\");\n    var engineId = config.RequireObject\u003cdynamic\u003e(\"engineId\");\n    var vpcId = config.RequireObject\u003cdynamic\u003e(\"vpcId\");\n    var subnetId = config.RequireObject\u003cdynamic\u003e(\"subnetId\");\n    var securityGroupId = config.RequireObject\u003cdynamic\u003e(\"securityGroupId\");\n    var instance1 = new Opentelekomcloud.DdmInstanceV1(\"instance_1\", new()\n    {\n        Name = \"ddm-instance\",\n        AvailabilityZones = new[]\n        {\n            \"eu-de-01\",\n            \"eu-de-02\",\n            \"eu-de-03\",\n        },\n        FlavorId = flavorId,\n        NodeNum = 2,\n        EngineId = engineId,\n        VpcId = vpcId,\n        SubnetId = subnetId,\n        SecurityGroupId = securityGroup.Id,\n        PurgeRdsOnDelete = true,\n        TimeZone = \"UTC+01:00\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tflavorId := cfg.RequireObject(\"flavorId\")\n\t\tengineId := cfg.RequireObject(\"engineId\")\n\t\tvpcId := cfg.RequireObject(\"vpcId\")\n\t\tsubnetId := cfg.RequireObject(\"subnetId\")\n\t\tsecurityGroupId := cfg.RequireObject(\"securityGroupId\")\n\t\t_, err := opentelekomcloud.NewDdmInstanceV1(ctx, \"instance_1\", \u0026opentelekomcloud.DdmInstanceV1Args{\n\t\t\tName: pulumi.String(\"ddm-instance\"),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"eu-de-01\"),\n\t\t\t\tpulumi.String(\"eu-de-02\"),\n\t\t\t\tpulumi.String(\"eu-de-03\"),\n\t\t\t},\n\t\t\tFlavorId:         pulumi.Any(flavorId),\n\t\t\tNodeNum:          pulumi.Float64(2),\n\t\t\tEngineId:         pulumi.Any(engineId),\n\t\t\tVpcId:            pulumi.Any(vpcId),\n\t\t\tSubnetId:         pulumi.Any(subnetId),\n\t\t\tSecurityGroupId:  pulumi.Any(securityGroup.Id),\n\t\t\tPurgeRdsOnDelete: pulumi.Bool(true),\n\t\t\tTimeZone:         pulumi.String(\"UTC+01:00\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.DdmInstanceV1;\nimport com.pulumi.opentelekomcloud.DdmInstanceV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var flavorId = config.get(\"flavorId\");\n        final var engineId = config.get(\"engineId\");\n        final var vpcId = config.get(\"vpcId\");\n        final var subnetId = config.get(\"subnetId\");\n        final var securityGroupId = config.get(\"securityGroupId\");\n        var instance1 = new DdmInstanceV1(\"instance1\", DdmInstanceV1Args.builder()\n            .name(\"ddm-instance\")\n            .availabilityZones(            \n                \"eu-de-01\",\n                \"eu-de-02\",\n                \"eu-de-03\")\n            .flavorId(flavorId)\n            .nodeNum(2.0)\n            .engineId(engineId)\n            .vpcId(vpcId)\n            .subnetId(subnetId)\n            .securityGroupId(securityGroup.id())\n            .purgeRdsOnDelete(true)\n            .timeZone(\"UTC+01:00\")\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  flavorId:\n    type: dynamic\n  engineId:\n    type: dynamic\n  vpcId:\n    type: dynamic\n  subnetId:\n    type: dynamic\n  securityGroupId:\n    type: dynamic\nresources:\n  instance1:\n    type: opentelekomcloud:DdmInstanceV1\n    name: instance_1\n    properties:\n      name: ddm-instance\n      availabilityZones:\n        - eu-de-01\n        - eu-de-02\n        - eu-de-03\n      flavorId: ${flavorId}\n      nodeNum: 2\n      engineId: ${engineId}\n      vpcId: ${vpcId}\n      subnetId: ${subnetId}\n      securityGroupId: ${securityGroup.id}\n      purgeRdsOnDelete: true\n      timeZone: UTC+01:00\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Notes\n\nBut due to some attributes missing from the API response, it's required to ignore changes as below:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst instance1 = new opentelekomcloud.DdmInstanceV1(\"instance_1\", {});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ninstance1 = opentelekomcloud.DdmInstanceV1(\"instance_1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var instance1 = new Opentelekomcloud.DdmInstanceV1(\"instance_1\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewDdmInstanceV1(ctx, \"instance_1\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.DdmInstanceV1;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var instance1 = new DdmInstanceV1(\"instance1\");\n\n    }\n}\n```\n```yaml\nresources:\n  instance1:\n    type: opentelekomcloud:DdmInstanceV1\n    name: instance_1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDDMv1 Instance can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/ddmInstanceV1:DdmInstanceV1 instance_1 c1851195-cdcb-4d23-96cb-032e6a3ee667\n```\n\n","properties":{"accessIp":{"type":"string"},"accessPort":{"type":"string","description":"Indicates the DDM access port.\n"},"availabilityZone":{"type":"string","description":"Indicates the availability zone of DDM instance.\n"},"availabilityZones":{"type":"array","items":{"type":"string"},"description":"Specifies the list of availability zones.\n"},"createdAt":{"type":"string","description":"Indicates the creation time.\n"},"ddmInstanceV1Id":{"type":"string"},"engineId":{"type":"string","description":"Specifies the Engine ID of the instance.\n"},"flavorId":{"type":"string","description":"Specifies the flavor ID of the instance nodes.\n"},"name":{"type":"string","description":"Specifies the DDM instance name. The DDM instance name of the same\ntype is unique in the same tenant. It can be  4 to 64 characters long. It must start with a letter and it can only contain etters, digits, and hyphens (-).\n"},"nodeNum":{"type":"number","description":"Specifies the disk encryption ID of the instance.\n"},"nodeStatus":{"type":"string","description":"Indicates the DDM nodes status.\n"},"nodes":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FDdmInstanceV1Node:DdmInstanceV1Node"},"description":"Indicates the instance nodes information. Structure is documented below.\n"},"paramGroupId":{"type":"string","description":"Specifies the parameters group ID.\n"},"password":{"type":"string","description":"Specifies the Administrator password of the DDM instance. it can be 8 to 32 characters long. It must be a combination of uppercase letters, lowercase letters, digits, and the following special characters: `~ ! @ # % ^ * - _ = + ?`. It must be a strong password to improve security and prevent security risks such as brute force cracking.\n","secret":true},"purgeRdsOnDelete":{"type":"boolean","description":"Specifies whether data stored on the associated DB instances is deleted. The value can be: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e (default).\n"},"region":{"type":"string","description":"The region of the DDM instance.\n"},"securityGroupId":{"type":"string","description":"Specifies the security group ID of the DDM instance.\n"},"status":{"type":"string","description":"Indicates the node status.\n"},"subnetId":{"type":"string","description":"Specifies the subnet Network ID.\n"},"timeZone":{"type":"string","description":"Specifies the timezone. Valid formats are `UTC+12:00`, `UTC+11:00`, ... ,`UTC+01:00`, `UTC`, `UTC-01:00`, ... , `UTC-11:00`, `UTC-12:00`\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FDdmInstanceV1Timeouts:DdmInstanceV1Timeouts"},"updatedAt":{"type":"string","description":"Indicates the update time.\n"},"username":{"type":"string","description":"Specifies the Administrator username of the DDM instance. It can be 1 to 32 characters long and can contain letters, digits, and underscores (_). It must start with a letter.\n","secret":true},"vpcId":{"type":"string","description":"Specifies the VPC ID.\n"}},"type":"object","required":["accessIp","accessPort","availabilityZone","availabilityZones","createdAt","ddmInstanceV1Id","engineId","flavorId","name","nodeNum","nodeStatus","nodes","region","securityGroupId","status","subnetId","updatedAt","vpcId"],"inputProperties":{"availabilityZones":{"type":"array","items":{"type":"string"},"description":"Specifies the list of availability zones.\n"},"ddmInstanceV1Id":{"type":"string"},"engineId":{"type":"string","description":"Specifies the Engine ID of the instance.\n"},"flavorId":{"type":"string","description":"Specifies the flavor ID of the instance nodes.\n"},"name":{"type":"string","description":"Specifies the DDM instance name. The DDM instance name of the same\ntype is unique in the same tenant. It can be  4 to 64 characters long. It must start with a letter and it can only contain etters, digits, and hyphens (-).\n"},"nodeNum":{"type":"number","description":"Specifies the disk encryption ID of the instance.\n"},"paramGroupId":{"type":"string","description":"Specifies the parameters group ID.\n"},"password":{"type":"string","description":"Specifies the Administrator password of the DDM instance. it can be 8 to 32 characters long. It must be a combination of uppercase letters, lowercase letters, digits, and the following special characters: `~ ! @ # % ^ * - _ = + ?`. It must be a strong password to improve security and prevent security risks such as brute force cracking.\n","secret":true},"purgeRdsOnDelete":{"type":"boolean","description":"Specifies whether data stored on the associated DB instances is deleted. The value can be: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e (default).\n"},"securityGroupId":{"type":"string","description":"Specifies the security group ID of the DDM instance.\n"},"subnetId":{"type":"string","description":"Specifies the subnet Network ID.\n"},"timeZone":{"type":"string","description":"Specifies the timezone. Valid formats are `UTC+12:00`, `UTC+11:00`, ... ,`UTC+01:00`, `UTC`, `UTC-01:00`, ... , `UTC-11:00`, `UTC-12:00`\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FDdmInstanceV1Timeouts:DdmInstanceV1Timeouts"},"username":{"type":"string","description":"Specifies the Administrator username of the DDM instance. It can be 1 to 32 characters long and can contain letters, digits, and underscores (_). It must start with a letter.\n","secret":true},"vpcId":{"type":"string","description":"Specifies the VPC ID.\n"}},"requiredInputs":["availabilityZones","engineId","flavorId","nodeNum","securityGroupId","subnetId","vpcId"],"stateInputs":{"description":"Input properties used for looking up and filtering DdmInstanceV1 resources.\n","properties":{"accessIp":{"type":"string"},"accessPort":{"type":"string","description":"Indicates the DDM access port.\n"},"availabilityZone":{"type":"string","description":"Indicates the availability zone of DDM instance.\n"},"availabilityZones":{"type":"array","items":{"type":"string"},"description":"Specifies the list of availability zones.\n"},"createdAt":{"type":"string","description":"Indicates the creation time.\n"},"ddmInstanceV1Id":{"type":"string"},"engineId":{"type":"string","description":"Specifies the Engine ID of the instance.\n"},"flavorId":{"type":"string","description":"Specifies the flavor ID of the instance nodes.\n"},"name":{"type":"string","description":"Specifies the DDM instance name. The DDM instance name of the same\ntype is unique in the same tenant. It can be  4 to 64 characters long. It must start with a letter and it can only contain etters, digits, and hyphens (-).\n"},"nodeNum":{"type":"number","description":"Specifies the disk encryption ID of the instance.\n"},"nodeStatus":{"type":"string","description":"Indicates the DDM nodes status.\n"},"nodes":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FDdmInstanceV1Node:DdmInstanceV1Node"},"description":"Indicates the instance nodes information. Structure is documented below.\n"},"paramGroupId":{"type":"string","description":"Specifies the parameters group ID.\n"},"password":{"type":"string","description":"Specifies the Administrator password of the DDM instance. it can be 8 to 32 characters long. It must be a combination of uppercase letters, lowercase letters, digits, and the following special characters: `~ ! @ # % ^ * - _ = + ?`. It must be a strong password to improve security and prevent security risks such as brute force cracking.\n","secret":true},"purgeRdsOnDelete":{"type":"boolean","description":"Specifies whether data stored on the associated DB instances is deleted. The value can be: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e (default).\n"},"region":{"type":"string","description":"The region of the DDM instance.\n"},"securityGroupId":{"type":"string","description":"Specifies the security group ID of the DDM instance.\n"},"status":{"type":"string","description":"Indicates the node status.\n"},"subnetId":{"type":"string","description":"Specifies the subnet Network ID.\n"},"timeZone":{"type":"string","description":"Specifies the timezone. Valid formats are `UTC+12:00`, `UTC+11:00`, ... ,`UTC+01:00`, `UTC`, `UTC-01:00`, ... , `UTC-11:00`, `UTC-12:00`\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FDdmInstanceV1Timeouts:DdmInstanceV1Timeouts"},"updatedAt":{"type":"string","description":"Indicates the update time.\n"},"username":{"type":"string","description":"Specifies the Administrator username of the DDM instance. It can be 1 to 32 characters long and can contain letters, digits, and underscores (_). It must start with a letter.\n","secret":true},"vpcId":{"type":"string","description":"Specifies the VPC ID.\n"}},"type":"object"}},"opentelekomcloud:index/ddmSchemaV1:DdmSchemaV1":{"description":"Up-to-date reference of API arguments for DDM schema you can get at\n[documentation portal](https://docs.otc.t-systems.com/distributed-database-middleware/api-ref/apis_recommended/schemas/)\n\nManages DDM schema resource within OpenTelekomCloud\n\n## Example Usage\n\n### Creating A Basic DDM Schema\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst username = config.requireObject\u003cany\u003e(\"username\");\nconst password = config.requireObject\u003cany\u003e(\"password\");\nconst schema1 = new opentelekomcloud.DdmSchemaV1(\"schema_1\", {\n    name: \"ddm_schema\",\n    instanceId: \"b4cd6aeb0b7445d3bf271457c6941544in09\",\n    shardMode: \"cluster\",\n    shardNumber: 8,\n    shardUnit: 8,\n    rds: [{\n        id: \"55d93e249b77461b81f990fa805db3f3in01\",\n        adminUsername: username,\n        adminPassword: password,\n    }],\n    purgeRdsOnDelete: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nusername = config.require_object(\"username\")\npassword = config.require_object(\"password\")\nschema1 = opentelekomcloud.DdmSchemaV1(\"schema_1\",\n    name=\"ddm_schema\",\n    instance_id=\"b4cd6aeb0b7445d3bf271457c6941544in09\",\n    shard_mode=\"cluster\",\n    shard_number=8,\n    shard_unit=8,\n    rds=[{\n        \"id\": \"55d93e249b77461b81f990fa805db3f3in01\",\n        \"admin_username\": username,\n        \"admin_password\": password,\n    }],\n    purge_rds_on_delete=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var username = config.RequireObject\u003cdynamic\u003e(\"username\");\n    var password = config.RequireObject\u003cdynamic\u003e(\"password\");\n    var schema1 = new Opentelekomcloud.DdmSchemaV1(\"schema_1\", new()\n    {\n        Name = \"ddm_schema\",\n        InstanceId = \"b4cd6aeb0b7445d3bf271457c6941544in09\",\n        ShardMode = \"cluster\",\n        ShardNumber = 8,\n        ShardUnit = 8,\n        Rds = new[]\n        {\n            new Opentelekomcloud.Inputs.DdmSchemaV1RdArgs\n            {\n                Id = \"55d93e249b77461b81f990fa805db3f3in01\",\n                AdminUsername = username,\n                AdminPassword = password,\n            },\n        },\n        PurgeRdsOnDelete = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tusername := cfg.RequireObject(\"username\")\n\t\tpassword := cfg.RequireObject(\"password\")\n\t\t_, err := opentelekomcloud.NewDdmSchemaV1(ctx, \"schema_1\", \u0026opentelekomcloud.DdmSchemaV1Args{\n\t\t\tName:        pulumi.String(\"ddm_schema\"),\n\t\t\tInstanceId:  pulumi.String(\"b4cd6aeb0b7445d3bf271457c6941544in09\"),\n\t\t\tShardMode:   pulumi.String(\"cluster\"),\n\t\t\tShardNumber: pulumi.Float64(8),\n\t\t\tShardUnit:   pulumi.Float64(8),\n\t\t\tRds: opentelekomcloud.DdmSchemaV1RdArray{\n\t\t\t\t\u0026opentelekomcloud.DdmSchemaV1RdArgs{\n\t\t\t\t\tId:            pulumi.String(\"55d93e249b77461b81f990fa805db3f3in01\"),\n\t\t\t\t\tAdminUsername: pulumi.Any(username),\n\t\t\t\t\tAdminPassword: pulumi.Any(password),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPurgeRdsOnDelete: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.DdmSchemaV1;\nimport com.pulumi.opentelekomcloud.DdmSchemaV1Args;\nimport com.pulumi.opentelekomcloud.inputs.DdmSchemaV1RdArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var username = config.get(\"username\");\n        final var password = config.get(\"password\");\n        var schema1 = new DdmSchemaV1(\"schema1\", DdmSchemaV1Args.builder()\n            .name(\"ddm_schema\")\n            .instanceId(\"b4cd6aeb0b7445d3bf271457c6941544in09\")\n            .shardMode(\"cluster\")\n            .shardNumber(8.0)\n            .shardUnit(8.0)\n            .rds(DdmSchemaV1RdArgs.builder()\n                .id(\"55d93e249b77461b81f990fa805db3f3in01\")\n                .adminUsername(username)\n                .adminPassword(password)\n                .build())\n            .purgeRdsOnDelete(true)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  username:\n    type: dynamic\n  password:\n    type: dynamic\nresources:\n  schema1:\n    type: opentelekomcloud:DdmSchemaV1\n    name: schema_1\n    properties:\n      name: ddm_schema\n      instanceId: b4cd6aeb0b7445d3bf271457c6941544in09\n      shardMode: cluster\n      shardNumber: 8\n      shardUnit: 8\n      rds:\n        - id: 55d93e249b77461b81f990fa805db3f3in01\n          adminUsername: ${username}\n          adminPassword: ${password}\n      purgeRdsOnDelete: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Notes\n\nBut due to some attributes missing from the API response, it's required to ignore changes as below:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst schema1 = new opentelekomcloud.DdmSchemaV1(\"schema_1\", {});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nschema1 = opentelekomcloud.DdmSchemaV1(\"schema_1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var schema1 = new Opentelekomcloud.DdmSchemaV1(\"schema_1\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewDdmSchemaV1(ctx, \"schema_1\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.DdmSchemaV1;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var schema1 = new DdmSchemaV1(\"schema1\");\n\n    }\n}\n```\n```yaml\nresources:\n  schema1:\n    type: opentelekomcloud:DdmSchemaV1\n    name: schema_1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDDMv1 Instance can be imported using the DDM instance ID, `instance_id` and DDM schema `name`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/ddmSchemaV1:DdmSchemaV1 schema_1 b4cd6aeb0b7445d3bf271457c6941544in09/ddm_schema\n```\n\n","properties":{"createdAt":{"type":"number","description":"(uint64) Indicates the creation time.\n"},"dataVips":{"type":"array","items":{"type":"string"},"description":"(List) Indicates the IP address and port number for connecting to the schema.\n"},"databases":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FDdmSchemaV1Database:DdmSchemaV1Database"},"description":"(List) Indicates the Sharding information of the schema. The structure is described below.\n"},"ddmSchemaV1Id":{"type":"string","description":"(String) ID of the RDS instance where the shard is located.\n"},"instanceId":{"type":"string","description":"Specifies the DDM instance ID.\n"},"name":{"type":"string","description":"Specifies the DDM schema name. The DDM instance name of the same\ntype is unique in the same tenant. It can be  2 to 48 characters long. It must start with a letter and it can only contain etters, digits, and underscores (_).\n"},"purgeRdsOnDelete":{"type":"boolean","description":"Specifies whether data stored on the associated DB instances is deleted. The value can be: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e (default)\n"},"rds":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FDdmSchemaV1Rd:DdmSchemaV1Rd"},"description":"Specifies the rds instance information. The structure is described below.\n"},"region":{"type":"string","description":"The region of the DDM instance.\n"},"shardMode":{"type":"string","description":"Specifies the sharding mode of the schema. The values for this can be \u003cspan pulumi-lang-nodejs=\"`cluster`\" pulumi-lang-dotnet=\"`Cluster`\" pulumi-lang-go=\"`cluster`\" pulumi-lang-python=\"`cluster`\" pulumi-lang-yaml=\"`cluster`\" pulumi-lang-java=\"`cluster`\"\u003e`cluster`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`single`\" pulumi-lang-dotnet=\"`Single`\" pulumi-lang-go=\"`single`\" pulumi-lang-python=\"`single`\" pulumi-lang-yaml=\"`single`\" pulumi-lang-java=\"`single`\"\u003e`single`\u003c/span\u003e. Cluster indicates that the schema is in sharded mode. Single indicates that the schema is in unsharded mode.\n"},"shardNumber":{"type":"number","description":"Specifies the number of shards in the same working mode. If \u003cspan pulumi-lang-nodejs=\"`shardUnit`\" pulumi-lang-dotnet=\"`ShardUnit`\" pulumi-lang-go=\"`shardUnit`\" pulumi-lang-python=\"`shard_unit`\" pulumi-lang-yaml=\"`shardUnit`\" pulumi-lang-java=\"`shardUnit`\"\u003e`shard_unit`\u003c/span\u003e is not empty, the value is the **_product of\u003cspan pulumi-lang-nodejs=\" shardUnit \" pulumi-lang-dotnet=\" ShardUnit \" pulumi-lang-go=\" shardUnit \" pulumi-lang-python=\" shard_unit \" pulumi-lang-yaml=\" shardUnit \" pulumi-lang-java=\" shardUnit \"\u003e shard_unit \u003c/span\u003emultiplied by the associated RDS instances_**. If\u003cspan pulumi-lang-nodejs=\" shardUnit \" pulumi-lang-dotnet=\" ShardUnit \" pulumi-lang-go=\" shardUnit \" pulumi-lang-python=\" shard_unit \" pulumi-lang-yaml=\" shardUnit \" pulumi-lang-java=\" shardUnit \"\u003e shard_unit \u003c/span\u003eis left blank, the value must be **_greater than the number of associated RDS instances and less than or equal to the product of the associated RDS instances multiplied by 64_**.\n"},"shardUnit":{"type":"number","description":"Specifies the Number of shards per RDS instance. The value is 1 if the schema is unsharded. The value ranges from 1 to 64 if the schema is sharded.\n"},"status":{"type":"string","description":"(String) Indicates the shard status.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FDdmSchemaV1Timeouts:DdmSchemaV1Timeouts"},"updatedAt":{"type":"number","description":"(uint64) Indicates the update time.\n"},"usedRds":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FDdmSchemaV1UsedRd:DdmSchemaV1UsedRd"},"description":"(List) Indicates the associated RDS instances. The structure is described below.\n"}},"type":"object","required":["createdAt","dataVips","databases","ddmSchemaV1Id","instanceId","name","rds","region","shardMode","shardNumber","status","updatedAt","usedRds"],"inputProperties":{"ddmSchemaV1Id":{"type":"string","description":"(String) ID of the RDS instance where the shard is located.\n"},"instanceId":{"type":"string","description":"Specifies the DDM instance ID.\n"},"name":{"type":"string","description":"Specifies the DDM schema name. The DDM instance name of the same\ntype is unique in the same tenant. It can be  2 to 48 characters long. It must start with a letter and it can only contain etters, digits, and underscores (_).\n"},"purgeRdsOnDelete":{"type":"boolean","description":"Specifies whether data stored on the associated DB instances is deleted. The value can be: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e (default)\n"},"rds":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FDdmSchemaV1Rd:DdmSchemaV1Rd"},"description":"Specifies the rds instance information. The structure is described below.\n"},"shardMode":{"type":"string","description":"Specifies the sharding mode of the schema. The values for this can be \u003cspan pulumi-lang-nodejs=\"`cluster`\" pulumi-lang-dotnet=\"`Cluster`\" pulumi-lang-go=\"`cluster`\" pulumi-lang-python=\"`cluster`\" pulumi-lang-yaml=\"`cluster`\" pulumi-lang-java=\"`cluster`\"\u003e`cluster`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`single`\" pulumi-lang-dotnet=\"`Single`\" pulumi-lang-go=\"`single`\" pulumi-lang-python=\"`single`\" pulumi-lang-yaml=\"`single`\" pulumi-lang-java=\"`single`\"\u003e`single`\u003c/span\u003e. Cluster indicates that the schema is in sharded mode. Single indicates that the schema is in unsharded mode.\n"},"shardNumber":{"type":"number","description":"Specifies the number of shards in the same working mode. If \u003cspan pulumi-lang-nodejs=\"`shardUnit`\" pulumi-lang-dotnet=\"`ShardUnit`\" pulumi-lang-go=\"`shardUnit`\" pulumi-lang-python=\"`shard_unit`\" pulumi-lang-yaml=\"`shardUnit`\" pulumi-lang-java=\"`shardUnit`\"\u003e`shard_unit`\u003c/span\u003e is not empty, the value is the **_product of\u003cspan pulumi-lang-nodejs=\" shardUnit \" pulumi-lang-dotnet=\" ShardUnit \" pulumi-lang-go=\" shardUnit \" pulumi-lang-python=\" shard_unit \" pulumi-lang-yaml=\" shardUnit \" pulumi-lang-java=\" shardUnit \"\u003e shard_unit \u003c/span\u003emultiplied by the associated RDS instances_**. If\u003cspan pulumi-lang-nodejs=\" shardUnit \" pulumi-lang-dotnet=\" ShardUnit \" pulumi-lang-go=\" shardUnit \" pulumi-lang-python=\" shard_unit \" pulumi-lang-yaml=\" shardUnit \" pulumi-lang-java=\" shardUnit \"\u003e shard_unit \u003c/span\u003eis left blank, the value must be **_greater than the number of associated RDS instances and less than or equal to the product of the associated RDS instances multiplied by 64_**.\n"},"shardUnit":{"type":"number","description":"Specifies the Number of shards per RDS instance. The value is 1 if the schema is unsharded. The value ranges from 1 to 64 if the schema is sharded.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FDdmSchemaV1Timeouts:DdmSchemaV1Timeouts"}},"requiredInputs":["instanceId","rds","shardMode","shardNumber"],"stateInputs":{"description":"Input properties used for looking up and filtering DdmSchemaV1 resources.\n","properties":{"createdAt":{"type":"number","description":"(uint64) Indicates the creation time.\n"},"dataVips":{"type":"array","items":{"type":"string"},"description":"(List) Indicates the IP address and port number for connecting to the schema.\n"},"databases":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FDdmSchemaV1Database:DdmSchemaV1Database"},"description":"(List) Indicates the Sharding information of the schema. The structure is described below.\n"},"ddmSchemaV1Id":{"type":"string","description":"(String) ID of the RDS instance where the shard is located.\n"},"instanceId":{"type":"string","description":"Specifies the DDM instance ID.\n"},"name":{"type":"string","description":"Specifies the DDM schema name. The DDM instance name of the same\ntype is unique in the same tenant. It can be  2 to 48 characters long. It must start with a letter and it can only contain etters, digits, and underscores (_).\n"},"purgeRdsOnDelete":{"type":"boolean","description":"Specifies whether data stored on the associated DB instances is deleted. The value can be: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e (default)\n"},"rds":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FDdmSchemaV1Rd:DdmSchemaV1Rd"},"description":"Specifies the rds instance information. The structure is described below.\n"},"region":{"type":"string","description":"The region of the DDM instance.\n"},"shardMode":{"type":"string","description":"Specifies the sharding mode of the schema. The values for this can be \u003cspan pulumi-lang-nodejs=\"`cluster`\" pulumi-lang-dotnet=\"`Cluster`\" pulumi-lang-go=\"`cluster`\" pulumi-lang-python=\"`cluster`\" pulumi-lang-yaml=\"`cluster`\" pulumi-lang-java=\"`cluster`\"\u003e`cluster`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`single`\" pulumi-lang-dotnet=\"`Single`\" pulumi-lang-go=\"`single`\" pulumi-lang-python=\"`single`\" pulumi-lang-yaml=\"`single`\" pulumi-lang-java=\"`single`\"\u003e`single`\u003c/span\u003e. Cluster indicates that the schema is in sharded mode. Single indicates that the schema is in unsharded mode.\n"},"shardNumber":{"type":"number","description":"Specifies the number of shards in the same working mode. If \u003cspan pulumi-lang-nodejs=\"`shardUnit`\" pulumi-lang-dotnet=\"`ShardUnit`\" pulumi-lang-go=\"`shardUnit`\" pulumi-lang-python=\"`shard_unit`\" pulumi-lang-yaml=\"`shardUnit`\" pulumi-lang-java=\"`shardUnit`\"\u003e`shard_unit`\u003c/span\u003e is not empty, the value is the **_product of\u003cspan pulumi-lang-nodejs=\" shardUnit \" pulumi-lang-dotnet=\" ShardUnit \" pulumi-lang-go=\" shardUnit \" pulumi-lang-python=\" shard_unit \" pulumi-lang-yaml=\" shardUnit \" pulumi-lang-java=\" shardUnit \"\u003e shard_unit \u003c/span\u003emultiplied by the associated RDS instances_**. If\u003cspan pulumi-lang-nodejs=\" shardUnit \" pulumi-lang-dotnet=\" ShardUnit \" pulumi-lang-go=\" shardUnit \" pulumi-lang-python=\" shard_unit \" pulumi-lang-yaml=\" shardUnit \" pulumi-lang-java=\" shardUnit \"\u003e shard_unit \u003c/span\u003eis left blank, the value must be **_greater than the number of associated RDS instances and less than or equal to the product of the associated RDS instances multiplied by 64_**.\n"},"shardUnit":{"type":"number","description":"Specifies the Number of shards per RDS instance. The value is 1 if the schema is unsharded. The value ranges from 1 to 64 if the schema is sharded.\n"},"status":{"type":"string","description":"(String) Indicates the shard status.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FDdmSchemaV1Timeouts:DdmSchemaV1Timeouts"},"updatedAt":{"type":"number","description":"(uint64) Indicates the update time.\n"},"usedRds":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FDdmSchemaV1UsedRd:DdmSchemaV1UsedRd"},"description":"(List) Indicates the associated RDS instances. The structure is described below.\n"}},"type":"object"}},"opentelekomcloud:index/ddsBackupV3:DdsBackupV3":{"description":"Up-to-date reference of API arguments for DDS instance you can get at\n[documentation portal](https://docs.otc.t-systems.com/document-database-service/api-ref/apis_v3.0_recommended/backup_and_restoration/index.html)\n\nManages a DDS backup resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst instanceId = config.requireObject\u003cany\u003e(\"instanceId\");\nconst name = config.requireObject\u003cany\u003e(\"name\");\nconst backup = new opentelekomcloud.DdsBackupV3(\"backup\", {\n    instanceId: instanceId,\n    name: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ninstance_id = config.require_object(\"instanceId\")\nname = config.require_object(\"name\")\nbackup = opentelekomcloud.DdsBackupV3(\"backup\",\n    instance_id=instance_id,\n    name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var instanceId = config.RequireObject\u003cdynamic\u003e(\"instanceId\");\n    var name = config.RequireObject\u003cdynamic\u003e(\"name\");\n    var backup = new Opentelekomcloud.DdsBackupV3(\"backup\", new()\n    {\n        InstanceId = instanceId,\n        Name = name,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tinstanceId := cfg.RequireObject(\"instanceId\")\n\t\tname := cfg.RequireObject(\"name\")\n\t\t_, err := opentelekomcloud.NewDdsBackupV3(ctx, \"backup\", \u0026opentelekomcloud.DdsBackupV3Args{\n\t\t\tInstanceId: pulumi.Any(instanceId),\n\t\t\tName:       pulumi.Any(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.DdsBackupV3;\nimport com.pulumi.opentelekomcloud.DdsBackupV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var instanceId = config.get(\"instanceId\");\n        final var name = config.get(\"name\");\n        var backup = new DdsBackupV3(\"backup\", DdsBackupV3Args.builder()\n            .instanceId(instanceId)\n            .name(name)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  instanceId:\n    type: dynamic\n  name:\n    type: dynamic\nresources:\n  backup:\n    type: opentelekomcloud:DdsBackupV3\n    properties:\n      instanceId: ${instanceId}\n      name: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe DDS backup can be imported using the `instance_id` and the `id` separated by a slash, e.g.:\n\nbash\n\n```sh\n$ pulumi import opentelekomcloud:index/ddsBackupV3:DdsBackupV3 backup \u003cinstance_id\u003e/\u003cid\u003e\n```\n\n","properties":{"beginTime":{"type":"string","description":"Indicates the start time of the backup. The format is yyyy-mm-dd hh:mm:ss. The value is in UTC format.\n"},"datastores":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FDdsBackupV3Datastore:DdsBackupV3Datastore"},"description":"Indicates the database version.\nThe datastore structure is documented below.\n"},"ddsBackupV3Id":{"type":"string","description":"The resource ID.\n"},"description":{"type":"string","description":"Specifies the manual backup description.\n"},"endTime":{"type":"string","description":"Indicates the end time of the backup. The format is yyyy-mm-dd hh:mm:ss. The value is in UTC format.\n"},"instanceId":{"type":"string","description":"Specifies the ID of a DDS instance.\n"},"instanceName":{"type":"string","description":"Indicates the name of a DDS instance.\n"},"name":{"type":"string","description":"Specifies the manual backup name.\nThe value must be \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e characters in length and start with a letter (from A to Z or from a to z).\nIt is case-sensitive and can contain only letters, digits (from 0 to 9), hyphens (-), and underscores (_).\n"},"region":{"type":"string","description":"Indicates the region in which resource was created.\n"},"size":{"type":"number","description":"Indicates the backup size in KB.\n"},"status":{"type":"string","description":"Indicates the backup status. Valid value:\n+ `BUILDING`: Backup in progress\n+ `COMPLETED`: Backup completed\n+ `FAILED`: Backup failed\n+ `DISABLED`: Backup being deleted\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FDdsBackupV3Timeouts:DdsBackupV3Timeouts"},"type":{"type":"string","description":"Indicates the DB engine.\n"}},"type":"object","required":["beginTime","datastores","ddsBackupV3Id","description","endTime","instanceId","instanceName","name","region","size","status","type"],"inputProperties":{"ddsBackupV3Id":{"type":"string","description":"The resource ID.\n"},"description":{"type":"string","description":"Specifies the manual backup description.\n"},"instanceId":{"type":"string","description":"Specifies the ID of a DDS instance.\n"},"name":{"type":"string","description":"Specifies the manual backup name.\nThe value must be \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e characters in length and start with a letter (from A to Z or from a to z).\nIt is case-sensitive and can contain only letters, digits (from 0 to 9), hyphens (-), and underscores (_).\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FDdsBackupV3Timeouts:DdsBackupV3Timeouts"}},"requiredInputs":["instanceId"],"stateInputs":{"description":"Input properties used for looking up and filtering DdsBackupV3 resources.\n","properties":{"beginTime":{"type":"string","description":"Indicates the start time of the backup. The format is yyyy-mm-dd hh:mm:ss. The value is in UTC format.\n"},"datastores":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FDdsBackupV3Datastore:DdsBackupV3Datastore"},"description":"Indicates the database version.\nThe datastore structure is documented below.\n"},"ddsBackupV3Id":{"type":"string","description":"The resource ID.\n"},"description":{"type":"string","description":"Specifies the manual backup description.\n"},"endTime":{"type":"string","description":"Indicates the end time of the backup. The format is yyyy-mm-dd hh:mm:ss. The value is in UTC format.\n"},"instanceId":{"type":"string","description":"Specifies the ID of a DDS instance.\n"},"instanceName":{"type":"string","description":"Indicates the name of a DDS instance.\n"},"name":{"type":"string","description":"Specifies the manual backup name.\nThe value must be \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e characters in length and start with a letter (from A to Z or from a to z).\nIt is case-sensitive and can contain only letters, digits (from 0 to 9), hyphens (-), and underscores (_).\n"},"region":{"type":"string","description":"Indicates the region in which resource was created.\n"},"size":{"type":"number","description":"Indicates the backup size in KB.\n"},"status":{"type":"string","description":"Indicates the backup status. Valid value:\n+ `BUILDING`: Backup in progress\n+ `COMPLETED`: Backup completed\n+ `FAILED`: Backup failed\n+ `DISABLED`: Backup being deleted\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FDdsBackupV3Timeouts:DdsBackupV3Timeouts"},"type":{"type":"string","description":"Indicates the DB engine.\n"}},"type":"object"}},"opentelekomcloud:index/ddsInstanceV3:DdsInstanceV3":{"description":"Up-to-date reference of API arguments for DDS instance you can get at\n[documentation portal](https://docs.otc.t-systems.com/document-database-service/api-ref/apis_v3.0_recommended/db_instance_management)\n\nManages DDS instance resource within OpenTelekomCloud\n\n## Example Usage\n\n### Creating A Replica Set\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst availabilityZone = config.requireObject\u003cany\u003e(\"availabilityZone\");\nconst vpcId = config.requireObject\u003cany\u003e(\"vpcId\");\nconst subnetId = config.requireObject\u003cany\u003e(\"subnetId\");\nconst securityGroupId = config.requireObject\u003cany\u003e(\"securityGroupId\");\nconst instance = new opentelekomcloud.DdsInstanceV3(\"instance\", {\n    name: \"dds-instance\",\n    datastore: {\n        type: \"DDS-Community\",\n        version: \"3.4\",\n        storageEngine: \"wiredTiger\",\n    },\n    maintainBegin: \"02:00\",\n    maintainEnd: \"03:00\",\n    availabilityZone: availabilityZone,\n    vpcId: vpcId,\n    subnetId: subnetId,\n    securityGroupId: securityGroupId,\n    password: \"5ecuredPa55w0rd@\",\n    mode: \"ReplicaSet\",\n    flavors: [{\n        type: \"replica\",\n        num: 1,\n        storage: \"ULTRAHIGH\",\n        size: 30,\n        specCode: \"dds.mongodb.s2.medium.4.repset\",\n    }],\n    tags: {\n        foo: \"bar\",\n        new_test: \"new_test2\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\navailability_zone = config.require_object(\"availabilityZone\")\nvpc_id = config.require_object(\"vpcId\")\nsubnet_id = config.require_object(\"subnetId\")\nsecurity_group_id = config.require_object(\"securityGroupId\")\ninstance = opentelekomcloud.DdsInstanceV3(\"instance\",\n    name=\"dds-instance\",\n    datastore={\n        \"type\": \"DDS-Community\",\n        \"version\": \"3.4\",\n        \"storage_engine\": \"wiredTiger\",\n    },\n    maintain_begin=\"02:00\",\n    maintain_end=\"03:00\",\n    availability_zone=availability_zone,\n    vpc_id=vpc_id,\n    subnet_id=subnet_id,\n    security_group_id=security_group_id,\n    password=\"5ecuredPa55w0rd@\",\n    mode=\"ReplicaSet\",\n    flavors=[{\n        \"type\": \"replica\",\n        \"num\": 1,\n        \"storage\": \"ULTRAHIGH\",\n        \"size\": 30,\n        \"spec_code\": \"dds.mongodb.s2.medium.4.repset\",\n    }],\n    tags={\n        \"foo\": \"bar\",\n        \"new_test\": \"new_test2\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var availabilityZone = config.RequireObject\u003cdynamic\u003e(\"availabilityZone\");\n    var vpcId = config.RequireObject\u003cdynamic\u003e(\"vpcId\");\n    var subnetId = config.RequireObject\u003cdynamic\u003e(\"subnetId\");\n    var securityGroupId = config.RequireObject\u003cdynamic\u003e(\"securityGroupId\");\n    var instance = new Opentelekomcloud.DdsInstanceV3(\"instance\", new()\n    {\n        Name = \"dds-instance\",\n        Datastore = new Opentelekomcloud.Inputs.DdsInstanceV3DatastoreArgs\n        {\n            Type = \"DDS-Community\",\n            Version = \"3.4\",\n            StorageEngine = \"wiredTiger\",\n        },\n        MaintainBegin = \"02:00\",\n        MaintainEnd = \"03:00\",\n        AvailabilityZone = availabilityZone,\n        VpcId = vpcId,\n        SubnetId = subnetId,\n        SecurityGroupId = securityGroupId,\n        Password = \"5ecuredPa55w0rd@\",\n        Mode = \"ReplicaSet\",\n        Flavors = new[]\n        {\n            new Opentelekomcloud.Inputs.DdsInstanceV3FlavorArgs\n            {\n                Type = \"replica\",\n                Num = 1,\n                Storage = \"ULTRAHIGH\",\n                Size = 30,\n                SpecCode = \"dds.mongodb.s2.medium.4.repset\",\n            },\n        },\n        Tags = \n        {\n            { \"foo\", \"bar\" },\n            { \"new_test\", \"new_test2\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tavailabilityZone := cfg.RequireObject(\"availabilityZone\")\n\t\tvpcId := cfg.RequireObject(\"vpcId\")\n\t\tsubnetId := cfg.RequireObject(\"subnetId\")\n\t\tsecurityGroupId := cfg.RequireObject(\"securityGroupId\")\n\t\t_, err := opentelekomcloud.NewDdsInstanceV3(ctx, \"instance\", \u0026opentelekomcloud.DdsInstanceV3Args{\n\t\t\tName: pulumi.String(\"dds-instance\"),\n\t\t\tDatastore: \u0026opentelekomcloud.DdsInstanceV3DatastoreArgs{\n\t\t\t\tType:          pulumi.String(\"DDS-Community\"),\n\t\t\t\tVersion:       pulumi.String(\"3.4\"),\n\t\t\t\tStorageEngine: pulumi.String(\"wiredTiger\"),\n\t\t\t},\n\t\t\tMaintainBegin:    pulumi.String(\"02:00\"),\n\t\t\tMaintainEnd:      pulumi.String(\"03:00\"),\n\t\t\tAvailabilityZone: pulumi.Any(availabilityZone),\n\t\t\tVpcId:            pulumi.Any(vpcId),\n\t\t\tSubnetId:         pulumi.Any(subnetId),\n\t\t\tSecurityGroupId:  pulumi.Any(securityGroupId),\n\t\t\tPassword:         pulumi.String(\"5ecuredPa55w0rd@\"),\n\t\t\tMode:             pulumi.String(\"ReplicaSet\"),\n\t\t\tFlavors: opentelekomcloud.DdsInstanceV3FlavorArray{\n\t\t\t\t\u0026opentelekomcloud.DdsInstanceV3FlavorArgs{\n\t\t\t\t\tType:     pulumi.String(\"replica\"),\n\t\t\t\t\tNum:      pulumi.Float64(1),\n\t\t\t\t\tStorage:  pulumi.String(\"ULTRAHIGH\"),\n\t\t\t\t\tSize:     pulumi.Float64(30),\n\t\t\t\t\tSpecCode: pulumi.String(\"dds.mongodb.s2.medium.4.repset\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\":      pulumi.String(\"bar\"),\n\t\t\t\t\"new_test\": pulumi.String(\"new_test2\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.DdsInstanceV3;\nimport com.pulumi.opentelekomcloud.DdsInstanceV3Args;\nimport com.pulumi.opentelekomcloud.inputs.DdsInstanceV3DatastoreArgs;\nimport com.pulumi.opentelekomcloud.inputs.DdsInstanceV3FlavorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var availabilityZone = config.get(\"availabilityZone\");\n        final var vpcId = config.get(\"vpcId\");\n        final var subnetId = config.get(\"subnetId\");\n        final var securityGroupId = config.get(\"securityGroupId\");\n        var instance = new DdsInstanceV3(\"instance\", DdsInstanceV3Args.builder()\n            .name(\"dds-instance\")\n            .datastore(DdsInstanceV3DatastoreArgs.builder()\n                .type(\"DDS-Community\")\n                .version(\"3.4\")\n                .storageEngine(\"wiredTiger\")\n                .build())\n            .maintainBegin(\"02:00\")\n            .maintainEnd(\"03:00\")\n            .availabilityZone(availabilityZone)\n            .vpcId(vpcId)\n            .subnetId(subnetId)\n            .securityGroupId(securityGroupId)\n            .password(\"5ecuredPa55w0rd@\")\n            .mode(\"ReplicaSet\")\n            .flavors(DdsInstanceV3FlavorArgs.builder()\n                .type(\"replica\")\n                .num(1.0)\n                .storage(\"ULTRAHIGH\")\n                .size(30.0)\n                .specCode(\"dds.mongodb.s2.medium.4.repset\")\n                .build())\n            .tags(Map.ofEntries(\n                Map.entry(\"foo\", \"bar\"),\n                Map.entry(\"new_test\", \"new_test2\")\n            ))\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  availabilityZone:\n    type: dynamic\n  vpcId:\n    type: dynamic\n  subnetId:\n    type: dynamic\n  securityGroupId:\n    type: dynamic\nresources:\n  instance:\n    type: opentelekomcloud:DdsInstanceV3\n    properties:\n      name: dds-instance\n      datastore:\n        type: DDS-Community\n        version: '3.4'\n        storageEngine: wiredTiger\n      maintainBegin: 02:00\n      maintainEnd: 03:00\n      availabilityZone: ${availabilityZone}\n      vpcId: ${vpcId}\n      subnetId: ${subnetId}\n      securityGroupId: ${securityGroupId}\n      password: 5ecuredPa55w0rd@\n      mode: ReplicaSet\n      flavors:\n        - type: replica\n          num: 1\n          storage: ULTRAHIGH\n          size: 30\n          specCode: dds.mongodb.s2.medium.4.repset\n      tags:\n        foo: bar\n        new_test: new_test2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### Creating A Cluster Community Edition\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst availabilityZone = config.requireObject\u003cany\u003e(\"availabilityZone\");\nconst vpcId = config.requireObject\u003cany\u003e(\"vpcId\");\nconst subnetId = config.requireObject\u003cany\u003e(\"subnetId\");\nconst securityGroupId = config.requireObject\u003cany\u003e(\"securityGroupId\");\nconst instance = new opentelekomcloud.DdsInstanceV3(\"instance\", {\n    name: \"dds-instance\",\n    datastore: {\n        type: \"DDS-Community\",\n        version: \"3.4\",\n        storageEngine: \"wiredTiger\",\n    },\n    availabilityZone: availabilityZone,\n    vpcId: vpcId,\n    subnetId: subnetId,\n    securityGroupId: securityGroupId,\n    password: \"5ecuredPa55w0rd2@\",\n    mode: \"Sharding\",\n    flavors: [\n        {\n            type: \"mongos\",\n            num: 2,\n            specCode: \"dds.mongodb.s2.medium.4.mongos\",\n        },\n        {\n            type: \"shard\",\n            num: 2,\n            storage: \"ULTRAHIGH\",\n            size: 20,\n            specCode: \"dds.mongodb.s2.medium.4.shard\",\n        },\n        {\n            type: \"config\",\n            num: 1,\n            storage: \"ULTRAHIGH\",\n            size: 20,\n            specCode: \"dds.mongodb.s2.large.2.config\",\n        },\n    ],\n    backupStrategy: {\n        startTime: \"08:00-09:00\",\n        keepDays: 8,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\navailability_zone = config.require_object(\"availabilityZone\")\nvpc_id = config.require_object(\"vpcId\")\nsubnet_id = config.require_object(\"subnetId\")\nsecurity_group_id = config.require_object(\"securityGroupId\")\ninstance = opentelekomcloud.DdsInstanceV3(\"instance\",\n    name=\"dds-instance\",\n    datastore={\n        \"type\": \"DDS-Community\",\n        \"version\": \"3.4\",\n        \"storage_engine\": \"wiredTiger\",\n    },\n    availability_zone=availability_zone,\n    vpc_id=vpc_id,\n    subnet_id=subnet_id,\n    security_group_id=security_group_id,\n    password=\"5ecuredPa55w0rd2@\",\n    mode=\"Sharding\",\n    flavors=[\n        {\n            \"type\": \"mongos\",\n            \"num\": 2,\n            \"spec_code\": \"dds.mongodb.s2.medium.4.mongos\",\n        },\n        {\n            \"type\": \"shard\",\n            \"num\": 2,\n            \"storage\": \"ULTRAHIGH\",\n            \"size\": 20,\n            \"spec_code\": \"dds.mongodb.s2.medium.4.shard\",\n        },\n        {\n            \"type\": \"config\",\n            \"num\": 1,\n            \"storage\": \"ULTRAHIGH\",\n            \"size\": 20,\n            \"spec_code\": \"dds.mongodb.s2.large.2.config\",\n        },\n    ],\n    backup_strategy={\n        \"start_time\": \"08:00-09:00\",\n        \"keep_days\": 8,\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var availabilityZone = config.RequireObject\u003cdynamic\u003e(\"availabilityZone\");\n    var vpcId = config.RequireObject\u003cdynamic\u003e(\"vpcId\");\n    var subnetId = config.RequireObject\u003cdynamic\u003e(\"subnetId\");\n    var securityGroupId = config.RequireObject\u003cdynamic\u003e(\"securityGroupId\");\n    var instance = new Opentelekomcloud.DdsInstanceV3(\"instance\", new()\n    {\n        Name = \"dds-instance\",\n        Datastore = new Opentelekomcloud.Inputs.DdsInstanceV3DatastoreArgs\n        {\n            Type = \"DDS-Community\",\n            Version = \"3.4\",\n            StorageEngine = \"wiredTiger\",\n        },\n        AvailabilityZone = availabilityZone,\n        VpcId = vpcId,\n        SubnetId = subnetId,\n        SecurityGroupId = securityGroupId,\n        Password = \"5ecuredPa55w0rd2@\",\n        Mode = \"Sharding\",\n        Flavors = new[]\n        {\n            new Opentelekomcloud.Inputs.DdsInstanceV3FlavorArgs\n            {\n                Type = \"mongos\",\n                Num = 2,\n                SpecCode = \"dds.mongodb.s2.medium.4.mongos\",\n            },\n            new Opentelekomcloud.Inputs.DdsInstanceV3FlavorArgs\n            {\n                Type = \"shard\",\n                Num = 2,\n                Storage = \"ULTRAHIGH\",\n                Size = 20,\n                SpecCode = \"dds.mongodb.s2.medium.4.shard\",\n            },\n            new Opentelekomcloud.Inputs.DdsInstanceV3FlavorArgs\n            {\n                Type = \"config\",\n                Num = 1,\n                Storage = \"ULTRAHIGH\",\n                Size = 20,\n                SpecCode = \"dds.mongodb.s2.large.2.config\",\n            },\n        },\n        BackupStrategy = new Opentelekomcloud.Inputs.DdsInstanceV3BackupStrategyArgs\n        {\n            StartTime = \"08:00-09:00\",\n            KeepDays = 8,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tavailabilityZone := cfg.RequireObject(\"availabilityZone\")\n\t\tvpcId := cfg.RequireObject(\"vpcId\")\n\t\tsubnetId := cfg.RequireObject(\"subnetId\")\n\t\tsecurityGroupId := cfg.RequireObject(\"securityGroupId\")\n\t\t_, err := opentelekomcloud.NewDdsInstanceV3(ctx, \"instance\", \u0026opentelekomcloud.DdsInstanceV3Args{\n\t\t\tName: pulumi.String(\"dds-instance\"),\n\t\t\tDatastore: \u0026opentelekomcloud.DdsInstanceV3DatastoreArgs{\n\t\t\t\tType:          pulumi.String(\"DDS-Community\"),\n\t\t\t\tVersion:       pulumi.String(\"3.4\"),\n\t\t\t\tStorageEngine: pulumi.String(\"wiredTiger\"),\n\t\t\t},\n\t\t\tAvailabilityZone: pulumi.Any(availabilityZone),\n\t\t\tVpcId:            pulumi.Any(vpcId),\n\t\t\tSubnetId:         pulumi.Any(subnetId),\n\t\t\tSecurityGroupId:  pulumi.Any(securityGroupId),\n\t\t\tPassword:         pulumi.String(\"5ecuredPa55w0rd2@\"),\n\t\t\tMode:             pulumi.String(\"Sharding\"),\n\t\t\tFlavors: opentelekomcloud.DdsInstanceV3FlavorArray{\n\t\t\t\t\u0026opentelekomcloud.DdsInstanceV3FlavorArgs{\n\t\t\t\t\tType:     pulumi.String(\"mongos\"),\n\t\t\t\t\tNum:      pulumi.Float64(2),\n\t\t\t\t\tSpecCode: pulumi.String(\"dds.mongodb.s2.medium.4.mongos\"),\n\t\t\t\t},\n\t\t\t\t\u0026opentelekomcloud.DdsInstanceV3FlavorArgs{\n\t\t\t\t\tType:     pulumi.String(\"shard\"),\n\t\t\t\t\tNum:      pulumi.Float64(2),\n\t\t\t\t\tStorage:  pulumi.String(\"ULTRAHIGH\"),\n\t\t\t\t\tSize:     pulumi.Float64(20),\n\t\t\t\t\tSpecCode: pulumi.String(\"dds.mongodb.s2.medium.4.shard\"),\n\t\t\t\t},\n\t\t\t\t\u0026opentelekomcloud.DdsInstanceV3FlavorArgs{\n\t\t\t\t\tType:     pulumi.String(\"config\"),\n\t\t\t\t\tNum:      pulumi.Float64(1),\n\t\t\t\t\tStorage:  pulumi.String(\"ULTRAHIGH\"),\n\t\t\t\t\tSize:     pulumi.Float64(20),\n\t\t\t\t\tSpecCode: pulumi.String(\"dds.mongodb.s2.large.2.config\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tBackupStrategy: \u0026opentelekomcloud.DdsInstanceV3BackupStrategyArgs{\n\t\t\t\tStartTime: pulumi.String(\"08:00-09:00\"),\n\t\t\t\tKeepDays:  pulumi.Float64(8),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.DdsInstanceV3;\nimport com.pulumi.opentelekomcloud.DdsInstanceV3Args;\nimport com.pulumi.opentelekomcloud.inputs.DdsInstanceV3DatastoreArgs;\nimport com.pulumi.opentelekomcloud.inputs.DdsInstanceV3FlavorArgs;\nimport com.pulumi.opentelekomcloud.inputs.DdsInstanceV3BackupStrategyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var availabilityZone = config.get(\"availabilityZone\");\n        final var vpcId = config.get(\"vpcId\");\n        final var subnetId = config.get(\"subnetId\");\n        final var securityGroupId = config.get(\"securityGroupId\");\n        var instance = new DdsInstanceV3(\"instance\", DdsInstanceV3Args.builder()\n            .name(\"dds-instance\")\n            .datastore(DdsInstanceV3DatastoreArgs.builder()\n                .type(\"DDS-Community\")\n                .version(\"3.4\")\n                .storageEngine(\"wiredTiger\")\n                .build())\n            .availabilityZone(availabilityZone)\n            .vpcId(vpcId)\n            .subnetId(subnetId)\n            .securityGroupId(securityGroupId)\n            .password(\"5ecuredPa55w0rd2@\")\n            .mode(\"Sharding\")\n            .flavors(            \n                DdsInstanceV3FlavorArgs.builder()\n                    .type(\"mongos\")\n                    .num(2.0)\n                    .specCode(\"dds.mongodb.s2.medium.4.mongos\")\n                    .build(),\n                DdsInstanceV3FlavorArgs.builder()\n                    .type(\"shard\")\n                    .num(2.0)\n                    .storage(\"ULTRAHIGH\")\n                    .size(20.0)\n                    .specCode(\"dds.mongodb.s2.medium.4.shard\")\n                    .build(),\n                DdsInstanceV3FlavorArgs.builder()\n                    .type(\"config\")\n                    .num(1.0)\n                    .storage(\"ULTRAHIGH\")\n                    .size(20.0)\n                    .specCode(\"dds.mongodb.s2.large.2.config\")\n                    .build())\n            .backupStrategy(DdsInstanceV3BackupStrategyArgs.builder()\n                .startTime(\"08:00-09:00\")\n                .keepDays(8.0)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  availabilityZone:\n    type: dynamic\n  vpcId:\n    type: dynamic\n  subnetId:\n    type: dynamic\n  securityGroupId:\n    type: dynamic\nresources:\n  instance:\n    type: opentelekomcloud:DdsInstanceV3\n    properties:\n      name: dds-instance\n      datastore:\n        type: DDS-Community\n        version: '3.4'\n        storageEngine: wiredTiger\n      availabilityZone: ${availabilityZone}\n      vpcId: ${vpcId}\n      subnetId: ${subnetId}\n      securityGroupId: ${securityGroupId}\n      password: 5ecuredPa55w0rd2@\n      mode: Sharding\n      flavors:\n        - type: mongos\n          num: 2\n          specCode: dds.mongodb.s2.medium.4.mongos\n        - type: shard\n          num: 2\n          storage: ULTRAHIGH\n          size: 20\n          specCode: dds.mongodb.s2.medium.4.shard\n        - type: config\n          num: 1\n          storage: ULTRAHIGH\n          size: 20\n          specCode: dds.mongodb.s2.large.2.config\n      backupStrategy:\n        startTime: 08:00-09:00\n        keepDays: '8'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### Creating A Single Node Instance\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst availabilityZone = config.requireObject\u003cany\u003e(\"availabilityZone\");\nconst vpcId = config.requireObject\u003cany\u003e(\"vpcId\");\nconst subnetId = config.requireObject\u003cany\u003e(\"subnetId\");\nconst securityGroupId = config.requireObject\u003cany\u003e(\"securityGroupId\");\nconst instance = new opentelekomcloud.DdsInstanceV3(\"instance\", {\n    name: \"dds-instance\",\n    datastore: {\n        type: \"DDS-Community\",\n        version: \"3.4\",\n        storageEngine: \"wiredTiger\",\n    },\n    availabilityZone: availabilityZone,\n    vpcId: vpcId,\n    subnetId: subnetId,\n    securityGroupId: securityGroupId,\n    password: \"5ecuredPa55w0rd@\",\n    mode: \"Single\",\n    flavors: [{\n        type: \"single\",\n        num: 1,\n        storage: \"ULTRAHIGH\",\n        size: 30,\n        specCode: \"dds.mongodb.s2.medium.4.single\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\navailability_zone = config.require_object(\"availabilityZone\")\nvpc_id = config.require_object(\"vpcId\")\nsubnet_id = config.require_object(\"subnetId\")\nsecurity_group_id = config.require_object(\"securityGroupId\")\ninstance = opentelekomcloud.DdsInstanceV3(\"instance\",\n    name=\"dds-instance\",\n    datastore={\n        \"type\": \"DDS-Community\",\n        \"version\": \"3.4\",\n        \"storage_engine\": \"wiredTiger\",\n    },\n    availability_zone=availability_zone,\n    vpc_id=vpc_id,\n    subnet_id=subnet_id,\n    security_group_id=security_group_id,\n    password=\"5ecuredPa55w0rd@\",\n    mode=\"Single\",\n    flavors=[{\n        \"type\": \"single\",\n        \"num\": 1,\n        \"storage\": \"ULTRAHIGH\",\n        \"size\": 30,\n        \"spec_code\": \"dds.mongodb.s2.medium.4.single\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var availabilityZone = config.RequireObject\u003cdynamic\u003e(\"availabilityZone\");\n    var vpcId = config.RequireObject\u003cdynamic\u003e(\"vpcId\");\n    var subnetId = config.RequireObject\u003cdynamic\u003e(\"subnetId\");\n    var securityGroupId = config.RequireObject\u003cdynamic\u003e(\"securityGroupId\");\n    var instance = new Opentelekomcloud.DdsInstanceV3(\"instance\", new()\n    {\n        Name = \"dds-instance\",\n        Datastore = new Opentelekomcloud.Inputs.DdsInstanceV3DatastoreArgs\n        {\n            Type = \"DDS-Community\",\n            Version = \"3.4\",\n            StorageEngine = \"wiredTiger\",\n        },\n        AvailabilityZone = availabilityZone,\n        VpcId = vpcId,\n        SubnetId = subnetId,\n        SecurityGroupId = securityGroupId,\n        Password = \"5ecuredPa55w0rd@\",\n        Mode = \"Single\",\n        Flavors = new[]\n        {\n            new Opentelekomcloud.Inputs.DdsInstanceV3FlavorArgs\n            {\n                Type = \"single\",\n                Num = 1,\n                Storage = \"ULTRAHIGH\",\n                Size = 30,\n                SpecCode = \"dds.mongodb.s2.medium.4.single\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tavailabilityZone := cfg.RequireObject(\"availabilityZone\")\n\t\tvpcId := cfg.RequireObject(\"vpcId\")\n\t\tsubnetId := cfg.RequireObject(\"subnetId\")\n\t\tsecurityGroupId := cfg.RequireObject(\"securityGroupId\")\n\t\t_, err := opentelekomcloud.NewDdsInstanceV3(ctx, \"instance\", \u0026opentelekomcloud.DdsInstanceV3Args{\n\t\t\tName: pulumi.String(\"dds-instance\"),\n\t\t\tDatastore: \u0026opentelekomcloud.DdsInstanceV3DatastoreArgs{\n\t\t\t\tType:          pulumi.String(\"DDS-Community\"),\n\t\t\t\tVersion:       pulumi.String(\"3.4\"),\n\t\t\t\tStorageEngine: pulumi.String(\"wiredTiger\"),\n\t\t\t},\n\t\t\tAvailabilityZone: pulumi.Any(availabilityZone),\n\t\t\tVpcId:            pulumi.Any(vpcId),\n\t\t\tSubnetId:         pulumi.Any(subnetId),\n\t\t\tSecurityGroupId:  pulumi.Any(securityGroupId),\n\t\t\tPassword:         pulumi.String(\"5ecuredPa55w0rd@\"),\n\t\t\tMode:             pulumi.String(\"Single\"),\n\t\t\tFlavors: opentelekomcloud.DdsInstanceV3FlavorArray{\n\t\t\t\t\u0026opentelekomcloud.DdsInstanceV3FlavorArgs{\n\t\t\t\t\tType:     pulumi.String(\"single\"),\n\t\t\t\t\tNum:      pulumi.Float64(1),\n\t\t\t\t\tStorage:  pulumi.String(\"ULTRAHIGH\"),\n\t\t\t\t\tSize:     pulumi.Float64(30),\n\t\t\t\t\tSpecCode: pulumi.String(\"dds.mongodb.s2.medium.4.single\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.DdsInstanceV3;\nimport com.pulumi.opentelekomcloud.DdsInstanceV3Args;\nimport com.pulumi.opentelekomcloud.inputs.DdsInstanceV3DatastoreArgs;\nimport com.pulumi.opentelekomcloud.inputs.DdsInstanceV3FlavorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var availabilityZone = config.get(\"availabilityZone\");\n        final var vpcId = config.get(\"vpcId\");\n        final var subnetId = config.get(\"subnetId\");\n        final var securityGroupId = config.get(\"securityGroupId\");\n        var instance = new DdsInstanceV3(\"instance\", DdsInstanceV3Args.builder()\n            .name(\"dds-instance\")\n            .datastore(DdsInstanceV3DatastoreArgs.builder()\n                .type(\"DDS-Community\")\n                .version(\"3.4\")\n                .storageEngine(\"wiredTiger\")\n                .build())\n            .availabilityZone(availabilityZone)\n            .vpcId(vpcId)\n            .subnetId(subnetId)\n            .securityGroupId(securityGroupId)\n            .password(\"5ecuredPa55w0rd@\")\n            .mode(\"Single\")\n            .flavors(DdsInstanceV3FlavorArgs.builder()\n                .type(\"single\")\n                .num(1.0)\n                .storage(\"ULTRAHIGH\")\n                .size(30.0)\n                .specCode(\"dds.mongodb.s2.medium.4.single\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  availabilityZone:\n    type: dynamic\n  vpcId:\n    type: dynamic\n  subnetId:\n    type: dynamic\n  securityGroupId:\n    type: dynamic\nresources:\n  instance:\n    type: opentelekomcloud:DdsInstanceV3\n    properties:\n      name: dds-instance\n      datastore:\n        type: DDS-Community\n        version: '3.4'\n        storageEngine: wiredTiger\n      availabilityZone: ${availabilityZone}\n      vpcId: ${vpcId}\n      subnetId: ${subnetId}\n      securityGroupId: ${securityGroupId}\n      password: 5ecuredPa55w0rd@\n      mode: Single\n      flavors:\n        - type: single\n          num: 1\n          storage: ULTRAHIGH\n          size: 30\n          specCode: dds.mongodb.s2.medium.4.single\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDDSv3 Instance can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/ddsInstanceV3:DdsInstanceV3 instance_1 c1851195-cdcb-4d23-96cb-032e6a3ee667\n```\n\nNote that the imported state may not be identical to your resource definition, due to some attributes missing from the\n\nAPI response or in a different data structures. The missing attributes include: `flavor`, `password` and `availability_zone`.\n\nIt is generally recommended running `pulumi preview` after importing an instance.\n\nYou can then decide if changes should be applied to the instance, or the resource definition should be updated to\n\nalign with the instance. Also, you can ignore changes as below.\n\nhcl\n\nresource \"opentelekomcloud_dds_instance_v3\" \"instance_1\" {\n\n  lifecycle {\n\n    ignore_changes = [\n\n      flavor, password, availability_zone,\n\n    ]\n\n  }\n\n}\n\n","properties":{"availabilityZone":{"type":"string","description":"Specifies the ID of the availability zone.\n"},"backupStrategy":{"$ref":"#/types/opentelekomcloud:index%2FDdsInstanceV3BackupStrategy:DdsInstanceV3BackupStrategy","description":"Specifies the advanced backup policy. The structure is\ndescribed below.\n"},"createdAt":{"type":"string","description":"Indicates the creation time.\n"},"datastore":{"$ref":"#/types/opentelekomcloud:index%2FDdsInstanceV3Datastore:DdsInstanceV3Datastore","description":"Specifies database information. The structure is described\nbelow.\n"},"dbUsername":{"type":"string","description":"Indicates the DB Administator name.\n"},"ddsInstanceV3Id":{"type":"string","description":"Indicates the node ID.\n"},"diskEncryptionId":{"type":"string","description":"Specifies the disk encryption ID of the instance.\n"},"flavors":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FDdsInstanceV3Flavor:DdsInstanceV3Flavor"},"description":"Specifies the flavor information. The structure is described below.\nChanging this creates a new instance.\n"},"maintainBegin":{"type":"string","description":"Specifies maintenance window start time. The value must be a valid value in the \"HH:MM\" format.\nThe current time is the UTC time. The value cannot be the same as the maintenance end time.\nGap between \u003cspan pulumi-lang-nodejs=\"`maintainBegin`\" pulumi-lang-dotnet=\"`MaintainBegin`\" pulumi-lang-go=\"`maintainBegin`\" pulumi-lang-python=\"`maintain_begin`\" pulumi-lang-yaml=\"`maintainBegin`\" pulumi-lang-java=\"`maintainBegin`\"\u003e`maintain_begin`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`maintainEnd`\" pulumi-lang-dotnet=\"`MaintainEnd`\" pulumi-lang-go=\"`maintainEnd`\" pulumi-lang-python=\"`maintain_end`\" pulumi-lang-yaml=\"`maintainEnd`\" pulumi-lang-java=\"`maintainEnd`\"\u003e`maintain_end`\u003c/span\u003e must be at least 1h.\n"},"maintainEnd":{"type":"string","description":"Specifies maintenance window end time. The value must be a valid value in the \"HH:MM\" format.\nThe current time is the UTC time. The value cannot be the same as the maintenance start time.\nGap between \u003cspan pulumi-lang-nodejs=\"`maintainBegin`\" pulumi-lang-dotnet=\"`MaintainBegin`\" pulumi-lang-go=\"`maintainBegin`\" pulumi-lang-python=\"`maintain_begin`\" pulumi-lang-yaml=\"`maintainBegin`\" pulumi-lang-java=\"`maintainBegin`\"\u003e`maintain_begin`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`maintainEnd`\" pulumi-lang-dotnet=\"`MaintainEnd`\" pulumi-lang-go=\"`maintainEnd`\" pulumi-lang-python=\"`maintain_end`\" pulumi-lang-yaml=\"`maintainEnd`\" pulumi-lang-java=\"`maintainEnd`\"\u003e`maintain_end`\u003c/span\u003e must be at least 1h.\n"},"mode":{"type":"string","description":"Specifies the mode of the database instance.\n"},"name":{"type":"string","description":"Specifies the DB instance name. The DB instance name of the same\ntype is unique in the same tenant.\n"},"nodes":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FDdsInstanceV3Node:DdsInstanceV3Node"},"description":"Indicates the instance nodes information. Structure is documented below.\n"},"password":{"type":"string","description":"Specifies the Administrator password of the database instance.\n","secret":true},"payMode":{"type":"string","description":"Indicates the billing mode. \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e: indicates the pay-per-use billing mode.\n"},"port":{"type":"number","description":"Specifies the database access port. The valid values are range from \u003cspan pulumi-lang-nodejs=\"`2100`\" pulumi-lang-dotnet=\"`2100`\" pulumi-lang-go=\"`2100`\" pulumi-lang-python=\"`2100`\" pulumi-lang-yaml=\"`2100`\" pulumi-lang-java=\"`2100`\"\u003e`2100`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`9500`\" pulumi-lang-dotnet=\"`9500`\" pulumi-lang-go=\"`9500`\" pulumi-lang-python=\"`9500`\" pulumi-lang-yaml=\"`9500`\" pulumi-lang-java=\"`9500`\"\u003e`9500`\u003c/span\u003e and\n\u003cspan pulumi-lang-nodejs=\"`27017`\" pulumi-lang-dotnet=\"`27017`\" pulumi-lang-go=\"`27017`\" pulumi-lang-python=\"`27017`\" pulumi-lang-yaml=\"`27017`\" pulumi-lang-java=\"`27017`\"\u003e`27017`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`27018`\" pulumi-lang-dotnet=\"`27018`\" pulumi-lang-go=\"`27018`\" pulumi-lang-python=\"`27018`\" pulumi-lang-yaml=\"`27018`\" pulumi-lang-java=\"`27018`\"\u003e`27018`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`27019`\" pulumi-lang-dotnet=\"`27019`\" pulumi-lang-go=\"`27019`\" pulumi-lang-python=\"`27019`\" pulumi-lang-yaml=\"`27019`\" pulumi-lang-java=\"`27019`\"\u003e`27019`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`8635`\" pulumi-lang-dotnet=\"`8635`\" pulumi-lang-go=\"`8635`\" pulumi-lang-python=\"`8635`\" pulumi-lang-yaml=\"`8635`\" pulumi-lang-java=\"`8635`\"\u003e`8635`\u003c/span\u003e.\n"},"region":{"type":"string","description":"Specifies the region of the DDS instance.\n"},"securityGroupId":{"type":"string","description":"Specifies the security group ID of the DDS instance.\n"},"ssl":{"type":"boolean","description":"Specifies whether to enable or disable SSL. Defaults to true.\n\u003e The instance will be restarted in the background when switching SSL. Please operate with caution.\n"},"status":{"type":"string","description":"Indicates the node status.\n"},"subnetId":{"type":"string","description":"Specifies the subnet Network ID.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags key/value pairs to associate with the volume.\nChanging this updates the existing volume tags.\n"},"timeZone":{"type":"string","description":"Indicates the time zone.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FDdsInstanceV3Timeouts:DdsInstanceV3Timeouts"},"updatedAt":{"type":"string","description":"Indicates the update time.\n"},"vpcId":{"type":"string","description":"Specifies the VPC ID.\n"}},"type":"object","required":["availabilityZone","createdAt","datastore","dbUsername","ddsInstanceV3Id","flavors","maintainBegin","maintainEnd","mode","name","nodes","password","payMode","port","region","securityGroupId","status","subnetId","timeZone","updatedAt","vpcId"],"inputProperties":{"availabilityZone":{"type":"string","description":"Specifies the ID of the availability zone.\n"},"backupStrategy":{"$ref":"#/types/opentelekomcloud:index%2FDdsInstanceV3BackupStrategy:DdsInstanceV3BackupStrategy","description":"Specifies the advanced backup policy. The structure is\ndescribed below.\n"},"datastore":{"$ref":"#/types/opentelekomcloud:index%2FDdsInstanceV3Datastore:DdsInstanceV3Datastore","description":"Specifies database information. The structure is described\nbelow.\n"},"ddsInstanceV3Id":{"type":"string","description":"Indicates the node ID.\n"},"diskEncryptionId":{"type":"string","description":"Specifies the disk encryption ID of the instance.\n"},"flavors":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FDdsInstanceV3Flavor:DdsInstanceV3Flavor"},"description":"Specifies the flavor information. The structure is described below.\nChanging this creates a new instance.\n"},"maintainBegin":{"type":"string","description":"Specifies maintenance window start time. The value must be a valid value in the \"HH:MM\" format.\nThe current time is the UTC time. The value cannot be the same as the maintenance end time.\nGap between \u003cspan pulumi-lang-nodejs=\"`maintainBegin`\" pulumi-lang-dotnet=\"`MaintainBegin`\" pulumi-lang-go=\"`maintainBegin`\" pulumi-lang-python=\"`maintain_begin`\" pulumi-lang-yaml=\"`maintainBegin`\" pulumi-lang-java=\"`maintainBegin`\"\u003e`maintain_begin`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`maintainEnd`\" pulumi-lang-dotnet=\"`MaintainEnd`\" pulumi-lang-go=\"`maintainEnd`\" pulumi-lang-python=\"`maintain_end`\" pulumi-lang-yaml=\"`maintainEnd`\" pulumi-lang-java=\"`maintainEnd`\"\u003e`maintain_end`\u003c/span\u003e must be at least 1h.\n"},"maintainEnd":{"type":"string","description":"Specifies maintenance window end time. The value must be a valid value in the \"HH:MM\" format.\nThe current time is the UTC time. The value cannot be the same as the maintenance start time.\nGap between \u003cspan pulumi-lang-nodejs=\"`maintainBegin`\" pulumi-lang-dotnet=\"`MaintainBegin`\" pulumi-lang-go=\"`maintainBegin`\" pulumi-lang-python=\"`maintain_begin`\" pulumi-lang-yaml=\"`maintainBegin`\" pulumi-lang-java=\"`maintainBegin`\"\u003e`maintain_begin`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`maintainEnd`\" pulumi-lang-dotnet=\"`MaintainEnd`\" pulumi-lang-go=\"`maintainEnd`\" pulumi-lang-python=\"`maintain_end`\" pulumi-lang-yaml=\"`maintainEnd`\" pulumi-lang-java=\"`maintainEnd`\"\u003e`maintain_end`\u003c/span\u003e must be at least 1h.\n"},"mode":{"type":"string","description":"Specifies the mode of the database instance.\n"},"name":{"type":"string","description":"Specifies the DB instance name. The DB instance name of the same\ntype is unique in the same tenant.\n"},"password":{"type":"string","description":"Specifies the Administrator password of the database instance.\n","secret":true},"port":{"type":"number","description":"Specifies the database access port. The valid values are range from \u003cspan pulumi-lang-nodejs=\"`2100`\" pulumi-lang-dotnet=\"`2100`\" pulumi-lang-go=\"`2100`\" pulumi-lang-python=\"`2100`\" pulumi-lang-yaml=\"`2100`\" pulumi-lang-java=\"`2100`\"\u003e`2100`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`9500`\" pulumi-lang-dotnet=\"`9500`\" pulumi-lang-go=\"`9500`\" pulumi-lang-python=\"`9500`\" pulumi-lang-yaml=\"`9500`\" pulumi-lang-java=\"`9500`\"\u003e`9500`\u003c/span\u003e and\n\u003cspan pulumi-lang-nodejs=\"`27017`\" pulumi-lang-dotnet=\"`27017`\" pulumi-lang-go=\"`27017`\" pulumi-lang-python=\"`27017`\" pulumi-lang-yaml=\"`27017`\" pulumi-lang-java=\"`27017`\"\u003e`27017`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`27018`\" pulumi-lang-dotnet=\"`27018`\" pulumi-lang-go=\"`27018`\" pulumi-lang-python=\"`27018`\" pulumi-lang-yaml=\"`27018`\" pulumi-lang-java=\"`27018`\"\u003e`27018`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`27019`\" pulumi-lang-dotnet=\"`27019`\" pulumi-lang-go=\"`27019`\" pulumi-lang-python=\"`27019`\" pulumi-lang-yaml=\"`27019`\" pulumi-lang-java=\"`27019`\"\u003e`27019`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`8635`\" pulumi-lang-dotnet=\"`8635`\" pulumi-lang-go=\"`8635`\" pulumi-lang-python=\"`8635`\" pulumi-lang-yaml=\"`8635`\" pulumi-lang-java=\"`8635`\"\u003e`8635`\u003c/span\u003e.\n"},"region":{"type":"string","description":"Specifies the region of the DDS instance.\n"},"securityGroupId":{"type":"string","description":"Specifies the security group ID of the DDS instance.\n"},"ssl":{"type":"boolean","description":"Specifies whether to enable or disable SSL. Defaults to true.\n\u003e The instance will be restarted in the background when switching SSL. Please operate with caution.\n"},"subnetId":{"type":"string","description":"Specifies the subnet Network ID.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags key/value pairs to associate with the volume.\nChanging this updates the existing volume tags.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FDdsInstanceV3Timeouts:DdsInstanceV3Timeouts"},"vpcId":{"type":"string","description":"Specifies the VPC ID.\n"}},"requiredInputs":["availabilityZone","datastore","flavors","mode","password","securityGroupId","subnetId","vpcId"],"stateInputs":{"description":"Input properties used for looking up and filtering DdsInstanceV3 resources.\n","properties":{"availabilityZone":{"type":"string","description":"Specifies the ID of the availability zone.\n"},"backupStrategy":{"$ref":"#/types/opentelekomcloud:index%2FDdsInstanceV3BackupStrategy:DdsInstanceV3BackupStrategy","description":"Specifies the advanced backup policy. The structure is\ndescribed below.\n"},"createdAt":{"type":"string","description":"Indicates the creation time.\n"},"datastore":{"$ref":"#/types/opentelekomcloud:index%2FDdsInstanceV3Datastore:DdsInstanceV3Datastore","description":"Specifies database information. The structure is described\nbelow.\n"},"dbUsername":{"type":"string","description":"Indicates the DB Administator name.\n"},"ddsInstanceV3Id":{"type":"string","description":"Indicates the node ID.\n"},"diskEncryptionId":{"type":"string","description":"Specifies the disk encryption ID of the instance.\n"},"flavors":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FDdsInstanceV3Flavor:DdsInstanceV3Flavor"},"description":"Specifies the flavor information. The structure is described below.\nChanging this creates a new instance.\n"},"maintainBegin":{"type":"string","description":"Specifies maintenance window start time. The value must be a valid value in the \"HH:MM\" format.\nThe current time is the UTC time. The value cannot be the same as the maintenance end time.\nGap between \u003cspan pulumi-lang-nodejs=\"`maintainBegin`\" pulumi-lang-dotnet=\"`MaintainBegin`\" pulumi-lang-go=\"`maintainBegin`\" pulumi-lang-python=\"`maintain_begin`\" pulumi-lang-yaml=\"`maintainBegin`\" pulumi-lang-java=\"`maintainBegin`\"\u003e`maintain_begin`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`maintainEnd`\" pulumi-lang-dotnet=\"`MaintainEnd`\" pulumi-lang-go=\"`maintainEnd`\" pulumi-lang-python=\"`maintain_end`\" pulumi-lang-yaml=\"`maintainEnd`\" pulumi-lang-java=\"`maintainEnd`\"\u003e`maintain_end`\u003c/span\u003e must be at least 1h.\n"},"maintainEnd":{"type":"string","description":"Specifies maintenance window end time. The value must be a valid value in the \"HH:MM\" format.\nThe current time is the UTC time. The value cannot be the same as the maintenance start time.\nGap between \u003cspan pulumi-lang-nodejs=\"`maintainBegin`\" pulumi-lang-dotnet=\"`MaintainBegin`\" pulumi-lang-go=\"`maintainBegin`\" pulumi-lang-python=\"`maintain_begin`\" pulumi-lang-yaml=\"`maintainBegin`\" pulumi-lang-java=\"`maintainBegin`\"\u003e`maintain_begin`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`maintainEnd`\" pulumi-lang-dotnet=\"`MaintainEnd`\" pulumi-lang-go=\"`maintainEnd`\" pulumi-lang-python=\"`maintain_end`\" pulumi-lang-yaml=\"`maintainEnd`\" pulumi-lang-java=\"`maintainEnd`\"\u003e`maintain_end`\u003c/span\u003e must be at least 1h.\n"},"mode":{"type":"string","description":"Specifies the mode of the database instance.\n"},"name":{"type":"string","description":"Specifies the DB instance name. The DB instance name of the same\ntype is unique in the same tenant.\n"},"nodes":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FDdsInstanceV3Node:DdsInstanceV3Node"},"description":"Indicates the instance nodes information. Structure is documented below.\n"},"password":{"type":"string","description":"Specifies the Administrator password of the database instance.\n","secret":true},"payMode":{"type":"string","description":"Indicates the billing mode. \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e: indicates the pay-per-use billing mode.\n"},"port":{"type":"number","description":"Specifies the database access port. The valid values are range from \u003cspan pulumi-lang-nodejs=\"`2100`\" pulumi-lang-dotnet=\"`2100`\" pulumi-lang-go=\"`2100`\" pulumi-lang-python=\"`2100`\" pulumi-lang-yaml=\"`2100`\" pulumi-lang-java=\"`2100`\"\u003e`2100`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`9500`\" pulumi-lang-dotnet=\"`9500`\" pulumi-lang-go=\"`9500`\" pulumi-lang-python=\"`9500`\" pulumi-lang-yaml=\"`9500`\" pulumi-lang-java=\"`9500`\"\u003e`9500`\u003c/span\u003e and\n\u003cspan pulumi-lang-nodejs=\"`27017`\" pulumi-lang-dotnet=\"`27017`\" pulumi-lang-go=\"`27017`\" pulumi-lang-python=\"`27017`\" pulumi-lang-yaml=\"`27017`\" pulumi-lang-java=\"`27017`\"\u003e`27017`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`27018`\" pulumi-lang-dotnet=\"`27018`\" pulumi-lang-go=\"`27018`\" pulumi-lang-python=\"`27018`\" pulumi-lang-yaml=\"`27018`\" pulumi-lang-java=\"`27018`\"\u003e`27018`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`27019`\" pulumi-lang-dotnet=\"`27019`\" pulumi-lang-go=\"`27019`\" pulumi-lang-python=\"`27019`\" pulumi-lang-yaml=\"`27019`\" pulumi-lang-java=\"`27019`\"\u003e`27019`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`8635`\" pulumi-lang-dotnet=\"`8635`\" pulumi-lang-go=\"`8635`\" pulumi-lang-python=\"`8635`\" pulumi-lang-yaml=\"`8635`\" pulumi-lang-java=\"`8635`\"\u003e`8635`\u003c/span\u003e.\n"},"region":{"type":"string","description":"Specifies the region of the DDS instance.\n"},"securityGroupId":{"type":"string","description":"Specifies the security group ID of the DDS instance.\n"},"ssl":{"type":"boolean","description":"Specifies whether to enable or disable SSL. Defaults to true.\n\u003e The instance will be restarted in the background when switching SSL. Please operate with caution.\n"},"status":{"type":"string","description":"Indicates the node status.\n"},"subnetId":{"type":"string","description":"Specifies the subnet Network ID.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags key/value pairs to associate with the volume.\nChanging this updates the existing volume tags.\n"},"timeZone":{"type":"string","description":"Indicates the time zone.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FDdsInstanceV3Timeouts:DdsInstanceV3Timeouts"},"updatedAt":{"type":"string","description":"Indicates the update time.\n"},"vpcId":{"type":"string","description":"Specifies the VPC ID.\n"}},"type":"object"}},"opentelekomcloud:index/ddsLtsLogV3:DdsLtsLogV3":{"description":"Manages a DDS LTS log resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst instanceId = config.requireObject\u003cany\u003e(\"instanceId\");\nconst ltsGroupId = config.requireObject\u003cany\u003e(\"ltsGroupId\");\nconst ltsStreamId = config.requireObject\u003cany\u003e(\"ltsStreamId\");\nconst log = new opentelekomcloud.DdsLtsLogV3(\"log\", {\n    instanceId: instanceId,\n    logType: \"audit_log\",\n    ltsGroupId: ltsGroupId,\n    ltsStreamId: ltsStreamId,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ninstance_id = config.require_object(\"instanceId\")\nlts_group_id = config.require_object(\"ltsGroupId\")\nlts_stream_id = config.require_object(\"ltsStreamId\")\nlog = opentelekomcloud.DdsLtsLogV3(\"log\",\n    instance_id=instance_id,\n    log_type=\"audit_log\",\n    lts_group_id=lts_group_id,\n    lts_stream_id=lts_stream_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var instanceId = config.RequireObject\u003cdynamic\u003e(\"instanceId\");\n    var ltsGroupId = config.RequireObject\u003cdynamic\u003e(\"ltsGroupId\");\n    var ltsStreamId = config.RequireObject\u003cdynamic\u003e(\"ltsStreamId\");\n    var log = new Opentelekomcloud.DdsLtsLogV3(\"log\", new()\n    {\n        InstanceId = instanceId,\n        LogType = \"audit_log\",\n        LtsGroupId = ltsGroupId,\n        LtsStreamId = ltsStreamId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tinstanceId := cfg.RequireObject(\"instanceId\")\n\t\tltsGroupId := cfg.RequireObject(\"ltsGroupId\")\n\t\tltsStreamId := cfg.RequireObject(\"ltsStreamId\")\n\t\t_, err := opentelekomcloud.NewDdsLtsLogV3(ctx, \"log\", \u0026opentelekomcloud.DdsLtsLogV3Args{\n\t\t\tInstanceId:  pulumi.Any(instanceId),\n\t\t\tLogType:     pulumi.String(\"audit_log\"),\n\t\t\tLtsGroupId:  pulumi.Any(ltsGroupId),\n\t\t\tLtsStreamId: pulumi.Any(ltsStreamId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.DdsLtsLogV3;\nimport com.pulumi.opentelekomcloud.DdsLtsLogV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var instanceId = config.get(\"instanceId\");\n        final var ltsGroupId = config.get(\"ltsGroupId\");\n        final var ltsStreamId = config.get(\"ltsStreamId\");\n        var log = new DdsLtsLogV3(\"log\", DdsLtsLogV3Args.builder()\n            .instanceId(instanceId)\n            .logType(\"audit_log\")\n            .ltsGroupId(ltsGroupId)\n            .ltsStreamId(ltsStreamId)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  instanceId:\n    type: dynamic\n  ltsGroupId:\n    type: dynamic\n  ltsStreamId:\n    type: dynamic\nresources:\n  log:\n    type: opentelekomcloud:DdsLtsLogV3\n    properties:\n      instanceId: ${instanceId}\n      logType: audit_log\n      ltsGroupId: ${ltsGroupId}\n      ltsStreamId: ${ltsStreamId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe DDS LTS log config can be imported using DDS instance ID, e.g.\n\nbash\n\n```sh\n$ pulumi import opentelekomcloud:index/ddsLtsLogV3:DdsLtsLogV3 log \u003cinstance_id\u003e\n```\n\n","properties":{"ddsLtsLogV3Id":{"type":"string","description":"The resource ID. The value is DDS instance ID.\n"},"instanceId":{"type":"string","description":"Specifies the ID of the DDS instance.\n\nChanging this creates a new resource.\n"},"logType":{"type":"string","description":"Specifies the type of the LTS log. The value can be \u003cspan pulumi-lang-nodejs=\"`auditLog`\" pulumi-lang-dotnet=\"`AuditLog`\" pulumi-lang-go=\"`auditLog`\" pulumi-lang-python=\"`audit_log`\" pulumi-lang-yaml=\"`auditLog`\" pulumi-lang-java=\"`auditLog`\"\u003e`audit_log`\u003c/span\u003e.\n\nChanging this creates a new resource.\n"},"ltsGroupId":{"type":"string","description":"Specifies the ID of the LTS log group.\n"},"ltsStreamId":{"type":"string","description":"Specifies the ID of the LTS log stream.\n"},"region":{"type":"string","description":"The region in which created the LTS log resource.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FDdsLtsLogV3Timeouts:DdsLtsLogV3Timeouts"}},"type":"object","required":["ddsLtsLogV3Id","instanceId","logType","ltsGroupId","ltsStreamId","region"],"inputProperties":{"ddsLtsLogV3Id":{"type":"string","description":"The resource ID. The value is DDS instance ID.\n"},"instanceId":{"type":"string","description":"Specifies the ID of the DDS instance.\n\nChanging this creates a new resource.\n"},"logType":{"type":"string","description":"Specifies the type of the LTS log. The value can be \u003cspan pulumi-lang-nodejs=\"`auditLog`\" pulumi-lang-dotnet=\"`AuditLog`\" pulumi-lang-go=\"`auditLog`\" pulumi-lang-python=\"`audit_log`\" pulumi-lang-yaml=\"`auditLog`\" pulumi-lang-java=\"`auditLog`\"\u003e`audit_log`\u003c/span\u003e.\n\nChanging this creates a new resource.\n"},"ltsGroupId":{"type":"string","description":"Specifies the ID of the LTS log group.\n"},"ltsStreamId":{"type":"string","description":"Specifies the ID of the LTS log stream.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FDdsLtsLogV3Timeouts:DdsLtsLogV3Timeouts"}},"requiredInputs":["instanceId","logType","ltsGroupId","ltsStreamId"],"stateInputs":{"description":"Input properties used for looking up and filtering DdsLtsLogV3 resources.\n","properties":{"ddsLtsLogV3Id":{"type":"string","description":"The resource ID. The value is DDS instance ID.\n"},"instanceId":{"type":"string","description":"Specifies the ID of the DDS instance.\n\nChanging this creates a new resource.\n"},"logType":{"type":"string","description":"Specifies the type of the LTS log. The value can be \u003cspan pulumi-lang-nodejs=\"`auditLog`\" pulumi-lang-dotnet=\"`AuditLog`\" pulumi-lang-go=\"`auditLog`\" pulumi-lang-python=\"`audit_log`\" pulumi-lang-yaml=\"`auditLog`\" pulumi-lang-java=\"`auditLog`\"\u003e`audit_log`\u003c/span\u003e.\n\nChanging this creates a new resource.\n"},"ltsGroupId":{"type":"string","description":"Specifies the ID of the LTS log group.\n"},"ltsStreamId":{"type":"string","description":"Specifies the ID of the LTS log stream.\n"},"region":{"type":"string","description":"The region in which created the LTS log resource.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FDdsLtsLogV3Timeouts:DdsLtsLogV3Timeouts"}},"type":"object"}},"opentelekomcloud:index/dehHostV1:DehHostV1":{"description":"Up-to-date reference of API arguments for DEH host you can get at\n[documentation portal](https://docs.otc.t-systems.com/dedicated-host/api-ref/api)\n\nAllocates a Dedicated Host to a tenant and set minimum required parameters for this Dedicated Host.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst dehHost = new opentelekomcloud.DehHostV1(\"deh_host\", {\n    name: \"high_performance_deh\",\n    autoPlacement: \"on\",\n    availabilityZone: \"eu-de-02\",\n    hostType: \"h1\",\n    tags: {\n        muh: \"kuh\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ndeh_host = opentelekomcloud.DehHostV1(\"deh_host\",\n    name=\"high_performance_deh\",\n    auto_placement=\"on\",\n    availability_zone=\"eu-de-02\",\n    host_type=\"h1\",\n    tags={\n        \"muh\": \"kuh\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var dehHost = new Opentelekomcloud.DehHostV1(\"deh_host\", new()\n    {\n        Name = \"high_performance_deh\",\n        AutoPlacement = \"on\",\n        AvailabilityZone = \"eu-de-02\",\n        HostType = \"h1\",\n        Tags = \n        {\n            { \"muh\", \"kuh\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewDehHostV1(ctx, \"deh_host\", \u0026opentelekomcloud.DehHostV1Args{\n\t\t\tName:             pulumi.String(\"high_performance_deh\"),\n\t\t\tAutoPlacement:    pulumi.String(\"on\"),\n\t\t\tAvailabilityZone: pulumi.String(\"eu-de-02\"),\n\t\t\tHostType:         pulumi.String(\"h1\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"muh\": pulumi.String(\"kuh\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.DehHostV1;\nimport com.pulumi.opentelekomcloud.DehHostV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var dehHost = new DehHostV1(\"dehHost\", DehHostV1Args.builder()\n            .name(\"high_performance_deh\")\n            .autoPlacement(\"on\")\n            .availabilityZone(\"eu-de-02\")\n            .hostType(\"h1\")\n            .tags(Map.of(\"muh\", \"kuh\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  dehHost:\n    type: opentelekomcloud:DehHostV1\n    name: deh_host\n    properties:\n      name: high_performance_deh\n      autoPlacement: on\n      availabilityZone: eu-de-02\n      hostType: h1\n      tags:\n        muh: kuh\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDeH can be imported using the `dedicated_host_id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/dehHostV1:DehHostV1 deh_host 4779ab1c-7c1a-44b1-a02e-93dfc361b32d\n```\n\n","properties":{"autoPlacement":{"type":"string","description":"Allows a instance to be automatically placed onto the available Dedicated Hosts. The default value is \u003cspan pulumi-lang-nodejs=\"`on`\" pulumi-lang-dotnet=\"`On`\" pulumi-lang-go=\"`on`\" pulumi-lang-python=\"`on`\" pulumi-lang-yaml=\"`on`\" pulumi-lang-java=\"`on`\"\u003e`on`\u003c/span\u003e.\n"},"availabilityZone":{"type":"string","description":"The Availability Zone to which the Dedicated Host belongs.\n"},"availableInstanceCapacities":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FDehHostV1AvailableInstanceCapacity:DehHostV1AvailableInstanceCapacity"},"description":"The VM flavors placed on the Dedicated Host.\n"},"availableMemory":{"type":"number","description":"The size of available memory for the Dedicated Host.\n"},"availableVcpus":{"type":"number","description":"The number of available vCPUs for the Dedicated Host.\n"},"cores":{"type":"number","description":"The number of host physical cores.\n"},"dehHostV1Id":{"type":"string"},"hostType":{"type":"string","description":"The Dedicated Host type.\nExpected values are:\n* in `eu-de`: \u003cspan pulumi-lang-nodejs=\"`c4`\" pulumi-lang-dotnet=\"`C4`\" pulumi-lang-go=\"`c4`\" pulumi-lang-python=\"`c4`\" pulumi-lang-yaml=\"`c4`\" pulumi-lang-java=\"`c4`\"\u003e`c4`\u003c/span\u003e, `s2-medium`, \u003cspan pulumi-lang-nodejs=\"`m3`\" pulumi-lang-dotnet=\"`M3`\" pulumi-lang-go=\"`m3`\" pulumi-lang-python=\"`m3`\" pulumi-lang-yaml=\"`m3`\" pulumi-lang-java=\"`m3`\"\u003e`m3`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`c3`\" pulumi-lang-dotnet=\"`C3`\" pulumi-lang-go=\"`c3`\" pulumi-lang-python=\"`c3`\" pulumi-lang-yaml=\"`c3`\" pulumi-lang-java=\"`c3`\"\u003e`c3`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`s2`\" pulumi-lang-dotnet=\"`S2`\" pulumi-lang-go=\"`s2`\" pulumi-lang-python=\"`s2`\" pulumi-lang-yaml=\"`s2`\" pulumi-lang-java=\"`s2`\"\u003e`s2`\u003c/span\u003e.\n* in `eu-nl`: \u003cspan pulumi-lang-nodejs=\"`i3Pro`\" pulumi-lang-dotnet=\"`I3Pro`\" pulumi-lang-go=\"`i3Pro`\" pulumi-lang-python=\"`i3_pro`\" pulumi-lang-yaml=\"`i3Pro`\" pulumi-lang-java=\"`i3Pro`\"\u003e`i3_pro`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`i3`\" pulumi-lang-dotnet=\"`I3`\" pulumi-lang-go=\"`i3`\" pulumi-lang-python=\"`i3`\" pulumi-lang-yaml=\"`i3`\" pulumi-lang-java=\"`i3`\"\u003e`i3`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`m4`\" pulumi-lang-dotnet=\"`M4`\" pulumi-lang-go=\"`m4`\" pulumi-lang-python=\"`m4`\" pulumi-lang-yaml=\"`m4`\" pulumi-lang-java=\"`m4`\"\u003e`m4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`s3`\" pulumi-lang-dotnet=\"`S3`\" pulumi-lang-go=\"`s3`\" pulumi-lang-python=\"`s3`\" pulumi-lang-yaml=\"`s3`\" pulumi-lang-java=\"`s3`\"\u003e`s3`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`c4`\" pulumi-lang-dotnet=\"`C4`\" pulumi-lang-go=\"`c4`\" pulumi-lang-python=\"`c4`\" pulumi-lang-yaml=\"`c4`\" pulumi-lang-java=\"`c4`\"\u003e`c4`\u003c/span\u003e.\n* in `eu-ch2`: \u003cspan pulumi-lang-nodejs=\"`s3`\" pulumi-lang-dotnet=\"`S3`\" pulumi-lang-go=\"`s3`\" pulumi-lang-python=\"`s3`\" pulumi-lang-yaml=\"`s3`\" pulumi-lang-java=\"`s3`\"\u003e`s3`\u003c/span\u003e.\n"},"hostTypeName":{"type":"string","description":"The name of the Dedicated Host type.\n"},"instanceTotal":{"type":"number","description":"The number of the placed VMs.\n"},"instanceUuids":{"type":"array","items":{"type":"string"},"description":"The VMs started on the Dedicated Host.\n"},"memory":{"type":"number","description":"The size of host physical memory (MB).\n"},"name":{"type":"string","description":"The name of the Dedicated Host.\n"},"region":{"type":"string"},"sockets":{"type":"number","description":"The number of host physical sockets.\n"},"status":{"type":"string","description":"Specifies the Dedicated Host status.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags key/value pairs to associate with Host.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FDehHostV1Timeouts:DehHostV1Timeouts"},"vcpus":{"type":"number","description":"The number of host vCPUs.\n"}},"type":"object","required":["availabilityZone","availableMemory","availableVcpus","cores","dehHostV1Id","hostType","hostTypeName","instanceTotal","instanceUuids","memory","name","region","sockets","status","vcpus"],"inputProperties":{"autoPlacement":{"type":"string","description":"Allows a instance to be automatically placed onto the available Dedicated Hosts. The default value is \u003cspan pulumi-lang-nodejs=\"`on`\" pulumi-lang-dotnet=\"`On`\" pulumi-lang-go=\"`on`\" pulumi-lang-python=\"`on`\" pulumi-lang-yaml=\"`on`\" pulumi-lang-java=\"`on`\"\u003e`on`\u003c/span\u003e.\n"},"availabilityZone":{"type":"string","description":"The Availability Zone to which the Dedicated Host belongs.\n"},"availableInstanceCapacities":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FDehHostV1AvailableInstanceCapacity:DehHostV1AvailableInstanceCapacity"},"description":"The VM flavors placed on the Dedicated Host.\n"},"availableMemory":{"type":"number","description":"The size of available memory for the Dedicated Host.\n"},"availableVcpus":{"type":"number","description":"The number of available vCPUs for the Dedicated Host.\n"},"cores":{"type":"number","description":"The number of host physical cores.\n"},"dehHostV1Id":{"type":"string"},"hostType":{"type":"string","description":"The Dedicated Host type.\nExpected values are:\n* in `eu-de`: \u003cspan pulumi-lang-nodejs=\"`c4`\" pulumi-lang-dotnet=\"`C4`\" pulumi-lang-go=\"`c4`\" pulumi-lang-python=\"`c4`\" pulumi-lang-yaml=\"`c4`\" pulumi-lang-java=\"`c4`\"\u003e`c4`\u003c/span\u003e, `s2-medium`, \u003cspan pulumi-lang-nodejs=\"`m3`\" pulumi-lang-dotnet=\"`M3`\" pulumi-lang-go=\"`m3`\" pulumi-lang-python=\"`m3`\" pulumi-lang-yaml=\"`m3`\" pulumi-lang-java=\"`m3`\"\u003e`m3`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`c3`\" pulumi-lang-dotnet=\"`C3`\" pulumi-lang-go=\"`c3`\" pulumi-lang-python=\"`c3`\" pulumi-lang-yaml=\"`c3`\" pulumi-lang-java=\"`c3`\"\u003e`c3`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`s2`\" pulumi-lang-dotnet=\"`S2`\" pulumi-lang-go=\"`s2`\" pulumi-lang-python=\"`s2`\" pulumi-lang-yaml=\"`s2`\" pulumi-lang-java=\"`s2`\"\u003e`s2`\u003c/span\u003e.\n* in `eu-nl`: \u003cspan pulumi-lang-nodejs=\"`i3Pro`\" pulumi-lang-dotnet=\"`I3Pro`\" pulumi-lang-go=\"`i3Pro`\" pulumi-lang-python=\"`i3_pro`\" pulumi-lang-yaml=\"`i3Pro`\" pulumi-lang-java=\"`i3Pro`\"\u003e`i3_pro`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`i3`\" pulumi-lang-dotnet=\"`I3`\" pulumi-lang-go=\"`i3`\" pulumi-lang-python=\"`i3`\" pulumi-lang-yaml=\"`i3`\" pulumi-lang-java=\"`i3`\"\u003e`i3`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`m4`\" pulumi-lang-dotnet=\"`M4`\" pulumi-lang-go=\"`m4`\" pulumi-lang-python=\"`m4`\" pulumi-lang-yaml=\"`m4`\" pulumi-lang-java=\"`m4`\"\u003e`m4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`s3`\" pulumi-lang-dotnet=\"`S3`\" pulumi-lang-go=\"`s3`\" pulumi-lang-python=\"`s3`\" pulumi-lang-yaml=\"`s3`\" pulumi-lang-java=\"`s3`\"\u003e`s3`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`c4`\" pulumi-lang-dotnet=\"`C4`\" pulumi-lang-go=\"`c4`\" pulumi-lang-python=\"`c4`\" pulumi-lang-yaml=\"`c4`\" pulumi-lang-java=\"`c4`\"\u003e`c4`\u003c/span\u003e.\n* in `eu-ch2`: \u003cspan pulumi-lang-nodejs=\"`s3`\" pulumi-lang-dotnet=\"`S3`\" pulumi-lang-go=\"`s3`\" pulumi-lang-python=\"`s3`\" pulumi-lang-yaml=\"`s3`\" pulumi-lang-java=\"`s3`\"\u003e`s3`\u003c/span\u003e.\n"},"hostTypeName":{"type":"string","description":"The name of the Dedicated Host type.\n"},"instanceTotal":{"type":"number","description":"The number of the placed VMs.\n"},"instanceUuids":{"type":"array","items":{"type":"string"},"description":"The VMs started on the Dedicated Host.\n"},"memory":{"type":"number","description":"The size of host physical memory (MB).\n"},"name":{"type":"string","description":"The name of the Dedicated Host.\n"},"region":{"type":"string"},"sockets":{"type":"number","description":"The number of host physical sockets.\n"},"status":{"type":"string","description":"Specifies the Dedicated Host status.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags key/value pairs to associate with Host.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FDehHostV1Timeouts:DehHostV1Timeouts"},"vcpus":{"type":"number","description":"The number of host vCPUs.\n"}},"requiredInputs":["availabilityZone","hostType"],"stateInputs":{"description":"Input properties used for looking up and filtering DehHostV1 resources.\n","properties":{"autoPlacement":{"type":"string","description":"Allows a instance to be automatically placed onto the available Dedicated Hosts. The default value is \u003cspan pulumi-lang-nodejs=\"`on`\" pulumi-lang-dotnet=\"`On`\" pulumi-lang-go=\"`on`\" pulumi-lang-python=\"`on`\" pulumi-lang-yaml=\"`on`\" pulumi-lang-java=\"`on`\"\u003e`on`\u003c/span\u003e.\n"},"availabilityZone":{"type":"string","description":"The Availability Zone to which the Dedicated Host belongs.\n"},"availableInstanceCapacities":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FDehHostV1AvailableInstanceCapacity:DehHostV1AvailableInstanceCapacity"},"description":"The VM flavors placed on the Dedicated Host.\n"},"availableMemory":{"type":"number","description":"The size of available memory for the Dedicated Host.\n"},"availableVcpus":{"type":"number","description":"The number of available vCPUs for the Dedicated Host.\n"},"cores":{"type":"number","description":"The number of host physical cores.\n"},"dehHostV1Id":{"type":"string"},"hostType":{"type":"string","description":"The Dedicated Host type.\nExpected values are:\n* in `eu-de`: \u003cspan pulumi-lang-nodejs=\"`c4`\" pulumi-lang-dotnet=\"`C4`\" pulumi-lang-go=\"`c4`\" pulumi-lang-python=\"`c4`\" pulumi-lang-yaml=\"`c4`\" pulumi-lang-java=\"`c4`\"\u003e`c4`\u003c/span\u003e, `s2-medium`, \u003cspan pulumi-lang-nodejs=\"`m3`\" pulumi-lang-dotnet=\"`M3`\" pulumi-lang-go=\"`m3`\" pulumi-lang-python=\"`m3`\" pulumi-lang-yaml=\"`m3`\" pulumi-lang-java=\"`m3`\"\u003e`m3`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`c3`\" pulumi-lang-dotnet=\"`C3`\" pulumi-lang-go=\"`c3`\" pulumi-lang-python=\"`c3`\" pulumi-lang-yaml=\"`c3`\" pulumi-lang-java=\"`c3`\"\u003e`c3`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`s2`\" pulumi-lang-dotnet=\"`S2`\" pulumi-lang-go=\"`s2`\" pulumi-lang-python=\"`s2`\" pulumi-lang-yaml=\"`s2`\" pulumi-lang-java=\"`s2`\"\u003e`s2`\u003c/span\u003e.\n* in `eu-nl`: \u003cspan pulumi-lang-nodejs=\"`i3Pro`\" pulumi-lang-dotnet=\"`I3Pro`\" pulumi-lang-go=\"`i3Pro`\" pulumi-lang-python=\"`i3_pro`\" pulumi-lang-yaml=\"`i3Pro`\" pulumi-lang-java=\"`i3Pro`\"\u003e`i3_pro`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`i3`\" pulumi-lang-dotnet=\"`I3`\" pulumi-lang-go=\"`i3`\" pulumi-lang-python=\"`i3`\" pulumi-lang-yaml=\"`i3`\" pulumi-lang-java=\"`i3`\"\u003e`i3`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`m4`\" pulumi-lang-dotnet=\"`M4`\" pulumi-lang-go=\"`m4`\" pulumi-lang-python=\"`m4`\" pulumi-lang-yaml=\"`m4`\" pulumi-lang-java=\"`m4`\"\u003e`m4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`s3`\" pulumi-lang-dotnet=\"`S3`\" pulumi-lang-go=\"`s3`\" pulumi-lang-python=\"`s3`\" pulumi-lang-yaml=\"`s3`\" pulumi-lang-java=\"`s3`\"\u003e`s3`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`c4`\" pulumi-lang-dotnet=\"`C4`\" pulumi-lang-go=\"`c4`\" pulumi-lang-python=\"`c4`\" pulumi-lang-yaml=\"`c4`\" pulumi-lang-java=\"`c4`\"\u003e`c4`\u003c/span\u003e.\n* in `eu-ch2`: \u003cspan pulumi-lang-nodejs=\"`s3`\" pulumi-lang-dotnet=\"`S3`\" pulumi-lang-go=\"`s3`\" pulumi-lang-python=\"`s3`\" pulumi-lang-yaml=\"`s3`\" pulumi-lang-java=\"`s3`\"\u003e`s3`\u003c/span\u003e.\n"},"hostTypeName":{"type":"string","description":"The name of the Dedicated Host type.\n"},"instanceTotal":{"type":"number","description":"The number of the placed VMs.\n"},"instanceUuids":{"type":"array","items":{"type":"string"},"description":"The VMs started on the Dedicated Host.\n"},"memory":{"type":"number","description":"The size of host physical memory (MB).\n"},"name":{"type":"string","description":"The name of the Dedicated Host.\n"},"region":{"type":"string"},"sockets":{"type":"number","description":"The number of host physical sockets.\n"},"status":{"type":"string","description":"Specifies the Dedicated Host status.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags key/value pairs to associate with Host.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FDehHostV1Timeouts:DehHostV1Timeouts"},"vcpus":{"type":"number","description":"The number of host vCPUs.\n"}},"type":"object"}},"opentelekomcloud:index/directConnectV2:DirectConnectV2":{"description":"Up-to-date reference of API arguments for Direct Connect (DCaaS) you can get at\n[documentation portal](https://docs.otc.t-systems.com/direct-connect/api-ref/apis/connection/creating_a_connection.html)\n\n## Example usage\n\n-----------------\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst directConnect = new opentelekomcloud.DirectConnectV2(\"direct_connect\", {\n    name: \"direct_connect\",\n    bandwidth: 100,\n    location: \"location\",\n    providerName: \"provider_name\",\n    portType: \"port_type\",\n    adminStateUp: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ndirect_connect = opentelekomcloud.DirectConnectV2(\"direct_connect\",\n    name=\"direct_connect\",\n    bandwidth=100,\n    location=\"location\",\n    provider_name=\"provider_name\",\n    port_type=\"port_type\",\n    admin_state_up=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var directConnect = new Opentelekomcloud.DirectConnectV2(\"direct_connect\", new()\n    {\n        Name = \"direct_connect\",\n        Bandwidth = 100,\n        Location = \"location\",\n        ProviderName = \"provider_name\",\n        PortType = \"port_type\",\n        AdminStateUp = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewDirectConnectV2(ctx, \"direct_connect\", \u0026opentelekomcloud.DirectConnectV2Args{\n\t\t\tName:         pulumi.String(\"direct_connect\"),\n\t\t\tBandwidth:    pulumi.Float64(100),\n\t\t\tLocation:     pulumi.String(\"location\"),\n\t\t\tProviderName: pulumi.String(\"provider_name\"),\n\t\t\tPortType:     pulumi.String(\"port_type\"),\n\t\t\tAdminStateUp: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.DirectConnectV2;\nimport com.pulumi.opentelekomcloud.DirectConnectV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var directConnect = new DirectConnectV2(\"directConnect\", DirectConnectV2Args.builder()\n            .name(\"direct_connect\")\n            .bandwidth(100.0)\n            .location(\"location\")\n            .providerName(\"provider_name\")\n            .portType(\"port_type\")\n            .adminStateUp(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  directConnect:\n    type: opentelekomcloud:DirectConnectV2\n    name: direct_connect\n    properties:\n      name: direct_connect\n      bandwidth: 100\n      location: location\n      providerName: provider_name\n      portType: port_type\n      adminStateUp: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"adminStateUp":{"type":"boolean"},"applicant":{"type":"string","description":"(String) - This is a reserved field, which is not used currently.\n"},"applyTime":{"type":"string","description":"(String) - Specifies the time when the connection was requested.\n"},"bandwidth":{"type":"number"},"buildingLineProductId":{"type":"string","description":"(String) - This is a reserved field, which is not used currently.\n"},"cableLabel":{"type":"string","description":"(String) - This is a reserved field, which is not used currently.\n"},"chargeMode":{"type":"string"},"createTime":{"type":"string","description":"(String) - Specifies the time when the connection is created.\n"},"deleteTime":{"type":"string","description":"(String) - Specifies the time when the connection was deleted.\n"},"description":{"type":"string"},"deviceId":{"type":"string"},"email":{"type":"string","description":"(String) - This is a reserved field, which is not used currently.\n"},"hostingId":{"type":"string"},"interfaceName":{"type":"string"},"lagId":{"type":"string","description":"(String) - This is a reserved field, which is not used currently.\n"},"lastOnestopProductId":{"type":"string","description":"(String) - This is a reserved field, which is not used currently.\n"},"location":{"type":"string"},"mobile":{"type":"string","description":"(String) - This is a reserved field, which is not used currently.\n"},"name":{"type":"string"},"onestopProductId":{"type":"string","description":"(String) - This is a reserved field, which is not used currently.\n"},"orderId":{"type":"string"},"peerLocation":{"type":"string"},"peerPortType":{"type":"string","description":"(String) - This is a reserved field, which is not used currently.\n"},"peerProvider":{"type":"string","description":"(String) - This is a reserved field, which is not used currently.\n"},"periodNum":{"type":"number","description":"(Number) - This is a reserved field, which is not used currently.\n"},"periodType":{"type":"number","description":"(Number) - This is a reserved field, which is not used currently.\n"},"portType":{"type":"string"},"productId":{"type":"string"},"providerName":{"type":"string"},"providerStatus":{"type":"string"},"reason":{"type":"string","description":"(String) - This is a reserved field, which is not used currently.\n"},"redundantId":{"type":"string"},"regionId":{"type":"string","description":"(String) - Specifies the region ID.\n"},"serviceKey":{"type":"string","description":"(String) - This is a reserved field, which is not used currently.\n"},"specCode":{"type":"string","description":"(String) - This is a reserved field, which is not used currently.\n"},"status":{"type":"string"},"tenantId":{"type":"string"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FDirectConnectV2Timeouts:DirectConnectV2Timeouts"},"type":{"type":"string"},"vgwType":{"type":"string","description":"(String) - Specifies the type of the gateway. Currently, only the default type is supported.\n"},"vlan":{"type":"number"}},"type":"object","required":["adminStateUp","applicant","applyTime","bandwidth","buildingLineProductId","cableLabel","chargeMode","createTime","deleteTime","description","deviceId","email","hostingId","interfaceName","lagId","lastOnestopProductId","location","mobile","name","onestopProductId","orderId","peerLocation","peerPortType","peerProvider","periodNum","periodType","portType","productId","providerName","providerStatus","reason","redundantId","regionId","serviceKey","specCode","status","tenantId","type","vgwType","vlan"],"inputProperties":{"adminStateUp":{"type":"boolean"},"bandwidth":{"type":"number"},"chargeMode":{"type":"string"},"description":{"type":"string"},"deviceId":{"type":"string"},"hostingId":{"type":"string"},"interfaceName":{"type":"string"},"location":{"type":"string"},"name":{"type":"string"},"orderId":{"type":"string"},"peerLocation":{"type":"string"},"portType":{"type":"string"},"productId":{"type":"string"},"providerName":{"type":"string"},"providerStatus":{"type":"string"},"redundantId":{"type":"string"},"status":{"type":"string"},"tenantId":{"type":"string"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FDirectConnectV2Timeouts:DirectConnectV2Timeouts"},"type":{"type":"string"},"vlan":{"type":"number"}},"requiredInputs":["providerName"],"stateInputs":{"description":"Input properties used for looking up and filtering DirectConnectV2 resources.\n","properties":{"adminStateUp":{"type":"boolean"},"applicant":{"type":"string","description":"(String) - This is a reserved field, which is not used currently.\n"},"applyTime":{"type":"string","description":"(String) - Specifies the time when the connection was requested.\n"},"bandwidth":{"type":"number"},"buildingLineProductId":{"type":"string","description":"(String) - This is a reserved field, which is not used currently.\n"},"cableLabel":{"type":"string","description":"(String) - This is a reserved field, which is not used currently.\n"},"chargeMode":{"type":"string"},"createTime":{"type":"string","description":"(String) - Specifies the time when the connection is created.\n"},"deleteTime":{"type":"string","description":"(String) - Specifies the time when the connection was deleted.\n"},"description":{"type":"string"},"deviceId":{"type":"string"},"email":{"type":"string","description":"(String) - This is a reserved field, which is not used currently.\n"},"hostingId":{"type":"string"},"interfaceName":{"type":"string"},"lagId":{"type":"string","description":"(String) - This is a reserved field, which is not used currently.\n"},"lastOnestopProductId":{"type":"string","description":"(String) - This is a reserved field, which is not used currently.\n"},"location":{"type":"string"},"mobile":{"type":"string","description":"(String) - This is a reserved field, which is not used currently.\n"},"name":{"type":"string"},"onestopProductId":{"type":"string","description":"(String) - This is a reserved field, which is not used currently.\n"},"orderId":{"type":"string"},"peerLocation":{"type":"string"},"peerPortType":{"type":"string","description":"(String) - This is a reserved field, which is not used currently.\n"},"peerProvider":{"type":"string","description":"(String) - This is a reserved field, which is not used currently.\n"},"periodNum":{"type":"number","description":"(Number) - This is a reserved field, which is not used currently.\n"},"periodType":{"type":"number","description":"(Number) - This is a reserved field, which is not used currently.\n"},"portType":{"type":"string"},"productId":{"type":"string"},"providerName":{"type":"string"},"providerStatus":{"type":"string"},"reason":{"type":"string","description":"(String) - This is a reserved field, which is not used currently.\n"},"redundantId":{"type":"string"},"regionId":{"type":"string","description":"(String) - Specifies the region ID.\n"},"serviceKey":{"type":"string","description":"(String) - This is a reserved field, which is not used currently.\n"},"specCode":{"type":"string","description":"(String) - This is a reserved field, which is not used currently.\n"},"status":{"type":"string"},"tenantId":{"type":"string"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FDirectConnectV2Timeouts:DirectConnectV2Timeouts"},"type":{"type":"string"},"vgwType":{"type":"string","description":"(String) - Specifies the type of the gateway. Currently, only the default type is supported.\n"},"vlan":{"type":"number"}},"type":"object"}},"opentelekomcloud:index/dmsConsumerGroupV2:DmsConsumerGroupV2":{"description":"Up-to-date reference of API arguments for DMS instance management you can get at\n[documentation portal](https://docs.otc.t-systems.com/distributed-message-service/api-ref/apis_v2_recommended/instance_management/index.html)\n\nManage DMS consumer group v2 resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst instanceId = config.requireObject\u003cany\u003e(\"instanceId\");\nconst group1 = new opentelekomcloud.DmsConsumerGroupV2(\"group_1\", {\n    instanceId: instanceId,\n    groupName: \"dms_consumer_group\",\n    description: \"Sample consumer group\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ninstance_id = config.require_object(\"instanceId\")\ngroup1 = opentelekomcloud.DmsConsumerGroupV2(\"group_1\",\n    instance_id=instance_id,\n    group_name=\"dms_consumer_group\",\n    description=\"Sample consumer group\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var instanceId = config.RequireObject\u003cdynamic\u003e(\"instanceId\");\n    var group1 = new Opentelekomcloud.DmsConsumerGroupV2(\"group_1\", new()\n    {\n        InstanceId = instanceId,\n        GroupName = \"dms_consumer_group\",\n        Description = \"Sample consumer group\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tinstanceId := cfg.RequireObject(\"instanceId\")\n\t\t_, err := opentelekomcloud.NewDmsConsumerGroupV2(ctx, \"group_1\", \u0026opentelekomcloud.DmsConsumerGroupV2Args{\n\t\t\tInstanceId:  pulumi.Any(instanceId),\n\t\t\tGroupName:   pulumi.String(\"dms_consumer_group\"),\n\t\t\tDescription: pulumi.String(\"Sample consumer group\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.DmsConsumerGroupV2;\nimport com.pulumi.opentelekomcloud.DmsConsumerGroupV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var instanceId = config.get(\"instanceId\");\n        var group1 = new DmsConsumerGroupV2(\"group1\", DmsConsumerGroupV2Args.builder()\n            .instanceId(instanceId)\n            .groupName(\"dms_consumer_group\")\n            .description(\"Sample consumer group\")\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  instanceId:\n    type: dynamic\nresources:\n  group1:\n    type: opentelekomcloud:DmsConsumerGroupV2\n    name: group_1\n    properties:\n      instanceId: ${instanceId}\n      groupName: dms_consumer_group\n      description: Sample consumer group\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Notes\n\nBut due to some attributes missing from the API response, it's required to ignore changes as below:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst group1 = new opentelekomcloud.DmsConsumerGroupV2(\"group_1\", {});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ngroup1 = opentelekomcloud.DmsConsumerGroupV2(\"group_1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var group1 = new Opentelekomcloud.DmsConsumerGroupV2(\"group_1\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewDmsConsumerGroupV2(ctx, \"group_1\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.DmsConsumerGroupV2;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var group1 = new DmsConsumerGroupV2(\"group1\");\n\n    }\n}\n```\n```yaml\nresources:\n  group1:\n    type: opentelekomcloud:DmsConsumerGroupV2\n    name: group_1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDMS consumer groups can be imported using their `group_name` and related `instance_id`, separated by a slash, e.g.\n\nbash\n\n```sh\n$ pulumi import opentelekomcloud:index/dmsConsumerGroupV2:DmsConsumerGroupV2 test_group \u003cinstance_id\u003e/\u003cgroup_name\u003e\n```\n\n","properties":{"assignmentStrategy":{"type":"string","description":"Indicates the partition assignment policy.\n"},"coordinatorId":{"type":"number","description":"Indicates the coordinator ID.\n"},"description":{"type":"string","description":"Specifies any description for the DMS consumer group.\n\nChanging this parameter will create a new resource.\n"},"dmsConsumerGroupV2Id":{"type":"string"},"groupMessageOffsets":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FDmsConsumerGroupV2GroupMessageOffset:DmsConsumerGroupV2GroupMessageOffset"},"description":"Indicates the consumer offset. The structure is documented below.\n"},"groupName":{"type":"string","description":"Specifies the name of the DMS consumer group.\n\nChanging this parameter will create a new resource.\n"},"instanceId":{"type":"string","description":"Specifies the ID of the DMS instance.\n\nChanging this parameter will create a new resource.\n"},"members":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FDmsConsumerGroupV2Member:DmsConsumerGroupV2Member"},"description":"Indicates the consumer list. The structure is documented below.\n"},"region":{"type":"string"},"state":{"type":"string","description":"Indicates the Consumer group status. The value can be: \n* Dead: The consumer group has no members and no metadata.\n* Empty: The consumer group has metadata but has no members.\n* PreparingRebalance: The consumer group is to be rebalanced.\n* CompletingRebalance: All members have jointed the group.\n* Stable: Members in the consumer group can consume messages normally.\n"}},"type":"object","required":["assignmentStrategy","coordinatorId","dmsConsumerGroupV2Id","groupMessageOffsets","groupName","instanceId","members","region","state"],"inputProperties":{"description":{"type":"string","description":"Specifies any description for the DMS consumer group.\n\nChanging this parameter will create a new resource.\n"},"dmsConsumerGroupV2Id":{"type":"string"},"groupName":{"type":"string","description":"Specifies the name of the DMS consumer group.\n\nChanging this parameter will create a new resource.\n"},"instanceId":{"type":"string","description":"Specifies the ID of the DMS instance.\n\nChanging this parameter will create a new resource.\n"}},"requiredInputs":["groupName","instanceId"],"stateInputs":{"description":"Input properties used for looking up and filtering DmsConsumerGroupV2 resources.\n","properties":{"assignmentStrategy":{"type":"string","description":"Indicates the partition assignment policy.\n"},"coordinatorId":{"type":"number","description":"Indicates the coordinator ID.\n"},"description":{"type":"string","description":"Specifies any description for the DMS consumer group.\n\nChanging this parameter will create a new resource.\n"},"dmsConsumerGroupV2Id":{"type":"string"},"groupMessageOffsets":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FDmsConsumerGroupV2GroupMessageOffset:DmsConsumerGroupV2GroupMessageOffset"},"description":"Indicates the consumer offset. The structure is documented below.\n"},"groupName":{"type":"string","description":"Specifies the name of the DMS consumer group.\n\nChanging this parameter will create a new resource.\n"},"instanceId":{"type":"string","description":"Specifies the ID of the DMS instance.\n\nChanging this parameter will create a new resource.\n"},"members":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FDmsConsumerGroupV2Member:DmsConsumerGroupV2Member"},"description":"Indicates the consumer list. The structure is documented below.\n"},"region":{"type":"string"},"state":{"type":"string","description":"Indicates the Consumer group status. The value can be: \n* Dead: The consumer group has no members and no metadata.\n* Empty: The consumer group has metadata but has no members.\n* PreparingRebalance: The consumer group is to be rebalanced.\n* CompletingRebalance: All members have jointed the group.\n* Stable: Members in the consumer group can consume messages normally.\n"}},"type":"object"}},"opentelekomcloud:index/dmsDedicatedInstanceV2:DmsDedicatedInstanceV2":{"description":"Up-to-date reference of API arguments for DMS instance you can get at\n[documentation portal](https://docs.otc.t-systems.com/distributed-message-service/api-ref/apis_v2_recommended/lifecycle_management)\n\nManages a DMS instance in the OpenTelekomCloud DMS Service (Kafka Premium/Platinum).\n## Example Usage\n\n### Create a cluster Kafka instance\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst vpcId = config.requireObject\u003cany\u003e(\"vpcId\");\nconst subnetId = config.requireObject\u003cany\u003e(\"subnetId\");\nconst securityGroupId = config.requireObject\u003cany\u003e(\"securityGroupId\");\nconst accessPassword = config.requireObject\u003cany\u003e(\"accessPassword\");\nconst flavorId = config.get(\"flavorId\") || \"c6.2u4g.cluster\";\nconst storageSpecCode = config.get(\"storageSpecCode\") || \"dms.physical.storage.ultra.v2\";\nconst test = opentelekomcloud.getDmsFlavorV2({\n    type: \"cluster\",\n    flavorId: flavorId,\n    storageSpecCode: storageSpecCode,\n});\nconst testDmsDedicatedInstanceV2 = new opentelekomcloud.DmsDedicatedInstanceV2(\"test\", {\n    name: \"kafka_test\",\n    vpcId: vpcId,\n    networkId: subnetId,\n    securityGroupId: securityGroupId,\n    flavorId: test.then(test =\u003e test.flavorId),\n    storageSpecCode: test.then(test =\u003e test.flavors?.[0]?.ios?.[0]?.storageSpecCode),\n    availableZones: [az1.id],\n    engineVersion: \"2.7\",\n    storageSpace: 600,\n    brokerNum: 3,\n    sslEnable: true,\n    accessUser: \"user\",\n    password: accessPassword,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nvpc_id = config.require_object(\"vpcId\")\nsubnet_id = config.require_object(\"subnetId\")\nsecurity_group_id = config.require_object(\"securityGroupId\")\naccess_password = config.require_object(\"accessPassword\")\nflavor_id = config.get(\"flavorId\")\nif flavor_id is None:\n    flavor_id = \"c6.2u4g.cluster\"\nstorage_spec_code = config.get(\"storageSpecCode\")\nif storage_spec_code is None:\n    storage_spec_code = \"dms.physical.storage.ultra.v2\"\ntest = opentelekomcloud.get_dms_flavor_v2(type=\"cluster\",\n    flavor_id=flavor_id,\n    storage_spec_code=storage_spec_code)\ntest_dms_dedicated_instance_v2 = opentelekomcloud.DmsDedicatedInstanceV2(\"test\",\n    name=\"kafka_test\",\n    vpc_id=vpc_id,\n    network_id=subnet_id,\n    security_group_id=security_group_id,\n    flavor_id=test.flavor_id,\n    storage_spec_code=test.flavors[0].ios[0].storage_spec_code,\n    available_zones=[az1[\"id\"]],\n    engine_version=\"2.7\",\n    storage_space=600,\n    broker_num=3,\n    ssl_enable=True,\n    access_user=\"user\",\n    password=access_password)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var vpcId = config.RequireObject\u003cdynamic\u003e(\"vpcId\");\n    var subnetId = config.RequireObject\u003cdynamic\u003e(\"subnetId\");\n    var securityGroupId = config.RequireObject\u003cdynamic\u003e(\"securityGroupId\");\n    var accessPassword = config.RequireObject\u003cdynamic\u003e(\"accessPassword\");\n    var flavorId = config.Get(\"flavorId\") ?? \"c6.2u4g.cluster\";\n    var storageSpecCode = config.Get(\"storageSpecCode\") ?? \"dms.physical.storage.ultra.v2\";\n    var test = Opentelekomcloud.GetDmsFlavorV2.Invoke(new()\n    {\n        Type = \"cluster\",\n        FlavorId = flavorId,\n        StorageSpecCode = storageSpecCode,\n    });\n\n    var testDmsDedicatedInstanceV2 = new Opentelekomcloud.DmsDedicatedInstanceV2(\"test\", new()\n    {\n        Name = \"kafka_test\",\n        VpcId = vpcId,\n        NetworkId = subnetId,\n        SecurityGroupId = securityGroupId,\n        FlavorId = test.Apply(getDmsFlavorV2Result =\u003e getDmsFlavorV2Result.FlavorId),\n        StorageSpecCode = test.Apply(getDmsFlavorV2Result =\u003e getDmsFlavorV2Result.Flavors[0]?.Ios[0]?.StorageSpecCode),\n        AvailableZones = new[]\n        {\n            az1.Id,\n        },\n        EngineVersion = \"2.7\",\n        StorageSpace = 600,\n        BrokerNum = 3,\n        SslEnable = true,\n        AccessUser = \"user\",\n        Password = accessPassword,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tvpcId := cfg.RequireObject(\"vpcId\")\n\t\tsubnetId := cfg.RequireObject(\"subnetId\")\n\t\tsecurityGroupId := cfg.RequireObject(\"securityGroupId\")\n\t\taccessPassword := cfg.RequireObject(\"accessPassword\")\n\t\tflavorId := \"c6.2u4g.cluster\"\n\t\tif param := cfg.Get(\"flavorId\"); param != \"\" {\n\t\t\tflavorId = param\n\t\t}\n\t\tstorageSpecCode := \"dms.physical.storage.ultra.v2\"\n\t\tif param := cfg.Get(\"storageSpecCode\"); param != \"\" {\n\t\t\tstorageSpecCode = param\n\t\t}\n\t\ttest, err := opentelekomcloud.GetDmsFlavorV2(ctx, \u0026opentelekomcloud.GetDmsFlavorV2Args{\n\t\t\tType:            pulumi.StringRef(\"cluster\"),\n\t\t\tFlavorId:        pulumi.StringRef(flavorId),\n\t\t\tStorageSpecCode: pulumi.StringRef(storageSpecCode),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewDmsDedicatedInstanceV2(ctx, \"test\", \u0026opentelekomcloud.DmsDedicatedInstanceV2Args{\n\t\t\tName:            pulumi.String(\"kafka_test\"),\n\t\t\tVpcId:           pulumi.Any(vpcId),\n\t\t\tNetworkId:       pulumi.Any(subnetId),\n\t\t\tSecurityGroupId: pulumi.Any(securityGroupId),\n\t\t\tFlavorId:        pulumi.String(test.FlavorId),\n\t\t\tStorageSpecCode: pulumi.String(test.Flavors[0].Ios[0].StorageSpecCode),\n\t\t\tAvailableZones: pulumi.StringArray{\n\t\t\t\taz1.Id,\n\t\t\t},\n\t\t\tEngineVersion: pulumi.String(\"2.7\"),\n\t\t\tStorageSpace:  pulumi.Float64(600),\n\t\t\tBrokerNum:     pulumi.Float64(3),\n\t\t\tSslEnable:     pulumi.Bool(true),\n\t\t\tAccessUser:    pulumi.String(\"user\"),\n\t\t\tPassword:      pulumi.Any(accessPassword),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetDmsFlavorV2Args;\nimport com.pulumi.opentelekomcloud.DmsDedicatedInstanceV2;\nimport com.pulumi.opentelekomcloud.DmsDedicatedInstanceV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var vpcId = config.get(\"vpcId\");\n        final var subnetId = config.get(\"subnetId\");\n        final var securityGroupId = config.get(\"securityGroupId\");\n        final var accessPassword = config.get(\"accessPassword\");\n        final var flavorId = config.get(\"flavorId\").orElse(\"c6.2u4g.cluster\");\n        final var storageSpecCode = config.get(\"storageSpecCode\").orElse(\"dms.physical.storage.ultra.v2\");\n        final var test = OpentelekomcloudFunctions.getDmsFlavorV2(GetDmsFlavorV2Args.builder()\n            .type(\"cluster\")\n            .flavorId(flavorId)\n            .storageSpecCode(storageSpecCode)\n            .build());\n\n        var testDmsDedicatedInstanceV2 = new DmsDedicatedInstanceV2(\"testDmsDedicatedInstanceV2\", DmsDedicatedInstanceV2Args.builder()\n            .name(\"kafka_test\")\n            .vpcId(vpcId)\n            .networkId(subnetId)\n            .securityGroupId(securityGroupId)\n            .flavorId(test.flavorId())\n            .storageSpecCode(test.flavors()[0].ios()[0].storageSpecCode())\n            .availableZones(az1.id())\n            .engineVersion(\"2.7\")\n            .storageSpace(600.0)\n            .brokerNum(3.0)\n            .sslEnable(true)\n            .accessUser(\"user\")\n            .password(accessPassword)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  vpcId:\n    type: dynamic\n  subnetId:\n    type: dynamic\n  securityGroupId:\n    type: dynamic\n  accessPassword:\n    type: dynamic\n  flavorId:\n    type: string\n    default: c6.2u4g.cluster\n  storageSpecCode:\n    type: string\n    default: dms.physical.storage.ultra.v2\nresources:\n  testDmsDedicatedInstanceV2:\n    type: opentelekomcloud:DmsDedicatedInstanceV2\n    name: test\n    properties:\n      name: kafka_test\n      vpcId: ${vpcId}\n      networkId: ${subnetId}\n      securityGroupId: ${securityGroupId}\n      flavorId: ${test.flavorId}\n      storageSpecCode: ${test.flavors[0].ios[0].storageSpecCode}\n      availableZones:\n        - ${az1.id}\n      engineVersion: '2.7'\n      storageSpace: 600\n      brokerNum: 3\n      sslEnable: true\n      accessUser: user\n      password: ${accessPassword}\nvariables:\n  test:\n    fn::invoke:\n      function: opentelekomcloud:getDmsFlavorV2\n      arguments:\n        type: cluster\n        flavorId: ${flavorId}\n        storageSpecCode: ${storageSpecCode}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a single-node Kafka instance with floating ip\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst vpcId = config.requireObject\u003cany\u003e(\"vpcId\");\nconst subnetId = config.requireObject\u003cany\u003e(\"subnetId\");\nconst securityGroupId = config.requireObject\u003cany\u003e(\"securityGroupId\");\nconst accessPassword = config.requireObject\u003cany\u003e(\"accessPassword\");\nconst az1 = opentelekomcloud.getDmsAzV1({});\nconst test = opentelekomcloud.getDmsFlavorV2({\n    type: \"single\",\n    flavorId: \"s6.2u4g.single.small\",\n});\nconst flavor = test.then(test =\u003e test.flavors?.[0]);\nconst fip1 = new opentelekomcloud.NetworkingFloatingipV2(\"fip_1\", {});\nconst instance1 = new opentelekomcloud.DmsDedicatedInstanceV2(\"instance_1\", {\n    name: \"kafka-single-node\",\n    vpcId: vpcIp,\n    networkId: subnetId,\n    securityGroupId: securityGroupId,\n    flavorId: flavor.then(flavor =\u003e flavor?.id),\n    storageSpecCode: flavor.then(flavor =\u003e flavor?.ios?.[0]?.storageSpecCode),\n    availableZones: [az1.then(az1 =\u003e az1.id)],\n    engineVersion: \"2.7\",\n    storageSpace: 300,\n    brokerNum: 1,\n    sslEnable: true,\n    accessUser: \"user\",\n    password: accessPassword,\n    maintainBegin: \"02:00\",\n    maintainEnd: \"06:00\",\n    retentionPolicy: \"time_base\",\n    enablePublicip: true,\n    publicipIds: [fip1.networkingFloatingipV2Id],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nvpc_id = config.require_object(\"vpcId\")\nsubnet_id = config.require_object(\"subnetId\")\nsecurity_group_id = config.require_object(\"securityGroupId\")\naccess_password = config.require_object(\"accessPassword\")\naz1 = opentelekomcloud.get_dms_az_v1()\ntest = opentelekomcloud.get_dms_flavor_v2(type=\"single\",\n    flavor_id=\"s6.2u4g.single.small\")\nflavor = test.flavors[0]\nfip1 = opentelekomcloud.NetworkingFloatingipV2(\"fip_1\")\ninstance1 = opentelekomcloud.DmsDedicatedInstanceV2(\"instance_1\",\n    name=\"kafka-single-node\",\n    vpc_id=vpc_ip,\n    network_id=subnet_id,\n    security_group_id=security_group_id,\n    flavor_id=flavor.id,\n    storage_spec_code=flavor.ios[0].storage_spec_code,\n    available_zones=[az1.id],\n    engine_version=\"2.7\",\n    storage_space=300,\n    broker_num=1,\n    ssl_enable=True,\n    access_user=\"user\",\n    password=access_password,\n    maintain_begin=\"02:00\",\n    maintain_end=\"06:00\",\n    retention_policy=\"time_base\",\n    enable_publicip=True,\n    publicip_ids=[fip1.networking_floatingip_v2_id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var vpcId = config.RequireObject\u003cdynamic\u003e(\"vpcId\");\n    var subnetId = config.RequireObject\u003cdynamic\u003e(\"subnetId\");\n    var securityGroupId = config.RequireObject\u003cdynamic\u003e(\"securityGroupId\");\n    var accessPassword = config.RequireObject\u003cdynamic\u003e(\"accessPassword\");\n    var az1 = Opentelekomcloud.GetDmsAzV1.Invoke();\n\n    var test = Opentelekomcloud.GetDmsFlavorV2.Invoke(new()\n    {\n        Type = \"single\",\n        FlavorId = \"s6.2u4g.single.small\",\n    });\n\n    var flavor = test.Apply(getDmsFlavorV2Result =\u003e getDmsFlavorV2Result.Flavors[0]);\n\n    var fip1 = new Opentelekomcloud.NetworkingFloatingipV2(\"fip_1\");\n\n    var instance1 = new Opentelekomcloud.DmsDedicatedInstanceV2(\"instance_1\", new()\n    {\n        Name = \"kafka-single-node\",\n        VpcId = vpcIp,\n        NetworkId = subnetId,\n        SecurityGroupId = securityGroupId,\n        FlavorId = flavor.Apply(flavor =\u003e flavor?.Id),\n        StorageSpecCode = flavor.Apply(flavor =\u003e flavor?.Ios[0]?.StorageSpecCode),\n        AvailableZones = new[]\n        {\n            az1.Apply(getDmsAzV1Result =\u003e getDmsAzV1Result.Id),\n        },\n        EngineVersion = \"2.7\",\n        StorageSpace = 300,\n        BrokerNum = 1,\n        SslEnable = true,\n        AccessUser = \"user\",\n        Password = accessPassword,\n        MaintainBegin = \"02:00\",\n        MaintainEnd = \"06:00\",\n        RetentionPolicy = \"time_base\",\n        EnablePublicip = true,\n        PublicipIds = new[]\n        {\n            fip1.NetworkingFloatingipV2Id,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tvpcId := cfg.RequireObject(\"vpcId\")\n\t\tsubnetId := cfg.RequireObject(\"subnetId\")\n\t\tsecurityGroupId := cfg.RequireObject(\"securityGroupId\")\n\t\taccessPassword := cfg.RequireObject(\"accessPassword\")\n\t\taz1, err := opentelekomcloud.GetDmsAzV1(ctx, \u0026opentelekomcloud.GetDmsAzV1Args{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest, err := opentelekomcloud.GetDmsFlavorV2(ctx, \u0026opentelekomcloud.GetDmsFlavorV2Args{\n\t\t\tType:     pulumi.StringRef(\"single\"),\n\t\t\tFlavorId: pulumi.StringRef(\"s6.2u4g.single.small\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tflavor := test.Flavors[0]\n\t\tfip1, err := opentelekomcloud.NewNetworkingFloatingipV2(ctx, \"fip_1\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewDmsDedicatedInstanceV2(ctx, \"instance_1\", \u0026opentelekomcloud.DmsDedicatedInstanceV2Args{\n\t\t\tName:            pulumi.String(\"kafka-single-node\"),\n\t\t\tVpcId:           pulumi.Any(vpcIp),\n\t\t\tNetworkId:       pulumi.Any(subnetId),\n\t\t\tSecurityGroupId: pulumi.Any(securityGroupId),\n\t\t\tFlavorId:        pulumi.String(flavor.Id),\n\t\t\tStorageSpecCode: pulumi.String(flavor.Ios[0].StorageSpecCode),\n\t\t\tAvailableZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(az1.Id),\n\t\t\t},\n\t\t\tEngineVersion:   pulumi.String(\"2.7\"),\n\t\t\tStorageSpace:    pulumi.Float64(300),\n\t\t\tBrokerNum:       pulumi.Float64(1),\n\t\t\tSslEnable:       pulumi.Bool(true),\n\t\t\tAccessUser:      pulumi.String(\"user\"),\n\t\t\tPassword:        pulumi.Any(accessPassword),\n\t\t\tMaintainBegin:   pulumi.String(\"02:00\"),\n\t\t\tMaintainEnd:     pulumi.String(\"06:00\"),\n\t\t\tRetentionPolicy: pulumi.String(\"time_base\"),\n\t\t\tEnablePublicip:  pulumi.Bool(true),\n\t\t\tPublicipIds: pulumi.StringArray{\n\t\t\t\tfip1.NetworkingFloatingipV2Id,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetDmsAzV1Args;\nimport com.pulumi.opentelekomcloud.inputs.GetDmsFlavorV2Args;\nimport com.pulumi.opentelekomcloud.NetworkingFloatingipV2;\nimport com.pulumi.opentelekomcloud.DmsDedicatedInstanceV2;\nimport com.pulumi.opentelekomcloud.DmsDedicatedInstanceV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var vpcId = config.get(\"vpcId\");\n        final var subnetId = config.get(\"subnetId\");\n        final var securityGroupId = config.get(\"securityGroupId\");\n        final var accessPassword = config.get(\"accessPassword\");\n        final var az1 = OpentelekomcloudFunctions.getDmsAzV1(GetDmsAzV1Args.builder()\n            .build());\n\n        final var test = OpentelekomcloudFunctions.getDmsFlavorV2(GetDmsFlavorV2Args.builder()\n            .type(\"single\")\n            .flavorId(\"s6.2u4g.single.small\")\n            .build());\n\n        final var flavor = test.flavors()[0];\n\n        var fip1 = new NetworkingFloatingipV2(\"fip1\");\n\n        var instance1 = new DmsDedicatedInstanceV2(\"instance1\", DmsDedicatedInstanceV2Args.builder()\n            .name(\"kafka-single-node\")\n            .vpcId(vpcIp)\n            .networkId(subnetId)\n            .securityGroupId(securityGroupId)\n            .flavorId(flavor.id())\n            .storageSpecCode(flavor.ios()[0].storageSpecCode())\n            .availableZones(az1.id())\n            .engineVersion(\"2.7\")\n            .storageSpace(300.0)\n            .brokerNum(1.0)\n            .sslEnable(true)\n            .accessUser(\"user\")\n            .password(accessPassword)\n            .maintainBegin(\"02:00\")\n            .maintainEnd(\"06:00\")\n            .retentionPolicy(\"time_base\")\n            .enablePublicip(true)\n            .publicipIds(fip1.networkingFloatingipV2Id())\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  vpcId:\n    type: dynamic\n  subnetId:\n    type: dynamic\n  securityGroupId:\n    type: dynamic\n  accessPassword:\n    type: dynamic\nresources:\n  fip1:\n    type: opentelekomcloud:NetworkingFloatingipV2\n    name: fip_1\n  instance1:\n    type: opentelekomcloud:DmsDedicatedInstanceV2\n    name: instance_1\n    properties:\n      name: kafka-single-node\n      vpcId: ${vpcIp}\n      networkId: ${subnetId}\n      securityGroupId: ${securityGroupId}\n      flavorId: ${flavor.id}\n      storageSpecCode: ${flavor.ios[0].storageSpecCode}\n      availableZones:\n        - ${az1.id}\n      engineVersion: '2.7'\n      storageSpace: 300\n      brokerNum: 1\n      sslEnable: true\n      accessUser: user\n      password: ${accessPassword}\n      maintainBegin: 02:00\n      maintainEnd: 06:00\n      retentionPolicy: time_base\n      enablePublicip: true\n      publicipIds:\n        - ${fip1.networkingFloatingipV2Id}\nvariables:\n  az1:\n    fn::invoke:\n      function: opentelekomcloud:getDmsAzV1\n      arguments: {}\n  test:\n    fn::invoke:\n      function: opentelekomcloud:getDmsFlavorV2\n      arguments:\n        type: single\n        flavorId: s6.2u4g.single.small\n  flavor: ${test.flavors[0]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDMS Kafka instance can be imported using the instance id, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/dmsDedicatedInstanceV2:DmsDedicatedInstanceV2  opentelekomcloud_dms_dedicated_instance_v2.instance_1 8d3c7938-dc47-4937-a30f-c80de381c5e3\n```\n\nNote that the imported state may not be identical to your resource definition, due to some attributes missing from the\n\nAPI response, security or some other reason. The missing attributes include:\n\n`password`, `manager_password`, `public_ip_ids`, `security_protocol`, `enabled_mechanisms` and `arch_type`.\n\nIt is generally recommended running `pulumi preview` after importing\n\na DMS Kafka instance. You can then decide if changes should be applied to the instance, or the resource definition\n\nshould be updated to align with the instance. Also, you can ignore changes as below.\n\nhcl\n\nresource \"opentelekomcloud_dms_dedicated_instance_v2\" \"instance_1\" {\n\n  lifecycle {\n\n    ignore_changes = [\n\n      \"password\",\n\n      \"used_storage_space\",\n\n      \"cross_vpc_accesses\",\n\n      \"publicip_id\",\n\n    ]\n\n  }\n\n}\n\n","properties":{"accessUser":{"type":"string","description":"Specifies the username of SASL_SSL user. A username consists of 4\nto 64 characters and supports only letters, digits, and hyphens (-). Changing this creates a new instance resource.\n"},"archType":{"type":"string","description":"Specifies the CPU architecture. Valid value is **X86**.\nChanging this creates a new instance resource.\n"},"availableZones":{"type":"array","items":{"type":"string"},"description":"Indicates the ID of an AZ. The parameter value can not be\nleft blank or an empty array. For details, see section\n[Querying AZ Information](https://docs.otc.t-systems.com/distributed-message-service/api-ref/apis_v2_recommended/other_apis/listing_az_information.html#listavailablezones).\n"},"bandwidth":{"type":"string"},"brokerNum":{"type":"number","description":"Specifies the broker numbers.\n"},"certReplaced":{"type":"boolean","description":"Indicates whether the certificate can be replaced.\n"},"connectAddress":{"type":"string","description":"Indicates the IP address of the DMS Kafka instance.\n"},"connectorNodeNum":{"type":"number","description":"Indicates the number of connector node.\n"},"createdAt":{"type":"string","description":"Indicates the create time.\n"},"crossVpcAccesses":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FDmsDedicatedInstanceV2CrossVpcAccess:DmsDedicatedInstanceV2CrossVpcAccess"},"description":"Specifies the cross-VPC access information.\nThe object structure is documented below.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"dmsCrossVpcAccesses\"\" pulumi-lang-dotnet=\"\"DmsCrossVpcAccesses\"\" pulumi-lang-go=\"\"dmsCrossVpcAccesses\"\" pulumi-lang-python=\"\"dms_cross_vpc_accesses\"\" pulumi-lang-yaml=\"\"dmsCrossVpcAccesses\"\" pulumi-lang-java=\"\"dmsCrossVpcAccesses\"\"\u003e\"dms_cross_vpc_accesses\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`crossVpcAccesses`\" pulumi-lang-dotnet=\"`CrossVpcAccesses`\" pulumi-lang-go=\"`crossVpcAccesses`\" pulumi-lang-python=\"`cross_vpc_accesses`\" pulumi-lang-yaml=\"`crossVpcAccesses`\" pulumi-lang-java=\"`crossVpcAccesses`\"\u003e`cross_vpc_accesses`\u003c/span\u003e block supports:\n"},"description":{"type":"string","description":"Specifies the description of the DMS Kafka instance. It is a character string\ncontaining not more than 1,024 characters.\n"},"diskEncryptedEnable":{"type":"boolean","description":"Indicates whether to enable disk encryption.\n"},"diskEncryptedKey":{"type":"string","description":"Disk encryption key. If disk encryption is not enabled, this parameter is left blank.\n"},"dmsDedicatedInstanceV2Id":{"type":"string","description":"Specifies a resource ID in UUID format.\n"},"dumping":{"type":"boolean","description":"Whether message dumping(smart connect) is enabled.\n"},"enablePublicip":{"type":"boolean","description":"A list of IDs of the EIP bound to the instance.\nThis parameter is mandatory if \u003cspan pulumi-lang-nodejs=\"`enablePublicip`\" pulumi-lang-dotnet=\"`EnablePublicip`\" pulumi-lang-go=\"`enablePublicip`\" pulumi-lang-python=\"`enable_publicip`\" pulumi-lang-yaml=\"`enablePublicip`\" pulumi-lang-java=\"`enablePublicip`\"\u003e`enable_publicip`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"enabledMechanisms":{"type":"array","items":{"type":"string"},"description":"Specifies the authentication mechanisms to use after SASL is\nenabled. Value options:\n+ **PLAIN**: Simple username and password verification.\n+ **SCRAM-SHA-512**: User credential verification, which is more secure than **PLAIN**.\n\nDefaults to [**PLAIN**]. Changing this creates a new instance resource.\n"},"engine":{"type":"string","description":"Indicates the message engine.\n"},"engineVersion":{"type":"string","description":"Specifies the version of the Kafka engine,\nsuch as 2.3.0, 2.7 or other supported versions. Changing this creates a new instance resource.\n"},"flavorId":{"type":"string","description":"Specifies the Kafka [flavor ID](https://docs.otc.t-systems.com/distributed-message-service/api-ref/apis_v2_recommended/other_apis/querying_product_specifications_list.html#listengineproducts,\ne.g. **c6.2u4g.cluster**.\n"},"ipv6Enable":{"type":"boolean","description":"Specifies whether to enable IPv6. Defaults to **false**.\nChanging this creates a new instance resource.\n"},"maintainBegin":{"type":"string","description":"Specifies the time at which a maintenance time window starts. Format: HH:mm. The\nstart time and end time of a maintenance time window must indicate the time segment of a supported maintenance time\nwindow. The start time must be set to 22:00, 02:00, 06:00, 10:00, 14:00, or 18:00. Parameters \u003cspan pulumi-lang-nodejs=\"`maintainBegin`\" pulumi-lang-dotnet=\"`MaintainBegin`\" pulumi-lang-go=\"`maintainBegin`\" pulumi-lang-python=\"`maintain_begin`\" pulumi-lang-yaml=\"`maintainBegin`\" pulumi-lang-java=\"`maintainBegin`\"\u003e`maintain_begin`\u003c/span\u003e\nand \u003cspan pulumi-lang-nodejs=\"`maintainEnd`\" pulumi-lang-dotnet=\"`MaintainEnd`\" pulumi-lang-go=\"`maintainEnd`\" pulumi-lang-python=\"`maintain_end`\" pulumi-lang-yaml=\"`maintainEnd`\" pulumi-lang-java=\"`maintainEnd`\"\u003e`maintain_end`\u003c/span\u003e must be set in pairs. If parameter \u003cspan pulumi-lang-nodejs=\"`maintainBegin`\" pulumi-lang-dotnet=\"`MaintainBegin`\" pulumi-lang-go=\"`maintainBegin`\" pulumi-lang-python=\"`maintain_begin`\" pulumi-lang-yaml=\"`maintainBegin`\" pulumi-lang-java=\"`maintainBegin`\"\u003e`maintain_begin`\u003c/span\u003e is left blank, parameter \u003cspan pulumi-lang-nodejs=\"`maintainEnd`\" pulumi-lang-dotnet=\"`MaintainEnd`\" pulumi-lang-go=\"`maintainEnd`\" pulumi-lang-python=\"`maintain_end`\" pulumi-lang-yaml=\"`maintainEnd`\" pulumi-lang-java=\"`maintainEnd`\"\u003e`maintain_end`\u003c/span\u003e is also\nblank. In this case, the system automatically allocates the default start time 02:00.\n"},"maintainEnd":{"type":"string","description":"Specifies the time at which a maintenance time window ends. Format: HH:mm. The\nstart time and end time of a maintenance time window must indicate the time segment of a supported maintenance time\nwindow. The end time is four hours later than the start time. For example, if the start time is 22:00, the end time is\n02:00. Parameters \u003cspan pulumi-lang-nodejs=\"`maintainBegin`\" pulumi-lang-dotnet=\"`MaintainBegin`\" pulumi-lang-go=\"`maintainBegin`\" pulumi-lang-python=\"`maintain_begin`\" pulumi-lang-yaml=\"`maintainBegin`\" pulumi-lang-java=\"`maintainBegin`\"\u003e`maintain_begin`\u003c/span\u003e\nand \u003cspan pulumi-lang-nodejs=\"`maintainEnd`\" pulumi-lang-dotnet=\"`MaintainEnd`\" pulumi-lang-go=\"`maintainEnd`\" pulumi-lang-python=\"`maintain_end`\" pulumi-lang-yaml=\"`maintainEnd`\" pulumi-lang-java=\"`maintainEnd`\"\u003e`maintain_end`\u003c/span\u003e must be set in pairs. If parameter \u003cspan pulumi-lang-nodejs=\"`maintainEnd`\" pulumi-lang-dotnet=\"`MaintainEnd`\" pulumi-lang-go=\"`maintainEnd`\" pulumi-lang-python=\"`maintain_end`\" pulumi-lang-yaml=\"`maintainEnd`\" pulumi-lang-java=\"`maintainEnd`\"\u003e`maintain_end`\u003c/span\u003e is left blank, parameter\n\u003cspan pulumi-lang-nodejs=\"`maintainBegin`\" pulumi-lang-dotnet=\"`MaintainBegin`\" pulumi-lang-go=\"`maintainBegin`\" pulumi-lang-python=\"`maintain_begin`\" pulumi-lang-yaml=\"`maintainBegin`\" pulumi-lang-java=\"`maintainBegin`\"\u003e`maintain_begin`\u003c/span\u003e is also blank. In this case, the system automatically allocates the default end time 06:00.\n"},"name":{"type":"string","description":"Specifies the name of the DMS Kafka instance. An instance name starts with a letter,\nconsists of 4 to 64 characters, and supports only letters, digits, hyphens (-) and underscores (_).\n"},"networkId":{"type":"string","description":"Specifies the ID of a subnet. Changing this creates a new instance\nresource.\n"},"newTenantIps":{"type":"array","items":{"type":"string"},"description":"Specifies the IPv4 private IP addresses for the new brokers.\n\n\u003e The number of specified IP addresses must be less than or equal to the number of new brokers.\n"},"nodeNum":{"type":"number","description":"Indicates the node quantity.\n"},"partitionNum":{"type":"number","description":"Indicates the number of partitions in Kafka instance.\n"},"password":{"type":"string","description":"Specifies the password of SASL_SSL user. A password must meet the following\ncomplexity requirements: Must be 8 to 32 characters long. Must contain at least 2 of the following character types:\nlowercase letters, uppercase letters, digits, and special characters (`~!@#$%^\u0026*()-_=+\\\\|[{}]:'\",\u003c.\u003e/?).\n\n\u003e **NOTE:** \u003cspan pulumi-lang-nodejs=\"`accessUser`\" pulumi-lang-dotnet=\"`AccessUser`\" pulumi-lang-go=\"`accessUser`\" pulumi-lang-python=\"`access_user`\" pulumi-lang-yaml=\"`accessUser`\" pulumi-lang-java=\"`accessUser`\"\u003e`access_user`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\"\u003e`password`\u003c/span\u003e is mandatory and available when \u003cspan pulumi-lang-nodejs=\"`sslEnable`\" pulumi-lang-dotnet=\"`SslEnable`\" pulumi-lang-go=\"`sslEnable`\" pulumi-lang-python=\"`ssl_enable`\" pulumi-lang-yaml=\"`sslEnable`\" pulumi-lang-java=\"`sslEnable`\"\u003e`ssl_enable`\u003c/span\u003e is **true**.\n","secret":true},"podConnectAddress":{"type":"string","description":"Indicates the connection address on the tenant side.\n"},"port":{"type":"number","description":"The port number.\n"},"publicBandwidth":{"type":"number","description":"Indicates the public network access bandwidth.\n"},"publicIpAddress":{"type":"string","description":"Indicates the public IP addresses list of the instance.\n"},"publicipIds":{"type":"array","items":{"type":"string"}},"region":{"type":"string","description":"The region in which DMS Kafka instance is created.\n"},"resourceSpecCode":{"type":"string","description":"Indicates a resource specifications identifier.\n"},"retentionPolicy":{"type":"string","description":"Specifies the action to be taken when the memory usage reaches the disk\ncapacity threshold. The valid values are as follows:\n+ **time_base**: Automatically delete the earliest messages.\n+ **produce_reject**: Stop producing new messages.\n"},"securityGroupId":{"type":"string","description":"Specifies the ID of a security group.\n"},"securityProtocol":{"type":"string","description":"Specifies the protocol to use after SASL is enabled. Value options:\n+ **SASL_SSL**: Data is encrypted with SSL certificates for high-security transmission.\n+ **SASL_PLAINTEXT**: Data is transmitted in plaintext with username and password authentication. This protocol only\nuses the SCRAM-SHA-512 mechanism and delivers high performance.\n\nDefaults to **SASL_SSL**. Changing this creates a new instance resource.\n"},"sslEnable":{"type":"boolean","description":"Specifies whether the Kafka SASL_SSL is enabled.\nChanging this creates a new resource.\n"},"sslTwoWayEnable":{"type":"boolean","description":"Indicates whether to enable two-way authentication.\n"},"status":{"type":"string","description":"Indicates the status of the DMS Kafka instance.\n"},"storageResourceId":{"type":"string","description":"Indicates the storage resource ID.\n"},"storageSpace":{"type":"number","description":"Specifies the message storage capacity, the unit is GB.\nThe storage spaces corresponding to the product IDs are as follows:\n+ **c6.2u4g.cluster** (100MB bandwidth): \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e to `300,000` GB\n+ **c6.4u8g.cluster** (300MB bandwidth): \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e to `600,000` GB\n+ **c6.8u16g.cluster** (600MB bandwidth): \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e to `900,000` GB\n+ **c6.12u12g.cluster**: \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e to `900,000` GB\n+ **c6.16u32g.cluster** (1,200MB bandwidth): \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e to `900,000` GB\n"},"storageSpecCode":{"type":"string","description":"Specifies the storage I/O specification.\nThe valid values are as follows:\n+ **dms.physical.storage.high.v2**: Type of the disk that uses high I/O.\n+ **dms.physical.storage.ultra.v2**: Type of the disk that uses ultra-high I/O.\n"},"storageType":{"type":"string","description":"Indicates the storage type.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"The key/value pairs to associate with the DMS Kafka instance.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FDmsDedicatedInstanceV2Timeouts:DmsDedicatedInstanceV2Timeouts"},"type":{"type":"string","description":"Indicates the DMS Kafka instance type.\n"},"usedStorageSpace":{"type":"number","description":"Indicates the used message storage space. Unit: GB\n"},"userId":{"type":"string","description":"Indicates the ID of the user who created the DMS Kafka instance\n"},"userName":{"type":"string","description":"Indicates the name of the user who created the DMS Kafka instance\n"},"vpcId":{"type":"string","description":"Specifies the ID of a VPC. Changing this creates a new instance resource.\n"}},"type":"object","required":["availableZones","bandwidth","brokerNum","certReplaced","connectAddress","connectorNodeNum","createdAt","diskEncryptedEnable","diskEncryptedKey","dmsDedicatedInstanceV2Id","dumping","enablePublicip","engine","engineVersion","flavorId","ipv6Enable","maintainBegin","maintainEnd","name","networkId","nodeNum","partitionNum","podConnectAddress","port","publicBandwidth","publicIpAddress","region","resourceSpecCode","retentionPolicy","securityGroupId","sslEnable","sslTwoWayEnable","status","storageResourceId","storageSpace","storageSpecCode","storageType","type","usedStorageSpace","userId","userName","vpcId"],"inputProperties":{"accessUser":{"type":"string","description":"Specifies the username of SASL_SSL user. A username consists of 4\nto 64 characters and supports only letters, digits, and hyphens (-). Changing this creates a new instance resource.\n"},"archType":{"type":"string","description":"Specifies the CPU architecture. Valid value is **X86**.\nChanging this creates a new instance resource.\n"},"availableZones":{"type":"array","items":{"type":"string"},"description":"Indicates the ID of an AZ. The parameter value can not be\nleft blank or an empty array. For details, see section\n[Querying AZ Information](https://docs.otc.t-systems.com/distributed-message-service/api-ref/apis_v2_recommended/other_apis/listing_az_information.html#listavailablezones).\n"},"brokerNum":{"type":"number","description":"Specifies the broker numbers.\n"},"crossVpcAccesses":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FDmsDedicatedInstanceV2CrossVpcAccess:DmsDedicatedInstanceV2CrossVpcAccess"},"description":"Specifies the cross-VPC access information.\nThe object structure is documented below.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"dmsCrossVpcAccesses\"\" pulumi-lang-dotnet=\"\"DmsCrossVpcAccesses\"\" pulumi-lang-go=\"\"dmsCrossVpcAccesses\"\" pulumi-lang-python=\"\"dms_cross_vpc_accesses\"\" pulumi-lang-yaml=\"\"dmsCrossVpcAccesses\"\" pulumi-lang-java=\"\"dmsCrossVpcAccesses\"\"\u003e\"dms_cross_vpc_accesses\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`crossVpcAccesses`\" pulumi-lang-dotnet=\"`CrossVpcAccesses`\" pulumi-lang-go=\"`crossVpcAccesses`\" pulumi-lang-python=\"`cross_vpc_accesses`\" pulumi-lang-yaml=\"`crossVpcAccesses`\" pulumi-lang-java=\"`crossVpcAccesses`\"\u003e`cross_vpc_accesses`\u003c/span\u003e block supports:\n"},"description":{"type":"string","description":"Specifies the description of the DMS Kafka instance. It is a character string\ncontaining not more than 1,024 characters.\n"},"diskEncryptedEnable":{"type":"boolean","description":"Indicates whether to enable disk encryption.\n"},"diskEncryptedKey":{"type":"string","description":"Disk encryption key. If disk encryption is not enabled, this parameter is left blank.\n"},"dmsDedicatedInstanceV2Id":{"type":"string","description":"Specifies a resource ID in UUID format.\n"},"enablePublicip":{"type":"boolean","description":"A list of IDs of the EIP bound to the instance.\nThis parameter is mandatory if \u003cspan pulumi-lang-nodejs=\"`enablePublicip`\" pulumi-lang-dotnet=\"`EnablePublicip`\" pulumi-lang-go=\"`enablePublicip`\" pulumi-lang-python=\"`enable_publicip`\" pulumi-lang-yaml=\"`enablePublicip`\" pulumi-lang-java=\"`enablePublicip`\"\u003e`enable_publicip`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"enabledMechanisms":{"type":"array","items":{"type":"string"},"description":"Specifies the authentication mechanisms to use after SASL is\nenabled. Value options:\n+ **PLAIN**: Simple username and password verification.\n+ **SCRAM-SHA-512**: User credential verification, which is more secure than **PLAIN**.\n\nDefaults to [**PLAIN**]. Changing this creates a new instance resource.\n"},"engineVersion":{"type":"string","description":"Specifies the version of the Kafka engine,\nsuch as 2.3.0, 2.7 or other supported versions. Changing this creates a new instance resource.\n"},"flavorId":{"type":"string","description":"Specifies the Kafka [flavor ID](https://docs.otc.t-systems.com/distributed-message-service/api-ref/apis_v2_recommended/other_apis/querying_product_specifications_list.html#listengineproducts,\ne.g. **c6.2u4g.cluster**.\n"},"ipv6Enable":{"type":"boolean","description":"Specifies whether to enable IPv6. Defaults to **false**.\nChanging this creates a new instance resource.\n"},"maintainBegin":{"type":"string","description":"Specifies the time at which a maintenance time window starts. Format: HH:mm. The\nstart time and end time of a maintenance time window must indicate the time segment of a supported maintenance time\nwindow. The start time must be set to 22:00, 02:00, 06:00, 10:00, 14:00, or 18:00. Parameters \u003cspan pulumi-lang-nodejs=\"`maintainBegin`\" pulumi-lang-dotnet=\"`MaintainBegin`\" pulumi-lang-go=\"`maintainBegin`\" pulumi-lang-python=\"`maintain_begin`\" pulumi-lang-yaml=\"`maintainBegin`\" pulumi-lang-java=\"`maintainBegin`\"\u003e`maintain_begin`\u003c/span\u003e\nand \u003cspan pulumi-lang-nodejs=\"`maintainEnd`\" pulumi-lang-dotnet=\"`MaintainEnd`\" pulumi-lang-go=\"`maintainEnd`\" pulumi-lang-python=\"`maintain_end`\" pulumi-lang-yaml=\"`maintainEnd`\" pulumi-lang-java=\"`maintainEnd`\"\u003e`maintain_end`\u003c/span\u003e must be set in pairs. If parameter \u003cspan pulumi-lang-nodejs=\"`maintainBegin`\" pulumi-lang-dotnet=\"`MaintainBegin`\" pulumi-lang-go=\"`maintainBegin`\" pulumi-lang-python=\"`maintain_begin`\" pulumi-lang-yaml=\"`maintainBegin`\" pulumi-lang-java=\"`maintainBegin`\"\u003e`maintain_begin`\u003c/span\u003e is left blank, parameter \u003cspan pulumi-lang-nodejs=\"`maintainEnd`\" pulumi-lang-dotnet=\"`MaintainEnd`\" pulumi-lang-go=\"`maintainEnd`\" pulumi-lang-python=\"`maintain_end`\" pulumi-lang-yaml=\"`maintainEnd`\" pulumi-lang-java=\"`maintainEnd`\"\u003e`maintain_end`\u003c/span\u003e is also\nblank. In this case, the system automatically allocates the default start time 02:00.\n"},"maintainEnd":{"type":"string","description":"Specifies the time at which a maintenance time window ends. Format: HH:mm. The\nstart time and end time of a maintenance time window must indicate the time segment of a supported maintenance time\nwindow. The end time is four hours later than the start time. For example, if the start time is 22:00, the end time is\n02:00. Parameters \u003cspan pulumi-lang-nodejs=\"`maintainBegin`\" pulumi-lang-dotnet=\"`MaintainBegin`\" pulumi-lang-go=\"`maintainBegin`\" pulumi-lang-python=\"`maintain_begin`\" pulumi-lang-yaml=\"`maintainBegin`\" pulumi-lang-java=\"`maintainBegin`\"\u003e`maintain_begin`\u003c/span\u003e\nand \u003cspan pulumi-lang-nodejs=\"`maintainEnd`\" pulumi-lang-dotnet=\"`MaintainEnd`\" pulumi-lang-go=\"`maintainEnd`\" pulumi-lang-python=\"`maintain_end`\" pulumi-lang-yaml=\"`maintainEnd`\" pulumi-lang-java=\"`maintainEnd`\"\u003e`maintain_end`\u003c/span\u003e must be set in pairs. If parameter \u003cspan pulumi-lang-nodejs=\"`maintainEnd`\" pulumi-lang-dotnet=\"`MaintainEnd`\" pulumi-lang-go=\"`maintainEnd`\" pulumi-lang-python=\"`maintain_end`\" pulumi-lang-yaml=\"`maintainEnd`\" pulumi-lang-java=\"`maintainEnd`\"\u003e`maintain_end`\u003c/span\u003e is left blank, parameter\n\u003cspan pulumi-lang-nodejs=\"`maintainBegin`\" pulumi-lang-dotnet=\"`MaintainBegin`\" pulumi-lang-go=\"`maintainBegin`\" pulumi-lang-python=\"`maintain_begin`\" pulumi-lang-yaml=\"`maintainBegin`\" pulumi-lang-java=\"`maintainBegin`\"\u003e`maintain_begin`\u003c/span\u003e is also blank. In this case, the system automatically allocates the default end time 06:00.\n"},"name":{"type":"string","description":"Specifies the name of the DMS Kafka instance. An instance name starts with a letter,\nconsists of 4 to 64 characters, and supports only letters, digits, hyphens (-) and underscores (_).\n"},"networkId":{"type":"string","description":"Specifies the ID of a subnet. Changing this creates a new instance\nresource.\n"},"newTenantIps":{"type":"array","items":{"type":"string"},"description":"Specifies the IPv4 private IP addresses for the new brokers.\n\n\u003e The number of specified IP addresses must be less than or equal to the number of new brokers.\n"},"password":{"type":"string","description":"Specifies the password of SASL_SSL user. A password must meet the following\ncomplexity requirements: Must be 8 to 32 characters long. Must contain at least 2 of the following character types:\nlowercase letters, uppercase letters, digits, and special characters (`~!@#$%^\u0026*()-_=+\\\\|[{}]:'\",\u003c.\u003e/?).\n\n\u003e **NOTE:** \u003cspan pulumi-lang-nodejs=\"`accessUser`\" pulumi-lang-dotnet=\"`AccessUser`\" pulumi-lang-go=\"`accessUser`\" pulumi-lang-python=\"`access_user`\" pulumi-lang-yaml=\"`accessUser`\" pulumi-lang-java=\"`accessUser`\"\u003e`access_user`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\"\u003e`password`\u003c/span\u003e is mandatory and available when \u003cspan pulumi-lang-nodejs=\"`sslEnable`\" pulumi-lang-dotnet=\"`SslEnable`\" pulumi-lang-go=\"`sslEnable`\" pulumi-lang-python=\"`ssl_enable`\" pulumi-lang-yaml=\"`sslEnable`\" pulumi-lang-java=\"`sslEnable`\"\u003e`ssl_enable`\u003c/span\u003e is **true**.\n","secret":true},"publicipIds":{"type":"array","items":{"type":"string"}},"retentionPolicy":{"type":"string","description":"Specifies the action to be taken when the memory usage reaches the disk\ncapacity threshold. The valid values are as follows:\n+ **time_base**: Automatically delete the earliest messages.\n+ **produce_reject**: Stop producing new messages.\n"},"securityGroupId":{"type":"string","description":"Specifies the ID of a security group.\n"},"securityProtocol":{"type":"string","description":"Specifies the protocol to use after SASL is enabled. Value options:\n+ **SASL_SSL**: Data is encrypted with SSL certificates for high-security transmission.\n+ **SASL_PLAINTEXT**: Data is transmitted in plaintext with username and password authentication. This protocol only\nuses the SCRAM-SHA-512 mechanism and delivers high performance.\n\nDefaults to **SASL_SSL**. Changing this creates a new instance resource.\n"},"sslEnable":{"type":"boolean","description":"Specifies whether the Kafka SASL_SSL is enabled.\nChanging this creates a new resource.\n"},"storageSpace":{"type":"number","description":"Specifies the message storage capacity, the unit is GB.\nThe storage spaces corresponding to the product IDs are as follows:\n+ **c6.2u4g.cluster** (100MB bandwidth): \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e to `300,000` GB\n+ **c6.4u8g.cluster** (300MB bandwidth): \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e to `600,000` GB\n+ **c6.8u16g.cluster** (600MB bandwidth): \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e to `900,000` GB\n+ **c6.12u12g.cluster**: \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e to `900,000` GB\n+ **c6.16u32g.cluster** (1,200MB bandwidth): \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e to `900,000` GB\n"},"storageSpecCode":{"type":"string","description":"Specifies the storage I/O specification.\nThe valid values are as follows:\n+ **dms.physical.storage.high.v2**: Type of the disk that uses high I/O.\n+ **dms.physical.storage.ultra.v2**: Type of the disk that uses ultra-high I/O.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"The key/value pairs to associate with the DMS Kafka instance.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FDmsDedicatedInstanceV2Timeouts:DmsDedicatedInstanceV2Timeouts"},"vpcId":{"type":"string","description":"Specifies the ID of a VPC. Changing this creates a new instance resource.\n"}},"requiredInputs":["brokerNum","engineVersion","flavorId","networkId","securityGroupId","storageSpace","storageSpecCode","vpcId"],"stateInputs":{"description":"Input properties used for looking up and filtering DmsDedicatedInstanceV2 resources.\n","properties":{"accessUser":{"type":"string","description":"Specifies the username of SASL_SSL user. A username consists of 4\nto 64 characters and supports only letters, digits, and hyphens (-). Changing this creates a new instance resource.\n"},"archType":{"type":"string","description":"Specifies the CPU architecture. Valid value is **X86**.\nChanging this creates a new instance resource.\n"},"availableZones":{"type":"array","items":{"type":"string"},"description":"Indicates the ID of an AZ. The parameter value can not be\nleft blank or an empty array. For details, see section\n[Querying AZ Information](https://docs.otc.t-systems.com/distributed-message-service/api-ref/apis_v2_recommended/other_apis/listing_az_information.html#listavailablezones).\n"},"bandwidth":{"type":"string"},"brokerNum":{"type":"number","description":"Specifies the broker numbers.\n"},"certReplaced":{"type":"boolean","description":"Indicates whether the certificate can be replaced.\n"},"connectAddress":{"type":"string","description":"Indicates the IP address of the DMS Kafka instance.\n"},"connectorNodeNum":{"type":"number","description":"Indicates the number of connector node.\n"},"createdAt":{"type":"string","description":"Indicates the create time.\n"},"crossVpcAccesses":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FDmsDedicatedInstanceV2CrossVpcAccess:DmsDedicatedInstanceV2CrossVpcAccess"},"description":"Specifies the cross-VPC access information.\nThe object structure is documented below.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"dmsCrossVpcAccesses\"\" pulumi-lang-dotnet=\"\"DmsCrossVpcAccesses\"\" pulumi-lang-go=\"\"dmsCrossVpcAccesses\"\" pulumi-lang-python=\"\"dms_cross_vpc_accesses\"\" pulumi-lang-yaml=\"\"dmsCrossVpcAccesses\"\" pulumi-lang-java=\"\"dmsCrossVpcAccesses\"\"\u003e\"dms_cross_vpc_accesses\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`crossVpcAccesses`\" pulumi-lang-dotnet=\"`CrossVpcAccesses`\" pulumi-lang-go=\"`crossVpcAccesses`\" pulumi-lang-python=\"`cross_vpc_accesses`\" pulumi-lang-yaml=\"`crossVpcAccesses`\" pulumi-lang-java=\"`crossVpcAccesses`\"\u003e`cross_vpc_accesses`\u003c/span\u003e block supports:\n"},"description":{"type":"string","description":"Specifies the description of the DMS Kafka instance. It is a character string\ncontaining not more than 1,024 characters.\n"},"diskEncryptedEnable":{"type":"boolean","description":"Indicates whether to enable disk encryption.\n"},"diskEncryptedKey":{"type":"string","description":"Disk encryption key. If disk encryption is not enabled, this parameter is left blank.\n"},"dmsDedicatedInstanceV2Id":{"type":"string","description":"Specifies a resource ID in UUID format.\n"},"dumping":{"type":"boolean","description":"Whether message dumping(smart connect) is enabled.\n"},"enablePublicip":{"type":"boolean","description":"A list of IDs of the EIP bound to the instance.\nThis parameter is mandatory if \u003cspan pulumi-lang-nodejs=\"`enablePublicip`\" pulumi-lang-dotnet=\"`EnablePublicip`\" pulumi-lang-go=\"`enablePublicip`\" pulumi-lang-python=\"`enable_publicip`\" pulumi-lang-yaml=\"`enablePublicip`\" pulumi-lang-java=\"`enablePublicip`\"\u003e`enable_publicip`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"enabledMechanisms":{"type":"array","items":{"type":"string"},"description":"Specifies the authentication mechanisms to use after SASL is\nenabled. Value options:\n+ **PLAIN**: Simple username and password verification.\n+ **SCRAM-SHA-512**: User credential verification, which is more secure than **PLAIN**.\n\nDefaults to [**PLAIN**]. Changing this creates a new instance resource.\n"},"engine":{"type":"string","description":"Indicates the message engine.\n"},"engineVersion":{"type":"string","description":"Specifies the version of the Kafka engine,\nsuch as 2.3.0, 2.7 or other supported versions. Changing this creates a new instance resource.\n"},"flavorId":{"type":"string","description":"Specifies the Kafka [flavor ID](https://docs.otc.t-systems.com/distributed-message-service/api-ref/apis_v2_recommended/other_apis/querying_product_specifications_list.html#listengineproducts,\ne.g. **c6.2u4g.cluster**.\n"},"ipv6Enable":{"type":"boolean","description":"Specifies whether to enable IPv6. Defaults to **false**.\nChanging this creates a new instance resource.\n"},"maintainBegin":{"type":"string","description":"Specifies the time at which a maintenance time window starts. Format: HH:mm. The\nstart time and end time of a maintenance time window must indicate the time segment of a supported maintenance time\nwindow. The start time must be set to 22:00, 02:00, 06:00, 10:00, 14:00, or 18:00. Parameters \u003cspan pulumi-lang-nodejs=\"`maintainBegin`\" pulumi-lang-dotnet=\"`MaintainBegin`\" pulumi-lang-go=\"`maintainBegin`\" pulumi-lang-python=\"`maintain_begin`\" pulumi-lang-yaml=\"`maintainBegin`\" pulumi-lang-java=\"`maintainBegin`\"\u003e`maintain_begin`\u003c/span\u003e\nand \u003cspan pulumi-lang-nodejs=\"`maintainEnd`\" pulumi-lang-dotnet=\"`MaintainEnd`\" pulumi-lang-go=\"`maintainEnd`\" pulumi-lang-python=\"`maintain_end`\" pulumi-lang-yaml=\"`maintainEnd`\" pulumi-lang-java=\"`maintainEnd`\"\u003e`maintain_end`\u003c/span\u003e must be set in pairs. If parameter \u003cspan pulumi-lang-nodejs=\"`maintainBegin`\" pulumi-lang-dotnet=\"`MaintainBegin`\" pulumi-lang-go=\"`maintainBegin`\" pulumi-lang-python=\"`maintain_begin`\" pulumi-lang-yaml=\"`maintainBegin`\" pulumi-lang-java=\"`maintainBegin`\"\u003e`maintain_begin`\u003c/span\u003e is left blank, parameter \u003cspan pulumi-lang-nodejs=\"`maintainEnd`\" pulumi-lang-dotnet=\"`MaintainEnd`\" pulumi-lang-go=\"`maintainEnd`\" pulumi-lang-python=\"`maintain_end`\" pulumi-lang-yaml=\"`maintainEnd`\" pulumi-lang-java=\"`maintainEnd`\"\u003e`maintain_end`\u003c/span\u003e is also\nblank. In this case, the system automatically allocates the default start time 02:00.\n"},"maintainEnd":{"type":"string","description":"Specifies the time at which a maintenance time window ends. Format: HH:mm. The\nstart time and end time of a maintenance time window must indicate the time segment of a supported maintenance time\nwindow. The end time is four hours later than the start time. For example, if the start time is 22:00, the end time is\n02:00. Parameters \u003cspan pulumi-lang-nodejs=\"`maintainBegin`\" pulumi-lang-dotnet=\"`MaintainBegin`\" pulumi-lang-go=\"`maintainBegin`\" pulumi-lang-python=\"`maintain_begin`\" pulumi-lang-yaml=\"`maintainBegin`\" pulumi-lang-java=\"`maintainBegin`\"\u003e`maintain_begin`\u003c/span\u003e\nand \u003cspan pulumi-lang-nodejs=\"`maintainEnd`\" pulumi-lang-dotnet=\"`MaintainEnd`\" pulumi-lang-go=\"`maintainEnd`\" pulumi-lang-python=\"`maintain_end`\" pulumi-lang-yaml=\"`maintainEnd`\" pulumi-lang-java=\"`maintainEnd`\"\u003e`maintain_end`\u003c/span\u003e must be set in pairs. If parameter \u003cspan pulumi-lang-nodejs=\"`maintainEnd`\" pulumi-lang-dotnet=\"`MaintainEnd`\" pulumi-lang-go=\"`maintainEnd`\" pulumi-lang-python=\"`maintain_end`\" pulumi-lang-yaml=\"`maintainEnd`\" pulumi-lang-java=\"`maintainEnd`\"\u003e`maintain_end`\u003c/span\u003e is left blank, parameter\n\u003cspan pulumi-lang-nodejs=\"`maintainBegin`\" pulumi-lang-dotnet=\"`MaintainBegin`\" pulumi-lang-go=\"`maintainBegin`\" pulumi-lang-python=\"`maintain_begin`\" pulumi-lang-yaml=\"`maintainBegin`\" pulumi-lang-java=\"`maintainBegin`\"\u003e`maintain_begin`\u003c/span\u003e is also blank. In this case, the system automatically allocates the default end time 06:00.\n"},"name":{"type":"string","description":"Specifies the name of the DMS Kafka instance. An instance name starts with a letter,\nconsists of 4 to 64 characters, and supports only letters, digits, hyphens (-) and underscores (_).\n"},"networkId":{"type":"string","description":"Specifies the ID of a subnet. Changing this creates a new instance\nresource.\n"},"newTenantIps":{"type":"array","items":{"type":"string"},"description":"Specifies the IPv4 private IP addresses for the new brokers.\n\n\u003e The number of specified IP addresses must be less than or equal to the number of new brokers.\n"},"nodeNum":{"type":"number","description":"Indicates the node quantity.\n"},"partitionNum":{"type":"number","description":"Indicates the number of partitions in Kafka instance.\n"},"password":{"type":"string","description":"Specifies the password of SASL_SSL user. A password must meet the following\ncomplexity requirements: Must be 8 to 32 characters long. Must contain at least 2 of the following character types:\nlowercase letters, uppercase letters, digits, and special characters (`~!@#$%^\u0026*()-_=+\\\\|[{}]:'\",\u003c.\u003e/?).\n\n\u003e **NOTE:** \u003cspan pulumi-lang-nodejs=\"`accessUser`\" pulumi-lang-dotnet=\"`AccessUser`\" pulumi-lang-go=\"`accessUser`\" pulumi-lang-python=\"`access_user`\" pulumi-lang-yaml=\"`accessUser`\" pulumi-lang-java=\"`accessUser`\"\u003e`access_user`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\"\u003e`password`\u003c/span\u003e is mandatory and available when \u003cspan pulumi-lang-nodejs=\"`sslEnable`\" pulumi-lang-dotnet=\"`SslEnable`\" pulumi-lang-go=\"`sslEnable`\" pulumi-lang-python=\"`ssl_enable`\" pulumi-lang-yaml=\"`sslEnable`\" pulumi-lang-java=\"`sslEnable`\"\u003e`ssl_enable`\u003c/span\u003e is **true**.\n","secret":true},"podConnectAddress":{"type":"string","description":"Indicates the connection address on the tenant side.\n"},"port":{"type":"number","description":"The port number.\n"},"publicBandwidth":{"type":"number","description":"Indicates the public network access bandwidth.\n"},"publicIpAddress":{"type":"string","description":"Indicates the public IP addresses list of the instance.\n"},"publicipIds":{"type":"array","items":{"type":"string"}},"region":{"type":"string","description":"The region in which DMS Kafka instance is created.\n"},"resourceSpecCode":{"type":"string","description":"Indicates a resource specifications identifier.\n"},"retentionPolicy":{"type":"string","description":"Specifies the action to be taken when the memory usage reaches the disk\ncapacity threshold. The valid values are as follows:\n+ **time_base**: Automatically delete the earliest messages.\n+ **produce_reject**: Stop producing new messages.\n"},"securityGroupId":{"type":"string","description":"Specifies the ID of a security group.\n"},"securityProtocol":{"type":"string","description":"Specifies the protocol to use after SASL is enabled. Value options:\n+ **SASL_SSL**: Data is encrypted with SSL certificates for high-security transmission.\n+ **SASL_PLAINTEXT**: Data is transmitted in plaintext with username and password authentication. This protocol only\nuses the SCRAM-SHA-512 mechanism and delivers high performance.\n\nDefaults to **SASL_SSL**. Changing this creates a new instance resource.\n"},"sslEnable":{"type":"boolean","description":"Specifies whether the Kafka SASL_SSL is enabled.\nChanging this creates a new resource.\n"},"sslTwoWayEnable":{"type":"boolean","description":"Indicates whether to enable two-way authentication.\n"},"status":{"type":"string","description":"Indicates the status of the DMS Kafka instance.\n"},"storageResourceId":{"type":"string","description":"Indicates the storage resource ID.\n"},"storageSpace":{"type":"number","description":"Specifies the message storage capacity, the unit is GB.\nThe storage spaces corresponding to the product IDs are as follows:\n+ **c6.2u4g.cluster** (100MB bandwidth): \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e to `300,000` GB\n+ **c6.4u8g.cluster** (300MB bandwidth): \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e to `600,000` GB\n+ **c6.8u16g.cluster** (600MB bandwidth): \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e to `900,000` GB\n+ **c6.12u12g.cluster**: \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e to `900,000` GB\n+ **c6.16u32g.cluster** (1,200MB bandwidth): \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e to `900,000` GB\n"},"storageSpecCode":{"type":"string","description":"Specifies the storage I/O specification.\nThe valid values are as follows:\n+ **dms.physical.storage.high.v2**: Type of the disk that uses high I/O.\n+ **dms.physical.storage.ultra.v2**: Type of the disk that uses ultra-high I/O.\n"},"storageType":{"type":"string","description":"Indicates the storage type.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"The key/value pairs to associate with the DMS Kafka instance.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FDmsDedicatedInstanceV2Timeouts:DmsDedicatedInstanceV2Timeouts"},"type":{"type":"string","description":"Indicates the DMS Kafka instance type.\n"},"usedStorageSpace":{"type":"number","description":"Indicates the used message storage space. Unit: GB\n"},"userId":{"type":"string","description":"Indicates the ID of the user who created the DMS Kafka instance\n"},"userName":{"type":"string","description":"Indicates the name of the user who created the DMS Kafka instance\n"},"vpcId":{"type":"string","description":"Specifies the ID of a VPC. Changing this creates a new instance resource.\n"}},"type":"object"}},"opentelekomcloud:index/dmsInstanceV1:DmsInstanceV1":{"description":"Up-to-date reference of API arguments for DMS instance you can get at\n[documentation portal](https://docs.otc.t-systems.com/distributed-message-service/api-ref/out-of-date_apis/api_v1/apis_for_managing_instances)\n\nManages a DMS instance in the OpenTelekomCloud DMS Service (Kafka Premium/Platinum).\n\n## Example Usage\n\n### Automatically detect the correct network\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst secgroup1 = new opentelekomcloud.NetworkingSecgroupV2(\"secgroup_1\", {\n    name: \"secgroup_1\",\n    description: \"secgroup_1\",\n});\nconst az1 = opentelekomcloud.getDmsAzV1({\n    name: \"eu-de-01\",\n});\nconst product1 = opentelekomcloud.getDmsProductV1({\n    engine: \"kafka\",\n    version: \"2.3.0\",\n    instanceType: \"cluster\",\n    partitionNum: \"300\",\n    storage: \"600\",\n    storageSpecCode: \"dms.physical.storage.high\",\n});\nconst instance1 = new opentelekomcloud.DmsInstanceV1(\"instance_1\", {\n    name: \"kafka-test\",\n    engine: \"kafka\",\n    productId: product1.then(product1 =\u003e product1.id),\n    engineVersion: product1.then(product1 =\u003e product1.version),\n    specification: product1.then(product1 =\u003e product1.bandwidth),\n    partitionNum: product1.then(product1 =\u003e product1.partitionNum),\n    storageSpecCode: product1.then(product1 =\u003e product1.storageSpecCode),\n    storageSpace: product1.then(product1 =\u003e product1.storage),\n    availableZones: [az1.then(az1 =\u003e az1.id)],\n    securityGroupId: secgroup1.networkingSecgroupV2Id,\n    vpcId: vpcId,\n    subnetId: subnetId,\n    accessUser: accessUser,\n    password: password,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nsecgroup1 = opentelekomcloud.NetworkingSecgroupV2(\"secgroup_1\",\n    name=\"secgroup_1\",\n    description=\"secgroup_1\")\naz1 = opentelekomcloud.get_dms_az_v1(name=\"eu-de-01\")\nproduct1 = opentelekomcloud.get_dms_product_v1(engine=\"kafka\",\n    version=\"2.3.0\",\n    instance_type=\"cluster\",\n    partition_num=\"300\",\n    storage=\"600\",\n    storage_spec_code=\"dms.physical.storage.high\")\ninstance1 = opentelekomcloud.DmsInstanceV1(\"instance_1\",\n    name=\"kafka-test\",\n    engine=\"kafka\",\n    product_id=product1.id,\n    engine_version=product1.version,\n    specification=product1.bandwidth,\n    partition_num=product1.partition_num,\n    storage_spec_code=product1.storage_spec_code,\n    storage_space=product1.storage,\n    available_zones=[az1.id],\n    security_group_id=secgroup1.networking_secgroup_v2_id,\n    vpc_id=vpc_id,\n    subnet_id=subnet_id,\n    access_user=access_user,\n    password=password)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var secgroup1 = new Opentelekomcloud.NetworkingSecgroupV2(\"secgroup_1\", new()\n    {\n        Name = \"secgroup_1\",\n        Description = \"secgroup_1\",\n    });\n\n    var az1 = Opentelekomcloud.GetDmsAzV1.Invoke(new()\n    {\n        Name = \"eu-de-01\",\n    });\n\n    var product1 = Opentelekomcloud.GetDmsProductV1.Invoke(new()\n    {\n        Engine = \"kafka\",\n        Version = \"2.3.0\",\n        InstanceType = \"cluster\",\n        PartitionNum = \"300\",\n        Storage = \"600\",\n        StorageSpecCode = \"dms.physical.storage.high\",\n    });\n\n    var instance1 = new Opentelekomcloud.DmsInstanceV1(\"instance_1\", new()\n    {\n        Name = \"kafka-test\",\n        Engine = \"kafka\",\n        ProductId = product1.Apply(getDmsProductV1Result =\u003e getDmsProductV1Result.Id),\n        EngineVersion = product1.Apply(getDmsProductV1Result =\u003e getDmsProductV1Result.Version),\n        Specification = product1.Apply(getDmsProductV1Result =\u003e getDmsProductV1Result.Bandwidth),\n        PartitionNum = product1.Apply(getDmsProductV1Result =\u003e getDmsProductV1Result.PartitionNum),\n        StorageSpecCode = product1.Apply(getDmsProductV1Result =\u003e getDmsProductV1Result.StorageSpecCode),\n        StorageSpace = product1.Apply(getDmsProductV1Result =\u003e getDmsProductV1Result.Storage),\n        AvailableZones = new[]\n        {\n            az1.Apply(getDmsAzV1Result =\u003e getDmsAzV1Result.Id),\n        },\n        SecurityGroupId = secgroup1.NetworkingSecgroupV2Id,\n        VpcId = vpcId,\n        SubnetId = subnetId,\n        AccessUser = accessUser,\n        Password = password,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsecgroup1, err := opentelekomcloud.NewNetworkingSecgroupV2(ctx, \"secgroup_1\", \u0026opentelekomcloud.NetworkingSecgroupV2Args{\n\t\t\tName:        pulumi.String(\"secgroup_1\"),\n\t\t\tDescription: pulumi.String(\"secgroup_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\taz1, err := opentelekomcloud.GetDmsAzV1(ctx, \u0026opentelekomcloud.GetDmsAzV1Args{\n\t\t\tName: pulumi.StringRef(\"eu-de-01\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tproduct1, err := opentelekomcloud.GetDmsProductV1(ctx, \u0026opentelekomcloud.GetDmsProductV1Args{\n\t\t\tEngine:          \"kafka\",\n\t\t\tVersion:         pulumi.StringRef(\"2.3.0\"),\n\t\t\tInstanceType:    \"cluster\",\n\t\t\tPartitionNum:    pulumi.StringRef(\"300\"),\n\t\t\tStorage:         pulumi.StringRef(\"600\"),\n\t\t\tStorageSpecCode: pulumi.StringRef(\"dms.physical.storage.high\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewDmsInstanceV1(ctx, \"instance_1\", \u0026opentelekomcloud.DmsInstanceV1Args{\n\t\t\tName:            pulumi.String(\"kafka-test\"),\n\t\t\tEngine:          pulumi.String(\"kafka\"),\n\t\t\tProductId:       pulumi.String(product1.Id),\n\t\t\tEngineVersion:   pulumi.String(product1.Version),\n\t\t\tSpecification:   pulumi.String(product1.Bandwidth),\n\t\t\tPartitionNum:    pulumi.String(product1.PartitionNum),\n\t\t\tStorageSpecCode: pulumi.String(product1.StorageSpecCode),\n\t\t\tStorageSpace:    pulumi.String(product1.Storage),\n\t\t\tAvailableZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(az1.Id),\n\t\t\t},\n\t\t\tSecurityGroupId: secgroup1.NetworkingSecgroupV2Id,\n\t\t\tVpcId:           pulumi.Any(vpcId),\n\t\t\tSubnetId:        pulumi.Any(subnetId),\n\t\t\tAccessUser:      pulumi.Any(accessUser),\n\t\t\tPassword:        pulumi.Any(password),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.NetworkingSecgroupV2;\nimport com.pulumi.opentelekomcloud.NetworkingSecgroupV2Args;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetDmsAzV1Args;\nimport com.pulumi.opentelekomcloud.inputs.GetDmsProductV1Args;\nimport com.pulumi.opentelekomcloud.DmsInstanceV1;\nimport com.pulumi.opentelekomcloud.DmsInstanceV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var secgroup1 = new NetworkingSecgroupV2(\"secgroup1\", NetworkingSecgroupV2Args.builder()\n            .name(\"secgroup_1\")\n            .description(\"secgroup_1\")\n            .build());\n\n        final var az1 = OpentelekomcloudFunctions.getDmsAzV1(GetDmsAzV1Args.builder()\n            .name(\"eu-de-01\")\n            .build());\n\n        final var product1 = OpentelekomcloudFunctions.getDmsProductV1(GetDmsProductV1Args.builder()\n            .engine(\"kafka\")\n            .version(\"2.3.0\")\n            .instanceType(\"cluster\")\n            .partitionNum(\"300\")\n            .storage(\"600\")\n            .storageSpecCode(\"dms.physical.storage.high\")\n            .build());\n\n        var instance1 = new DmsInstanceV1(\"instance1\", DmsInstanceV1Args.builder()\n            .name(\"kafka-test\")\n            .engine(\"kafka\")\n            .productId(product1.id())\n            .engineVersion(product1.version())\n            .specification(product1.bandwidth())\n            .partitionNum(product1.partitionNum())\n            .storageSpecCode(product1.storageSpecCode())\n            .storageSpace(product1.storage())\n            .availableZones(az1.id())\n            .securityGroupId(secgroup1.networkingSecgroupV2Id())\n            .vpcId(vpcId)\n            .subnetId(subnetId)\n            .accessUser(accessUser)\n            .password(password)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  secgroup1:\n    type: opentelekomcloud:NetworkingSecgroupV2\n    name: secgroup_1\n    properties:\n      name: secgroup_1\n      description: secgroup_1\n  instance1:\n    type: opentelekomcloud:DmsInstanceV1\n    name: instance_1\n    properties:\n      name: kafka-test\n      engine: kafka\n      productId: ${product1.id}\n      engineVersion: ${product1.version}\n      specification: ${product1.bandwidth}\n      partitionNum: ${product1.partitionNum}\n      storageSpecCode: ${product1.storageSpecCode}\n      storageSpace: ${product1.storage}\n      availableZones:\n        - ${az1.id}\n      securityGroupId: ${secgroup1.networkingSecgroupV2Id}\n      vpcId: ${vpcId}\n      subnetId: ${subnetId}\n      accessUser: ${accessUser}\n      password: ${password}\nvariables:\n  az1:\n    fn::invoke:\n      function: opentelekomcloud:getDmsAzV1\n      arguments:\n        name: eu-de-01\n  product1:\n    fn::invoke:\n      function: opentelekomcloud:getDmsProductV1\n      arguments:\n        engine: kafka\n        version: 2.3.0\n        instanceType: cluster\n        partitionNum: 300\n        storage: 600\n        storageSpecCode: dms.physical.storage.high\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"accessUser":{"type":"string","description":"Indicates a username. A username consists of 4 to 64 characters\nand supports only letters, digits, and hyphens (-).\n"},"availableZones":{"type":"array","items":{"type":"string"},"description":"Indicates the ID of an AZ. The parameter value can not be\nleft blank or an empty array. For details, see section\n[Querying AZ Information](https://docs.otc.t-systems.com/en-us/api/dms/dms-api-180514008.html).\n"},"connectAddress":{"type":"string","description":"Indicates the IP address of an instance.\n"},"createdAt":{"type":"string","description":"Indicates the time when an instance is created. The time is in the format\nof timestamp, that is, the offset milliseconds from 1970-01-01 00:00:00 UTC to the specified time.\n"},"description":{"type":"string","description":"Indicates the description of an instance. It is a character\nstring containing not more than 1024 characters.\n"},"dmsInstanceV1Id":{"type":"string"},"engine":{"type":"string","description":"Indicates a message engine. Only \u003cspan pulumi-lang-nodejs=\"`kafka`\" pulumi-lang-dotnet=\"`Kafka`\" pulumi-lang-go=\"`kafka`\" pulumi-lang-python=\"`kafka`\" pulumi-lang-yaml=\"`kafka`\" pulumi-lang-java=\"`kafka`\"\u003e`kafka`\u003c/span\u003e is supported now.\n"},"engineVersion":{"type":"string","description":"Indicates the version of a message engine.\nOnly `2.3.0` is supported now.\n"},"maintainBegin":{"type":"string","description":"Indicates the time at which a maintenance time window starts.\nFormat: `HH:mm`.\n* The start time and end time of a maintenance time window must indicate the time segment of\na supported maintenance time window.\n* The start time must be set to `22:00`, `02:00`, `06:00`, `10:00`, `14:00`, or `18:00`.\n* Parameters \u003cspan pulumi-lang-nodejs=\"`maintainBegin`\" pulumi-lang-dotnet=\"`MaintainBegin`\" pulumi-lang-go=\"`maintainBegin`\" pulumi-lang-python=\"`maintain_begin`\" pulumi-lang-yaml=\"`maintainBegin`\" pulumi-lang-java=\"`maintainBegin`\"\u003e`maintain_begin`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`maintainEnd`\" pulumi-lang-dotnet=\"`MaintainEnd`\" pulumi-lang-go=\"`maintainEnd`\" pulumi-lang-python=\"`maintain_end`\" pulumi-lang-yaml=\"`maintainEnd`\" pulumi-lang-java=\"`maintainEnd`\"\u003e`maintain_end`\u003c/span\u003e must be set in pairs. If parameter \u003cspan pulumi-lang-nodejs=\"`maintainBegin`\" pulumi-lang-dotnet=\"`MaintainBegin`\" pulumi-lang-go=\"`maintainBegin`\" pulumi-lang-python=\"`maintain_begin`\" pulumi-lang-yaml=\"`maintainBegin`\" pulumi-lang-java=\"`maintainBegin`\"\u003e`maintain_begin`\u003c/span\u003e\nis left blank, parameter \u003cspan pulumi-lang-nodejs=\"`maintainEnd`\" pulumi-lang-dotnet=\"`MaintainEnd`\" pulumi-lang-go=\"`maintainEnd`\" pulumi-lang-python=\"`maintain_end`\" pulumi-lang-yaml=\"`maintainEnd`\" pulumi-lang-java=\"`maintainEnd`\"\u003e`maintain_end`\u003c/span\u003e is also blank. In this case, the system automatically\nallocates the default start time `02:00`.\n"},"maintainEnd":{"type":"string","description":"Indicates the time at which a maintenance time window ends.\nFormat: `HH:mm`.\n* The start time and end time of a maintenance time window must indicate the time segment of\na supported maintenance time window.\n* The end time is four hours later than the start time. For example, if the start time is `22:00`,\nthe end time is `02:00`.\n* Parameters \u003cspan pulumi-lang-nodejs=\"`maintainBegin`\" pulumi-lang-dotnet=\"`MaintainBegin`\" pulumi-lang-go=\"`maintainBegin`\" pulumi-lang-python=\"`maintain_begin`\" pulumi-lang-yaml=\"`maintainBegin`\" pulumi-lang-java=\"`maintainBegin`\"\u003e`maintain_begin`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`maintainEnd`\" pulumi-lang-dotnet=\"`MaintainEnd`\" pulumi-lang-go=\"`maintainEnd`\" pulumi-lang-python=\"`maintain_end`\" pulumi-lang-yaml=\"`maintainEnd`\" pulumi-lang-java=\"`maintainEnd`\"\u003e`maintain_end`\u003c/span\u003e must be set in pairs. If parameter \u003cspan pulumi-lang-nodejs=\"`maintainEnd`\" pulumi-lang-dotnet=\"`MaintainEnd`\" pulumi-lang-go=\"`maintainEnd`\" pulumi-lang-python=\"`maintain_end`\" pulumi-lang-yaml=\"`maintainEnd`\" pulumi-lang-java=\"`maintainEnd`\"\u003e`maintain_end`\u003c/span\u003e is left\nblank, parameter \u003cspan pulumi-lang-nodejs=\"`maintainBegin`\" pulumi-lang-dotnet=\"`MaintainBegin`\" pulumi-lang-go=\"`maintainBegin`\" pulumi-lang-python=\"`maintain_begin`\" pulumi-lang-yaml=\"`maintainBegin`\" pulumi-lang-java=\"`maintainBegin`\"\u003e`maintain_begin`\u003c/span\u003e is also blank. In this case, the system automatically allocates\nthe default end time `06:00`.\n"},"name":{"type":"string","description":"Indicates the name of an instance. An instance name starts with a letter,\nconsists of 4 to 64 characters, and supports only letters, digits, and hyphens (-).\n"},"orderId":{"type":"string"},"partitionNum":{"type":"number","description":"This parameter is mandatory when a \u003cspan pulumi-lang-nodejs=\"`kafka`\" pulumi-lang-dotnet=\"`Kafka`\" pulumi-lang-go=\"`kafka`\" pulumi-lang-python=\"`kafka`\" pulumi-lang-yaml=\"`kafka`\" pulumi-lang-java=\"`kafka`\"\u003e`kafka`\u003c/span\u003e instance is created.\nIndicates the maximum number of topics in a Kafka instance.\n* When \u003cspan pulumi-lang-nodejs=\"`specification`\" pulumi-lang-dotnet=\"`Specification`\" pulumi-lang-go=\"`specification`\" pulumi-lang-python=\"`specification`\" pulumi-lang-yaml=\"`specification`\" pulumi-lang-java=\"`specification`\"\u003e`specification`\u003c/span\u003e is `100MB`: \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e\n* When \u003cspan pulumi-lang-nodejs=\"`specification`\" pulumi-lang-dotnet=\"`Specification`\" pulumi-lang-go=\"`specification`\" pulumi-lang-python=\"`specification`\" pulumi-lang-yaml=\"`specification`\" pulumi-lang-java=\"`specification`\"\u003e`specification`\u003c/span\u003e is `300MB`: \u003cspan pulumi-lang-nodejs=\"`900`\" pulumi-lang-dotnet=\"`900`\" pulumi-lang-go=\"`900`\" pulumi-lang-python=\"`900`\" pulumi-lang-yaml=\"`900`\" pulumi-lang-java=\"`900`\"\u003e`900`\u003c/span\u003e\n* When \u003cspan pulumi-lang-nodejs=\"`specification`\" pulumi-lang-dotnet=\"`Specification`\" pulumi-lang-go=\"`specification`\" pulumi-lang-python=\"`specification`\" pulumi-lang-yaml=\"`specification`\" pulumi-lang-java=\"`specification`\"\u003e`specification`\u003c/span\u003e is `600MB`: \u003cspan pulumi-lang-nodejs=\"`1800`\" pulumi-lang-dotnet=\"`1800`\" pulumi-lang-go=\"`1800`\" pulumi-lang-python=\"`1800`\" pulumi-lang-yaml=\"`1800`\" pulumi-lang-java=\"`1800`\"\u003e`1800`\u003c/span\u003e\n* When \u003cspan pulumi-lang-nodejs=\"`specification`\" pulumi-lang-dotnet=\"`Specification`\" pulumi-lang-go=\"`specification`\" pulumi-lang-python=\"`specification`\" pulumi-lang-yaml=\"`specification`\" pulumi-lang-java=\"`specification`\"\u003e`specification`\u003c/span\u003e is `1200MB`: \u003cspan pulumi-lang-nodejs=\"`1800`\" pulumi-lang-dotnet=\"`1800`\" pulumi-lang-go=\"`1800`\" pulumi-lang-python=\"`1800`\" pulumi-lang-yaml=\"`1800`\" pulumi-lang-java=\"`1800`\"\u003e`1800`\u003c/span\u003e\n"},"password":{"type":"string","description":"Indicates the password of an instance. An instance password\nmust meet the following complexity requirements: Must be 8 to 32 characters long.\nMust contain at least 2 of the following character types: lowercase letters, uppercase\nletters, digits, and special characters (`~!@#$%^\u0026*()-_=+\\|[{}]:'\",\u003c.\u003e/?`).\n","secret":true},"port":{"type":"number","description":"Indicates the port number of an instance.\n"},"productId":{"type":"string","description":"Indicates a product ID.\n"},"resourceSpecCode":{"type":"string","description":"Indicates a resource specifications identifier.\n"},"retentionPolicy":{"type":"string","description":"Indicates the action to be taken when the memory usage reaches\nthe disk capacity threshold. The possible values are:\n"},"securityGroupId":{"type":"string","description":"Indicates the ID of a security group.\n"},"securityGroupName":{"type":"string","description":"Indicates the name of a security group.\n"},"specification":{"type":"string","description":"This parameter is mandatory if the engine is \u003cspan pulumi-lang-nodejs=\"`kafka`\" pulumi-lang-dotnet=\"`Kafka`\" pulumi-lang-go=\"`kafka`\" pulumi-lang-python=\"`kafka`\" pulumi-lang-yaml=\"`kafka`\" pulumi-lang-java=\"`kafka`\"\u003e`kafka`\u003c/span\u003e.\nIndicates the baseline bandwidth of a Kafka instance, that is, the maximum amount\nof data transferred per unit time. Unit: `byte/s`. Options: `100MB`, `300MB`,\n`600MB`, `1200MB`.\n"},"status":{"type":"string","description":"Indicates the status of an instance. For details, see section Instance Status.\n"},"storageSpace":{"type":"number","description":"Indicates the message storage space. Value range:\n* Kafka instance with \u003cspan pulumi-lang-nodejs=\"`specification`\" pulumi-lang-dotnet=\"`Specification`\" pulumi-lang-go=\"`specification`\" pulumi-lang-python=\"`specification`\" pulumi-lang-yaml=\"`specification`\" pulumi-lang-java=\"`specification`\"\u003e`specification`\u003c/span\u003e being `100MB`: \u003cspan pulumi-lang-nodejs=\"`600`\" pulumi-lang-dotnet=\"`600`\" pulumi-lang-go=\"`600`\" pulumi-lang-python=\"`600`\" pulumi-lang-yaml=\"`600`\" pulumi-lang-java=\"`600`\"\u003e`600`\u003c/span\u003e–\u003cspan pulumi-lang-nodejs=\"`90000`\" pulumi-lang-dotnet=\"`90000`\" pulumi-lang-go=\"`90000`\" pulumi-lang-python=\"`90000`\" pulumi-lang-yaml=\"`90000`\" pulumi-lang-java=\"`90000`\"\u003e`90000`\u003c/span\u003e GB\n* Kafka instance with \u003cspan pulumi-lang-nodejs=\"`specification`\" pulumi-lang-dotnet=\"`Specification`\" pulumi-lang-go=\"`specification`\" pulumi-lang-python=\"`specification`\" pulumi-lang-yaml=\"`specification`\" pulumi-lang-java=\"`specification`\"\u003e`specification`\u003c/span\u003e being `300MB`: \u003cspan pulumi-lang-nodejs=\"`1200`\" pulumi-lang-dotnet=\"`1200`\" pulumi-lang-go=\"`1200`\" pulumi-lang-python=\"`1200`\" pulumi-lang-yaml=\"`1200`\" pulumi-lang-java=\"`1200`\"\u003e`1200`\u003c/span\u003e–\u003cspan pulumi-lang-nodejs=\"`90000`\" pulumi-lang-dotnet=\"`90000`\" pulumi-lang-go=\"`90000`\" pulumi-lang-python=\"`90000`\" pulumi-lang-yaml=\"`90000`\" pulumi-lang-java=\"`90000`\"\u003e`90000`\u003c/span\u003e GB\n* Kafka instance with \u003cspan pulumi-lang-nodejs=\"`specification`\" pulumi-lang-dotnet=\"`Specification`\" pulumi-lang-go=\"`specification`\" pulumi-lang-python=\"`specification`\" pulumi-lang-yaml=\"`specification`\" pulumi-lang-java=\"`specification`\"\u003e`specification`\u003c/span\u003e being `600MB`: \u003cspan pulumi-lang-nodejs=\"`2400`\" pulumi-lang-dotnet=\"`2400`\" pulumi-lang-go=\"`2400`\" pulumi-lang-python=\"`2400`\" pulumi-lang-yaml=\"`2400`\" pulumi-lang-java=\"`2400`\"\u003e`2400`\u003c/span\u003e–\u003cspan pulumi-lang-nodejs=\"`90000`\" pulumi-lang-dotnet=\"`90000`\" pulumi-lang-go=\"`90000`\" pulumi-lang-python=\"`90000`\" pulumi-lang-yaml=\"`90000`\" pulumi-lang-java=\"`90000`\"\u003e`90000`\u003c/span\u003e GB\n* Kafka instance with \u003cspan pulumi-lang-nodejs=\"`specification`\" pulumi-lang-dotnet=\"`Specification`\" pulumi-lang-go=\"`specification`\" pulumi-lang-python=\"`specification`\" pulumi-lang-yaml=\"`specification`\" pulumi-lang-java=\"`specification`\"\u003e`specification`\u003c/span\u003e being `1200MB`: \u003cspan pulumi-lang-nodejs=\"`4800`\" pulumi-lang-dotnet=\"`4800`\" pulumi-lang-go=\"`4800`\" pulumi-lang-python=\"`4800`\" pulumi-lang-yaml=\"`4800`\" pulumi-lang-java=\"`4800`\"\u003e`4800`\u003c/span\u003e–\u003cspan pulumi-lang-nodejs=\"`90000`\" pulumi-lang-dotnet=\"`90000`\" pulumi-lang-go=\"`90000`\" pulumi-lang-python=\"`90000`\" pulumi-lang-yaml=\"`90000`\" pulumi-lang-java=\"`90000`\"\u003e`90000`\u003c/span\u003e GB\n"},"storageSpecCode":{"type":"string","description":"Indicates the storage I/O specification. Options for a Kafka instance:\n* When \u003cspan pulumi-lang-nodejs=\"`specification`\" pulumi-lang-dotnet=\"`Specification`\" pulumi-lang-go=\"`specification`\" pulumi-lang-python=\"`specification`\" pulumi-lang-yaml=\"`specification`\" pulumi-lang-java=\"`specification`\"\u003e`specification`\u003c/span\u003e is `100MB`: `dms.physical.storage.high` or `dms.physical.storage.ultra`\n* When \u003cspan pulumi-lang-nodejs=\"`specification`\" pulumi-lang-dotnet=\"`Specification`\" pulumi-lang-go=\"`specification`\" pulumi-lang-python=\"`specification`\" pulumi-lang-yaml=\"`specification`\" pulumi-lang-java=\"`specification`\"\u003e`specification`\u003c/span\u003e is `300MB`: `dms.physical.storage.high` or `dms.physical.storage.ultra`\n* When \u003cspan pulumi-lang-nodejs=\"`specification`\" pulumi-lang-dotnet=\"`Specification`\" pulumi-lang-go=\"`specification`\" pulumi-lang-python=\"`specification`\" pulumi-lang-yaml=\"`specification`\" pulumi-lang-java=\"`specification`\"\u003e`specification`\u003c/span\u003e is `600MB`: `dms.physical.storage.ultra`\n* When \u003cspan pulumi-lang-nodejs=\"`specification`\" pulumi-lang-dotnet=\"`Specification`\" pulumi-lang-go=\"`specification`\" pulumi-lang-python=\"`specification`\" pulumi-lang-yaml=\"`specification`\" pulumi-lang-java=\"`specification`\"\u003e`specification`\u003c/span\u003e is `1200MB`: `dms.physical.storage.ultra`\n"},"subnetId":{"type":"string","description":"Indicates the ID of the subnet (OpenStack network ID).\n"},"subnetName":{"type":"string","description":"Indicates the name of a subnet.\n"},"type":{"type":"string","description":"Indicates an instance type. Options: \u003cspan pulumi-lang-nodejs=\"`single`\" pulumi-lang-dotnet=\"`Single`\" pulumi-lang-go=\"`single`\" pulumi-lang-python=\"`single`\" pulumi-lang-yaml=\"`single`\" pulumi-lang-java=\"`single`\"\u003e`single`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`cluster`\" pulumi-lang-dotnet=\"`Cluster`\" pulumi-lang-go=\"`cluster`\" pulumi-lang-python=\"`cluster`\" pulumi-lang-yaml=\"`cluster`\" pulumi-lang-java=\"`cluster`\"\u003e`cluster`\u003c/span\u003e.\n"},"usedStorageSpace":{"type":"number","description":"Indicates the used message storage space. Unit: GB\n"},"userId":{"type":"string","description":"Indicates a user ID.\n"},"userName":{"type":"string","description":"Indicates a username.\n"},"vpcId":{"type":"string","description":"Indicates the ID of a VPC (OpenStack router ID).\n"},"vpcName":{"type":"string"}},"type":"object","required":["availableZones","connectAddress","createdAt","dmsInstanceV1Id","engine","engineVersion","maintainBegin","maintainEnd","name","orderId","port","productId","resourceSpecCode","retentionPolicy","securityGroupId","securityGroupName","specification","status","storageSpace","storageSpecCode","subnetId","subnetName","type","usedStorageSpace","userId","userName","vpcId","vpcName"],"inputProperties":{"accessUser":{"type":"string","description":"Indicates a username. A username consists of 4 to 64 characters\nand supports only letters, digits, and hyphens (-).\n"},"availableZones":{"type":"array","items":{"type":"string"},"description":"Indicates the ID of an AZ. The parameter value can not be\nleft blank or an empty array. For details, see section\n[Querying AZ Information](https://docs.otc.t-systems.com/en-us/api/dms/dms-api-180514008.html).\n"},"description":{"type":"string","description":"Indicates the description of an instance. It is a character\nstring containing not more than 1024 characters.\n"},"dmsInstanceV1Id":{"type":"string"},"engine":{"type":"string","description":"Indicates a message engine. Only \u003cspan pulumi-lang-nodejs=\"`kafka`\" pulumi-lang-dotnet=\"`Kafka`\" pulumi-lang-go=\"`kafka`\" pulumi-lang-python=\"`kafka`\" pulumi-lang-yaml=\"`kafka`\" pulumi-lang-java=\"`kafka`\"\u003e`kafka`\u003c/span\u003e is supported now.\n"},"engineVersion":{"type":"string","description":"Indicates the version of a message engine.\nOnly `2.3.0` is supported now.\n"},"maintainBegin":{"type":"string","description":"Indicates the time at which a maintenance time window starts.\nFormat: `HH:mm`.\n* The start time and end time of a maintenance time window must indicate the time segment of\na supported maintenance time window.\n* The start time must be set to `22:00`, `02:00`, `06:00`, `10:00`, `14:00`, or `18:00`.\n* Parameters \u003cspan pulumi-lang-nodejs=\"`maintainBegin`\" pulumi-lang-dotnet=\"`MaintainBegin`\" pulumi-lang-go=\"`maintainBegin`\" pulumi-lang-python=\"`maintain_begin`\" pulumi-lang-yaml=\"`maintainBegin`\" pulumi-lang-java=\"`maintainBegin`\"\u003e`maintain_begin`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`maintainEnd`\" pulumi-lang-dotnet=\"`MaintainEnd`\" pulumi-lang-go=\"`maintainEnd`\" pulumi-lang-python=\"`maintain_end`\" pulumi-lang-yaml=\"`maintainEnd`\" pulumi-lang-java=\"`maintainEnd`\"\u003e`maintain_end`\u003c/span\u003e must be set in pairs. If parameter \u003cspan pulumi-lang-nodejs=\"`maintainBegin`\" pulumi-lang-dotnet=\"`MaintainBegin`\" pulumi-lang-go=\"`maintainBegin`\" pulumi-lang-python=\"`maintain_begin`\" pulumi-lang-yaml=\"`maintainBegin`\" pulumi-lang-java=\"`maintainBegin`\"\u003e`maintain_begin`\u003c/span\u003e\nis left blank, parameter \u003cspan pulumi-lang-nodejs=\"`maintainEnd`\" pulumi-lang-dotnet=\"`MaintainEnd`\" pulumi-lang-go=\"`maintainEnd`\" pulumi-lang-python=\"`maintain_end`\" pulumi-lang-yaml=\"`maintainEnd`\" pulumi-lang-java=\"`maintainEnd`\"\u003e`maintain_end`\u003c/span\u003e is also blank. In this case, the system automatically\nallocates the default start time `02:00`.\n"},"maintainEnd":{"type":"string","description":"Indicates the time at which a maintenance time window ends.\nFormat: `HH:mm`.\n* The start time and end time of a maintenance time window must indicate the time segment of\na supported maintenance time window.\n* The end time is four hours later than the start time. For example, if the start time is `22:00`,\nthe end time is `02:00`.\n* Parameters \u003cspan pulumi-lang-nodejs=\"`maintainBegin`\" pulumi-lang-dotnet=\"`MaintainBegin`\" pulumi-lang-go=\"`maintainBegin`\" pulumi-lang-python=\"`maintain_begin`\" pulumi-lang-yaml=\"`maintainBegin`\" pulumi-lang-java=\"`maintainBegin`\"\u003e`maintain_begin`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`maintainEnd`\" pulumi-lang-dotnet=\"`MaintainEnd`\" pulumi-lang-go=\"`maintainEnd`\" pulumi-lang-python=\"`maintain_end`\" pulumi-lang-yaml=\"`maintainEnd`\" pulumi-lang-java=\"`maintainEnd`\"\u003e`maintain_end`\u003c/span\u003e must be set in pairs. If parameter \u003cspan pulumi-lang-nodejs=\"`maintainEnd`\" pulumi-lang-dotnet=\"`MaintainEnd`\" pulumi-lang-go=\"`maintainEnd`\" pulumi-lang-python=\"`maintain_end`\" pulumi-lang-yaml=\"`maintainEnd`\" pulumi-lang-java=\"`maintainEnd`\"\u003e`maintain_end`\u003c/span\u003e is left\nblank, parameter \u003cspan pulumi-lang-nodejs=\"`maintainBegin`\" pulumi-lang-dotnet=\"`MaintainBegin`\" pulumi-lang-go=\"`maintainBegin`\" pulumi-lang-python=\"`maintain_begin`\" pulumi-lang-yaml=\"`maintainBegin`\" pulumi-lang-java=\"`maintainBegin`\"\u003e`maintain_begin`\u003c/span\u003e is also blank. In this case, the system automatically allocates\nthe default end time `06:00`.\n"},"name":{"type":"string","description":"Indicates the name of an instance. An instance name starts with a letter,\nconsists of 4 to 64 characters, and supports only letters, digits, and hyphens (-).\n"},"partitionNum":{"type":"number","description":"This parameter is mandatory when a \u003cspan pulumi-lang-nodejs=\"`kafka`\" pulumi-lang-dotnet=\"`Kafka`\" pulumi-lang-go=\"`kafka`\" pulumi-lang-python=\"`kafka`\" pulumi-lang-yaml=\"`kafka`\" pulumi-lang-java=\"`kafka`\"\u003e`kafka`\u003c/span\u003e instance is created.\nIndicates the maximum number of topics in a Kafka instance.\n* When \u003cspan pulumi-lang-nodejs=\"`specification`\" pulumi-lang-dotnet=\"`Specification`\" pulumi-lang-go=\"`specification`\" pulumi-lang-python=\"`specification`\" pulumi-lang-yaml=\"`specification`\" pulumi-lang-java=\"`specification`\"\u003e`specification`\u003c/span\u003e is `100MB`: \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e\n* When \u003cspan pulumi-lang-nodejs=\"`specification`\" pulumi-lang-dotnet=\"`Specification`\" pulumi-lang-go=\"`specification`\" pulumi-lang-python=\"`specification`\" pulumi-lang-yaml=\"`specification`\" pulumi-lang-java=\"`specification`\"\u003e`specification`\u003c/span\u003e is `300MB`: \u003cspan pulumi-lang-nodejs=\"`900`\" pulumi-lang-dotnet=\"`900`\" pulumi-lang-go=\"`900`\" pulumi-lang-python=\"`900`\" pulumi-lang-yaml=\"`900`\" pulumi-lang-java=\"`900`\"\u003e`900`\u003c/span\u003e\n* When \u003cspan pulumi-lang-nodejs=\"`specification`\" pulumi-lang-dotnet=\"`Specification`\" pulumi-lang-go=\"`specification`\" pulumi-lang-python=\"`specification`\" pulumi-lang-yaml=\"`specification`\" pulumi-lang-java=\"`specification`\"\u003e`specification`\u003c/span\u003e is `600MB`: \u003cspan pulumi-lang-nodejs=\"`1800`\" pulumi-lang-dotnet=\"`1800`\" pulumi-lang-go=\"`1800`\" pulumi-lang-python=\"`1800`\" pulumi-lang-yaml=\"`1800`\" pulumi-lang-java=\"`1800`\"\u003e`1800`\u003c/span\u003e\n* When \u003cspan pulumi-lang-nodejs=\"`specification`\" pulumi-lang-dotnet=\"`Specification`\" pulumi-lang-go=\"`specification`\" pulumi-lang-python=\"`specification`\" pulumi-lang-yaml=\"`specification`\" pulumi-lang-java=\"`specification`\"\u003e`specification`\u003c/span\u003e is `1200MB`: \u003cspan pulumi-lang-nodejs=\"`1800`\" pulumi-lang-dotnet=\"`1800`\" pulumi-lang-go=\"`1800`\" pulumi-lang-python=\"`1800`\" pulumi-lang-yaml=\"`1800`\" pulumi-lang-java=\"`1800`\"\u003e`1800`\u003c/span\u003e\n"},"password":{"type":"string","description":"Indicates the password of an instance. An instance password\nmust meet the following complexity requirements: Must be 8 to 32 characters long.\nMust contain at least 2 of the following character types: lowercase letters, uppercase\nletters, digits, and special characters (`~!@#$%^\u0026*()-_=+\\|[{}]:'\",\u003c.\u003e/?`).\n","secret":true},"productId":{"type":"string","description":"Indicates a product ID.\n"},"retentionPolicy":{"type":"string","description":"Indicates the action to be taken when the memory usage reaches\nthe disk capacity threshold. The possible values are:\n"},"securityGroupId":{"type":"string","description":"Indicates the ID of a security group.\n"},"specification":{"type":"string","description":"This parameter is mandatory if the engine is \u003cspan pulumi-lang-nodejs=\"`kafka`\" pulumi-lang-dotnet=\"`Kafka`\" pulumi-lang-go=\"`kafka`\" pulumi-lang-python=\"`kafka`\" pulumi-lang-yaml=\"`kafka`\" pulumi-lang-java=\"`kafka`\"\u003e`kafka`\u003c/span\u003e.\nIndicates the baseline bandwidth of a Kafka instance, that is, the maximum amount\nof data transferred per unit time. Unit: `byte/s`. Options: `100MB`, `300MB`,\n`600MB`, `1200MB`.\n"},"storageSpace":{"type":"number","description":"Indicates the message storage space. Value range:\n* Kafka instance with \u003cspan pulumi-lang-nodejs=\"`specification`\" pulumi-lang-dotnet=\"`Specification`\" pulumi-lang-go=\"`specification`\" pulumi-lang-python=\"`specification`\" pulumi-lang-yaml=\"`specification`\" pulumi-lang-java=\"`specification`\"\u003e`specification`\u003c/span\u003e being `100MB`: \u003cspan pulumi-lang-nodejs=\"`600`\" pulumi-lang-dotnet=\"`600`\" pulumi-lang-go=\"`600`\" pulumi-lang-python=\"`600`\" pulumi-lang-yaml=\"`600`\" pulumi-lang-java=\"`600`\"\u003e`600`\u003c/span\u003e–\u003cspan pulumi-lang-nodejs=\"`90000`\" pulumi-lang-dotnet=\"`90000`\" pulumi-lang-go=\"`90000`\" pulumi-lang-python=\"`90000`\" pulumi-lang-yaml=\"`90000`\" pulumi-lang-java=\"`90000`\"\u003e`90000`\u003c/span\u003e GB\n* Kafka instance with \u003cspan pulumi-lang-nodejs=\"`specification`\" pulumi-lang-dotnet=\"`Specification`\" pulumi-lang-go=\"`specification`\" pulumi-lang-python=\"`specification`\" pulumi-lang-yaml=\"`specification`\" pulumi-lang-java=\"`specification`\"\u003e`specification`\u003c/span\u003e being `300MB`: \u003cspan pulumi-lang-nodejs=\"`1200`\" pulumi-lang-dotnet=\"`1200`\" pulumi-lang-go=\"`1200`\" pulumi-lang-python=\"`1200`\" pulumi-lang-yaml=\"`1200`\" pulumi-lang-java=\"`1200`\"\u003e`1200`\u003c/span\u003e–\u003cspan pulumi-lang-nodejs=\"`90000`\" pulumi-lang-dotnet=\"`90000`\" pulumi-lang-go=\"`90000`\" pulumi-lang-python=\"`90000`\" pulumi-lang-yaml=\"`90000`\" pulumi-lang-java=\"`90000`\"\u003e`90000`\u003c/span\u003e GB\n* Kafka instance with \u003cspan pulumi-lang-nodejs=\"`specification`\" pulumi-lang-dotnet=\"`Specification`\" pulumi-lang-go=\"`specification`\" pulumi-lang-python=\"`specification`\" pulumi-lang-yaml=\"`specification`\" pulumi-lang-java=\"`specification`\"\u003e`specification`\u003c/span\u003e being `600MB`: \u003cspan pulumi-lang-nodejs=\"`2400`\" pulumi-lang-dotnet=\"`2400`\" pulumi-lang-go=\"`2400`\" pulumi-lang-python=\"`2400`\" pulumi-lang-yaml=\"`2400`\" pulumi-lang-java=\"`2400`\"\u003e`2400`\u003c/span\u003e–\u003cspan pulumi-lang-nodejs=\"`90000`\" pulumi-lang-dotnet=\"`90000`\" pulumi-lang-go=\"`90000`\" pulumi-lang-python=\"`90000`\" pulumi-lang-yaml=\"`90000`\" pulumi-lang-java=\"`90000`\"\u003e`90000`\u003c/span\u003e GB\n* Kafka instance with \u003cspan pulumi-lang-nodejs=\"`specification`\" pulumi-lang-dotnet=\"`Specification`\" pulumi-lang-go=\"`specification`\" pulumi-lang-python=\"`specification`\" pulumi-lang-yaml=\"`specification`\" pulumi-lang-java=\"`specification`\"\u003e`specification`\u003c/span\u003e being `1200MB`: \u003cspan pulumi-lang-nodejs=\"`4800`\" pulumi-lang-dotnet=\"`4800`\" pulumi-lang-go=\"`4800`\" pulumi-lang-python=\"`4800`\" pulumi-lang-yaml=\"`4800`\" pulumi-lang-java=\"`4800`\"\u003e`4800`\u003c/span\u003e–\u003cspan pulumi-lang-nodejs=\"`90000`\" pulumi-lang-dotnet=\"`90000`\" pulumi-lang-go=\"`90000`\" pulumi-lang-python=\"`90000`\" pulumi-lang-yaml=\"`90000`\" pulumi-lang-java=\"`90000`\"\u003e`90000`\u003c/span\u003e GB\n"},"storageSpecCode":{"type":"string","description":"Indicates the storage I/O specification. Options for a Kafka instance:\n* When \u003cspan pulumi-lang-nodejs=\"`specification`\" pulumi-lang-dotnet=\"`Specification`\" pulumi-lang-go=\"`specification`\" pulumi-lang-python=\"`specification`\" pulumi-lang-yaml=\"`specification`\" pulumi-lang-java=\"`specification`\"\u003e`specification`\u003c/span\u003e is `100MB`: `dms.physical.storage.high` or `dms.physical.storage.ultra`\n* When \u003cspan pulumi-lang-nodejs=\"`specification`\" pulumi-lang-dotnet=\"`Specification`\" pulumi-lang-go=\"`specification`\" pulumi-lang-python=\"`specification`\" pulumi-lang-yaml=\"`specification`\" pulumi-lang-java=\"`specification`\"\u003e`specification`\u003c/span\u003e is `300MB`: `dms.physical.storage.high` or `dms.physical.storage.ultra`\n* When \u003cspan pulumi-lang-nodejs=\"`specification`\" pulumi-lang-dotnet=\"`Specification`\" pulumi-lang-go=\"`specification`\" pulumi-lang-python=\"`specification`\" pulumi-lang-yaml=\"`specification`\" pulumi-lang-java=\"`specification`\"\u003e`specification`\u003c/span\u003e is `600MB`: `dms.physical.storage.ultra`\n* When \u003cspan pulumi-lang-nodejs=\"`specification`\" pulumi-lang-dotnet=\"`Specification`\" pulumi-lang-go=\"`specification`\" pulumi-lang-python=\"`specification`\" pulumi-lang-yaml=\"`specification`\" pulumi-lang-java=\"`specification`\"\u003e`specification`\u003c/span\u003e is `1200MB`: `dms.physical.storage.ultra`\n"},"subnetId":{"type":"string","description":"Indicates the ID of the subnet (OpenStack network ID).\n"},"vpcId":{"type":"string","description":"Indicates the ID of a VPC (OpenStack router ID).\n"}},"requiredInputs":["availableZones","engine","engineVersion","productId","securityGroupId","storageSpace","storageSpecCode","subnetId","vpcId"],"stateInputs":{"description":"Input properties used for looking up and filtering DmsInstanceV1 resources.\n","properties":{"accessUser":{"type":"string","description":"Indicates a username. A username consists of 4 to 64 characters\nand supports only letters, digits, and hyphens (-).\n"},"availableZones":{"type":"array","items":{"type":"string"},"description":"Indicates the ID of an AZ. The parameter value can not be\nleft blank or an empty array. For details, see section\n[Querying AZ Information](https://docs.otc.t-systems.com/en-us/api/dms/dms-api-180514008.html).\n"},"connectAddress":{"type":"string","description":"Indicates the IP address of an instance.\n"},"createdAt":{"type":"string","description":"Indicates the time when an instance is created. The time is in the format\nof timestamp, that is, the offset milliseconds from 1970-01-01 00:00:00 UTC to the specified time.\n"},"description":{"type":"string","description":"Indicates the description of an instance. It is a character\nstring containing not more than 1024 characters.\n"},"dmsInstanceV1Id":{"type":"string"},"engine":{"type":"string","description":"Indicates a message engine. Only \u003cspan pulumi-lang-nodejs=\"`kafka`\" pulumi-lang-dotnet=\"`Kafka`\" pulumi-lang-go=\"`kafka`\" pulumi-lang-python=\"`kafka`\" pulumi-lang-yaml=\"`kafka`\" pulumi-lang-java=\"`kafka`\"\u003e`kafka`\u003c/span\u003e is supported now.\n"},"engineVersion":{"type":"string","description":"Indicates the version of a message engine.\nOnly `2.3.0` is supported now.\n"},"maintainBegin":{"type":"string","description":"Indicates the time at which a maintenance time window starts.\nFormat: `HH:mm`.\n* The start time and end time of a maintenance time window must indicate the time segment of\na supported maintenance time window.\n* The start time must be set to `22:00`, `02:00`, `06:00`, `10:00`, `14:00`, or `18:00`.\n* Parameters \u003cspan pulumi-lang-nodejs=\"`maintainBegin`\" pulumi-lang-dotnet=\"`MaintainBegin`\" pulumi-lang-go=\"`maintainBegin`\" pulumi-lang-python=\"`maintain_begin`\" pulumi-lang-yaml=\"`maintainBegin`\" pulumi-lang-java=\"`maintainBegin`\"\u003e`maintain_begin`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`maintainEnd`\" pulumi-lang-dotnet=\"`MaintainEnd`\" pulumi-lang-go=\"`maintainEnd`\" pulumi-lang-python=\"`maintain_end`\" pulumi-lang-yaml=\"`maintainEnd`\" pulumi-lang-java=\"`maintainEnd`\"\u003e`maintain_end`\u003c/span\u003e must be set in pairs. If parameter \u003cspan pulumi-lang-nodejs=\"`maintainBegin`\" pulumi-lang-dotnet=\"`MaintainBegin`\" pulumi-lang-go=\"`maintainBegin`\" pulumi-lang-python=\"`maintain_begin`\" pulumi-lang-yaml=\"`maintainBegin`\" pulumi-lang-java=\"`maintainBegin`\"\u003e`maintain_begin`\u003c/span\u003e\nis left blank, parameter \u003cspan pulumi-lang-nodejs=\"`maintainEnd`\" pulumi-lang-dotnet=\"`MaintainEnd`\" pulumi-lang-go=\"`maintainEnd`\" pulumi-lang-python=\"`maintain_end`\" pulumi-lang-yaml=\"`maintainEnd`\" pulumi-lang-java=\"`maintainEnd`\"\u003e`maintain_end`\u003c/span\u003e is also blank. In this case, the system automatically\nallocates the default start time `02:00`.\n"},"maintainEnd":{"type":"string","description":"Indicates the time at which a maintenance time window ends.\nFormat: `HH:mm`.\n* The start time and end time of a maintenance time window must indicate the time segment of\na supported maintenance time window.\n* The end time is four hours later than the start time. For example, if the start time is `22:00`,\nthe end time is `02:00`.\n* Parameters \u003cspan pulumi-lang-nodejs=\"`maintainBegin`\" pulumi-lang-dotnet=\"`MaintainBegin`\" pulumi-lang-go=\"`maintainBegin`\" pulumi-lang-python=\"`maintain_begin`\" pulumi-lang-yaml=\"`maintainBegin`\" pulumi-lang-java=\"`maintainBegin`\"\u003e`maintain_begin`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`maintainEnd`\" pulumi-lang-dotnet=\"`MaintainEnd`\" pulumi-lang-go=\"`maintainEnd`\" pulumi-lang-python=\"`maintain_end`\" pulumi-lang-yaml=\"`maintainEnd`\" pulumi-lang-java=\"`maintainEnd`\"\u003e`maintain_end`\u003c/span\u003e must be set in pairs. If parameter \u003cspan pulumi-lang-nodejs=\"`maintainEnd`\" pulumi-lang-dotnet=\"`MaintainEnd`\" pulumi-lang-go=\"`maintainEnd`\" pulumi-lang-python=\"`maintain_end`\" pulumi-lang-yaml=\"`maintainEnd`\" pulumi-lang-java=\"`maintainEnd`\"\u003e`maintain_end`\u003c/span\u003e is left\nblank, parameter \u003cspan pulumi-lang-nodejs=\"`maintainBegin`\" pulumi-lang-dotnet=\"`MaintainBegin`\" pulumi-lang-go=\"`maintainBegin`\" pulumi-lang-python=\"`maintain_begin`\" pulumi-lang-yaml=\"`maintainBegin`\" pulumi-lang-java=\"`maintainBegin`\"\u003e`maintain_begin`\u003c/span\u003e is also blank. In this case, the system automatically allocates\nthe default end time `06:00`.\n"},"name":{"type":"string","description":"Indicates the name of an instance. An instance name starts with a letter,\nconsists of 4 to 64 characters, and supports only letters, digits, and hyphens (-).\n"},"orderId":{"type":"string"},"partitionNum":{"type":"number","description":"This parameter is mandatory when a \u003cspan pulumi-lang-nodejs=\"`kafka`\" pulumi-lang-dotnet=\"`Kafka`\" pulumi-lang-go=\"`kafka`\" pulumi-lang-python=\"`kafka`\" pulumi-lang-yaml=\"`kafka`\" pulumi-lang-java=\"`kafka`\"\u003e`kafka`\u003c/span\u003e instance is created.\nIndicates the maximum number of topics in a Kafka instance.\n* When \u003cspan pulumi-lang-nodejs=\"`specification`\" pulumi-lang-dotnet=\"`Specification`\" pulumi-lang-go=\"`specification`\" pulumi-lang-python=\"`specification`\" pulumi-lang-yaml=\"`specification`\" pulumi-lang-java=\"`specification`\"\u003e`specification`\u003c/span\u003e is `100MB`: \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e\n* When \u003cspan pulumi-lang-nodejs=\"`specification`\" pulumi-lang-dotnet=\"`Specification`\" pulumi-lang-go=\"`specification`\" pulumi-lang-python=\"`specification`\" pulumi-lang-yaml=\"`specification`\" pulumi-lang-java=\"`specification`\"\u003e`specification`\u003c/span\u003e is `300MB`: \u003cspan pulumi-lang-nodejs=\"`900`\" pulumi-lang-dotnet=\"`900`\" pulumi-lang-go=\"`900`\" pulumi-lang-python=\"`900`\" pulumi-lang-yaml=\"`900`\" pulumi-lang-java=\"`900`\"\u003e`900`\u003c/span\u003e\n* When \u003cspan pulumi-lang-nodejs=\"`specification`\" pulumi-lang-dotnet=\"`Specification`\" pulumi-lang-go=\"`specification`\" pulumi-lang-python=\"`specification`\" pulumi-lang-yaml=\"`specification`\" pulumi-lang-java=\"`specification`\"\u003e`specification`\u003c/span\u003e is `600MB`: \u003cspan pulumi-lang-nodejs=\"`1800`\" pulumi-lang-dotnet=\"`1800`\" pulumi-lang-go=\"`1800`\" pulumi-lang-python=\"`1800`\" pulumi-lang-yaml=\"`1800`\" pulumi-lang-java=\"`1800`\"\u003e`1800`\u003c/span\u003e\n* When \u003cspan pulumi-lang-nodejs=\"`specification`\" pulumi-lang-dotnet=\"`Specification`\" pulumi-lang-go=\"`specification`\" pulumi-lang-python=\"`specification`\" pulumi-lang-yaml=\"`specification`\" pulumi-lang-java=\"`specification`\"\u003e`specification`\u003c/span\u003e is `1200MB`: \u003cspan pulumi-lang-nodejs=\"`1800`\" pulumi-lang-dotnet=\"`1800`\" pulumi-lang-go=\"`1800`\" pulumi-lang-python=\"`1800`\" pulumi-lang-yaml=\"`1800`\" pulumi-lang-java=\"`1800`\"\u003e`1800`\u003c/span\u003e\n"},"password":{"type":"string","description":"Indicates the password of an instance. An instance password\nmust meet the following complexity requirements: Must be 8 to 32 characters long.\nMust contain at least 2 of the following character types: lowercase letters, uppercase\nletters, digits, and special characters (`~!@#$%^\u0026*()-_=+\\|[{}]:'\",\u003c.\u003e/?`).\n","secret":true},"port":{"type":"number","description":"Indicates the port number of an instance.\n"},"productId":{"type":"string","description":"Indicates a product ID.\n"},"resourceSpecCode":{"type":"string","description":"Indicates a resource specifications identifier.\n"},"retentionPolicy":{"type":"string","description":"Indicates the action to be taken when the memory usage reaches\nthe disk capacity threshold. The possible values are:\n"},"securityGroupId":{"type":"string","description":"Indicates the ID of a security group.\n"},"securityGroupName":{"type":"string","description":"Indicates the name of a security group.\n"},"specification":{"type":"string","description":"This parameter is mandatory if the engine is \u003cspan pulumi-lang-nodejs=\"`kafka`\" pulumi-lang-dotnet=\"`Kafka`\" pulumi-lang-go=\"`kafka`\" pulumi-lang-python=\"`kafka`\" pulumi-lang-yaml=\"`kafka`\" pulumi-lang-java=\"`kafka`\"\u003e`kafka`\u003c/span\u003e.\nIndicates the baseline bandwidth of a Kafka instance, that is, the maximum amount\nof data transferred per unit time. Unit: `byte/s`. Options: `100MB`, `300MB`,\n`600MB`, `1200MB`.\n"},"status":{"type":"string","description":"Indicates the status of an instance. For details, see section Instance Status.\n"},"storageSpace":{"type":"number","description":"Indicates the message storage space. Value range:\n* Kafka instance with \u003cspan pulumi-lang-nodejs=\"`specification`\" pulumi-lang-dotnet=\"`Specification`\" pulumi-lang-go=\"`specification`\" pulumi-lang-python=\"`specification`\" pulumi-lang-yaml=\"`specification`\" pulumi-lang-java=\"`specification`\"\u003e`specification`\u003c/span\u003e being `100MB`: \u003cspan pulumi-lang-nodejs=\"`600`\" pulumi-lang-dotnet=\"`600`\" pulumi-lang-go=\"`600`\" pulumi-lang-python=\"`600`\" pulumi-lang-yaml=\"`600`\" pulumi-lang-java=\"`600`\"\u003e`600`\u003c/span\u003e–\u003cspan pulumi-lang-nodejs=\"`90000`\" pulumi-lang-dotnet=\"`90000`\" pulumi-lang-go=\"`90000`\" pulumi-lang-python=\"`90000`\" pulumi-lang-yaml=\"`90000`\" pulumi-lang-java=\"`90000`\"\u003e`90000`\u003c/span\u003e GB\n* Kafka instance with \u003cspan pulumi-lang-nodejs=\"`specification`\" pulumi-lang-dotnet=\"`Specification`\" pulumi-lang-go=\"`specification`\" pulumi-lang-python=\"`specification`\" pulumi-lang-yaml=\"`specification`\" pulumi-lang-java=\"`specification`\"\u003e`specification`\u003c/span\u003e being `300MB`: \u003cspan pulumi-lang-nodejs=\"`1200`\" pulumi-lang-dotnet=\"`1200`\" pulumi-lang-go=\"`1200`\" pulumi-lang-python=\"`1200`\" pulumi-lang-yaml=\"`1200`\" pulumi-lang-java=\"`1200`\"\u003e`1200`\u003c/span\u003e–\u003cspan pulumi-lang-nodejs=\"`90000`\" pulumi-lang-dotnet=\"`90000`\" pulumi-lang-go=\"`90000`\" pulumi-lang-python=\"`90000`\" pulumi-lang-yaml=\"`90000`\" pulumi-lang-java=\"`90000`\"\u003e`90000`\u003c/span\u003e GB\n* Kafka instance with \u003cspan pulumi-lang-nodejs=\"`specification`\" pulumi-lang-dotnet=\"`Specification`\" pulumi-lang-go=\"`specification`\" pulumi-lang-python=\"`specification`\" pulumi-lang-yaml=\"`specification`\" pulumi-lang-java=\"`specification`\"\u003e`specification`\u003c/span\u003e being `600MB`: \u003cspan pulumi-lang-nodejs=\"`2400`\" pulumi-lang-dotnet=\"`2400`\" pulumi-lang-go=\"`2400`\" pulumi-lang-python=\"`2400`\" pulumi-lang-yaml=\"`2400`\" pulumi-lang-java=\"`2400`\"\u003e`2400`\u003c/span\u003e–\u003cspan pulumi-lang-nodejs=\"`90000`\" pulumi-lang-dotnet=\"`90000`\" pulumi-lang-go=\"`90000`\" pulumi-lang-python=\"`90000`\" pulumi-lang-yaml=\"`90000`\" pulumi-lang-java=\"`90000`\"\u003e`90000`\u003c/span\u003e GB\n* Kafka instance with \u003cspan pulumi-lang-nodejs=\"`specification`\" pulumi-lang-dotnet=\"`Specification`\" pulumi-lang-go=\"`specification`\" pulumi-lang-python=\"`specification`\" pulumi-lang-yaml=\"`specification`\" pulumi-lang-java=\"`specification`\"\u003e`specification`\u003c/span\u003e being `1200MB`: \u003cspan pulumi-lang-nodejs=\"`4800`\" pulumi-lang-dotnet=\"`4800`\" pulumi-lang-go=\"`4800`\" pulumi-lang-python=\"`4800`\" pulumi-lang-yaml=\"`4800`\" pulumi-lang-java=\"`4800`\"\u003e`4800`\u003c/span\u003e–\u003cspan pulumi-lang-nodejs=\"`90000`\" pulumi-lang-dotnet=\"`90000`\" pulumi-lang-go=\"`90000`\" pulumi-lang-python=\"`90000`\" pulumi-lang-yaml=\"`90000`\" pulumi-lang-java=\"`90000`\"\u003e`90000`\u003c/span\u003e GB\n"},"storageSpecCode":{"type":"string","description":"Indicates the storage I/O specification. Options for a Kafka instance:\n* When \u003cspan pulumi-lang-nodejs=\"`specification`\" pulumi-lang-dotnet=\"`Specification`\" pulumi-lang-go=\"`specification`\" pulumi-lang-python=\"`specification`\" pulumi-lang-yaml=\"`specification`\" pulumi-lang-java=\"`specification`\"\u003e`specification`\u003c/span\u003e is `100MB`: `dms.physical.storage.high` or `dms.physical.storage.ultra`\n* When \u003cspan pulumi-lang-nodejs=\"`specification`\" pulumi-lang-dotnet=\"`Specification`\" pulumi-lang-go=\"`specification`\" pulumi-lang-python=\"`specification`\" pulumi-lang-yaml=\"`specification`\" pulumi-lang-java=\"`specification`\"\u003e`specification`\u003c/span\u003e is `300MB`: `dms.physical.storage.high` or `dms.physical.storage.ultra`\n* When \u003cspan pulumi-lang-nodejs=\"`specification`\" pulumi-lang-dotnet=\"`Specification`\" pulumi-lang-go=\"`specification`\" pulumi-lang-python=\"`specification`\" pulumi-lang-yaml=\"`specification`\" pulumi-lang-java=\"`specification`\"\u003e`specification`\u003c/span\u003e is `600MB`: `dms.physical.storage.ultra`\n* When \u003cspan pulumi-lang-nodejs=\"`specification`\" pulumi-lang-dotnet=\"`Specification`\" pulumi-lang-go=\"`specification`\" pulumi-lang-python=\"`specification`\" pulumi-lang-yaml=\"`specification`\" pulumi-lang-java=\"`specification`\"\u003e`specification`\u003c/span\u003e is `1200MB`: `dms.physical.storage.ultra`\n"},"subnetId":{"type":"string","description":"Indicates the ID of the subnet (OpenStack network ID).\n"},"subnetName":{"type":"string","description":"Indicates the name of a subnet.\n"},"type":{"type":"string","description":"Indicates an instance type. Options: \u003cspan pulumi-lang-nodejs=\"`single`\" pulumi-lang-dotnet=\"`Single`\" pulumi-lang-go=\"`single`\" pulumi-lang-python=\"`single`\" pulumi-lang-yaml=\"`single`\" pulumi-lang-java=\"`single`\"\u003e`single`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`cluster`\" pulumi-lang-dotnet=\"`Cluster`\" pulumi-lang-go=\"`cluster`\" pulumi-lang-python=\"`cluster`\" pulumi-lang-yaml=\"`cluster`\" pulumi-lang-java=\"`cluster`\"\u003e`cluster`\u003c/span\u003e.\n"},"usedStorageSpace":{"type":"number","description":"Indicates the used message storage space. Unit: GB\n"},"userId":{"type":"string","description":"Indicates a user ID.\n"},"userName":{"type":"string","description":"Indicates a username.\n"},"vpcId":{"type":"string","description":"Indicates the ID of a VPC (OpenStack router ID).\n"},"vpcName":{"type":"string"}},"type":"object"}},"opentelekomcloud:index/dmsInstanceV2:DmsInstanceV2":{"description":"Up-to-date reference of API arguments for DMS instance you can get at\n[documentation portal](https://docs.otc.t-systems.com/distributed-message-service/api-ref/apis_v2_recommended/lifecycle_management)\n\nManages a DMS instance in the OpenTelekomCloud DMS Service (Kafka Premium/Platinum).\n\n~\u003e\nDeprecated, use \u003cspan pulumi-lang-nodejs=\"`opentelekomcloud.DmsDedicatedInstanceV2`\" pulumi-lang-dotnet=\"`opentelekomcloud.DmsDedicatedInstanceV2`\" pulumi-lang-go=\"`DmsDedicatedInstanceV2`\" pulumi-lang-python=\"`DmsDedicatedInstanceV2`\" pulumi-lang-yaml=\"`opentelekomcloud.DmsDedicatedInstanceV2`\" pulumi-lang-java=\"`opentelekomcloud.DmsDedicatedInstanceV2`\"\u003e`opentelekomcloud.DmsDedicatedInstanceV2`\u003c/span\u003e resource instead\n\n## Example Usage\n\n### Automatically detect the correct network\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst vpcId = config.requireObject\u003cany\u003e(\"vpcId\");\nconst subnetId = config.requireObject\u003cany\u003e(\"subnetId\");\nconst accessUser = config.requireObject\u003cany\u003e(\"accessUser\");\nconst password = config.requireObject\u003cany\u003e(\"password\");\nconst secgroup1 = new opentelekomcloud.NetworkingSecgroupV2(\"secgroup_1\", {\n    name: \"secgroup_1\",\n    description: \"secgroup_1\",\n});\nconst az1 = opentelekomcloud.getDmsAzV1({\n    name: \"eu-de-01\",\n});\nconst product1 = opentelekomcloud.getDmsProductV1({\n    engine: \"kafka\",\n    version: \"2.3.0\",\n    instanceType: \"cluster\",\n    partitionNum: \"300\",\n    storage: \"600\",\n    storageSpecCode: \"dms.physical.storage.high\",\n});\nconst instance1 = new opentelekomcloud.DmsInstanceV2(\"instance_1\", {\n    name: \"kafka-test\",\n    engine: \"kafka\",\n    productId: product1.then(product1 =\u003e product1.id),\n    engineVersion: product1.then(product1 =\u003e product1.version),\n    specification: product1.then(product1 =\u003e product1.bandwidth),\n    partitionNum: product1.then(product1 =\u003e product1.partitionNum),\n    storageSpecCode: product1.then(product1 =\u003e product1.storageSpecCode),\n    storageSpace: product1.then(product1 =\u003e product1.storage),\n    availableZones: [az1.then(az1 =\u003e az1.id)],\n    securityGroupId: secgroup1.networkingSecgroupV2Id,\n    vpcId: vpcId,\n    subnetId: subnetId,\n    accessUser: accessUser,\n    password: password,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nvpc_id = config.require_object(\"vpcId\")\nsubnet_id = config.require_object(\"subnetId\")\naccess_user = config.require_object(\"accessUser\")\npassword = config.require_object(\"password\")\nsecgroup1 = opentelekomcloud.NetworkingSecgroupV2(\"secgroup_1\",\n    name=\"secgroup_1\",\n    description=\"secgroup_1\")\naz1 = opentelekomcloud.get_dms_az_v1(name=\"eu-de-01\")\nproduct1 = opentelekomcloud.get_dms_product_v1(engine=\"kafka\",\n    version=\"2.3.0\",\n    instance_type=\"cluster\",\n    partition_num=\"300\",\n    storage=\"600\",\n    storage_spec_code=\"dms.physical.storage.high\")\ninstance1 = opentelekomcloud.DmsInstanceV2(\"instance_1\",\n    name=\"kafka-test\",\n    engine=\"kafka\",\n    product_id=product1.id,\n    engine_version=product1.version,\n    specification=product1.bandwidth,\n    partition_num=product1.partition_num,\n    storage_spec_code=product1.storage_spec_code,\n    storage_space=product1.storage,\n    available_zones=[az1.id],\n    security_group_id=secgroup1.networking_secgroup_v2_id,\n    vpc_id=vpc_id,\n    subnet_id=subnet_id,\n    access_user=access_user,\n    password=password)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var vpcId = config.RequireObject\u003cdynamic\u003e(\"vpcId\");\n    var subnetId = config.RequireObject\u003cdynamic\u003e(\"subnetId\");\n    var accessUser = config.RequireObject\u003cdynamic\u003e(\"accessUser\");\n    var password = config.RequireObject\u003cdynamic\u003e(\"password\");\n    var secgroup1 = new Opentelekomcloud.NetworkingSecgroupV2(\"secgroup_1\", new()\n    {\n        Name = \"secgroup_1\",\n        Description = \"secgroup_1\",\n    });\n\n    var az1 = Opentelekomcloud.GetDmsAzV1.Invoke(new()\n    {\n        Name = \"eu-de-01\",\n    });\n\n    var product1 = Opentelekomcloud.GetDmsProductV1.Invoke(new()\n    {\n        Engine = \"kafka\",\n        Version = \"2.3.0\",\n        InstanceType = \"cluster\",\n        PartitionNum = \"300\",\n        Storage = \"600\",\n        StorageSpecCode = \"dms.physical.storage.high\",\n    });\n\n    var instance1 = new Opentelekomcloud.DmsInstanceV2(\"instance_1\", new()\n    {\n        Name = \"kafka-test\",\n        Engine = \"kafka\",\n        ProductId = product1.Apply(getDmsProductV1Result =\u003e getDmsProductV1Result.Id),\n        EngineVersion = product1.Apply(getDmsProductV1Result =\u003e getDmsProductV1Result.Version),\n        Specification = product1.Apply(getDmsProductV1Result =\u003e getDmsProductV1Result.Bandwidth),\n        PartitionNum = product1.Apply(getDmsProductV1Result =\u003e getDmsProductV1Result.PartitionNum),\n        StorageSpecCode = product1.Apply(getDmsProductV1Result =\u003e getDmsProductV1Result.StorageSpecCode),\n        StorageSpace = product1.Apply(getDmsProductV1Result =\u003e getDmsProductV1Result.Storage),\n        AvailableZones = new[]\n        {\n            az1.Apply(getDmsAzV1Result =\u003e getDmsAzV1Result.Id),\n        },\n        SecurityGroupId = secgroup1.NetworkingSecgroupV2Id,\n        VpcId = vpcId,\n        SubnetId = subnetId,\n        AccessUser = accessUser,\n        Password = password,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tvpcId := cfg.RequireObject(\"vpcId\")\n\t\tsubnetId := cfg.RequireObject(\"subnetId\")\n\t\taccessUser := cfg.RequireObject(\"accessUser\")\n\t\tpassword := cfg.RequireObject(\"password\")\n\t\tsecgroup1, err := opentelekomcloud.NewNetworkingSecgroupV2(ctx, \"secgroup_1\", \u0026opentelekomcloud.NetworkingSecgroupV2Args{\n\t\t\tName:        pulumi.String(\"secgroup_1\"),\n\t\t\tDescription: pulumi.String(\"secgroup_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\taz1, err := opentelekomcloud.GetDmsAzV1(ctx, \u0026opentelekomcloud.GetDmsAzV1Args{\n\t\t\tName: pulumi.StringRef(\"eu-de-01\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tproduct1, err := opentelekomcloud.GetDmsProductV1(ctx, \u0026opentelekomcloud.GetDmsProductV1Args{\n\t\t\tEngine:          \"kafka\",\n\t\t\tVersion:         pulumi.StringRef(\"2.3.0\"),\n\t\t\tInstanceType:    \"cluster\",\n\t\t\tPartitionNum:    pulumi.StringRef(\"300\"),\n\t\t\tStorage:         pulumi.StringRef(\"600\"),\n\t\t\tStorageSpecCode: pulumi.StringRef(\"dms.physical.storage.high\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewDmsInstanceV2(ctx, \"instance_1\", \u0026opentelekomcloud.DmsInstanceV2Args{\n\t\t\tName:            pulumi.String(\"kafka-test\"),\n\t\t\tEngine:          pulumi.String(\"kafka\"),\n\t\t\tProductId:       pulumi.String(product1.Id),\n\t\t\tEngineVersion:   pulumi.String(product1.Version),\n\t\t\tSpecification:   pulumi.String(product1.Bandwidth),\n\t\t\tPartitionNum:    pulumi.String(product1.PartitionNum),\n\t\t\tStorageSpecCode: pulumi.String(product1.StorageSpecCode),\n\t\t\tStorageSpace:    pulumi.String(product1.Storage),\n\t\t\tAvailableZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(az1.Id),\n\t\t\t},\n\t\t\tSecurityGroupId: secgroup1.NetworkingSecgroupV2Id,\n\t\t\tVpcId:           pulumi.Any(vpcId),\n\t\t\tSubnetId:        pulumi.Any(subnetId),\n\t\t\tAccessUser:      pulumi.Any(accessUser),\n\t\t\tPassword:        pulumi.Any(password),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.NetworkingSecgroupV2;\nimport com.pulumi.opentelekomcloud.NetworkingSecgroupV2Args;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetDmsAzV1Args;\nimport com.pulumi.opentelekomcloud.inputs.GetDmsProductV1Args;\nimport com.pulumi.opentelekomcloud.DmsInstanceV2;\nimport com.pulumi.opentelekomcloud.DmsInstanceV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var vpcId = config.get(\"vpcId\");\n        final var subnetId = config.get(\"subnetId\");\n        final var accessUser = config.get(\"accessUser\");\n        final var password = config.get(\"password\");\n        var secgroup1 = new NetworkingSecgroupV2(\"secgroup1\", NetworkingSecgroupV2Args.builder()\n            .name(\"secgroup_1\")\n            .description(\"secgroup_1\")\n            .build());\n\n        final var az1 = OpentelekomcloudFunctions.getDmsAzV1(GetDmsAzV1Args.builder()\n            .name(\"eu-de-01\")\n            .build());\n\n        final var product1 = OpentelekomcloudFunctions.getDmsProductV1(GetDmsProductV1Args.builder()\n            .engine(\"kafka\")\n            .version(\"2.3.0\")\n            .instanceType(\"cluster\")\n            .partitionNum(\"300\")\n            .storage(\"600\")\n            .storageSpecCode(\"dms.physical.storage.high\")\n            .build());\n\n        var instance1 = new DmsInstanceV2(\"instance1\", DmsInstanceV2Args.builder()\n            .name(\"kafka-test\")\n            .engine(\"kafka\")\n            .productId(product1.id())\n            .engineVersion(product1.version())\n            .specification(product1.bandwidth())\n            .partitionNum(product1.partitionNum())\n            .storageSpecCode(product1.storageSpecCode())\n            .storageSpace(product1.storage())\n            .availableZones(az1.id())\n            .securityGroupId(secgroup1.networkingSecgroupV2Id())\n            .vpcId(vpcId)\n            .subnetId(subnetId)\n            .accessUser(accessUser)\n            .password(password)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  vpcId:\n    type: dynamic\n  subnetId:\n    type: dynamic\n  accessUser:\n    type: dynamic\n  password:\n    type: dynamic\nresources:\n  secgroup1:\n    type: opentelekomcloud:NetworkingSecgroupV2\n    name: secgroup_1\n    properties:\n      name: secgroup_1\n      description: secgroup_1\n  instance1:\n    type: opentelekomcloud:DmsInstanceV2\n    name: instance_1\n    properties:\n      name: kafka-test\n      engine: kafka\n      productId: ${product1.id}\n      engineVersion: ${product1.version}\n      specification: ${product1.bandwidth}\n      partitionNum: ${product1.partitionNum}\n      storageSpecCode: ${product1.storageSpecCode}\n      storageSpace: ${product1.storage}\n      availableZones:\n        - ${az1.id}\n      securityGroupId: ${secgroup1.networkingSecgroupV2Id}\n      vpcId: ${vpcId}\n      subnetId: ${subnetId}\n      accessUser: ${accessUser}\n      password: ${password}\nvariables:\n  az1:\n    fn::invoke:\n      function: opentelekomcloud:getDmsAzV1\n      arguments:\n        name: eu-de-01\n  product1:\n    fn::invoke:\n      function: opentelekomcloud:getDmsProductV1\n      arguments:\n        engine: kafka\n        version: 2.3.0\n        instanceType: cluster\n        partitionNum: 300\n        storage: 600\n        storageSpecCode: dms.physical.storage.high\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### DMS instance with assigned EIPs\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst vpcId = config.requireObject\u003cany\u003e(\"vpcId\");\nconst subnetId = config.requireObject\u003cany\u003e(\"subnetId\");\nconst secgroup1 = new opentelekomcloud.NetworkingSecgroupV2(\"secgroup_1\", {\n    name: \"secgroup_1\",\n    description: \"secgroup_1\",\n});\nconst az1 = opentelekomcloud.getDmsAzV1({\n    name: \"eu-de-01\",\n});\nconst product1 = opentelekomcloud.getDmsProductV1({\n    engine: \"kafka\",\n    instanceType: \"cluster\",\n    version: \"2.7\",\n});\nconst fip1 = new opentelekomcloud.NetworkingFloatingipV2(\"fip_1\", {});\nconst fip2 = new opentelekomcloud.NetworkingFloatingipV2(\"fip_2\", {});\nconst fip3 = new opentelekomcloud.NetworkingFloatingipV2(\"fip_3\", {});\nconst instance1 = new opentelekomcloud.DmsInstanceV2(\"instance_1\", {\n    name: \"%s\",\n    engine: \"kafka\",\n    storageSpace: product1.then(product1 =\u003e product1.storage),\n    availableZones: [az1.then(az1 =\u003e az1.id)],\n    productId: product1.then(product1 =\u003e product1.id),\n    engineVersion: product1.then(product1 =\u003e product1.version),\n    storageSpecCode: product1.then(product1 =\u003e product1.storageSpecCode),\n    securityGroupId: opentelekomcloudNetworkingSecgroupV2.secgroup1.id,\n    vpcId: vpcId,\n    subnetId: subnetId,\n    enablePublicip: true,\n    publicipIds: [\n        fip1.networkingFloatingipV2Id,\n        fip2.networkingFloatingipV2Id,\n        fip3.networkingFloatingipV2Id,\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nvpc_id = config.require_object(\"vpcId\")\nsubnet_id = config.require_object(\"subnetId\")\nsecgroup1 = opentelekomcloud.NetworkingSecgroupV2(\"secgroup_1\",\n    name=\"secgroup_1\",\n    description=\"secgroup_1\")\naz1 = opentelekomcloud.get_dms_az_v1(name=\"eu-de-01\")\nproduct1 = opentelekomcloud.get_dms_product_v1(engine=\"kafka\",\n    instance_type=\"cluster\",\n    version=\"2.7\")\nfip1 = opentelekomcloud.NetworkingFloatingipV2(\"fip_1\")\nfip2 = opentelekomcloud.NetworkingFloatingipV2(\"fip_2\")\nfip3 = opentelekomcloud.NetworkingFloatingipV2(\"fip_3\")\ninstance1 = opentelekomcloud.DmsInstanceV2(\"instance_1\",\n    name=\"%s\",\n    engine=\"kafka\",\n    storage_space=product1.storage,\n    available_zones=[az1.id],\n    product_id=product1.id,\n    engine_version=product1.version,\n    storage_spec_code=product1.storage_spec_code,\n    security_group_id=opentelekomcloud_networking_secgroup_v2[\"secgroup1\"][\"id\"],\n    vpc_id=vpc_id,\n    subnet_id=subnet_id,\n    enable_publicip=True,\n    publicip_ids=[\n        fip1.networking_floatingip_v2_id,\n        fip2.networking_floatingip_v2_id,\n        fip3.networking_floatingip_v2_id,\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var vpcId = config.RequireObject\u003cdynamic\u003e(\"vpcId\");\n    var subnetId = config.RequireObject\u003cdynamic\u003e(\"subnetId\");\n    var secgroup1 = new Opentelekomcloud.NetworkingSecgroupV2(\"secgroup_1\", new()\n    {\n        Name = \"secgroup_1\",\n        Description = \"secgroup_1\",\n    });\n\n    var az1 = Opentelekomcloud.GetDmsAzV1.Invoke(new()\n    {\n        Name = \"eu-de-01\",\n    });\n\n    var product1 = Opentelekomcloud.GetDmsProductV1.Invoke(new()\n    {\n        Engine = \"kafka\",\n        InstanceType = \"cluster\",\n        Version = \"2.7\",\n    });\n\n    var fip1 = new Opentelekomcloud.NetworkingFloatingipV2(\"fip_1\");\n\n    var fip2 = new Opentelekomcloud.NetworkingFloatingipV2(\"fip_2\");\n\n    var fip3 = new Opentelekomcloud.NetworkingFloatingipV2(\"fip_3\");\n\n    var instance1 = new Opentelekomcloud.DmsInstanceV2(\"instance_1\", new()\n    {\n        Name = \"%s\",\n        Engine = \"kafka\",\n        StorageSpace = product1.Apply(getDmsProductV1Result =\u003e getDmsProductV1Result.Storage),\n        AvailableZones = new[]\n        {\n            az1.Apply(getDmsAzV1Result =\u003e getDmsAzV1Result.Id),\n        },\n        ProductId = product1.Apply(getDmsProductV1Result =\u003e getDmsProductV1Result.Id),\n        EngineVersion = product1.Apply(getDmsProductV1Result =\u003e getDmsProductV1Result.Version),\n        StorageSpecCode = product1.Apply(getDmsProductV1Result =\u003e getDmsProductV1Result.StorageSpecCode),\n        SecurityGroupId = opentelekomcloudNetworkingSecgroupV2.Secgroup1.Id,\n        VpcId = vpcId,\n        SubnetId = subnetId,\n        EnablePublicip = true,\n        PublicipIds = new[]\n        {\n            fip1.NetworkingFloatingipV2Id,\n            fip2.NetworkingFloatingipV2Id,\n            fip3.NetworkingFloatingipV2Id,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tvpcId := cfg.RequireObject(\"vpcId\")\n\t\tsubnetId := cfg.RequireObject(\"subnetId\")\n\t\t_, err := opentelekomcloud.NewNetworkingSecgroupV2(ctx, \"secgroup_1\", \u0026opentelekomcloud.NetworkingSecgroupV2Args{\n\t\t\tName:        pulumi.String(\"secgroup_1\"),\n\t\t\tDescription: pulumi.String(\"secgroup_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\taz1, err := opentelekomcloud.GetDmsAzV1(ctx, \u0026opentelekomcloud.GetDmsAzV1Args{\n\t\t\tName: pulumi.StringRef(\"eu-de-01\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tproduct1, err := opentelekomcloud.GetDmsProductV1(ctx, \u0026opentelekomcloud.GetDmsProductV1Args{\n\t\t\tEngine:       \"kafka\",\n\t\t\tInstanceType: \"cluster\",\n\t\t\tVersion:      pulumi.StringRef(\"2.7\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfip1, err := opentelekomcloud.NewNetworkingFloatingipV2(ctx, \"fip_1\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfip2, err := opentelekomcloud.NewNetworkingFloatingipV2(ctx, \"fip_2\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfip3, err := opentelekomcloud.NewNetworkingFloatingipV2(ctx, \"fip_3\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewDmsInstanceV2(ctx, \"instance_1\", \u0026opentelekomcloud.DmsInstanceV2Args{\n\t\t\tName:         pulumi.String(\"%s\"),\n\t\t\tEngine:       pulumi.String(\"kafka\"),\n\t\t\tStorageSpace: pulumi.String(product1.Storage),\n\t\t\tAvailableZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(az1.Id),\n\t\t\t},\n\t\t\tProductId:       pulumi.String(product1.Id),\n\t\t\tEngineVersion:   pulumi.String(product1.Version),\n\t\t\tStorageSpecCode: pulumi.String(product1.StorageSpecCode),\n\t\t\tSecurityGroupId: pulumi.Any(opentelekomcloudNetworkingSecgroupV2.Secgroup1.Id),\n\t\t\tVpcId:           pulumi.Any(vpcId),\n\t\t\tSubnetId:        pulumi.Any(subnetId),\n\t\t\tEnablePublicip:  pulumi.Bool(true),\n\t\t\tPublicipIds: pulumi.StringArray{\n\t\t\t\tfip1.NetworkingFloatingipV2Id,\n\t\t\t\tfip2.NetworkingFloatingipV2Id,\n\t\t\t\tfip3.NetworkingFloatingipV2Id,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.NetworkingSecgroupV2;\nimport com.pulumi.opentelekomcloud.NetworkingSecgroupV2Args;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetDmsAzV1Args;\nimport com.pulumi.opentelekomcloud.inputs.GetDmsProductV1Args;\nimport com.pulumi.opentelekomcloud.NetworkingFloatingipV2;\nimport com.pulumi.opentelekomcloud.DmsInstanceV2;\nimport com.pulumi.opentelekomcloud.DmsInstanceV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var vpcId = config.get(\"vpcId\");\n        final var subnetId = config.get(\"subnetId\");\n        var secgroup1 = new NetworkingSecgroupV2(\"secgroup1\", NetworkingSecgroupV2Args.builder()\n            .name(\"secgroup_1\")\n            .description(\"secgroup_1\")\n            .build());\n\n        final var az1 = OpentelekomcloudFunctions.getDmsAzV1(GetDmsAzV1Args.builder()\n            .name(\"eu-de-01\")\n            .build());\n\n        final var product1 = OpentelekomcloudFunctions.getDmsProductV1(GetDmsProductV1Args.builder()\n            .engine(\"kafka\")\n            .instanceType(\"cluster\")\n            .version(\"2.7\")\n            .build());\n\n        var fip1 = new NetworkingFloatingipV2(\"fip1\");\n\n        var fip2 = new NetworkingFloatingipV2(\"fip2\");\n\n        var fip3 = new NetworkingFloatingipV2(\"fip3\");\n\n        var instance1 = new DmsInstanceV2(\"instance1\", DmsInstanceV2Args.builder()\n            .name(\"%s\")\n            .engine(\"kafka\")\n            .storageSpace(product1.storage())\n            .availableZones(az1.id())\n            .productId(product1.id())\n            .engineVersion(product1.version())\n            .storageSpecCode(product1.storageSpecCode())\n            .securityGroupId(opentelekomcloudNetworkingSecgroupV2.secgroup1().id())\n            .vpcId(vpcId)\n            .subnetId(subnetId)\n            .enablePublicip(true)\n            .publicipIds(            \n                fip1.networkingFloatingipV2Id(),\n                fip2.networkingFloatingipV2Id(),\n                fip3.networkingFloatingipV2Id())\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  vpcId:\n    type: dynamic\n  subnetId:\n    type: dynamic\nresources:\n  secgroup1:\n    type: opentelekomcloud:NetworkingSecgroupV2\n    name: secgroup_1\n    properties:\n      name: secgroup_1\n      description: secgroup_1\n  fip1:\n    type: opentelekomcloud:NetworkingFloatingipV2\n    name: fip_1\n  fip2:\n    type: opentelekomcloud:NetworkingFloatingipV2\n    name: fip_2\n  fip3:\n    type: opentelekomcloud:NetworkingFloatingipV2\n    name: fip_3\n  instance1:\n    type: opentelekomcloud:DmsInstanceV2\n    name: instance_1\n    properties:\n      name: '%s'\n      engine: kafka\n      storageSpace: ${product1.storage}\n      availableZones:\n        - ${az1.id}\n      productId: ${product1.id}\n      engineVersion: ${product1.version}\n      storageSpecCode: ${product1.storageSpecCode}\n      securityGroupId: ${opentelekomcloudNetworkingSecgroupV2.secgroup1.id}\n      vpcId: ${vpcId}\n      subnetId: ${subnetId}\n      enablePublicip: true\n      publicipIds:\n        - ${fip1.networkingFloatingipV2Id}\n        - ${fip2.networkingFloatingipV2Id}\n        - ${fip3.networkingFloatingipV2Id}\nvariables:\n  az1:\n    fn::invoke:\n      function: opentelekomcloud:getDmsAzV1\n      arguments:\n        name: eu-de-01\n  product1:\n    fn::invoke:\n      function: opentelekomcloud:getDmsProductV1\n      arguments:\n        engine: kafka\n        instanceType: cluster\n        version: '2.7'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"accessUser":{"type":"string","description":"Indicates a username. A username consists of 4 to 64 characters\nand supports only letters, digits, and hyphens (-).\n* Providing \u003cspan pulumi-lang-nodejs=\"`accessUser`\" pulumi-lang-dotnet=\"`AccessUser`\" pulumi-lang-go=\"`accessUser`\" pulumi-lang-python=\"`access_user`\" pulumi-lang-yaml=\"`accessUser`\" pulumi-lang-java=\"`accessUser`\"\u003e`access_user`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\"\u003e`password`\u003c/span\u003e enables \u003cspan pulumi-lang-nodejs=\"`ssl`\" pulumi-lang-dotnet=\"`Ssl`\" pulumi-lang-go=\"`ssl`\" pulumi-lang-python=\"`ssl`\" pulumi-lang-yaml=\"`ssl`\" pulumi-lang-java=\"`ssl`\"\u003e`ssl`\u003c/span\u003e for the instance.\n"},"availableZones":{"type":"array","items":{"type":"string"},"description":"Indicates the ID of an AZ. The parameter value can not be\nleft blank or an empty array. For details, see section\n[Querying AZ Information](https://docs.otc.t-systems.com/distributed-message-service/api-ref/apis_v2_recommended/other_apis/listing_az_information.html#listavailablezones).\n"},"connectAddress":{"type":"string","description":"Indicates the IP address of an instance.\n"},"createdAt":{"type":"string","description":"Indicates the time when an instance is created. The time is in the format\nof timestamp, that is, the offset milliseconds from 1970-01-01 00:00:00 UTC to the specified time.\n"},"description":{"type":"string","description":"Indicates the description of an instance. It is a character\nstring containing not more than 1024 characters.\n"},"diskEncryptedEnable":{"type":"boolean","description":"Indicates whether disk encryption is enabled.\n"},"diskEncryptedKey":{"type":"string","description":"Disk encryption key. If disk encryption is not enabled, this parameter is left blank.\n"},"dmsInstanceV2Id":{"type":"string"},"enablePublicip":{"type":"boolean","description":"Whether to enable public access. By default, public access is disabled.\n* Possible values: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n* Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"engine":{"type":"string","description":"Indicates a message engine. Only \u003cspan pulumi-lang-nodejs=\"`kafka`\" pulumi-lang-dotnet=\"`Kafka`\" pulumi-lang-go=\"`kafka`\" pulumi-lang-python=\"`kafka`\" pulumi-lang-yaml=\"`kafka`\" pulumi-lang-java=\"`kafka`\"\u003e`kafka`\u003c/span\u003e is supported now.\n"},"engineVersion":{"type":"string","description":"Indicates the version of a message engine.\nOptions: `2.3.0`, `2.7`.\n"},"maintainBegin":{"type":"string","description":"Indicates the time at which a maintenance time window starts.\nFormat: `HH:mm`.\n* The start time and end time of a maintenance time window must indicate the time segment of\na supported maintenance time window.\n* The start time must be set to `22:00`, `02:00`, `06:00`, `10:00`, `14:00`, or `18:00`.\n* Parameters \u003cspan pulumi-lang-nodejs=\"`maintainBegin`\" pulumi-lang-dotnet=\"`MaintainBegin`\" pulumi-lang-go=\"`maintainBegin`\" pulumi-lang-python=\"`maintain_begin`\" pulumi-lang-yaml=\"`maintainBegin`\" pulumi-lang-java=\"`maintainBegin`\"\u003e`maintain_begin`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`maintainEnd`\" pulumi-lang-dotnet=\"`MaintainEnd`\" pulumi-lang-go=\"`maintainEnd`\" pulumi-lang-python=\"`maintain_end`\" pulumi-lang-yaml=\"`maintainEnd`\" pulumi-lang-java=\"`maintainEnd`\"\u003e`maintain_end`\u003c/span\u003e must be set in pairs. If parameter \u003cspan pulumi-lang-nodejs=\"`maintainBegin`\" pulumi-lang-dotnet=\"`MaintainBegin`\" pulumi-lang-go=\"`maintainBegin`\" pulumi-lang-python=\"`maintain_begin`\" pulumi-lang-yaml=\"`maintainBegin`\" pulumi-lang-java=\"`maintainBegin`\"\u003e`maintain_begin`\u003c/span\u003e\nis left blank, parameter \u003cspan pulumi-lang-nodejs=\"`maintainEnd`\" pulumi-lang-dotnet=\"`MaintainEnd`\" pulumi-lang-go=\"`maintainEnd`\" pulumi-lang-python=\"`maintain_end`\" pulumi-lang-yaml=\"`maintainEnd`\" pulumi-lang-java=\"`maintainEnd`\"\u003e`maintain_end`\u003c/span\u003e is also blank. In this case, the system automatically\nallocates the default start time `02:00`.\n"},"maintainEnd":{"type":"string","description":"Indicates the time at which a maintenance time window ends.\nFormat: `HH:mm`.\n* The start time and end time of a maintenance time window must indicate the time segment of\na supported maintenance time window.\n* The end time is four hours later than the start time. For example, if the start time is `22:00`,\nthe end time is `02:00`.\n* Parameters \u003cspan pulumi-lang-nodejs=\"`maintainBegin`\" pulumi-lang-dotnet=\"`MaintainBegin`\" pulumi-lang-go=\"`maintainBegin`\" pulumi-lang-python=\"`maintain_begin`\" pulumi-lang-yaml=\"`maintainBegin`\" pulumi-lang-java=\"`maintainBegin`\"\u003e`maintain_begin`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`maintainEnd`\" pulumi-lang-dotnet=\"`MaintainEnd`\" pulumi-lang-go=\"`maintainEnd`\" pulumi-lang-python=\"`maintain_end`\" pulumi-lang-yaml=\"`maintainEnd`\" pulumi-lang-java=\"`maintainEnd`\"\u003e`maintain_end`\u003c/span\u003e must be set in pairs. If parameter \u003cspan pulumi-lang-nodejs=\"`maintainEnd`\" pulumi-lang-dotnet=\"`MaintainEnd`\" pulumi-lang-go=\"`maintainEnd`\" pulumi-lang-python=\"`maintain_end`\" pulumi-lang-yaml=\"`maintainEnd`\" pulumi-lang-java=\"`maintainEnd`\"\u003e`maintain_end`\u003c/span\u003e is left\nblank, parameter \u003cspan pulumi-lang-nodejs=\"`maintainBegin`\" pulumi-lang-dotnet=\"`MaintainBegin`\" pulumi-lang-go=\"`maintainBegin`\" pulumi-lang-python=\"`maintain_begin`\" pulumi-lang-yaml=\"`maintainBegin`\" pulumi-lang-java=\"`maintainBegin`\"\u003e`maintain_begin`\u003c/span\u003e is also blank. In this case, the system automatically allocates\nthe default end time `06:00`.\n"},"name":{"type":"string","description":"Indicates the name of an instance. An instance name starts with a letter,\nconsists of 4 to 64 characters, and supports only letters, digits, and hyphens (-).\n"},"nodeNum":{"type":"number","description":"Node quantity.\n"},"partitionNum":{"type":"number","description":"This parameter is mandatory when a \u003cspan pulumi-lang-nodejs=\"`kafka`\" pulumi-lang-dotnet=\"`Kafka`\" pulumi-lang-go=\"`kafka`\" pulumi-lang-python=\"`kafka`\" pulumi-lang-yaml=\"`kafka`\" pulumi-lang-java=\"`kafka`\"\u003e`kafka`\u003c/span\u003e instance is created.\nIndicates the maximum number of topics in a Kafka instance.\n* When \u003cspan pulumi-lang-nodejs=\"`specification`\" pulumi-lang-dotnet=\"`Specification`\" pulumi-lang-go=\"`specification`\" pulumi-lang-python=\"`specification`\" pulumi-lang-yaml=\"`specification`\" pulumi-lang-java=\"`specification`\"\u003e`specification`\u003c/span\u003e is `100MB`: \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e\n* When \u003cspan pulumi-lang-nodejs=\"`specification`\" pulumi-lang-dotnet=\"`Specification`\" pulumi-lang-go=\"`specification`\" pulumi-lang-python=\"`specification`\" pulumi-lang-yaml=\"`specification`\" pulumi-lang-java=\"`specification`\"\u003e`specification`\u003c/span\u003e is `300MB`: \u003cspan pulumi-lang-nodejs=\"`900`\" pulumi-lang-dotnet=\"`900`\" pulumi-lang-go=\"`900`\" pulumi-lang-python=\"`900`\" pulumi-lang-yaml=\"`900`\" pulumi-lang-java=\"`900`\"\u003e`900`\u003c/span\u003e\n* When \u003cspan pulumi-lang-nodejs=\"`specification`\" pulumi-lang-dotnet=\"`Specification`\" pulumi-lang-go=\"`specification`\" pulumi-lang-python=\"`specification`\" pulumi-lang-yaml=\"`specification`\" pulumi-lang-java=\"`specification`\"\u003e`specification`\u003c/span\u003e is `600MB`: \u003cspan pulumi-lang-nodejs=\"`1800`\" pulumi-lang-dotnet=\"`1800`\" pulumi-lang-go=\"`1800`\" pulumi-lang-python=\"`1800`\" pulumi-lang-yaml=\"`1800`\" pulumi-lang-java=\"`1800`\"\u003e`1800`\u003c/span\u003e\n* When \u003cspan pulumi-lang-nodejs=\"`specification`\" pulumi-lang-dotnet=\"`Specification`\" pulumi-lang-go=\"`specification`\" pulumi-lang-python=\"`specification`\" pulumi-lang-yaml=\"`specification`\" pulumi-lang-java=\"`specification`\"\u003e`specification`\u003c/span\u003e is `1200MB`: \u003cspan pulumi-lang-nodejs=\"`1800`\" pulumi-lang-dotnet=\"`1800`\" pulumi-lang-go=\"`1800`\" pulumi-lang-python=\"`1800`\" pulumi-lang-yaml=\"`1800`\" pulumi-lang-java=\"`1800`\"\u003e`1800`\u003c/span\u003e\n"},"password":{"type":"string","description":"Indicates the password of an instance. An instance password\nmust meet the following complexity requirements: Must be 8 to 32 characters long.\nMust contain at least 2 of the following character types: lowercase letters, uppercase\nletters, digits, and special characters (`~!@#$%^\u0026*()-_=+\\|[{}]:'\",\u003c.\u003e/?`).\n","secret":true},"port":{"type":"number","description":"Indicates the port number of an instance.\n"},"productId":{"type":"string","description":"Indicates a product ID.\n"},"publicAccessEnabled":{"type":"string","description":"Time when public access was enabled for an instance.\nThe value can be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`actived`\" pulumi-lang-dotnet=\"`Actived`\" pulumi-lang-go=\"`actived`\" pulumi-lang-python=\"`actived`\" pulumi-lang-yaml=\"`actived`\" pulumi-lang-java=\"`actived`\"\u003e`actived`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`closed`\" pulumi-lang-dotnet=\"`Closed`\" pulumi-lang-go=\"`closed`\" pulumi-lang-python=\"`closed`\" pulumi-lang-yaml=\"`closed`\" pulumi-lang-java=\"`closed`\"\u003e`closed`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"publicBandwidth":{"type":"number"},"publicConnectAddresses":{"type":"array","items":{"type":"string"},"description":"List of Public IPs bound to DMS instance with specified port.\n"},"publicipIds":{"type":"array","items":{"type":"string"},"description":"List of `public ip` IDs to be bound to DMS instance nodes.\n* Provided ip amount should be same as amount of DMS cluster nodes.\n* Example: `[\"0f2a51dc-93ce-42af\",\"d967d49b-6659-4052\",\"002872f4-82a4-4f6e-9a4e\"]`.\n"},"resourceSpecCode":{"type":"string","description":"Indicates a resource specifications identifier.\n"},"retentionPolicy":{"type":"string","description":"Indicates the action to be taken when the memory usage reaches\nthe disk capacity threshold. The possible values are:\n"},"securityGroupId":{"type":"string","description":"Indicates the ID of a security group.\n"},"securityGroupName":{"type":"string","description":"Indicates the name of a security group.\n"},"specification":{"type":"string","description":"This parameter is mandatory if the engine is \u003cspan pulumi-lang-nodejs=\"`kafka`\" pulumi-lang-dotnet=\"`Kafka`\" pulumi-lang-go=\"`kafka`\" pulumi-lang-python=\"`kafka`\" pulumi-lang-yaml=\"`kafka`\" pulumi-lang-java=\"`kafka`\"\u003e`kafka`\u003c/span\u003e.\nIndicates the baseline bandwidth of a Kafka instance, that is, the maximum amount\nof data transferred per unit time. Unit: `byte/s`. Options: `100MB`, `300MB`,\n`600MB`, `1200MB`.\n"},"sslEnable":{"type":"boolean","description":"Indicates whether security authentication is enabled.\nPossible values: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"status":{"type":"string","description":"Indicates the status of an instance. For details, see section Instance Status.\n"},"storageResourceId":{"type":"string","description":"Storage resource ID.\n"},"storageSpace":{"type":"number","description":"Indicates the message storage space. Value range:\n* Kafka instance with \u003cspan pulumi-lang-nodejs=\"`specification`\" pulumi-lang-dotnet=\"`Specification`\" pulumi-lang-go=\"`specification`\" pulumi-lang-python=\"`specification`\" pulumi-lang-yaml=\"`specification`\" pulumi-lang-java=\"`specification`\"\u003e`specification`\u003c/span\u003e being `100MB`: \u003cspan pulumi-lang-nodejs=\"`600`\" pulumi-lang-dotnet=\"`600`\" pulumi-lang-go=\"`600`\" pulumi-lang-python=\"`600`\" pulumi-lang-yaml=\"`600`\" pulumi-lang-java=\"`600`\"\u003e`600`\u003c/span\u003e–\u003cspan pulumi-lang-nodejs=\"`90000`\" pulumi-lang-dotnet=\"`90000`\" pulumi-lang-go=\"`90000`\" pulumi-lang-python=\"`90000`\" pulumi-lang-yaml=\"`90000`\" pulumi-lang-java=\"`90000`\"\u003e`90000`\u003c/span\u003e GB\n* Kafka instance with \u003cspan pulumi-lang-nodejs=\"`specification`\" pulumi-lang-dotnet=\"`Specification`\" pulumi-lang-go=\"`specification`\" pulumi-lang-python=\"`specification`\" pulumi-lang-yaml=\"`specification`\" pulumi-lang-java=\"`specification`\"\u003e`specification`\u003c/span\u003e being `300MB`: \u003cspan pulumi-lang-nodejs=\"`1200`\" pulumi-lang-dotnet=\"`1200`\" pulumi-lang-go=\"`1200`\" pulumi-lang-python=\"`1200`\" pulumi-lang-yaml=\"`1200`\" pulumi-lang-java=\"`1200`\"\u003e`1200`\u003c/span\u003e–\u003cspan pulumi-lang-nodejs=\"`90000`\" pulumi-lang-dotnet=\"`90000`\" pulumi-lang-go=\"`90000`\" pulumi-lang-python=\"`90000`\" pulumi-lang-yaml=\"`90000`\" pulumi-lang-java=\"`90000`\"\u003e`90000`\u003c/span\u003e GB\n* Kafka instance with \u003cspan pulumi-lang-nodejs=\"`specification`\" pulumi-lang-dotnet=\"`Specification`\" pulumi-lang-go=\"`specification`\" pulumi-lang-python=\"`specification`\" pulumi-lang-yaml=\"`specification`\" pulumi-lang-java=\"`specification`\"\u003e`specification`\u003c/span\u003e being `600MB`: \u003cspan pulumi-lang-nodejs=\"`2400`\" pulumi-lang-dotnet=\"`2400`\" pulumi-lang-go=\"`2400`\" pulumi-lang-python=\"`2400`\" pulumi-lang-yaml=\"`2400`\" pulumi-lang-java=\"`2400`\"\u003e`2400`\u003c/span\u003e–\u003cspan pulumi-lang-nodejs=\"`90000`\" pulumi-lang-dotnet=\"`90000`\" pulumi-lang-go=\"`90000`\" pulumi-lang-python=\"`90000`\" pulumi-lang-yaml=\"`90000`\" pulumi-lang-java=\"`90000`\"\u003e`90000`\u003c/span\u003e GB\n* Kafka instance with \u003cspan pulumi-lang-nodejs=\"`specification`\" pulumi-lang-dotnet=\"`Specification`\" pulumi-lang-go=\"`specification`\" pulumi-lang-python=\"`specification`\" pulumi-lang-yaml=\"`specification`\" pulumi-lang-java=\"`specification`\"\u003e`specification`\u003c/span\u003e being `1200MB`: \u003cspan pulumi-lang-nodejs=\"`4800`\" pulumi-lang-dotnet=\"`4800`\" pulumi-lang-go=\"`4800`\" pulumi-lang-python=\"`4800`\" pulumi-lang-yaml=\"`4800`\" pulumi-lang-java=\"`4800`\"\u003e`4800`\u003c/span\u003e–\u003cspan pulumi-lang-nodejs=\"`90000`\" pulumi-lang-dotnet=\"`90000`\" pulumi-lang-go=\"`90000`\" pulumi-lang-python=\"`90000`\" pulumi-lang-yaml=\"`90000`\" pulumi-lang-java=\"`90000`\"\u003e`90000`\u003c/span\u003e GB\n"},"storageSpecCode":{"type":"string","description":"Indicates the storage I/O specification. Options for a Kafka instance:\n* When \u003cspan pulumi-lang-nodejs=\"`specification`\" pulumi-lang-dotnet=\"`Specification`\" pulumi-lang-go=\"`specification`\" pulumi-lang-python=\"`specification`\" pulumi-lang-yaml=\"`specification`\" pulumi-lang-java=\"`specification`\"\u003e`specification`\u003c/span\u003e is `100MB`: `dms.physical.storage.high` or `dms.physical.storage.ultra`\n* When \u003cspan pulumi-lang-nodejs=\"`specification`\" pulumi-lang-dotnet=\"`Specification`\" pulumi-lang-go=\"`specification`\" pulumi-lang-python=\"`specification`\" pulumi-lang-yaml=\"`specification`\" pulumi-lang-java=\"`specification`\"\u003e`specification`\u003c/span\u003e is `300MB`: `dms.physical.storage.high` or `dms.physical.storage.ultra`\n* When \u003cspan pulumi-lang-nodejs=\"`specification`\" pulumi-lang-dotnet=\"`Specification`\" pulumi-lang-go=\"`specification`\" pulumi-lang-python=\"`specification`\" pulumi-lang-yaml=\"`specification`\" pulumi-lang-java=\"`specification`\"\u003e`specification`\u003c/span\u003e is `600MB`: `dms.physical.storage.ultra`\n* When \u003cspan pulumi-lang-nodejs=\"`specification`\" pulumi-lang-dotnet=\"`Specification`\" pulumi-lang-go=\"`specification`\" pulumi-lang-python=\"`specification`\" pulumi-lang-yaml=\"`specification`\" pulumi-lang-java=\"`specification`\"\u003e`specification`\u003c/span\u003e is `1200MB`: `dms.physical.storage.ultra`\n"},"subnetCidr":{"type":"string","description":"Indicates subnet CIDR block.\n"},"subnetId":{"type":"string","description":"Indicates the ID of the subnet (OpenStack network ID).\n"},"subnetName":{"type":"string","description":"Indicates the name of a subnet.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags key/value pairs to associate with the instance.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FDmsInstanceV2Timeouts:DmsInstanceV2Timeouts"},"totalStorageSpace":{"type":"number","description":"Total message storage space in GB.\n"},"type":{"type":"string","description":"Indicates an instance type. Options: \u003cspan pulumi-lang-nodejs=\"`single`\" pulumi-lang-dotnet=\"`Single`\" pulumi-lang-go=\"`single`\" pulumi-lang-python=\"`single`\" pulumi-lang-yaml=\"`single`\" pulumi-lang-java=\"`single`\"\u003e`single`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`cluster`\" pulumi-lang-dotnet=\"`Cluster`\" pulumi-lang-go=\"`cluster`\" pulumi-lang-python=\"`cluster`\" pulumi-lang-yaml=\"`cluster`\" pulumi-lang-java=\"`cluster`\"\u003e`cluster`\u003c/span\u003e.\n"},"usedStorageSpace":{"type":"number","description":"Indicates the used message storage space. Unit: GB\n"},"userId":{"type":"string","description":"Indicates a user ID.\n"},"userName":{"type":"string","description":"Indicates a username.\n"},"vpcId":{"type":"string","description":"Indicates the ID of a VPC (OpenStack router ID).\n"},"vpcName":{"type":"string"}},"type":"object","required":["availableZones","connectAddress","createdAt","diskEncryptedEnable","diskEncryptedKey","dmsInstanceV2Id","enablePublicip","engine","engineVersion","maintainBegin","maintainEnd","name","nodeNum","port","productId","publicAccessEnabled","publicBandwidth","publicConnectAddresses","resourceSpecCode","retentionPolicy","securityGroupId","securityGroupName","specification","sslEnable","status","storageResourceId","storageSpace","storageSpecCode","subnetCidr","subnetId","subnetName","totalStorageSpace","type","usedStorageSpace","userId","userName","vpcId","vpcName"],"inputProperties":{"accessUser":{"type":"string","description":"Indicates a username. A username consists of 4 to 64 characters\nand supports only letters, digits, and hyphens (-).\n* Providing \u003cspan pulumi-lang-nodejs=\"`accessUser`\" pulumi-lang-dotnet=\"`AccessUser`\" pulumi-lang-go=\"`accessUser`\" pulumi-lang-python=\"`access_user`\" pulumi-lang-yaml=\"`accessUser`\" pulumi-lang-java=\"`accessUser`\"\u003e`access_user`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\"\u003e`password`\u003c/span\u003e enables \u003cspan pulumi-lang-nodejs=\"`ssl`\" pulumi-lang-dotnet=\"`Ssl`\" pulumi-lang-go=\"`ssl`\" pulumi-lang-python=\"`ssl`\" pulumi-lang-yaml=\"`ssl`\" pulumi-lang-java=\"`ssl`\"\u003e`ssl`\u003c/span\u003e for the instance.\n"},"availableZones":{"type":"array","items":{"type":"string"},"description":"Indicates the ID of an AZ. The parameter value can not be\nleft blank or an empty array. For details, see section\n[Querying AZ Information](https://docs.otc.t-systems.com/distributed-message-service/api-ref/apis_v2_recommended/other_apis/listing_az_information.html#listavailablezones).\n"},"description":{"type":"string","description":"Indicates the description of an instance. It is a character\nstring containing not more than 1024 characters.\n"},"diskEncryptedEnable":{"type":"boolean","description":"Indicates whether disk encryption is enabled.\n"},"diskEncryptedKey":{"type":"string","description":"Disk encryption key. If disk encryption is not enabled, this parameter is left blank.\n"},"dmsInstanceV2Id":{"type":"string"},"enablePublicip":{"type":"boolean","description":"Whether to enable public access. By default, public access is disabled.\n* Possible values: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n* Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"engine":{"type":"string","description":"Indicates a message engine. Only \u003cspan pulumi-lang-nodejs=\"`kafka`\" pulumi-lang-dotnet=\"`Kafka`\" pulumi-lang-go=\"`kafka`\" pulumi-lang-python=\"`kafka`\" pulumi-lang-yaml=\"`kafka`\" pulumi-lang-java=\"`kafka`\"\u003e`kafka`\u003c/span\u003e is supported now.\n"},"engineVersion":{"type":"string","description":"Indicates the version of a message engine.\nOptions: `2.3.0`, `2.7`.\n"},"maintainBegin":{"type":"string","description":"Indicates the time at which a maintenance time window starts.\nFormat: `HH:mm`.\n* The start time and end time of a maintenance time window must indicate the time segment of\na supported maintenance time window.\n* The start time must be set to `22:00`, `02:00`, `06:00`, `10:00`, `14:00`, or `18:00`.\n* Parameters \u003cspan pulumi-lang-nodejs=\"`maintainBegin`\" pulumi-lang-dotnet=\"`MaintainBegin`\" pulumi-lang-go=\"`maintainBegin`\" pulumi-lang-python=\"`maintain_begin`\" pulumi-lang-yaml=\"`maintainBegin`\" pulumi-lang-java=\"`maintainBegin`\"\u003e`maintain_begin`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`maintainEnd`\" pulumi-lang-dotnet=\"`MaintainEnd`\" pulumi-lang-go=\"`maintainEnd`\" pulumi-lang-python=\"`maintain_end`\" pulumi-lang-yaml=\"`maintainEnd`\" pulumi-lang-java=\"`maintainEnd`\"\u003e`maintain_end`\u003c/span\u003e must be set in pairs. If parameter \u003cspan pulumi-lang-nodejs=\"`maintainBegin`\" pulumi-lang-dotnet=\"`MaintainBegin`\" pulumi-lang-go=\"`maintainBegin`\" pulumi-lang-python=\"`maintain_begin`\" pulumi-lang-yaml=\"`maintainBegin`\" pulumi-lang-java=\"`maintainBegin`\"\u003e`maintain_begin`\u003c/span\u003e\nis left blank, parameter \u003cspan pulumi-lang-nodejs=\"`maintainEnd`\" pulumi-lang-dotnet=\"`MaintainEnd`\" pulumi-lang-go=\"`maintainEnd`\" pulumi-lang-python=\"`maintain_end`\" pulumi-lang-yaml=\"`maintainEnd`\" pulumi-lang-java=\"`maintainEnd`\"\u003e`maintain_end`\u003c/span\u003e is also blank. In this case, the system automatically\nallocates the default start time `02:00`.\n"},"maintainEnd":{"type":"string","description":"Indicates the time at which a maintenance time window ends.\nFormat: `HH:mm`.\n* The start time and end time of a maintenance time window must indicate the time segment of\na supported maintenance time window.\n* The end time is four hours later than the start time. For example, if the start time is `22:00`,\nthe end time is `02:00`.\n* Parameters \u003cspan pulumi-lang-nodejs=\"`maintainBegin`\" pulumi-lang-dotnet=\"`MaintainBegin`\" pulumi-lang-go=\"`maintainBegin`\" pulumi-lang-python=\"`maintain_begin`\" pulumi-lang-yaml=\"`maintainBegin`\" pulumi-lang-java=\"`maintainBegin`\"\u003e`maintain_begin`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`maintainEnd`\" pulumi-lang-dotnet=\"`MaintainEnd`\" pulumi-lang-go=\"`maintainEnd`\" pulumi-lang-python=\"`maintain_end`\" pulumi-lang-yaml=\"`maintainEnd`\" pulumi-lang-java=\"`maintainEnd`\"\u003e`maintain_end`\u003c/span\u003e must be set in pairs. If parameter \u003cspan pulumi-lang-nodejs=\"`maintainEnd`\" pulumi-lang-dotnet=\"`MaintainEnd`\" pulumi-lang-go=\"`maintainEnd`\" pulumi-lang-python=\"`maintain_end`\" pulumi-lang-yaml=\"`maintainEnd`\" pulumi-lang-java=\"`maintainEnd`\"\u003e`maintain_end`\u003c/span\u003e is left\nblank, parameter \u003cspan pulumi-lang-nodejs=\"`maintainBegin`\" pulumi-lang-dotnet=\"`MaintainBegin`\" pulumi-lang-go=\"`maintainBegin`\" pulumi-lang-python=\"`maintain_begin`\" pulumi-lang-yaml=\"`maintainBegin`\" pulumi-lang-java=\"`maintainBegin`\"\u003e`maintain_begin`\u003c/span\u003e is also blank. In this case, the system automatically allocates\nthe default end time `06:00`.\n"},"name":{"type":"string","description":"Indicates the name of an instance. An instance name starts with a letter,\nconsists of 4 to 64 characters, and supports only letters, digits, and hyphens (-).\n"},"partitionNum":{"type":"number","description":"This parameter is mandatory when a \u003cspan pulumi-lang-nodejs=\"`kafka`\" pulumi-lang-dotnet=\"`Kafka`\" pulumi-lang-go=\"`kafka`\" pulumi-lang-python=\"`kafka`\" pulumi-lang-yaml=\"`kafka`\" pulumi-lang-java=\"`kafka`\"\u003e`kafka`\u003c/span\u003e instance is created.\nIndicates the maximum number of topics in a Kafka instance.\n* When \u003cspan pulumi-lang-nodejs=\"`specification`\" pulumi-lang-dotnet=\"`Specification`\" pulumi-lang-go=\"`specification`\" pulumi-lang-python=\"`specification`\" pulumi-lang-yaml=\"`specification`\" pulumi-lang-java=\"`specification`\"\u003e`specification`\u003c/span\u003e is `100MB`: \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e\n* When \u003cspan pulumi-lang-nodejs=\"`specification`\" pulumi-lang-dotnet=\"`Specification`\" pulumi-lang-go=\"`specification`\" pulumi-lang-python=\"`specification`\" pulumi-lang-yaml=\"`specification`\" pulumi-lang-java=\"`specification`\"\u003e`specification`\u003c/span\u003e is `300MB`: \u003cspan pulumi-lang-nodejs=\"`900`\" pulumi-lang-dotnet=\"`900`\" pulumi-lang-go=\"`900`\" pulumi-lang-python=\"`900`\" pulumi-lang-yaml=\"`900`\" pulumi-lang-java=\"`900`\"\u003e`900`\u003c/span\u003e\n* When \u003cspan pulumi-lang-nodejs=\"`specification`\" pulumi-lang-dotnet=\"`Specification`\" pulumi-lang-go=\"`specification`\" pulumi-lang-python=\"`specification`\" pulumi-lang-yaml=\"`specification`\" pulumi-lang-java=\"`specification`\"\u003e`specification`\u003c/span\u003e is `600MB`: \u003cspan pulumi-lang-nodejs=\"`1800`\" pulumi-lang-dotnet=\"`1800`\" pulumi-lang-go=\"`1800`\" pulumi-lang-python=\"`1800`\" pulumi-lang-yaml=\"`1800`\" pulumi-lang-java=\"`1800`\"\u003e`1800`\u003c/span\u003e\n* When \u003cspan pulumi-lang-nodejs=\"`specification`\" pulumi-lang-dotnet=\"`Specification`\" pulumi-lang-go=\"`specification`\" pulumi-lang-python=\"`specification`\" pulumi-lang-yaml=\"`specification`\" pulumi-lang-java=\"`specification`\"\u003e`specification`\u003c/span\u003e is `1200MB`: \u003cspan pulumi-lang-nodejs=\"`1800`\" pulumi-lang-dotnet=\"`1800`\" pulumi-lang-go=\"`1800`\" pulumi-lang-python=\"`1800`\" pulumi-lang-yaml=\"`1800`\" pulumi-lang-java=\"`1800`\"\u003e`1800`\u003c/span\u003e\n"},"password":{"type":"string","description":"Indicates the password of an instance. An instance password\nmust meet the following complexity requirements: Must be 8 to 32 characters long.\nMust contain at least 2 of the following character types: lowercase letters, uppercase\nletters, digits, and special characters (`~!@#$%^\u0026*()-_=+\\|[{}]:'\",\u003c.\u003e/?`).\n","secret":true},"productId":{"type":"string","description":"Indicates a product ID.\n"},"publicBandwidth":{"type":"number"},"publicipIds":{"type":"array","items":{"type":"string"},"description":"List of `public ip` IDs to be bound to DMS instance nodes.\n* Provided ip amount should be same as amount of DMS cluster nodes.\n* Example: `[\"0f2a51dc-93ce-42af\",\"d967d49b-6659-4052\",\"002872f4-82a4-4f6e-9a4e\"]`.\n"},"retentionPolicy":{"type":"string","description":"Indicates the action to be taken when the memory usage reaches\nthe disk capacity threshold. The possible values are:\n"},"securityGroupId":{"type":"string","description":"Indicates the ID of a security group.\n"},"specification":{"type":"string","description":"This parameter is mandatory if the engine is \u003cspan pulumi-lang-nodejs=\"`kafka`\" pulumi-lang-dotnet=\"`Kafka`\" pulumi-lang-go=\"`kafka`\" pulumi-lang-python=\"`kafka`\" pulumi-lang-yaml=\"`kafka`\" pulumi-lang-java=\"`kafka`\"\u003e`kafka`\u003c/span\u003e.\nIndicates the baseline bandwidth of a Kafka instance, that is, the maximum amount\nof data transferred per unit time. Unit: `byte/s`. Options: `100MB`, `300MB`,\n`600MB`, `1200MB`.\n"},"storageSpace":{"type":"number","description":"Indicates the message storage space. Value range:\n* Kafka instance with \u003cspan pulumi-lang-nodejs=\"`specification`\" pulumi-lang-dotnet=\"`Specification`\" pulumi-lang-go=\"`specification`\" pulumi-lang-python=\"`specification`\" pulumi-lang-yaml=\"`specification`\" pulumi-lang-java=\"`specification`\"\u003e`specification`\u003c/span\u003e being `100MB`: \u003cspan pulumi-lang-nodejs=\"`600`\" pulumi-lang-dotnet=\"`600`\" pulumi-lang-go=\"`600`\" pulumi-lang-python=\"`600`\" pulumi-lang-yaml=\"`600`\" pulumi-lang-java=\"`600`\"\u003e`600`\u003c/span\u003e–\u003cspan pulumi-lang-nodejs=\"`90000`\" pulumi-lang-dotnet=\"`90000`\" pulumi-lang-go=\"`90000`\" pulumi-lang-python=\"`90000`\" pulumi-lang-yaml=\"`90000`\" pulumi-lang-java=\"`90000`\"\u003e`90000`\u003c/span\u003e GB\n* Kafka instance with \u003cspan pulumi-lang-nodejs=\"`specification`\" pulumi-lang-dotnet=\"`Specification`\" pulumi-lang-go=\"`specification`\" pulumi-lang-python=\"`specification`\" pulumi-lang-yaml=\"`specification`\" pulumi-lang-java=\"`specification`\"\u003e`specification`\u003c/span\u003e being `300MB`: \u003cspan pulumi-lang-nodejs=\"`1200`\" pulumi-lang-dotnet=\"`1200`\" pulumi-lang-go=\"`1200`\" pulumi-lang-python=\"`1200`\" pulumi-lang-yaml=\"`1200`\" pulumi-lang-java=\"`1200`\"\u003e`1200`\u003c/span\u003e–\u003cspan pulumi-lang-nodejs=\"`90000`\" pulumi-lang-dotnet=\"`90000`\" pulumi-lang-go=\"`90000`\" pulumi-lang-python=\"`90000`\" pulumi-lang-yaml=\"`90000`\" pulumi-lang-java=\"`90000`\"\u003e`90000`\u003c/span\u003e GB\n* Kafka instance with \u003cspan pulumi-lang-nodejs=\"`specification`\" pulumi-lang-dotnet=\"`Specification`\" pulumi-lang-go=\"`specification`\" pulumi-lang-python=\"`specification`\" pulumi-lang-yaml=\"`specification`\" pulumi-lang-java=\"`specification`\"\u003e`specification`\u003c/span\u003e being `600MB`: \u003cspan pulumi-lang-nodejs=\"`2400`\" pulumi-lang-dotnet=\"`2400`\" pulumi-lang-go=\"`2400`\" pulumi-lang-python=\"`2400`\" pulumi-lang-yaml=\"`2400`\" pulumi-lang-java=\"`2400`\"\u003e`2400`\u003c/span\u003e–\u003cspan pulumi-lang-nodejs=\"`90000`\" pulumi-lang-dotnet=\"`90000`\" pulumi-lang-go=\"`90000`\" pulumi-lang-python=\"`90000`\" pulumi-lang-yaml=\"`90000`\" pulumi-lang-java=\"`90000`\"\u003e`90000`\u003c/span\u003e GB\n* Kafka instance with \u003cspan pulumi-lang-nodejs=\"`specification`\" pulumi-lang-dotnet=\"`Specification`\" pulumi-lang-go=\"`specification`\" pulumi-lang-python=\"`specification`\" pulumi-lang-yaml=\"`specification`\" pulumi-lang-java=\"`specification`\"\u003e`specification`\u003c/span\u003e being `1200MB`: \u003cspan pulumi-lang-nodejs=\"`4800`\" pulumi-lang-dotnet=\"`4800`\" pulumi-lang-go=\"`4800`\" pulumi-lang-python=\"`4800`\" pulumi-lang-yaml=\"`4800`\" pulumi-lang-java=\"`4800`\"\u003e`4800`\u003c/span\u003e–\u003cspan pulumi-lang-nodejs=\"`90000`\" pulumi-lang-dotnet=\"`90000`\" pulumi-lang-go=\"`90000`\" pulumi-lang-python=\"`90000`\" pulumi-lang-yaml=\"`90000`\" pulumi-lang-java=\"`90000`\"\u003e`90000`\u003c/span\u003e GB\n"},"storageSpecCode":{"type":"string","description":"Indicates the storage I/O specification. Options for a Kafka instance:\n* When \u003cspan pulumi-lang-nodejs=\"`specification`\" pulumi-lang-dotnet=\"`Specification`\" pulumi-lang-go=\"`specification`\" pulumi-lang-python=\"`specification`\" pulumi-lang-yaml=\"`specification`\" pulumi-lang-java=\"`specification`\"\u003e`specification`\u003c/span\u003e is `100MB`: `dms.physical.storage.high` or `dms.physical.storage.ultra`\n* When \u003cspan pulumi-lang-nodejs=\"`specification`\" pulumi-lang-dotnet=\"`Specification`\" pulumi-lang-go=\"`specification`\" pulumi-lang-python=\"`specification`\" pulumi-lang-yaml=\"`specification`\" pulumi-lang-java=\"`specification`\"\u003e`specification`\u003c/span\u003e is `300MB`: `dms.physical.storage.high` or `dms.physical.storage.ultra`\n* When \u003cspan pulumi-lang-nodejs=\"`specification`\" pulumi-lang-dotnet=\"`Specification`\" pulumi-lang-go=\"`specification`\" pulumi-lang-python=\"`specification`\" pulumi-lang-yaml=\"`specification`\" pulumi-lang-java=\"`specification`\"\u003e`specification`\u003c/span\u003e is `600MB`: `dms.physical.storage.ultra`\n* When \u003cspan pulumi-lang-nodejs=\"`specification`\" pulumi-lang-dotnet=\"`Specification`\" pulumi-lang-go=\"`specification`\" pulumi-lang-python=\"`specification`\" pulumi-lang-yaml=\"`specification`\" pulumi-lang-java=\"`specification`\"\u003e`specification`\u003c/span\u003e is `1200MB`: `dms.physical.storage.ultra`\n"},"subnetId":{"type":"string","description":"Indicates the ID of the subnet (OpenStack network ID).\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags key/value pairs to associate with the instance.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FDmsInstanceV2Timeouts:DmsInstanceV2Timeouts"},"vpcId":{"type":"string","description":"Indicates the ID of a VPC (OpenStack router ID).\n"}},"requiredInputs":["availableZones","engine","engineVersion","productId","securityGroupId","storageSpace","storageSpecCode","subnetId","vpcId"],"stateInputs":{"description":"Input properties used for looking up and filtering DmsInstanceV2 resources.\n","properties":{"accessUser":{"type":"string","description":"Indicates a username. A username consists of 4 to 64 characters\nand supports only letters, digits, and hyphens (-).\n* Providing \u003cspan pulumi-lang-nodejs=\"`accessUser`\" pulumi-lang-dotnet=\"`AccessUser`\" pulumi-lang-go=\"`accessUser`\" pulumi-lang-python=\"`access_user`\" pulumi-lang-yaml=\"`accessUser`\" pulumi-lang-java=\"`accessUser`\"\u003e`access_user`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\"\u003e`password`\u003c/span\u003e enables \u003cspan pulumi-lang-nodejs=\"`ssl`\" pulumi-lang-dotnet=\"`Ssl`\" pulumi-lang-go=\"`ssl`\" pulumi-lang-python=\"`ssl`\" pulumi-lang-yaml=\"`ssl`\" pulumi-lang-java=\"`ssl`\"\u003e`ssl`\u003c/span\u003e for the instance.\n"},"availableZones":{"type":"array","items":{"type":"string"},"description":"Indicates the ID of an AZ. The parameter value can not be\nleft blank or an empty array. For details, see section\n[Querying AZ Information](https://docs.otc.t-systems.com/distributed-message-service/api-ref/apis_v2_recommended/other_apis/listing_az_information.html#listavailablezones).\n"},"connectAddress":{"type":"string","description":"Indicates the IP address of an instance.\n"},"createdAt":{"type":"string","description":"Indicates the time when an instance is created. The time is in the format\nof timestamp, that is, the offset milliseconds from 1970-01-01 00:00:00 UTC to the specified time.\n"},"description":{"type":"string","description":"Indicates the description of an instance. It is a character\nstring containing not more than 1024 characters.\n"},"diskEncryptedEnable":{"type":"boolean","description":"Indicates whether disk encryption is enabled.\n"},"diskEncryptedKey":{"type":"string","description":"Disk encryption key. If disk encryption is not enabled, this parameter is left blank.\n"},"dmsInstanceV2Id":{"type":"string"},"enablePublicip":{"type":"boolean","description":"Whether to enable public access. By default, public access is disabled.\n* Possible values: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n* Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"engine":{"type":"string","description":"Indicates a message engine. Only \u003cspan pulumi-lang-nodejs=\"`kafka`\" pulumi-lang-dotnet=\"`Kafka`\" pulumi-lang-go=\"`kafka`\" pulumi-lang-python=\"`kafka`\" pulumi-lang-yaml=\"`kafka`\" pulumi-lang-java=\"`kafka`\"\u003e`kafka`\u003c/span\u003e is supported now.\n"},"engineVersion":{"type":"string","description":"Indicates the version of a message engine.\nOptions: `2.3.0`, `2.7`.\n"},"maintainBegin":{"type":"string","description":"Indicates the time at which a maintenance time window starts.\nFormat: `HH:mm`.\n* The start time and end time of a maintenance time window must indicate the time segment of\na supported maintenance time window.\n* The start time must be set to `22:00`, `02:00`, `06:00`, `10:00`, `14:00`, or `18:00`.\n* Parameters \u003cspan pulumi-lang-nodejs=\"`maintainBegin`\" pulumi-lang-dotnet=\"`MaintainBegin`\" pulumi-lang-go=\"`maintainBegin`\" pulumi-lang-python=\"`maintain_begin`\" pulumi-lang-yaml=\"`maintainBegin`\" pulumi-lang-java=\"`maintainBegin`\"\u003e`maintain_begin`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`maintainEnd`\" pulumi-lang-dotnet=\"`MaintainEnd`\" pulumi-lang-go=\"`maintainEnd`\" pulumi-lang-python=\"`maintain_end`\" pulumi-lang-yaml=\"`maintainEnd`\" pulumi-lang-java=\"`maintainEnd`\"\u003e`maintain_end`\u003c/span\u003e must be set in pairs. If parameter \u003cspan pulumi-lang-nodejs=\"`maintainBegin`\" pulumi-lang-dotnet=\"`MaintainBegin`\" pulumi-lang-go=\"`maintainBegin`\" pulumi-lang-python=\"`maintain_begin`\" pulumi-lang-yaml=\"`maintainBegin`\" pulumi-lang-java=\"`maintainBegin`\"\u003e`maintain_begin`\u003c/span\u003e\nis left blank, parameter \u003cspan pulumi-lang-nodejs=\"`maintainEnd`\" pulumi-lang-dotnet=\"`MaintainEnd`\" pulumi-lang-go=\"`maintainEnd`\" pulumi-lang-python=\"`maintain_end`\" pulumi-lang-yaml=\"`maintainEnd`\" pulumi-lang-java=\"`maintainEnd`\"\u003e`maintain_end`\u003c/span\u003e is also blank. In this case, the system automatically\nallocates the default start time `02:00`.\n"},"maintainEnd":{"type":"string","description":"Indicates the time at which a maintenance time window ends.\nFormat: `HH:mm`.\n* The start time and end time of a maintenance time window must indicate the time segment of\na supported maintenance time window.\n* The end time is four hours later than the start time. For example, if the start time is `22:00`,\nthe end time is `02:00`.\n* Parameters \u003cspan pulumi-lang-nodejs=\"`maintainBegin`\" pulumi-lang-dotnet=\"`MaintainBegin`\" pulumi-lang-go=\"`maintainBegin`\" pulumi-lang-python=\"`maintain_begin`\" pulumi-lang-yaml=\"`maintainBegin`\" pulumi-lang-java=\"`maintainBegin`\"\u003e`maintain_begin`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`maintainEnd`\" pulumi-lang-dotnet=\"`MaintainEnd`\" pulumi-lang-go=\"`maintainEnd`\" pulumi-lang-python=\"`maintain_end`\" pulumi-lang-yaml=\"`maintainEnd`\" pulumi-lang-java=\"`maintainEnd`\"\u003e`maintain_end`\u003c/span\u003e must be set in pairs. If parameter \u003cspan pulumi-lang-nodejs=\"`maintainEnd`\" pulumi-lang-dotnet=\"`MaintainEnd`\" pulumi-lang-go=\"`maintainEnd`\" pulumi-lang-python=\"`maintain_end`\" pulumi-lang-yaml=\"`maintainEnd`\" pulumi-lang-java=\"`maintainEnd`\"\u003e`maintain_end`\u003c/span\u003e is left\nblank, parameter \u003cspan pulumi-lang-nodejs=\"`maintainBegin`\" pulumi-lang-dotnet=\"`MaintainBegin`\" pulumi-lang-go=\"`maintainBegin`\" pulumi-lang-python=\"`maintain_begin`\" pulumi-lang-yaml=\"`maintainBegin`\" pulumi-lang-java=\"`maintainBegin`\"\u003e`maintain_begin`\u003c/span\u003e is also blank. In this case, the system automatically allocates\nthe default end time `06:00`.\n"},"name":{"type":"string","description":"Indicates the name of an instance. An instance name starts with a letter,\nconsists of 4 to 64 characters, and supports only letters, digits, and hyphens (-).\n"},"nodeNum":{"type":"number","description":"Node quantity.\n"},"partitionNum":{"type":"number","description":"This parameter is mandatory when a \u003cspan pulumi-lang-nodejs=\"`kafka`\" pulumi-lang-dotnet=\"`Kafka`\" pulumi-lang-go=\"`kafka`\" pulumi-lang-python=\"`kafka`\" pulumi-lang-yaml=\"`kafka`\" pulumi-lang-java=\"`kafka`\"\u003e`kafka`\u003c/span\u003e instance is created.\nIndicates the maximum number of topics in a Kafka instance.\n* When \u003cspan pulumi-lang-nodejs=\"`specification`\" pulumi-lang-dotnet=\"`Specification`\" pulumi-lang-go=\"`specification`\" pulumi-lang-python=\"`specification`\" pulumi-lang-yaml=\"`specification`\" pulumi-lang-java=\"`specification`\"\u003e`specification`\u003c/span\u003e is `100MB`: \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e\n* When \u003cspan pulumi-lang-nodejs=\"`specification`\" pulumi-lang-dotnet=\"`Specification`\" pulumi-lang-go=\"`specification`\" pulumi-lang-python=\"`specification`\" pulumi-lang-yaml=\"`specification`\" pulumi-lang-java=\"`specification`\"\u003e`specification`\u003c/span\u003e is `300MB`: \u003cspan pulumi-lang-nodejs=\"`900`\" pulumi-lang-dotnet=\"`900`\" pulumi-lang-go=\"`900`\" pulumi-lang-python=\"`900`\" pulumi-lang-yaml=\"`900`\" pulumi-lang-java=\"`900`\"\u003e`900`\u003c/span\u003e\n* When \u003cspan pulumi-lang-nodejs=\"`specification`\" pulumi-lang-dotnet=\"`Specification`\" pulumi-lang-go=\"`specification`\" pulumi-lang-python=\"`specification`\" pulumi-lang-yaml=\"`specification`\" pulumi-lang-java=\"`specification`\"\u003e`specification`\u003c/span\u003e is `600MB`: \u003cspan pulumi-lang-nodejs=\"`1800`\" pulumi-lang-dotnet=\"`1800`\" pulumi-lang-go=\"`1800`\" pulumi-lang-python=\"`1800`\" pulumi-lang-yaml=\"`1800`\" pulumi-lang-java=\"`1800`\"\u003e`1800`\u003c/span\u003e\n* When \u003cspan pulumi-lang-nodejs=\"`specification`\" pulumi-lang-dotnet=\"`Specification`\" pulumi-lang-go=\"`specification`\" pulumi-lang-python=\"`specification`\" pulumi-lang-yaml=\"`specification`\" pulumi-lang-java=\"`specification`\"\u003e`specification`\u003c/span\u003e is `1200MB`: \u003cspan pulumi-lang-nodejs=\"`1800`\" pulumi-lang-dotnet=\"`1800`\" pulumi-lang-go=\"`1800`\" pulumi-lang-python=\"`1800`\" pulumi-lang-yaml=\"`1800`\" pulumi-lang-java=\"`1800`\"\u003e`1800`\u003c/span\u003e\n"},"password":{"type":"string","description":"Indicates the password of an instance. An instance password\nmust meet the following complexity requirements: Must be 8 to 32 characters long.\nMust contain at least 2 of the following character types: lowercase letters, uppercase\nletters, digits, and special characters (`~!@#$%^\u0026*()-_=+\\|[{}]:'\",\u003c.\u003e/?`).\n","secret":true},"port":{"type":"number","description":"Indicates the port number of an instance.\n"},"productId":{"type":"string","description":"Indicates a product ID.\n"},"publicAccessEnabled":{"type":"string","description":"Time when public access was enabled for an instance.\nThe value can be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`actived`\" pulumi-lang-dotnet=\"`Actived`\" pulumi-lang-go=\"`actived`\" pulumi-lang-python=\"`actived`\" pulumi-lang-yaml=\"`actived`\" pulumi-lang-java=\"`actived`\"\u003e`actived`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`closed`\" pulumi-lang-dotnet=\"`Closed`\" pulumi-lang-go=\"`closed`\" pulumi-lang-python=\"`closed`\" pulumi-lang-yaml=\"`closed`\" pulumi-lang-java=\"`closed`\"\u003e`closed`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"publicBandwidth":{"type":"number"},"publicConnectAddresses":{"type":"array","items":{"type":"string"},"description":"List of Public IPs bound to DMS instance with specified port.\n"},"publicipIds":{"type":"array","items":{"type":"string"},"description":"List of `public ip` IDs to be bound to DMS instance nodes.\n* Provided ip amount should be same as amount of DMS cluster nodes.\n* Example: `[\"0f2a51dc-93ce-42af\",\"d967d49b-6659-4052\",\"002872f4-82a4-4f6e-9a4e\"]`.\n"},"resourceSpecCode":{"type":"string","description":"Indicates a resource specifications identifier.\n"},"retentionPolicy":{"type":"string","description":"Indicates the action to be taken when the memory usage reaches\nthe disk capacity threshold. The possible values are:\n"},"securityGroupId":{"type":"string","description":"Indicates the ID of a security group.\n"},"securityGroupName":{"type":"string","description":"Indicates the name of a security group.\n"},"specification":{"type":"string","description":"This parameter is mandatory if the engine is \u003cspan pulumi-lang-nodejs=\"`kafka`\" pulumi-lang-dotnet=\"`Kafka`\" pulumi-lang-go=\"`kafka`\" pulumi-lang-python=\"`kafka`\" pulumi-lang-yaml=\"`kafka`\" pulumi-lang-java=\"`kafka`\"\u003e`kafka`\u003c/span\u003e.\nIndicates the baseline bandwidth of a Kafka instance, that is, the maximum amount\nof data transferred per unit time. Unit: `byte/s`. Options: `100MB`, `300MB`,\n`600MB`, `1200MB`.\n"},"sslEnable":{"type":"boolean","description":"Indicates whether security authentication is enabled.\nPossible values: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"status":{"type":"string","description":"Indicates the status of an instance. For details, see section Instance Status.\n"},"storageResourceId":{"type":"string","description":"Storage resource ID.\n"},"storageSpace":{"type":"number","description":"Indicates the message storage space. Value range:\n* Kafka instance with \u003cspan pulumi-lang-nodejs=\"`specification`\" pulumi-lang-dotnet=\"`Specification`\" pulumi-lang-go=\"`specification`\" pulumi-lang-python=\"`specification`\" pulumi-lang-yaml=\"`specification`\" pulumi-lang-java=\"`specification`\"\u003e`specification`\u003c/span\u003e being `100MB`: \u003cspan pulumi-lang-nodejs=\"`600`\" pulumi-lang-dotnet=\"`600`\" pulumi-lang-go=\"`600`\" pulumi-lang-python=\"`600`\" pulumi-lang-yaml=\"`600`\" pulumi-lang-java=\"`600`\"\u003e`600`\u003c/span\u003e–\u003cspan pulumi-lang-nodejs=\"`90000`\" pulumi-lang-dotnet=\"`90000`\" pulumi-lang-go=\"`90000`\" pulumi-lang-python=\"`90000`\" pulumi-lang-yaml=\"`90000`\" pulumi-lang-java=\"`90000`\"\u003e`90000`\u003c/span\u003e GB\n* Kafka instance with \u003cspan pulumi-lang-nodejs=\"`specification`\" pulumi-lang-dotnet=\"`Specification`\" pulumi-lang-go=\"`specification`\" pulumi-lang-python=\"`specification`\" pulumi-lang-yaml=\"`specification`\" pulumi-lang-java=\"`specification`\"\u003e`specification`\u003c/span\u003e being `300MB`: \u003cspan pulumi-lang-nodejs=\"`1200`\" pulumi-lang-dotnet=\"`1200`\" pulumi-lang-go=\"`1200`\" pulumi-lang-python=\"`1200`\" pulumi-lang-yaml=\"`1200`\" pulumi-lang-java=\"`1200`\"\u003e`1200`\u003c/span\u003e–\u003cspan pulumi-lang-nodejs=\"`90000`\" pulumi-lang-dotnet=\"`90000`\" pulumi-lang-go=\"`90000`\" pulumi-lang-python=\"`90000`\" pulumi-lang-yaml=\"`90000`\" pulumi-lang-java=\"`90000`\"\u003e`90000`\u003c/span\u003e GB\n* Kafka instance with \u003cspan pulumi-lang-nodejs=\"`specification`\" pulumi-lang-dotnet=\"`Specification`\" pulumi-lang-go=\"`specification`\" pulumi-lang-python=\"`specification`\" pulumi-lang-yaml=\"`specification`\" pulumi-lang-java=\"`specification`\"\u003e`specification`\u003c/span\u003e being `600MB`: \u003cspan pulumi-lang-nodejs=\"`2400`\" pulumi-lang-dotnet=\"`2400`\" pulumi-lang-go=\"`2400`\" pulumi-lang-python=\"`2400`\" pulumi-lang-yaml=\"`2400`\" pulumi-lang-java=\"`2400`\"\u003e`2400`\u003c/span\u003e–\u003cspan pulumi-lang-nodejs=\"`90000`\" pulumi-lang-dotnet=\"`90000`\" pulumi-lang-go=\"`90000`\" pulumi-lang-python=\"`90000`\" pulumi-lang-yaml=\"`90000`\" pulumi-lang-java=\"`90000`\"\u003e`90000`\u003c/span\u003e GB\n* Kafka instance with \u003cspan pulumi-lang-nodejs=\"`specification`\" pulumi-lang-dotnet=\"`Specification`\" pulumi-lang-go=\"`specification`\" pulumi-lang-python=\"`specification`\" pulumi-lang-yaml=\"`specification`\" pulumi-lang-java=\"`specification`\"\u003e`specification`\u003c/span\u003e being `1200MB`: \u003cspan pulumi-lang-nodejs=\"`4800`\" pulumi-lang-dotnet=\"`4800`\" pulumi-lang-go=\"`4800`\" pulumi-lang-python=\"`4800`\" pulumi-lang-yaml=\"`4800`\" pulumi-lang-java=\"`4800`\"\u003e`4800`\u003c/span\u003e–\u003cspan pulumi-lang-nodejs=\"`90000`\" pulumi-lang-dotnet=\"`90000`\" pulumi-lang-go=\"`90000`\" pulumi-lang-python=\"`90000`\" pulumi-lang-yaml=\"`90000`\" pulumi-lang-java=\"`90000`\"\u003e`90000`\u003c/span\u003e GB\n"},"storageSpecCode":{"type":"string","description":"Indicates the storage I/O specification. Options for a Kafka instance:\n* When \u003cspan pulumi-lang-nodejs=\"`specification`\" pulumi-lang-dotnet=\"`Specification`\" pulumi-lang-go=\"`specification`\" pulumi-lang-python=\"`specification`\" pulumi-lang-yaml=\"`specification`\" pulumi-lang-java=\"`specification`\"\u003e`specification`\u003c/span\u003e is `100MB`: `dms.physical.storage.high` or `dms.physical.storage.ultra`\n* When \u003cspan pulumi-lang-nodejs=\"`specification`\" pulumi-lang-dotnet=\"`Specification`\" pulumi-lang-go=\"`specification`\" pulumi-lang-python=\"`specification`\" pulumi-lang-yaml=\"`specification`\" pulumi-lang-java=\"`specification`\"\u003e`specification`\u003c/span\u003e is `300MB`: `dms.physical.storage.high` or `dms.physical.storage.ultra`\n* When \u003cspan pulumi-lang-nodejs=\"`specification`\" pulumi-lang-dotnet=\"`Specification`\" pulumi-lang-go=\"`specification`\" pulumi-lang-python=\"`specification`\" pulumi-lang-yaml=\"`specification`\" pulumi-lang-java=\"`specification`\"\u003e`specification`\u003c/span\u003e is `600MB`: `dms.physical.storage.ultra`\n* When \u003cspan pulumi-lang-nodejs=\"`specification`\" pulumi-lang-dotnet=\"`Specification`\" pulumi-lang-go=\"`specification`\" pulumi-lang-python=\"`specification`\" pulumi-lang-yaml=\"`specification`\" pulumi-lang-java=\"`specification`\"\u003e`specification`\u003c/span\u003e is `1200MB`: `dms.physical.storage.ultra`\n"},"subnetCidr":{"type":"string","description":"Indicates subnet CIDR block.\n"},"subnetId":{"type":"string","description":"Indicates the ID of the subnet (OpenStack network ID).\n"},"subnetName":{"type":"string","description":"Indicates the name of a subnet.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags key/value pairs to associate with the instance.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FDmsInstanceV2Timeouts:DmsInstanceV2Timeouts"},"totalStorageSpace":{"type":"number","description":"Total message storage space in GB.\n"},"type":{"type":"string","description":"Indicates an instance type. Options: \u003cspan pulumi-lang-nodejs=\"`single`\" pulumi-lang-dotnet=\"`Single`\" pulumi-lang-go=\"`single`\" pulumi-lang-python=\"`single`\" pulumi-lang-yaml=\"`single`\" pulumi-lang-java=\"`single`\"\u003e`single`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`cluster`\" pulumi-lang-dotnet=\"`Cluster`\" pulumi-lang-go=\"`cluster`\" pulumi-lang-python=\"`cluster`\" pulumi-lang-yaml=\"`cluster`\" pulumi-lang-java=\"`cluster`\"\u003e`cluster`\u003c/span\u003e.\n"},"usedStorageSpace":{"type":"number","description":"Indicates the used message storage space. Unit: GB\n"},"userId":{"type":"string","description":"Indicates a user ID.\n"},"userName":{"type":"string","description":"Indicates a username.\n"},"vpcId":{"type":"string","description":"Indicates the ID of a VPC (OpenStack router ID).\n"},"vpcName":{"type":"string"}},"type":"object"}},"opentelekomcloud:index/dmsReassignPartitionsV2:DmsReassignPartitionsV2":{"properties":{"dmsReassignPartitionsV2Id":{"type":"string"},"executeAt":{"type":"number"},"instanceId":{"type":"string"},"isSchedule":{"type":"boolean"},"reassignmentTime":{"type":"number"},"reassignments":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FDmsReassignPartitionsV2Reassignment:DmsReassignPartitionsV2Reassignment"}},"region":{"type":"string"},"throttle":{"type":"number"},"timeEstimate":{"type":"boolean"}},"type":"object","required":["dmsReassignPartitionsV2Id","instanceId","reassignmentTime","reassignments","region"],"inputProperties":{"dmsReassignPartitionsV2Id":{"type":"string"},"executeAt":{"type":"number"},"instanceId":{"type":"string"},"isSchedule":{"type":"boolean"},"reassignments":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FDmsReassignPartitionsV2Reassignment:DmsReassignPartitionsV2Reassignment"}},"throttle":{"type":"number"},"timeEstimate":{"type":"boolean"}},"requiredInputs":["instanceId","reassignments"],"stateInputs":{"description":"Input properties used for looking up and filtering DmsReassignPartitionsV2 resources.\n","properties":{"dmsReassignPartitionsV2Id":{"type":"string"},"executeAt":{"type":"number"},"instanceId":{"type":"string"},"isSchedule":{"type":"boolean"},"reassignmentTime":{"type":"number"},"reassignments":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FDmsReassignPartitionsV2Reassignment:DmsReassignPartitionsV2Reassignment"}},"region":{"type":"string"},"throttle":{"type":"number"},"timeEstimate":{"type":"boolean"}},"type":"object"}},"opentelekomcloud:index/dmsSmartConnectTaskActionV2:DmsSmartConnectTaskActionV2":{"properties":{"action":{"type":"string"},"dmsSmartConnectTaskActionV2Id":{"type":"string"},"instanceId":{"type":"string"},"region":{"type":"string"},"taskId":{"type":"string"},"taskStatus":{"type":"string"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FDmsSmartConnectTaskActionV2Timeouts:DmsSmartConnectTaskActionV2Timeouts"}},"type":"object","required":["action","dmsSmartConnectTaskActionV2Id","instanceId","region","taskId","taskStatus"],"inputProperties":{"action":{"type":"string"},"dmsSmartConnectTaskActionV2Id":{"type":"string"},"instanceId":{"type":"string"},"taskId":{"type":"string"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FDmsSmartConnectTaskActionV2Timeouts:DmsSmartConnectTaskActionV2Timeouts"}},"requiredInputs":["action","instanceId","taskId"],"stateInputs":{"description":"Input properties used for looking up and filtering DmsSmartConnectTaskActionV2 resources.\n","properties":{"action":{"type":"string"},"dmsSmartConnectTaskActionV2Id":{"type":"string"},"instanceId":{"type":"string"},"region":{"type":"string"},"taskId":{"type":"string"},"taskStatus":{"type":"string"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FDmsSmartConnectTaskActionV2Timeouts:DmsSmartConnectTaskActionV2Timeouts"}},"type":"object"}},"opentelekomcloud:index/dmsSmartConnectTaskV2:DmsSmartConnectTaskV2":{"description":"Up-to-date reference of API arguments for DMS instance you can get at\n[documentation portal](https://docs.otc.t-systems.com/distributed-message-service/api-ref/apis_v2_recommended/smart_connect/index.html)\n\nManage DMS kafka smart connect task resource within OpenTelekomCloud.\n\n## Example Usage\n\n### Create a task to dump Kafka data to OBS\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst instanceId = config.requireObject\u003cany\u003e(\"instanceId\");\nconst taskName = config.requireObject\u003cany\u003e(\"taskName\");\nconst topics = config.requireObject\u003cany\u003e(\"topics\");\nconst accessKey = config.requireObject\u003cany\u003e(\"accessKey\");\nconst secretKey = config.requireObject\u003cany\u003e(\"secretKey\");\nconst obsBucketName = config.requireObject\u003cany\u003e(\"obsBucketName\");\nconst obsPath = config.requireObject\u003cany\u003e(\"obsPath\");\nconst test = new opentelekomcloud.DmsSmartConnectTaskV2(\"test\", {\n    instanceId: instanceId,\n    taskName: taskName,\n    topics: topics,\n    destinationType: \"OBS_SINK\",\n    destinationTask: {\n        consumerStrategy: \"latest\",\n        destinationFileType: \"TEXT\",\n        accessKey: accessKey,\n        secretKey: secretKey,\n        obsBucketName: obsBucketName,\n        obsPath: obsPath,\n        partitionFormat: \"yyyy/MM/dd/HH/mm\",\n        recordDelimiter: \"\\n\",\n        deliverTimeInterval: 300,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ninstance_id = config.require_object(\"instanceId\")\ntask_name = config.require_object(\"taskName\")\ntopics = config.require_object(\"topics\")\naccess_key = config.require_object(\"accessKey\")\nsecret_key = config.require_object(\"secretKey\")\nobs_bucket_name = config.require_object(\"obsBucketName\")\nobs_path = config.require_object(\"obsPath\")\ntest = opentelekomcloud.DmsSmartConnectTaskV2(\"test\",\n    instance_id=instance_id,\n    task_name=task_name,\n    topics=topics,\n    destination_type=\"OBS_SINK\",\n    destination_task={\n        \"consumer_strategy\": \"latest\",\n        \"destination_file_type\": \"TEXT\",\n        \"access_key\": access_key,\n        \"secret_key\": secret_key,\n        \"obs_bucket_name\": obs_bucket_name,\n        \"obs_path\": obs_path,\n        \"partition_format\": \"yyyy/MM/dd/HH/mm\",\n        \"record_delimiter\": \"\\n\",\n        \"deliver_time_interval\": 300,\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var instanceId = config.RequireObject\u003cdynamic\u003e(\"instanceId\");\n    var taskName = config.RequireObject\u003cdynamic\u003e(\"taskName\");\n    var topics = config.RequireObject\u003cdynamic\u003e(\"topics\");\n    var accessKey = config.RequireObject\u003cdynamic\u003e(\"accessKey\");\n    var secretKey = config.RequireObject\u003cdynamic\u003e(\"secretKey\");\n    var obsBucketName = config.RequireObject\u003cdynamic\u003e(\"obsBucketName\");\n    var obsPath = config.RequireObject\u003cdynamic\u003e(\"obsPath\");\n    var test = new Opentelekomcloud.DmsSmartConnectTaskV2(\"test\", new()\n    {\n        InstanceId = instanceId,\n        TaskName = taskName,\n        Topics = topics,\n        DestinationType = \"OBS_SINK\",\n        DestinationTask = new Opentelekomcloud.Inputs.DmsSmartConnectTaskV2DestinationTaskArgs\n        {\n            ConsumerStrategy = \"latest\",\n            DestinationFileType = \"TEXT\",\n            AccessKey = accessKey,\n            SecretKey = secretKey,\n            ObsBucketName = obsBucketName,\n            ObsPath = obsPath,\n            PartitionFormat = \"yyyy/MM/dd/HH/mm\",\n            RecordDelimiter = @\"\n\",\n            DeliverTimeInterval = 300,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tinstanceId := cfg.RequireObject(\"instanceId\")\n\t\ttaskName := cfg.RequireObject(\"taskName\")\n\t\ttopics := cfg.RequireObject(\"topics\")\n\t\taccessKey := cfg.RequireObject(\"accessKey\")\n\t\tsecretKey := cfg.RequireObject(\"secretKey\")\n\t\tobsBucketName := cfg.RequireObject(\"obsBucketName\")\n\t\tobsPath := cfg.RequireObject(\"obsPath\")\n\t\t_, err := opentelekomcloud.NewDmsSmartConnectTaskV2(ctx, \"test\", \u0026opentelekomcloud.DmsSmartConnectTaskV2Args{\n\t\t\tInstanceId:      pulumi.Any(instanceId),\n\t\t\tTaskName:        pulumi.Any(taskName),\n\t\t\tTopics:          pulumi.Any(topics),\n\t\t\tDestinationType: pulumi.String(\"OBS_SINK\"),\n\t\t\tDestinationTask: \u0026opentelekomcloud.DmsSmartConnectTaskV2DestinationTaskArgs{\n\t\t\t\tConsumerStrategy:    pulumi.String(\"latest\"),\n\t\t\t\tDestinationFileType: pulumi.String(\"TEXT\"),\n\t\t\t\tAccessKey:           pulumi.Any(accessKey),\n\t\t\t\tSecretKey:           pulumi.Any(secretKey),\n\t\t\t\tObsBucketName:       pulumi.Any(obsBucketName),\n\t\t\t\tObsPath:             pulumi.Any(obsPath),\n\t\t\t\tPartitionFormat:     pulumi.String(\"yyyy/MM/dd/HH/mm\"),\n\t\t\t\tRecordDelimiter:     pulumi.String(\"\\n\"),\n\t\t\t\tDeliverTimeInterval: pulumi.Float64(300),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.DmsSmartConnectTaskV2;\nimport com.pulumi.opentelekomcloud.DmsSmartConnectTaskV2Args;\nimport com.pulumi.opentelekomcloud.inputs.DmsSmartConnectTaskV2DestinationTaskArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var instanceId = config.get(\"instanceId\");\n        final var taskName = config.get(\"taskName\");\n        final var topics = config.get(\"topics\");\n        final var accessKey = config.get(\"accessKey\");\n        final var secretKey = config.get(\"secretKey\");\n        final var obsBucketName = config.get(\"obsBucketName\");\n        final var obsPath = config.get(\"obsPath\");\n        var test = new DmsSmartConnectTaskV2(\"test\", DmsSmartConnectTaskV2Args.builder()\n            .instanceId(instanceId)\n            .taskName(taskName)\n            .topics(topics)\n            .destinationType(\"OBS_SINK\")\n            .destinationTask(DmsSmartConnectTaskV2DestinationTaskArgs.builder()\n                .consumerStrategy(\"latest\")\n                .destinationFileType(\"TEXT\")\n                .accessKey(accessKey)\n                .secretKey(secretKey)\n                .obsBucketName(obsBucketName)\n                .obsPath(obsPath)\n                .partitionFormat(\"yyyy/MM/dd/HH/mm\")\n                .recordDelimiter(\"\"\"\n\n                \"\"\")\n                .deliverTimeInterval(300.0)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  instanceId:\n    type: dynamic\n  taskName:\n    type: dynamic\n  topics:\n    type: dynamic\n  accessKey:\n    type: dynamic\n  secretKey:\n    type: dynamic\n  obsBucketName:\n    type: dynamic\n  obsPath:\n    type: dynamic\nresources:\n  test:\n    type: opentelekomcloud:DmsSmartConnectTaskV2\n    properties:\n      instanceId: ${instanceId}\n      taskName: ${taskName}\n      topics: ${topics}\n      destinationType: OBS_SINK\n      destinationTask:\n        consumerStrategy: latest\n        destinationFileType: TEXT\n        accessKey: ${accessKey}\n        secretKey: ${secretKey}\n        obsBucketName: ${obsBucketName}\n        obsPath: ${obsPath}\n        partitionFormat: yyyy/MM/dd/HH/mm\n        recordDelimiter: |2+\n        deliverTimeInterval: 300\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a Kafka data replication task\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst instanceId = config.requireObject\u003cany\u003e(\"instanceId\");\nconst taskName = config.requireObject\u003cany\u003e(\"taskName\");\nconst peerInstanceId = config.requireObject\u003cany\u003e(\"peerInstanceId\");\nconst test = new opentelekomcloud.DmsSmartConnectTaskV2(\"test\", {\n    instanceId: instanceId,\n    taskName: taskName,\n    topics: [\"topic-test\"],\n    sourceType: \"KAFKA_REPLICATOR_SOURCE\",\n    sourceTask: {\n        peerInstanceId: peerInstanceId,\n        direction: \"push\",\n        replicationFactor: 3,\n        taskNum: 2,\n        provenanceHeaderEnabled: false,\n        syncConsumerOffsetsEnabled: false,\n        renameTopicEnabled: false,\n        consumerStrategy: \"latest\",\n        compressionType: \"none\",\n        topicsMappings: [\"topic-test:topic-test-mapping\"],\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ninstance_id = config.require_object(\"instanceId\")\ntask_name = config.require_object(\"taskName\")\npeer_instance_id = config.require_object(\"peerInstanceId\")\ntest = opentelekomcloud.DmsSmartConnectTaskV2(\"test\",\n    instance_id=instance_id,\n    task_name=task_name,\n    topics=[\"topic-test\"],\n    source_type=\"KAFKA_REPLICATOR_SOURCE\",\n    source_task={\n        \"peer_instance_id\": peer_instance_id,\n        \"direction\": \"push\",\n        \"replication_factor\": 3,\n        \"task_num\": 2,\n        \"provenance_header_enabled\": False,\n        \"sync_consumer_offsets_enabled\": False,\n        \"rename_topic_enabled\": False,\n        \"consumer_strategy\": \"latest\",\n        \"compression_type\": \"none\",\n        \"topics_mappings\": [\"topic-test:topic-test-mapping\"],\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var instanceId = config.RequireObject\u003cdynamic\u003e(\"instanceId\");\n    var taskName = config.RequireObject\u003cdynamic\u003e(\"taskName\");\n    var peerInstanceId = config.RequireObject\u003cdynamic\u003e(\"peerInstanceId\");\n    var test = new Opentelekomcloud.DmsSmartConnectTaskV2(\"test\", new()\n    {\n        InstanceId = instanceId,\n        TaskName = taskName,\n        Topics = new[]\n        {\n            \"topic-test\",\n        },\n        SourceType = \"KAFKA_REPLICATOR_SOURCE\",\n        SourceTask = new Opentelekomcloud.Inputs.DmsSmartConnectTaskV2SourceTaskArgs\n        {\n            PeerInstanceId = peerInstanceId,\n            Direction = \"push\",\n            ReplicationFactor = 3,\n            TaskNum = 2,\n            ProvenanceHeaderEnabled = false,\n            SyncConsumerOffsetsEnabled = false,\n            RenameTopicEnabled = false,\n            ConsumerStrategy = \"latest\",\n            CompressionType = \"none\",\n            TopicsMappings = new[]\n            {\n                \"topic-test:topic-test-mapping\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tinstanceId := cfg.RequireObject(\"instanceId\")\n\t\ttaskName := cfg.RequireObject(\"taskName\")\n\t\tpeerInstanceId := cfg.RequireObject(\"peerInstanceId\")\n\t\t_, err := opentelekomcloud.NewDmsSmartConnectTaskV2(ctx, \"test\", \u0026opentelekomcloud.DmsSmartConnectTaskV2Args{\n\t\t\tInstanceId: pulumi.Any(instanceId),\n\t\t\tTaskName:   pulumi.Any(taskName),\n\t\t\tTopics: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"topic-test\"),\n\t\t\t},\n\t\t\tSourceType: pulumi.String(\"KAFKA_REPLICATOR_SOURCE\"),\n\t\t\tSourceTask: \u0026opentelekomcloud.DmsSmartConnectTaskV2SourceTaskArgs{\n\t\t\t\tPeerInstanceId:             pulumi.Any(peerInstanceId),\n\t\t\t\tDirection:                  pulumi.String(\"push\"),\n\t\t\t\tReplicationFactor:          pulumi.Float64(3),\n\t\t\t\tTaskNum:                    pulumi.Float64(2),\n\t\t\t\tProvenanceHeaderEnabled:    pulumi.Bool(false),\n\t\t\t\tSyncConsumerOffsetsEnabled: pulumi.Bool(false),\n\t\t\t\tRenameTopicEnabled:         pulumi.Bool(false),\n\t\t\t\tConsumerStrategy:           pulumi.String(\"latest\"),\n\t\t\t\tCompressionType:            pulumi.String(\"none\"),\n\t\t\t\tTopicsMappings: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"topic-test:topic-test-mapping\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.DmsSmartConnectTaskV2;\nimport com.pulumi.opentelekomcloud.DmsSmartConnectTaskV2Args;\nimport com.pulumi.opentelekomcloud.inputs.DmsSmartConnectTaskV2SourceTaskArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var instanceId = config.get(\"instanceId\");\n        final var taskName = config.get(\"taskName\");\n        final var peerInstanceId = config.get(\"peerInstanceId\");\n        var test = new DmsSmartConnectTaskV2(\"test\", DmsSmartConnectTaskV2Args.builder()\n            .instanceId(instanceId)\n            .taskName(taskName)\n            .topics(\"topic-test\")\n            .sourceType(\"KAFKA_REPLICATOR_SOURCE\")\n            .sourceTask(DmsSmartConnectTaskV2SourceTaskArgs.builder()\n                .peerInstanceId(peerInstanceId)\n                .direction(\"push\")\n                .replicationFactor(3.0)\n                .taskNum(2.0)\n                .provenanceHeaderEnabled(false)\n                .syncConsumerOffsetsEnabled(false)\n                .renameTopicEnabled(false)\n                .consumerStrategy(\"latest\")\n                .compressionType(\"none\")\n                .topicsMappings(\"topic-test:topic-test-mapping\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  instanceId:\n    type: dynamic\n  taskName:\n    type: dynamic\n  peerInstanceId:\n    type: dynamic\nresources:\n  test:\n    type: opentelekomcloud:DmsSmartConnectTaskV2\n    properties:\n      instanceId: ${instanceId}\n      taskName: ${taskName}\n      topics:\n        - topic-test\n      sourceType: KAFKA_REPLICATOR_SOURCE\n      sourceTask:\n        peerInstanceId: ${peerInstanceId}\n        direction: push\n        replicationFactor: 3\n        taskNum: 2\n        provenanceHeaderEnabled: false\n        syncConsumerOffsetsEnabled: false\n        renameTopicEnabled: false\n        consumerStrategy: latest\n        compressionType: none\n        topicsMappings:\n          - topic-test:topic-test-mapping\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe kafka smart connect task can be imported using the kafka instance `instance_id` and `task_id` separated by a slash, e.g.\n\nbash\n\n```sh\n$ pulumi import opentelekomcloud:index/dmsSmartConnectTaskV2:DmsSmartConnectTaskV2 test \u003cinstance_id\u003e/\u003ctask_id\u003e\n```\n\nNote that the imported state may not be identical to your resource definition, due to some attributes missing from\n\nthe API response. The missing attributes include: `start_later`, `destination_task.0.access_key`,\n\n`destination_task.0.secret_key` and `source_task.0.password`. It is generally recommended running `pulumi preview`\n\nafter importing a kafka smart connect task. You can then decide if changes should be applied to the kafka smart connect\n\ntask, or the resource definition should be updated to align with the kafka smart connect task. Also you can ignore\n\nchanges as below.\n\nhcl\n\nresource \"opentelekomcloud_dms_smart_connect_task_v2\" \"test\" {\n\n  lifecycle {\n\n    ignore_changes = [\n\n      destination_task.0.access_key, destination_task.0.secret_key, source_task.0.password,\n\n    ]\n\n  }\n\n}\n\n","properties":{"createdAt":{"type":"string","description":"Indicates the creation time of the smart connect task.\n"},"destinationTask":{"$ref":"#/types/opentelekomcloud:index%2FDmsSmartConnectTaskV2DestinationTask:DmsSmartConnectTaskV2DestinationTask","description":"Specifies the destination configuration of a smart connect task.\nThe\u003cspan pulumi-lang-nodejs=\" destinationTask \" pulumi-lang-dotnet=\" DestinationTask \" pulumi-lang-go=\" destinationTask \" pulumi-lang-python=\" destination_task \" pulumi-lang-yaml=\" destinationTask \" pulumi-lang-java=\" destinationTask \"\u003e destination_task \u003c/span\u003estructure is documented below.\nChanging this parameter will create a new resource.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"dmsSourceTask\"\" pulumi-lang-dotnet=\"\"DmsSourceTask\"\" pulumi-lang-go=\"\"dmsSourceTask\"\" pulumi-lang-python=\"\"dms_source_task\"\" pulumi-lang-yaml=\"\"dmsSourceTask\"\" pulumi-lang-java=\"\"dmsSourceTask\"\"\u003e\"dms_source_task\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`sourceTask`\" pulumi-lang-dotnet=\"`SourceTask`\" pulumi-lang-go=\"`sourceTask`\" pulumi-lang-python=\"`source_task`\" pulumi-lang-yaml=\"`sourceTask`\" pulumi-lang-java=\"`sourceTask`\"\u003e`source_task`\u003c/span\u003e block supports:\n"},"destinationType":{"type":"string","description":"Specifies the destination type of the smart connect task.\nValid values are **OBS_SINK** and **NONE**. Changing this parameter will create a new resource.\n"},"dmsSmartConnectTaskV2Id":{"type":"string","description":"The resource ID.\n"},"instanceId":{"type":"string","description":"Specifies the kafka instance ID.\nChanging this parameter will create a new resource.\n"},"region":{"type":"string","description":"The region in which the resource is created.\n"},"sourceTask":{"$ref":"#/types/opentelekomcloud:index%2FDmsSmartConnectTaskV2SourceTask:DmsSmartConnectTaskV2SourceTask","description":"Specifies the source configuration of a smart connect task.\nThe\u003cspan pulumi-lang-nodejs=\" sourceTask \" pulumi-lang-dotnet=\" SourceTask \" pulumi-lang-go=\" sourceTask \" pulumi-lang-python=\" source_task \" pulumi-lang-yaml=\" sourceTask \" pulumi-lang-java=\" sourceTask \"\u003e source_task \u003c/span\u003estructure is documented below.\nChanging this parameter will create a new resource.\n"},"sourceType":{"type":"string","description":"Specifies the source type of the smart connect task. Valid values are\n**KAFKA_REPLICATOR_SOURCE** and **NONE**. Changing this parameter will create a new resource.\n"},"startLater":{"type":"boolean","description":"Specifies whether to start a task later.\nChanging this parameter will create a new resource.\n"},"status":{"type":"string","description":"Indicates the status of the smart connect task.\n"},"taskName":{"type":"string","description":"Specifies the smart connect task name.\nChanging this parameter will create a new resource.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FDmsSmartConnectTaskV2Timeouts:DmsSmartConnectTaskV2Timeouts"},"topics":{"type":"array","items":{"type":"string"},"description":"Specifies the topic names list of the smart connect task.\nChanging this parameter will create a new resource.\n"},"topicsRegex":{"type":"string","description":"Specifies the regular expression of topic name for the smart connect task.\nChanging this parameter will create a new resource.\n\n\u003e Exactly one of \u003cspan pulumi-lang-nodejs=\"`topics`\" pulumi-lang-dotnet=\"`Topics`\" pulumi-lang-go=\"`topics`\" pulumi-lang-python=\"`topics`\" pulumi-lang-yaml=\"`topics`\" pulumi-lang-java=\"`topics`\"\u003e`topics`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`topicsRegex`\" pulumi-lang-dotnet=\"`TopicsRegex`\" pulumi-lang-go=\"`topicsRegex`\" pulumi-lang-python=\"`topics_regex`\" pulumi-lang-yaml=\"`topicsRegex`\" pulumi-lang-java=\"`topicsRegex`\"\u003e`topics_regex`\u003c/span\u003e should be specified.\n"}},"type":"object","required":["createdAt","destinationType","dmsSmartConnectTaskV2Id","instanceId","region","sourceType","status","taskName"],"inputProperties":{"destinationTask":{"$ref":"#/types/opentelekomcloud:index%2FDmsSmartConnectTaskV2DestinationTask:DmsSmartConnectTaskV2DestinationTask","description":"Specifies the destination configuration of a smart connect task.\nThe\u003cspan pulumi-lang-nodejs=\" destinationTask \" pulumi-lang-dotnet=\" DestinationTask \" pulumi-lang-go=\" destinationTask \" pulumi-lang-python=\" destination_task \" pulumi-lang-yaml=\" destinationTask \" pulumi-lang-java=\" destinationTask \"\u003e destination_task \u003c/span\u003estructure is documented below.\nChanging this parameter will create a new resource.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"dmsSourceTask\"\" pulumi-lang-dotnet=\"\"DmsSourceTask\"\" pulumi-lang-go=\"\"dmsSourceTask\"\" pulumi-lang-python=\"\"dms_source_task\"\" pulumi-lang-yaml=\"\"dmsSourceTask\"\" pulumi-lang-java=\"\"dmsSourceTask\"\"\u003e\"dms_source_task\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`sourceTask`\" pulumi-lang-dotnet=\"`SourceTask`\" pulumi-lang-go=\"`sourceTask`\" pulumi-lang-python=\"`source_task`\" pulumi-lang-yaml=\"`sourceTask`\" pulumi-lang-java=\"`sourceTask`\"\u003e`source_task`\u003c/span\u003e block supports:\n"},"destinationType":{"type":"string","description":"Specifies the destination type of the smart connect task.\nValid values are **OBS_SINK** and **NONE**. Changing this parameter will create a new resource.\n"},"dmsSmartConnectTaskV2Id":{"type":"string","description":"The resource ID.\n"},"instanceId":{"type":"string","description":"Specifies the kafka instance ID.\nChanging this parameter will create a new resource.\n"},"sourceTask":{"$ref":"#/types/opentelekomcloud:index%2FDmsSmartConnectTaskV2SourceTask:DmsSmartConnectTaskV2SourceTask","description":"Specifies the source configuration of a smart connect task.\nThe\u003cspan pulumi-lang-nodejs=\" sourceTask \" pulumi-lang-dotnet=\" SourceTask \" pulumi-lang-go=\" sourceTask \" pulumi-lang-python=\" source_task \" pulumi-lang-yaml=\" sourceTask \" pulumi-lang-java=\" sourceTask \"\u003e source_task \u003c/span\u003estructure is documented below.\nChanging this parameter will create a new resource.\n"},"sourceType":{"type":"string","description":"Specifies the source type of the smart connect task. Valid values are\n**KAFKA_REPLICATOR_SOURCE** and **NONE**. Changing this parameter will create a new resource.\n"},"startLater":{"type":"boolean","description":"Specifies whether to start a task later.\nChanging this parameter will create a new resource.\n"},"taskName":{"type":"string","description":"Specifies the smart connect task name.\nChanging this parameter will create a new resource.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FDmsSmartConnectTaskV2Timeouts:DmsSmartConnectTaskV2Timeouts"},"topics":{"type":"array","items":{"type":"string"},"description":"Specifies the topic names list of the smart connect task.\nChanging this parameter will create a new resource.\n"},"topicsRegex":{"type":"string","description":"Specifies the regular expression of topic name for the smart connect task.\nChanging this parameter will create a new resource.\n\n\u003e Exactly one of \u003cspan pulumi-lang-nodejs=\"`topics`\" pulumi-lang-dotnet=\"`Topics`\" pulumi-lang-go=\"`topics`\" pulumi-lang-python=\"`topics`\" pulumi-lang-yaml=\"`topics`\" pulumi-lang-java=\"`topics`\"\u003e`topics`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`topicsRegex`\" pulumi-lang-dotnet=\"`TopicsRegex`\" pulumi-lang-go=\"`topicsRegex`\" pulumi-lang-python=\"`topics_regex`\" pulumi-lang-yaml=\"`topicsRegex`\" pulumi-lang-java=\"`topicsRegex`\"\u003e`topics_regex`\u003c/span\u003e should be specified.\n"}},"requiredInputs":["instanceId","taskName"],"stateInputs":{"description":"Input properties used for looking up and filtering DmsSmartConnectTaskV2 resources.\n","properties":{"createdAt":{"type":"string","description":"Indicates the creation time of the smart connect task.\n"},"destinationTask":{"$ref":"#/types/opentelekomcloud:index%2FDmsSmartConnectTaskV2DestinationTask:DmsSmartConnectTaskV2DestinationTask","description":"Specifies the destination configuration of a smart connect task.\nThe\u003cspan pulumi-lang-nodejs=\" destinationTask \" pulumi-lang-dotnet=\" DestinationTask \" pulumi-lang-go=\" destinationTask \" pulumi-lang-python=\" destination_task \" pulumi-lang-yaml=\" destinationTask \" pulumi-lang-java=\" destinationTask \"\u003e destination_task \u003c/span\u003estructure is documented below.\nChanging this parameter will create a new resource.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"dmsSourceTask\"\" pulumi-lang-dotnet=\"\"DmsSourceTask\"\" pulumi-lang-go=\"\"dmsSourceTask\"\" pulumi-lang-python=\"\"dms_source_task\"\" pulumi-lang-yaml=\"\"dmsSourceTask\"\" pulumi-lang-java=\"\"dmsSourceTask\"\"\u003e\"dms_source_task\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`sourceTask`\" pulumi-lang-dotnet=\"`SourceTask`\" pulumi-lang-go=\"`sourceTask`\" pulumi-lang-python=\"`source_task`\" pulumi-lang-yaml=\"`sourceTask`\" pulumi-lang-java=\"`sourceTask`\"\u003e`source_task`\u003c/span\u003e block supports:\n"},"destinationType":{"type":"string","description":"Specifies the destination type of the smart connect task.\nValid values are **OBS_SINK** and **NONE**. Changing this parameter will create a new resource.\n"},"dmsSmartConnectTaskV2Id":{"type":"string","description":"The resource ID.\n"},"instanceId":{"type":"string","description":"Specifies the kafka instance ID.\nChanging this parameter will create a new resource.\n"},"region":{"type":"string","description":"The region in which the resource is created.\n"},"sourceTask":{"$ref":"#/types/opentelekomcloud:index%2FDmsSmartConnectTaskV2SourceTask:DmsSmartConnectTaskV2SourceTask","description":"Specifies the source configuration of a smart connect task.\nThe\u003cspan pulumi-lang-nodejs=\" sourceTask \" pulumi-lang-dotnet=\" SourceTask \" pulumi-lang-go=\" sourceTask \" pulumi-lang-python=\" source_task \" pulumi-lang-yaml=\" sourceTask \" pulumi-lang-java=\" sourceTask \"\u003e source_task \u003c/span\u003estructure is documented below.\nChanging this parameter will create a new resource.\n"},"sourceType":{"type":"string","description":"Specifies the source type of the smart connect task. Valid values are\n**KAFKA_REPLICATOR_SOURCE** and **NONE**. Changing this parameter will create a new resource.\n"},"startLater":{"type":"boolean","description":"Specifies whether to start a task later.\nChanging this parameter will create a new resource.\n"},"status":{"type":"string","description":"Indicates the status of the smart connect task.\n"},"taskName":{"type":"string","description":"Specifies the smart connect task name.\nChanging this parameter will create a new resource.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FDmsSmartConnectTaskV2Timeouts:DmsSmartConnectTaskV2Timeouts"},"topics":{"type":"array","items":{"type":"string"},"description":"Specifies the topic names list of the smart connect task.\nChanging this parameter will create a new resource.\n"},"topicsRegex":{"type":"string","description":"Specifies the regular expression of topic name for the smart connect task.\nChanging this parameter will create a new resource.\n\n\u003e Exactly one of \u003cspan pulumi-lang-nodejs=\"`topics`\" pulumi-lang-dotnet=\"`Topics`\" pulumi-lang-go=\"`topics`\" pulumi-lang-python=\"`topics`\" pulumi-lang-yaml=\"`topics`\" pulumi-lang-java=\"`topics`\"\u003e`topics`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`topicsRegex`\" pulumi-lang-dotnet=\"`TopicsRegex`\" pulumi-lang-go=\"`topicsRegex`\" pulumi-lang-python=\"`topics_regex`\" pulumi-lang-yaml=\"`topicsRegex`\" pulumi-lang-java=\"`topicsRegex`\"\u003e`topics_regex`\u003c/span\u003e should be specified.\n"}},"type":"object"}},"opentelekomcloud:index/dmsSmartConnectV2:DmsSmartConnectV2":{"description":"Up-to-date reference of API arguments for DMS instance you can get at\n[documentation portal](https://docs.otc.t-systems.com/distributed-message-service/api-ref/apis_v2_recommended/smart_connect/index.html)\n\nManage DMS smart connect v2 resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst instanceId = config.requireObject\u003cany\u003e(\"instanceId\");\nconst test = new opentelekomcloud.DmsSmartConnectV2(\"test\", {\n    instanceId: instanceId,\n    storageSpecCode: \"dms.physical.storage.ultra.v2\",\n    bandwidth: \"100MB\",\n    nodeCount: 2,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ninstance_id = config.require_object(\"instanceId\")\ntest = opentelekomcloud.DmsSmartConnectV2(\"test\",\n    instance_id=instance_id,\n    storage_spec_code=\"dms.physical.storage.ultra.v2\",\n    bandwidth=\"100MB\",\n    node_count=2)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var instanceId = config.RequireObject\u003cdynamic\u003e(\"instanceId\");\n    var test = new Opentelekomcloud.DmsSmartConnectV2(\"test\", new()\n    {\n        InstanceId = instanceId,\n        StorageSpecCode = \"dms.physical.storage.ultra.v2\",\n        Bandwidth = \"100MB\",\n        NodeCount = 2,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tinstanceId := cfg.RequireObject(\"instanceId\")\n\t\t_, err := opentelekomcloud.NewDmsSmartConnectV2(ctx, \"test\", \u0026opentelekomcloud.DmsSmartConnectV2Args{\n\t\t\tInstanceId:      pulumi.Any(instanceId),\n\t\t\tStorageSpecCode: pulumi.String(\"dms.physical.storage.ultra.v2\"),\n\t\t\tBandwidth:       pulumi.String(\"100MB\"),\n\t\t\tNodeCount:       pulumi.Float64(2),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.DmsSmartConnectV2;\nimport com.pulumi.opentelekomcloud.DmsSmartConnectV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var instanceId = config.get(\"instanceId\");\n        var test = new DmsSmartConnectV2(\"test\", DmsSmartConnectV2Args.builder()\n            .instanceId(instanceId)\n            .storageSpecCode(\"dms.physical.storage.ultra.v2\")\n            .bandwidth(\"100MB\")\n            .nodeCount(2.0)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  instanceId:\n    type: dynamic\nresources:\n  test:\n    type: opentelekomcloud:DmsSmartConnectV2\n    properties:\n      instanceId: ${instanceId}\n      storageSpecCode: dms.physical.storage.ultra.v2\n      bandwidth: 100MB\n      nodeCount: 2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"bandwidth":{"type":"string","description":"Specifies the bandwidth of the connector.\n\nChanging this parameter will create a new resource.\n"},"dmsSmartConnectV2Id":{"type":"string","description":"The resource ID.\n"},"instanceId":{"type":"string","description":"Specifies the ID of the DMS instance.\n\nChanging this parameter will create a new resource.\n"},"nodeCount":{"type":"number","description":"Specifies the node count of the connector. Defaults to 2 and minimum is 2.\n\nChanging this parameter will create a new resource.\n"},"region":{"type":"string","description":"The DMS instance region\n"},"storageSpecCode":{"type":"string","description":"Specifies the storage specification code of the connector.\n\nChanging this parameter will create a new resource.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FDmsSmartConnectV2Timeouts:DmsSmartConnectV2Timeouts"}},"type":"object","required":["dmsSmartConnectV2Id","instanceId","region"],"inputProperties":{"bandwidth":{"type":"string","description":"Specifies the bandwidth of the connector.\n\nChanging this parameter will create a new resource.\n"},"dmsSmartConnectV2Id":{"type":"string","description":"The resource ID.\n"},"instanceId":{"type":"string","description":"Specifies the ID of the DMS instance.\n\nChanging this parameter will create a new resource.\n"},"nodeCount":{"type":"number","description":"Specifies the node count of the connector. Defaults to 2 and minimum is 2.\n\nChanging this parameter will create a new resource.\n"},"storageSpecCode":{"type":"string","description":"Specifies the storage specification code of the connector.\n\nChanging this parameter will create a new resource.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FDmsSmartConnectV2Timeouts:DmsSmartConnectV2Timeouts"}},"requiredInputs":["instanceId"],"stateInputs":{"description":"Input properties used for looking up and filtering DmsSmartConnectV2 resources.\n","properties":{"bandwidth":{"type":"string","description":"Specifies the bandwidth of the connector.\n\nChanging this parameter will create a new resource.\n"},"dmsSmartConnectV2Id":{"type":"string","description":"The resource ID.\n"},"instanceId":{"type":"string","description":"Specifies the ID of the DMS instance.\n\nChanging this parameter will create a new resource.\n"},"nodeCount":{"type":"number","description":"Specifies the node count of the connector. Defaults to 2 and minimum is 2.\n\nChanging this parameter will create a new resource.\n"},"region":{"type":"string","description":"The DMS instance region\n"},"storageSpecCode":{"type":"string","description":"Specifies the storage specification code of the connector.\n\nChanging this parameter will create a new resource.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FDmsSmartConnectV2Timeouts:DmsSmartConnectV2Timeouts"}},"type":"object"}},"opentelekomcloud:index/dmsTopicV1:DmsTopicV1":{"description":"Up-to-date reference of API arguments for DMS topic you can get at\n[documentation portal](https://docs.otc.t-systems.com/distributed-message-service/api-ref/out-of-date_apis/api_v1/apis_for_managing_instances)\n\nManages a DMS topic in the OpenTelekomCloud DMS Service (Kafka Premium/Platinum).\n\n~\u003e\nDeprecated, use \u003cspan pulumi-lang-nodejs=\"`opentelekomcloud.DmsTopicV2`\" pulumi-lang-dotnet=\"`opentelekomcloud.DmsTopicV2`\" pulumi-lang-go=\"`DmsTopicV2`\" pulumi-lang-python=\"`DmsTopicV2`\" pulumi-lang-yaml=\"`opentelekomcloud.DmsTopicV2`\" pulumi-lang-java=\"`opentelekomcloud.DmsTopicV2`\"\u003e`opentelekomcloud.DmsTopicV2`\u003c/span\u003e resource instead\n\n## Example Usage\n\n### Creating Dms Instance With Topic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst secgroup1 = new opentelekomcloud.NetworkingSecgroupV2(\"secgroup_1\", {\n    name: \"secgroup_1\",\n    description: \"secgroup_1\",\n});\nconst az1 = opentelekomcloud.getDmsAzV1({\n    name: \"eu-de-01\",\n});\nconst product1 = opentelekomcloud.getDmsProductV1({\n    engine: \"kafka\",\n    version: \"2.3.0\",\n    instanceType: \"cluster\",\n    partitionNum: \"300\",\n    storage: \"600\",\n    storageSpecCode: \"dms.physical.storage.high\",\n});\nconst instance1 = new opentelekomcloud.DmsInstanceV1(\"instance_1\", {\n    name: \"kafka-test\",\n    engine: \"kafka\",\n    productId: product1.then(product1 =\u003e product1.id),\n    engineVersion: product1.then(product1 =\u003e product1.version),\n    specification: product1.then(product1 =\u003e product1.bandwidth),\n    partitionNum: product1.then(product1 =\u003e product1.partitionNum),\n    storageSpecCode: product1.then(product1 =\u003e product1.storageSpecCode),\n    storageSpace: product1.then(product1 =\u003e product1.storage),\n    availableZones: [az1.then(az1 =\u003e az1.id)],\n    securityGroupId: secgroup1.networkingSecgroupV2Id,\n    vpcId: vpcId,\n    subnetId: subnetId,\n    accessUser: accessUser,\n    password: password,\n});\nconst topic1 = new opentelekomcloud.DmsTopicV1(\"topic_1\", {\n    instanceId: opentelekomcloudDmsInstanceV1.instance1.id,\n    name: \"topic-test\",\n    partition: 10,\n    replication: 2,\n    syncReplication: true,\n    retentionTime: 80,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nsecgroup1 = opentelekomcloud.NetworkingSecgroupV2(\"secgroup_1\",\n    name=\"secgroup_1\",\n    description=\"secgroup_1\")\naz1 = opentelekomcloud.get_dms_az_v1(name=\"eu-de-01\")\nproduct1 = opentelekomcloud.get_dms_product_v1(engine=\"kafka\",\n    version=\"2.3.0\",\n    instance_type=\"cluster\",\n    partition_num=\"300\",\n    storage=\"600\",\n    storage_spec_code=\"dms.physical.storage.high\")\ninstance1 = opentelekomcloud.DmsInstanceV1(\"instance_1\",\n    name=\"kafka-test\",\n    engine=\"kafka\",\n    product_id=product1.id,\n    engine_version=product1.version,\n    specification=product1.bandwidth,\n    partition_num=product1.partition_num,\n    storage_spec_code=product1.storage_spec_code,\n    storage_space=product1.storage,\n    available_zones=[az1.id],\n    security_group_id=secgroup1.networking_secgroup_v2_id,\n    vpc_id=vpc_id,\n    subnet_id=subnet_id,\n    access_user=access_user,\n    password=password)\ntopic1 = opentelekomcloud.DmsTopicV1(\"topic_1\",\n    instance_id=opentelekomcloud_dms_instance_v1[\"instance1\"][\"id\"],\n    name=\"topic-test\",\n    partition=10,\n    replication=2,\n    sync_replication=True,\n    retention_time=80)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var secgroup1 = new Opentelekomcloud.NetworkingSecgroupV2(\"secgroup_1\", new()\n    {\n        Name = \"secgroup_1\",\n        Description = \"secgroup_1\",\n    });\n\n    var az1 = Opentelekomcloud.GetDmsAzV1.Invoke(new()\n    {\n        Name = \"eu-de-01\",\n    });\n\n    var product1 = Opentelekomcloud.GetDmsProductV1.Invoke(new()\n    {\n        Engine = \"kafka\",\n        Version = \"2.3.0\",\n        InstanceType = \"cluster\",\n        PartitionNum = \"300\",\n        Storage = \"600\",\n        StorageSpecCode = \"dms.physical.storage.high\",\n    });\n\n    var instance1 = new Opentelekomcloud.DmsInstanceV1(\"instance_1\", new()\n    {\n        Name = \"kafka-test\",\n        Engine = \"kafka\",\n        ProductId = product1.Apply(getDmsProductV1Result =\u003e getDmsProductV1Result.Id),\n        EngineVersion = product1.Apply(getDmsProductV1Result =\u003e getDmsProductV1Result.Version),\n        Specification = product1.Apply(getDmsProductV1Result =\u003e getDmsProductV1Result.Bandwidth),\n        PartitionNum = product1.Apply(getDmsProductV1Result =\u003e getDmsProductV1Result.PartitionNum),\n        StorageSpecCode = product1.Apply(getDmsProductV1Result =\u003e getDmsProductV1Result.StorageSpecCode),\n        StorageSpace = product1.Apply(getDmsProductV1Result =\u003e getDmsProductV1Result.Storage),\n        AvailableZones = new[]\n        {\n            az1.Apply(getDmsAzV1Result =\u003e getDmsAzV1Result.Id),\n        },\n        SecurityGroupId = secgroup1.NetworkingSecgroupV2Id,\n        VpcId = vpcId,\n        SubnetId = subnetId,\n        AccessUser = accessUser,\n        Password = password,\n    });\n\n    var topic1 = new Opentelekomcloud.DmsTopicV1(\"topic_1\", new()\n    {\n        InstanceId = opentelekomcloudDmsInstanceV1.Instance1.Id,\n        Name = \"topic-test\",\n        Partition = 10,\n        Replication = 2,\n        SyncReplication = true,\n        RetentionTime = 80,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsecgroup1, err := opentelekomcloud.NewNetworkingSecgroupV2(ctx, \"secgroup_1\", \u0026opentelekomcloud.NetworkingSecgroupV2Args{\n\t\t\tName:        pulumi.String(\"secgroup_1\"),\n\t\t\tDescription: pulumi.String(\"secgroup_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\taz1, err := opentelekomcloud.GetDmsAzV1(ctx, \u0026opentelekomcloud.GetDmsAzV1Args{\n\t\t\tName: pulumi.StringRef(\"eu-de-01\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tproduct1, err := opentelekomcloud.GetDmsProductV1(ctx, \u0026opentelekomcloud.GetDmsProductV1Args{\n\t\t\tEngine:          \"kafka\",\n\t\t\tVersion:         pulumi.StringRef(\"2.3.0\"),\n\t\t\tInstanceType:    \"cluster\",\n\t\t\tPartitionNum:    pulumi.StringRef(\"300\"),\n\t\t\tStorage:         pulumi.StringRef(\"600\"),\n\t\t\tStorageSpecCode: pulumi.StringRef(\"dms.physical.storage.high\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewDmsInstanceV1(ctx, \"instance_1\", \u0026opentelekomcloud.DmsInstanceV1Args{\n\t\t\tName:            pulumi.String(\"kafka-test\"),\n\t\t\tEngine:          pulumi.String(\"kafka\"),\n\t\t\tProductId:       pulumi.String(product1.Id),\n\t\t\tEngineVersion:   pulumi.String(product1.Version),\n\t\t\tSpecification:   pulumi.String(product1.Bandwidth),\n\t\t\tPartitionNum:    pulumi.String(product1.PartitionNum),\n\t\t\tStorageSpecCode: pulumi.String(product1.StorageSpecCode),\n\t\t\tStorageSpace:    pulumi.String(product1.Storage),\n\t\t\tAvailableZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(az1.Id),\n\t\t\t},\n\t\t\tSecurityGroupId: secgroup1.NetworkingSecgroupV2Id,\n\t\t\tVpcId:           pulumi.Any(vpcId),\n\t\t\tSubnetId:        pulumi.Any(subnetId),\n\t\t\tAccessUser:      pulumi.Any(accessUser),\n\t\t\tPassword:        pulumi.Any(password),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewDmsTopicV1(ctx, \"topic_1\", \u0026opentelekomcloud.DmsTopicV1Args{\n\t\t\tInstanceId:      pulumi.Any(opentelekomcloudDmsInstanceV1.Instance1.Id),\n\t\t\tName:            pulumi.String(\"topic-test\"),\n\t\t\tPartition:       pulumi.Float64(10),\n\t\t\tReplication:     pulumi.Float64(2),\n\t\t\tSyncReplication: pulumi.Bool(true),\n\t\t\tRetentionTime:   pulumi.Float64(80),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.NetworkingSecgroupV2;\nimport com.pulumi.opentelekomcloud.NetworkingSecgroupV2Args;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetDmsAzV1Args;\nimport com.pulumi.opentelekomcloud.inputs.GetDmsProductV1Args;\nimport com.pulumi.opentelekomcloud.DmsInstanceV1;\nimport com.pulumi.opentelekomcloud.DmsInstanceV1Args;\nimport com.pulumi.opentelekomcloud.DmsTopicV1;\nimport com.pulumi.opentelekomcloud.DmsTopicV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var secgroup1 = new NetworkingSecgroupV2(\"secgroup1\", NetworkingSecgroupV2Args.builder()\n            .name(\"secgroup_1\")\n            .description(\"secgroup_1\")\n            .build());\n\n        final var az1 = OpentelekomcloudFunctions.getDmsAzV1(GetDmsAzV1Args.builder()\n            .name(\"eu-de-01\")\n            .build());\n\n        final var product1 = OpentelekomcloudFunctions.getDmsProductV1(GetDmsProductV1Args.builder()\n            .engine(\"kafka\")\n            .version(\"2.3.0\")\n            .instanceType(\"cluster\")\n            .partitionNum(\"300\")\n            .storage(\"600\")\n            .storageSpecCode(\"dms.physical.storage.high\")\n            .build());\n\n        var instance1 = new DmsInstanceV1(\"instance1\", DmsInstanceV1Args.builder()\n            .name(\"kafka-test\")\n            .engine(\"kafka\")\n            .productId(product1.id())\n            .engineVersion(product1.version())\n            .specification(product1.bandwidth())\n            .partitionNum(product1.partitionNum())\n            .storageSpecCode(product1.storageSpecCode())\n            .storageSpace(product1.storage())\n            .availableZones(az1.id())\n            .securityGroupId(secgroup1.networkingSecgroupV2Id())\n            .vpcId(vpcId)\n            .subnetId(subnetId)\n            .accessUser(accessUser)\n            .password(password)\n            .build());\n\n        var topic1 = new DmsTopicV1(\"topic1\", DmsTopicV1Args.builder()\n            .instanceId(opentelekomcloudDmsInstanceV1.instance1().id())\n            .name(\"topic-test\")\n            .partition(10.0)\n            .replication(2.0)\n            .syncReplication(true)\n            .retentionTime(80.0)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  secgroup1:\n    type: opentelekomcloud:NetworkingSecgroupV2\n    name: secgroup_1\n    properties:\n      name: secgroup_1\n      description: secgroup_1\n  instance1:\n    type: opentelekomcloud:DmsInstanceV1\n    name: instance_1\n    properties:\n      name: kafka-test\n      engine: kafka\n      productId: ${product1.id}\n      engineVersion: ${product1.version}\n      specification: ${product1.bandwidth}\n      partitionNum: ${product1.partitionNum}\n      storageSpecCode: ${product1.storageSpecCode}\n      storageSpace: ${product1.storage}\n      availableZones:\n        - ${az1.id}\n      securityGroupId: ${secgroup1.networkingSecgroupV2Id}\n      vpcId: ${vpcId}\n      subnetId: ${subnetId}\n      accessUser: ${accessUser}\n      password: ${password}\n  topic1:\n    type: opentelekomcloud:DmsTopicV1\n    name: topic_1\n    properties:\n      instanceId: ${opentelekomcloudDmsInstanceV1.instance1.id}\n      name: topic-test\n      partition: 10\n      replication: 2\n      syncReplication: true\n      retentionTime: 80\nvariables:\n  az1:\n    fn::invoke:\n      function: opentelekomcloud:getDmsAzV1\n      arguments:\n        name: eu-de-01\n  product1:\n    fn::invoke:\n      function: opentelekomcloud:getDmsProductV1\n      arguments:\n        engine: kafka\n        version: 2.3.0\n        instanceType: cluster\n        partitionNum: 300\n        storage: 600\n        storageSpecCode: dms.physical.storage.high\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"dmsTopicV1Id":{"type":"string"},"instanceId":{"type":"string","description":"Indicates the ID of primary DMS instance.\n"},"maxPartitions":{"type":"number","description":"Total partitions number.\n"},"name":{"type":"string","description":"Indicates the name of a topic.\n"},"partition":{"type":"number","description":"Indicates the number of topic partitions,\nwhich is used to set the number of concurrently consumed messages.\nValue range: `1–20`. Default value: \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e.\n"},"remainPartitions":{"type":"number","description":"Number of remaining partitions.\n"},"replication":{"type":"number","description":"Indicates the number of replicas,\nwhich is configured to ensure data reliability.\nValue range: `1–3`. Default value: \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e.\n"},"retentionTime":{"type":"number","description":"Indicates the retention period of a message. Its default value is \u003cspan pulumi-lang-nodejs=\"`72`\" pulumi-lang-dotnet=\"`72`\" pulumi-lang-go=\"`72`\" pulumi-lang-python=\"`72`\" pulumi-lang-yaml=\"`72`\" pulumi-lang-java=\"`72`\"\u003e`72`\u003c/span\u003e.\nValue range: `1–720`. Default value: \u003cspan pulumi-lang-nodejs=\"`72`\" pulumi-lang-dotnet=\"`72`\" pulumi-lang-go=\"`72`\" pulumi-lang-python=\"`72`\" pulumi-lang-yaml=\"`72`\" pulumi-lang-java=\"`72`\"\u003e`72`\u003c/span\u003e. Unit: \u003cspan pulumi-lang-nodejs=\"`hour`\" pulumi-lang-dotnet=\"`Hour`\" pulumi-lang-go=\"`hour`\" pulumi-lang-python=\"`hour`\" pulumi-lang-yaml=\"`hour`\" pulumi-lang-java=\"`hour`\"\u003e`hour`\u003c/span\u003e.\n"},"size":{"type":"number","description":"The partition size of the topic.\n"},"syncMessageFlush":{"type":"boolean","description":"Indicates whether to enable synchronous flushing.\nDefault value: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Synchronous flushing compromises performance.\n"},"syncReplication":{"type":"boolean","description":"Indicates whether to enable synchronous replication.\nAfter this function is enabled, the \u003cspan pulumi-lang-nodejs=\"`acks`\" pulumi-lang-dotnet=\"`Acks`\" pulumi-lang-go=\"`acks`\" pulumi-lang-python=\"`acks`\" pulumi-lang-yaml=\"`acks`\" pulumi-lang-java=\"`acks`\"\u003e`acks`\u003c/span\u003e parameter on the producer client must be set to `–1`.\nOtherwise, this parameter does not take effect.\n"}},"type":"object","required":["dmsTopicV1Id","instanceId","maxPartitions","name","partition","remainPartitions","replication","retentionTime","size","syncMessageFlush","syncReplication"],"inputProperties":{"dmsTopicV1Id":{"type":"string"},"instanceId":{"type":"string","description":"Indicates the ID of primary DMS instance.\n"},"maxPartitions":{"type":"number","description":"Total partitions number.\n"},"name":{"type":"string","description":"Indicates the name of a topic.\n"},"partition":{"type":"number","description":"Indicates the number of topic partitions,\nwhich is used to set the number of concurrently consumed messages.\nValue range: `1–20`. Default value: \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e.\n"},"remainPartitions":{"type":"number","description":"Number of remaining partitions.\n"},"replication":{"type":"number","description":"Indicates the number of replicas,\nwhich is configured to ensure data reliability.\nValue range: `1–3`. Default value: \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e.\n"},"retentionTime":{"type":"number","description":"Indicates the retention period of a message. Its default value is \u003cspan pulumi-lang-nodejs=\"`72`\" pulumi-lang-dotnet=\"`72`\" pulumi-lang-go=\"`72`\" pulumi-lang-python=\"`72`\" pulumi-lang-yaml=\"`72`\" pulumi-lang-java=\"`72`\"\u003e`72`\u003c/span\u003e.\nValue range: `1–720`. Default value: \u003cspan pulumi-lang-nodejs=\"`72`\" pulumi-lang-dotnet=\"`72`\" pulumi-lang-go=\"`72`\" pulumi-lang-python=\"`72`\" pulumi-lang-yaml=\"`72`\" pulumi-lang-java=\"`72`\"\u003e`72`\u003c/span\u003e. Unit: \u003cspan pulumi-lang-nodejs=\"`hour`\" pulumi-lang-dotnet=\"`Hour`\" pulumi-lang-go=\"`hour`\" pulumi-lang-python=\"`hour`\" pulumi-lang-yaml=\"`hour`\" pulumi-lang-java=\"`hour`\"\u003e`hour`\u003c/span\u003e.\n"},"size":{"type":"number","description":"The partition size of the topic.\n"},"syncMessageFlush":{"type":"boolean","description":"Indicates whether to enable synchronous flushing.\nDefault value: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Synchronous flushing compromises performance.\n"},"syncReplication":{"type":"boolean","description":"Indicates whether to enable synchronous replication.\nAfter this function is enabled, the \u003cspan pulumi-lang-nodejs=\"`acks`\" pulumi-lang-dotnet=\"`Acks`\" pulumi-lang-go=\"`acks`\" pulumi-lang-python=\"`acks`\" pulumi-lang-yaml=\"`acks`\" pulumi-lang-java=\"`acks`\"\u003e`acks`\u003c/span\u003e parameter on the producer client must be set to `–1`.\nOtherwise, this parameter does not take effect.\n"}},"requiredInputs":["instanceId"],"stateInputs":{"description":"Input properties used for looking up and filtering DmsTopicV1 resources.\n","properties":{"dmsTopicV1Id":{"type":"string"},"instanceId":{"type":"string","description":"Indicates the ID of primary DMS instance.\n"},"maxPartitions":{"type":"number","description":"Total partitions number.\n"},"name":{"type":"string","description":"Indicates the name of a topic.\n"},"partition":{"type":"number","description":"Indicates the number of topic partitions,\nwhich is used to set the number of concurrently consumed messages.\nValue range: `1–20`. Default value: \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e.\n"},"remainPartitions":{"type":"number","description":"Number of remaining partitions.\n"},"replication":{"type":"number","description":"Indicates the number of replicas,\nwhich is configured to ensure data reliability.\nValue range: `1–3`. Default value: \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e.\n"},"retentionTime":{"type":"number","description":"Indicates the retention period of a message. Its default value is \u003cspan pulumi-lang-nodejs=\"`72`\" pulumi-lang-dotnet=\"`72`\" pulumi-lang-go=\"`72`\" pulumi-lang-python=\"`72`\" pulumi-lang-yaml=\"`72`\" pulumi-lang-java=\"`72`\"\u003e`72`\u003c/span\u003e.\nValue range: `1–720`. Default value: \u003cspan pulumi-lang-nodejs=\"`72`\" pulumi-lang-dotnet=\"`72`\" pulumi-lang-go=\"`72`\" pulumi-lang-python=\"`72`\" pulumi-lang-yaml=\"`72`\" pulumi-lang-java=\"`72`\"\u003e`72`\u003c/span\u003e. Unit: \u003cspan pulumi-lang-nodejs=\"`hour`\" pulumi-lang-dotnet=\"`Hour`\" pulumi-lang-go=\"`hour`\" pulumi-lang-python=\"`hour`\" pulumi-lang-yaml=\"`hour`\" pulumi-lang-java=\"`hour`\"\u003e`hour`\u003c/span\u003e.\n"},"size":{"type":"number","description":"The partition size of the topic.\n"},"syncMessageFlush":{"type":"boolean","description":"Indicates whether to enable synchronous flushing.\nDefault value: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Synchronous flushing compromises performance.\n"},"syncReplication":{"type":"boolean","description":"Indicates whether to enable synchronous replication.\nAfter this function is enabled, the \u003cspan pulumi-lang-nodejs=\"`acks`\" pulumi-lang-dotnet=\"`Acks`\" pulumi-lang-go=\"`acks`\" pulumi-lang-python=\"`acks`\" pulumi-lang-yaml=\"`acks`\" pulumi-lang-java=\"`acks`\"\u003e`acks`\u003c/span\u003e parameter on the producer client must be set to `–1`.\nOtherwise, this parameter does not take effect.\n"}},"type":"object"}},"opentelekomcloud:index/dmsTopicV2:DmsTopicV2":{"description":"Up-to-date reference of API arguments for DMS topic you can get at\n[documentation portal](https://docs.otc.t-systems.com/distributed-message-service/api-ref/apis_v2_recommended/topic_management/index.html#topic-300000004)\n\nManages a DMS topic V2 in the OpenTelekomCloud DMS Service (Kafka Premium/Platinum).\n\n## Example Usage\n\n### Creating Dms Instance With Topic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst secgroup1 = new opentelekomcloud.NetworkingSecgroupV2(\"secgroup_1\", {\n    name: \"secgroup_1\",\n    description: \"secgroup_1\",\n});\nconst az1 = opentelekomcloud.getDmsAzV1({\n    name: \"eu-de-01\",\n});\nconst product1 = opentelekomcloud.getDmsProductV1({\n    engine: \"kafka\",\n    version: \"2.3.0\",\n    instanceType: \"cluster\",\n    partitionNum: \"300\",\n    storage: \"600\",\n    storageSpecCode: \"dms.physical.storage.high\",\n});\nconst instance1 = new opentelekomcloud.DmsInstanceV2(\"instance_1\", {\n    name: \"kafka-test\",\n    engine: \"kafka\",\n    productId: product1.then(product1 =\u003e product1.id),\n    engineVersion: product1.then(product1 =\u003e product1.version),\n    specification: product1.then(product1 =\u003e product1.bandwidth),\n    partitionNum: product1.then(product1 =\u003e product1.partitionNum),\n    storageSpecCode: product1.then(product1 =\u003e product1.storageSpecCode),\n    storageSpace: product1.then(product1 =\u003e product1.storage),\n    availableZones: [az1.then(az1 =\u003e az1.id)],\n    securityGroupId: secgroup1.networkingSecgroupV2Id,\n    vpcId: vpcId,\n    subnetId: subnetId,\n    accessUser: accessUser,\n    password: password,\n});\nconst topic1 = new opentelekomcloud.DmsTopicV2(\"topic_1\", {\n    instanceId: opentelekomcloudDmsInstanceV1.instance1.id,\n    name: \"topic-test\",\n    partition: 10,\n    replication: 2,\n    syncReplication: true,\n    retentionTime: 80,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nsecgroup1 = opentelekomcloud.NetworkingSecgroupV2(\"secgroup_1\",\n    name=\"secgroup_1\",\n    description=\"secgroup_1\")\naz1 = opentelekomcloud.get_dms_az_v1(name=\"eu-de-01\")\nproduct1 = opentelekomcloud.get_dms_product_v1(engine=\"kafka\",\n    version=\"2.3.0\",\n    instance_type=\"cluster\",\n    partition_num=\"300\",\n    storage=\"600\",\n    storage_spec_code=\"dms.physical.storage.high\")\ninstance1 = opentelekomcloud.DmsInstanceV2(\"instance_1\",\n    name=\"kafka-test\",\n    engine=\"kafka\",\n    product_id=product1.id,\n    engine_version=product1.version,\n    specification=product1.bandwidth,\n    partition_num=product1.partition_num,\n    storage_spec_code=product1.storage_spec_code,\n    storage_space=product1.storage,\n    available_zones=[az1.id],\n    security_group_id=secgroup1.networking_secgroup_v2_id,\n    vpc_id=vpc_id,\n    subnet_id=subnet_id,\n    access_user=access_user,\n    password=password)\ntopic1 = opentelekomcloud.DmsTopicV2(\"topic_1\",\n    instance_id=opentelekomcloud_dms_instance_v1[\"instance1\"][\"id\"],\n    name=\"topic-test\",\n    partition=10,\n    replication=2,\n    sync_replication=True,\n    retention_time=80)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var secgroup1 = new Opentelekomcloud.NetworkingSecgroupV2(\"secgroup_1\", new()\n    {\n        Name = \"secgroup_1\",\n        Description = \"secgroup_1\",\n    });\n\n    var az1 = Opentelekomcloud.GetDmsAzV1.Invoke(new()\n    {\n        Name = \"eu-de-01\",\n    });\n\n    var product1 = Opentelekomcloud.GetDmsProductV1.Invoke(new()\n    {\n        Engine = \"kafka\",\n        Version = \"2.3.0\",\n        InstanceType = \"cluster\",\n        PartitionNum = \"300\",\n        Storage = \"600\",\n        StorageSpecCode = \"dms.physical.storage.high\",\n    });\n\n    var instance1 = new Opentelekomcloud.DmsInstanceV2(\"instance_1\", new()\n    {\n        Name = \"kafka-test\",\n        Engine = \"kafka\",\n        ProductId = product1.Apply(getDmsProductV1Result =\u003e getDmsProductV1Result.Id),\n        EngineVersion = product1.Apply(getDmsProductV1Result =\u003e getDmsProductV1Result.Version),\n        Specification = product1.Apply(getDmsProductV1Result =\u003e getDmsProductV1Result.Bandwidth),\n        PartitionNum = product1.Apply(getDmsProductV1Result =\u003e getDmsProductV1Result.PartitionNum),\n        StorageSpecCode = product1.Apply(getDmsProductV1Result =\u003e getDmsProductV1Result.StorageSpecCode),\n        StorageSpace = product1.Apply(getDmsProductV1Result =\u003e getDmsProductV1Result.Storage),\n        AvailableZones = new[]\n        {\n            az1.Apply(getDmsAzV1Result =\u003e getDmsAzV1Result.Id),\n        },\n        SecurityGroupId = secgroup1.NetworkingSecgroupV2Id,\n        VpcId = vpcId,\n        SubnetId = subnetId,\n        AccessUser = accessUser,\n        Password = password,\n    });\n\n    var topic1 = new Opentelekomcloud.DmsTopicV2(\"topic_1\", new()\n    {\n        InstanceId = opentelekomcloudDmsInstanceV1.Instance1.Id,\n        Name = \"topic-test\",\n        Partition = 10,\n        Replication = 2,\n        SyncReplication = true,\n        RetentionTime = 80,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsecgroup1, err := opentelekomcloud.NewNetworkingSecgroupV2(ctx, \"secgroup_1\", \u0026opentelekomcloud.NetworkingSecgroupV2Args{\n\t\t\tName:        pulumi.String(\"secgroup_1\"),\n\t\t\tDescription: pulumi.String(\"secgroup_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\taz1, err := opentelekomcloud.GetDmsAzV1(ctx, \u0026opentelekomcloud.GetDmsAzV1Args{\n\t\t\tName: pulumi.StringRef(\"eu-de-01\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tproduct1, err := opentelekomcloud.GetDmsProductV1(ctx, \u0026opentelekomcloud.GetDmsProductV1Args{\n\t\t\tEngine:          \"kafka\",\n\t\t\tVersion:         pulumi.StringRef(\"2.3.0\"),\n\t\t\tInstanceType:    \"cluster\",\n\t\t\tPartitionNum:    pulumi.StringRef(\"300\"),\n\t\t\tStorage:         pulumi.StringRef(\"600\"),\n\t\t\tStorageSpecCode: pulumi.StringRef(\"dms.physical.storage.high\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewDmsInstanceV2(ctx, \"instance_1\", \u0026opentelekomcloud.DmsInstanceV2Args{\n\t\t\tName:            pulumi.String(\"kafka-test\"),\n\t\t\tEngine:          pulumi.String(\"kafka\"),\n\t\t\tProductId:       pulumi.String(product1.Id),\n\t\t\tEngineVersion:   pulumi.String(product1.Version),\n\t\t\tSpecification:   pulumi.String(product1.Bandwidth),\n\t\t\tPartitionNum:    pulumi.String(product1.PartitionNum),\n\t\t\tStorageSpecCode: pulumi.String(product1.StorageSpecCode),\n\t\t\tStorageSpace:    pulumi.String(product1.Storage),\n\t\t\tAvailableZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(az1.Id),\n\t\t\t},\n\t\t\tSecurityGroupId: secgroup1.NetworkingSecgroupV2Id,\n\t\t\tVpcId:           pulumi.Any(vpcId),\n\t\t\tSubnetId:        pulumi.Any(subnetId),\n\t\t\tAccessUser:      pulumi.Any(accessUser),\n\t\t\tPassword:        pulumi.Any(password),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewDmsTopicV2(ctx, \"topic_1\", \u0026opentelekomcloud.DmsTopicV2Args{\n\t\t\tInstanceId:      pulumi.Any(opentelekomcloudDmsInstanceV1.Instance1.Id),\n\t\t\tName:            pulumi.String(\"topic-test\"),\n\t\t\tPartition:       pulumi.Float64(10),\n\t\t\tReplication:     pulumi.Float64(2),\n\t\t\tSyncReplication: pulumi.Bool(true),\n\t\t\tRetentionTime:   pulumi.Float64(80),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.NetworkingSecgroupV2;\nimport com.pulumi.opentelekomcloud.NetworkingSecgroupV2Args;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetDmsAzV1Args;\nimport com.pulumi.opentelekomcloud.inputs.GetDmsProductV1Args;\nimport com.pulumi.opentelekomcloud.DmsInstanceV2;\nimport com.pulumi.opentelekomcloud.DmsInstanceV2Args;\nimport com.pulumi.opentelekomcloud.DmsTopicV2;\nimport com.pulumi.opentelekomcloud.DmsTopicV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var secgroup1 = new NetworkingSecgroupV2(\"secgroup1\", NetworkingSecgroupV2Args.builder()\n            .name(\"secgroup_1\")\n            .description(\"secgroup_1\")\n            .build());\n\n        final var az1 = OpentelekomcloudFunctions.getDmsAzV1(GetDmsAzV1Args.builder()\n            .name(\"eu-de-01\")\n            .build());\n\n        final var product1 = OpentelekomcloudFunctions.getDmsProductV1(GetDmsProductV1Args.builder()\n            .engine(\"kafka\")\n            .version(\"2.3.0\")\n            .instanceType(\"cluster\")\n            .partitionNum(\"300\")\n            .storage(\"600\")\n            .storageSpecCode(\"dms.physical.storage.high\")\n            .build());\n\n        var instance1 = new DmsInstanceV2(\"instance1\", DmsInstanceV2Args.builder()\n            .name(\"kafka-test\")\n            .engine(\"kafka\")\n            .productId(product1.id())\n            .engineVersion(product1.version())\n            .specification(product1.bandwidth())\n            .partitionNum(product1.partitionNum())\n            .storageSpecCode(product1.storageSpecCode())\n            .storageSpace(product1.storage())\n            .availableZones(az1.id())\n            .securityGroupId(secgroup1.networkingSecgroupV2Id())\n            .vpcId(vpcId)\n            .subnetId(subnetId)\n            .accessUser(accessUser)\n            .password(password)\n            .build());\n\n        var topic1 = new DmsTopicV2(\"topic1\", DmsTopicV2Args.builder()\n            .instanceId(opentelekomcloudDmsInstanceV1.instance1().id())\n            .name(\"topic-test\")\n            .partition(10.0)\n            .replication(2.0)\n            .syncReplication(true)\n            .retentionTime(80.0)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  secgroup1:\n    type: opentelekomcloud:NetworkingSecgroupV2\n    name: secgroup_1\n    properties:\n      name: secgroup_1\n      description: secgroup_1\n  instance1:\n    type: opentelekomcloud:DmsInstanceV2\n    name: instance_1\n    properties:\n      name: kafka-test\n      engine: kafka\n      productId: ${product1.id}\n      engineVersion: ${product1.version}\n      specification: ${product1.bandwidth}\n      partitionNum: ${product1.partitionNum}\n      storageSpecCode: ${product1.storageSpecCode}\n      storageSpace: ${product1.storage}\n      availableZones:\n        - ${az1.id}\n      securityGroupId: ${secgroup1.networkingSecgroupV2Id}\n      vpcId: ${vpcId}\n      subnetId: ${subnetId}\n      accessUser: ${accessUser}\n      password: ${password}\n  topic1:\n    type: opentelekomcloud:DmsTopicV2\n    name: topic_1\n    properties:\n      instanceId: ${opentelekomcloudDmsInstanceV1.instance1.id}\n      name: topic-test\n      partition: 10\n      replication: 2\n      syncReplication: true\n      retentionTime: 80\nvariables:\n  az1:\n    fn::invoke:\n      function: opentelekomcloud:getDmsAzV1\n      arguments:\n        name: eu-de-01\n  product1:\n    fn::invoke:\n      function: opentelekomcloud:getDmsProductV1\n      arguments:\n        engine: kafka\n        version: 2.3.0\n        instanceType: cluster\n        partitionNum: 300\n        storage: 600\n        storageSpecCode: dms.physical.storage.high\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDMS topics can be imported using their `topic_name` and related `instance_id`, separated by a slash, e.g.\n\nbash\n\n```sh\n$ pulumi import opentelekomcloud:index/dmsTopicV2:DmsTopicV2 test_topic \u003cinstance_id\u003e/\u003ctopic_name\u003e\n```\n\n","properties":{"dmsTopicV2Id":{"type":"string"},"instanceId":{"type":"string","description":"Indicates the ID of primary DMS instance.\n"},"maxPartitions":{"type":"number","description":"Total partitions number.\n"},"name":{"type":"string","description":"Indicates the name of a topic.\n"},"partition":{"type":"number","description":"Indicates the number of topic partitions,\nwhich is used to set the number of concurrently consumed messages.\nValue range: `1–200`. Default value: \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e.\n"},"remainPartitions":{"type":"number","description":"Number of remaining partitions.\n"},"replication":{"type":"number","description":"Indicates the number of replicas,\nwhich is configured to ensure data reliability.\nValue range: `1–3`. Default value: \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e.\n"},"retentionTime":{"type":"number","description":"Indicates the retention period of a message. Its default value is \u003cspan pulumi-lang-nodejs=\"`72`\" pulumi-lang-dotnet=\"`72`\" pulumi-lang-go=\"`72`\" pulumi-lang-python=\"`72`\" pulumi-lang-yaml=\"`72`\" pulumi-lang-java=\"`72`\"\u003e`72`\u003c/span\u003e.\nValue range: `1–720`. Default value: \u003cspan pulumi-lang-nodejs=\"`72`\" pulumi-lang-dotnet=\"`72`\" pulumi-lang-go=\"`72`\" pulumi-lang-python=\"`72`\" pulumi-lang-yaml=\"`72`\" pulumi-lang-java=\"`72`\"\u003e`72`\u003c/span\u003e. Unit: \u003cspan pulumi-lang-nodejs=\"`hour`\" pulumi-lang-dotnet=\"`Hour`\" pulumi-lang-go=\"`hour`\" pulumi-lang-python=\"`hour`\" pulumi-lang-yaml=\"`hour`\" pulumi-lang-java=\"`hour`\"\u003e`hour`\u003c/span\u003e.\n"},"size":{"type":"number","description":"The partition size of the topic.\n"},"syncMessageFlush":{"type":"boolean","description":"Indicates whether to enable synchronous flushing.\nDefault value: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Synchronous flushing compromises performance.\n"},"syncReplication":{"type":"boolean","description":"Indicates whether to enable synchronous replication.\nAfter this function is enabled, the \u003cspan pulumi-lang-nodejs=\"`acks`\" pulumi-lang-dotnet=\"`Acks`\" pulumi-lang-go=\"`acks`\" pulumi-lang-python=\"`acks`\" pulumi-lang-yaml=\"`acks`\" pulumi-lang-java=\"`acks`\"\u003e`acks`\u003c/span\u003e parameter on the producer client must be set to `–1`.\nOtherwise, this parameter does not take effect.\n"}},"type":"object","required":["dmsTopicV2Id","instanceId","maxPartitions","name","partition","remainPartitions","replication","retentionTime","size","syncMessageFlush","syncReplication"],"inputProperties":{"dmsTopicV2Id":{"type":"string"},"instanceId":{"type":"string","description":"Indicates the ID of primary DMS instance.\n"},"maxPartitions":{"type":"number","description":"Total partitions number.\n"},"name":{"type":"string","description":"Indicates the name of a topic.\n"},"partition":{"type":"number","description":"Indicates the number of topic partitions,\nwhich is used to set the number of concurrently consumed messages.\nValue range: `1–200`. Default value: \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e.\n"},"remainPartitions":{"type":"number","description":"Number of remaining partitions.\n"},"replication":{"type":"number","description":"Indicates the number of replicas,\nwhich is configured to ensure data reliability.\nValue range: `1–3`. Default value: \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e.\n"},"retentionTime":{"type":"number","description":"Indicates the retention period of a message. Its default value is \u003cspan pulumi-lang-nodejs=\"`72`\" pulumi-lang-dotnet=\"`72`\" pulumi-lang-go=\"`72`\" pulumi-lang-python=\"`72`\" pulumi-lang-yaml=\"`72`\" pulumi-lang-java=\"`72`\"\u003e`72`\u003c/span\u003e.\nValue range: `1–720`. Default value: \u003cspan pulumi-lang-nodejs=\"`72`\" pulumi-lang-dotnet=\"`72`\" pulumi-lang-go=\"`72`\" pulumi-lang-python=\"`72`\" pulumi-lang-yaml=\"`72`\" pulumi-lang-java=\"`72`\"\u003e`72`\u003c/span\u003e. Unit: \u003cspan pulumi-lang-nodejs=\"`hour`\" pulumi-lang-dotnet=\"`Hour`\" pulumi-lang-go=\"`hour`\" pulumi-lang-python=\"`hour`\" pulumi-lang-yaml=\"`hour`\" pulumi-lang-java=\"`hour`\"\u003e`hour`\u003c/span\u003e.\n"},"size":{"type":"number","description":"The partition size of the topic.\n"},"syncMessageFlush":{"type":"boolean","description":"Indicates whether to enable synchronous flushing.\nDefault value: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Synchronous flushing compromises performance.\n"},"syncReplication":{"type":"boolean","description":"Indicates whether to enable synchronous replication.\nAfter this function is enabled, the \u003cspan pulumi-lang-nodejs=\"`acks`\" pulumi-lang-dotnet=\"`Acks`\" pulumi-lang-go=\"`acks`\" pulumi-lang-python=\"`acks`\" pulumi-lang-yaml=\"`acks`\" pulumi-lang-java=\"`acks`\"\u003e`acks`\u003c/span\u003e parameter on the producer client must be set to `–1`.\nOtherwise, this parameter does not take effect.\n"}},"requiredInputs":["instanceId"],"stateInputs":{"description":"Input properties used for looking up and filtering DmsTopicV2 resources.\n","properties":{"dmsTopicV2Id":{"type":"string"},"instanceId":{"type":"string","description":"Indicates the ID of primary DMS instance.\n"},"maxPartitions":{"type":"number","description":"Total partitions number.\n"},"name":{"type":"string","description":"Indicates the name of a topic.\n"},"partition":{"type":"number","description":"Indicates the number of topic partitions,\nwhich is used to set the number of concurrently consumed messages.\nValue range: `1–200`. Default value: \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e.\n"},"remainPartitions":{"type":"number","description":"Number of remaining partitions.\n"},"replication":{"type":"number","description":"Indicates the number of replicas,\nwhich is configured to ensure data reliability.\nValue range: `1–3`. Default value: \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e.\n"},"retentionTime":{"type":"number","description":"Indicates the retention period of a message. Its default value is \u003cspan pulumi-lang-nodejs=\"`72`\" pulumi-lang-dotnet=\"`72`\" pulumi-lang-go=\"`72`\" pulumi-lang-python=\"`72`\" pulumi-lang-yaml=\"`72`\" pulumi-lang-java=\"`72`\"\u003e`72`\u003c/span\u003e.\nValue range: `1–720`. Default value: \u003cspan pulumi-lang-nodejs=\"`72`\" pulumi-lang-dotnet=\"`72`\" pulumi-lang-go=\"`72`\" pulumi-lang-python=\"`72`\" pulumi-lang-yaml=\"`72`\" pulumi-lang-java=\"`72`\"\u003e`72`\u003c/span\u003e. Unit: \u003cspan pulumi-lang-nodejs=\"`hour`\" pulumi-lang-dotnet=\"`Hour`\" pulumi-lang-go=\"`hour`\" pulumi-lang-python=\"`hour`\" pulumi-lang-yaml=\"`hour`\" pulumi-lang-java=\"`hour`\"\u003e`hour`\u003c/span\u003e.\n"},"size":{"type":"number","description":"The partition size of the topic.\n"},"syncMessageFlush":{"type":"boolean","description":"Indicates whether to enable synchronous flushing.\nDefault value: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Synchronous flushing compromises performance.\n"},"syncReplication":{"type":"boolean","description":"Indicates whether to enable synchronous replication.\nAfter this function is enabled, the \u003cspan pulumi-lang-nodejs=\"`acks`\" pulumi-lang-dotnet=\"`Acks`\" pulumi-lang-go=\"`acks`\" pulumi-lang-python=\"`acks`\" pulumi-lang-yaml=\"`acks`\" pulumi-lang-java=\"`acks`\"\u003e`acks`\u003c/span\u003e parameter on the producer client must be set to `–1`.\nOtherwise, this parameter does not take effect.\n"}},"type":"object"}},"opentelekomcloud:index/dmsUserPermissionV1:DmsUserPermissionV1":{"description":"Up-to-date reference of API arguments for DMS user permissions you can get at\n[documentation portal](https://docs.otc.t-systems.com/distributed-message-service/api-ref/apis_v2_recommended/user_management/index.html)\n\nManages a DMS topic permissions for users for the OpenTelekomCloud DMS Service Instances (Kafka Premium/Platinum).\n\n~\u003e\n  Topic permission management is supported only when SASL is enabled for the Kafka instance.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst instanceId = config.requireObject\u003cany\u003e(\"instanceId\");\nconst user1 = new opentelekomcloud.DmsUserV2(\"user_1\", {\n    instanceId: instanceId,\n    username: \"Test-user\",\n    password: \"Dmstest@123\",\n});\nconst user2 = new opentelekomcloud.DmsUserV2(\"user_2\", {\n    instanceId: instanceId,\n    username: \"Test-user2\",\n    password: \"Dmstest@123\",\n});\nconst perm1 = new opentelekomcloud.DmsUserPermissionV1(\"perm_1\", {\n    instanceId: instance1.id,\n    topicName: \"test-topic\",\n    policies: [\n        {\n            username: user1.dmsUserV2Id,\n            accessPolicy: \"all\",\n        },\n        {\n            username: user2.dmsUserV2Id,\n            accessPolicy: \"sub\",\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ninstance_id = config.require_object(\"instanceId\")\nuser1 = opentelekomcloud.DmsUserV2(\"user_1\",\n    instance_id=instance_id,\n    username=\"Test-user\",\n    password=\"Dmstest@123\")\nuser2 = opentelekomcloud.DmsUserV2(\"user_2\",\n    instance_id=instance_id,\n    username=\"Test-user2\",\n    password=\"Dmstest@123\")\nperm1 = opentelekomcloud.DmsUserPermissionV1(\"perm_1\",\n    instance_id=instance1[\"id\"],\n    topic_name=\"test-topic\",\n    policies=[\n        {\n            \"username\": user1.dms_user_v2_id,\n            \"access_policy\": \"all\",\n        },\n        {\n            \"username\": user2.dms_user_v2_id,\n            \"access_policy\": \"sub\",\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var instanceId = config.RequireObject\u003cdynamic\u003e(\"instanceId\");\n    var user1 = new Opentelekomcloud.DmsUserV2(\"user_1\", new()\n    {\n        InstanceId = instanceId,\n        Username = \"Test-user\",\n        Password = \"Dmstest@123\",\n    });\n\n    var user2 = new Opentelekomcloud.DmsUserV2(\"user_2\", new()\n    {\n        InstanceId = instanceId,\n        Username = \"Test-user2\",\n        Password = \"Dmstest@123\",\n    });\n\n    var perm1 = new Opentelekomcloud.DmsUserPermissionV1(\"perm_1\", new()\n    {\n        InstanceId = instance1.Id,\n        TopicName = \"test-topic\",\n        Policies = new[]\n        {\n            new Opentelekomcloud.Inputs.DmsUserPermissionV1PolicyArgs\n            {\n                Username = user1.DmsUserV2Id,\n                AccessPolicy = \"all\",\n            },\n            new Opentelekomcloud.Inputs.DmsUserPermissionV1PolicyArgs\n            {\n                Username = user2.DmsUserV2Id,\n                AccessPolicy = \"sub\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tinstanceId := cfg.RequireObject(\"instanceId\")\n\t\tuser1, err := opentelekomcloud.NewDmsUserV2(ctx, \"user_1\", \u0026opentelekomcloud.DmsUserV2Args{\n\t\t\tInstanceId: pulumi.Any(instanceId),\n\t\t\tUsername:   pulumi.String(\"Test-user\"),\n\t\t\tPassword:   pulumi.String(\"Dmstest@123\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tuser2, err := opentelekomcloud.NewDmsUserV2(ctx, \"user_2\", \u0026opentelekomcloud.DmsUserV2Args{\n\t\t\tInstanceId: pulumi.Any(instanceId),\n\t\t\tUsername:   pulumi.String(\"Test-user2\"),\n\t\t\tPassword:   pulumi.String(\"Dmstest@123\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewDmsUserPermissionV1(ctx, \"perm_1\", \u0026opentelekomcloud.DmsUserPermissionV1Args{\n\t\t\tInstanceId: pulumi.Any(instance1.Id),\n\t\t\tTopicName:  pulumi.String(\"test-topic\"),\n\t\t\tPolicies: opentelekomcloud.DmsUserPermissionV1PolicyArray{\n\t\t\t\t\u0026opentelekomcloud.DmsUserPermissionV1PolicyArgs{\n\t\t\t\t\tUsername:     user1.DmsUserV2Id,\n\t\t\t\t\tAccessPolicy: pulumi.String(\"all\"),\n\t\t\t\t},\n\t\t\t\t\u0026opentelekomcloud.DmsUserPermissionV1PolicyArgs{\n\t\t\t\t\tUsername:     user2.DmsUserV2Id,\n\t\t\t\t\tAccessPolicy: pulumi.String(\"sub\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.DmsUserV2;\nimport com.pulumi.opentelekomcloud.DmsUserV2Args;\nimport com.pulumi.opentelekomcloud.DmsUserPermissionV1;\nimport com.pulumi.opentelekomcloud.DmsUserPermissionV1Args;\nimport com.pulumi.opentelekomcloud.inputs.DmsUserPermissionV1PolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var instanceId = config.get(\"instanceId\");\n        var user1 = new DmsUserV2(\"user1\", DmsUserV2Args.builder()\n            .instanceId(instanceId)\n            .username(\"Test-user\")\n            .password(\"Dmstest@123\")\n            .build());\n\n        var user2 = new DmsUserV2(\"user2\", DmsUserV2Args.builder()\n            .instanceId(instanceId)\n            .username(\"Test-user2\")\n            .password(\"Dmstest@123\")\n            .build());\n\n        var perm1 = new DmsUserPermissionV1(\"perm1\", DmsUserPermissionV1Args.builder()\n            .instanceId(instance1.id())\n            .topicName(\"test-topic\")\n            .policies(            \n                DmsUserPermissionV1PolicyArgs.builder()\n                    .username(user1.dmsUserV2Id())\n                    .accessPolicy(\"all\")\n                    .build(),\n                DmsUserPermissionV1PolicyArgs.builder()\n                    .username(user2.dmsUserV2Id())\n                    .accessPolicy(\"sub\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  instanceId:\n    type: dynamic\nresources:\n  user1:\n    type: opentelekomcloud:DmsUserV2\n    name: user_1\n    properties:\n      instanceId: ${instanceId}\n      username: Test-user\n      password: Dmstest@123\n  user2:\n    type: opentelekomcloud:DmsUserV2\n    name: user_2\n    properties:\n      instanceId: ${instanceId}\n      username: Test-user2\n      password: Dmstest@123\n  perm1:\n    type: opentelekomcloud:DmsUserPermissionV1\n    name: perm_1\n    properties:\n      instanceId: ${instance1.id}\n      topicName: test-topic\n      policies:\n        - username: ${user1.dmsUserV2Id}\n          accessPolicy: all\n        - username: ${user2.dmsUserV2Id}\n          accessPolicy: sub\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"dmsUserPermissionV1Id":{"type":"string"},"instanceId":{"type":"string","description":"Indicates the ID of primary DMS instance.\n"},"policies":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FDmsUserPermissionV1Policy:DmsUserPermissionV1Policy"},"description":"Indicates policy configuration for the topic.\nSupported fields:\n"},"topicName":{"type":"string","description":"Indicates the name of a topic.\n"},"topicType":{"type":"number","description":"Indicates topic type. \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e: common topic; \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e: system (internal) topic.\n"}},"type":"object","required":["dmsUserPermissionV1Id","instanceId","policies","topicName","topicType"],"inputProperties":{"dmsUserPermissionV1Id":{"type":"string"},"instanceId":{"type":"string","description":"Indicates the ID of primary DMS instance.\n"},"policies":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FDmsUserPermissionV1Policy:DmsUserPermissionV1Policy"},"description":"Indicates policy configuration for the topic.\nSupported fields:\n"},"topicName":{"type":"string","description":"Indicates the name of a topic.\n"}},"requiredInputs":["instanceId","policies","topicName"],"stateInputs":{"description":"Input properties used for looking up and filtering DmsUserPermissionV1 resources.\n","properties":{"dmsUserPermissionV1Id":{"type":"string"},"instanceId":{"type":"string","description":"Indicates the ID of primary DMS instance.\n"},"policies":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FDmsUserPermissionV1Policy:DmsUserPermissionV1Policy"},"description":"Indicates policy configuration for the topic.\nSupported fields:\n"},"topicName":{"type":"string","description":"Indicates the name of a topic.\n"},"topicType":{"type":"number","description":"Indicates topic type. \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e: common topic; \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e: system (internal) topic.\n"}},"type":"object"}},"opentelekomcloud:index/dmsUserV2:DmsUserV2":{"description":"Up-to-date reference of API arguments for DMS user you can get at\n[documentation portal](https://docs.otc.t-systems.com/distributed-message-service/api-ref/apis_v2_recommended/user_management/index.html)\n\nManages a DMS user for the OpenTelekomCloud DMS Service Instances (Kafka Premium/Platinum).\n\n~\u003e\n  User management is supported only when SASL is enabled for the Kafka instance.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst instanceId = config.requireObject\u003cany\u003e(\"instanceId\");\nconst user1 = new opentelekomcloud.DmsUserV2(\"user_1\", {\n    instanceId: instanceId,\n    username: \"Test-user\",\n    password: \"Dmstest@123@\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ninstance_id = config.require_object(\"instanceId\")\nuser1 = opentelekomcloud.DmsUserV2(\"user_1\",\n    instance_id=instance_id,\n    username=\"Test-user\",\n    password=\"Dmstest@123@\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var instanceId = config.RequireObject\u003cdynamic\u003e(\"instanceId\");\n    var user1 = new Opentelekomcloud.DmsUserV2(\"user_1\", new()\n    {\n        InstanceId = instanceId,\n        Username = \"Test-user\",\n        Password = \"Dmstest@123@\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tinstanceId := cfg.RequireObject(\"instanceId\")\n\t\t_, err := opentelekomcloud.NewDmsUserV2(ctx, \"user_1\", \u0026opentelekomcloud.DmsUserV2Args{\n\t\t\tInstanceId: pulumi.Any(instanceId),\n\t\t\tUsername:   pulumi.String(\"Test-user\"),\n\t\t\tPassword:   pulumi.String(\"Dmstest@123@\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.DmsUserV2;\nimport com.pulumi.opentelekomcloud.DmsUserV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var instanceId = config.get(\"instanceId\");\n        var user1 = new DmsUserV2(\"user1\", DmsUserV2Args.builder()\n            .instanceId(instanceId)\n            .username(\"Test-user\")\n            .password(\"Dmstest@123@\")\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  instanceId:\n    type: dynamic\nresources:\n  user1:\n    type: opentelekomcloud:DmsUserV2\n    name: user_1\n    properties:\n      instanceId: ${instanceId}\n      username: Test-user\n      password: Dmstest@123@\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"creationTime":{"type":"number","description":"Specifies the time when a user was created.\n"},"defaultApp":{"type":"boolean","description":"Specifies whether an application is the default application.\n"},"dmsUserV2Id":{"type":"string"},"instanceId":{"type":"string","description":"Indicates the ID of primary DMS instance.\n"},"password":{"type":"string","description":"Indicates the password of an instance. An instance password\nmust meet the following complexity requirements: Must be 8 to 32 characters long.\nMust contain at least 2 of the following character types: lowercase letters, uppercase\nletters, digits, and special characters (`~!@#$%^\u0026*()-_=+\\|[{}]:'\",\u003c.\u003e/?`).\n","secret":true},"role":{"type":"string","description":"Specifies user role.\n"},"username":{"type":"string","description":"Indicates a username. A username consists of 4 to 64 characters\nand supports only letters, digits, and hyphens (-).\n"}},"type":"object","required":["creationTime","defaultApp","dmsUserV2Id","instanceId","password","role","username"],"inputProperties":{"dmsUserV2Id":{"type":"string"},"instanceId":{"type":"string","description":"Indicates the ID of primary DMS instance.\n"},"password":{"type":"string","description":"Indicates the password of an instance. An instance password\nmust meet the following complexity requirements: Must be 8 to 32 characters long.\nMust contain at least 2 of the following character types: lowercase letters, uppercase\nletters, digits, and special characters (`~!@#$%^\u0026*()-_=+\\|[{}]:'\",\u003c.\u003e/?`).\n","secret":true},"username":{"type":"string","description":"Indicates a username. A username consists of 4 to 64 characters\nand supports only letters, digits, and hyphens (-).\n"}},"requiredInputs":["instanceId","password","username"],"stateInputs":{"description":"Input properties used for looking up and filtering DmsUserV2 resources.\n","properties":{"creationTime":{"type":"number","description":"Specifies the time when a user was created.\n"},"defaultApp":{"type":"boolean","description":"Specifies whether an application is the default application.\n"},"dmsUserV2Id":{"type":"string"},"instanceId":{"type":"string","description":"Indicates the ID of primary DMS instance.\n"},"password":{"type":"string","description":"Indicates the password of an instance. An instance password\nmust meet the following complexity requirements: Must be 8 to 32 characters long.\nMust contain at least 2 of the following character types: lowercase letters, uppercase\nletters, digits, and special characters (`~!@#$%^\u0026*()-_=+\\|[{}]:'\",\u003c.\u003e/?`).\n","secret":true},"role":{"type":"string","description":"Specifies user role.\n"},"username":{"type":"string","description":"Indicates a username. A username consists of 4 to 64 characters\nand supports only letters, digits, and hyphens (-).\n"}},"type":"object"}},"opentelekomcloud:index/dnsPtrrecordV2:DnsPtrrecordV2":{"description":"Up-to-date reference of API arguments for DNS ptr record you can get at\n[documentation portal](https://docs.otc.t-systems.com/domain-name-service/api-ref/apis/ptr_record_management)\n\nManages a DNS PTR record in the OpenTelekomCloud DNS Service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst fip1 = new opentelekomcloud.NetworkingFloatingipV2(\"fip_1\", {});\nconst ptr1 = new opentelekomcloud.DnsPtrrecordV2(\"ptr_1\", {\n    name: \"ptr.example.com.\",\n    description: \"An example PTR record\",\n    floatingipId: fip1.networkingFloatingipV2Id,\n    ttl: 3000,\n    tags: {\n        foo: \"bar\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nfip1 = opentelekomcloud.NetworkingFloatingipV2(\"fip_1\")\nptr1 = opentelekomcloud.DnsPtrrecordV2(\"ptr_1\",\n    name=\"ptr.example.com.\",\n    description=\"An example PTR record\",\n    floatingip_id=fip1.networking_floatingip_v2_id,\n    ttl=3000,\n    tags={\n        \"foo\": \"bar\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var fip1 = new Opentelekomcloud.NetworkingFloatingipV2(\"fip_1\");\n\n    var ptr1 = new Opentelekomcloud.DnsPtrrecordV2(\"ptr_1\", new()\n    {\n        Name = \"ptr.example.com.\",\n        Description = \"An example PTR record\",\n        FloatingipId = fip1.NetworkingFloatingipV2Id,\n        Ttl = 3000,\n        Tags = \n        {\n            { \"foo\", \"bar\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfip1, err := opentelekomcloud.NewNetworkingFloatingipV2(ctx, \"fip_1\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewDnsPtrrecordV2(ctx, \"ptr_1\", \u0026opentelekomcloud.DnsPtrrecordV2Args{\n\t\t\tName:         pulumi.String(\"ptr.example.com.\"),\n\t\t\tDescription:  pulumi.String(\"An example PTR record\"),\n\t\t\tFloatingipId: fip1.NetworkingFloatingipV2Id,\n\t\t\tTtl:          pulumi.Float64(3000),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.NetworkingFloatingipV2;\nimport com.pulumi.opentelekomcloud.DnsPtrrecordV2;\nimport com.pulumi.opentelekomcloud.DnsPtrrecordV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var fip1 = new NetworkingFloatingipV2(\"fip1\");\n\n        var ptr1 = new DnsPtrrecordV2(\"ptr1\", DnsPtrrecordV2Args.builder()\n            .name(\"ptr.example.com.\")\n            .description(\"An example PTR record\")\n            .floatingipId(fip1.networkingFloatingipV2Id())\n            .ttl(3000.0)\n            .tags(Map.of(\"foo\", \"bar\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  fip1:\n    type: opentelekomcloud:NetworkingFloatingipV2\n    name: fip_1\n  ptr1:\n    type: opentelekomcloud:DnsPtrrecordV2\n    name: ptr_1\n    properties:\n      name: ptr.example.com.\n      description: An example PTR record\n      floatingipId: ${fip1.networkingFloatingipV2Id}\n      ttl: 3000\n      tags:\n        foo: bar\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPTR records can be imported using region and floatingip/eip ID, separated by a colon(:), e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/dnsPtrrecordV2:DnsPtrrecordV2 ptr_1 eu-de:d90ce693-5ccf-4136-a0ed-152ce412b6b9\n```\n\n","properties":{"address":{"type":"string","description":"The address of the FloatingIP/EIP.\n"},"description":{"type":"string","description":"Description of the PTR record.\n"},"dnsPtrrecordV2Id":{"type":"string","description":"The PTR record ID, which is in {region}:{floatingip_id} format.\n"},"floatingipId":{"type":"string","description":"The ID of the FloatingIP/EIP.\n"},"name":{"type":"string","description":"Domain name of the PTR record. A domain name is case insensitive.\nUppercase letters will also be converted into lowercase letters.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags key/value pairs to associate with the PTR record.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FDnsPtrrecordV2Timeouts:DnsPtrrecordV2Timeouts"},"ttl":{"type":"number","description":"The time to live (TTL) of the record set (in seconds). The value\nrange is 300–2147483647. The default value is 300.\n"}},"type":"object","required":["address","dnsPtrrecordV2Id","floatingipId","name"],"inputProperties":{"description":{"type":"string","description":"Description of the PTR record.\n"},"dnsPtrrecordV2Id":{"type":"string","description":"The PTR record ID, which is in {region}:{floatingip_id} format.\n"},"floatingipId":{"type":"string","description":"The ID of the FloatingIP/EIP.\n"},"name":{"type":"string","description":"Domain name of the PTR record. A domain name is case insensitive.\nUppercase letters will also be converted into lowercase letters.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags key/value pairs to associate with the PTR record.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FDnsPtrrecordV2Timeouts:DnsPtrrecordV2Timeouts"},"ttl":{"type":"number","description":"The time to live (TTL) of the record set (in seconds). The value\nrange is 300–2147483647. The default value is 300.\n"}},"requiredInputs":["floatingipId"],"stateInputs":{"description":"Input properties used for looking up and filtering DnsPtrrecordV2 resources.\n","properties":{"address":{"type":"string","description":"The address of the FloatingIP/EIP.\n"},"description":{"type":"string","description":"Description of the PTR record.\n"},"dnsPtrrecordV2Id":{"type":"string","description":"The PTR record ID, which is in {region}:{floatingip_id} format.\n"},"floatingipId":{"type":"string","description":"The ID of the FloatingIP/EIP.\n"},"name":{"type":"string","description":"Domain name of the PTR record. A domain name is case insensitive.\nUppercase letters will also be converted into lowercase letters.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags key/value pairs to associate with the PTR record.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FDnsPtrrecordV2Timeouts:DnsPtrrecordV2Timeouts"},"ttl":{"type":"number","description":"The time to live (TTL) of the record set (in seconds). The value\nrange is 300–2147483647. The default value is 300.\n"}},"type":"object"}},"opentelekomcloud:index/dnsRecordsetV2:DnsRecordsetV2":{"description":"Up-to-date reference of API arguments for DNS recordset you can get at\n[documentation portal](https://docs.otc.t-systems.com/domain-name-service/api-ref/apis/record_set_management`)\n\nManages a DNS record set in the OpenTelekomCloud DNS Service.\n\n## Example Usage\n\n### Automatically detect the correct network\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst exampleZone = new opentelekomcloud.DnsZoneV2(\"example_zone\", {\n    name: \"example.com.\",\n    email: \"email2@example.com\",\n    description: \"a zone\",\n    ttl: 6000,\n    type: \"public\",\n});\nconst rsExampleCom = new opentelekomcloud.DnsRecordsetV2(\"rs_example_com\", {\n    zoneId: exampleZone.dnsZoneV2Id,\n    name: \"rs.example.com.\",\n    description: \"An example record set\",\n    ttl: 3000,\n    type: \"A\",\n    records: [\"10.0.0.1\"],\n});\nconst rsTxtExample = new opentelekomcloud.DnsRecordsetV2(\"rs_txt_example\", {\n    zoneId: zone1.id,\n    name: \"%[1]s\",\n    type: \"TXT\",\n    description: \"a record set\",\n    ttl: 300,\n    records: [\"v=spf1 include:my.example.try.com -all\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nexample_zone = opentelekomcloud.DnsZoneV2(\"example_zone\",\n    name=\"example.com.\",\n    email=\"email2@example.com\",\n    description=\"a zone\",\n    ttl=6000,\n    type=\"public\")\nrs_example_com = opentelekomcloud.DnsRecordsetV2(\"rs_example_com\",\n    zone_id=example_zone.dns_zone_v2_id,\n    name=\"rs.example.com.\",\n    description=\"An example record set\",\n    ttl=3000,\n    type=\"A\",\n    records=[\"10.0.0.1\"])\nrs_txt_example = opentelekomcloud.DnsRecordsetV2(\"rs_txt_example\",\n    zone_id=zone1[\"id\"],\n    name=\"%[1]s\",\n    type=\"TXT\",\n    description=\"a record set\",\n    ttl=300,\n    records=[\"v=spf1 include:my.example.try.com -all\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleZone = new Opentelekomcloud.DnsZoneV2(\"example_zone\", new()\n    {\n        Name = \"example.com.\",\n        Email = \"email2@example.com\",\n        Description = \"a zone\",\n        Ttl = 6000,\n        Type = \"public\",\n    });\n\n    var rsExampleCom = new Opentelekomcloud.DnsRecordsetV2(\"rs_example_com\", new()\n    {\n        ZoneId = exampleZone.DnsZoneV2Id,\n        Name = \"rs.example.com.\",\n        Description = \"An example record set\",\n        Ttl = 3000,\n        Type = \"A\",\n        Records = new[]\n        {\n            \"10.0.0.1\",\n        },\n    });\n\n    var rsTxtExample = new Opentelekomcloud.DnsRecordsetV2(\"rs_txt_example\", new()\n    {\n        ZoneId = zone1.Id,\n        Name = \"%[1]s\",\n        Type = \"TXT\",\n        Description = \"a record set\",\n        Ttl = 300,\n        Records = new[]\n        {\n            \"v=spf1 include:my.example.try.com -all\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleZone, err := opentelekomcloud.NewDnsZoneV2(ctx, \"example_zone\", \u0026opentelekomcloud.DnsZoneV2Args{\n\t\t\tName:        pulumi.String(\"example.com.\"),\n\t\t\tEmail:       pulumi.String(\"email2@example.com\"),\n\t\t\tDescription: pulumi.String(\"a zone\"),\n\t\t\tTtl:         pulumi.Float64(6000),\n\t\t\tType:        pulumi.String(\"public\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewDnsRecordsetV2(ctx, \"rs_example_com\", \u0026opentelekomcloud.DnsRecordsetV2Args{\n\t\t\tZoneId:      exampleZone.DnsZoneV2Id,\n\t\t\tName:        pulumi.String(\"rs.example.com.\"),\n\t\t\tDescription: pulumi.String(\"An example record set\"),\n\t\t\tTtl:         pulumi.Float64(3000),\n\t\t\tType:        pulumi.String(\"A\"),\n\t\t\tRecords: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.1\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewDnsRecordsetV2(ctx, \"rs_txt_example\", \u0026opentelekomcloud.DnsRecordsetV2Args{\n\t\t\tZoneId:      pulumi.Any(zone1.Id),\n\t\t\tName:        pulumi.String(\"%[1]s\"),\n\t\t\tType:        pulumi.String(\"TXT\"),\n\t\t\tDescription: pulumi.String(\"a record set\"),\n\t\t\tTtl:         pulumi.Float64(300),\n\t\t\tRecords: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"v=spf1 include:my.example.try.com -all\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.DnsZoneV2;\nimport com.pulumi.opentelekomcloud.DnsZoneV2Args;\nimport com.pulumi.opentelekomcloud.DnsRecordsetV2;\nimport com.pulumi.opentelekomcloud.DnsRecordsetV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleZone = new DnsZoneV2(\"exampleZone\", DnsZoneV2Args.builder()\n            .name(\"example.com.\")\n            .email(\"email2@example.com\")\n            .description(\"a zone\")\n            .ttl(6000.0)\n            .type(\"public\")\n            .build());\n\n        var rsExampleCom = new DnsRecordsetV2(\"rsExampleCom\", DnsRecordsetV2Args.builder()\n            .zoneId(exampleZone.dnsZoneV2Id())\n            .name(\"rs.example.com.\")\n            .description(\"An example record set\")\n            .ttl(3000.0)\n            .type(\"A\")\n            .records(\"10.0.0.1\")\n            .build());\n\n        var rsTxtExample = new DnsRecordsetV2(\"rsTxtExample\", DnsRecordsetV2Args.builder()\n            .zoneId(zone1.id())\n            .name(\"%[1]s\")\n            .type(\"TXT\")\n            .description(\"a record set\")\n            .ttl(300.0)\n            .records(\"v=spf1 include:my.example.try.com -all\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleZone:\n    type: opentelekomcloud:DnsZoneV2\n    name: example_zone\n    properties:\n      name: example.com.\n      email: email2@example.com\n      description: a zone\n      ttl: 6000\n      type: public\n  rsExampleCom:\n    type: opentelekomcloud:DnsRecordsetV2\n    name: rs_example_com\n    properties:\n      zoneId: ${exampleZone.dnsZoneV2Id}\n      name: rs.example.com.\n      description: An example record set\n      ttl: 3000\n      type: A\n      records:\n        - 10.0.0.1\n  rsTxtExample:\n    type: opentelekomcloud:DnsRecordsetV2\n    name: rs_txt_example\n    properties:\n      zoneId: ${zone1.id}\n      name: '%[1]s'\n      type: TXT\n      description: a record set\n      ttl: 300\n      records:\n        - v=spf1 include:my.example.try.com -all\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThis resource can be imported by specifying the zone ID and recordset ID,\n\nseparated by a forward slash.\n\n```sh\n$ pulumi import opentelekomcloud:index/dnsRecordsetV2:DnsRecordsetV2 recordset_1 \u003czone_id\u003e/\u003crecordset_id\u003e\n```\n\nImported key pairs are considered to be not shared.\n\n","properties":{"description":{"type":"string","description":"A description of the  record set.\n"},"dnsRecordsetV2Id":{"type":"string"},"name":{"type":"string","description":"The name of the record set. Changing this creates a new DNS  record set.\n\n\u003e **Note:** The `.` at the end of the name.\n"},"records":{"type":"array","items":{"type":"string"},"description":"An array of DNS records.\n"},"region":{"type":"string"},"shared":{"type":"boolean"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"The key/value pairs to associate with the zone.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FDnsRecordsetV2Timeouts:DnsRecordsetV2Timeouts"},"ttl":{"type":"number","description":"The time to live (TTL) of the record set.\n"},"type":{"type":"string","description":"The type of record set. Examples: \"A\", \"MX\".\nChanging this creates a new DNS  record set.\n"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"}},"zoneId":{"type":"string","description":"The ID of the zone in which to create the record set.\nChanging this creates a new DNS  record set.\n"}},"type":"object","required":["dnsRecordsetV2Id","name","records","region","shared","type","zoneId"],"inputProperties":{"description":{"type":"string","description":"A description of the  record set.\n"},"dnsRecordsetV2Id":{"type":"string"},"name":{"type":"string","description":"The name of the record set. Changing this creates a new DNS  record set.\n\n\u003e **Note:** The `.` at the end of the name.\n"},"records":{"type":"array","items":{"type":"string"},"description":"An array of DNS records.\n"},"region":{"type":"string"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"The key/value pairs to associate with the zone.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FDnsRecordsetV2Timeouts:DnsRecordsetV2Timeouts"},"ttl":{"type":"number","description":"The time to live (TTL) of the record set.\n"},"type":{"type":"string","description":"The type of record set. Examples: \"A\", \"MX\".\nChanging this creates a new DNS  record set.\n"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"}},"zoneId":{"type":"string","description":"The ID of the zone in which to create the record set.\nChanging this creates a new DNS  record set.\n"}},"requiredInputs":["records","type","zoneId"],"stateInputs":{"description":"Input properties used for looking up and filtering DnsRecordsetV2 resources.\n","properties":{"description":{"type":"string","description":"A description of the  record set.\n"},"dnsRecordsetV2Id":{"type":"string"},"name":{"type":"string","description":"The name of the record set. Changing this creates a new DNS  record set.\n\n\u003e **Note:** The `.` at the end of the name.\n"},"records":{"type":"array","items":{"type":"string"},"description":"An array of DNS records.\n"},"region":{"type":"string"},"shared":{"type":"boolean"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"The key/value pairs to associate with the zone.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FDnsRecordsetV2Timeouts:DnsRecordsetV2Timeouts"},"ttl":{"type":"number","description":"The time to live (TTL) of the record set.\n"},"type":{"type":"string","description":"The type of record set. Examples: \"A\", \"MX\".\nChanging this creates a new DNS  record set.\n"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"}},"zoneId":{"type":"string","description":"The ID of the zone in which to create the record set.\nChanging this creates a new DNS  record set.\n"}},"type":"object"}},"opentelekomcloud:index/dnsZoneV2:DnsZoneV2":{"description":"Up-to-date reference of API arguments for DNS zones you can get at\n[documentation portal (private zone)](https://docs.otc.t-systems.com/domain-name-service/api-ref/apis/private_zone_management) and\n[documentation portal (public zone)](https://docs.otc.t-systems.com/domain-name-service/api-ref/apis/public_zone_management)\n\nManages a DNS zone in the OpenTelekomCloud DNS Service.\n\n## Example Usage\n\n### Public Zone Configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst publicExampleCom = new opentelekomcloud.DnsZoneV2(\"public_example_com\", {\n    name: \"public.example.com.\",\n    email: \"public@example.com\",\n    description: \"An example for public zone\",\n    ttl: 3000,\n    type: \"public\",\n    tags: {\n        foo: \"bar\",\n        key: \"value\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\npublic_example_com = opentelekomcloud.DnsZoneV2(\"public_example_com\",\n    name=\"public.example.com.\",\n    email=\"public@example.com\",\n    description=\"An example for public zone\",\n    ttl=3000,\n    type=\"public\",\n    tags={\n        \"foo\": \"bar\",\n        \"key\": \"value\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var publicExampleCom = new Opentelekomcloud.DnsZoneV2(\"public_example_com\", new()\n    {\n        Name = \"public.example.com.\",\n        Email = \"public@example.com\",\n        Description = \"An example for public zone\",\n        Ttl = 3000,\n        Type = \"public\",\n        Tags = \n        {\n            { \"foo\", \"bar\" },\n            { \"key\", \"value\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewDnsZoneV2(ctx, \"public_example_com\", \u0026opentelekomcloud.DnsZoneV2Args{\n\t\t\tName:        pulumi.String(\"public.example.com.\"),\n\t\t\tEmail:       pulumi.String(\"public@example.com\"),\n\t\t\tDescription: pulumi.String(\"An example for public zone\"),\n\t\t\tTtl:         pulumi.Float64(3000),\n\t\t\tType:        pulumi.String(\"public\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t\t\"key\": pulumi.String(\"value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.DnsZoneV2;\nimport com.pulumi.opentelekomcloud.DnsZoneV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var publicExampleCom = new DnsZoneV2(\"publicExampleCom\", DnsZoneV2Args.builder()\n            .name(\"public.example.com.\")\n            .email(\"public@example.com\")\n            .description(\"An example for public zone\")\n            .ttl(3000.0)\n            .type(\"public\")\n            .tags(Map.ofEntries(\n                Map.entry(\"foo\", \"bar\"),\n                Map.entry(\"key\", \"value\")\n            ))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  publicExampleCom:\n    type: opentelekomcloud:DnsZoneV2\n    name: public_example_com\n    properties:\n      name: public.example.com.\n      email: public@example.com\n      description: An example for public zone\n      ttl: 3000\n      type: public\n      tags:\n        foo: bar\n        key: value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Private Zone Configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst privateExampleCom = new opentelekomcloud.DnsZoneV2(\"private_example_com\", {\n    name: \"private.example.com.\",\n    email: \"private@example.com\",\n    description: \"An example for private zone\",\n    ttl: 3000,\n    type: \"private\",\n    routers: [{\n        routerId: vpcId,\n        routerRegion: region,\n    }],\n    tags: {\n        foo: \"bar\",\n        key: \"value\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nprivate_example_com = opentelekomcloud.DnsZoneV2(\"private_example_com\",\n    name=\"private.example.com.\",\n    email=\"private@example.com\",\n    description=\"An example for private zone\",\n    ttl=3000,\n    type=\"private\",\n    routers=[{\n        \"router_id\": vpc_id,\n        \"router_region\": region,\n    }],\n    tags={\n        \"foo\": \"bar\",\n        \"key\": \"value\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var privateExampleCom = new Opentelekomcloud.DnsZoneV2(\"private_example_com\", new()\n    {\n        Name = \"private.example.com.\",\n        Email = \"private@example.com\",\n        Description = \"An example for private zone\",\n        Ttl = 3000,\n        Type = \"private\",\n        Routers = new[]\n        {\n            new Opentelekomcloud.Inputs.DnsZoneV2RouterArgs\n            {\n                RouterId = vpcId,\n                RouterRegion = region,\n            },\n        },\n        Tags = \n        {\n            { \"foo\", \"bar\" },\n            { \"key\", \"value\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewDnsZoneV2(ctx, \"private_example_com\", \u0026opentelekomcloud.DnsZoneV2Args{\n\t\t\tName:        pulumi.String(\"private.example.com.\"),\n\t\t\tEmail:       pulumi.String(\"private@example.com\"),\n\t\t\tDescription: pulumi.String(\"An example for private zone\"),\n\t\t\tTtl:         pulumi.Float64(3000),\n\t\t\tType:        pulumi.String(\"private\"),\n\t\t\tRouters: opentelekomcloud.DnsZoneV2RouterArray{\n\t\t\t\t\u0026opentelekomcloud.DnsZoneV2RouterArgs{\n\t\t\t\t\tRouterId:     pulumi.Any(vpcId),\n\t\t\t\t\tRouterRegion: pulumi.Any(region),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t\t\"key\": pulumi.String(\"value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.DnsZoneV2;\nimport com.pulumi.opentelekomcloud.DnsZoneV2Args;\nimport com.pulumi.opentelekomcloud.inputs.DnsZoneV2RouterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var privateExampleCom = new DnsZoneV2(\"privateExampleCom\", DnsZoneV2Args.builder()\n            .name(\"private.example.com.\")\n            .email(\"private@example.com\")\n            .description(\"An example for private zone\")\n            .ttl(3000.0)\n            .type(\"private\")\n            .routers(DnsZoneV2RouterArgs.builder()\n                .routerId(vpcId)\n                .routerRegion(region)\n                .build())\n            .tags(Map.ofEntries(\n                Map.entry(\"foo\", \"bar\"),\n                Map.entry(\"key\", \"value\")\n            ))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  privateExampleCom:\n    type: opentelekomcloud:DnsZoneV2\n    name: private_example_com\n    properties:\n      name: private.example.com.\n      email: private@example.com\n      description: An example for private zone\n      ttl: 3000\n      type: private\n      routers:\n        - routerId: ${vpcId}\n          routerRegion: ${region}\n      tags:\n        foo: bar\n        key: value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Private Zone Configuration with multiple routers\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst privateExampleCom = new opentelekomcloud.DnsZoneV2(\"private_example_com\", {\n    name: \"private.example.com.\",\n    email: \"private@example.com\",\n    description: \"An example for private zone\",\n    ttl: 3000,\n    type: \"private\",\n    routers: [\n        {\n            routerId: vpcId1,\n            routerRegion: region,\n        },\n        {\n            routerId: vpcId2,\n            routerRegion: region,\n        },\n    ],\n    tags: {\n        foo: \"bar\",\n        key: \"value\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nprivate_example_com = opentelekomcloud.DnsZoneV2(\"private_example_com\",\n    name=\"private.example.com.\",\n    email=\"private@example.com\",\n    description=\"An example for private zone\",\n    ttl=3000,\n    type=\"private\",\n    routers=[\n        {\n            \"router_id\": vpc_id1,\n            \"router_region\": region,\n        },\n        {\n            \"router_id\": vpc_id2,\n            \"router_region\": region,\n        },\n    ],\n    tags={\n        \"foo\": \"bar\",\n        \"key\": \"value\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var privateExampleCom = new Opentelekomcloud.DnsZoneV2(\"private_example_com\", new()\n    {\n        Name = \"private.example.com.\",\n        Email = \"private@example.com\",\n        Description = \"An example for private zone\",\n        Ttl = 3000,\n        Type = \"private\",\n        Routers = new[]\n        {\n            new Opentelekomcloud.Inputs.DnsZoneV2RouterArgs\n            {\n                RouterId = vpcId1,\n                RouterRegion = region,\n            },\n            new Opentelekomcloud.Inputs.DnsZoneV2RouterArgs\n            {\n                RouterId = vpcId2,\n                RouterRegion = region,\n            },\n        },\n        Tags = \n        {\n            { \"foo\", \"bar\" },\n            { \"key\", \"value\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewDnsZoneV2(ctx, \"private_example_com\", \u0026opentelekomcloud.DnsZoneV2Args{\n\t\t\tName:        pulumi.String(\"private.example.com.\"),\n\t\t\tEmail:       pulumi.String(\"private@example.com\"),\n\t\t\tDescription: pulumi.String(\"An example for private zone\"),\n\t\t\tTtl:         pulumi.Float64(3000),\n\t\t\tType:        pulumi.String(\"private\"),\n\t\t\tRouters: opentelekomcloud.DnsZoneV2RouterArray{\n\t\t\t\t\u0026opentelekomcloud.DnsZoneV2RouterArgs{\n\t\t\t\t\tRouterId:     pulumi.Any(vpcId1),\n\t\t\t\t\tRouterRegion: pulumi.Any(region),\n\t\t\t\t},\n\t\t\t\t\u0026opentelekomcloud.DnsZoneV2RouterArgs{\n\t\t\t\t\tRouterId:     pulumi.Any(vpcId2),\n\t\t\t\t\tRouterRegion: pulumi.Any(region),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t\t\"key\": pulumi.String(\"value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.DnsZoneV2;\nimport com.pulumi.opentelekomcloud.DnsZoneV2Args;\nimport com.pulumi.opentelekomcloud.inputs.DnsZoneV2RouterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var privateExampleCom = new DnsZoneV2(\"privateExampleCom\", DnsZoneV2Args.builder()\n            .name(\"private.example.com.\")\n            .email(\"private@example.com\")\n            .description(\"An example for private zone\")\n            .ttl(3000.0)\n            .type(\"private\")\n            .routers(            \n                DnsZoneV2RouterArgs.builder()\n                    .routerId(vpcId1)\n                    .routerRegion(region)\n                    .build(),\n                DnsZoneV2RouterArgs.builder()\n                    .routerId(vpcId2)\n                    .routerRegion(region)\n                    .build())\n            .tags(Map.ofEntries(\n                Map.entry(\"foo\", \"bar\"),\n                Map.entry(\"key\", \"value\")\n            ))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  privateExampleCom:\n    type: opentelekomcloud:DnsZoneV2\n    name: private_example_com\n    properties:\n      name: private.example.com.\n      email: private@example.com\n      description: An example for private zone\n      ttl: 3000\n      type: private\n      routers:\n        - routerId: ${vpcId1}\n          routerRegion: ${region}\n        - routerId: ${vpcId2}\n          routerRegion: ${region}\n      tags:\n        foo: bar\n        key: value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThis resource can be imported by specifying the zone ID:\n\n```sh\n$ pulumi import opentelekomcloud:index/dnsZoneV2:DnsZoneV2 zone_1 \u003czone_id\u003e\n```\n\n","properties":{"description":{"type":"string","description":"A description of the zone.\n"},"dnsZoneV2Id":{"type":"string"},"email":{"type":"string","description":"The email contact for the zone record.\n"},"masters":{"type":"array","items":{"type":"string"},"description":"An array of master DNS servers.\n"},"name":{"type":"string","description":"The name of the zone.   Changing this creates a new DNS zone.\n\u003e **Note:** The `.` at the end of the name.\n"},"region":{"type":"string"},"routers":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FDnsZoneV2Router:DnsZoneV2Router"},"description":"The Routers(VPCs) configuration for the private zone.\nit is required when type is \u003cspan pulumi-lang-nodejs=\"`private`\" pulumi-lang-dotnet=\"`Private`\" pulumi-lang-go=\"`private`\" pulumi-lang-python=\"`private`\" pulumi-lang-yaml=\"`private`\" pulumi-lang-java=\"`private`\"\u003e`private`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"The key/value pairs to associate with the zone.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FDnsZoneV2Timeouts:DnsZoneV2Timeouts"},"ttl":{"type":"number","description":"The time to live (TTL) of the zone.\n"},"type":{"type":"string","description":"The type of zone. Can either be \u003cspan pulumi-lang-nodejs=\"`public`\" pulumi-lang-dotnet=\"`Public`\" pulumi-lang-go=\"`public`\" pulumi-lang-python=\"`public`\" pulumi-lang-yaml=\"`public`\" pulumi-lang-java=\"`public`\"\u003e`public`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`private`\" pulumi-lang-dotnet=\"`Private`\" pulumi-lang-go=\"`private`\" pulumi-lang-python=\"`private`\" pulumi-lang-yaml=\"`private`\" pulumi-lang-java=\"`private`\"\u003e`private`\u003c/span\u003e.\nChanging this creates a new zone.\n"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of additional options. Changing this creates a new zone.\n"}},"type":"object","required":["dnsZoneV2Id","masters","name","region"],"inputProperties":{"description":{"type":"string","description":"A description of the zone.\n"},"dnsZoneV2Id":{"type":"string"},"email":{"type":"string","description":"The email contact for the zone record.\n"},"name":{"type":"string","description":"The name of the zone.   Changing this creates a new DNS zone.\n\u003e **Note:** The `.` at the end of the name.\n"},"region":{"type":"string"},"routers":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FDnsZoneV2Router:DnsZoneV2Router"},"description":"The Routers(VPCs) configuration for the private zone.\nit is required when type is \u003cspan pulumi-lang-nodejs=\"`private`\" pulumi-lang-dotnet=\"`Private`\" pulumi-lang-go=\"`private`\" pulumi-lang-python=\"`private`\" pulumi-lang-yaml=\"`private`\" pulumi-lang-java=\"`private`\"\u003e`private`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"The key/value pairs to associate with the zone.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FDnsZoneV2Timeouts:DnsZoneV2Timeouts"},"ttl":{"type":"number","description":"The time to live (TTL) of the zone.\n"},"type":{"type":"string","description":"The type of zone. Can either be \u003cspan pulumi-lang-nodejs=\"`public`\" pulumi-lang-dotnet=\"`Public`\" pulumi-lang-go=\"`public`\" pulumi-lang-python=\"`public`\" pulumi-lang-yaml=\"`public`\" pulumi-lang-java=\"`public`\"\u003e`public`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`private`\" pulumi-lang-dotnet=\"`Private`\" pulumi-lang-go=\"`private`\" pulumi-lang-python=\"`private`\" pulumi-lang-yaml=\"`private`\" pulumi-lang-java=\"`private`\"\u003e`private`\u003c/span\u003e.\nChanging this creates a new zone.\n"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of additional options. Changing this creates a new zone.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering DnsZoneV2 resources.\n","properties":{"description":{"type":"string","description":"A description of the zone.\n"},"dnsZoneV2Id":{"type":"string"},"email":{"type":"string","description":"The email contact for the zone record.\n"},"masters":{"type":"array","items":{"type":"string"},"description":"An array of master DNS servers.\n"},"name":{"type":"string","description":"The name of the zone.   Changing this creates a new DNS zone.\n\u003e **Note:** The `.` at the end of the name.\n"},"region":{"type":"string"},"routers":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FDnsZoneV2Router:DnsZoneV2Router"},"description":"The Routers(VPCs) configuration for the private zone.\nit is required when type is \u003cspan pulumi-lang-nodejs=\"`private`\" pulumi-lang-dotnet=\"`Private`\" pulumi-lang-go=\"`private`\" pulumi-lang-python=\"`private`\" pulumi-lang-yaml=\"`private`\" pulumi-lang-java=\"`private`\"\u003e`private`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"The key/value pairs to associate with the zone.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FDnsZoneV2Timeouts:DnsZoneV2Timeouts"},"ttl":{"type":"number","description":"The time to live (TTL) of the zone.\n"},"type":{"type":"string","description":"The type of zone. Can either be \u003cspan pulumi-lang-nodejs=\"`public`\" pulumi-lang-dotnet=\"`Public`\" pulumi-lang-go=\"`public`\" pulumi-lang-python=\"`public`\" pulumi-lang-yaml=\"`public`\" pulumi-lang-java=\"`public`\"\u003e`public`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`private`\" pulumi-lang-dotnet=\"`Private`\" pulumi-lang-go=\"`private`\" pulumi-lang-python=\"`private`\" pulumi-lang-yaml=\"`private`\" pulumi-lang-java=\"`private`\"\u003e`private`\u003c/span\u003e.\nChanging this creates a new zone.\n"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of additional options. Changing this creates a new zone.\n"}},"type":"object"}},"opentelekomcloud:index/drsTaskV3:DrsTaskV3":{"description":"Up-to-date reference of API arguments for DRS task you can get at\n[documentation portal](https://docs.otc.t-systems.com/data-replication-service/api-ref/api/public_api_management/index.html#drs-03-0101)\n\nManages DRS task resource within OpenTelekomCloud.\n\n## Example Usage\n\n### Create a DRS task to migrate data using EIP (up direction)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst source = new opentelekomcloud.RdsInstanceV3(\"source\", {});\nconst destination = new opentelekomcloud.RdsInstanceV3(\"destination\", {});\nconst migrationDown = new opentelekomcloud.DrsTaskV3(\"migration_down\", {\n    name: \"mysql-migration-up\",\n    type: \"migration\",\n    engineType: \"mysql\",\n    direction: \"up\",\n    netType: \"eip\",\n    migrationType: \"FULL_INCR_TRANS\",\n    description: \"mysql-migration-up\",\n    forceDestroy: true,\n    sourceDb: {\n        engineType: \"mysql\",\n        ip: source.publicIps.apply(publicIps =\u003e publicIps?.[0]),\n        port: 3306,\n        user: \"root\",\n        password: \"MySql_password123\",\n    },\n    destinationDb: {\n        ip: destination.publicIps.apply(publicIps =\u003e publicIps?.[0]),\n        port: 3306,\n        engineType: \"mysql\",\n        user: \"root\",\n        password: \"MySql_password123\",\n        instanceId: destination.rdsInstanceV3Id,\n        subnetId: destination.subnetId,\n    },\n    tags: {\n        key: \"mysql-migration-up\",\n    },\n    action: \"start\",\n    startTime: \"1640995200000\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nsource = opentelekomcloud.RdsInstanceV3(\"source\")\ndestination = opentelekomcloud.RdsInstanceV3(\"destination\")\nmigration_down = opentelekomcloud.DrsTaskV3(\"migration_down\",\n    name=\"mysql-migration-up\",\n    type=\"migration\",\n    engine_type=\"mysql\",\n    direction=\"up\",\n    net_type=\"eip\",\n    migration_type=\"FULL_INCR_TRANS\",\n    description=\"mysql-migration-up\",\n    force_destroy=True,\n    source_db={\n        \"engine_type\": \"mysql\",\n        \"ip\": source.public_ips[0],\n        \"port\": 3306,\n        \"user\": \"root\",\n        \"password\": \"MySql_password123\",\n    },\n    destination_db={\n        \"ip\": destination.public_ips[0],\n        \"port\": 3306,\n        \"engine_type\": \"mysql\",\n        \"user\": \"root\",\n        \"password\": \"MySql_password123\",\n        \"instance_id\": destination.rds_instance_v3_id,\n        \"subnet_id\": destination.subnet_id,\n    },\n    tags={\n        \"key\": \"mysql-migration-up\",\n    },\n    action=\"start\",\n    start_time=\"1640995200000\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var source = new Opentelekomcloud.RdsInstanceV3(\"source\");\n\n    var destination = new Opentelekomcloud.RdsInstanceV3(\"destination\");\n\n    var migrationDown = new Opentelekomcloud.DrsTaskV3(\"migration_down\", new()\n    {\n        Name = \"mysql-migration-up\",\n        Type = \"migration\",\n        EngineType = \"mysql\",\n        Direction = \"up\",\n        NetType = \"eip\",\n        MigrationType = \"FULL_INCR_TRANS\",\n        Description = \"mysql-migration-up\",\n        ForceDestroy = true,\n        SourceDb = new Opentelekomcloud.Inputs.DrsTaskV3SourceDbArgs\n        {\n            EngineType = \"mysql\",\n            Ip = source.PublicIps.Apply(publicIps =\u003e publicIps[0]),\n            Port = 3306,\n            User = \"root\",\n            Password = \"MySql_password123\",\n        },\n        DestinationDb = new Opentelekomcloud.Inputs.DrsTaskV3DestinationDbArgs\n        {\n            Ip = destination.PublicIps.Apply(publicIps =\u003e publicIps[0]),\n            Port = 3306,\n            EngineType = \"mysql\",\n            User = \"root\",\n            Password = \"MySql_password123\",\n            InstanceId = destination.RdsInstanceV3Id,\n            SubnetId = destination.SubnetId,\n        },\n        Tags = \n        {\n            { \"key\", \"mysql-migration-up\" },\n        },\n        Action = \"start\",\n        StartTime = \"1640995200000\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsource, err := opentelekomcloud.NewRdsInstanceV3(ctx, \"source\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdestination, err := opentelekomcloud.NewRdsInstanceV3(ctx, \"destination\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewDrsTaskV3(ctx, \"migration_down\", \u0026opentelekomcloud.DrsTaskV3Args{\n\t\t\tName:          pulumi.String(\"mysql-migration-up\"),\n\t\t\tType:          pulumi.String(\"migration\"),\n\t\t\tEngineType:    pulumi.String(\"mysql\"),\n\t\t\tDirection:     pulumi.String(\"up\"),\n\t\t\tNetType:       pulumi.String(\"eip\"),\n\t\t\tMigrationType: pulumi.String(\"FULL_INCR_TRANS\"),\n\t\t\tDescription:   pulumi.String(\"mysql-migration-up\"),\n\t\t\tForceDestroy:  pulumi.Bool(true),\n\t\t\tSourceDb: \u0026opentelekomcloud.DrsTaskV3SourceDbArgs{\n\t\t\t\tEngineType: pulumi.String(\"mysql\"),\n\t\t\t\tIp: source.PublicIps.ApplyT(func(publicIps interface{}) (*string, error) {\n\t\t\t\t\treturn \u0026publicIps[0], nil\n\t\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\t\tPort:     pulumi.Float64(3306),\n\t\t\t\tUser:     pulumi.String(\"root\"),\n\t\t\t\tPassword: pulumi.String(\"MySql_password123\"),\n\t\t\t},\n\t\t\tDestinationDb: \u0026opentelekomcloud.DrsTaskV3DestinationDbArgs{\n\t\t\t\tIp: destination.PublicIps.ApplyT(func(publicIps interface{}) (*string, error) {\n\t\t\t\t\treturn \u0026publicIps[0], nil\n\t\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\t\tPort:       pulumi.Float64(3306),\n\t\t\t\tEngineType: pulumi.String(\"mysql\"),\n\t\t\t\tUser:       pulumi.String(\"root\"),\n\t\t\t\tPassword:   pulumi.String(\"MySql_password123\"),\n\t\t\t\tInstanceId: destination.RdsInstanceV3Id,\n\t\t\t\tSubnetId:   destination.SubnetId,\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"key\": pulumi.String(\"mysql-migration-up\"),\n\t\t\t},\n\t\t\tAction:    pulumi.String(\"start\"),\n\t\t\tStartTime: pulumi.String(\"1640995200000\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.RdsInstanceV3;\nimport com.pulumi.opentelekomcloud.DrsTaskV3;\nimport com.pulumi.opentelekomcloud.DrsTaskV3Args;\nimport com.pulumi.opentelekomcloud.inputs.DrsTaskV3SourceDbArgs;\nimport com.pulumi.opentelekomcloud.inputs.DrsTaskV3DestinationDbArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var source = new RdsInstanceV3(\"source\");\n\n        var destination = new RdsInstanceV3(\"destination\");\n\n        var migrationDown = new DrsTaskV3(\"migrationDown\", DrsTaskV3Args.builder()\n            .name(\"mysql-migration-up\")\n            .type(\"migration\")\n            .engineType(\"mysql\")\n            .direction(\"up\")\n            .netType(\"eip\")\n            .migrationType(\"FULL_INCR_TRANS\")\n            .description(\"mysql-migration-up\")\n            .forceDestroy(true)\n            .sourceDb(DrsTaskV3SourceDbArgs.builder()\n                .engineType(\"mysql\")\n                .ip(source.publicIps().applyValue(_publicIps -\u003e _publicIps[0]))\n                .port(3306.0)\n                .user(\"root\")\n                .password(\"MySql_password123\")\n                .build())\n            .destinationDb(DrsTaskV3DestinationDbArgs.builder()\n                .ip(destination.publicIps().applyValue(_publicIps -\u003e _publicIps[0]))\n                .port(3306.0)\n                .engineType(\"mysql\")\n                .user(\"root\")\n                .password(\"MySql_password123\")\n                .instanceId(destination.rdsInstanceV3Id())\n                .subnetId(destination.subnetId())\n                .build())\n            .tags(Map.of(\"key\", \"mysql-migration-up\"))\n            .action(\"start\")\n            .startTime(\"1640995200000\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  source:\n    type: opentelekomcloud:RdsInstanceV3\n  destination:\n    type: opentelekomcloud:RdsInstanceV3\n  migrationDown:\n    type: opentelekomcloud:DrsTaskV3\n    name: migration_down\n    properties:\n      name: mysql-migration-up\n      type: migration\n      engineType: mysql\n      direction: up\n      netType: eip\n      migrationType: FULL_INCR_TRANS\n      description: mysql-migration-up\n      forceDestroy: true\n      sourceDb:\n        engineType: mysql\n        ip: ${source.publicIps[0]}\n        port: 3306\n        user: root\n        password: MySql_password123\n      destinationDb:\n        ip: ${destination.publicIps[0]}\n        port: 3306\n        engineType: mysql\n        user: root\n        password: MySql_password123\n        instanceId: ${destination.rdsInstanceV3Id}\n        subnetId: ${destination.subnetId}\n      tags:\n        key: mysql-migration-up\n      action: start\n      startTime: '1640995200000'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a DRS task to migrate data using VPC (down direction)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst source = new opentelekomcloud.RdsInstanceV3(\"source\", {});\nconst destination = new opentelekomcloud.RdsInstanceV3(\"destination\", {});\nconst migrationDown = new opentelekomcloud.DrsTaskV3(\"migration_down\", {\n    name: \"mysql-migration-down\",\n    type: \"migration\",\n    engineType: \"mysql\",\n    direction: \"down\",\n    netType: \"vpc\",\n    forceDestroy: true,\n    sourceDb: {\n        engineType: \"mysql\",\n        ip: source.privateIps[0],\n        port: 3306,\n        user: \"root\",\n        password: \"MySql_password123\",\n        instanceId: source.rdsInstanceV3Id,\n        subnetId: sharedSubnet.networkId,\n    },\n    destinationDb: {\n        engineType: \"mysql\",\n        ip: destination.privateIps[0],\n        port: 3306,\n        user: \"root\",\n        password: \"MySql_password123\",\n        subnetId: sharedSubnet.networkId,\n        vpcId: sharedSubnet.vpcId,\n    },\n    destinationDbReadonly: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nsource = opentelekomcloud.RdsInstanceV3(\"source\")\ndestination = opentelekomcloud.RdsInstanceV3(\"destination\")\nmigration_down = opentelekomcloud.DrsTaskV3(\"migration_down\",\n    name=\"mysql-migration-down\",\n    type=\"migration\",\n    engine_type=\"mysql\",\n    direction=\"down\",\n    net_type=\"vpc\",\n    force_destroy=True,\n    source_db={\n        \"engine_type\": \"mysql\",\n        \"ip\": source.private_ips[0],\n        \"port\": 3306,\n        \"user\": \"root\",\n        \"password\": \"MySql_password123\",\n        \"instance_id\": source.rds_instance_v3_id,\n        \"subnet_id\": shared_subnet[\"networkId\"],\n    },\n    destination_db={\n        \"engine_type\": \"mysql\",\n        \"ip\": destination.private_ips[0],\n        \"port\": 3306,\n        \"user\": \"root\",\n        \"password\": \"MySql_password123\",\n        \"subnet_id\": shared_subnet[\"networkId\"],\n        \"vpc_id\": shared_subnet[\"vpcId\"],\n    },\n    destination_db_readonly=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var source = new Opentelekomcloud.RdsInstanceV3(\"source\");\n\n    var destination = new Opentelekomcloud.RdsInstanceV3(\"destination\");\n\n    var migrationDown = new Opentelekomcloud.DrsTaskV3(\"migration_down\", new()\n    {\n        Name = \"mysql-migration-down\",\n        Type = \"migration\",\n        EngineType = \"mysql\",\n        Direction = \"down\",\n        NetType = \"vpc\",\n        ForceDestroy = true,\n        SourceDb = new Opentelekomcloud.Inputs.DrsTaskV3SourceDbArgs\n        {\n            EngineType = \"mysql\",\n            Ip = source.PrivateIps.Apply(privateIps =\u003e privateIps[0]),\n            Port = 3306,\n            User = \"root\",\n            Password = \"MySql_password123\",\n            InstanceId = source.RdsInstanceV3Id,\n            SubnetId = sharedSubnet.NetworkId,\n        },\n        DestinationDb = new Opentelekomcloud.Inputs.DrsTaskV3DestinationDbArgs\n        {\n            EngineType = \"mysql\",\n            Ip = destination.PrivateIps.Apply(privateIps =\u003e privateIps[0]),\n            Port = 3306,\n            User = \"root\",\n            Password = \"MySql_password123\",\n            SubnetId = sharedSubnet.NetworkId,\n            VpcId = sharedSubnet.VpcId,\n        },\n        DestinationDbReadonly = false,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsource, err := opentelekomcloud.NewRdsInstanceV3(ctx, \"source\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdestination, err := opentelekomcloud.NewRdsInstanceV3(ctx, \"destination\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewDrsTaskV3(ctx, \"migration_down\", \u0026opentelekomcloud.DrsTaskV3Args{\n\t\t\tName:         pulumi.String(\"mysql-migration-down\"),\n\t\t\tType:         pulumi.String(\"migration\"),\n\t\t\tEngineType:   pulumi.String(\"mysql\"),\n\t\t\tDirection:    pulumi.String(\"down\"),\n\t\t\tNetType:      pulumi.String(\"vpc\"),\n\t\t\tForceDestroy: pulumi.Bool(true),\n\t\t\tSourceDb: \u0026opentelekomcloud.DrsTaskV3SourceDbArgs{\n\t\t\t\tEngineType: pulumi.String(\"mysql\"),\n\t\t\t\tIp: source.PrivateIps.ApplyT(func(privateIps []string) (string, error) {\n\t\t\t\t\treturn privateIps[0], nil\n\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\tPort:       pulumi.Float64(3306),\n\t\t\t\tUser:       pulumi.String(\"root\"),\n\t\t\t\tPassword:   pulumi.String(\"MySql_password123\"),\n\t\t\t\tInstanceId: source.RdsInstanceV3Id,\n\t\t\t\tSubnetId:   pulumi.Any(sharedSubnet.NetworkId),\n\t\t\t},\n\t\t\tDestinationDb: \u0026opentelekomcloud.DrsTaskV3DestinationDbArgs{\n\t\t\t\tEngineType: pulumi.String(\"mysql\"),\n\t\t\t\tIp: destination.PrivateIps.ApplyT(func(privateIps []string) (string, error) {\n\t\t\t\t\treturn privateIps[0], nil\n\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\tPort:     pulumi.Float64(3306),\n\t\t\t\tUser:     pulumi.String(\"root\"),\n\t\t\t\tPassword: pulumi.String(\"MySql_password123\"),\n\t\t\t\tSubnetId: pulumi.Any(sharedSubnet.NetworkId),\n\t\t\t\tVpcId:    pulumi.Any(sharedSubnet.VpcId),\n\t\t\t},\n\t\t\tDestinationDbReadonly: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.RdsInstanceV3;\nimport com.pulumi.opentelekomcloud.DrsTaskV3;\nimport com.pulumi.opentelekomcloud.DrsTaskV3Args;\nimport com.pulumi.opentelekomcloud.inputs.DrsTaskV3SourceDbArgs;\nimport com.pulumi.opentelekomcloud.inputs.DrsTaskV3DestinationDbArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var source = new RdsInstanceV3(\"source\");\n\n        var destination = new RdsInstanceV3(\"destination\");\n\n        var migrationDown = new DrsTaskV3(\"migrationDown\", DrsTaskV3Args.builder()\n            .name(\"mysql-migration-down\")\n            .type(\"migration\")\n            .engineType(\"mysql\")\n            .direction(\"down\")\n            .netType(\"vpc\")\n            .forceDestroy(true)\n            .sourceDb(DrsTaskV3SourceDbArgs.builder()\n                .engineType(\"mysql\")\n                .ip(source.privateIps().applyValue(_privateIps -\u003e _privateIps[0]))\n                .port(3306.0)\n                .user(\"root\")\n                .password(\"MySql_password123\")\n                .instanceId(source.rdsInstanceV3Id())\n                .subnetId(sharedSubnet.networkId())\n                .build())\n            .destinationDb(DrsTaskV3DestinationDbArgs.builder()\n                .engineType(\"mysql\")\n                .ip(destination.privateIps().applyValue(_privateIps -\u003e _privateIps[0]))\n                .port(3306.0)\n                .user(\"root\")\n                .password(\"MySql_password123\")\n                .subnetId(sharedSubnet.networkId())\n                .vpcId(sharedSubnet.vpcId())\n                .build())\n            .destinationDbReadonly(false)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  source:\n    type: opentelekomcloud:RdsInstanceV3\n  destination:\n    type: opentelekomcloud:RdsInstanceV3\n  migrationDown:\n    type: opentelekomcloud:DrsTaskV3\n    name: migration_down\n    properties:\n      name: mysql-migration-down\n      type: migration\n      engineType: mysql\n      direction: down\n      netType: vpc\n      forceDestroy: true\n      sourceDb:\n        engineType: mysql\n        ip: ${source.privateIps[0]}\n        port: 3306\n        user: root\n        password: MySql_password123\n        instanceId: ${source.rdsInstanceV3Id}\n        subnetId: ${sharedSubnet.networkId}\n      destinationDb:\n        engineType: mysql\n        ip: ${destination.privateIps[0]}\n        port: 3306\n        user: root\n        password: MySql_password123\n        subnetId: ${sharedSubnet.networkId}\n        vpcId: ${sharedSubnet.vpcId}\n      destinationDbReadonly: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe DRS job can be imported by `id`. For example,\n\n```sh\n$ pulumi import opentelekomcloud:index/drsTaskV3:DrsTaskV3 test b11b407c-e604-4e8d-8bc4-92398320b847\n```\n\nNote that the imported state may not be identical to your resource definition, due to some attributes missing from the\n\nAPI response, security or some other reason. The missing attributes include: `source_db.0.password`, `destination_db.0.password`,\n\n`expired_days`, `migrate_definer`, `force_destroy`, `status`, `auto_renew`, `updated_at`, `policy_config`,\n\n`source_db.0.ip`, `destination_db.0.ip`, `engine_type`, `tags`, `status`, `net_type`, `start_time`, `action`.\n\nIt is generally recommended running `pulumi preview` after importing a job. You can then decide if changes should be\n\napplied to the job, or the resource definition should be updated to align with the job. Also you can ignore changes as below.\n\nresource \"opentelekomcloud_drs_job\" \"test\" {\n\n    ...\n\n  lifecycle {\n\n    ignore_changes = [\n\n      source_db.0.password,destination_db.0.password,\n\n    ]\n\n  }\n\n}\n\n","properties":{"action":{"type":"string","description":"Specifies the action of job. The options are as follows:\n+ **start**: Start the job. Available when job status is **WAITING_FOR_START**.\n\n\u003e It will only take effect when **updating** a job.\n"},"createdAt":{"type":"string","description":"Create time. The format is ISO8601:YYYY-MM-DDThh:mm:ssZ\n"},"description":{"type":"string","description":"Specifies the description of the job, which contain a\nmaximum of 256 characters, and certain special characters (including !\u003c\u003e\u0026'\"\\\\) are not allowed.\n"},"destinationDb":{"$ref":"#/types/opentelekomcloud:index%2FDrsTaskV3DestinationDb:DrsTaskV3DestinationDb","description":"Specifies the destination database configuration.\nThe \u003cspan pulumi-lang-nodejs=\"`dbInfo`\" pulumi-lang-dotnet=\"`DbInfo`\" pulumi-lang-go=\"`dbInfo`\" pulumi-lang-python=\"`db_info`\" pulumi-lang-yaml=\"`dbInfo`\" pulumi-lang-java=\"`dbInfo`\"\u003e`db_info`\u003c/span\u003e object structure of the \u003cspan pulumi-lang-nodejs=\"`destinationDb`\" pulumi-lang-dotnet=\"`DestinationDb`\" pulumi-lang-go=\"`destinationDb`\" pulumi-lang-python=\"`destination_db`\" pulumi-lang-yaml=\"`destinationDb`\" pulumi-lang-java=\"`destinationDb`\"\u003e`destination_db`\u003c/span\u003e is documented below.\nChanging this parameter will create a new resource.\n"},"destinationDbReadonly":{"type":"boolean","description":"Specifies the destination DB instance as read-only helps\nensure the migration is successful. Once the migration is complete, the DB instance automatically changes to\nRead/Write. The default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this parameter will create a new resource.\n"},"direction":{"type":"string","description":"Specifies the direction of data flow.\nChanging this parameter will create a new resource. The options are as follows:\n+ **up**: To the cloud. The destination database must be a database in the current cloud.\n+ **down**: Out of the cloud. The source database must be a database in the current cloud.\n+ **non-dbs**: self-built database.\n"},"drsTaskV3Id":{"type":"string","description":"The resource ID in UUID format.\n"},"engineType":{"type":"string","description":"Specifies the migration engine type.\nChanging this parameter will create a new resource. The options are as follows:\n+ **mysql**:  MySQL migration, MySQL synchronization use.\n+ **mongodb**: Mongodb migration use.\n+ **cloudDataGuard-mysql**: Disaster recovery use.\n+ **gaussdbv5**: GaussDB (for openGauss) synchronization use.\n+ **mysql-to-kafka**: Synchronization from MySQL to Kafka use.\n+ **taurus-to-kafka**: Synchronization from GaussDB(for MySQL) to Kafka use.\n+ **gaussdbv5ha-to-kafka**: Synchronization from GaussDB primary/standby to Kafka use.\n+ **postgresql**: Synchronization from PostgreSQL to PostgreSQL use.\n"},"expiredDays":{"type":"number","description":"Specifies how many days after the task is abnormal, it will automatically\nend. The value ranges from 14 to 100. the default value is \u003cspan pulumi-lang-nodejs=\"`14`\" pulumi-lang-dotnet=\"`14`\" pulumi-lang-go=\"`14`\" pulumi-lang-python=\"`14`\" pulumi-lang-yaml=\"`14`\" pulumi-lang-java=\"`14`\"\u003e`14`\u003c/span\u003e. Changing this parameter will create a new resource.\n"},"forceDestroy":{"type":"boolean","description":"Specifies whether to forcibly destroy the job even if it is running.\nThe default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"limitSpeeds":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FDrsTaskV3LimitSpeed:DrsTaskV3LimitSpeed"},"description":"Specifies the migration speed by setting a time period.\nThe default is no speed limit. The maximum length is 3. Structure is documented below.\nChanging this parameter will create a new resource.\n"},"migrateDefiner":{"type":"boolean","description":"Specifies whether to migrate the definers of all source database\nobjects to the \u003cspan pulumi-lang-nodejs=\"`user`\" pulumi-lang-dotnet=\"`User`\" pulumi-lang-go=\"`user`\" pulumi-lang-python=\"`user`\" pulumi-lang-yaml=\"`user`\" pulumi-lang-java=\"`user`\"\u003e`user`\u003c/span\u003e of \u003cspan pulumi-lang-nodejs=\"`destinationDb`\" pulumi-lang-dotnet=\"`DestinationDb`\" pulumi-lang-go=\"`destinationDb`\" pulumi-lang-python=\"`destination_db`\" pulumi-lang-yaml=\"`destinationDb`\" pulumi-lang-java=\"`destinationDb`\"\u003e`destination_db`\u003c/span\u003e. The default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\nChanging this parameter will create a new resource.\n"},"migrationType":{"type":"string","description":"Specifies migration type.\nChanging this parameter will create a new resource. The options are as follows:\n+ **FULL_TRANS**: Full migration. Suitable for scenarios where services can be interrupted. It migrates all database\nobjects and data, in a non-system database, to a destination database at a time.\n+ **INCR_TRANS**: Incremental migration. Suitable for migration from an on-premises self-built database to a\ndestination cloud database, or from one cloud database to another in a different region.\n+ **FULL_INCR_TRANS**:  Full+Incremental migration. This allows to migrate data with minimal downtime. After a full\nmigration initializes the destination database, an incremental migration parses logs to ensure data consistency\nbetween the source and destination databases.\n\nThe default value is `FULL_INCR_TRANS`.\n"},"multiWrite":{"type":"boolean","description":"Specifies whether to enable multi write. It is mandatory when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e\nis `cloudDataGuard`. When the disaster recovery type is dual-active disaster recovery, set \u003cspan pulumi-lang-nodejs=\"`multiWrite`\" pulumi-lang-dotnet=\"`MultiWrite`\" pulumi-lang-go=\"`multiWrite`\" pulumi-lang-python=\"`multi_write`\" pulumi-lang-yaml=\"`multiWrite`\" pulumi-lang-java=\"`multiWrite`\"\u003e`multi_write`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e,\notherwise to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this parameter will create a new resource.\n"},"name":{"type":"string","description":"Specifies the job name. The name consists of 4 to 50 characters, starting with\na letter. Only letters, digits, underscores (\\_) and hyphens (-) are allowed.\n"},"netType":{"type":"string","description":"Specifies the network type.\nChanging this parameter will create a new resource. The options are as follows:\n+ **eip**: suitable for migration from an on-premises or other cloud database to a destination cloud database.\nAn EIP will be automatically bound to the replication instance and released after the replication task is complete.\n+ **vpc**: suitable for migration from one cloud database to another.\n+ **vpn**: suitable for migration from an on-premises self-built database to a destination cloud database,\nor from one cloud database to another in a different region.\n\nThe default value is \u003cspan pulumi-lang-nodejs=\"`eip`\" pulumi-lang-dotnet=\"`Eip`\" pulumi-lang-go=\"`eip`\" pulumi-lang-python=\"`eip`\" pulumi-lang-yaml=\"`eip`\" pulumi-lang-java=\"`eip`\"\u003e`eip`\u003c/span\u003e.\n"},"nodeNum":{"type":"number"},"privateIp":{"type":"string","description":"Private IP.\n"},"publicIp":{"type":"string","description":"Public IP.\n"},"region":{"type":"string","description":"The region in which to create the resource.\n"},"securityGroupId":{"type":"string","description":"The security group ID to which the DRS instance belongs.\n"},"sourceDb":{"$ref":"#/types/opentelekomcloud:index%2FDrsTaskV3SourceDb:DrsTaskV3SourceDb","description":"Specifies the source database configuration.\nThe \u003cspan pulumi-lang-nodejs=\"`dbInfo`\" pulumi-lang-dotnet=\"`DbInfo`\" pulumi-lang-go=\"`dbInfo`\" pulumi-lang-python=\"`db_info`\" pulumi-lang-yaml=\"`dbInfo`\" pulumi-lang-java=\"`dbInfo`\"\u003e`db_info`\u003c/span\u003e object structure of the \u003cspan pulumi-lang-nodejs=\"`sourceDb`\" pulumi-lang-dotnet=\"`SourceDb`\" pulumi-lang-go=\"`sourceDb`\" pulumi-lang-python=\"`source_db`\" pulumi-lang-yaml=\"`sourceDb`\" pulumi-lang-java=\"`sourceDb`\"\u003e`source_db`\u003c/span\u003e is documented below.\nChanging this parameter will create a new resource.\n"},"startTime":{"type":"string","description":"Specifies the time to start the job. The time format\nis `yyyy-MM-dd HH:mm:ss`. Start immediately by default. Changing this parameter will create a new resource.\n"},"status":{"type":"string","description":"Status.\n"},"subnetId":{"type":"string","description":"The subnet ID to which the DRS instance belongs.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the key/value pairs to associate with the DRS job.\nChanging this parameter will create a new resource.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FDrsTaskV3Timeouts:DrsTaskV3Timeouts"},"type":{"type":"string","description":"Specifies the job type. Changing this parameter will create a new\nresource. The options are as follows:\n+ **migration**: Online Migration.\n+ **sync**: Data Synchronization.\n+ **cloudDataGuard**: Disaster Recovery.\n"},"vpcId":{"type":"string","description":"The VPC ID to which the DRS instance belongs.\n"}},"type":"object","required":["createdAt","destinationDb","direction","drsTaskV3Id","engineType","name","privateIp","publicIp","region","securityGroupId","sourceDb","status","subnetId","type","vpcId"],"inputProperties":{"action":{"type":"string","description":"Specifies the action of job. The options are as follows:\n+ **start**: Start the job. Available when job status is **WAITING_FOR_START**.\n\n\u003e It will only take effect when **updating** a job.\n"},"description":{"type":"string","description":"Specifies the description of the job, which contain a\nmaximum of 256 characters, and certain special characters (including !\u003c\u003e\u0026'\"\\\\) are not allowed.\n"},"destinationDb":{"$ref":"#/types/opentelekomcloud:index%2FDrsTaskV3DestinationDb:DrsTaskV3DestinationDb","description":"Specifies the destination database configuration.\nThe \u003cspan pulumi-lang-nodejs=\"`dbInfo`\" pulumi-lang-dotnet=\"`DbInfo`\" pulumi-lang-go=\"`dbInfo`\" pulumi-lang-python=\"`db_info`\" pulumi-lang-yaml=\"`dbInfo`\" pulumi-lang-java=\"`dbInfo`\"\u003e`db_info`\u003c/span\u003e object structure of the \u003cspan pulumi-lang-nodejs=\"`destinationDb`\" pulumi-lang-dotnet=\"`DestinationDb`\" pulumi-lang-go=\"`destinationDb`\" pulumi-lang-python=\"`destination_db`\" pulumi-lang-yaml=\"`destinationDb`\" pulumi-lang-java=\"`destinationDb`\"\u003e`destination_db`\u003c/span\u003e is documented below.\nChanging this parameter will create a new resource.\n"},"destinationDbReadonly":{"type":"boolean","description":"Specifies the destination DB instance as read-only helps\nensure the migration is successful. Once the migration is complete, the DB instance automatically changes to\nRead/Write. The default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this parameter will create a new resource.\n"},"direction":{"type":"string","description":"Specifies the direction of data flow.\nChanging this parameter will create a new resource. The options are as follows:\n+ **up**: To the cloud. The destination database must be a database in the current cloud.\n+ **down**: Out of the cloud. The source database must be a database in the current cloud.\n+ **non-dbs**: self-built database.\n"},"drsTaskV3Id":{"type":"string","description":"The resource ID in UUID format.\n"},"engineType":{"type":"string","description":"Specifies the migration engine type.\nChanging this parameter will create a new resource. The options are as follows:\n+ **mysql**:  MySQL migration, MySQL synchronization use.\n+ **mongodb**: Mongodb migration use.\n+ **cloudDataGuard-mysql**: Disaster recovery use.\n+ **gaussdbv5**: GaussDB (for openGauss) synchronization use.\n+ **mysql-to-kafka**: Synchronization from MySQL to Kafka use.\n+ **taurus-to-kafka**: Synchronization from GaussDB(for MySQL) to Kafka use.\n+ **gaussdbv5ha-to-kafka**: Synchronization from GaussDB primary/standby to Kafka use.\n+ **postgresql**: Synchronization from PostgreSQL to PostgreSQL use.\n"},"expiredDays":{"type":"number","description":"Specifies how many days after the task is abnormal, it will automatically\nend. The value ranges from 14 to 100. the default value is \u003cspan pulumi-lang-nodejs=\"`14`\" pulumi-lang-dotnet=\"`14`\" pulumi-lang-go=\"`14`\" pulumi-lang-python=\"`14`\" pulumi-lang-yaml=\"`14`\" pulumi-lang-java=\"`14`\"\u003e`14`\u003c/span\u003e. Changing this parameter will create a new resource.\n"},"forceDestroy":{"type":"boolean","description":"Specifies whether to forcibly destroy the job even if it is running.\nThe default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"limitSpeeds":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FDrsTaskV3LimitSpeed:DrsTaskV3LimitSpeed"},"description":"Specifies the migration speed by setting a time period.\nThe default is no speed limit. The maximum length is 3. Structure is documented below.\nChanging this parameter will create a new resource.\n"},"migrateDefiner":{"type":"boolean","description":"Specifies whether to migrate the definers of all source database\nobjects to the \u003cspan pulumi-lang-nodejs=\"`user`\" pulumi-lang-dotnet=\"`User`\" pulumi-lang-go=\"`user`\" pulumi-lang-python=\"`user`\" pulumi-lang-yaml=\"`user`\" pulumi-lang-java=\"`user`\"\u003e`user`\u003c/span\u003e of \u003cspan pulumi-lang-nodejs=\"`destinationDb`\" pulumi-lang-dotnet=\"`DestinationDb`\" pulumi-lang-go=\"`destinationDb`\" pulumi-lang-python=\"`destination_db`\" pulumi-lang-yaml=\"`destinationDb`\" pulumi-lang-java=\"`destinationDb`\"\u003e`destination_db`\u003c/span\u003e. The default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\nChanging this parameter will create a new resource.\n"},"migrationType":{"type":"string","description":"Specifies migration type.\nChanging this parameter will create a new resource. The options are as follows:\n+ **FULL_TRANS**: Full migration. Suitable for scenarios where services can be interrupted. It migrates all database\nobjects and data, in a non-system database, to a destination database at a time.\n+ **INCR_TRANS**: Incremental migration. Suitable for migration from an on-premises self-built database to a\ndestination cloud database, or from one cloud database to another in a different region.\n+ **FULL_INCR_TRANS**:  Full+Incremental migration. This allows to migrate data with minimal downtime. After a full\nmigration initializes the destination database, an incremental migration parses logs to ensure data consistency\nbetween the source and destination databases.\n\nThe default value is `FULL_INCR_TRANS`.\n"},"multiWrite":{"type":"boolean","description":"Specifies whether to enable multi write. It is mandatory when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e\nis `cloudDataGuard`. When the disaster recovery type is dual-active disaster recovery, set \u003cspan pulumi-lang-nodejs=\"`multiWrite`\" pulumi-lang-dotnet=\"`MultiWrite`\" pulumi-lang-go=\"`multiWrite`\" pulumi-lang-python=\"`multi_write`\" pulumi-lang-yaml=\"`multiWrite`\" pulumi-lang-java=\"`multiWrite`\"\u003e`multi_write`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e,\notherwise to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this parameter will create a new resource.\n"},"name":{"type":"string","description":"Specifies the job name. The name consists of 4 to 50 characters, starting with\na letter. Only letters, digits, underscores (\\_) and hyphens (-) are allowed.\n"},"netType":{"type":"string","description":"Specifies the network type.\nChanging this parameter will create a new resource. The options are as follows:\n+ **eip**: suitable for migration from an on-premises or other cloud database to a destination cloud database.\nAn EIP will be automatically bound to the replication instance and released after the replication task is complete.\n+ **vpc**: suitable for migration from one cloud database to another.\n+ **vpn**: suitable for migration from an on-premises self-built database to a destination cloud database,\nor from one cloud database to another in a different region.\n\nThe default value is \u003cspan pulumi-lang-nodejs=\"`eip`\" pulumi-lang-dotnet=\"`Eip`\" pulumi-lang-go=\"`eip`\" pulumi-lang-python=\"`eip`\" pulumi-lang-yaml=\"`eip`\" pulumi-lang-java=\"`eip`\"\u003e`eip`\u003c/span\u003e.\n"},"nodeNum":{"type":"number"},"sourceDb":{"$ref":"#/types/opentelekomcloud:index%2FDrsTaskV3SourceDb:DrsTaskV3SourceDb","description":"Specifies the source database configuration.\nThe \u003cspan pulumi-lang-nodejs=\"`dbInfo`\" pulumi-lang-dotnet=\"`DbInfo`\" pulumi-lang-go=\"`dbInfo`\" pulumi-lang-python=\"`db_info`\" pulumi-lang-yaml=\"`dbInfo`\" pulumi-lang-java=\"`dbInfo`\"\u003e`db_info`\u003c/span\u003e object structure of the \u003cspan pulumi-lang-nodejs=\"`sourceDb`\" pulumi-lang-dotnet=\"`SourceDb`\" pulumi-lang-go=\"`sourceDb`\" pulumi-lang-python=\"`source_db`\" pulumi-lang-yaml=\"`sourceDb`\" pulumi-lang-java=\"`sourceDb`\"\u003e`source_db`\u003c/span\u003e is documented below.\nChanging this parameter will create a new resource.\n"},"startTime":{"type":"string","description":"Specifies the time to start the job. The time format\nis `yyyy-MM-dd HH:mm:ss`. Start immediately by default. Changing this parameter will create a new resource.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the key/value pairs to associate with the DRS job.\nChanging this parameter will create a new resource.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FDrsTaskV3Timeouts:DrsTaskV3Timeouts"},"type":{"type":"string","description":"Specifies the job type. Changing this parameter will create a new\nresource. The options are as follows:\n+ **migration**: Online Migration.\n+ **sync**: Data Synchronization.\n+ **cloudDataGuard**: Disaster Recovery.\n"}},"requiredInputs":["destinationDb","direction","engineType","sourceDb","type"],"stateInputs":{"description":"Input properties used for looking up and filtering DrsTaskV3 resources.\n","properties":{"action":{"type":"string","description":"Specifies the action of job. The options are as follows:\n+ **start**: Start the job. Available when job status is **WAITING_FOR_START**.\n\n\u003e It will only take effect when **updating** a job.\n"},"createdAt":{"type":"string","description":"Create time. The format is ISO8601:YYYY-MM-DDThh:mm:ssZ\n"},"description":{"type":"string","description":"Specifies the description of the job, which contain a\nmaximum of 256 characters, and certain special characters (including !\u003c\u003e\u0026'\"\\\\) are not allowed.\n"},"destinationDb":{"$ref":"#/types/opentelekomcloud:index%2FDrsTaskV3DestinationDb:DrsTaskV3DestinationDb","description":"Specifies the destination database configuration.\nThe \u003cspan pulumi-lang-nodejs=\"`dbInfo`\" pulumi-lang-dotnet=\"`DbInfo`\" pulumi-lang-go=\"`dbInfo`\" pulumi-lang-python=\"`db_info`\" pulumi-lang-yaml=\"`dbInfo`\" pulumi-lang-java=\"`dbInfo`\"\u003e`db_info`\u003c/span\u003e object structure of the \u003cspan pulumi-lang-nodejs=\"`destinationDb`\" pulumi-lang-dotnet=\"`DestinationDb`\" pulumi-lang-go=\"`destinationDb`\" pulumi-lang-python=\"`destination_db`\" pulumi-lang-yaml=\"`destinationDb`\" pulumi-lang-java=\"`destinationDb`\"\u003e`destination_db`\u003c/span\u003e is documented below.\nChanging this parameter will create a new resource.\n"},"destinationDbReadonly":{"type":"boolean","description":"Specifies the destination DB instance as read-only helps\nensure the migration is successful. Once the migration is complete, the DB instance automatically changes to\nRead/Write. The default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this parameter will create a new resource.\n"},"direction":{"type":"string","description":"Specifies the direction of data flow.\nChanging this parameter will create a new resource. The options are as follows:\n+ **up**: To the cloud. The destination database must be a database in the current cloud.\n+ **down**: Out of the cloud. The source database must be a database in the current cloud.\n+ **non-dbs**: self-built database.\n"},"drsTaskV3Id":{"type":"string","description":"The resource ID in UUID format.\n"},"engineType":{"type":"string","description":"Specifies the migration engine type.\nChanging this parameter will create a new resource. The options are as follows:\n+ **mysql**:  MySQL migration, MySQL synchronization use.\n+ **mongodb**: Mongodb migration use.\n+ **cloudDataGuard-mysql**: Disaster recovery use.\n+ **gaussdbv5**: GaussDB (for openGauss) synchronization use.\n+ **mysql-to-kafka**: Synchronization from MySQL to Kafka use.\n+ **taurus-to-kafka**: Synchronization from GaussDB(for MySQL) to Kafka use.\n+ **gaussdbv5ha-to-kafka**: Synchronization from GaussDB primary/standby to Kafka use.\n+ **postgresql**: Synchronization from PostgreSQL to PostgreSQL use.\n"},"expiredDays":{"type":"number","description":"Specifies how many days after the task is abnormal, it will automatically\nend. The value ranges from 14 to 100. the default value is \u003cspan pulumi-lang-nodejs=\"`14`\" pulumi-lang-dotnet=\"`14`\" pulumi-lang-go=\"`14`\" pulumi-lang-python=\"`14`\" pulumi-lang-yaml=\"`14`\" pulumi-lang-java=\"`14`\"\u003e`14`\u003c/span\u003e. Changing this parameter will create a new resource.\n"},"forceDestroy":{"type":"boolean","description":"Specifies whether to forcibly destroy the job even if it is running.\nThe default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"limitSpeeds":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FDrsTaskV3LimitSpeed:DrsTaskV3LimitSpeed"},"description":"Specifies the migration speed by setting a time period.\nThe default is no speed limit. The maximum length is 3. Structure is documented below.\nChanging this parameter will create a new resource.\n"},"migrateDefiner":{"type":"boolean","description":"Specifies whether to migrate the definers of all source database\nobjects to the \u003cspan pulumi-lang-nodejs=\"`user`\" pulumi-lang-dotnet=\"`User`\" pulumi-lang-go=\"`user`\" pulumi-lang-python=\"`user`\" pulumi-lang-yaml=\"`user`\" pulumi-lang-java=\"`user`\"\u003e`user`\u003c/span\u003e of \u003cspan pulumi-lang-nodejs=\"`destinationDb`\" pulumi-lang-dotnet=\"`DestinationDb`\" pulumi-lang-go=\"`destinationDb`\" pulumi-lang-python=\"`destination_db`\" pulumi-lang-yaml=\"`destinationDb`\" pulumi-lang-java=\"`destinationDb`\"\u003e`destination_db`\u003c/span\u003e. The default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\nChanging this parameter will create a new resource.\n"},"migrationType":{"type":"string","description":"Specifies migration type.\nChanging this parameter will create a new resource. The options are as follows:\n+ **FULL_TRANS**: Full migration. Suitable for scenarios where services can be interrupted. It migrates all database\nobjects and data, in a non-system database, to a destination database at a time.\n+ **INCR_TRANS**: Incremental migration. Suitable for migration from an on-premises self-built database to a\ndestination cloud database, or from one cloud database to another in a different region.\n+ **FULL_INCR_TRANS**:  Full+Incremental migration. This allows to migrate data with minimal downtime. After a full\nmigration initializes the destination database, an incremental migration parses logs to ensure data consistency\nbetween the source and destination databases.\n\nThe default value is `FULL_INCR_TRANS`.\n"},"multiWrite":{"type":"boolean","description":"Specifies whether to enable multi write. It is mandatory when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e\nis `cloudDataGuard`. When the disaster recovery type is dual-active disaster recovery, set \u003cspan pulumi-lang-nodejs=\"`multiWrite`\" pulumi-lang-dotnet=\"`MultiWrite`\" pulumi-lang-go=\"`multiWrite`\" pulumi-lang-python=\"`multi_write`\" pulumi-lang-yaml=\"`multiWrite`\" pulumi-lang-java=\"`multiWrite`\"\u003e`multi_write`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e,\notherwise to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this parameter will create a new resource.\n"},"name":{"type":"string","description":"Specifies the job name. The name consists of 4 to 50 characters, starting with\na letter. Only letters, digits, underscores (\\_) and hyphens (-) are allowed.\n"},"netType":{"type":"string","description":"Specifies the network type.\nChanging this parameter will create a new resource. The options are as follows:\n+ **eip**: suitable for migration from an on-premises or other cloud database to a destination cloud database.\nAn EIP will be automatically bound to the replication instance and released after the replication task is complete.\n+ **vpc**: suitable for migration from one cloud database to another.\n+ **vpn**: suitable for migration from an on-premises self-built database to a destination cloud database,\nor from one cloud database to another in a different region.\n\nThe default value is \u003cspan pulumi-lang-nodejs=\"`eip`\" pulumi-lang-dotnet=\"`Eip`\" pulumi-lang-go=\"`eip`\" pulumi-lang-python=\"`eip`\" pulumi-lang-yaml=\"`eip`\" pulumi-lang-java=\"`eip`\"\u003e`eip`\u003c/span\u003e.\n"},"nodeNum":{"type":"number"},"privateIp":{"type":"string","description":"Private IP.\n"},"publicIp":{"type":"string","description":"Public IP.\n"},"region":{"type":"string","description":"The region in which to create the resource.\n"},"securityGroupId":{"type":"string","description":"The security group ID to which the DRS instance belongs.\n"},"sourceDb":{"$ref":"#/types/opentelekomcloud:index%2FDrsTaskV3SourceDb:DrsTaskV3SourceDb","description":"Specifies the source database configuration.\nThe \u003cspan pulumi-lang-nodejs=\"`dbInfo`\" pulumi-lang-dotnet=\"`DbInfo`\" pulumi-lang-go=\"`dbInfo`\" pulumi-lang-python=\"`db_info`\" pulumi-lang-yaml=\"`dbInfo`\" pulumi-lang-java=\"`dbInfo`\"\u003e`db_info`\u003c/span\u003e object structure of the \u003cspan pulumi-lang-nodejs=\"`sourceDb`\" pulumi-lang-dotnet=\"`SourceDb`\" pulumi-lang-go=\"`sourceDb`\" pulumi-lang-python=\"`source_db`\" pulumi-lang-yaml=\"`sourceDb`\" pulumi-lang-java=\"`sourceDb`\"\u003e`source_db`\u003c/span\u003e is documented below.\nChanging this parameter will create a new resource.\n"},"startTime":{"type":"string","description":"Specifies the time to start the job. The time format\nis `yyyy-MM-dd HH:mm:ss`. Start immediately by default. Changing this parameter will create a new resource.\n"},"status":{"type":"string","description":"Status.\n"},"subnetId":{"type":"string","description":"The subnet ID to which the DRS instance belongs.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the key/value pairs to associate with the DRS job.\nChanging this parameter will create a new resource.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FDrsTaskV3Timeouts:DrsTaskV3Timeouts"},"type":{"type":"string","description":"Specifies the job type. Changing this parameter will create a new\nresource. The options are as follows:\n+ **migration**: Online Migration.\n+ **sync**: Data Synchronization.\n+ **cloudDataGuard**: Disaster Recovery.\n"},"vpcId":{"type":"string","description":"The VPC ID to which the DRS instance belongs.\n"}},"type":"object"}},"opentelekomcloud:index/dwsClusterV1:DwsClusterV1":{"description":"Up-to-date reference of API arguments for DWS cluster you can get at\n[documentation portal](https://docs.otc.t-systems.com/data-warehouse-service/api-ref/api_description/cluster_management_apis)\n\nManages Cluster in the Data Warehouse Service.\n\n## Example Usage\n\n### Dws Cluster Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst availabilityZone = config.requireObject\u003cany\u003e(\"availabilityZone\");\nconst networkId = config.requireObject\u003cany\u003e(\"networkId\");\nconst vpcId = config.requireObject\u003cany\u003e(\"vpcId\");\nconst securityGroupId = config.requireObject\u003cany\u003e(\"securityGroupId\");\nconst cluster1 = new opentelekomcloud.DwsClusterV1(\"cluster_1\", {\n    name: \"my_dws_cluster\",\n    userName: \"dbadmin\",\n    userPwd: \"#dbadmin123\",\n    nodeType: \"dws.m3.xlarge\",\n    numberOfNode: 3,\n    networkId: networkId,\n    securityGroupId: securityGroupId,\n    vpcId: vpcId,\n    availabilityZone: availabilityZone,\n    port: 8899,\n    publicIp: {\n        publicBindType: \"auto_assign\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\navailability_zone = config.require_object(\"availabilityZone\")\nnetwork_id = config.require_object(\"networkId\")\nvpc_id = config.require_object(\"vpcId\")\nsecurity_group_id = config.require_object(\"securityGroupId\")\ncluster1 = opentelekomcloud.DwsClusterV1(\"cluster_1\",\n    name=\"my_dws_cluster\",\n    user_name=\"dbadmin\",\n    user_pwd=\"#dbadmin123\",\n    node_type=\"dws.m3.xlarge\",\n    number_of_node=3,\n    network_id=network_id,\n    security_group_id=security_group_id,\n    vpc_id=vpc_id,\n    availability_zone=availability_zone,\n    port=8899,\n    public_ip={\n        \"public_bind_type\": \"auto_assign\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var availabilityZone = config.RequireObject\u003cdynamic\u003e(\"availabilityZone\");\n    var networkId = config.RequireObject\u003cdynamic\u003e(\"networkId\");\n    var vpcId = config.RequireObject\u003cdynamic\u003e(\"vpcId\");\n    var securityGroupId = config.RequireObject\u003cdynamic\u003e(\"securityGroupId\");\n    var cluster1 = new Opentelekomcloud.DwsClusterV1(\"cluster_1\", new()\n    {\n        Name = \"my_dws_cluster\",\n        UserName = \"dbadmin\",\n        UserPwd = \"#dbadmin123\",\n        NodeType = \"dws.m3.xlarge\",\n        NumberOfNode = 3,\n        NetworkId = networkId,\n        SecurityGroupId = securityGroupId,\n        VpcId = vpcId,\n        AvailabilityZone = availabilityZone,\n        Port = 8899,\n        PublicIp = new Opentelekomcloud.Inputs.DwsClusterV1PublicIpArgs\n        {\n            PublicBindType = \"auto_assign\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tavailabilityZone := cfg.RequireObject(\"availabilityZone\")\n\t\tnetworkId := cfg.RequireObject(\"networkId\")\n\t\tvpcId := cfg.RequireObject(\"vpcId\")\n\t\tsecurityGroupId := cfg.RequireObject(\"securityGroupId\")\n\t\t_, err := opentelekomcloud.NewDwsClusterV1(ctx, \"cluster_1\", \u0026opentelekomcloud.DwsClusterV1Args{\n\t\t\tName:             pulumi.String(\"my_dws_cluster\"),\n\t\t\tUserName:         pulumi.String(\"dbadmin\"),\n\t\t\tUserPwd:          pulumi.String(\"#dbadmin123\"),\n\t\t\tNodeType:         pulumi.String(\"dws.m3.xlarge\"),\n\t\t\tNumberOfNode:     pulumi.Float64(3),\n\t\t\tNetworkId:        pulumi.Any(networkId),\n\t\t\tSecurityGroupId:  pulumi.Any(securityGroupId),\n\t\t\tVpcId:            pulumi.Any(vpcId),\n\t\t\tAvailabilityZone: pulumi.Any(availabilityZone),\n\t\t\tPort:             pulumi.Float64(8899),\n\t\t\tPublicIp: \u0026opentelekomcloud.DwsClusterV1PublicIpArgs{\n\t\t\t\tPublicBindType: pulumi.String(\"auto_assign\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.DwsClusterV1;\nimport com.pulumi.opentelekomcloud.DwsClusterV1Args;\nimport com.pulumi.opentelekomcloud.inputs.DwsClusterV1PublicIpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var availabilityZone = config.get(\"availabilityZone\");\n        final var networkId = config.get(\"networkId\");\n        final var vpcId = config.get(\"vpcId\");\n        final var securityGroupId = config.get(\"securityGroupId\");\n        var cluster1 = new DwsClusterV1(\"cluster1\", DwsClusterV1Args.builder()\n            .name(\"my_dws_cluster\")\n            .userName(\"dbadmin\")\n            .userPwd(\"#dbadmin123\")\n            .nodeType(\"dws.m3.xlarge\")\n            .numberOfNode(3.0)\n            .networkId(networkId)\n            .securityGroupId(securityGroupId)\n            .vpcId(vpcId)\n            .availabilityZone(availabilityZone)\n            .port(8899.0)\n            .publicIp(DwsClusterV1PublicIpArgs.builder()\n                .publicBindType(\"auto_assign\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  availabilityZone:\n    type: dynamic\n  networkId:\n    type: dynamic\n  vpcId:\n    type: dynamic\n  securityGroupId:\n    type: dynamic\nresources:\n  cluster1:\n    type: opentelekomcloud:DwsClusterV1\n    name: cluster_1\n    properties:\n      name: my_dws_cluster\n      userName: dbadmin\n      userPwd: '#dbadmin123'\n      nodeType: dws.m3.xlarge\n      numberOfNode: 3\n      networkId: ${networkId}\n      securityGroupId: ${securityGroupId}\n      vpcId: ${vpcId}\n      availabilityZone: ${availabilityZone}\n      port: 8899\n      publicIp:\n        publicBindType: auto_assign\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCluster can be imported using the following format:\n\n```sh\n$ pulumi import opentelekomcloud:index/dwsClusterV1:DwsClusterV1 cluster_1 4ca46bf1-5c61-48ff-b4f3-0ad4e5e3ba90\n```\n\nNote that the imported state may not be identical to your resource definition, due to some attributes missing from the\n\nAPI response, security or some other reason. The missing attributes include: `user_pwd`, `number_of_cn`.\n\nIt is generally recommended running `pulumi preview` after importing a cluster.\n\nYou can then decide if changes should be applied to the cluster, or the resource definition\n\nshould be updated to align with the cluster. Also you can ignore changes as below.\n\nresource \"opentelekomcloud_dws_cluster_v1\" \"cluster_1\" {\n\n    ...\n\n  lifecycle {\n\n    ignore_changes = [\n\n      user_pwd, number_of_cn,\n\n    ]\n\n  }\n\n}\n\n","properties":{"availabilityZone":{"type":"string","description":"AZ in a cluster.\n"},"created":{"type":"string","description":"Cluster creation time. The format is ISO8601:YYYY-MM-DDThh:mm:ssZ\n"},"dwsClusterV1Id":{"type":"string","description":"Cluster ID\n"},"endpoints":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FDwsClusterV1Endpoint:DwsClusterV1Endpoint"},"description":"View the private network connection information about the cluster. Structure is documented below.\n"},"keepLastManualSnapshot":{"type":"number"},"name":{"type":"string","description":"Cluster name, which must be unique and contains 4 to 64 characters, which\nconsist of letters, digits, hyphens(-), or underscores(_) only and must start with a letter.\n"},"networkId":{"type":"string","description":"Network ID, which is used for configuring cluster network.\n"},"nodeType":{"type":"string","description":"Node type.\n"},"numberOfCn":{"type":"number"},"numberOfNode":{"type":"number","description":"Number of nodes in a cluster. The value ranges from 3 to 32. When expanding,\nadd at least 3 nodes.\n"},"port":{"type":"number","description":"Service port of a cluster (8000 to 10000). The default value is 8000.\n"},"privateIps":{"type":"array","items":{"type":"string"},"description":"List of private network IP address.\n"},"publicEndpoints":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FDwsClusterV1PublicEndpoint:DwsClusterV1PublicEndpoint"},"description":"Public network connection information about the cluster. If the value is not specified, the\npublic network connection information is not used by default Structure is documented below.\n"},"publicIp":{"$ref":"#/types/opentelekomcloud:index%2FDwsClusterV1PublicIp:DwsClusterV1PublicIp","description":"A nested object resource Structure is documented below.\n"},"recentEvent":{"type":"number","description":"The recent event number.\n"},"securityGroupId":{"type":"string","description":"ID of a security group. The ID is used for configuring cluster\nnetwork.\n"},"status":{"type":"string","description":"Cluster status, which can be one of the following:  CREATING AVAILABLE UNAVAILABLE CREATION FAILED.\n"},"subStatus":{"type":"string","description":"Sub-status of clusters in the AVAILABLE state. The value can be one of the following:  NORMAL READONLY\nREDISTRIBUTING REDISTRIBUTION-FAILURE UNBALANCED UNBALANCED | READONLY DEGRADED DEGRADED | READONLY DEGRADED |\nUNBALANCED UNBALANCED | REDISTRIBUTING UNBALANCED | REDISTRIBUTION-FAILURE READONLY | REDISTRIBUTION-FAILURE\nUNBALANCED | READONLY | REDISTRIBUTION-FAILURE DEGRADED | REDISTRIBUTION-FAILURE DEGRADED | UNBALANCED |\nREDISTRIBUTION-FAILURE DEGRADED | UNBALANCED | READONLY | REDISTRIBUTION-FAILURE DEGRADED | UNBALANCED | READONLY\n"},"taskStatus":{"type":"string","description":"Cluster management task. The value can be one of the following:\nRESTORING SNAPSHOTTING GROWING REBOOTING SETTING_CONFIGURATION CONFIGURING_EXT_DATASOURCE DELETING_EXT_DATASOURCE\nREBOOT_FAILURE RESIZE_FAILURE\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FDwsClusterV1Timeouts:DwsClusterV1Timeouts"},"updated":{"type":"string","description":"Last modification time of a cluster. The format is ISO8601:YYYY-MM-DDThh:mm:ssZ\n"},"userName":{"type":"string","description":"Administrator username for logging in to a data warehouse cluster The\nadministrator username must:  Consist of lowercase letters, digits, or underscores. Start with a lowercase letter or\nan underscore. Contain 1 to 63 characters. Cannot be a keyword of the DWS database.\n"},"userPwd":{"type":"string","description":"Administrator password for logging in to a data warehouse cluster A password\nmust conform to the following rules:  Contains 8 to 32 characters. Cannot be the same as the username or the username\nwritten in reverse order. Contains three types of the following:\nLowercase letters Uppercase letters Digits Special characters\n~!@#%^\u0026*()-_=+|[{}];:,\u003c.\u003e/?\n","secret":true},"version":{"type":"string","description":"Data warehouse version.\n"},"vpcId":{"type":"string","description":"VPC ID, which is used for configuring cluster network.\n"}},"type":"object","required":["availabilityZone","created","dwsClusterV1Id","keepLastManualSnapshot","name","networkId","nodeType","numberOfNode","port","privateIps","recentEvent","securityGroupId","status","subStatus","taskStatus","updated","userName","userPwd","version","vpcId"],"inputProperties":{"availabilityZone":{"type":"string","description":"AZ in a cluster.\n"},"dwsClusterV1Id":{"type":"string","description":"Cluster ID\n"},"endpoints":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FDwsClusterV1Endpoint:DwsClusterV1Endpoint"},"description":"View the private network connection information about the cluster. Structure is documented below.\n"},"keepLastManualSnapshot":{"type":"number"},"name":{"type":"string","description":"Cluster name, which must be unique and contains 4 to 64 characters, which\nconsist of letters, digits, hyphens(-), or underscores(_) only and must start with a letter.\n"},"networkId":{"type":"string","description":"Network ID, which is used for configuring cluster network.\n"},"nodeType":{"type":"string","description":"Node type.\n"},"numberOfCn":{"type":"number"},"numberOfNode":{"type":"number","description":"Number of nodes in a cluster. The value ranges from 3 to 32. When expanding,\nadd at least 3 nodes.\n"},"port":{"type":"number","description":"Service port of a cluster (8000 to 10000). The default value is 8000.\n"},"publicEndpoints":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FDwsClusterV1PublicEndpoint:DwsClusterV1PublicEndpoint"},"description":"Public network connection information about the cluster. If the value is not specified, the\npublic network connection information is not used by default Structure is documented below.\n"},"publicIp":{"$ref":"#/types/opentelekomcloud:index%2FDwsClusterV1PublicIp:DwsClusterV1PublicIp","description":"A nested object resource Structure is documented below.\n"},"securityGroupId":{"type":"string","description":"ID of a security group. The ID is used for configuring cluster\nnetwork.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FDwsClusterV1Timeouts:DwsClusterV1Timeouts"},"userName":{"type":"string","description":"Administrator username for logging in to a data warehouse cluster The\nadministrator username must:  Consist of lowercase letters, digits, or underscores. Start with a lowercase letter or\nan underscore. Contain 1 to 63 characters. Cannot be a keyword of the DWS database.\n"},"userPwd":{"type":"string","description":"Administrator password for logging in to a data warehouse cluster A password\nmust conform to the following rules:  Contains 8 to 32 characters. Cannot be the same as the username or the username\nwritten in reverse order. Contains three types of the following:\nLowercase letters Uppercase letters Digits Special characters\n~!@#%^\u0026*()-_=+|[{}];:,\u003c.\u003e/?\n","secret":true},"vpcId":{"type":"string","description":"VPC ID, which is used for configuring cluster network.\n"}},"requiredInputs":["networkId","nodeType","numberOfNode","securityGroupId","userName","userPwd","vpcId"],"stateInputs":{"description":"Input properties used for looking up and filtering DwsClusterV1 resources.\n","properties":{"availabilityZone":{"type":"string","description":"AZ in a cluster.\n"},"created":{"type":"string","description":"Cluster creation time. The format is ISO8601:YYYY-MM-DDThh:mm:ssZ\n"},"dwsClusterV1Id":{"type":"string","description":"Cluster ID\n"},"endpoints":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FDwsClusterV1Endpoint:DwsClusterV1Endpoint"},"description":"View the private network connection information about the cluster. Structure is documented below.\n"},"keepLastManualSnapshot":{"type":"number"},"name":{"type":"string","description":"Cluster name, which must be unique and contains 4 to 64 characters, which\nconsist of letters, digits, hyphens(-), or underscores(_) only and must start with a letter.\n"},"networkId":{"type":"string","description":"Network ID, which is used for configuring cluster network.\n"},"nodeType":{"type":"string","description":"Node type.\n"},"numberOfCn":{"type":"number"},"numberOfNode":{"type":"number","description":"Number of nodes in a cluster. The value ranges from 3 to 32. When expanding,\nadd at least 3 nodes.\n"},"port":{"type":"number","description":"Service port of a cluster (8000 to 10000). The default value is 8000.\n"},"privateIps":{"type":"array","items":{"type":"string"},"description":"List of private network IP address.\n"},"publicEndpoints":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FDwsClusterV1PublicEndpoint:DwsClusterV1PublicEndpoint"},"description":"Public network connection information about the cluster. If the value is not specified, the\npublic network connection information is not used by default Structure is documented below.\n"},"publicIp":{"$ref":"#/types/opentelekomcloud:index%2FDwsClusterV1PublicIp:DwsClusterV1PublicIp","description":"A nested object resource Structure is documented below.\n"},"recentEvent":{"type":"number","description":"The recent event number.\n"},"securityGroupId":{"type":"string","description":"ID of a security group. The ID is used for configuring cluster\nnetwork.\n"},"status":{"type":"string","description":"Cluster status, which can be one of the following:  CREATING AVAILABLE UNAVAILABLE CREATION FAILED.\n"},"subStatus":{"type":"string","description":"Sub-status of clusters in the AVAILABLE state. The value can be one of the following:  NORMAL READONLY\nREDISTRIBUTING REDISTRIBUTION-FAILURE UNBALANCED UNBALANCED | READONLY DEGRADED DEGRADED | READONLY DEGRADED |\nUNBALANCED UNBALANCED | REDISTRIBUTING UNBALANCED | REDISTRIBUTION-FAILURE READONLY | REDISTRIBUTION-FAILURE\nUNBALANCED | READONLY | REDISTRIBUTION-FAILURE DEGRADED | REDISTRIBUTION-FAILURE DEGRADED | UNBALANCED |\nREDISTRIBUTION-FAILURE DEGRADED | UNBALANCED | READONLY | REDISTRIBUTION-FAILURE DEGRADED | UNBALANCED | READONLY\n"},"taskStatus":{"type":"string","description":"Cluster management task. The value can be one of the following:\nRESTORING SNAPSHOTTING GROWING REBOOTING SETTING_CONFIGURATION CONFIGURING_EXT_DATASOURCE DELETING_EXT_DATASOURCE\nREBOOT_FAILURE RESIZE_FAILURE\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FDwsClusterV1Timeouts:DwsClusterV1Timeouts"},"updated":{"type":"string","description":"Last modification time of a cluster. The format is ISO8601:YYYY-MM-DDThh:mm:ssZ\n"},"userName":{"type":"string","description":"Administrator username for logging in to a data warehouse cluster The\nadministrator username must:  Consist of lowercase letters, digits, or underscores. Start with a lowercase letter or\nan underscore. Contain 1 to 63 characters. Cannot be a keyword of the DWS database.\n"},"userPwd":{"type":"string","description":"Administrator password for logging in to a data warehouse cluster A password\nmust conform to the following rules:  Contains 8 to 32 characters. Cannot be the same as the username or the username\nwritten in reverse order. Contains three types of the following:\nLowercase letters Uppercase letters Digits Special characters\n~!@#%^\u0026*()-_=+|[{}];:,\u003c.\u003e/?\n","secret":true},"version":{"type":"string","description":"Data warehouse version.\n"},"vpcId":{"type":"string","description":"VPC ID, which is used for configuring cluster network.\n"}},"type":"object"}},"opentelekomcloud:index/ecsInstanceV1:EcsInstanceV1":{"description":"Up-to-date reference of API arguments for ECS instance you can get at\n[documentation portal](https://docs.otc.t-systems.com/elastic-cloud-server/api-ref/apis_recommended/lifecycle_management)\n\nManages a V1 ECS instance resource within OpenTelekomCloud.\n\n## Example Usage\n\n### Basic Instance\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst basic = new opentelekomcloud.EcsInstanceV1(\"basic\", {\n    name: \"server_1\",\n    imageId: \"ad091b52-742f-469e-8f3c-fd81cadf0743\",\n    flavor: \"s2.large.2\",\n    vpcId: \"8eed4fc7-e5e5-44a2-b5f2-23b3e5d46235\",\n    nics: [{\n        networkId: \"55534eaa-533a-419d-9b40-ec427ea7195a\",\n    }],\n    availabilityZone: \"eu-de-01\",\n    keyName: \"KeyPair-test\",\n    tags: {\n        muh: \"kuh\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nbasic = opentelekomcloud.EcsInstanceV1(\"basic\",\n    name=\"server_1\",\n    image_id=\"ad091b52-742f-469e-8f3c-fd81cadf0743\",\n    flavor=\"s2.large.2\",\n    vpc_id=\"8eed4fc7-e5e5-44a2-b5f2-23b3e5d46235\",\n    nics=[{\n        \"network_id\": \"55534eaa-533a-419d-9b40-ec427ea7195a\",\n    }],\n    availability_zone=\"eu-de-01\",\n    key_name=\"KeyPair-test\",\n    tags={\n        \"muh\": \"kuh\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var basic = new Opentelekomcloud.EcsInstanceV1(\"basic\", new()\n    {\n        Name = \"server_1\",\n        ImageId = \"ad091b52-742f-469e-8f3c-fd81cadf0743\",\n        Flavor = \"s2.large.2\",\n        VpcId = \"8eed4fc7-e5e5-44a2-b5f2-23b3e5d46235\",\n        Nics = new[]\n        {\n            new Opentelekomcloud.Inputs.EcsInstanceV1NicArgs\n            {\n                NetworkId = \"55534eaa-533a-419d-9b40-ec427ea7195a\",\n            },\n        },\n        AvailabilityZone = \"eu-de-01\",\n        KeyName = \"KeyPair-test\",\n        Tags = \n        {\n            { \"muh\", \"kuh\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewEcsInstanceV1(ctx, \"basic\", \u0026opentelekomcloud.EcsInstanceV1Args{\n\t\t\tName:    pulumi.String(\"server_1\"),\n\t\t\tImageId: pulumi.String(\"ad091b52-742f-469e-8f3c-fd81cadf0743\"),\n\t\t\tFlavor:  pulumi.String(\"s2.large.2\"),\n\t\t\tVpcId:   pulumi.String(\"8eed4fc7-e5e5-44a2-b5f2-23b3e5d46235\"),\n\t\t\tNics: opentelekomcloud.EcsInstanceV1NicArray{\n\t\t\t\t\u0026opentelekomcloud.EcsInstanceV1NicArgs{\n\t\t\t\t\tNetworkId: pulumi.String(\"55534eaa-533a-419d-9b40-ec427ea7195a\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAvailabilityZone: pulumi.String(\"eu-de-01\"),\n\t\t\tKeyName:          pulumi.String(\"KeyPair-test\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"muh\": pulumi.String(\"kuh\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.EcsInstanceV1;\nimport com.pulumi.opentelekomcloud.EcsInstanceV1Args;\nimport com.pulumi.opentelekomcloud.inputs.EcsInstanceV1NicArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var basic = new EcsInstanceV1(\"basic\", EcsInstanceV1Args.builder()\n            .name(\"server_1\")\n            .imageId(\"ad091b52-742f-469e-8f3c-fd81cadf0743\")\n            .flavor(\"s2.large.2\")\n            .vpcId(\"8eed4fc7-e5e5-44a2-b5f2-23b3e5d46235\")\n            .nics(EcsInstanceV1NicArgs.builder()\n                .networkId(\"55534eaa-533a-419d-9b40-ec427ea7195a\")\n                .build())\n            .availabilityZone(\"eu-de-01\")\n            .keyName(\"KeyPair-test\")\n            .tags(Map.of(\"muh\", \"kuh\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  basic:\n    type: opentelekomcloud:EcsInstanceV1\n    properties:\n      name: server_1\n      imageId: ad091b52-742f-469e-8f3c-fd81cadf0743\n      flavor: s2.large.2\n      vpcId: 8eed4fc7-e5e5-44a2-b5f2-23b3e5d46235\n      nics:\n        - networkId: 55534eaa-533a-419d-9b40-ec427ea7195a\n      availabilityZone: eu-de-01\n      keyName: KeyPair-test\n      tags:\n        muh: kuh\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Basic Instance with security group\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst secgroup1 = new opentelekomcloud.ComputeSecgroupV2(\"secgroup_1\", {name: \"ecs_secgroup\"});\nconst basic = new opentelekomcloud.EcsInstanceV1(\"basic\", {\n    name: \"server_1\",\n    imageId: \"ad091b52-742f-469e-8f3c-fd81cadf0743\",\n    flavor: \"s2.large.2\",\n    vpcId: \"8eed4fc7-e5e5-44a2-b5f2-23b3e5d46235\",\n    nics: [{\n        networkId: \"55534eaa-533a-419d-9b40-ec427ea7195a\",\n    }],\n    securityGroups: [secgroup1.computeSecgroupV2Id],\n    availabilityZone: \"eu-de-01\",\n    keyName: \"KeyPair-test\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nsecgroup1 = opentelekomcloud.ComputeSecgroupV2(\"secgroup_1\", name=\"ecs_secgroup\")\nbasic = opentelekomcloud.EcsInstanceV1(\"basic\",\n    name=\"server_1\",\n    image_id=\"ad091b52-742f-469e-8f3c-fd81cadf0743\",\n    flavor=\"s2.large.2\",\n    vpc_id=\"8eed4fc7-e5e5-44a2-b5f2-23b3e5d46235\",\n    nics=[{\n        \"network_id\": \"55534eaa-533a-419d-9b40-ec427ea7195a\",\n    }],\n    security_groups=[secgroup1.compute_secgroup_v2_id],\n    availability_zone=\"eu-de-01\",\n    key_name=\"KeyPair-test\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var secgroup1 = new Opentelekomcloud.ComputeSecgroupV2(\"secgroup_1\", new()\n    {\n        Name = \"ecs_secgroup\",\n    });\n\n    var basic = new Opentelekomcloud.EcsInstanceV1(\"basic\", new()\n    {\n        Name = \"server_1\",\n        ImageId = \"ad091b52-742f-469e-8f3c-fd81cadf0743\",\n        Flavor = \"s2.large.2\",\n        VpcId = \"8eed4fc7-e5e5-44a2-b5f2-23b3e5d46235\",\n        Nics = new[]\n        {\n            new Opentelekomcloud.Inputs.EcsInstanceV1NicArgs\n            {\n                NetworkId = \"55534eaa-533a-419d-9b40-ec427ea7195a\",\n            },\n        },\n        SecurityGroups = new[]\n        {\n            secgroup1.ComputeSecgroupV2Id,\n        },\n        AvailabilityZone = \"eu-de-01\",\n        KeyName = \"KeyPair-test\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsecgroup1, err := opentelekomcloud.NewComputeSecgroupV2(ctx, \"secgroup_1\", \u0026opentelekomcloud.ComputeSecgroupV2Args{\n\t\t\tName: pulumi.String(\"ecs_secgroup\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewEcsInstanceV1(ctx, \"basic\", \u0026opentelekomcloud.EcsInstanceV1Args{\n\t\t\tName:    pulumi.String(\"server_1\"),\n\t\t\tImageId: pulumi.String(\"ad091b52-742f-469e-8f3c-fd81cadf0743\"),\n\t\t\tFlavor:  pulumi.String(\"s2.large.2\"),\n\t\t\tVpcId:   pulumi.String(\"8eed4fc7-e5e5-44a2-b5f2-23b3e5d46235\"),\n\t\t\tNics: opentelekomcloud.EcsInstanceV1NicArray{\n\t\t\t\t\u0026opentelekomcloud.EcsInstanceV1NicArgs{\n\t\t\t\t\tNetworkId: pulumi.String(\"55534eaa-533a-419d-9b40-ec427ea7195a\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tsecgroup1.ComputeSecgroupV2Id,\n\t\t\t},\n\t\t\tAvailabilityZone: pulumi.String(\"eu-de-01\"),\n\t\t\tKeyName:          pulumi.String(\"KeyPair-test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ComputeSecgroupV2;\nimport com.pulumi.opentelekomcloud.ComputeSecgroupV2Args;\nimport com.pulumi.opentelekomcloud.EcsInstanceV1;\nimport com.pulumi.opentelekomcloud.EcsInstanceV1Args;\nimport com.pulumi.opentelekomcloud.inputs.EcsInstanceV1NicArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var secgroup1 = new ComputeSecgroupV2(\"secgroup1\", ComputeSecgroupV2Args.builder()\n            .name(\"ecs_secgroup\")\n            .build());\n\n        var basic = new EcsInstanceV1(\"basic\", EcsInstanceV1Args.builder()\n            .name(\"server_1\")\n            .imageId(\"ad091b52-742f-469e-8f3c-fd81cadf0743\")\n            .flavor(\"s2.large.2\")\n            .vpcId(\"8eed4fc7-e5e5-44a2-b5f2-23b3e5d46235\")\n            .nics(EcsInstanceV1NicArgs.builder()\n                .networkId(\"55534eaa-533a-419d-9b40-ec427ea7195a\")\n                .build())\n            .securityGroups(secgroup1.computeSecgroupV2Id())\n            .availabilityZone(\"eu-de-01\")\n            .keyName(\"KeyPair-test\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  secgroup1:\n    type: opentelekomcloud:ComputeSecgroupV2\n    name: secgroup_1\n    properties:\n      name: ecs_secgroup\n  basic:\n    type: opentelekomcloud:EcsInstanceV1\n    properties:\n      name: server_1\n      imageId: ad091b52-742f-469e-8f3c-fd81cadf0743\n      flavor: s2.large.2\n      vpcId: 8eed4fc7-e5e5-44a2-b5f2-23b3e5d46235\n      nics:\n        - networkId: 55534eaa-533a-419d-9b40-ec427ea7195a\n      securityGroups:\n        - ${secgroup1.computeSecgroupV2Id}\n      availabilityZone: eu-de-01\n      keyName: KeyPair-test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Instance with Data Disks\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst basic = new opentelekomcloud.EcsInstanceV1(\"basic\", {\n    name: \"server_1\",\n    imageId: \"ad091b52-742f-469e-8f3c-fd81cadf0743\",\n    flavor: \"s2.large.2\",\n    vpcId: \"8eed4fc7-e5e5-44a2-b5f2-23b3e5d46235\",\n    nics: [{\n        networkId: \"55534eaa-533a-419d-9b40-ec427ea7195a\",\n    }],\n    systemDiskType: \"SAS\",\n    systemDiskSize: 40,\n    dataDisks: [\n        {\n            type: \"SATA\",\n            size: 10,\n        },\n        {\n            type: \"SAS\",\n            size: 20,\n        },\n    ],\n    deleteDisksOnTermination: true,\n    availabilityZone: \"eu-de-01\",\n    keyName: \"KeyPair-test\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nbasic = opentelekomcloud.EcsInstanceV1(\"basic\",\n    name=\"server_1\",\n    image_id=\"ad091b52-742f-469e-8f3c-fd81cadf0743\",\n    flavor=\"s2.large.2\",\n    vpc_id=\"8eed4fc7-e5e5-44a2-b5f2-23b3e5d46235\",\n    nics=[{\n        \"network_id\": \"55534eaa-533a-419d-9b40-ec427ea7195a\",\n    }],\n    system_disk_type=\"SAS\",\n    system_disk_size=40,\n    data_disks=[\n        {\n            \"type\": \"SATA\",\n            \"size\": 10,\n        },\n        {\n            \"type\": \"SAS\",\n            \"size\": 20,\n        },\n    ],\n    delete_disks_on_termination=True,\n    availability_zone=\"eu-de-01\",\n    key_name=\"KeyPair-test\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var basic = new Opentelekomcloud.EcsInstanceV1(\"basic\", new()\n    {\n        Name = \"server_1\",\n        ImageId = \"ad091b52-742f-469e-8f3c-fd81cadf0743\",\n        Flavor = \"s2.large.2\",\n        VpcId = \"8eed4fc7-e5e5-44a2-b5f2-23b3e5d46235\",\n        Nics = new[]\n        {\n            new Opentelekomcloud.Inputs.EcsInstanceV1NicArgs\n            {\n                NetworkId = \"55534eaa-533a-419d-9b40-ec427ea7195a\",\n            },\n        },\n        SystemDiskType = \"SAS\",\n        SystemDiskSize = 40,\n        DataDisks = new[]\n        {\n            new Opentelekomcloud.Inputs.EcsInstanceV1DataDiskArgs\n            {\n                Type = \"SATA\",\n                Size = 10,\n            },\n            new Opentelekomcloud.Inputs.EcsInstanceV1DataDiskArgs\n            {\n                Type = \"SAS\",\n                Size = 20,\n            },\n        },\n        DeleteDisksOnTermination = true,\n        AvailabilityZone = \"eu-de-01\",\n        KeyName = \"KeyPair-test\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewEcsInstanceV1(ctx, \"basic\", \u0026opentelekomcloud.EcsInstanceV1Args{\n\t\t\tName:    pulumi.String(\"server_1\"),\n\t\t\tImageId: pulumi.String(\"ad091b52-742f-469e-8f3c-fd81cadf0743\"),\n\t\t\tFlavor:  pulumi.String(\"s2.large.2\"),\n\t\t\tVpcId:   pulumi.String(\"8eed4fc7-e5e5-44a2-b5f2-23b3e5d46235\"),\n\t\t\tNics: opentelekomcloud.EcsInstanceV1NicArray{\n\t\t\t\t\u0026opentelekomcloud.EcsInstanceV1NicArgs{\n\t\t\t\t\tNetworkId: pulumi.String(\"55534eaa-533a-419d-9b40-ec427ea7195a\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSystemDiskType: pulumi.String(\"SAS\"),\n\t\t\tSystemDiskSize: pulumi.Float64(40),\n\t\t\tDataDisks: opentelekomcloud.EcsInstanceV1DataDiskArray{\n\t\t\t\t\u0026opentelekomcloud.EcsInstanceV1DataDiskArgs{\n\t\t\t\t\tType: pulumi.String(\"SATA\"),\n\t\t\t\t\tSize: pulumi.Float64(10),\n\t\t\t\t},\n\t\t\t\t\u0026opentelekomcloud.EcsInstanceV1DataDiskArgs{\n\t\t\t\t\tType: pulumi.String(\"SAS\"),\n\t\t\t\t\tSize: pulumi.Float64(20),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDeleteDisksOnTermination: pulumi.Bool(true),\n\t\t\tAvailabilityZone:         pulumi.String(\"eu-de-01\"),\n\t\t\tKeyName:                  pulumi.String(\"KeyPair-test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.EcsInstanceV1;\nimport com.pulumi.opentelekomcloud.EcsInstanceV1Args;\nimport com.pulumi.opentelekomcloud.inputs.EcsInstanceV1NicArgs;\nimport com.pulumi.opentelekomcloud.inputs.EcsInstanceV1DataDiskArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var basic = new EcsInstanceV1(\"basic\", EcsInstanceV1Args.builder()\n            .name(\"server_1\")\n            .imageId(\"ad091b52-742f-469e-8f3c-fd81cadf0743\")\n            .flavor(\"s2.large.2\")\n            .vpcId(\"8eed4fc7-e5e5-44a2-b5f2-23b3e5d46235\")\n            .nics(EcsInstanceV1NicArgs.builder()\n                .networkId(\"55534eaa-533a-419d-9b40-ec427ea7195a\")\n                .build())\n            .systemDiskType(\"SAS\")\n            .systemDiskSize(40.0)\n            .dataDisks(            \n                EcsInstanceV1DataDiskArgs.builder()\n                    .type(\"SATA\")\n                    .size(10.0)\n                    .build(),\n                EcsInstanceV1DataDiskArgs.builder()\n                    .type(\"SAS\")\n                    .size(20.0)\n                    .build())\n            .deleteDisksOnTermination(true)\n            .availabilityZone(\"eu-de-01\")\n            .keyName(\"KeyPair-test\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  basic:\n    type: opentelekomcloud:EcsInstanceV1\n    properties:\n      name: server_1\n      imageId: ad091b52-742f-469e-8f3c-fd81cadf0743\n      flavor: s2.large.2\n      vpcId: 8eed4fc7-e5e5-44a2-b5f2-23b3e5d46235\n      nics:\n        - networkId: 55534eaa-533a-419d-9b40-ec427ea7195a\n      systemDiskType: SAS\n      systemDiskSize: 40\n      dataDisks:\n        - type: SATA\n          size: '10'\n        - type: SAS\n          size: '20'\n      deleteDisksOnTermination: true\n      availabilityZone: eu-de-01\n      keyName: KeyPair-test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Instance With Attached Volume\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst myvol = new opentelekomcloud.BlockstorageVolumeV2(\"myvol\", {\n    name: \"myvol\",\n    size: 1,\n});\nconst basic = new opentelekomcloud.EcsInstanceV1(\"basic\", {\n    name: \"server_1\",\n    imageId: \"ad091b52-742f-469e-8f3c-fd81cadf0743\",\n    flavor: \"s2.large.2\",\n    vpcId: \"8eed4fc7-e5e5-44a2-b5f2-23b3e5d46235\",\n    nics: [{\n        networkId: \"55534eaa-533a-419d-9b40-ec427ea7195a\",\n    }],\n    availabilityZone: \"eu-de-01\",\n    keyName: \"KeyPair-test\",\n});\nconst attached = new opentelekomcloud.ComputeVolumeAttachV2(\"attached\", {\n    instanceId: basic.ecsInstanceV1Id,\n    volumeId: myvol.blockstorageVolumeV2Id,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nmyvol = opentelekomcloud.BlockstorageVolumeV2(\"myvol\",\n    name=\"myvol\",\n    size=1)\nbasic = opentelekomcloud.EcsInstanceV1(\"basic\",\n    name=\"server_1\",\n    image_id=\"ad091b52-742f-469e-8f3c-fd81cadf0743\",\n    flavor=\"s2.large.2\",\n    vpc_id=\"8eed4fc7-e5e5-44a2-b5f2-23b3e5d46235\",\n    nics=[{\n        \"network_id\": \"55534eaa-533a-419d-9b40-ec427ea7195a\",\n    }],\n    availability_zone=\"eu-de-01\",\n    key_name=\"KeyPair-test\")\nattached = opentelekomcloud.ComputeVolumeAttachV2(\"attached\",\n    instance_id=basic.ecs_instance_v1_id,\n    volume_id=myvol.blockstorage_volume_v2_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var myvol = new Opentelekomcloud.BlockstorageVolumeV2(\"myvol\", new()\n    {\n        Name = \"myvol\",\n        Size = 1,\n    });\n\n    var basic = new Opentelekomcloud.EcsInstanceV1(\"basic\", new()\n    {\n        Name = \"server_1\",\n        ImageId = \"ad091b52-742f-469e-8f3c-fd81cadf0743\",\n        Flavor = \"s2.large.2\",\n        VpcId = \"8eed4fc7-e5e5-44a2-b5f2-23b3e5d46235\",\n        Nics = new[]\n        {\n            new Opentelekomcloud.Inputs.EcsInstanceV1NicArgs\n            {\n                NetworkId = \"55534eaa-533a-419d-9b40-ec427ea7195a\",\n            },\n        },\n        AvailabilityZone = \"eu-de-01\",\n        KeyName = \"KeyPair-test\",\n    });\n\n    var attached = new Opentelekomcloud.ComputeVolumeAttachV2(\"attached\", new()\n    {\n        InstanceId = basic.EcsInstanceV1Id,\n        VolumeId = myvol.BlockstorageVolumeV2Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyvol, err := opentelekomcloud.NewBlockstorageVolumeV2(ctx, \"myvol\", \u0026opentelekomcloud.BlockstorageVolumeV2Args{\n\t\t\tName: pulumi.String(\"myvol\"),\n\t\t\tSize: pulumi.Float64(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbasic, err := opentelekomcloud.NewEcsInstanceV1(ctx, \"basic\", \u0026opentelekomcloud.EcsInstanceV1Args{\n\t\t\tName:    pulumi.String(\"server_1\"),\n\t\t\tImageId: pulumi.String(\"ad091b52-742f-469e-8f3c-fd81cadf0743\"),\n\t\t\tFlavor:  pulumi.String(\"s2.large.2\"),\n\t\t\tVpcId:   pulumi.String(\"8eed4fc7-e5e5-44a2-b5f2-23b3e5d46235\"),\n\t\t\tNics: opentelekomcloud.EcsInstanceV1NicArray{\n\t\t\t\t\u0026opentelekomcloud.EcsInstanceV1NicArgs{\n\t\t\t\t\tNetworkId: pulumi.String(\"55534eaa-533a-419d-9b40-ec427ea7195a\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAvailabilityZone: pulumi.String(\"eu-de-01\"),\n\t\t\tKeyName:          pulumi.String(\"KeyPair-test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewComputeVolumeAttachV2(ctx, \"attached\", \u0026opentelekomcloud.ComputeVolumeAttachV2Args{\n\t\t\tInstanceId: basic.EcsInstanceV1Id,\n\t\t\tVolumeId:   myvol.BlockstorageVolumeV2Id,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.BlockstorageVolumeV2;\nimport com.pulumi.opentelekomcloud.BlockstorageVolumeV2Args;\nimport com.pulumi.opentelekomcloud.EcsInstanceV1;\nimport com.pulumi.opentelekomcloud.EcsInstanceV1Args;\nimport com.pulumi.opentelekomcloud.inputs.EcsInstanceV1NicArgs;\nimport com.pulumi.opentelekomcloud.ComputeVolumeAttachV2;\nimport com.pulumi.opentelekomcloud.ComputeVolumeAttachV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var myvol = new BlockstorageVolumeV2(\"myvol\", BlockstorageVolumeV2Args.builder()\n            .name(\"myvol\")\n            .size(1.0)\n            .build());\n\n        var basic = new EcsInstanceV1(\"basic\", EcsInstanceV1Args.builder()\n            .name(\"server_1\")\n            .imageId(\"ad091b52-742f-469e-8f3c-fd81cadf0743\")\n            .flavor(\"s2.large.2\")\n            .vpcId(\"8eed4fc7-e5e5-44a2-b5f2-23b3e5d46235\")\n            .nics(EcsInstanceV1NicArgs.builder()\n                .networkId(\"55534eaa-533a-419d-9b40-ec427ea7195a\")\n                .build())\n            .availabilityZone(\"eu-de-01\")\n            .keyName(\"KeyPair-test\")\n            .build());\n\n        var attached = new ComputeVolumeAttachV2(\"attached\", ComputeVolumeAttachV2Args.builder()\n            .instanceId(basic.ecsInstanceV1Id())\n            .volumeId(myvol.blockstorageVolumeV2Id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  myvol:\n    type: opentelekomcloud:BlockstorageVolumeV2\n    properties:\n      name: myvol\n      size: 1\n  basic:\n    type: opentelekomcloud:EcsInstanceV1\n    properties:\n      name: server_1\n      imageId: ad091b52-742f-469e-8f3c-fd81cadf0743\n      flavor: s2.large.2\n      vpcId: 8eed4fc7-e5e5-44a2-b5f2-23b3e5d46235\n      nics:\n        - networkId: 55534eaa-533a-419d-9b40-ec427ea7195a\n      availabilityZone: eu-de-01\n      keyName: KeyPair-test\n  attached:\n    type: opentelekomcloud:ComputeVolumeAttachV2\n    properties:\n      instanceId: ${basic.ecsInstanceV1Id}\n      volumeId: ${myvol.blockstorageVolumeV2Id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Instance With Multiple Networks\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst _this = new opentelekomcloud.NetworkingFloatingipV2(\"this\", {pool: \"admin_external_net\"});\nconst thisEcsInstanceV1 = new opentelekomcloud.EcsInstanceV1(\"this\", {\n    name: \"server_1\",\n    imageId: \"ad091b52-742f-469e-8f3c-fd81cadf0743\",\n    flavor: \"s2.large.2\",\n    vpcId: \"8eed4fc7-e5e5-44a2-b5f2-23b3e5d46235\",\n    nics: [\n        {\n            networkId: \"55534eaa-533a-419d-9b40-ec427ea7195a\",\n        },\n        {\n            networkId: \"2c0a74a9-4395-4e62-a17b-e3e86fbf66b7\",\n        },\n    ],\n    availabilityZone: \"eu-de-01\",\n    keyName: \"KeyPair-test\",\n});\nconst thisNetworkingFloatingipAssociateV2 = new opentelekomcloud.NetworkingFloatingipAssociateV2(\"this\", {\n    floatingIp: _this.address,\n    portId: thisEcsInstanceV1.nics.apply(nics =\u003e nics[0].portId),\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nthis = opentelekomcloud.NetworkingFloatingipV2(\"this\", pool=\"admin_external_net\")\nthis_ecs_instance_v1 = opentelekomcloud.EcsInstanceV1(\"this\",\n    name=\"server_1\",\n    image_id=\"ad091b52-742f-469e-8f3c-fd81cadf0743\",\n    flavor=\"s2.large.2\",\n    vpc_id=\"8eed4fc7-e5e5-44a2-b5f2-23b3e5d46235\",\n    nics=[\n        {\n            \"network_id\": \"55534eaa-533a-419d-9b40-ec427ea7195a\",\n        },\n        {\n            \"network_id\": \"2c0a74a9-4395-4e62-a17b-e3e86fbf66b7\",\n        },\n    ],\n    availability_zone=\"eu-de-01\",\n    key_name=\"KeyPair-test\")\nthis_networking_floatingip_associate_v2 = opentelekomcloud.NetworkingFloatingipAssociateV2(\"this\",\n    floating_ip=this.address,\n    port_id=this_ecs_instance_v1.nics[0].port_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = new Opentelekomcloud.NetworkingFloatingipV2(\"this\", new()\n    {\n        Pool = \"admin_external_net\",\n    });\n\n    var thisEcsInstanceV1 = new Opentelekomcloud.EcsInstanceV1(\"this\", new()\n    {\n        Name = \"server_1\",\n        ImageId = \"ad091b52-742f-469e-8f3c-fd81cadf0743\",\n        Flavor = \"s2.large.2\",\n        VpcId = \"8eed4fc7-e5e5-44a2-b5f2-23b3e5d46235\",\n        Nics = new[]\n        {\n            new Opentelekomcloud.Inputs.EcsInstanceV1NicArgs\n            {\n                NetworkId = \"55534eaa-533a-419d-9b40-ec427ea7195a\",\n            },\n            new Opentelekomcloud.Inputs.EcsInstanceV1NicArgs\n            {\n                NetworkId = \"2c0a74a9-4395-4e62-a17b-e3e86fbf66b7\",\n            },\n        },\n        AvailabilityZone = \"eu-de-01\",\n        KeyName = \"KeyPair-test\",\n    });\n\n    var thisNetworkingFloatingipAssociateV2 = new Opentelekomcloud.NetworkingFloatingipAssociateV2(\"this\", new()\n    {\n        FloatingIp = @this.Address,\n        PortId = thisEcsInstanceV1.Nics.Apply(nics =\u003e nics[0].PortId),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tthis, err := opentelekomcloud.NewNetworkingFloatingipV2(ctx, \"this\", \u0026opentelekomcloud.NetworkingFloatingipV2Args{\n\t\t\tPool: pulumi.String(\"admin_external_net\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tthisEcsInstanceV1, err := opentelekomcloud.NewEcsInstanceV1(ctx, \"this\", \u0026opentelekomcloud.EcsInstanceV1Args{\n\t\t\tName:    pulumi.String(\"server_1\"),\n\t\t\tImageId: pulumi.String(\"ad091b52-742f-469e-8f3c-fd81cadf0743\"),\n\t\t\tFlavor:  pulumi.String(\"s2.large.2\"),\n\t\t\tVpcId:   pulumi.String(\"8eed4fc7-e5e5-44a2-b5f2-23b3e5d46235\"),\n\t\t\tNics: opentelekomcloud.EcsInstanceV1NicArray{\n\t\t\t\t\u0026opentelekomcloud.EcsInstanceV1NicArgs{\n\t\t\t\t\tNetworkId: pulumi.String(\"55534eaa-533a-419d-9b40-ec427ea7195a\"),\n\t\t\t\t},\n\t\t\t\t\u0026opentelekomcloud.EcsInstanceV1NicArgs{\n\t\t\t\t\tNetworkId: pulumi.String(\"2c0a74a9-4395-4e62-a17b-e3e86fbf66b7\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAvailabilityZone: pulumi.String(\"eu-de-01\"),\n\t\t\tKeyName:          pulumi.String(\"KeyPair-test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewNetworkingFloatingipAssociateV2(ctx, \"this\", \u0026opentelekomcloud.NetworkingFloatingipAssociateV2Args{\n\t\t\tFloatingIp: this.Address,\n\t\t\tPortId: pulumi.String(thisEcsInstanceV1.Nics.ApplyT(func(nics []opentelekomcloud.EcsInstanceV1Nic) (*string, error) {\n\t\t\t\treturn \u0026nics[0].PortId, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.NetworkingFloatingipV2;\nimport com.pulumi.opentelekomcloud.NetworkingFloatingipV2Args;\nimport com.pulumi.opentelekomcloud.EcsInstanceV1;\nimport com.pulumi.opentelekomcloud.EcsInstanceV1Args;\nimport com.pulumi.opentelekomcloud.inputs.EcsInstanceV1NicArgs;\nimport com.pulumi.opentelekomcloud.NetworkingFloatingipAssociateV2;\nimport com.pulumi.opentelekomcloud.NetworkingFloatingipAssociateV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var this_ = new NetworkingFloatingipV2(\"this\", NetworkingFloatingipV2Args.builder()\n            .pool(\"admin_external_net\")\n            .build());\n\n        var thisEcsInstanceV1 = new EcsInstanceV1(\"thisEcsInstanceV1\", EcsInstanceV1Args.builder()\n            .name(\"server_1\")\n            .imageId(\"ad091b52-742f-469e-8f3c-fd81cadf0743\")\n            .flavor(\"s2.large.2\")\n            .vpcId(\"8eed4fc7-e5e5-44a2-b5f2-23b3e5d46235\")\n            .nics(            \n                EcsInstanceV1NicArgs.builder()\n                    .networkId(\"55534eaa-533a-419d-9b40-ec427ea7195a\")\n                    .build(),\n                EcsInstanceV1NicArgs.builder()\n                    .networkId(\"2c0a74a9-4395-4e62-a17b-e3e86fbf66b7\")\n                    .build())\n            .availabilityZone(\"eu-de-01\")\n            .keyName(\"KeyPair-test\")\n            .build());\n\n        var thisNetworkingFloatingipAssociateV2 = new NetworkingFloatingipAssociateV2(\"thisNetworkingFloatingipAssociateV2\", NetworkingFloatingipAssociateV2Args.builder()\n            .floatingIp(this_.address())\n            .portId(thisEcsInstanceV1.nics().applyValue(_nics -\u003e _nics[0].portId()))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  this:\n    type: opentelekomcloud:NetworkingFloatingipV2\n    properties:\n      pool: admin_external_net\n  thisEcsInstanceV1:\n    type: opentelekomcloud:EcsInstanceV1\n    name: this\n    properties:\n      name: server_1\n      imageId: ad091b52-742f-469e-8f3c-fd81cadf0743\n      flavor: s2.large.2\n      vpcId: 8eed4fc7-e5e5-44a2-b5f2-23b3e5d46235\n      nics:\n        - networkId: 55534eaa-533a-419d-9b40-ec427ea7195a\n        - networkId: 2c0a74a9-4395-4e62-a17b-e3e86fbf66b7\n      availabilityZone: eu-de-01\n      keyName: KeyPair-test\n  thisNetworkingFloatingipAssociateV2:\n    type: opentelekomcloud:NetworkingFloatingipAssociateV2\n    name: this\n    properties:\n      floatingIp: ${this.address}\n      portId: ${thisEcsInstanceV1.nics[0].portId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Instance with User Data (cloud-init)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst basic = new opentelekomcloud.EcsInstanceV1(\"basic\", {\n    name: \"server_1\",\n    imageId: \"ad091b52-742f-469e-8f3c-fd81cadf0743\",\n    flavor: \"s2.large.2\",\n    vpcId: \"8eed4fc7-e5e5-44a2-b5f2-23b3e5d46235\",\n    nics: [{\n        networkId: \"55534eaa-533a-419d-9b40-ec427ea7195a\",\n    }],\n    userData: `#cloud-config\nhostname: server_1.example.com\nfqdn: server_1.example.com`,\n    keyName: \"KeyPair-test\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nbasic = opentelekomcloud.EcsInstanceV1(\"basic\",\n    name=\"server_1\",\n    image_id=\"ad091b52-742f-469e-8f3c-fd81cadf0743\",\n    flavor=\"s2.large.2\",\n    vpc_id=\"8eed4fc7-e5e5-44a2-b5f2-23b3e5d46235\",\n    nics=[{\n        \"network_id\": \"55534eaa-533a-419d-9b40-ec427ea7195a\",\n    }],\n    user_data=\"\"\"#cloud-config\nhostname: server_1.example.com\nfqdn: server_1.example.com\"\"\",\n    key_name=\"KeyPair-test\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var basic = new Opentelekomcloud.EcsInstanceV1(\"basic\", new()\n    {\n        Name = \"server_1\",\n        ImageId = \"ad091b52-742f-469e-8f3c-fd81cadf0743\",\n        Flavor = \"s2.large.2\",\n        VpcId = \"8eed4fc7-e5e5-44a2-b5f2-23b3e5d46235\",\n        Nics = new[]\n        {\n            new Opentelekomcloud.Inputs.EcsInstanceV1NicArgs\n            {\n                NetworkId = \"55534eaa-533a-419d-9b40-ec427ea7195a\",\n            },\n        },\n        UserData = @\"#cloud-config\nhostname: server_1.example.com\nfqdn: server_1.example.com\",\n        KeyName = \"KeyPair-test\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewEcsInstanceV1(ctx, \"basic\", \u0026opentelekomcloud.EcsInstanceV1Args{\n\t\t\tName:    pulumi.String(\"server_1\"),\n\t\t\tImageId: pulumi.String(\"ad091b52-742f-469e-8f3c-fd81cadf0743\"),\n\t\t\tFlavor:  pulumi.String(\"s2.large.2\"),\n\t\t\tVpcId:   pulumi.String(\"8eed4fc7-e5e5-44a2-b5f2-23b3e5d46235\"),\n\t\t\tNics: opentelekomcloud.EcsInstanceV1NicArray{\n\t\t\t\t\u0026opentelekomcloud.EcsInstanceV1NicArgs{\n\t\t\t\t\tNetworkId: pulumi.String(\"55534eaa-533a-419d-9b40-ec427ea7195a\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tUserData: pulumi.String(\"#cloud-config\\nhostname: server_1.example.com\\nfqdn: server_1.example.com\"),\n\t\t\tKeyName:  pulumi.String(\"KeyPair-test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.EcsInstanceV1;\nimport com.pulumi.opentelekomcloud.EcsInstanceV1Args;\nimport com.pulumi.opentelekomcloud.inputs.EcsInstanceV1NicArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var basic = new EcsInstanceV1(\"basic\", EcsInstanceV1Args.builder()\n            .name(\"server_1\")\n            .imageId(\"ad091b52-742f-469e-8f3c-fd81cadf0743\")\n            .flavor(\"s2.large.2\")\n            .vpcId(\"8eed4fc7-e5e5-44a2-b5f2-23b3e5d46235\")\n            .nics(EcsInstanceV1NicArgs.builder()\n                .networkId(\"55534eaa-533a-419d-9b40-ec427ea7195a\")\n                .build())\n            .userData(\"\"\"\n#cloud-config\nhostname: server_1.example.com\nfqdn: server_1.example.com            \"\"\")\n            .keyName(\"KeyPair-test\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  basic:\n    type: opentelekomcloud:EcsInstanceV1\n    properties:\n      name: server_1\n      imageId: ad091b52-742f-469e-8f3c-fd81cadf0743\n      flavor: s2.large.2\n      vpcId: 8eed4fc7-e5e5-44a2-b5f2-23b3e5d46235\n      nics:\n        - networkId: 55534eaa-533a-419d-9b40-ec427ea7195a\n      userData: |-\n        #cloud-config\n        hostname: server_1.example.com\n        fqdn: server_1.example.com\n      keyName: KeyPair-test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003e \u003cspan pulumi-lang-nodejs=\"`userData`\" pulumi-lang-dotnet=\"`UserData`\" pulumi-lang-go=\"`userData`\" pulumi-lang-python=\"`user_data`\" pulumi-lang-yaml=\"`userData`\" pulumi-lang-java=\"`userData`\"\u003e`user_data`\u003c/span\u003e can come from a variety of sources: inline, read in from the \u003cspan pulumi-lang-nodejs=\"`file`\" pulumi-lang-dotnet=\"`File`\" pulumi-lang-go=\"`file`\" pulumi-lang-python=\"`file`\" pulumi-lang-yaml=\"`file`\" pulumi-lang-java=\"`file`\"\u003e`file`\u003c/span\u003e\nfunction, or the \u003cspan pulumi-lang-nodejs=\"`templateCloudinitConfig`\" pulumi-lang-dotnet=\"`TemplateCloudinitConfig`\" pulumi-lang-go=\"`templateCloudinitConfig`\" pulumi-lang-python=\"`template_cloudinit_config`\" pulumi-lang-yaml=\"`templateCloudinitConfig`\" pulumi-lang-java=\"`templateCloudinitConfig`\"\u003e`template_cloudinit_config`\u003c/span\u003e resource.\n\n### Instance with scheduler hints\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst sg1 = new opentelekomcloud.ComputeServergroupV2(\"sg_1\", {\n    name: \"sg_1\",\n    policies: [\"anti-affinity\"],\n});\nconst basic = new opentelekomcloud.EcsInstanceV1(\"basic\", {\n    name: \"server_1\",\n    imageId: \"ad091b52-742f-469e-8f3c-fd81cadf0743\",\n    flavor: \"s2.large.2\",\n    vpcId: \"8eed4fc7-e5e5-44a2-b5f2-23b3e5d46235\",\n    nics: [{\n        networkId: \"55534eaa-533a-419d-9b40-ec427ea7195a\",\n    }],\n    availabilityZone: \"eu-de-01\",\n    keyName: \"KeyPair-test\",\n    osSchedulerHints: [{\n        group: sg1.computeServergroupV2Id,\n        tenancy: \"shared\",\n    }],\n    tags: {\n        muh: \"kuh\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nsg1 = opentelekomcloud.ComputeServergroupV2(\"sg_1\",\n    name=\"sg_1\",\n    policies=[\"anti-affinity\"])\nbasic = opentelekomcloud.EcsInstanceV1(\"basic\",\n    name=\"server_1\",\n    image_id=\"ad091b52-742f-469e-8f3c-fd81cadf0743\",\n    flavor=\"s2.large.2\",\n    vpc_id=\"8eed4fc7-e5e5-44a2-b5f2-23b3e5d46235\",\n    nics=[{\n        \"network_id\": \"55534eaa-533a-419d-9b40-ec427ea7195a\",\n    }],\n    availability_zone=\"eu-de-01\",\n    key_name=\"KeyPair-test\",\n    os_scheduler_hints=[{\n        \"group\": sg1.compute_servergroup_v2_id,\n        \"tenancy\": \"shared\",\n    }],\n    tags={\n        \"muh\": \"kuh\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var sg1 = new Opentelekomcloud.ComputeServergroupV2(\"sg_1\", new()\n    {\n        Name = \"sg_1\",\n        Policies = new[]\n        {\n            \"anti-affinity\",\n        },\n    });\n\n    var basic = new Opentelekomcloud.EcsInstanceV1(\"basic\", new()\n    {\n        Name = \"server_1\",\n        ImageId = \"ad091b52-742f-469e-8f3c-fd81cadf0743\",\n        Flavor = \"s2.large.2\",\n        VpcId = \"8eed4fc7-e5e5-44a2-b5f2-23b3e5d46235\",\n        Nics = new[]\n        {\n            new Opentelekomcloud.Inputs.EcsInstanceV1NicArgs\n            {\n                NetworkId = \"55534eaa-533a-419d-9b40-ec427ea7195a\",\n            },\n        },\n        AvailabilityZone = \"eu-de-01\",\n        KeyName = \"KeyPair-test\",\n        OsSchedulerHints = new[]\n        {\n            new Opentelekomcloud.Inputs.EcsInstanceV1OsSchedulerHintArgs\n            {\n                Group = sg1.ComputeServergroupV2Id,\n                Tenancy = \"shared\",\n            },\n        },\n        Tags = \n        {\n            { \"muh\", \"kuh\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsg1, err := opentelekomcloud.NewComputeServergroupV2(ctx, \"sg_1\", \u0026opentelekomcloud.ComputeServergroupV2Args{\n\t\t\tName: pulumi.String(\"sg_1\"),\n\t\t\tPolicies: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"anti-affinity\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewEcsInstanceV1(ctx, \"basic\", \u0026opentelekomcloud.EcsInstanceV1Args{\n\t\t\tName:    pulumi.String(\"server_1\"),\n\t\t\tImageId: pulumi.String(\"ad091b52-742f-469e-8f3c-fd81cadf0743\"),\n\t\t\tFlavor:  pulumi.String(\"s2.large.2\"),\n\t\t\tVpcId:   pulumi.String(\"8eed4fc7-e5e5-44a2-b5f2-23b3e5d46235\"),\n\t\t\tNics: opentelekomcloud.EcsInstanceV1NicArray{\n\t\t\t\t\u0026opentelekomcloud.EcsInstanceV1NicArgs{\n\t\t\t\t\tNetworkId: pulumi.String(\"55534eaa-533a-419d-9b40-ec427ea7195a\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAvailabilityZone: pulumi.String(\"eu-de-01\"),\n\t\t\tKeyName:          pulumi.String(\"KeyPair-test\"),\n\t\t\tOsSchedulerHints: opentelekomcloud.EcsInstanceV1OsSchedulerHintArray{\n\t\t\t\t\u0026opentelekomcloud.EcsInstanceV1OsSchedulerHintArgs{\n\t\t\t\t\tGroup:   sg1.ComputeServergroupV2Id,\n\t\t\t\t\tTenancy: pulumi.String(\"shared\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"muh\": pulumi.String(\"kuh\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ComputeServergroupV2;\nimport com.pulumi.opentelekomcloud.ComputeServergroupV2Args;\nimport com.pulumi.opentelekomcloud.EcsInstanceV1;\nimport com.pulumi.opentelekomcloud.EcsInstanceV1Args;\nimport com.pulumi.opentelekomcloud.inputs.EcsInstanceV1NicArgs;\nimport com.pulumi.opentelekomcloud.inputs.EcsInstanceV1OsSchedulerHintArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var sg1 = new ComputeServergroupV2(\"sg1\", ComputeServergroupV2Args.builder()\n            .name(\"sg_1\")\n            .policies(\"anti-affinity\")\n            .build());\n\n        var basic = new EcsInstanceV1(\"basic\", EcsInstanceV1Args.builder()\n            .name(\"server_1\")\n            .imageId(\"ad091b52-742f-469e-8f3c-fd81cadf0743\")\n            .flavor(\"s2.large.2\")\n            .vpcId(\"8eed4fc7-e5e5-44a2-b5f2-23b3e5d46235\")\n            .nics(EcsInstanceV1NicArgs.builder()\n                .networkId(\"55534eaa-533a-419d-9b40-ec427ea7195a\")\n                .build())\n            .availabilityZone(\"eu-de-01\")\n            .keyName(\"KeyPair-test\")\n            .osSchedulerHints(EcsInstanceV1OsSchedulerHintArgs.builder()\n                .group(sg1.computeServergroupV2Id())\n                .tenancy(\"shared\")\n                .build())\n            .tags(Map.of(\"muh\", \"kuh\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  sg1:\n    type: opentelekomcloud:ComputeServergroupV2\n    name: sg_1\n    properties:\n      name: sg_1\n      policies:\n        - anti-affinity\n  basic:\n    type: opentelekomcloud:EcsInstanceV1\n    properties:\n      name: server_1\n      imageId: ad091b52-742f-469e-8f3c-fd81cadf0743\n      flavor: s2.large.2\n      vpcId: 8eed4fc7-e5e5-44a2-b5f2-23b3e5d46235\n      nics:\n        - networkId: 55534eaa-533a-419d-9b40-ec427ea7195a\n      availabilityZone: eu-de-01\n      keyName: KeyPair-test\n      osSchedulerHints:\n        - group: ${sg1.computeServergroupV2Id}\n          tenancy: shared\n      tags:\n        muh: kuh\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Instance with encrypted disks\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst ecs = new opentelekomcloud.EcsInstanceV1(\"ecs\", {\n    name: hostName,\n    flavor: flavorName,\n    availabilityZone: az,\n    securityGroups: [_default.id],\n    vpcId: vpcId,\n    imageId: imageId,\n    autoRecovery: true,\n    nics: [{\n        networkId: vpcSubnetworkId,\n        ipAddress: privateIp,\n    }],\n    systemDiskType: diskType,\n    systemDiskSize: diskSize,\n    systemDiskKmsId: keyDiskEncryption,\n    deleteDisksOnTermination: true,\n    dataDisks: [{\n        type: \"SSD\",\n        size: 40,\n        kmsId: keyDiskEncryption,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\necs = opentelekomcloud.EcsInstanceV1(\"ecs\",\n    name=host_name,\n    flavor=flavor_name,\n    availability_zone=az,\n    security_groups=[default[\"id\"]],\n    vpc_id=vpc_id,\n    image_id=image_id,\n    auto_recovery=True,\n    nics=[{\n        \"network_id\": vpc_subnetwork_id,\n        \"ip_address\": private_ip,\n    }],\n    system_disk_type=disk_type,\n    system_disk_size=disk_size,\n    system_disk_kms_id=key_disk_encryption,\n    delete_disks_on_termination=True,\n    data_disks=[{\n        \"type\": \"SSD\",\n        \"size\": 40,\n        \"kms_id\": key_disk_encryption,\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var ecs = new Opentelekomcloud.EcsInstanceV1(\"ecs\", new()\n    {\n        Name = hostName,\n        Flavor = flavorName,\n        AvailabilityZone = az,\n        SecurityGroups = new[]\n        {\n            @default.Id,\n        },\n        VpcId = vpcId,\n        ImageId = imageId,\n        AutoRecovery = true,\n        Nics = new[]\n        {\n            new Opentelekomcloud.Inputs.EcsInstanceV1NicArgs\n            {\n                NetworkId = vpcSubnetworkId,\n                IpAddress = privateIp,\n            },\n        },\n        SystemDiskType = diskType,\n        SystemDiskSize = diskSize,\n        SystemDiskKmsId = keyDiskEncryption,\n        DeleteDisksOnTermination = true,\n        DataDisks = new[]\n        {\n            new Opentelekomcloud.Inputs.EcsInstanceV1DataDiskArgs\n            {\n                Type = \"SSD\",\n                Size = 40,\n                KmsId = keyDiskEncryption,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewEcsInstanceV1(ctx, \"ecs\", \u0026opentelekomcloud.EcsInstanceV1Args{\n\t\t\tName:             pulumi.Any(hostName),\n\t\t\tFlavor:           pulumi.Any(flavorName),\n\t\t\tAvailabilityZone: pulumi.Any(az),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\t_default.Id,\n\t\t\t},\n\t\t\tVpcId:        pulumi.Any(vpcId),\n\t\t\tImageId:      pulumi.Any(imageId),\n\t\t\tAutoRecovery: pulumi.Bool(true),\n\t\t\tNics: opentelekomcloud.EcsInstanceV1NicArray{\n\t\t\t\t\u0026opentelekomcloud.EcsInstanceV1NicArgs{\n\t\t\t\t\tNetworkId: pulumi.Any(vpcSubnetworkId),\n\t\t\t\t\tIpAddress: pulumi.Any(privateIp),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSystemDiskType:           pulumi.Any(diskType),\n\t\t\tSystemDiskSize:           pulumi.Any(diskSize),\n\t\t\tSystemDiskKmsId:          pulumi.Any(keyDiskEncryption),\n\t\t\tDeleteDisksOnTermination: pulumi.Bool(true),\n\t\t\tDataDisks: opentelekomcloud.EcsInstanceV1DataDiskArray{\n\t\t\t\t\u0026opentelekomcloud.EcsInstanceV1DataDiskArgs{\n\t\t\t\t\tType:  pulumi.String(\"SSD\"),\n\t\t\t\t\tSize:  pulumi.Float64(40),\n\t\t\t\t\tKmsId: pulumi.Any(keyDiskEncryption),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.EcsInstanceV1;\nimport com.pulumi.opentelekomcloud.EcsInstanceV1Args;\nimport com.pulumi.opentelekomcloud.inputs.EcsInstanceV1NicArgs;\nimport com.pulumi.opentelekomcloud.inputs.EcsInstanceV1DataDiskArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var ecs = new EcsInstanceV1(\"ecs\", EcsInstanceV1Args.builder()\n            .name(hostName)\n            .flavor(flavorName)\n            .availabilityZone(az)\n            .securityGroups(default_.id())\n            .vpcId(vpcId)\n            .imageId(imageId)\n            .autoRecovery(true)\n            .nics(EcsInstanceV1NicArgs.builder()\n                .networkId(vpcSubnetworkId)\n                .ipAddress(privateIp)\n                .build())\n            .systemDiskType(diskType)\n            .systemDiskSize(diskSize)\n            .systemDiskKmsId(keyDiskEncryption)\n            .deleteDisksOnTermination(true)\n            .dataDisks(EcsInstanceV1DataDiskArgs.builder()\n                .type(\"SSD\")\n                .size(40.0)\n                .kmsId(keyDiskEncryption)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  ecs:\n    type: opentelekomcloud:EcsInstanceV1\n    properties:\n      name: ${hostName}\n      flavor: ${flavorName}\n      availabilityZone: ${az}\n      securityGroups:\n        - ${default.id}\n      vpcId: ${vpcId}\n      imageId: ${imageId}\n      autoRecovery: true\n      nics:\n        - networkId: ${vpcSubnetworkId}\n          ipAddress: ${privateIp}\n      systemDiskType: ${diskType}\n      systemDiskSize: ${diskSize}\n      systemDiskKmsId: ${keyDiskEncryption}\n      deleteDisksOnTermination: true\n      dataDisks:\n        - type: SSD\n          size: 40\n          kmsId: ${keyDiskEncryption}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n~\u003e\n  Encrypted disks requires EVS to be authorized to use KMS keys. The easiest way is to create an encrypted\n  instance  via the console - this should be done only once per project. Another way is to use an agency,\n  same way it's done for CCE.\n\n## Import\n\nInstances can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/ecsInstanceV1:EcsInstanceV1 instance_1 d90ce693-5ccf-4136-a0ed-152ce412b6b9\n```\n\n","properties":{"autoRecovery":{"type":"boolean","description":"Whether configure automatic recovery of an instance.\n"},"availabilityZone":{"type":"string","description":"The availability zone in which to create the server.\n\n\u003e **NOTE:**\nIf this parameter is not specified, the system automatically selects an AZ.\n\nChanging this creates a new server.\n"},"dataDisks":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FEcsInstanceV1DataDisk:EcsInstanceV1DataDisk"},"description":"An array of one or more data disks to attach to the\ninstance. The \u003cspan pulumi-lang-nodejs=\"`dataDisks`\" pulumi-lang-dotnet=\"`DataDisks`\" pulumi-lang-go=\"`dataDisks`\" pulumi-lang-python=\"`data_disks`\" pulumi-lang-yaml=\"`dataDisks`\" pulumi-lang-java=\"`dataDisks`\"\u003e`data_disks`\u003c/span\u003e object structure is documented below. Changing this\ncreates a new server.\n"},"deleteDisksOnTermination":{"type":"boolean","description":"Delete the data disks upon termination of the instance.\nDefaults to false. Changing this creates a new server.\n"},"ecsInstanceV1Id":{"type":"string"},"flavor":{"type":"string","description":"The name of the desired flavor for the server.\n"},"imageId":{"type":"string","description":"The ID of the desired image for the server. Changing this creates a new server.\n"},"keyName":{"type":"string","description":"The name of a key pair to put on the server. The key\npair must already be created and associated with the tenant's account.\nChanging this creates a new server.\n"},"metadata":{"$ref":"#/types/opentelekomcloud:index%2FEcsInstanceV1Metadata:EcsInstanceV1Metadata","description":"Metadata key/value pairs to associate with the instance.\n"},"name":{"type":"string","description":"A unique name for the instance.\n"},"nics":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FEcsInstanceV1Nic:EcsInstanceV1Nic"},"description":"An array of one or more networks to attach to the\ninstance. The nics object structure is documented below. Changing this\ncreates a new server.\n"},"osSchedulerHints":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FEcsInstanceV1OsSchedulerHint:EcsInstanceV1OsSchedulerHint"},"description":"Schedules ECSs, for example, by configuring an ECS group. The \u003cspan pulumi-lang-nodejs=\"`osSchedulerHints`\" pulumi-lang-dotnet=\"`OsSchedulerHints`\" pulumi-lang-go=\"`osSchedulerHints`\" pulumi-lang-python=\"`os_scheduler_hints`\" pulumi-lang-yaml=\"`osSchedulerHints`\" pulumi-lang-java=\"`osSchedulerHints`\"\u003e`os_scheduler_hints`\u003c/span\u003e object structure is documented below. Changing this creates a new server.\n"},"password":{"type":"string","description":"The administrative password to assign to the server.\nChanging this creates a new server.\n","secret":true},"securityGroups":{"type":"array","items":{"type":"string"},"description":"An array of one or more security group IDs\nto associate with the server. If this parameter is left blank, the \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e\nsecurity group is bound to the ECS by default.\n"},"systemDiskId":{"type":"string","description":"(String) The ID of the system disk.\n"},"systemDiskKmsId":{"type":"string","description":"The Encryption KMS ID of the system disk. Changing this\ncreates a new server.\n"},"systemDiskSize":{"type":"number","description":"The system disk size in GB, The value range is 1 to 1024.\nChanging this creates a new server.\n"},"systemDiskType":{"type":"string","description":"The system disk type of the server.\nChanging this creates a new server. Options are limited depending on AZ. Default: `SSD`. Available options are:\n* `SAS`: high I/O disk type. Available for all AZs.\n* `SSD`: ultra-high I/O disk type. Available for all AZs.\n* `GPSSD`: the general purpose SSD type\n* `ESSD`: extreme SSD disk type.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags key/value pairs to associate with the instance.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FEcsInstanceV1Timeouts:EcsInstanceV1Timeouts"},"userData":{"type":"string","description":"The user data to provide when launching the instance.\nChanging this creates a new server.\n"},"volumesAttacheds":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FEcsInstanceV1VolumesAttached:EcsInstanceV1VolumesAttached"}},"vpcId":{"type":"string","description":"The ID of the desired VPC for the server. Changing this creates a new server.\n"}},"type":"object","required":["autoRecovery","availabilityZone","ecsInstanceV1Id","flavor","imageId","name","nics","securityGroups","systemDiskId","systemDiskSize","systemDiskType","volumesAttacheds","vpcId"],"inputProperties":{"autoRecovery":{"type":"boolean","description":"Whether configure automatic recovery of an instance.\n"},"availabilityZone":{"type":"string","description":"The availability zone in which to create the server.\n\n\u003e **NOTE:**\nIf this parameter is not specified, the system automatically selects an AZ.\n\nChanging this creates a new server.\n"},"dataDisks":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FEcsInstanceV1DataDisk:EcsInstanceV1DataDisk"},"description":"An array of one or more data disks to attach to the\ninstance. The \u003cspan pulumi-lang-nodejs=\"`dataDisks`\" pulumi-lang-dotnet=\"`DataDisks`\" pulumi-lang-go=\"`dataDisks`\" pulumi-lang-python=\"`data_disks`\" pulumi-lang-yaml=\"`dataDisks`\" pulumi-lang-java=\"`dataDisks`\"\u003e`data_disks`\u003c/span\u003e object structure is documented below. Changing this\ncreates a new server.\n"},"deleteDisksOnTermination":{"type":"boolean","description":"Delete the data disks upon termination of the instance.\nDefaults to false. Changing this creates a new server.\n"},"ecsInstanceV1Id":{"type":"string"},"flavor":{"type":"string","description":"The name of the desired flavor for the server.\n"},"imageId":{"type":"string","description":"The ID of the desired image for the server. Changing this creates a new server.\n"},"keyName":{"type":"string","description":"The name of a key pair to put on the server. The key\npair must already be created and associated with the tenant's account.\nChanging this creates a new server.\n"},"metadata":{"$ref":"#/types/opentelekomcloud:index%2FEcsInstanceV1Metadata:EcsInstanceV1Metadata","description":"Metadata key/value pairs to associate with the instance.\n"},"name":{"type":"string","description":"A unique name for the instance.\n"},"nics":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FEcsInstanceV1Nic:EcsInstanceV1Nic"},"description":"An array of one or more networks to attach to the\ninstance. The nics object structure is documented below. Changing this\ncreates a new server.\n"},"osSchedulerHints":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FEcsInstanceV1OsSchedulerHint:EcsInstanceV1OsSchedulerHint"},"description":"Schedules ECSs, for example, by configuring an ECS group. The \u003cspan pulumi-lang-nodejs=\"`osSchedulerHints`\" pulumi-lang-dotnet=\"`OsSchedulerHints`\" pulumi-lang-go=\"`osSchedulerHints`\" pulumi-lang-python=\"`os_scheduler_hints`\" pulumi-lang-yaml=\"`osSchedulerHints`\" pulumi-lang-java=\"`osSchedulerHints`\"\u003e`os_scheduler_hints`\u003c/span\u003e object structure is documented below. Changing this creates a new server.\n"},"password":{"type":"string","description":"The administrative password to assign to the server.\nChanging this creates a new server.\n","secret":true},"securityGroups":{"type":"array","items":{"type":"string"},"description":"An array of one or more security group IDs\nto associate with the server. If this parameter is left blank, the \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e\nsecurity group is bound to the ECS by default.\n"},"systemDiskKmsId":{"type":"string","description":"The Encryption KMS ID of the system disk. Changing this\ncreates a new server.\n"},"systemDiskSize":{"type":"number","description":"The system disk size in GB, The value range is 1 to 1024.\nChanging this creates a new server.\n"},"systemDiskType":{"type":"string","description":"The system disk type of the server.\nChanging this creates a new server. Options are limited depending on AZ. Default: `SSD`. Available options are:\n* `SAS`: high I/O disk type. Available for all AZs.\n* `SSD`: ultra-high I/O disk type. Available for all AZs.\n* `GPSSD`: the general purpose SSD type\n* `ESSD`: extreme SSD disk type.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags key/value pairs to associate with the instance.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FEcsInstanceV1Timeouts:EcsInstanceV1Timeouts"},"userData":{"type":"string","description":"The user data to provide when launching the instance.\nChanging this creates a new server.\n"},"vpcId":{"type":"string","description":"The ID of the desired VPC for the server. Changing this creates a new server.\n"}},"requiredInputs":["flavor","imageId","nics","vpcId"],"stateInputs":{"description":"Input properties used for looking up and filtering EcsInstanceV1 resources.\n","properties":{"autoRecovery":{"type":"boolean","description":"Whether configure automatic recovery of an instance.\n"},"availabilityZone":{"type":"string","description":"The availability zone in which to create the server.\n\n\u003e **NOTE:**\nIf this parameter is not specified, the system automatically selects an AZ.\n\nChanging this creates a new server.\n"},"dataDisks":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FEcsInstanceV1DataDisk:EcsInstanceV1DataDisk"},"description":"An array of one or more data disks to attach to the\ninstance. The \u003cspan pulumi-lang-nodejs=\"`dataDisks`\" pulumi-lang-dotnet=\"`DataDisks`\" pulumi-lang-go=\"`dataDisks`\" pulumi-lang-python=\"`data_disks`\" pulumi-lang-yaml=\"`dataDisks`\" pulumi-lang-java=\"`dataDisks`\"\u003e`data_disks`\u003c/span\u003e object structure is documented below. Changing this\ncreates a new server.\n"},"deleteDisksOnTermination":{"type":"boolean","description":"Delete the data disks upon termination of the instance.\nDefaults to false. Changing this creates a new server.\n"},"ecsInstanceV1Id":{"type":"string"},"flavor":{"type":"string","description":"The name of the desired flavor for the server.\n"},"imageId":{"type":"string","description":"The ID of the desired image for the server. Changing this creates a new server.\n"},"keyName":{"type":"string","description":"The name of a key pair to put on the server. The key\npair must already be created and associated with the tenant's account.\nChanging this creates a new server.\n"},"metadata":{"$ref":"#/types/opentelekomcloud:index%2FEcsInstanceV1Metadata:EcsInstanceV1Metadata","description":"Metadata key/value pairs to associate with the instance.\n"},"name":{"type":"string","description":"A unique name for the instance.\n"},"nics":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FEcsInstanceV1Nic:EcsInstanceV1Nic"},"description":"An array of one or more networks to attach to the\ninstance. The nics object structure is documented below. Changing this\ncreates a new server.\n"},"osSchedulerHints":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FEcsInstanceV1OsSchedulerHint:EcsInstanceV1OsSchedulerHint"},"description":"Schedules ECSs, for example, by configuring an ECS group. The \u003cspan pulumi-lang-nodejs=\"`osSchedulerHints`\" pulumi-lang-dotnet=\"`OsSchedulerHints`\" pulumi-lang-go=\"`osSchedulerHints`\" pulumi-lang-python=\"`os_scheduler_hints`\" pulumi-lang-yaml=\"`osSchedulerHints`\" pulumi-lang-java=\"`osSchedulerHints`\"\u003e`os_scheduler_hints`\u003c/span\u003e object structure is documented below. Changing this creates a new server.\n"},"password":{"type":"string","description":"The administrative password to assign to the server.\nChanging this creates a new server.\n","secret":true},"securityGroups":{"type":"array","items":{"type":"string"},"description":"An array of one or more security group IDs\nto associate with the server. If this parameter is left blank, the \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e\nsecurity group is bound to the ECS by default.\n"},"systemDiskId":{"type":"string","description":"(String) The ID of the system disk.\n"},"systemDiskKmsId":{"type":"string","description":"The Encryption KMS ID of the system disk. Changing this\ncreates a new server.\n"},"systemDiskSize":{"type":"number","description":"The system disk size in GB, The value range is 1 to 1024.\nChanging this creates a new server.\n"},"systemDiskType":{"type":"string","description":"The system disk type of the server.\nChanging this creates a new server. Options are limited depending on AZ. Default: `SSD`. Available options are:\n* `SAS`: high I/O disk type. Available for all AZs.\n* `SSD`: ultra-high I/O disk type. Available for all AZs.\n* `GPSSD`: the general purpose SSD type\n* `ESSD`: extreme SSD disk type.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags key/value pairs to associate with the instance.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FEcsInstanceV1Timeouts:EcsInstanceV1Timeouts"},"userData":{"type":"string","description":"The user data to provide when launching the instance.\nChanging this creates a new server.\n"},"volumesAttacheds":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FEcsInstanceV1VolumesAttached:EcsInstanceV1VolumesAttached"}},"vpcId":{"type":"string","description":"The ID of the desired VPC for the server. Changing this creates a new server.\n"}},"type":"object"}},"opentelekomcloud:index/enterpriseVpnConnectionMonitorV5:EnterpriseVpnConnectionMonitorV5":{"properties":{"connectionId":{"type":"string"},"destinationIp":{"type":"string"},"enterpriseVpnConnectionMonitorV5Id":{"type":"string"},"region":{"type":"string"},"sourceIp":{"type":"string"},"status":{"type":"string"}},"type":"object","required":["connectionId","destinationIp","enterpriseVpnConnectionMonitorV5Id","region","sourceIp","status"],"inputProperties":{"connectionId":{"type":"string"},"enterpriseVpnConnectionMonitorV5Id":{"type":"string"}},"requiredInputs":["connectionId"],"stateInputs":{"description":"Input properties used for looking up and filtering EnterpriseVpnConnectionMonitorV5 resources.\n","properties":{"connectionId":{"type":"string"},"destinationIp":{"type":"string"},"enterpriseVpnConnectionMonitorV5Id":{"type":"string"},"region":{"type":"string"},"sourceIp":{"type":"string"},"status":{"type":"string"}},"type":"object"}},"opentelekomcloud:index/enterpriseVpnConnectionV5:EnterpriseVpnConnectionV5":{"properties":{"createdAt":{"type":"string"},"customerGatewayId":{"type":"string"},"enableNqa":{"type":"boolean"},"enterpriseVpnConnectionV5Id":{"type":"string"},"gatewayId":{"type":"string"},"gatewayIp":{"type":"string"},"haRole":{"type":"string"},"ikepolicy":{"$ref":"#/types/opentelekomcloud:index%2FEnterpriseVpnConnectionV5Ikepolicy:EnterpriseVpnConnectionV5Ikepolicy"},"ipsecpolicy":{"$ref":"#/types/opentelekomcloud:index%2FEnterpriseVpnConnectionV5Ipsecpolicy:EnterpriseVpnConnectionV5Ipsecpolicy"},"name":{"type":"string"},"peerSubnets":{"type":"array","items":{"type":"string"}},"policyRules":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FEnterpriseVpnConnectionV5PolicyRule:EnterpriseVpnConnectionV5PolicyRule"}},"psk":{"type":"string"},"region":{"type":"string"},"status":{"type":"string"},"tags":{"type":"object","additionalProperties":{"type":"string"}},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FEnterpriseVpnConnectionV5Timeouts:EnterpriseVpnConnectionV5Timeouts"},"tunnelLocalAddress":{"type":"string"},"tunnelPeerAddress":{"type":"string"},"updatedAt":{"type":"string"},"vpnType":{"type":"string"}},"type":"object","required":["createdAt","customerGatewayId","enableNqa","enterpriseVpnConnectionV5Id","gatewayId","gatewayIp","haRole","name","peerSubnets","psk","region","status","tunnelLocalAddress","tunnelPeerAddress","updatedAt","vpnType"],"inputProperties":{"customerGatewayId":{"type":"string"},"enableNqa":{"type":"boolean"},"enterpriseVpnConnectionV5Id":{"type":"string"},"gatewayId":{"type":"string"},"gatewayIp":{"type":"string"},"haRole":{"type":"string"},"ikepolicy":{"$ref":"#/types/opentelekomcloud:index%2FEnterpriseVpnConnectionV5Ikepolicy:EnterpriseVpnConnectionV5Ikepolicy"},"ipsecpolicy":{"$ref":"#/types/opentelekomcloud:index%2FEnterpriseVpnConnectionV5Ipsecpolicy:EnterpriseVpnConnectionV5Ipsecpolicy"},"name":{"type":"string"},"peerSubnets":{"type":"array","items":{"type":"string"}},"policyRules":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FEnterpriseVpnConnectionV5PolicyRule:EnterpriseVpnConnectionV5PolicyRule"}},"psk":{"type":"string"},"tags":{"type":"object","additionalProperties":{"type":"string"}},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FEnterpriseVpnConnectionV5Timeouts:EnterpriseVpnConnectionV5Timeouts"},"tunnelLocalAddress":{"type":"string"},"tunnelPeerAddress":{"type":"string"},"vpnType":{"type":"string"}},"requiredInputs":["customerGatewayId","gatewayId","gatewayIp","psk","vpnType"],"stateInputs":{"description":"Input properties used for looking up and filtering EnterpriseVpnConnectionV5 resources.\n","properties":{"createdAt":{"type":"string"},"customerGatewayId":{"type":"string"},"enableNqa":{"type":"boolean"},"enterpriseVpnConnectionV5Id":{"type":"string"},"gatewayId":{"type":"string"},"gatewayIp":{"type":"string"},"haRole":{"type":"string"},"ikepolicy":{"$ref":"#/types/opentelekomcloud:index%2FEnterpriseVpnConnectionV5Ikepolicy:EnterpriseVpnConnectionV5Ikepolicy"},"ipsecpolicy":{"$ref":"#/types/opentelekomcloud:index%2FEnterpriseVpnConnectionV5Ipsecpolicy:EnterpriseVpnConnectionV5Ipsecpolicy"},"name":{"type":"string"},"peerSubnets":{"type":"array","items":{"type":"string"}},"policyRules":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FEnterpriseVpnConnectionV5PolicyRule:EnterpriseVpnConnectionV5PolicyRule"}},"psk":{"type":"string"},"region":{"type":"string"},"status":{"type":"string"},"tags":{"type":"object","additionalProperties":{"type":"string"}},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FEnterpriseVpnConnectionV5Timeouts:EnterpriseVpnConnectionV5Timeouts"},"tunnelLocalAddress":{"type":"string"},"tunnelPeerAddress":{"type":"string"},"updatedAt":{"type":"string"},"vpnType":{"type":"string"}},"type":"object"}},"opentelekomcloud:index/enterpriseVpnCustomerGatewayV5:EnterpriseVpnCustomerGatewayV5":{"properties":{"asn":{"type":"number"},"createdAt":{"type":"string"},"enterpriseVpnCustomerGatewayV5Id":{"type":"string"},"idType":{"type":"string"},"idValue":{"type":"string"},"ip":{"type":"string"},"name":{"type":"string"},"region":{"type":"string"},"routeMode":{"type":"string"},"tags":{"type":"object","additionalProperties":{"type":"string"}},"updatedAt":{"type":"string"}},"type":"object","required":["createdAt","enterpriseVpnCustomerGatewayV5Id","idValue","ip","name","region","routeMode","updatedAt"],"inputProperties":{"asn":{"type":"number"},"enterpriseVpnCustomerGatewayV5Id":{"type":"string"},"idType":{"type":"string"},"idValue":{"type":"string"},"name":{"type":"string"},"tags":{"type":"object","additionalProperties":{"type":"string"}}},"stateInputs":{"description":"Input properties used for looking up and filtering EnterpriseVpnCustomerGatewayV5 resources.\n","properties":{"asn":{"type":"number"},"createdAt":{"type":"string"},"enterpriseVpnCustomerGatewayV5Id":{"type":"string"},"idType":{"type":"string"},"idValue":{"type":"string"},"ip":{"type":"string"},"name":{"type":"string"},"region":{"type":"string"},"routeMode":{"type":"string"},"tags":{"type":"object","additionalProperties":{"type":"string"}},"updatedAt":{"type":"string"}},"type":"object"}},"opentelekomcloud:index/enterpriseVpnGatewayV5:EnterpriseVpnGatewayV5":{"properties":{"accessPrivateIp1":{"type":"string"},"accessPrivateIp2":{"type":"string"},"accessSubnetId":{"type":"string"},"accessVpcId":{"type":"string"},"asn":{"type":"number"},"attachmentType":{"type":"string"},"availabilityZones":{"type":"array","items":{"type":"string"}},"connectSubnet":{"type":"string"},"createdAt":{"type":"string"},"deleteEip":{"type":"boolean"},"eip1":{"$ref":"#/types/opentelekomcloud:index%2FEnterpriseVpnGatewayV5Eip1:EnterpriseVpnGatewayV5Eip1"},"eip2":{"$ref":"#/types/opentelekomcloud:index%2FEnterpriseVpnGatewayV5Eip2:EnterpriseVpnGatewayV5Eip2"},"enterpriseVpnGatewayV5Id":{"type":"string"},"erAttachmentId":{"type":"string"},"erId":{"type":"string"},"flavor":{"type":"string"},"haMode":{"type":"string"},"localSubnets":{"type":"array","items":{"type":"string"}},"name":{"type":"string"},"networkType":{"type":"string"},"region":{"type":"string"},"status":{"type":"string"},"tags":{"type":"object","additionalProperties":{"type":"string"}},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FEnterpriseVpnGatewayV5Timeouts:EnterpriseVpnGatewayV5Timeouts"},"updatedAt":{"type":"string"},"usedConnectionGroup":{"type":"number"},"usedConnectionNumber":{"type":"number"},"vpcId":{"type":"string"}},"type":"object","required":["accessPrivateIp1","accessPrivateIp2","accessSubnetId","accessVpcId","availabilityZones","connectSubnet","createdAt","enterpriseVpnGatewayV5Id","erAttachmentId","erId","flavor","haMode","localSubnets","name","networkType","region","status","updatedAt","usedConnectionGroup","usedConnectionNumber","vpcId"],"inputProperties":{"accessPrivateIp1":{"type":"string"},"accessPrivateIp2":{"type":"string"},"accessSubnetId":{"type":"string"},"accessVpcId":{"type":"string"},"asn":{"type":"number"},"attachmentType":{"type":"string"},"availabilityZones":{"type":"array","items":{"type":"string"}},"connectSubnet":{"type":"string"},"deleteEip":{"type":"boolean"},"eip1":{"$ref":"#/types/opentelekomcloud:index%2FEnterpriseVpnGatewayV5Eip1:EnterpriseVpnGatewayV5Eip1"},"eip2":{"$ref":"#/types/opentelekomcloud:index%2FEnterpriseVpnGatewayV5Eip2:EnterpriseVpnGatewayV5Eip2"},"enterpriseVpnGatewayV5Id":{"type":"string"},"erId":{"type":"string"},"flavor":{"type":"string"},"haMode":{"type":"string"},"localSubnets":{"type":"array","items":{"type":"string"}},"name":{"type":"string"},"networkType":{"type":"string"},"tags":{"type":"object","additionalProperties":{"type":"string"}},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FEnterpriseVpnGatewayV5Timeouts:EnterpriseVpnGatewayV5Timeouts"},"vpcId":{"type":"string"}},"requiredInputs":["availabilityZones"],"stateInputs":{"description":"Input properties used for looking up and filtering EnterpriseVpnGatewayV5 resources.\n","properties":{"accessPrivateIp1":{"type":"string"},"accessPrivateIp2":{"type":"string"},"accessSubnetId":{"type":"string"},"accessVpcId":{"type":"string"},"asn":{"type":"number"},"attachmentType":{"type":"string"},"availabilityZones":{"type":"array","items":{"type":"string"}},"connectSubnet":{"type":"string"},"createdAt":{"type":"string"},"deleteEip":{"type":"boolean"},"eip1":{"$ref":"#/types/opentelekomcloud:index%2FEnterpriseVpnGatewayV5Eip1:EnterpriseVpnGatewayV5Eip1"},"eip2":{"$ref":"#/types/opentelekomcloud:index%2FEnterpriseVpnGatewayV5Eip2:EnterpriseVpnGatewayV5Eip2"},"enterpriseVpnGatewayV5Id":{"type":"string"},"erAttachmentId":{"type":"string"},"erId":{"type":"string"},"flavor":{"type":"string"},"haMode":{"type":"string"},"localSubnets":{"type":"array","items":{"type":"string"}},"name":{"type":"string"},"networkType":{"type":"string"},"region":{"type":"string"},"status":{"type":"string"},"tags":{"type":"object","additionalProperties":{"type":"string"}},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FEnterpriseVpnGatewayV5Timeouts:EnterpriseVpnGatewayV5Timeouts"},"updatedAt":{"type":"string"},"usedConnectionGroup":{"type":"number"},"usedConnectionNumber":{"type":"number"},"vpcId":{"type":"string"}},"type":"object"}},"opentelekomcloud:index/erAssociationV3:ErAssociationV3":{"description":"Manages an association resource under the route table for ER service within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst instanceId = config.requireObject\u003cany\u003e(\"instanceId\");\nconst routeTableId = config.requireObject\u003cany\u003e(\"routeTableId\");\nconst attachmentId = config.requireObject\u003cany\u003e(\"attachmentId\");\nconst test = new opentelekomcloud.ErAssociationV3(\"test\", {\n    instanceId: instanceId,\n    routeTableId: routeTableId,\n    attachmentId: attachmentId,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ninstance_id = config.require_object(\"instanceId\")\nroute_table_id = config.require_object(\"routeTableId\")\nattachment_id = config.require_object(\"attachmentId\")\ntest = opentelekomcloud.ErAssociationV3(\"test\",\n    instance_id=instance_id,\n    route_table_id=route_table_id,\n    attachment_id=attachment_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var instanceId = config.RequireObject\u003cdynamic\u003e(\"instanceId\");\n    var routeTableId = config.RequireObject\u003cdynamic\u003e(\"routeTableId\");\n    var attachmentId = config.RequireObject\u003cdynamic\u003e(\"attachmentId\");\n    var test = new Opentelekomcloud.ErAssociationV3(\"test\", new()\n    {\n        InstanceId = instanceId,\n        RouteTableId = routeTableId,\n        AttachmentId = attachmentId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tinstanceId := cfg.RequireObject(\"instanceId\")\n\t\trouteTableId := cfg.RequireObject(\"routeTableId\")\n\t\tattachmentId := cfg.RequireObject(\"attachmentId\")\n\t\t_, err := opentelekomcloud.NewErAssociationV3(ctx, \"test\", \u0026opentelekomcloud.ErAssociationV3Args{\n\t\t\tInstanceId:   pulumi.Any(instanceId),\n\t\t\tRouteTableId: pulumi.Any(routeTableId),\n\t\t\tAttachmentId: pulumi.Any(attachmentId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ErAssociationV3;\nimport com.pulumi.opentelekomcloud.ErAssociationV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var instanceId = config.get(\"instanceId\");\n        final var routeTableId = config.get(\"routeTableId\");\n        final var attachmentId = config.get(\"attachmentId\");\n        var test = new ErAssociationV3(\"test\", ErAssociationV3Args.builder()\n            .instanceId(instanceId)\n            .routeTableId(routeTableId)\n            .attachmentId(attachmentId)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  instanceId:\n    type: dynamic\n  routeTableId:\n    type: dynamic\n  attachmentId:\n    type: dynamic\nresources:\n  test:\n    type: opentelekomcloud:ErAssociationV3\n    properties:\n      instanceId: ${instanceId}\n      routeTableId: ${routeTableId}\n      attachmentId: ${attachmentId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAssociations can be imported using their `id` and the related `instance_id` and `route_table_id`, separated by\nslashes (/), e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/erAssociationV3:ErAssociationV3 test instance_id/route_table_id/id\n```\n","properties":{"attachmentId":{"type":"string","description":"Specifies the ID of the attachment corresponding to the association.\n"},"attachmentType":{"type":"string","description":"The type of the attachment corresponding to the association.\n"},"createdAt":{"type":"string","description":"The creation time.\n"},"erAssociationV3Id":{"type":"string","description":"The resource ID.\n"},"instanceId":{"type":"string","description":"Specifies the ID of the ER instance to which the route table and the\nattachment belongs.\n"},"region":{"type":"string","description":"The region where the ER instance and route table are located.\n"},"routeTableId":{"type":"string","description":"Specifies the ID of the route table to which the association\nbelongs.\n"},"status":{"type":"string","description":"The current status of the association.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FErAssociationV3Timeouts:ErAssociationV3Timeouts"},"updatedAt":{"type":"string","description":"The latest update time.\n"}},"type":"object","required":["attachmentId","attachmentType","createdAt","erAssociationV3Id","instanceId","region","routeTableId","status","updatedAt"],"inputProperties":{"attachmentId":{"type":"string","description":"Specifies the ID of the attachment corresponding to the association.\n"},"erAssociationV3Id":{"type":"string","description":"The resource ID.\n"},"instanceId":{"type":"string","description":"Specifies the ID of the ER instance to which the route table and the\nattachment belongs.\n"},"routeTableId":{"type":"string","description":"Specifies the ID of the route table to which the association\nbelongs.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FErAssociationV3Timeouts:ErAssociationV3Timeouts"}},"requiredInputs":["attachmentId","instanceId","routeTableId"],"stateInputs":{"description":"Input properties used for looking up and filtering ErAssociationV3 resources.\n","properties":{"attachmentId":{"type":"string","description":"Specifies the ID of the attachment corresponding to the association.\n"},"attachmentType":{"type":"string","description":"The type of the attachment corresponding to the association.\n"},"createdAt":{"type":"string","description":"The creation time.\n"},"erAssociationV3Id":{"type":"string","description":"The resource ID.\n"},"instanceId":{"type":"string","description":"Specifies the ID of the ER instance to which the route table and the\nattachment belongs.\n"},"region":{"type":"string","description":"The region where the ER instance and route table are located.\n"},"routeTableId":{"type":"string","description":"Specifies the ID of the route table to which the association\nbelongs.\n"},"status":{"type":"string","description":"The current status of the association.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FErAssociationV3Timeouts:ErAssociationV3Timeouts"},"updatedAt":{"type":"string","description":"The latest update time.\n"}},"type":"object"}},"opentelekomcloud:index/erFlowLogV3:ErFlowLogV3":{"description":"Manages an Enterprise Router Flow Log resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst instanceId = config.requireObject\u003cany\u003e(\"instanceId\");\nconst logGroupId = config.requireObject\u003cany\u003e(\"logGroupId\");\nconst logStreamId = config.requireObject\u003cany\u003e(\"logStreamId\");\nconst resourceId = config.requireObject\u003cany\u003e(\"resourceId\");\nconst flowLogName = config.requireObject\u003cany\u003e(\"flowLogName\");\nconst test = new opentelekomcloud.ErFlowLogV3(\"test\", {\n    instanceId: instanceId,\n    logStoreType: \"LTS\",\n    logGroupId: logGroupId,\n    logStreamId: logStreamId,\n    resourceType: \"attachment\",\n    resourceId: resourceId,\n    name: flowLogName,\n    description: \"Created by terraform\",\n    enabled: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ninstance_id = config.require_object(\"instanceId\")\nlog_group_id = config.require_object(\"logGroupId\")\nlog_stream_id = config.require_object(\"logStreamId\")\nresource_id = config.require_object(\"resourceId\")\nflow_log_name = config.require_object(\"flowLogName\")\ntest = opentelekomcloud.ErFlowLogV3(\"test\",\n    instance_id=instance_id,\n    log_store_type=\"LTS\",\n    log_group_id=log_group_id,\n    log_stream_id=log_stream_id,\n    resource_type=\"attachment\",\n    resource_id=resource_id,\n    name=flow_log_name,\n    description=\"Created by terraform\",\n    enabled=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var instanceId = config.RequireObject\u003cdynamic\u003e(\"instanceId\");\n    var logGroupId = config.RequireObject\u003cdynamic\u003e(\"logGroupId\");\n    var logStreamId = config.RequireObject\u003cdynamic\u003e(\"logStreamId\");\n    var resourceId = config.RequireObject\u003cdynamic\u003e(\"resourceId\");\n    var flowLogName = config.RequireObject\u003cdynamic\u003e(\"flowLogName\");\n    var test = new Opentelekomcloud.ErFlowLogV3(\"test\", new()\n    {\n        InstanceId = instanceId,\n        LogStoreType = \"LTS\",\n        LogGroupId = logGroupId,\n        LogStreamId = logStreamId,\n        ResourceType = \"attachment\",\n        ResourceId = resourceId,\n        Name = flowLogName,\n        Description = \"Created by terraform\",\n        Enabled = false,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tinstanceId := cfg.RequireObject(\"instanceId\")\n\t\tlogGroupId := cfg.RequireObject(\"logGroupId\")\n\t\tlogStreamId := cfg.RequireObject(\"logStreamId\")\n\t\tresourceId := cfg.RequireObject(\"resourceId\")\n\t\tflowLogName := cfg.RequireObject(\"flowLogName\")\n\t\t_, err := opentelekomcloud.NewErFlowLogV3(ctx, \"test\", \u0026opentelekomcloud.ErFlowLogV3Args{\n\t\t\tInstanceId:   pulumi.Any(instanceId),\n\t\t\tLogStoreType: pulumi.String(\"LTS\"),\n\t\t\tLogGroupId:   pulumi.Any(logGroupId),\n\t\t\tLogStreamId:  pulumi.Any(logStreamId),\n\t\t\tResourceType: pulumi.String(\"attachment\"),\n\t\t\tResourceId:   pulumi.Any(resourceId),\n\t\t\tName:         pulumi.Any(flowLogName),\n\t\t\tDescription:  pulumi.String(\"Created by terraform\"),\n\t\t\tEnabled:      pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ErFlowLogV3;\nimport com.pulumi.opentelekomcloud.ErFlowLogV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var instanceId = config.get(\"instanceId\");\n        final var logGroupId = config.get(\"logGroupId\");\n        final var logStreamId = config.get(\"logStreamId\");\n        final var resourceId = config.get(\"resourceId\");\n        final var flowLogName = config.get(\"flowLogName\");\n        var test = new ErFlowLogV3(\"test\", ErFlowLogV3Args.builder()\n            .instanceId(instanceId)\n            .logStoreType(\"LTS\")\n            .logGroupId(logGroupId)\n            .logStreamId(logStreamId)\n            .resourceType(\"attachment\")\n            .resourceId(resourceId)\n            .name(flowLogName)\n            .description(\"Created by terraform\")\n            .enabled(false)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  instanceId:\n    type: dynamic\n  logGroupId:\n    type: dynamic\n  logStreamId:\n    type: dynamic\n  resourceId:\n    type: dynamic\n  flowLogName:\n    type: dynamic\nresources:\n  test:\n    type: opentelekomcloud:ErFlowLogV3\n    properties:\n      instanceId: ${instanceId}\n      logStoreType: LTS\n      logGroupId: ${logGroupId}\n      logStreamId: ${logStreamId}\n      resourceType: attachment\n      resourceId: ${resourceId}\n      name: ${flowLogName}\n      description: Created by terraform\n      enabled: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe flow log can be imported using the related `instance_id` and their `id`, separated by a slash (/), e.g.\n\nbash\n\n```sh\n$ pulumi import opentelekomcloud:index/erFlowLogV3:ErFlowLogV3 test \u003cinstance_id\u003e/\u003cid\u003e\n```\n\n","properties":{"createdAt":{"type":"string","description":"The creation time of the flow log.\n"},"description":{"type":"string","description":"Specifies the description of the flow log.\n"},"enabled":{"type":"boolean","description":"Specifies whether to enable the flow log function. The default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"erFlowLogV3Id":{"type":"string","description":"The resource ID.\n"},"instanceId":{"type":"string","description":"Specifies the ID of the ER instance to which the flow log belongs.\nChanging this creates a new resource.\n"},"logGroupId":{"type":"string","description":"Specifies the LTS log group ID.\nChanging this creates a new resource.\n"},"logStoreType":{"type":"string","description":"Specifies the storage type of flow log. The valid value is **LTS**.\nChanging this creates a new resource.\n"},"logStreamId":{"type":"string","description":"Specifies the LTS log stream ID.\nChanging this creates a new resource.\n"},"name":{"type":"string","description":"Specifies the name of the flow log.\n"},"region":{"type":"string","description":"The region of the resource.\n"},"resourceId":{"type":"string","description":"Specifies the resource ID to which the logs to be collected.\nChanging this creates a new resource.\n"},"resourceType":{"type":"string","description":"Specifies the resource type to which the logs to be collected.\nThe valid value is \u003cspan pulumi-lang-nodejs=\"`attachment`\" pulumi-lang-dotnet=\"`Attachment`\" pulumi-lang-go=\"`attachment`\" pulumi-lang-python=\"`attachment`\" pulumi-lang-yaml=\"`attachment`\" pulumi-lang-java=\"`attachment`\"\u003e`attachment`\u003c/span\u003e.\nChanging this creates a new resource.\n"},"state":{"type":"string","description":"The current status of the flow log.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FErFlowLogV3Timeouts:ErFlowLogV3Timeouts"},"updatedAt":{"type":"string","description":"The latest update time of the flow log.\n"}},"type":"object","required":["createdAt","erFlowLogV3Id","instanceId","logGroupId","logStoreType","logStreamId","name","region","resourceId","resourceType","state","updatedAt"],"inputProperties":{"description":{"type":"string","description":"Specifies the description of the flow log.\n"},"enabled":{"type":"boolean","description":"Specifies whether to enable the flow log function. The default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"erFlowLogV3Id":{"type":"string","description":"The resource ID.\n"},"instanceId":{"type":"string","description":"Specifies the ID of the ER instance to which the flow log belongs.\nChanging this creates a new resource.\n"},"logGroupId":{"type":"string","description":"Specifies the LTS log group ID.\nChanging this creates a new resource.\n"},"logStoreType":{"type":"string","description":"Specifies the storage type of flow log. The valid value is **LTS**.\nChanging this creates a new resource.\n"},"logStreamId":{"type":"string","description":"Specifies the LTS log stream ID.\nChanging this creates a new resource.\n"},"name":{"type":"string","description":"Specifies the name of the flow log.\n"},"resourceId":{"type":"string","description":"Specifies the resource ID to which the logs to be collected.\nChanging this creates a new resource.\n"},"resourceType":{"type":"string","description":"Specifies the resource type to which the logs to be collected.\nThe valid value is \u003cspan pulumi-lang-nodejs=\"`attachment`\" pulumi-lang-dotnet=\"`Attachment`\" pulumi-lang-go=\"`attachment`\" pulumi-lang-python=\"`attachment`\" pulumi-lang-yaml=\"`attachment`\" pulumi-lang-java=\"`attachment`\"\u003e`attachment`\u003c/span\u003e.\nChanging this creates a new resource.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FErFlowLogV3Timeouts:ErFlowLogV3Timeouts"}},"requiredInputs":["instanceId","logGroupId","logStoreType","logStreamId","resourceId","resourceType"],"stateInputs":{"description":"Input properties used for looking up and filtering ErFlowLogV3 resources.\n","properties":{"createdAt":{"type":"string","description":"The creation time of the flow log.\n"},"description":{"type":"string","description":"Specifies the description of the flow log.\n"},"enabled":{"type":"boolean","description":"Specifies whether to enable the flow log function. The default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"erFlowLogV3Id":{"type":"string","description":"The resource ID.\n"},"instanceId":{"type":"string","description":"Specifies the ID of the ER instance to which the flow log belongs.\nChanging this creates a new resource.\n"},"logGroupId":{"type":"string","description":"Specifies the LTS log group ID.\nChanging this creates a new resource.\n"},"logStoreType":{"type":"string","description":"Specifies the storage type of flow log. The valid value is **LTS**.\nChanging this creates a new resource.\n"},"logStreamId":{"type":"string","description":"Specifies the LTS log stream ID.\nChanging this creates a new resource.\n"},"name":{"type":"string","description":"Specifies the name of the flow log.\n"},"region":{"type":"string","description":"The region of the resource.\n"},"resourceId":{"type":"string","description":"Specifies the resource ID to which the logs to be collected.\nChanging this creates a new resource.\n"},"resourceType":{"type":"string","description":"Specifies the resource type to which the logs to be collected.\nThe valid value is \u003cspan pulumi-lang-nodejs=\"`attachment`\" pulumi-lang-dotnet=\"`Attachment`\" pulumi-lang-go=\"`attachment`\" pulumi-lang-python=\"`attachment`\" pulumi-lang-yaml=\"`attachment`\" pulumi-lang-java=\"`attachment`\"\u003e`attachment`\u003c/span\u003e.\nChanging this creates a new resource.\n"},"state":{"type":"string","description":"The current status of the flow log.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FErFlowLogV3Timeouts:ErFlowLogV3Timeouts"},"updatedAt":{"type":"string","description":"The latest update time of the flow log.\n"}},"type":"object"}},"opentelekomcloud:index/erInstanceV3:ErInstanceV3":{"description":"Up-to-date reference of API arguments for Enterprise Router you can get at\n[documentation portal](https://docs.otc.t-systems.com/enterprise-router/api-ref/apis/enterprise_routers/index.html#enterpriserouterinstance)\n\nManages an ER instance resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst routerName = config.requireObject\u003cany\u003e(\"routerName\");\nconst availabilityZones = config.requireObject\u003cArray\u003cstring\u003e\u003e(\"availabilityZones\");\nconst test = new opentelekomcloud.ErInstanceV3(\"test\", {\n    availabilityZones: availabilityZones,\n    name: routerName,\n    asn: 64512,\n    tags: {\n        foo: \"bar\",\n        key: \"value\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nrouter_name = config.require_object(\"routerName\")\navailability_zones = config.require_object(\"availabilityZones\")\ntest = opentelekomcloud.ErInstanceV3(\"test\",\n    availability_zones=availability_zones,\n    name=router_name,\n    asn=64512,\n    tags={\n        \"foo\": \"bar\",\n        \"key\": \"value\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var routerName = config.RequireObject\u003cdynamic\u003e(\"routerName\");\n    var availabilityZones = config.RequireObject\u003cstring[]\u003e(\"availabilityZones\");\n    var test = new Opentelekomcloud.ErInstanceV3(\"test\", new()\n    {\n        AvailabilityZones = availabilityZones,\n        Name = routerName,\n        Asn = 64512,\n        Tags = \n        {\n            { \"foo\", \"bar\" },\n            { \"key\", \"value\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\trouterName := cfg.RequireObject(\"routerName\")\n\t\tavailabilityZones := cfg.Require(\"availabilityZones\")\n\t\t_, err := opentelekomcloud.NewErInstanceV3(ctx, \"test\", \u0026opentelekomcloud.ErInstanceV3Args{\n\t\t\tAvailabilityZones: availabilityZones,\n\t\t\tName:              pulumi.Any(routerName),\n\t\t\tAsn:               pulumi.Float64(64512),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t\t\"key\": pulumi.String(\"value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ErInstanceV3;\nimport com.pulumi.opentelekomcloud.ErInstanceV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var routerName = config.get(\"routerName\");\n        final var availabilityZones = config.get(\"availabilityZones\");\n        var test = new ErInstanceV3(\"test\", ErInstanceV3Args.builder()\n            .availabilityZones(availabilityZones)\n            .name(routerName)\n            .asn(64512.0)\n            .tags(Map.ofEntries(\n                Map.entry(\"foo\", \"bar\"),\n                Map.entry(\"key\", \"value\")\n            ))\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  routerName:\n    type: dynamic\n  availabilityZones:\n    type: list(string)\nresources:\n  test:\n    type: opentelekomcloud:ErInstanceV3\n    properties:\n      availabilityZones: ${availabilityZones}\n      name: ${routerName}\n      asn: 64512\n      tags:\n        foo: bar\n        key: value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe router instance can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/erInstanceV3:ErInstanceV3 test 0ce123456a00f2591fabc00385ff1234\n```\n","properties":{"asn":{"type":"number","description":"The BGP AS number of the ER instance.\nThe valid value is range from `64,512` to \u003cspan pulumi-lang-nodejs=\"`65534`\" pulumi-lang-dotnet=\"`65534`\" pulumi-lang-go=\"`65534`\" pulumi-lang-python=\"`65534`\" pulumi-lang-yaml=\"`65534`\" pulumi-lang-java=\"`65534`\"\u003e`65534`\u003c/span\u003e or range from `4,200,000,000` to `4,294,967,294`.\n\nChanging this parameter will create a new resource.\n"},"autoAcceptSharedAttachments":{"type":"boolean","description":"Whether to automatically accept the creation of shared\nattachment.\nThe default value is **false**.\n"},"availabilityZones":{"type":"array","items":{"type":"string"},"description":"The availability zone list where the ER instance is located.\nThe maximum number of availability zone is two. Select two AZs to configure active-active deployment for high\navailability which will ensure reliability and disaster recovery.\n"},"createdAt":{"type":"string","description":"The creation time.\n"},"defaultAssociationRouteTableId":{"type":"string","description":"The ID of the default association route table.\n"},"defaultPropagationRouteTableId":{"type":"string","description":"The ID of the default propagation route table.\n"},"description":{"type":"string","description":"The description of the ER instance.\nThe description contain a maximum of 255 characters, and the angle brackets (\u003c and \u003e) are not allowed.\n"},"enableDefaultAssociation":{"type":"boolean","description":"Whether to enable the association of the default route table.\nThe default value is **false**.\n"},"enableDefaultPropagation":{"type":"boolean","description":"Whether to enable the propagation of the default route table.\nThe default value is **false**.\n"},"erInstanceV3Id":{"type":"string","description":"The resource ID.\n"},"name":{"type":"string","description":"The router name.\nThe name can contain 1 to 64 characters, only letters, digits, underscore (_) and hyphens (-) are allowed.\n"},"region":{"type":"string","description":"Specifies the region of the ER instance.\n"},"status":{"type":"string","description":"Current status of the router.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags key/value pairs to associate with the instance.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FErInstanceV3Timeouts:ErInstanceV3Timeouts"},"updatedAt":{"type":"string","description":"The latest update time.\n"}},"type":"object","required":["asn","autoAcceptSharedAttachments","availabilityZones","createdAt","defaultAssociationRouteTableId","defaultPropagationRouteTableId","description","enableDefaultAssociation","enableDefaultPropagation","erInstanceV3Id","name","region","status","updatedAt"],"inputProperties":{"asn":{"type":"number","description":"The BGP AS number of the ER instance.\nThe valid value is range from `64,512` to \u003cspan pulumi-lang-nodejs=\"`65534`\" pulumi-lang-dotnet=\"`65534`\" pulumi-lang-go=\"`65534`\" pulumi-lang-python=\"`65534`\" pulumi-lang-yaml=\"`65534`\" pulumi-lang-java=\"`65534`\"\u003e`65534`\u003c/span\u003e or range from `4,200,000,000` to `4,294,967,294`.\n\nChanging this parameter will create a new resource.\n"},"autoAcceptSharedAttachments":{"type":"boolean","description":"Whether to automatically accept the creation of shared\nattachment.\nThe default value is **false**.\n"},"availabilityZones":{"type":"array","items":{"type":"string"},"description":"The availability zone list where the ER instance is located.\nThe maximum number of availability zone is two. Select two AZs to configure active-active deployment for high\navailability which will ensure reliability and disaster recovery.\n"},"description":{"type":"string","description":"The description of the ER instance.\nThe description contain a maximum of 255 characters, and the angle brackets (\u003c and \u003e) are not allowed.\n"},"enableDefaultAssociation":{"type":"boolean","description":"Whether to enable the association of the default route table.\nThe default value is **false**.\n"},"enableDefaultPropagation":{"type":"boolean","description":"Whether to enable the propagation of the default route table.\nThe default value is **false**.\n"},"erInstanceV3Id":{"type":"string","description":"The resource ID.\n"},"name":{"type":"string","description":"The router name.\nThe name can contain 1 to 64 characters, only letters, digits, underscore (_) and hyphens (-) are allowed.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags key/value pairs to associate with the instance.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FErInstanceV3Timeouts:ErInstanceV3Timeouts"}},"requiredInputs":["asn","availabilityZones"],"stateInputs":{"description":"Input properties used for looking up and filtering ErInstanceV3 resources.\n","properties":{"asn":{"type":"number","description":"The BGP AS number of the ER instance.\nThe valid value is range from `64,512` to \u003cspan pulumi-lang-nodejs=\"`65534`\" pulumi-lang-dotnet=\"`65534`\" pulumi-lang-go=\"`65534`\" pulumi-lang-python=\"`65534`\" pulumi-lang-yaml=\"`65534`\" pulumi-lang-java=\"`65534`\"\u003e`65534`\u003c/span\u003e or range from `4,200,000,000` to `4,294,967,294`.\n\nChanging this parameter will create a new resource.\n"},"autoAcceptSharedAttachments":{"type":"boolean","description":"Whether to automatically accept the creation of shared\nattachment.\nThe default value is **false**.\n"},"availabilityZones":{"type":"array","items":{"type":"string"},"description":"The availability zone list where the ER instance is located.\nThe maximum number of availability zone is two. Select two AZs to configure active-active deployment for high\navailability which will ensure reliability and disaster recovery.\n"},"createdAt":{"type":"string","description":"The creation time.\n"},"defaultAssociationRouteTableId":{"type":"string","description":"The ID of the default association route table.\n"},"defaultPropagationRouteTableId":{"type":"string","description":"The ID of the default propagation route table.\n"},"description":{"type":"string","description":"The description of the ER instance.\nThe description contain a maximum of 255 characters, and the angle brackets (\u003c and \u003e) are not allowed.\n"},"enableDefaultAssociation":{"type":"boolean","description":"Whether to enable the association of the default route table.\nThe default value is **false**.\n"},"enableDefaultPropagation":{"type":"boolean","description":"Whether to enable the propagation of the default route table.\nThe default value is **false**.\n"},"erInstanceV3Id":{"type":"string","description":"The resource ID.\n"},"name":{"type":"string","description":"The router name.\nThe name can contain 1 to 64 characters, only letters, digits, underscore (_) and hyphens (-) are allowed.\n"},"region":{"type":"string","description":"Specifies the region of the ER instance.\n"},"status":{"type":"string","description":"Current status of the router.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags key/value pairs to associate with the instance.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FErInstanceV3Timeouts:ErInstanceV3Timeouts"},"updatedAt":{"type":"string","description":"The latest update time.\n"}},"type":"object"}},"opentelekomcloud:index/erPropagationV3:ErPropagationV3":{"description":"Manages a propagation resource under the route table for ER service within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst instanceId = config.requireObject\u003cany\u003e(\"instanceId\");\nconst routeTableId = config.requireObject\u003cany\u003e(\"routeTableId\");\nconst attachmentId = config.requireObject\u003cany\u003e(\"attachmentId\");\nconst test = new opentelekomcloud.index._erPropagationV3(\"test\", {\n    instanceId: instanceId,\n    routeTableId: routeTableId,\n    attachmentId: attachmentId,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ninstance_id = config.require_object(\"instanceId\")\nroute_table_id = config.require_object(\"routeTableId\")\nattachment_id = config.require_object(\"attachmentId\")\ntest = opentelekomcloud.index._erPropagationV3(\"test\",\n    instance_id=instance_id,\n    route_table_id=route_table_id,\n    attachment_id=attachment_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var instanceId = config.RequireObject\u003cdynamic\u003e(\"instanceId\");\n    var routeTableId = config.RequireObject\u003cdynamic\u003e(\"routeTableId\");\n    var attachmentId = config.RequireObject\u003cdynamic\u003e(\"attachmentId\");\n    var test = new Opentelekomcloud.Index._erPropagationV3(\"test\", new()\n    {\n        InstanceId = instanceId,\n        RouteTableId = routeTableId,\n        AttachmentId = attachmentId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tinstanceId := cfg.RequireObject(\"instanceId\")\n\t\trouteTableId := cfg.RequireObject(\"routeTableId\")\n\t\tattachmentId := cfg.RequireObject(\"attachmentId\")\n\t\t_, err := opentelekomcloud.New_erPropagationV3(ctx, \"test\", \u0026opentelekomcloud._erPropagationV3Args{\n\t\t\tInstanceId:   instanceId,\n\t\t\tRouteTableId: routeTableId,\n\t\t\tAttachmentId: attachmentId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud._erPropagationV3;\nimport com.pulumi.opentelekomcloud._erPropagationV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var instanceId = config.get(\"instanceId\");\n        final var routeTableId = config.get(\"routeTableId\");\n        final var attachmentId = config.get(\"attachmentId\");\n        var test = new _erPropagationV3(\"test\", _erPropagationV3Args.builder()\n            .instanceId(instanceId)\n            .routeTableId(routeTableId)\n            .attachmentId(attachmentId)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  instanceId:\n    type: dynamic\n  routeTableId:\n    type: dynamic\n  attachmentId:\n    type: dynamic\nresources:\n  test:\n    type: opentelekomcloud:_erPropagationV3\n    properties:\n      instanceId: ${instanceId}\n      routeTableId: ${routeTableId}\n      attachmentId: ${attachmentId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPropagations can be imported using their `id` and the related `instance_id` and `route_table_id`, separated by\nslashes (/), e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/erPropagationV3:ErPropagationV3 test instance_id/troute_table_id/id\n```\n","properties":{"attachmentId":{"type":"string","description":"Specifies the ID of the attachment corresponding to the propagation.\n"},"attachmentType":{"type":"string","description":"The type of the attachment corresponding to the propagation.\n"},"createdAt":{"type":"string","description":"The creation time.\n"},"erPropagationV3Id":{"type":"string","description":"The resource ID.\n"},"instanceId":{"type":"string","description":"Specifies the ID of the ER instance to which the route table and the\nattachment belongs.\n"},"region":{"type":"string","description":"The region where the ER instance and route table are located.\n"},"routeTableId":{"type":"string","description":"Specifies the ID of the route table to which the propagation\nbelongs.\n"},"status":{"type":"string","description":"The current status of the propagation.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FErPropagationV3Timeouts:ErPropagationV3Timeouts"},"updatedAt":{"type":"string","description":"The latest update time.\n"}},"type":"object","required":["attachmentId","attachmentType","createdAt","erPropagationV3Id","instanceId","region","routeTableId","status","updatedAt"],"inputProperties":{"attachmentId":{"type":"string","description":"Specifies the ID of the attachment corresponding to the propagation.\n"},"erPropagationV3Id":{"type":"string","description":"The resource ID.\n"},"instanceId":{"type":"string","description":"Specifies the ID of the ER instance to which the route table and the\nattachment belongs.\n"},"routeTableId":{"type":"string","description":"Specifies the ID of the route table to which the propagation\nbelongs.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FErPropagationV3Timeouts:ErPropagationV3Timeouts"}},"requiredInputs":["attachmentId","instanceId","routeTableId"],"stateInputs":{"description":"Input properties used for looking up and filtering ErPropagationV3 resources.\n","properties":{"attachmentId":{"type":"string","description":"Specifies the ID of the attachment corresponding to the propagation.\n"},"attachmentType":{"type":"string","description":"The type of the attachment corresponding to the propagation.\n"},"createdAt":{"type":"string","description":"The creation time.\n"},"erPropagationV3Id":{"type":"string","description":"The resource ID.\n"},"instanceId":{"type":"string","description":"Specifies the ID of the ER instance to which the route table and the\nattachment belongs.\n"},"region":{"type":"string","description":"The region where the ER instance and route table are located.\n"},"routeTableId":{"type":"string","description":"Specifies the ID of the route table to which the propagation\nbelongs.\n"},"status":{"type":"string","description":"The current status of the propagation.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FErPropagationV3Timeouts:ErPropagationV3Timeouts"},"updatedAt":{"type":"string","description":"The latest update time.\n"}},"type":"object"}},"opentelekomcloud:index/erRouteTableV3:ErRouteTableV3":{"description":"Manages a route table resource under the ER instance within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst instanceId = config.requireObject\u003cany\u003e(\"instanceId\");\nconst routeTableName = config.requireObject\u003cany\u003e(\"routeTableName\");\nconst test = new opentelekomcloud.ErRouteTableV3(\"test\", {\n    instanceId: instanceId,\n    name: routeTableName,\n    description: \"Route table created by terraform\",\n    tags: {\n        foo: \"bar\",\n        key: \"value\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ninstance_id = config.require_object(\"instanceId\")\nroute_table_name = config.require_object(\"routeTableName\")\ntest = opentelekomcloud.ErRouteTableV3(\"test\",\n    instance_id=instance_id,\n    name=route_table_name,\n    description=\"Route table created by terraform\",\n    tags={\n        \"foo\": \"bar\",\n        \"key\": \"value\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var instanceId = config.RequireObject\u003cdynamic\u003e(\"instanceId\");\n    var routeTableName = config.RequireObject\u003cdynamic\u003e(\"routeTableName\");\n    var test = new Opentelekomcloud.ErRouteTableV3(\"test\", new()\n    {\n        InstanceId = instanceId,\n        Name = routeTableName,\n        Description = \"Route table created by terraform\",\n        Tags = \n        {\n            { \"foo\", \"bar\" },\n            { \"key\", \"value\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tinstanceId := cfg.RequireObject(\"instanceId\")\n\t\trouteTableName := cfg.RequireObject(\"routeTableName\")\n\t\t_, err := opentelekomcloud.NewErRouteTableV3(ctx, \"test\", \u0026opentelekomcloud.ErRouteTableV3Args{\n\t\t\tInstanceId:  pulumi.Any(instanceId),\n\t\t\tName:        pulumi.Any(routeTableName),\n\t\t\tDescription: pulumi.String(\"Route table created by terraform\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t\t\"key\": pulumi.String(\"value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ErRouteTableV3;\nimport com.pulumi.opentelekomcloud.ErRouteTableV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var instanceId = config.get(\"instanceId\");\n        final var routeTableName = config.get(\"routeTableName\");\n        var test = new ErRouteTableV3(\"test\", ErRouteTableV3Args.builder()\n            .instanceId(instanceId)\n            .name(routeTableName)\n            .description(\"Route table created by terraform\")\n            .tags(Map.ofEntries(\n                Map.entry(\"foo\", \"bar\"),\n                Map.entry(\"key\", \"value\")\n            ))\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  instanceId:\n    type: dynamic\n  routeTableName:\n    type: dynamic\nresources:\n  test:\n    type: opentelekomcloud:ErRouteTableV3\n    properties:\n      instanceId: ${instanceId}\n      name: ${routeTableName}\n      description: Route table created by terraform\n      tags:\n        foo: bar\n        key: value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRoute tables can be imported using their `id` and the related `instance_id`, separated by slashes (/), e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/erRouteTableV3:ErRouteTableV3 test instance_id/id\n```\n","properties":{"createdAt":{"type":"string","description":"The creation time.\n"},"description":{"type":"string","description":"Specifies the description of the route table.\nThe description contain a maximum of 255 characters, and the angle brackets (\u003c and \u003e) are not allowed.\n"},"erRouteTableV3Id":{"type":"string","description":"The resource ID.\n"},"instanceId":{"type":"string","description":"Specifies the ID of the ER instance to which the route table belongs.\n"},"isDefaultAssociation":{"type":"boolean","description":"Whether this route table is the default association route table.\n"},"isDefaultPropagation":{"type":"boolean","description":"Whether this route table is the default propagation route table.\n"},"name":{"type":"string","description":"Specifies the name of the route table.\nThe name can contain 1 to 64 characters, only letters, digits, underscore (_), hyphens (-) and dots (.) allowed.\n"},"region":{"type":"string","description":"The region where the ER instance and route table are located.\n"},"status":{"type":"string","description":"The current status of the route table.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"(Optional, Map) Tags key/value pairs to associate with the instance.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FErRouteTableV3Timeouts:ErRouteTableV3Timeouts"},"updatedAt":{"type":"string","description":"The latest update time.\n"}},"type":"object","required":["createdAt","erRouteTableV3Id","instanceId","isDefaultAssociation","isDefaultPropagation","name","region","status","updatedAt"],"inputProperties":{"description":{"type":"string","description":"Specifies the description of the route table.\nThe description contain a maximum of 255 characters, and the angle brackets (\u003c and \u003e) are not allowed.\n"},"erRouteTableV3Id":{"type":"string","description":"The resource ID.\n"},"instanceId":{"type":"string","description":"Specifies the ID of the ER instance to which the route table belongs.\n"},"name":{"type":"string","description":"Specifies the name of the route table.\nThe name can contain 1 to 64 characters, only letters, digits, underscore (_), hyphens (-) and dots (.) allowed.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"(Optional, Map) Tags key/value pairs to associate with the instance.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FErRouteTableV3Timeouts:ErRouteTableV3Timeouts"}},"requiredInputs":["instanceId"],"stateInputs":{"description":"Input properties used for looking up and filtering ErRouteTableV3 resources.\n","properties":{"createdAt":{"type":"string","description":"The creation time.\n"},"description":{"type":"string","description":"Specifies the description of the route table.\nThe description contain a maximum of 255 characters, and the angle brackets (\u003c and \u003e) are not allowed.\n"},"erRouteTableV3Id":{"type":"string","description":"The resource ID.\n"},"instanceId":{"type":"string","description":"Specifies the ID of the ER instance to which the route table belongs.\n"},"isDefaultAssociation":{"type":"boolean","description":"Whether this route table is the default association route table.\n"},"isDefaultPropagation":{"type":"boolean","description":"Whether this route table is the default propagation route table.\n"},"name":{"type":"string","description":"Specifies the name of the route table.\nThe name can contain 1 to 64 characters, only letters, digits, underscore (_), hyphens (-) and dots (.) allowed.\n"},"region":{"type":"string","description":"The region where the ER instance and route table are located.\n"},"status":{"type":"string","description":"The current status of the route table.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"(Optional, Map) Tags key/value pairs to associate with the instance.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FErRouteTableV3Timeouts:ErRouteTableV3Timeouts"},"updatedAt":{"type":"string","description":"The latest update time.\n"}},"type":"object"}},"opentelekomcloud:index/erStaticRouteV3:ErStaticRouteV3":{"description":"Manages a static route under the ER route table within OpenTelekomCloud.\n\n## Example Usage\n\n### Create a static route and cross the VPC\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst routeTableId = config.requireObject\u003cany\u003e(\"routeTableId\");\nconst destinationVpcCidr = config.requireObject\u003cany\u003e(\"destinationVpcCidr\");\nconst sourceVpcAttachmentId = config.requireObject\u003cany\u003e(\"sourceVpcAttachmentId\");\nconst test = new opentelekomcloud.ErStaticRouteV3(\"test\", {\n    routeTableId: routeTableId,\n    destination: destinationVpcCidr,\n    attachmentId: sourceVpcAttachmentId,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nroute_table_id = config.require_object(\"routeTableId\")\ndestination_vpc_cidr = config.require_object(\"destinationVpcCidr\")\nsource_vpc_attachment_id = config.require_object(\"sourceVpcAttachmentId\")\ntest = opentelekomcloud.ErStaticRouteV3(\"test\",\n    route_table_id=route_table_id,\n    destination=destination_vpc_cidr,\n    attachment_id=source_vpc_attachment_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var routeTableId = config.RequireObject\u003cdynamic\u003e(\"routeTableId\");\n    var destinationVpcCidr = config.RequireObject\u003cdynamic\u003e(\"destinationVpcCidr\");\n    var sourceVpcAttachmentId = config.RequireObject\u003cdynamic\u003e(\"sourceVpcAttachmentId\");\n    var test = new Opentelekomcloud.ErStaticRouteV3(\"test\", new()\n    {\n        RouteTableId = routeTableId,\n        Destination = destinationVpcCidr,\n        AttachmentId = sourceVpcAttachmentId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\trouteTableId := cfg.RequireObject(\"routeTableId\")\n\t\tdestinationVpcCidr := cfg.RequireObject(\"destinationVpcCidr\")\n\t\tsourceVpcAttachmentId := cfg.RequireObject(\"sourceVpcAttachmentId\")\n\t\t_, err := opentelekomcloud.NewErStaticRouteV3(ctx, \"test\", \u0026opentelekomcloud.ErStaticRouteV3Args{\n\t\t\tRouteTableId: pulumi.Any(routeTableId),\n\t\t\tDestination:  pulumi.Any(destinationVpcCidr),\n\t\t\tAttachmentId: pulumi.Any(sourceVpcAttachmentId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ErStaticRouteV3;\nimport com.pulumi.opentelekomcloud.ErStaticRouteV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var routeTableId = config.get(\"routeTableId\");\n        final var destinationVpcCidr = config.get(\"destinationVpcCidr\");\n        final var sourceVpcAttachmentId = config.get(\"sourceVpcAttachmentId\");\n        var test = new ErStaticRouteV3(\"test\", ErStaticRouteV3Args.builder()\n            .routeTableId(routeTableId)\n            .destination(destinationVpcCidr)\n            .attachmentId(sourceVpcAttachmentId)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  routeTableId:\n    type: dynamic\n  destinationVpcCidr:\n    type: dynamic\n  sourceVpcAttachmentId:\n    type: dynamic\nresources:\n  test:\n    type: opentelekomcloud:ErStaticRouteV3\n    properties:\n      routeTableId: ${routeTableId}\n      destination: ${destinationVpcCidr}\n      attachmentId: ${sourceVpcAttachmentId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a black hole route\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst routeTableId = config.requireObject\u003cany\u003e(\"routeTableId\");\nconst destinationVpcCidr = config.requireObject\u003cany\u003e(\"destinationVpcCidr\");\nconst test = new opentelekomcloud.ErStaticRouteV3(\"test\", {\n    routeTableId: routeTableId,\n    destination: destinationVpcCidr,\n    isBlackhole: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nroute_table_id = config.require_object(\"routeTableId\")\ndestination_vpc_cidr = config.require_object(\"destinationVpcCidr\")\ntest = opentelekomcloud.ErStaticRouteV3(\"test\",\n    route_table_id=route_table_id,\n    destination=destination_vpc_cidr,\n    is_blackhole=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var routeTableId = config.RequireObject\u003cdynamic\u003e(\"routeTableId\");\n    var destinationVpcCidr = config.RequireObject\u003cdynamic\u003e(\"destinationVpcCidr\");\n    var test = new Opentelekomcloud.ErStaticRouteV3(\"test\", new()\n    {\n        RouteTableId = routeTableId,\n        Destination = destinationVpcCidr,\n        IsBlackhole = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\trouteTableId := cfg.RequireObject(\"routeTableId\")\n\t\tdestinationVpcCidr := cfg.RequireObject(\"destinationVpcCidr\")\n\t\t_, err := opentelekomcloud.NewErStaticRouteV3(ctx, \"test\", \u0026opentelekomcloud.ErStaticRouteV3Args{\n\t\t\tRouteTableId: pulumi.Any(routeTableId),\n\t\t\tDestination:  pulumi.Any(destinationVpcCidr),\n\t\t\tIsBlackhole:  pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ErStaticRouteV3;\nimport com.pulumi.opentelekomcloud.ErStaticRouteV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var routeTableId = config.get(\"routeTableId\");\n        final var destinationVpcCidr = config.get(\"destinationVpcCidr\");\n        var test = new ErStaticRouteV3(\"test\", ErStaticRouteV3Args.builder()\n            .routeTableId(routeTableId)\n            .destination(destinationVpcCidr)\n            .isBlackhole(true)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  routeTableId:\n    type: dynamic\n  destinationVpcCidr:\n    type: dynamic\nresources:\n  test:\n    type: opentelekomcloud:ErStaticRouteV3\n    properties:\n      routeTableId: ${routeTableId}\n      destination: ${destinationVpcCidr}\n      isBlackhole: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nStatic routes can be imported using the related `route_table_id` and their `id`, separated by a slash (/), e.g.\n\nbash\n\n```sh\n$ pulumi import opentelekomcloud:index/erStaticRouteV3:ErStaticRouteV3 test \u003croute_table_id\u003e/\u003cid\u003e\n```\n\n","properties":{"attachmentId":{"type":"string","description":"Specifies the ID of the corresponding attachment.\n"},"createdAt":{"type":"string","description":"The creation time of the static route.\n"},"destination":{"type":"string","description":"Specifies the destination of the static route.\n"},"erStaticRouteV3Id":{"type":"string","description":"The resource ID.\n"},"isBlackhole":{"type":"boolean","description":"Specifies whether route is the black hole route, defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n+ If the value is empty or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, the parameter \u003cspan pulumi-lang-nodejs=\"`attachmentId`\" pulumi-lang-dotnet=\"`AttachmentId`\" pulumi-lang-go=\"`attachmentId`\" pulumi-lang-python=\"`attachment_id`\" pulumi-lang-yaml=\"`attachmentId`\" pulumi-lang-java=\"`attachmentId`\"\u003e`attachment_id`\u003c/span\u003e is required.\n+ If the value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the parameter \u003cspan pulumi-lang-nodejs=\"`attachmentId`\" pulumi-lang-dotnet=\"`AttachmentId`\" pulumi-lang-go=\"`attachmentId`\" pulumi-lang-python=\"`attachment_id`\" pulumi-lang-yaml=\"`attachmentId`\" pulumi-lang-java=\"`attachmentId`\"\u003e`attachment_id`\u003c/span\u003e must be empty.\n"},"region":{"type":"string","description":"The region where the static route and related route table are located.\n"},"routeTableId":{"type":"string","description":"Specifies the ID of the route table to which the static route\nbelongs.\n"},"status":{"type":"string","description":"The current status of the static route.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FErStaticRouteV3Timeouts:ErStaticRouteV3Timeouts"},"type":{"type":"string","description":"The type of the static route.\n"},"updatedAt":{"type":"string","description":"The latest update time of the static route.\n"}},"type":"object","required":["createdAt","destination","erStaticRouteV3Id","region","routeTableId","status","type","updatedAt"],"inputProperties":{"attachmentId":{"type":"string","description":"Specifies the ID of the corresponding attachment.\n"},"destination":{"type":"string","description":"Specifies the destination of the static route.\n"},"erStaticRouteV3Id":{"type":"string","description":"The resource ID.\n"},"isBlackhole":{"type":"boolean","description":"Specifies whether route is the black hole route, defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n+ If the value is empty or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, the parameter \u003cspan pulumi-lang-nodejs=\"`attachmentId`\" pulumi-lang-dotnet=\"`AttachmentId`\" pulumi-lang-go=\"`attachmentId`\" pulumi-lang-python=\"`attachment_id`\" pulumi-lang-yaml=\"`attachmentId`\" pulumi-lang-java=\"`attachmentId`\"\u003e`attachment_id`\u003c/span\u003e is required.\n+ If the value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the parameter \u003cspan pulumi-lang-nodejs=\"`attachmentId`\" pulumi-lang-dotnet=\"`AttachmentId`\" pulumi-lang-go=\"`attachmentId`\" pulumi-lang-python=\"`attachment_id`\" pulumi-lang-yaml=\"`attachmentId`\" pulumi-lang-java=\"`attachmentId`\"\u003e`attachment_id`\u003c/span\u003e must be empty.\n"},"routeTableId":{"type":"string","description":"Specifies the ID of the route table to which the static route\nbelongs.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FErStaticRouteV3Timeouts:ErStaticRouteV3Timeouts"}},"requiredInputs":["destination","routeTableId"],"stateInputs":{"description":"Input properties used for looking up and filtering ErStaticRouteV3 resources.\n","properties":{"attachmentId":{"type":"string","description":"Specifies the ID of the corresponding attachment.\n"},"createdAt":{"type":"string","description":"The creation time of the static route.\n"},"destination":{"type":"string","description":"Specifies the destination of the static route.\n"},"erStaticRouteV3Id":{"type":"string","description":"The resource ID.\n"},"isBlackhole":{"type":"boolean","description":"Specifies whether route is the black hole route, defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n+ If the value is empty or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, the parameter \u003cspan pulumi-lang-nodejs=\"`attachmentId`\" pulumi-lang-dotnet=\"`AttachmentId`\" pulumi-lang-go=\"`attachmentId`\" pulumi-lang-python=\"`attachment_id`\" pulumi-lang-yaml=\"`attachmentId`\" pulumi-lang-java=\"`attachmentId`\"\u003e`attachment_id`\u003c/span\u003e is required.\n+ If the value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the parameter \u003cspan pulumi-lang-nodejs=\"`attachmentId`\" pulumi-lang-dotnet=\"`AttachmentId`\" pulumi-lang-go=\"`attachmentId`\" pulumi-lang-python=\"`attachment_id`\" pulumi-lang-yaml=\"`attachmentId`\" pulumi-lang-java=\"`attachmentId`\"\u003e`attachment_id`\u003c/span\u003e must be empty.\n"},"region":{"type":"string","description":"The region where the static route and related route table are located.\n"},"routeTableId":{"type":"string","description":"Specifies the ID of the route table to which the static route\nbelongs.\n"},"status":{"type":"string","description":"The current status of the static route.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FErStaticRouteV3Timeouts:ErStaticRouteV3Timeouts"},"type":{"type":"string","description":"The type of the static route.\n"},"updatedAt":{"type":"string","description":"The latest update time of the static route.\n"}},"type":"object"}},"opentelekomcloud:index/erVpcAttachmentV3:ErVpcAttachmentV3":{"description":"Up-to-date reference of API arguments for Enterprise Router you can get at\n[documentation portal](https://docs.otc.t-systems.com/enterprise-router/api-ref/apis/vpc_attachments/index.html).\n\nManages an ER vpc attachment resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst instanceId = config.requireObject\u003cany\u003e(\"instanceId\");\nconst vpcId = config.requireObject\u003cany\u003e(\"vpcId\");\nconst subnetId = config.requireObject\u003cany\u003e(\"subnetId\");\nconst attachmentName = config.requireObject\u003cany\u003e(\"attachmentName\");\nconst test = new opentelekomcloud.ErVpcAttachmentV3(\"test\", {\n    instanceId: instanceId,\n    vpcId: vpcId,\n    subnetId: subnetId,\n    name: attachmentName,\n    description: \"VPC attachment created by terraform\",\n    autoCreateVpcRoutes: true,\n    tags: {\n        foo: \"bar\",\n        key: \"value\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ninstance_id = config.require_object(\"instanceId\")\nvpc_id = config.require_object(\"vpcId\")\nsubnet_id = config.require_object(\"subnetId\")\nattachment_name = config.require_object(\"attachmentName\")\ntest = opentelekomcloud.ErVpcAttachmentV3(\"test\",\n    instance_id=instance_id,\n    vpc_id=vpc_id,\n    subnet_id=subnet_id,\n    name=attachment_name,\n    description=\"VPC attachment created by terraform\",\n    auto_create_vpc_routes=True,\n    tags={\n        \"foo\": \"bar\",\n        \"key\": \"value\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var instanceId = config.RequireObject\u003cdynamic\u003e(\"instanceId\");\n    var vpcId = config.RequireObject\u003cdynamic\u003e(\"vpcId\");\n    var subnetId = config.RequireObject\u003cdynamic\u003e(\"subnetId\");\n    var attachmentName = config.RequireObject\u003cdynamic\u003e(\"attachmentName\");\n    var test = new Opentelekomcloud.ErVpcAttachmentV3(\"test\", new()\n    {\n        InstanceId = instanceId,\n        VpcId = vpcId,\n        SubnetId = subnetId,\n        Name = attachmentName,\n        Description = \"VPC attachment created by terraform\",\n        AutoCreateVpcRoutes = true,\n        Tags = \n        {\n            { \"foo\", \"bar\" },\n            { \"key\", \"value\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tinstanceId := cfg.RequireObject(\"instanceId\")\n\t\tvpcId := cfg.RequireObject(\"vpcId\")\n\t\tsubnetId := cfg.RequireObject(\"subnetId\")\n\t\tattachmentName := cfg.RequireObject(\"attachmentName\")\n\t\t_, err := opentelekomcloud.NewErVpcAttachmentV3(ctx, \"test\", \u0026opentelekomcloud.ErVpcAttachmentV3Args{\n\t\t\tInstanceId:          pulumi.Any(instanceId),\n\t\t\tVpcId:               pulumi.Any(vpcId),\n\t\t\tSubnetId:            pulumi.Any(subnetId),\n\t\t\tName:                pulumi.Any(attachmentName),\n\t\t\tDescription:         pulumi.String(\"VPC attachment created by terraform\"),\n\t\t\tAutoCreateVpcRoutes: pulumi.Bool(true),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t\t\"key\": pulumi.String(\"value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ErVpcAttachmentV3;\nimport com.pulumi.opentelekomcloud.ErVpcAttachmentV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var instanceId = config.get(\"instanceId\");\n        final var vpcId = config.get(\"vpcId\");\n        final var subnetId = config.get(\"subnetId\");\n        final var attachmentName = config.get(\"attachmentName\");\n        var test = new ErVpcAttachmentV3(\"test\", ErVpcAttachmentV3Args.builder()\n            .instanceId(instanceId)\n            .vpcId(vpcId)\n            .subnetId(subnetId)\n            .name(attachmentName)\n            .description(\"VPC attachment created by terraform\")\n            .autoCreateVpcRoutes(true)\n            .tags(Map.ofEntries(\n                Map.entry(\"foo\", \"bar\"),\n                Map.entry(\"key\", \"value\")\n            ))\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  instanceId:\n    type: dynamic\n  vpcId:\n    type: dynamic\n  subnetId:\n    type: dynamic\n  attachmentName:\n    type: dynamic\nresources:\n  test:\n    type: opentelekomcloud:ErVpcAttachmentV3\n    properties:\n      instanceId: ${instanceId}\n      vpcId: ${vpcId}\n      subnetId: ${subnetId}\n      name: ${attachmentName}\n      description: VPC attachment created by terraform\n      autoCreateVpcRoutes: true\n      tags:\n        foo: bar\n        key: value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVPC attachments can be imported using their `id` and the related `instance_id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/erVpcAttachmentV3:ErVpcAttachmentV3 test instance_id/id\n```\n","properties":{"autoCreateVpcRoutes":{"type":"boolean","description":"Specifies whether to automatically configure routes for the VPC\nwhich pointing to the ER instance.\nThe destination CIDRs of the routes are fixed as follows:\n+ **10.0.0.0/8**\n+ **172.16.0.0/12**\n+ **192.168.0.0/16**\n\nThe default value is false. Changing this parameter will create a new resource.\n"},"createdAt":{"type":"string","description":"The creation time.\n"},"description":{"type":"string","description":"Specifies the description of the VPC attachment.\nThe description contain a maximum of 255 characters, and the angle brackets (\u003c and \u003e) are not allowed.\n"},"erVpcAttachmentV3Id":{"type":"string","description":"The resource ID.\n"},"instanceId":{"type":"string","description":"Specifies the ID of the ER instance to which the VPC attachment\nbelongs.\nChanging this parameter will create a new resource.\n"},"name":{"type":"string","description":"Specifies the name of the VPC attachment.\nThe name can contain 1 to 64 characters, digits, underscore (_), hyphens (-) and\ndots (.) allowed.\n"},"region":{"type":"string","description":"The region where the ER instance and the VPC attachment are.\n"},"status":{"type":"string","description":"The current status of the VPC attachment.\n"},"subnetId":{"type":"string","description":"Specifies the ID of the VPC subnet to which the VPC attachment belongs.\nChanging this parameter will create a new resource.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags key/value pairs to associate with the instance.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FErVpcAttachmentV3Timeouts:ErVpcAttachmentV3Timeouts"},"updatedAt":{"type":"string","description":"The latest update time.\n"},"vpcId":{"type":"string","description":"Specifies the ID of the VPC to which the VPC attachment belongs.\nChanging this parameter will create a new resource.\n"}},"type":"object","required":["autoCreateVpcRoutes","createdAt","erVpcAttachmentV3Id","instanceId","name","region","status","subnetId","updatedAt","vpcId"],"inputProperties":{"autoCreateVpcRoutes":{"type":"boolean","description":"Specifies whether to automatically configure routes for the VPC\nwhich pointing to the ER instance.\nThe destination CIDRs of the routes are fixed as follows:\n+ **10.0.0.0/8**\n+ **172.16.0.0/12**\n+ **192.168.0.0/16**\n\nThe default value is false. Changing this parameter will create a new resource.\n"},"description":{"type":"string","description":"Specifies the description of the VPC attachment.\nThe description contain a maximum of 255 characters, and the angle brackets (\u003c and \u003e) are not allowed.\n"},"erVpcAttachmentV3Id":{"type":"string","description":"The resource ID.\n"},"instanceId":{"type":"string","description":"Specifies the ID of the ER instance to which the VPC attachment\nbelongs.\nChanging this parameter will create a new resource.\n"},"name":{"type":"string","description":"Specifies the name of the VPC attachment.\nThe name can contain 1 to 64 characters, digits, underscore (_), hyphens (-) and\ndots (.) allowed.\n"},"subnetId":{"type":"string","description":"Specifies the ID of the VPC subnet to which the VPC attachment belongs.\nChanging this parameter will create a new resource.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags key/value pairs to associate with the instance.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FErVpcAttachmentV3Timeouts:ErVpcAttachmentV3Timeouts"},"vpcId":{"type":"string","description":"Specifies the ID of the VPC to which the VPC attachment belongs.\nChanging this parameter will create a new resource.\n"}},"requiredInputs":["instanceId","subnetId","vpcId"],"stateInputs":{"description":"Input properties used for looking up and filtering ErVpcAttachmentV3 resources.\n","properties":{"autoCreateVpcRoutes":{"type":"boolean","description":"Specifies whether to automatically configure routes for the VPC\nwhich pointing to the ER instance.\nThe destination CIDRs of the routes are fixed as follows:\n+ **10.0.0.0/8**\n+ **172.16.0.0/12**\n+ **192.168.0.0/16**\n\nThe default value is false. Changing this parameter will create a new resource.\n"},"createdAt":{"type":"string","description":"The creation time.\n"},"description":{"type":"string","description":"Specifies the description of the VPC attachment.\nThe description contain a maximum of 255 characters, and the angle brackets (\u003c and \u003e) are not allowed.\n"},"erVpcAttachmentV3Id":{"type":"string","description":"The resource ID.\n"},"instanceId":{"type":"string","description":"Specifies the ID of the ER instance to which the VPC attachment\nbelongs.\nChanging this parameter will create a new resource.\n"},"name":{"type":"string","description":"Specifies the name of the VPC attachment.\nThe name can contain 1 to 64 characters, digits, underscore (_), hyphens (-) and\ndots (.) allowed.\n"},"region":{"type":"string","description":"The region where the ER instance and the VPC attachment are.\n"},"status":{"type":"string","description":"The current status of the VPC attachment.\n"},"subnetId":{"type":"string","description":"Specifies the ID of the VPC subnet to which the VPC attachment belongs.\nChanging this parameter will create a new resource.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags key/value pairs to associate with the instance.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FErVpcAttachmentV3Timeouts:ErVpcAttachmentV3Timeouts"},"updatedAt":{"type":"string","description":"The latest update time.\n"},"vpcId":{"type":"string","description":"Specifies the ID of the VPC to which the VPC attachment belongs.\nChanging this parameter will create a new resource.\n"}},"type":"object"}},"opentelekomcloud:index/evsVolumeV3:EvsVolumeV3":{"description":"Up-to-date reference of API arguments for EVS you can get at\n[documentation portal](https://docs.otc.t-systems.com/elastic-volume-service/api-ref/unrecommended_apis/openstack_cinder_api_v3)\n\nManages a V3 volume resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst volume1 = new opentelekomcloud.EvsVolumeV3(\"volume_1\", {\n    name: \"volume_1\",\n    description: \"first test volume\",\n    availabilityZone: \"eu-de-01\",\n    volumeType: \"SATA\",\n    size: 20,\n    tags: {\n        foo: \"bar\",\n        key: \"value\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nvolume1 = opentelekomcloud.EvsVolumeV3(\"volume_1\",\n    name=\"volume_1\",\n    description=\"first test volume\",\n    availability_zone=\"eu-de-01\",\n    volume_type=\"SATA\",\n    size=20,\n    tags={\n        \"foo\": \"bar\",\n        \"key\": \"value\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var volume1 = new Opentelekomcloud.EvsVolumeV3(\"volume_1\", new()\n    {\n        Name = \"volume_1\",\n        Description = \"first test volume\",\n        AvailabilityZone = \"eu-de-01\",\n        VolumeType = \"SATA\",\n        Size = 20,\n        Tags = \n        {\n            { \"foo\", \"bar\" },\n            { \"key\", \"value\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewEvsVolumeV3(ctx, \"volume_1\", \u0026opentelekomcloud.EvsVolumeV3Args{\n\t\t\tName:             pulumi.String(\"volume_1\"),\n\t\t\tDescription:      pulumi.String(\"first test volume\"),\n\t\t\tAvailabilityZone: pulumi.String(\"eu-de-01\"),\n\t\t\tVolumeType:       pulumi.String(\"SATA\"),\n\t\t\tSize:             pulumi.Float64(20),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t\t\"key\": pulumi.String(\"value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.EvsVolumeV3;\nimport com.pulumi.opentelekomcloud.EvsVolumeV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var volume1 = new EvsVolumeV3(\"volume1\", EvsVolumeV3Args.builder()\n            .name(\"volume_1\")\n            .description(\"first test volume\")\n            .availabilityZone(\"eu-de-01\")\n            .volumeType(\"SATA\")\n            .size(20.0)\n            .tags(Map.ofEntries(\n                Map.entry(\"foo\", \"bar\"),\n                Map.entry(\"key\", \"value\")\n            ))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  volume1:\n    type: opentelekomcloud:EvsVolumeV3\n    name: volume_1\n    properties:\n      name: volume_1\n      description: first test volume\n      availabilityZone: eu-de-01\n      volumeType: SATA\n      size: 20\n      tags:\n        foo: bar\n        key: value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Use KMS encryption\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst volume1 = new opentelekomcloud.EvsVolumeV3(\"volume_1\", {\n    name: \"volume_1\",\n    description: \"first test volume\",\n    availabilityZone: \"eu-de-01\",\n    volumeType: \"SATA\",\n    kmsId: kmsId,\n    size: 20,\n    tags: {\n        foo: \"bar\",\n        key: \"value\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nvolume1 = opentelekomcloud.EvsVolumeV3(\"volume_1\",\n    name=\"volume_1\",\n    description=\"first test volume\",\n    availability_zone=\"eu-de-01\",\n    volume_type=\"SATA\",\n    kms_id=kms_id,\n    size=20,\n    tags={\n        \"foo\": \"bar\",\n        \"key\": \"value\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var volume1 = new Opentelekomcloud.EvsVolumeV3(\"volume_1\", new()\n    {\n        Name = \"volume_1\",\n        Description = \"first test volume\",\n        AvailabilityZone = \"eu-de-01\",\n        VolumeType = \"SATA\",\n        KmsId = kmsId,\n        Size = 20,\n        Tags = \n        {\n            { \"foo\", \"bar\" },\n            { \"key\", \"value\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewEvsVolumeV3(ctx, \"volume_1\", \u0026opentelekomcloud.EvsVolumeV3Args{\n\t\t\tName:             pulumi.String(\"volume_1\"),\n\t\t\tDescription:      pulumi.String(\"first test volume\"),\n\t\t\tAvailabilityZone: pulumi.String(\"eu-de-01\"),\n\t\t\tVolumeType:       pulumi.String(\"SATA\"),\n\t\t\tKmsId:            pulumi.Any(kmsId),\n\t\t\tSize:             pulumi.Float64(20),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t\t\"key\": pulumi.String(\"value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.EvsVolumeV3;\nimport com.pulumi.opentelekomcloud.EvsVolumeV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var volume1 = new EvsVolumeV3(\"volume1\", EvsVolumeV3Args.builder()\n            .name(\"volume_1\")\n            .description(\"first test volume\")\n            .availabilityZone(\"eu-de-01\")\n            .volumeType(\"SATA\")\n            .kmsId(kmsId)\n            .size(20.0)\n            .tags(Map.ofEntries(\n                Map.entry(\"foo\", \"bar\"),\n                Map.entry(\"key\", \"value\")\n            ))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  volume1:\n    type: opentelekomcloud:EvsVolumeV3\n    name: volume_1\n    properties:\n      name: volume_1\n      description: first test volume\n      availabilityZone: eu-de-01\n      volumeType: SATA\n      kmsId: ${kmsId}\n      size: 20\n      tags:\n        foo: bar\n        key: value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVolumes can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/evsVolumeV3:EvsVolumeV3 volume_1 14a80bc7-c12c-4fe0-a38a-cb77eeac9bd6\n```\n\n","properties":{"attachments":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FEvsVolumeV3Attachment:EvsVolumeV3Attachment"},"description":"If a volume is attached to an instance, this attribute will\ndisplay the Attachment ID, Instance ID, and the Device as the Instance sees it.\n"},"availabilityZone":{"type":"string","description":"The availability zone for the volume.\nChanging this creates a new volume.\n"},"backupId":{"type":"string","description":"The backup ID from which to create the volume.\nChanging this creates a new volume.\n"},"cascade":{"type":"boolean","description":"Specifies to delete all snapshots associated with the EVS disk. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"description":{"type":"string","description":"A description of the volume. Changing this updates the volume's description.\n"},"deviceType":{"type":"string","description":"The device type of volume to create. Valid options are VBD and SCSI.\nDefaults to `VBD`. Changing this creates a new volume.\n"},"evsVolumeV3Id":{"type":"string"},"imageId":{"type":"string","description":"The image ID from which to create the volume.\nChanging this creates a new volume.\n"},"kmsId":{"type":"string","description":"The Encryption KMS ID to create the volume.\nChanging this creates a new volume.\n"},"multiattach":{"type":"boolean","description":"Specifies whether the disk is shareable. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\nChanging this creates a new volume.\n"},"name":{"type":"string","description":"A unique name for the volume. Changing this updates the volume's name.\n"},"size":{"type":"number","description":"The size of the volume to create (in gigabytes). This parameter is mandatory when\nyou create an empty EVS disk or use an image or a snapshot to create an EVS disk.\n_Decreasing_ this value creates a new volume.\n"},"snapshotId":{"type":"string","description":"The snapshot ID from which to create the volume.\nChanging this creates a new volume.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags key/value pairs to associate with the volume.\nChanging this updates the existing volume tags.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FEvsVolumeV3Timeouts:EvsVolumeV3Timeouts"},"volumeType":{"type":"string","description":"The type of volume to create.\nCurrently, the value can be:\n* `SATA`: common I/O disk type. Available for all AZs.\n* `SAS`: high I/O disk type. Available for all AZs.\n* `SSD`: ultra-high I/O disk type. Available for all AZs.\n* `GPSSD`: the general purpose SSD type\n* `ESSD`: extreme SSD disk type.\n\n\u003e **NOTE:**\nCommon I/O (SATA) will reach end of life, end of 2025.\n\nChanging this creates a new volume.\n"},"wwn":{"type":"string","description":"Specifies the unique identifier used for mounting the EVS disk.\n"}},"type":"object","required":["attachments","availabilityZone","evsVolumeV3Id","name","size","volumeType","wwn"],"inputProperties":{"availabilityZone":{"type":"string","description":"The availability zone for the volume.\nChanging this creates a new volume.\n"},"backupId":{"type":"string","description":"The backup ID from which to create the volume.\nChanging this creates a new volume.\n"},"cascade":{"type":"boolean","description":"Specifies to delete all snapshots associated with the EVS disk. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"description":{"type":"string","description":"A description of the volume. Changing this updates the volume's description.\n"},"deviceType":{"type":"string","description":"The device type of volume to create. Valid options are VBD and SCSI.\nDefaults to `VBD`. Changing this creates a new volume.\n"},"evsVolumeV3Id":{"type":"string"},"imageId":{"type":"string","description":"The image ID from which to create the volume.\nChanging this creates a new volume.\n"},"kmsId":{"type":"string","description":"The Encryption KMS ID to create the volume.\nChanging this creates a new volume.\n"},"multiattach":{"type":"boolean","description":"Specifies whether the disk is shareable. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\nChanging this creates a new volume.\n"},"name":{"type":"string","description":"A unique name for the volume. Changing this updates the volume's name.\n"},"size":{"type":"number","description":"The size of the volume to create (in gigabytes). This parameter is mandatory when\nyou create an empty EVS disk or use an image or a snapshot to create an EVS disk.\n_Decreasing_ this value creates a new volume.\n"},"snapshotId":{"type":"string","description":"The snapshot ID from which to create the volume.\nChanging this creates a new volume.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags key/value pairs to associate with the volume.\nChanging this updates the existing volume tags.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FEvsVolumeV3Timeouts:EvsVolumeV3Timeouts"},"volumeType":{"type":"string","description":"The type of volume to create.\nCurrently, the value can be:\n* `SATA`: common I/O disk type. Available for all AZs.\n* `SAS`: high I/O disk type. Available for all AZs.\n* `SSD`: ultra-high I/O disk type. Available for all AZs.\n* `GPSSD`: the general purpose SSD type\n* `ESSD`: extreme SSD disk type.\n\n\u003e **NOTE:**\nCommon I/O (SATA) will reach end of life, end of 2025.\n\nChanging this creates a new volume.\n"}},"requiredInputs":["availabilityZone","volumeType"],"stateInputs":{"description":"Input properties used for looking up and filtering EvsVolumeV3 resources.\n","properties":{"attachments":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FEvsVolumeV3Attachment:EvsVolumeV3Attachment"},"description":"If a volume is attached to an instance, this attribute will\ndisplay the Attachment ID, Instance ID, and the Device as the Instance sees it.\n"},"availabilityZone":{"type":"string","description":"The availability zone for the volume.\nChanging this creates a new volume.\n"},"backupId":{"type":"string","description":"The backup ID from which to create the volume.\nChanging this creates a new volume.\n"},"cascade":{"type":"boolean","description":"Specifies to delete all snapshots associated with the EVS disk. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"description":{"type":"string","description":"A description of the volume. Changing this updates the volume's description.\n"},"deviceType":{"type":"string","description":"The device type of volume to create. Valid options are VBD and SCSI.\nDefaults to `VBD`. Changing this creates a new volume.\n"},"evsVolumeV3Id":{"type":"string"},"imageId":{"type":"string","description":"The image ID from which to create the volume.\nChanging this creates a new volume.\n"},"kmsId":{"type":"string","description":"The Encryption KMS ID to create the volume.\nChanging this creates a new volume.\n"},"multiattach":{"type":"boolean","description":"Specifies whether the disk is shareable. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\nChanging this creates a new volume.\n"},"name":{"type":"string","description":"A unique name for the volume. Changing this updates the volume's name.\n"},"size":{"type":"number","description":"The size of the volume to create (in gigabytes). This parameter is mandatory when\nyou create an empty EVS disk or use an image or a snapshot to create an EVS disk.\n_Decreasing_ this value creates a new volume.\n"},"snapshotId":{"type":"string","description":"The snapshot ID from which to create the volume.\nChanging this creates a new volume.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags key/value pairs to associate with the volume.\nChanging this updates the existing volume tags.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FEvsVolumeV3Timeouts:EvsVolumeV3Timeouts"},"volumeType":{"type":"string","description":"The type of volume to create.\nCurrently, the value can be:\n* `SATA`: common I/O disk type. Available for all AZs.\n* `SAS`: high I/O disk type. Available for all AZs.\n* `SSD`: ultra-high I/O disk type. Available for all AZs.\n* `GPSSD`: the general purpose SSD type\n* `ESSD`: extreme SSD disk type.\n\n\u003e **NOTE:**\nCommon I/O (SATA) will reach end of life, end of 2025.\n\nChanging this creates a new volume.\n"},"wwn":{"type":"string","description":"Specifies the unique identifier used for mounting the EVS disk.\n"}},"type":"object"}},"opentelekomcloud:index/fgsAsyncInvokeConfigV2:FgsAsyncInvokeConfigV2":{"description":"Up-to-date reference of API arguments for FGS you can get at\n[documentation portal](https://docs.otc.t-systems.com/function-graph/api-ref/apis/asynchronous_execution_notification/index.html)\n\nManages the configuration of the asynchronous invocation within OpenTelekomCloud.\n\n\u003e A function only supports configuring one resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst functionUrn = config.requireObject\u003cany\u003e(\"functionUrn\");\nconst bucketName = config.requireObject\u003cany\u003e(\"bucketName\");\nconst topicUrn = config.requireObject\u003cany\u003e(\"topicUrn\");\nconst test = new opentelekomcloud.FgsAsyncInvokeConfigV2(\"test\", {\n    functionUrn: functionUrn,\n    maxAsyncEventAgeInSeconds: 3500,\n    maxAsyncRetryAttempts: 2,\n    onSuccess: {\n        destination: \"OBS\",\n        param: JSON.stringify({\n            bucket: bucketName,\n            prefix: \"/success\",\n            expires: 5,\n        }),\n    },\n    onFailure: {\n        destination: \"SMN\",\n        param: JSON.stringify({\n            topic_urn: topicUrn,\n        }),\n    },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nfunction_urn = config.require_object(\"functionUrn\")\nbucket_name = config.require_object(\"bucketName\")\ntopic_urn = config.require_object(\"topicUrn\")\ntest = opentelekomcloud.FgsAsyncInvokeConfigV2(\"test\",\n    function_urn=function_urn,\n    max_async_event_age_in_seconds=3500,\n    max_async_retry_attempts=2,\n    on_success={\n        \"destination\": \"OBS\",\n        \"param\": json.dumps({\n            \"bucket\": bucket_name,\n            \"prefix\": \"/success\",\n            \"expires\": 5,\n        }),\n    },\n    on_failure={\n        \"destination\": \"SMN\",\n        \"param\": json.dumps({\n            \"topic_urn\": topic_urn,\n        }),\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var functionUrn = config.RequireObject\u003cdynamic\u003e(\"functionUrn\");\n    var bucketName = config.RequireObject\u003cdynamic\u003e(\"bucketName\");\n    var topicUrn = config.RequireObject\u003cdynamic\u003e(\"topicUrn\");\n    var test = new Opentelekomcloud.FgsAsyncInvokeConfigV2(\"test\", new()\n    {\n        FunctionUrn = functionUrn,\n        MaxAsyncEventAgeInSeconds = 3500,\n        MaxAsyncRetryAttempts = 2,\n        OnSuccess = new Opentelekomcloud.Inputs.FgsAsyncInvokeConfigV2OnSuccessArgs\n        {\n            Destination = \"OBS\",\n            Param = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n            {\n                [\"bucket\"] = bucketName,\n                [\"prefix\"] = \"/success\",\n                [\"expires\"] = 5,\n            }),\n        },\n        OnFailure = new Opentelekomcloud.Inputs.FgsAsyncInvokeConfigV2OnFailureArgs\n        {\n            Destination = \"SMN\",\n            Param = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n            {\n                [\"topic_urn\"] = topicUrn,\n            }),\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tfunctionUrn := cfg.RequireObject(\"functionUrn\")\n\t\tbucketName := cfg.RequireObject(\"bucketName\")\n\t\ttopicUrn := cfg.RequireObject(\"topicUrn\")\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"bucket\":  bucketName,\n\t\t\t\"prefix\":  \"/success\",\n\t\t\t\"expires\": 5,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\"topic_urn\": topicUrn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson1 := string(tmpJSON1)\n\t\t_, err = opentelekomcloud.NewFgsAsyncInvokeConfigV2(ctx, \"test\", \u0026opentelekomcloud.FgsAsyncInvokeConfigV2Args{\n\t\t\tFunctionUrn:               pulumi.Any(functionUrn),\n\t\t\tMaxAsyncEventAgeInSeconds: pulumi.Float64(3500),\n\t\t\tMaxAsyncRetryAttempts:     pulumi.Float64(2),\n\t\t\tOnSuccess: \u0026opentelekomcloud.FgsAsyncInvokeConfigV2OnSuccessArgs{\n\t\t\t\tDestination: pulumi.String(\"OBS\"),\n\t\t\t\tParam:       pulumi.String(json0),\n\t\t\t},\n\t\t\tOnFailure: \u0026opentelekomcloud.FgsAsyncInvokeConfigV2OnFailureArgs{\n\t\t\t\tDestination: pulumi.String(\"SMN\"),\n\t\t\t\tParam:       pulumi.String(json1),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.FgsAsyncInvokeConfigV2;\nimport com.pulumi.opentelekomcloud.FgsAsyncInvokeConfigV2Args;\nimport com.pulumi.opentelekomcloud.inputs.FgsAsyncInvokeConfigV2OnSuccessArgs;\nimport com.pulumi.opentelekomcloud.inputs.FgsAsyncInvokeConfigV2OnFailureArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var functionUrn = config.get(\"functionUrn\");\n        final var bucketName = config.get(\"bucketName\");\n        final var topicUrn = config.get(\"topicUrn\");\n        var test = new FgsAsyncInvokeConfigV2(\"test\", FgsAsyncInvokeConfigV2Args.builder()\n            .functionUrn(functionUrn)\n            .maxAsyncEventAgeInSeconds(3500.0)\n            .maxAsyncRetryAttempts(2.0)\n            .onSuccess(FgsAsyncInvokeConfigV2OnSuccessArgs.builder()\n                .destination(\"OBS\")\n                .param(serializeJson(\n                    jsonObject(\n                        jsonProperty(\"bucket\", bucketName),\n                        jsonProperty(\"prefix\", \"/success\"),\n                        jsonProperty(\"expires\", 5)\n                    )))\n                .build())\n            .onFailure(FgsAsyncInvokeConfigV2OnFailureArgs.builder()\n                .destination(\"SMN\")\n                .param(serializeJson(\n                    jsonObject(\n                        jsonProperty(\"topic_urn\", topicUrn)\n                    )))\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  functionUrn:\n    type: dynamic\n  bucketName:\n    type: dynamic\n  topicUrn:\n    type: dynamic\nresources:\n  test:\n    type: opentelekomcloud:FgsAsyncInvokeConfigV2\n    properties:\n      functionUrn: ${functionUrn}\n      maxAsyncEventAgeInSeconds: 3500\n      maxAsyncRetryAttempts: 2\n      onSuccess:\n        destination: OBS\n        param:\n          fn::toJSON:\n            bucket: ${bucketName}\n            prefix: /success\n            expires: 5\n      onFailure:\n        destination: SMN\n        param:\n          fn::toJSON:\n            topic_urn: ${topicUrn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe configurations can be imported using their related `function_urn`, e.g.\n\nbash\n\n```sh\n$ pulumi import opentelekomcloud:index/fgsAsyncInvokeConfigV2:FgsAsyncInvokeConfigV2 test \u003cfunction_urn\u003e\n```\n\n","properties":{"fgsAsyncInvokeConfigV2Id":{"type":"string","description":"Specifies a resource ID in UUID format.\n"},"functionUrn":{"type":"string","description":"Specifies the function URN to which the asynchronous invocation belongs.\nChanging this will create a new resource.\n"},"maxAsyncEventAgeInSeconds":{"type":"number","description":"Specifies the maximum validity period of a message.\n"},"maxAsyncRetryAttempts":{"type":"number","description":"Specifies the maximum number of retry attempts to be made if\nasynchronous invocation fails.\n"},"onFailure":{"$ref":"#/types/opentelekomcloud:index%2FFgsAsyncInvokeConfigV2OnFailure:FgsAsyncInvokeConfigV2OnFailure","description":"Specifies the target to be invoked when a function fails to be executed due to a\nsystem error or an internal error.\nThe object structure is documented below.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"functiongraphDestinationConfig\"\" pulumi-lang-dotnet=\"\"FunctiongraphDestinationConfig\"\" pulumi-lang-go=\"\"functiongraphDestinationConfig\"\" pulumi-lang-python=\"\"functiongraph_destination_config\"\" pulumi-lang-yaml=\"\"functiongraphDestinationConfig\"\" pulumi-lang-java=\"\"functiongraphDestinationConfig\"\"\u003e\"functiongraph_destination_config\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`onSuccess`\" pulumi-lang-dotnet=\"`OnSuccess`\" pulumi-lang-go=\"`onSuccess`\" pulumi-lang-python=\"`on_success`\" pulumi-lang-yaml=\"`onSuccess`\" pulumi-lang-java=\"`onSuccess`\"\u003e`on_success`\u003c/span\u003e and the \u003cspan pulumi-lang-nodejs=\"`onFailure`\" pulumi-lang-dotnet=\"`OnFailure`\" pulumi-lang-go=\"`onFailure`\" pulumi-lang-python=\"`on_failure`\" pulumi-lang-yaml=\"`onFailure`\" pulumi-lang-java=\"`onFailure`\"\u003e`on_failure`\u003c/span\u003e blocks support:\n"},"onSuccess":{"$ref":"#/types/opentelekomcloud:index%2FFgsAsyncInvokeConfigV2OnSuccess:FgsAsyncInvokeConfigV2OnSuccess","description":"Specifies the target to be invoked when a function is successfully executed.\nThe object structure is documented below.\n"},"region":{"type":"string","description":"Specifies the region in which the asynchronous invocation is configured.\n"}},"type":"object","required":["fgsAsyncInvokeConfigV2Id","functionUrn","maxAsyncEventAgeInSeconds","maxAsyncRetryAttempts","region"],"inputProperties":{"fgsAsyncInvokeConfigV2Id":{"type":"string","description":"Specifies a resource ID in UUID format.\n"},"functionUrn":{"type":"string","description":"Specifies the function URN to which the asynchronous invocation belongs.\nChanging this will create a new resource.\n"},"maxAsyncEventAgeInSeconds":{"type":"number","description":"Specifies the maximum validity period of a message.\n"},"maxAsyncRetryAttempts":{"type":"number","description":"Specifies the maximum number of retry attempts to be made if\nasynchronous invocation fails.\n"},"onFailure":{"$ref":"#/types/opentelekomcloud:index%2FFgsAsyncInvokeConfigV2OnFailure:FgsAsyncInvokeConfigV2OnFailure","description":"Specifies the target to be invoked when a function fails to be executed due to a\nsystem error or an internal error.\nThe object structure is documented below.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"functiongraphDestinationConfig\"\" pulumi-lang-dotnet=\"\"FunctiongraphDestinationConfig\"\" pulumi-lang-go=\"\"functiongraphDestinationConfig\"\" pulumi-lang-python=\"\"functiongraph_destination_config\"\" pulumi-lang-yaml=\"\"functiongraphDestinationConfig\"\" pulumi-lang-java=\"\"functiongraphDestinationConfig\"\"\u003e\"functiongraph_destination_config\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`onSuccess`\" pulumi-lang-dotnet=\"`OnSuccess`\" pulumi-lang-go=\"`onSuccess`\" pulumi-lang-python=\"`on_success`\" pulumi-lang-yaml=\"`onSuccess`\" pulumi-lang-java=\"`onSuccess`\"\u003e`on_success`\u003c/span\u003e and the \u003cspan pulumi-lang-nodejs=\"`onFailure`\" pulumi-lang-dotnet=\"`OnFailure`\" pulumi-lang-go=\"`onFailure`\" pulumi-lang-python=\"`on_failure`\" pulumi-lang-yaml=\"`onFailure`\" pulumi-lang-java=\"`onFailure`\"\u003e`on_failure`\u003c/span\u003e blocks support:\n"},"onSuccess":{"$ref":"#/types/opentelekomcloud:index%2FFgsAsyncInvokeConfigV2OnSuccess:FgsAsyncInvokeConfigV2OnSuccess","description":"Specifies the target to be invoked when a function is successfully executed.\nThe object structure is documented below.\n"}},"requiredInputs":["functionUrn","maxAsyncEventAgeInSeconds","maxAsyncRetryAttempts"],"stateInputs":{"description":"Input properties used for looking up and filtering FgsAsyncInvokeConfigV2 resources.\n","properties":{"fgsAsyncInvokeConfigV2Id":{"type":"string","description":"Specifies a resource ID in UUID format.\n"},"functionUrn":{"type":"string","description":"Specifies the function URN to which the asynchronous invocation belongs.\nChanging this will create a new resource.\n"},"maxAsyncEventAgeInSeconds":{"type":"number","description":"Specifies the maximum validity period of a message.\n"},"maxAsyncRetryAttempts":{"type":"number","description":"Specifies the maximum number of retry attempts to be made if\nasynchronous invocation fails.\n"},"onFailure":{"$ref":"#/types/opentelekomcloud:index%2FFgsAsyncInvokeConfigV2OnFailure:FgsAsyncInvokeConfigV2OnFailure","description":"Specifies the target to be invoked when a function fails to be executed due to a\nsystem error or an internal error.\nThe object structure is documented below.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"functiongraphDestinationConfig\"\" pulumi-lang-dotnet=\"\"FunctiongraphDestinationConfig\"\" pulumi-lang-go=\"\"functiongraphDestinationConfig\"\" pulumi-lang-python=\"\"functiongraph_destination_config\"\" pulumi-lang-yaml=\"\"functiongraphDestinationConfig\"\" pulumi-lang-java=\"\"functiongraphDestinationConfig\"\"\u003e\"functiongraph_destination_config\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`onSuccess`\" pulumi-lang-dotnet=\"`OnSuccess`\" pulumi-lang-go=\"`onSuccess`\" pulumi-lang-python=\"`on_success`\" pulumi-lang-yaml=\"`onSuccess`\" pulumi-lang-java=\"`onSuccess`\"\u003e`on_success`\u003c/span\u003e and the \u003cspan pulumi-lang-nodejs=\"`onFailure`\" pulumi-lang-dotnet=\"`OnFailure`\" pulumi-lang-go=\"`onFailure`\" pulumi-lang-python=\"`on_failure`\" pulumi-lang-yaml=\"`onFailure`\" pulumi-lang-java=\"`onFailure`\"\u003e`on_failure`\u003c/span\u003e blocks support:\n"},"onSuccess":{"$ref":"#/types/opentelekomcloud:index%2FFgsAsyncInvokeConfigV2OnSuccess:FgsAsyncInvokeConfigV2OnSuccess","description":"Specifies the target to be invoked when a function is successfully executed.\nThe object structure is documented below.\n"},"region":{"type":"string","description":"Specifies the region in which the asynchronous invocation is configured.\n"}},"type":"object"}},"opentelekomcloud:index/fgsDependencyVersionV2:FgsDependencyVersionV2":{"description":"Manages a custom dependency version within OpenTelekomCloud.\n\n## Example Usage\n\n### Create a custom dependency version using an OBS bucket path where the ZIP file is located\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst dependencyName = config.requireObject\u003cany\u003e(\"dependencyName\");\nconst customDependencyLocation = config.requireObject\u003cany\u003e(\"customDependencyLocation\");\nconst test = new opentelekomcloud.FgsDependencyVersionV2(\"test\", {\n    name: dependencyName,\n    runtime: \"Python3.6\",\n    link: customDependencyLocation,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ndependency_name = config.require_object(\"dependencyName\")\ncustom_dependency_location = config.require_object(\"customDependencyLocation\")\ntest = opentelekomcloud.FgsDependencyVersionV2(\"test\",\n    name=dependency_name,\n    runtime=\"Python3.6\",\n    link=custom_dependency_location)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var dependencyName = config.RequireObject\u003cdynamic\u003e(\"dependencyName\");\n    var customDependencyLocation = config.RequireObject\u003cdynamic\u003e(\"customDependencyLocation\");\n    var test = new Opentelekomcloud.FgsDependencyVersionV2(\"test\", new()\n    {\n        Name = dependencyName,\n        Runtime = \"Python3.6\",\n        Link = customDependencyLocation,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tdependencyName := cfg.RequireObject(\"dependencyName\")\n\t\tcustomDependencyLocation := cfg.RequireObject(\"customDependencyLocation\")\n\t\t_, err := opentelekomcloud.NewFgsDependencyVersionV2(ctx, \"test\", \u0026opentelekomcloud.FgsDependencyVersionV2Args{\n\t\t\tName:    pulumi.Any(dependencyName),\n\t\t\tRuntime: pulumi.String(\"Python3.6\"),\n\t\t\tLink:    pulumi.Any(customDependencyLocation),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.FgsDependencyVersionV2;\nimport com.pulumi.opentelekomcloud.FgsDependencyVersionV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var dependencyName = config.get(\"dependencyName\");\n        final var customDependencyLocation = config.get(\"customDependencyLocation\");\n        var test = new FgsDependencyVersionV2(\"test\", FgsDependencyVersionV2Args.builder()\n            .name(dependencyName)\n            .runtime(\"Python3.6\")\n            .link(customDependencyLocation)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  dependencyName:\n    type: dynamic\n  customDependencyLocation:\n    type: dynamic\nresources:\n  test:\n    type: opentelekomcloud:FgsDependencyVersionV2\n    properties:\n      name: ${dependencyName}\n      runtime: Python3.6\n      link: ${customDependencyLocation}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDependency version can be imported using `name` and the `version` number, separated by a slash (/), e.g.\n\nbash\n\n```sh\n$ pulumi import opentelekomcloud:index/fgsDependencyVersionV2:FgsDependencyVersionV2 test \u003cname\u003e/\u003cversion\u003e\n```\n\nNote that the imported state may not be identical to your resource definition, due to some attributes missing from the\n\nAPI response, security or some other reason. The missing attributes include: `link`, `file`.\n\nIt is generally recommended running `pulumi preview` after importing a dependency package.\n\nYou can then decide if changes should be applied to the resource, or the resource definition should be updated to\n\nalign with the dependency package. Also you can ignore changes as below.\n\nhcl\n\nresource \"opentelekomcloud_fgs_dependency_version_v2\" \"test\" {\n\n  lifecycle {\n\n    ignore_changes = [\n\n      link,\n\n      file\n\n    ]\n\n  }\n\n}\n\n","properties":{"dependencyId":{"type":"string","description":"The ID of the dependency package corresponding to the version.\n"},"description":{"type":"string","description":"Specifies the description of the custom dependency version.\nThe description can contain a maximum of \u003cspan pulumi-lang-nodejs=\"`512`\" pulumi-lang-dotnet=\"`512`\" pulumi-lang-go=\"`512`\" pulumi-lang-python=\"`512`\" pulumi-lang-yaml=\"`512`\" pulumi-lang-java=\"`512`\"\u003e`512`\u003c/span\u003e characters.\nChanging this will create a new resource.\n"},"downloadLink":{"type":"string","description":"The temporary download link of a dependency file.\n"},"etag":{"type":"string","description":"The unique ID of the dependency.\n"},"fgsDependencyVersionV2Id":{"type":"string","description":"The resource ID, consists of dependency ID and version number, separated by a slash (/).\nThe format is `\u003cname\u003e/\u003cversion\u003e`.\n"},"file":{"type":"string","description":"Specifies the file contents in the file stream format and must be a ZIP file encoded using Base64.\nThe size of the ZIP file cannot exceed 40 MB. For a larger file, upload it through OBS.\nEither \u003cspan pulumi-lang-nodejs=\"`link`\" pulumi-lang-dotnet=\"`Link`\" pulumi-lang-go=\"`link`\" pulumi-lang-python=\"`link`\" pulumi-lang-yaml=\"`link`\" pulumi-lang-java=\"`link`\"\u003e`link`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`file`\" pulumi-lang-dotnet=\"`File`\" pulumi-lang-go=\"`file`\" pulumi-lang-python=\"`file`\" pulumi-lang-yaml=\"`file`\" pulumi-lang-java=\"`file`\"\u003e`file`\u003c/span\u003e must be specified.\n"},"fileName":{"type":"string","description":"The dependency file name.\n"},"link":{"type":"string","description":"Specifies the OBS bucket path where the dependency package is located.\nThe OBS object URL must be in ZIP format, such as\n`https://test-bucket.obs.eu-de.otc.t-systems.com/index.zip`.\nEither \u003cspan pulumi-lang-nodejs=\"`link`\" pulumi-lang-dotnet=\"`Link`\" pulumi-lang-go=\"`link`\" pulumi-lang-python=\"`link`\" pulumi-lang-yaml=\"`link`\" pulumi-lang-java=\"`link`\"\u003e`link`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`file`\" pulumi-lang-dotnet=\"`File`\" pulumi-lang-go=\"`file`\" pulumi-lang-python=\"`file`\" pulumi-lang-yaml=\"`file`\" pulumi-lang-java=\"`file`\"\u003e`file`\u003c/span\u003e must be specified.\nChanging this will create a new resource.\n\n\u003e A link can only be used to create at most one dependency package.\n"},"name":{"type":"string","description":"Specifies the name of the custom dependency package to which the version\nbelongs.\nThe name can contain a maximum of \u003cspan pulumi-lang-nodejs=\"`96`\" pulumi-lang-dotnet=\"`96`\" pulumi-lang-go=\"`96`\" pulumi-lang-python=\"`96`\" pulumi-lang-yaml=\"`96`\" pulumi-lang-java=\"`96`\"\u003e`96`\u003c/span\u003e characters and must start with a letter and end with a letter or digit.\nOnly letters, digits, underscores (_), periods (.), and hyphens (-) are allowed.\nChanging this will create a new resource.\n"},"owner":{"type":"string","description":"The dependency owner, **public** indicates a public dependency.\n"},"runtime":{"type":"string","description":"Specifies the runtime of the custom dependency version.\nThe valid values are as follows:\n+ **Java8**\n+ **Java11**\n+ **Node.js6.10**\n+ **Node.js8.10**\n+ **Node.js10.16**\n+ **Node.js12.13**\n+ **Node.js14.18**\n+ **Python2.7**\n+ **Python3.6**\n+ **Python3.9**\n+ **Go1.8**\n+ **Go1.x**\n+ **C#(.NET Core 2.0)**\n+ **C#(.NET Core 2.1)**\n+ **C#(.NET Core 3.1)**\n+ **Custom**\n+ **PHP 7.3**\n+ **http**\n\nChanging this will create a new resource.\n"},"size":{"type":"number","description":"The dependency size, in bytes.\n"},"version":{"type":"number","description":"The dependency package version.\n"}},"type":"object","required":["dependencyId","description","downloadLink","etag","fgsDependencyVersionV2Id","fileName","name","owner","runtime","size","version"],"inputProperties":{"description":{"type":"string","description":"Specifies the description of the custom dependency version.\nThe description can contain a maximum of \u003cspan pulumi-lang-nodejs=\"`512`\" pulumi-lang-dotnet=\"`512`\" pulumi-lang-go=\"`512`\" pulumi-lang-python=\"`512`\" pulumi-lang-yaml=\"`512`\" pulumi-lang-java=\"`512`\"\u003e`512`\u003c/span\u003e characters.\nChanging this will create a new resource.\n"},"fgsDependencyVersionV2Id":{"type":"string","description":"The resource ID, consists of dependency ID and version number, separated by a slash (/).\nThe format is `\u003cname\u003e/\u003cversion\u003e`.\n"},"file":{"type":"string","description":"Specifies the file contents in the file stream format and must be a ZIP file encoded using Base64.\nThe size of the ZIP file cannot exceed 40 MB. For a larger file, upload it through OBS.\nEither \u003cspan pulumi-lang-nodejs=\"`link`\" pulumi-lang-dotnet=\"`Link`\" pulumi-lang-go=\"`link`\" pulumi-lang-python=\"`link`\" pulumi-lang-yaml=\"`link`\" pulumi-lang-java=\"`link`\"\u003e`link`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`file`\" pulumi-lang-dotnet=\"`File`\" pulumi-lang-go=\"`file`\" pulumi-lang-python=\"`file`\" pulumi-lang-yaml=\"`file`\" pulumi-lang-java=\"`file`\"\u003e`file`\u003c/span\u003e must be specified.\n"},"link":{"type":"string","description":"Specifies the OBS bucket path where the dependency package is located.\nThe OBS object URL must be in ZIP format, such as\n`https://test-bucket.obs.eu-de.otc.t-systems.com/index.zip`.\nEither \u003cspan pulumi-lang-nodejs=\"`link`\" pulumi-lang-dotnet=\"`Link`\" pulumi-lang-go=\"`link`\" pulumi-lang-python=\"`link`\" pulumi-lang-yaml=\"`link`\" pulumi-lang-java=\"`link`\"\u003e`link`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`file`\" pulumi-lang-dotnet=\"`File`\" pulumi-lang-go=\"`file`\" pulumi-lang-python=\"`file`\" pulumi-lang-yaml=\"`file`\" pulumi-lang-java=\"`file`\"\u003e`file`\u003c/span\u003e must be specified.\nChanging this will create a new resource.\n\n\u003e A link can only be used to create at most one dependency package.\n"},"name":{"type":"string","description":"Specifies the name of the custom dependency package to which the version\nbelongs.\nThe name can contain a maximum of \u003cspan pulumi-lang-nodejs=\"`96`\" pulumi-lang-dotnet=\"`96`\" pulumi-lang-go=\"`96`\" pulumi-lang-python=\"`96`\" pulumi-lang-yaml=\"`96`\" pulumi-lang-java=\"`96`\"\u003e`96`\u003c/span\u003e characters and must start with a letter and end with a letter or digit.\nOnly letters, digits, underscores (_), periods (.), and hyphens (-) are allowed.\nChanging this will create a new resource.\n"},"runtime":{"type":"string","description":"Specifies the runtime of the custom dependency version.\nThe valid values are as follows:\n+ **Java8**\n+ **Java11**\n+ **Node.js6.10**\n+ **Node.js8.10**\n+ **Node.js10.16**\n+ **Node.js12.13**\n+ **Node.js14.18**\n+ **Python2.7**\n+ **Python3.6**\n+ **Python3.9**\n+ **Go1.8**\n+ **Go1.x**\n+ **C#(.NET Core 2.0)**\n+ **C#(.NET Core 2.1)**\n+ **C#(.NET Core 3.1)**\n+ **Custom**\n+ **PHP 7.3**\n+ **http**\n\nChanging this will create a new resource.\n"}},"requiredInputs":["runtime"],"stateInputs":{"description":"Input properties used for looking up and filtering FgsDependencyVersionV2 resources.\n","properties":{"dependencyId":{"type":"string","description":"The ID of the dependency package corresponding to the version.\n"},"description":{"type":"string","description":"Specifies the description of the custom dependency version.\nThe description can contain a maximum of \u003cspan pulumi-lang-nodejs=\"`512`\" pulumi-lang-dotnet=\"`512`\" pulumi-lang-go=\"`512`\" pulumi-lang-python=\"`512`\" pulumi-lang-yaml=\"`512`\" pulumi-lang-java=\"`512`\"\u003e`512`\u003c/span\u003e characters.\nChanging this will create a new resource.\n"},"downloadLink":{"type":"string","description":"The temporary download link of a dependency file.\n"},"etag":{"type":"string","description":"The unique ID of the dependency.\n"},"fgsDependencyVersionV2Id":{"type":"string","description":"The resource ID, consists of dependency ID and version number, separated by a slash (/).\nThe format is `\u003cname\u003e/\u003cversion\u003e`.\n"},"file":{"type":"string","description":"Specifies the file contents in the file stream format and must be a ZIP file encoded using Base64.\nThe size of the ZIP file cannot exceed 40 MB. For a larger file, upload it through OBS.\nEither \u003cspan pulumi-lang-nodejs=\"`link`\" pulumi-lang-dotnet=\"`Link`\" pulumi-lang-go=\"`link`\" pulumi-lang-python=\"`link`\" pulumi-lang-yaml=\"`link`\" pulumi-lang-java=\"`link`\"\u003e`link`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`file`\" pulumi-lang-dotnet=\"`File`\" pulumi-lang-go=\"`file`\" pulumi-lang-python=\"`file`\" pulumi-lang-yaml=\"`file`\" pulumi-lang-java=\"`file`\"\u003e`file`\u003c/span\u003e must be specified.\n"},"fileName":{"type":"string","description":"The dependency file name.\n"},"link":{"type":"string","description":"Specifies the OBS bucket path where the dependency package is located.\nThe OBS object URL must be in ZIP format, such as\n`https://test-bucket.obs.eu-de.otc.t-systems.com/index.zip`.\nEither \u003cspan pulumi-lang-nodejs=\"`link`\" pulumi-lang-dotnet=\"`Link`\" pulumi-lang-go=\"`link`\" pulumi-lang-python=\"`link`\" pulumi-lang-yaml=\"`link`\" pulumi-lang-java=\"`link`\"\u003e`link`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`file`\" pulumi-lang-dotnet=\"`File`\" pulumi-lang-go=\"`file`\" pulumi-lang-python=\"`file`\" pulumi-lang-yaml=\"`file`\" pulumi-lang-java=\"`file`\"\u003e`file`\u003c/span\u003e must be specified.\nChanging this will create a new resource.\n\n\u003e A link can only be used to create at most one dependency package.\n"},"name":{"type":"string","description":"Specifies the name of the custom dependency package to which the version\nbelongs.\nThe name can contain a maximum of \u003cspan pulumi-lang-nodejs=\"`96`\" pulumi-lang-dotnet=\"`96`\" pulumi-lang-go=\"`96`\" pulumi-lang-python=\"`96`\" pulumi-lang-yaml=\"`96`\" pulumi-lang-java=\"`96`\"\u003e`96`\u003c/span\u003e characters and must start with a letter and end with a letter or digit.\nOnly letters, digits, underscores (_), periods (.), and hyphens (-) are allowed.\nChanging this will create a new resource.\n"},"owner":{"type":"string","description":"The dependency owner, **public** indicates a public dependency.\n"},"runtime":{"type":"string","description":"Specifies the runtime of the custom dependency version.\nThe valid values are as follows:\n+ **Java8**\n+ **Java11**\n+ **Node.js6.10**\n+ **Node.js8.10**\n+ **Node.js10.16**\n+ **Node.js12.13**\n+ **Node.js14.18**\n+ **Python2.7**\n+ **Python3.6**\n+ **Python3.9**\n+ **Go1.8**\n+ **Go1.x**\n+ **C#(.NET Core 2.0)**\n+ **C#(.NET Core 2.1)**\n+ **C#(.NET Core 3.1)**\n+ **Custom**\n+ **PHP 7.3**\n+ **http**\n\nChanging this will create a new resource.\n"},"size":{"type":"number","description":"The dependency size, in bytes.\n"},"version":{"type":"number","description":"The dependency package version.\n"}},"type":"object"}},"opentelekomcloud:index/fgsEventV2:FgsEventV2":{"description":"Up-to-date reference of API arguments for FGS you can get at\n[documentation portal](https://docs.otc.t-systems.com/function-graph/api-ref/apis/index.html)\n\nManages an event for testing specified function within OpenTelekomCloud.\n\n## Example Usage\n\n## Import\n\nFunction event can be imported using the `function_urn` and `id`, separated by a slash, e.g.\n\nbash\n\n```sh\n$ pulumi import opentelekomcloud:index/fgsEventV2:FgsEventV2 test \u003cfunction_urn\u003e/\u003cid\u003e\n```\n\n","properties":{"content":{"type":"string","description":"Specifies the function event content.\nThe value is the base64 encoding of the JSON string.\n"},"fgsEventV2Id":{"type":"string","description":"The resource ID in UUID format.\n"},"functionUrn":{"type":"string","description":"Specifies the URN of the function to which the event belongs.\n"},"name":{"type":"string","description":"Specifies the function event name.\nThe name can contain a maximum of \u003cspan pulumi-lang-nodejs=\"`25`\" pulumi-lang-dotnet=\"`25`\" pulumi-lang-go=\"`25`\" pulumi-lang-python=\"`25`\" pulumi-lang-yaml=\"`25`\" pulumi-lang-java=\"`25`\"\u003e`25`\u003c/span\u003e, only letters, digits, underscores (_) and hyphens (-) are allowed.\n"},"region":{"type":"string","description":"The region in which function graph resource is created.\n"},"updatedAt":{"type":"number","description":"The latest update time of the function event.\n"}},"type":"object","required":["content","fgsEventV2Id","functionUrn","name","region","updatedAt"],"inputProperties":{"content":{"type":"string","description":"Specifies the function event content.\nThe value is the base64 encoding of the JSON string.\n"},"fgsEventV2Id":{"type":"string","description":"The resource ID in UUID format.\n"},"functionUrn":{"type":"string","description":"Specifies the URN of the function to which the event belongs.\n"},"name":{"type":"string","description":"Specifies the function event name.\nThe name can contain a maximum of \u003cspan pulumi-lang-nodejs=\"`25`\" pulumi-lang-dotnet=\"`25`\" pulumi-lang-go=\"`25`\" pulumi-lang-python=\"`25`\" pulumi-lang-yaml=\"`25`\" pulumi-lang-java=\"`25`\"\u003e`25`\u003c/span\u003e, only letters, digits, underscores (_) and hyphens (-) are allowed.\n"}},"requiredInputs":["content","functionUrn"],"stateInputs":{"description":"Input properties used for looking up and filtering FgsEventV2 resources.\n","properties":{"content":{"type":"string","description":"Specifies the function event content.\nThe value is the base64 encoding of the JSON string.\n"},"fgsEventV2Id":{"type":"string","description":"The resource ID in UUID format.\n"},"functionUrn":{"type":"string","description":"Specifies the URN of the function to which the event belongs.\n"},"name":{"type":"string","description":"Specifies the function event name.\nThe name can contain a maximum of \u003cspan pulumi-lang-nodejs=\"`25`\" pulumi-lang-dotnet=\"`25`\" pulumi-lang-go=\"`25`\" pulumi-lang-python=\"`25`\" pulumi-lang-yaml=\"`25`\" pulumi-lang-java=\"`25`\"\u003e`25`\u003c/span\u003e, only letters, digits, underscores (_) and hyphens (-) are allowed.\n"},"region":{"type":"string","description":"The region in which function graph resource is created.\n"},"updatedAt":{"type":"number","description":"The latest update time of the function event.\n"}},"type":"object"}},"opentelekomcloud:index/fgsFunctionV2:FgsFunctionV2":{"description":"Up-to-date reference of API arguments for FGS you can get at\n[documentation portal](https://docs.otc.t-systems.com/function-graph/api-ref/apis/index.html)\n\nManages a V2 function graph resource within OpenTelekomCloud.\n\n## Example Usage\n\n### With text code\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst functionName = config.requireObject\u003cany\u003e(\"functionName\");\nconst agencyName = config.requireObject\u003cany\u003e(\"agencyName\");\nconst test = new opentelekomcloud.FgsFunctionV2(\"test\", {\n    name: functionName,\n    app: \"default\",\n    agency: agencyName,\n    handler: \"test.handler\",\n    memorySize: 128,\n    timeout: 3,\n    runtime: \"Python2.7\",\n    codeType: \"inline\",\n    funcCode: `# -*- coding:utf-8 -*-\nimport json\ndef handler (event, context):\n    return {\n        \\\\\"statusCode\\\\\": 200,\n        \\\\\"isBase64Encoded\\\\\": False,\n        \\\\\"body\\\\\": json.dumps(event),\n        \\\\\"headers\\\\\": {\n            \\\\\"Content-Type\\\\\": \\\\\"application/json\\\\\"\n        }\n    }\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nfunction_name = config.require_object(\"functionName\")\nagency_name = config.require_object(\"agencyName\")\ntest = opentelekomcloud.FgsFunctionV2(\"test\",\n    name=function_name,\n    app=\"default\",\n    agency=agency_name,\n    handler=\"test.handler\",\n    memory_size=128,\n    timeout=3,\n    runtime=\"Python2.7\",\n    code_type=\"inline\",\n    func_code=\"\"\"# -*- coding:utf-8 -*-\nimport json\ndef handler (event, context):\n    return {\n        \\\"statusCode\\\": 200,\n        \\\"isBase64Encoded\\\": False,\n        \\\"body\\\": json.dumps(event),\n        \\\"headers\\\": {\n            \\\"Content-Type\\\": \\\"application/json\\\"\n        }\n    }\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var functionName = config.RequireObject\u003cdynamic\u003e(\"functionName\");\n    var agencyName = config.RequireObject\u003cdynamic\u003e(\"agencyName\");\n    var test = new Opentelekomcloud.FgsFunctionV2(\"test\", new()\n    {\n        Name = functionName,\n        App = \"default\",\n        Agency = agencyName,\n        Handler = \"test.handler\",\n        MemorySize = 128,\n        Timeout = 3,\n        Runtime = \"Python2.7\",\n        CodeType = \"inline\",\n        FuncCode = @\"# -*- coding:utf-8 -*-\nimport json\ndef handler (event, context):\n    return {\n        \\\"\"statusCode\\\"\": 200,\n        \\\"\"isBase64Encoded\\\"\": False,\n        \\\"\"body\\\"\": json.dumps(event),\n        \\\"\"headers\\\"\": {\n            \\\"\"Content-Type\\\"\": \\\"\"application/json\\\"\"\n        }\n    }\n\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tfunctionName := cfg.RequireObject(\"functionName\")\n\t\tagencyName := cfg.RequireObject(\"agencyName\")\n\t\t_, err := opentelekomcloud.NewFgsFunctionV2(ctx, \"test\", \u0026opentelekomcloud.FgsFunctionV2Args{\n\t\t\tName:       pulumi.Any(functionName),\n\t\t\tApp:        pulumi.String(\"default\"),\n\t\t\tAgency:     pulumi.Any(agencyName),\n\t\t\tHandler:    pulumi.String(\"test.handler\"),\n\t\t\tMemorySize: pulumi.Float64(128),\n\t\t\tTimeout:    pulumi.Float64(3),\n\t\t\tRuntime:    pulumi.String(\"Python2.7\"),\n\t\t\tCodeType:   pulumi.String(\"inline\"),\n\t\t\tFuncCode: pulumi.String(`# -*- coding:utf-8 -*-\nimport json\ndef handler (event, context):\n    return {\n        \\\"statusCode\\\": 200,\n        \\\"isBase64Encoded\\\": False,\n        \\\"body\\\": json.dumps(event),\n        \\\"headers\\\": {\n            \\\"Content-Type\\\": \\\"application/json\\\"\n        }\n    }\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.FgsFunctionV2;\nimport com.pulumi.opentelekomcloud.FgsFunctionV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var functionName = config.get(\"functionName\");\n        final var agencyName = config.get(\"agencyName\");\n        var test = new FgsFunctionV2(\"test\", FgsFunctionV2Args.builder()\n            .name(functionName)\n            .app(\"default\")\n            .agency(agencyName)\n            .handler(\"test.handler\")\n            .memorySize(128.0)\n            .timeout(3.0)\n            .runtime(\"Python2.7\")\n            .codeType(\"inline\")\n            .funcCode(\"\"\"\n# -*- coding:utf-8 -*-\nimport json\ndef handler (event, context):\n    return {\n        \\\"statusCode\\\": 200,\n        \\\"isBase64Encoded\\\": False,\n        \\\"body\\\": json.dumps(event),\n        \\\"headers\\\": {\n            \\\"Content-Type\\\": \\\"application/json\\\"\n        }\n    }\n            \"\"\")\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  functionName:\n    type: dynamic\n  agencyName:\n    type: dynamic\nresources:\n  test:\n    type: opentelekomcloud:FgsFunctionV2\n    properties:\n      name: ${functionName}\n      app: default\n      agency: ${agencyName}\n      handler: test.handler\n      memorySize: 128\n      timeout: 3\n      runtime: Python2.7\n      codeType: inline\n      funcCode: |\n        # -*- coding:utf-8 -*-\n        import json\n        def handler (event, context):\n            return {\n                \\\"statusCode\\\": 200,\n                \\\"isBase64Encoded\\\": False,\n                \\\"body\\\": json.dumps(event),\n                \\\"headers\\\": {\n                    \\\"Content-Type\\\": \\\"application/json\\\"\n                }\n            }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create function using SWR image\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst functionName = config.requireObject\u003cany\u003e(\"functionName\");\nconst agencyName = config.requireObject\u003cany\u003e(\"agencyName\");\nconst imageUrl = config.requireObject\u003cany\u003e(\"imageUrl\");\nconst bySwrImage = new opentelekomcloud.FgsFunctionV2(\"by_swr_image\", {\n    name: functionName,\n    agency: agencyName,\n    handler: \"-\",\n    app: \"default\",\n    runtime: \"Custom Image\",\n    memorySize: 128,\n    timeout: 3,\n    customImage: {\n        url: imageUrl,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nfunction_name = config.require_object(\"functionName\")\nagency_name = config.require_object(\"agencyName\")\nimage_url = config.require_object(\"imageUrl\")\nby_swr_image = opentelekomcloud.FgsFunctionV2(\"by_swr_image\",\n    name=function_name,\n    agency=agency_name,\n    handler=\"-\",\n    app=\"default\",\n    runtime=\"Custom Image\",\n    memory_size=128,\n    timeout=3,\n    custom_image={\n        \"url\": image_url,\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var functionName = config.RequireObject\u003cdynamic\u003e(\"functionName\");\n    var agencyName = config.RequireObject\u003cdynamic\u003e(\"agencyName\");\n    var imageUrl = config.RequireObject\u003cdynamic\u003e(\"imageUrl\");\n    var bySwrImage = new Opentelekomcloud.FgsFunctionV2(\"by_swr_image\", new()\n    {\n        Name = functionName,\n        Agency = agencyName,\n        Handler = \"-\",\n        App = \"default\",\n        Runtime = \"Custom Image\",\n        MemorySize = 128,\n        Timeout = 3,\n        CustomImage = new Opentelekomcloud.Inputs.FgsFunctionV2CustomImageArgs\n        {\n            Url = imageUrl,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tfunctionName := cfg.RequireObject(\"functionName\")\n\t\tagencyName := cfg.RequireObject(\"agencyName\")\n\t\timageUrl := cfg.RequireObject(\"imageUrl\")\n\t\t_, err := opentelekomcloud.NewFgsFunctionV2(ctx, \"by_swr_image\", \u0026opentelekomcloud.FgsFunctionV2Args{\n\t\t\tName:       pulumi.Any(functionName),\n\t\t\tAgency:     pulumi.Any(agencyName),\n\t\t\tHandler:    pulumi.String(\"-\"),\n\t\t\tApp:        pulumi.String(\"default\"),\n\t\t\tRuntime:    pulumi.String(\"Custom Image\"),\n\t\t\tMemorySize: pulumi.Float64(128),\n\t\t\tTimeout:    pulumi.Float64(3),\n\t\t\tCustomImage: \u0026opentelekomcloud.FgsFunctionV2CustomImageArgs{\n\t\t\t\tUrl: pulumi.Any(imageUrl),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.FgsFunctionV2;\nimport com.pulumi.opentelekomcloud.FgsFunctionV2Args;\nimport com.pulumi.opentelekomcloud.inputs.FgsFunctionV2CustomImageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var functionName = config.get(\"functionName\");\n        final var agencyName = config.get(\"agencyName\");\n        final var imageUrl = config.get(\"imageUrl\");\n        var bySwrImage = new FgsFunctionV2(\"bySwrImage\", FgsFunctionV2Args.builder()\n            .name(functionName)\n            .agency(agencyName)\n            .handler(\"-\")\n            .app(\"default\")\n            .runtime(\"Custom Image\")\n            .memorySize(128.0)\n            .timeout(3.0)\n            .customImage(FgsFunctionV2CustomImageArgs.builder()\n                .url(imageUrl)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  functionName:\n    type: dynamic\n  agencyName:\n    type: dynamic\n  # The agent name that authorizes FunctionGraph service SWR administrator privilege\n  imageUrl:\n    type: dynamic\nresources:\n  bySwrImage:\n    type: opentelekomcloud:FgsFunctionV2\n    name: by_swr_image\n    properties:\n      name: ${functionName}\n      agency: ${agencyName}\n      handler: '-'\n      app: default\n      runtime: Custom Image\n      memorySize: 128\n      timeout: 3\n      customImage:\n        url: ${imageUrl}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFunctions can be imported using the `id`, e.g.\n\nbash\n\n```sh\n$ pulumi import opentelekomcloud:index/fgsFunctionV2:FgsFunctionV2 test \u003cid\u003e\n```\n\nNote that the imported state may not be identical to your resource definition, due to the attribute missing from the\n\nAPI response. The missing attributes are:\n\n`app`, `func_code`, `agency`, `tags\"`.\n\nIt is generally recommended running `pulumi preview` after importing a function.\n\nYou can then decide if changes should be applied to the function, or the resource definition should be updated to align\n\nwith the function. Also you can ignore changes as below.\n\nhcl\n\nresource \"opentelekomcloud_fgs_function_v2\" \"test\" {\n\n  lifecycle {\n\n    ignore_changes = [\n\n      app, func_code, agency, tags,\n\n    ]\n\n  }\n\n}\n\n","properties":{"agency":{"type":"string","description":"Specifies the agency. This parameter is mandatory if the function needs to access other\ncloud services.\n"},"allowEphemeralStorage":{"type":"boolean","description":"Indicates whether ephemeral storage can be configured.\n"},"apigRouteEnable":{"type":"boolean","description":"Whether to configure gateway routing rules.\n"},"app":{"type":"string","description":"Specifies the group to which the function belongs.\n"},"appAgency":{"type":"string","description":"Specifies the execution agency enables you to obtain a token or an AK/SK for\naccessing other cloud services.\n"},"codeFilename":{"type":"string","description":"Specifies the name of a function file.\nRequired if the \u003cspan pulumi-lang-nodejs=\"`codeType`\" pulumi-lang-dotnet=\"`CodeType`\" pulumi-lang-go=\"`codeType`\" pulumi-lang-python=\"`code_type`\" pulumi-lang-yaml=\"`codeType`\" pulumi-lang-java=\"`codeType`\"\u003e`code_type`\u003c/span\u003e is set to **jar** or **zip**.\n"},"codeType":{"type":"string","description":"Specifies the function code type, which can be:\n+ **inline**: inline code.\n+ **zip**: ZIP file.\n+ **jar**: JAR file or java functions.\n+ **obs**: function code stored in an OBS bucket.\n+ **Custom-Image-Swr**: function code comes from the SWR custom image.\n"},"codeUrl":{"type":"string","description":"Specifies the code url.\nRequired if the \u003cspan pulumi-lang-nodejs=\"`codeType`\" pulumi-lang-dotnet=\"`CodeType`\" pulumi-lang-go=\"`codeType`\" pulumi-lang-python=\"`code_type`\" pulumi-lang-yaml=\"`codeType`\" pulumi-lang-java=\"`codeType`\"\u003e`code_type`\u003c/span\u003e is set to **obs**.\n"},"concurrencyNum":{"type":"number","description":"Specifies the number of concurrent requests of the function.\nThe valid value is range from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to `1,000`, the default value is \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n\n\u003e 1. This parameter is only supported by the \u003cspan pulumi-lang-nodejs=\"`v2`\" pulumi-lang-dotnet=\"`V2`\" pulumi-lang-go=\"`v2`\" pulumi-lang-python=\"`v2`\" pulumi-lang-yaml=\"`v2`\" pulumi-lang-java=\"`v2`\"\u003e`v2`\u003c/span\u003e version of the function.\n\u003cbr\u003e2. This parameter is available only when the \u003cspan pulumi-lang-nodejs=\"`runtime`\" pulumi-lang-dotnet=\"`Runtime`\" pulumi-lang-go=\"`runtime`\" pulumi-lang-python=\"`runtime`\" pulumi-lang-yaml=\"`runtime`\" pulumi-lang-java=\"`runtime`\"\u003e`runtime`\u003c/span\u003e parameter is set to **http** or **Custom Image**.\n"},"customImage":{"$ref":"#/types/opentelekomcloud:index%2FFgsFunctionV2CustomImage:FgsFunctionV2CustomImage","description":"Specifies the custom image configuration of the function.\nThe \u003cspan pulumi-lang-nodejs=\"`customImage`\" pulumi-lang-dotnet=\"`CustomImage`\" pulumi-lang-go=\"`customImage`\" pulumi-lang-python=\"`custom_image`\" pulumi-lang-yaml=\"`customImage`\" pulumi-lang-java=\"`customImage`\"\u003e`custom_image`\u003c/span\u003e structure is documented below.\nRequired if the parameter \u003cspan pulumi-lang-nodejs=\"`codeType`\" pulumi-lang-dotnet=\"`CodeType`\" pulumi-lang-go=\"`codeType`\" pulumi-lang-python=\"`code_type`\" pulumi-lang-yaml=\"`codeType`\" pulumi-lang-java=\"`codeType`\"\u003e`code_type`\u003c/span\u003e is **Custom-Image-Swr**.\n"},"dependLists":{"type":"array","items":{"type":"string"},"description":"Specifies the ID list of the dependencies.\n"},"description":{"type":"string","description":"Specifies the description of the function.\n"},"dnsList":{"type":"string","description":"Specifies the private DNS configuration of the function network.\nPrivate DNS list is associated to the function by a string in the following format:\n`[{\\\"id\\\":\\\"ff8080828a07ffea018a17184aa310f5\\\",\u003cspan pulumi-lang-nodejs=\"\"domainName\"\" pulumi-lang-dotnet=\"\"DomainName\"\" pulumi-lang-go=\"\"domainName\"\" pulumi-lang-python=\"\"domain_name\"\" pulumi-lang-yaml=\"\"domainName\"\" pulumi-lang-java=\"\"domainName\"\"\u003e\"domain_name\"\u003c/span\u003e:\"functiondebug.example1.com.\"}]`\n\n\u003e Ensure the agency with DNS management permissions specified before using this parameter.\n"},"enableAuthInHeader":{"type":"boolean","description":"Specifies whether the authentication in the request header is enabled.\nDefaults to **false**.\n"},"enableClassIsolation":{"type":"boolean","description":"Specifies whether to enable class isolation.\n"},"enableDynamicMemory":{"type":"boolean","description":"Specifies whether to enable dynamic memory allocation.\n"},"enableLtsLog":{"type":"boolean","description":"Specifies whether to enable the LTS logging feature.\nThe valid values are as follows:\n+ **null** or omit this parameter definition: Using the default value configured on the FunctionGraph service to\nconfigure the LTS logging feature.\n+ **true**: Explicitly enable the LTS logging feature.\n+ **false**: Explicitly disable the LTS logging feature.\n"},"encryptedUserData":{"type":"string","description":"Specifies the key/value information defined to be encrypted for the\nfunction.\n","secret":true},"enterpriseProjectId":{"type":"string","description":"Specifies the ID of the enterprise project to which the\nfunction belongs.\n"},"ephemeralStorage":{"type":"number","description":"Specifies the size of the function ephemeral storage.\nThe valid values are as follows:\n+ **512**\n+ **10240**\n\nDefaults to \u003cspan pulumi-lang-nodejs=\"`512`\" pulumi-lang-dotnet=\"`512`\" pulumi-lang-go=\"`512`\" pulumi-lang-python=\"`512`\" pulumi-lang-yaml=\"`512`\" pulumi-lang-java=\"`512`\"\u003e`512`\u003c/span\u003e. Only custom image or http runtime supported.\n"},"extendConfig":{"type":"string","description":"The extended configuration.\n"},"fgsFunctionV2Id":{"type":"string","description":"The resource ID, consist of \u003cspan pulumi-lang-nodejs=\"`urn`\" pulumi-lang-dotnet=\"`Urn`\" pulumi-lang-go=\"`urn`\" pulumi-lang-python=\"`urn`\" pulumi-lang-yaml=\"`urn`\" pulumi-lang-java=\"`urn`\"\u003e`urn`\u003c/span\u003e and current \u003cspan pulumi-lang-nodejs=\"`version`\" pulumi-lang-dotnet=\"`Version`\" pulumi-lang-go=\"`version`\" pulumi-lang-python=\"`version`\" pulumi-lang-yaml=\"`version`\" pulumi-lang-java=\"`version`\"\u003e`version`\u003c/span\u003e, the format is `\u003curn\u003e:\u003cversion\u003e`.\n"},"funcCode":{"type":"string","description":"Specifies the function code.\nThe code value can be encoded using **Base64** or just with the text code.\nRequired if the \u003cspan pulumi-lang-nodejs=\"`codeType`\" pulumi-lang-dotnet=\"`CodeType`\" pulumi-lang-go=\"`codeType`\" pulumi-lang-python=\"`code_type`\" pulumi-lang-yaml=\"`codeType`\" pulumi-lang-java=\"`codeType`\"\u003e`code_type`\u003c/span\u003e is set to **inline**, **zip**, or **jar**.\n"},"funcMounts":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FFgsFunctionV2FuncMount:FgsFunctionV2FuncMount"},"description":"Specifies the file system list. The \u003cspan pulumi-lang-nodejs=\"`funcMounts`\" pulumi-lang-dotnet=\"`FuncMounts`\" pulumi-lang-go=\"`funcMounts`\" pulumi-lang-python=\"`func_mounts`\" pulumi-lang-yaml=\"`funcMounts`\" pulumi-lang-java=\"`funcMounts`\"\u003e`func_mounts`\u003c/span\u003e object structure is documented\nbelow.\n"},"functiongraphVersion":{"type":"string","description":"Specifies the FunctionGraph version, default value is **v2**.\nThe valid values are as follows:\n+ **v1**\n+ **v2**\n"},"gpuMemory":{"type":"number","description":"Specifies the GPU memory size allocated to the function, in MByte (MB).\nThe valid value ranges form `1,024` to `16,384`, the value must be a multiple of `1,024`.\nIf not specified, the GPU function is disabled.\n"},"gpuType":{"type":"string"},"handler":{"type":"string","description":"Specifies the entry point of the function.\n"},"heartbeatHandler":{"type":"string","description":"Specifies the heartbeat handler of the function.\nThe rule is **xx.xx**, such as **com.huawei.demo.TriggerTests.heartBeat**, it must contain periods (.).\nThe heartbeat function entry must be in the same file as the function execution entry.\n"},"initializerHandler":{"type":"string","description":"Specifies the initializer of the function.\n"},"initializerTimeout":{"type":"number","description":"Specifies the maximum duration the function can be initialized. Value range:\n1s to 300s.\n"},"isStatefulFunction":{"type":"boolean","description":"Specifies whether the function is a stateful function.\nDefaults to **false**.\n"},"logGroupId":{"type":"string","description":"Specifies the ID of the LTS log group.\n"},"logGroupName":{"type":"string","description":"Specifies the name of the LTS log group.\n"},"logTopicId":{"type":"string","description":"Specifies the ID of the LTS log stream.\n"},"logTopicName":{"type":"string","description":"Specifies the name of the LTS stream.\n"},"ltsCustomTag":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the custom tags configuration that used to filter the LTS logs.\nThis parameter is available only when \u003cspan pulumi-lang-nodejs=\"`enableLtsLog`\" pulumi-lang-dotnet=\"`EnableLtsLog`\" pulumi-lang-go=\"`enableLtsLog`\" pulumi-lang-python=\"`enable_lts_log`\" pulumi-lang-yaml=\"`enableLtsLog`\" pulumi-lang-java=\"`enableLtsLog`\"\u003e`enable_lts_log`\u003c/span\u003e is set to **true**.\n\n\u003e This parameter is only supported by the \u003cspan pulumi-lang-nodejs=\"`v2`\" pulumi-lang-dotnet=\"`V2`\" pulumi-lang-go=\"`v2`\" pulumi-lang-python=\"`v2`\" pulumi-lang-yaml=\"`v2`\" pulumi-lang-java=\"`v2`\"\u003e`v2`\u003c/span\u003e version of the function.\n"},"maxInstanceNum":{"type":"string","description":"Specifies the maximum number of instances of the function.\nThe valid value ranges from `-1` to `1,000`, defaults to \u003cspan pulumi-lang-nodejs=\"`400`\" pulumi-lang-dotnet=\"`400`\" pulumi-lang-go=\"`400`\" pulumi-lang-python=\"`400`\" pulumi-lang-yaml=\"`400`\" pulumi-lang-java=\"`400`\"\u003e`400`\u003c/span\u003e.\n+ The minimum value is `-1` and means the number of instances is unlimited.\n"},"memorySize":{"type":"number","description":"Specifies the memory size allocated to the function, in MByte (MB).\n"},"mountUserGroupId":{"type":"number","description":"Specifies the user group ID, a non-0 integer from `–1` to `65,534`.\nDefaults to `-1`.\n"},"mountUserId":{"type":"number","description":"Specifies the user ID, a non-0 integer from `–1` to `65,534`.\nDefaults to `-1`.\n"},"name":{"type":"string","description":"Specifies the name of the function.\nChanging this will create a new resource.\n"},"networkController":{"$ref":"#/types/opentelekomcloud:index%2FFgsFunctionV2NetworkController:FgsFunctionV2NetworkController","description":"Specifies the network configuration of the function.\nThe\u003cspan pulumi-lang-nodejs=\" networkController \" pulumi-lang-dotnet=\" NetworkController \" pulumi-lang-go=\" networkController \" pulumi-lang-python=\" network_controller \" pulumi-lang-yaml=\" networkController \" pulumi-lang-java=\" networkController \"\u003e network_controller \u003c/span\u003estructure is documented below.\n"},"networkId":{"type":"string","description":"Specifies the network ID of subnet.\n"},"opentelekomcloudUrn":{"type":"string","description":"Uniform Resource Name.\n"},"peeringCidr":{"type":"string","description":"Specifies the VPC cidr blocks used in the function code to detect whether it\nconflicts with the VPC cidr blocks used by the service.\nThe cidr blocks are separated by semicolons and cannot exceed \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e.\n"},"preStopHandler":{"type":"string","description":"Specifies the pre-stop handler of a function. The value must contain a period (.)\nin the format of xx.xx. For example, for Node.js function myfunction.pre_stop_handler, the file name is myfunction.js,\nand the initialization function is pre_stop_handler.\n"},"preStopTimeout":{"type":"number","description":"Specifies the maximum duration the function can be initialized. Value range: 1s-90s.\n"},"region":{"type":"string","description":"The region in which function graph resource is created.\n"},"reservedInstances":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FFgsFunctionV2ReservedInstance:FgsFunctionV2ReservedInstance"},"description":"Specifies the reserved instance policies of the function.\nThe \u003cspan pulumi-lang-nodejs=\"`reservedInstances`\" pulumi-lang-dotnet=\"`ReservedInstances`\" pulumi-lang-go=\"`reservedInstances`\" pulumi-lang-python=\"`reserved_instances`\" pulumi-lang-yaml=\"`reservedInstances`\" pulumi-lang-java=\"`reservedInstances`\"\u003e`reserved_instances`\u003c/span\u003e structure is documented below.\n"},"restoreHookHandler":{"type":"string"},"restoreHookTimeout":{"type":"number"},"runtime":{"type":"string","description":"Specifies the environment for executing the function.\nThe valid values are as follows:\n+ **Java8**\n+ **Java11**\n+ **Node.js6.10**\n+ **Node.js8.10**\n+ **Node.js10.16**\n+ **Node.js12.13**\n+ **Node.js14.18**\n+ **Node.js16.17**\n+ **Node.js18.15**\n+ **Python2.7**\n+ **Python3.6**\n+ **Python3.9**\n+ **Python3.10**\n+ **Go1.x**\n+ **C#(.NET Core 2.1)**\n+ **C#(.NET Core 3.1)**\n+ **PHP7.3**\n+ **Custom**\n+ **http**\n+ **Custom Image**\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the key/value pairs to associate with the function.\n"},"timeout":{"type":"number","description":"Specifies the timeout interval of the function, in seconds.\nThe value ranges from \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`900`\" pulumi-lang-dotnet=\"`900`\" pulumi-lang-go=\"`900`\" pulumi-lang-python=\"`900`\" pulumi-lang-yaml=\"`900`\" pulumi-lang-java=\"`900`\"\u003e`900`\u003c/span\u003e.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FFgsFunctionV2Timeouts:FgsFunctionV2Timeouts"},"userData":{"type":"string","description":"Specifies the Key/Value information defined for the function.\n"},"version":{"type":"string","description":"The version of the function.\n"},"versions":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FFgsFunctionV2Version:FgsFunctionV2Version"},"description":"Specifies the versions management of the function.\nThe \u003cspan pulumi-lang-nodejs=\"`versions`\" pulumi-lang-dotnet=\"`Versions`\" pulumi-lang-go=\"`versions`\" pulumi-lang-python=\"`versions`\" pulumi-lang-yaml=\"`versions`\" pulumi-lang-java=\"`versions`\"\u003e`versions`\u003c/span\u003e structure is documented below.\n"},"vpcId":{"type":"string","description":"Specifies the ID of VPC.\n"}},"type":"object","required":["allowEphemeralStorage","apigRouteEnable","appAgency","codeFilename","codeType","concurrencyNum","dependLists","dnsList","enableAuthInHeader","enableLtsLog","enterpriseProjectId","ephemeralStorage","extendConfig","fgsFunctionV2Id","functiongraphVersion","gpuType","handler","heartbeatHandler","initializerHandler","initializerTimeout","isStatefulFunction","logGroupId","logGroupName","logTopicId","logTopicName","ltsCustomTag","maxInstanceNum","memorySize","mountUserGroupId","mountUserId","name","opentelekomcloudUrn","region","runtime","timeout","version"],"inputProperties":{"agency":{"type":"string","description":"Specifies the agency. This parameter is mandatory if the function needs to access other\ncloud services.\n"},"app":{"type":"string","description":"Specifies the group to which the function belongs.\n"},"appAgency":{"type":"string","description":"Specifies the execution agency enables you to obtain a token or an AK/SK for\naccessing other cloud services.\n"},"codeFilename":{"type":"string","description":"Specifies the name of a function file.\nRequired if the \u003cspan pulumi-lang-nodejs=\"`codeType`\" pulumi-lang-dotnet=\"`CodeType`\" pulumi-lang-go=\"`codeType`\" pulumi-lang-python=\"`code_type`\" pulumi-lang-yaml=\"`codeType`\" pulumi-lang-java=\"`codeType`\"\u003e`code_type`\u003c/span\u003e is set to **jar** or **zip**.\n"},"codeType":{"type":"string","description":"Specifies the function code type, which can be:\n+ **inline**: inline code.\n+ **zip**: ZIP file.\n+ **jar**: JAR file or java functions.\n+ **obs**: function code stored in an OBS bucket.\n+ **Custom-Image-Swr**: function code comes from the SWR custom image.\n"},"codeUrl":{"type":"string","description":"Specifies the code url.\nRequired if the \u003cspan pulumi-lang-nodejs=\"`codeType`\" pulumi-lang-dotnet=\"`CodeType`\" pulumi-lang-go=\"`codeType`\" pulumi-lang-python=\"`code_type`\" pulumi-lang-yaml=\"`codeType`\" pulumi-lang-java=\"`codeType`\"\u003e`code_type`\u003c/span\u003e is set to **obs**.\n"},"concurrencyNum":{"type":"number","description":"Specifies the number of concurrent requests of the function.\nThe valid value is range from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to `1,000`, the default value is \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n\n\u003e 1. This parameter is only supported by the \u003cspan pulumi-lang-nodejs=\"`v2`\" pulumi-lang-dotnet=\"`V2`\" pulumi-lang-go=\"`v2`\" pulumi-lang-python=\"`v2`\" pulumi-lang-yaml=\"`v2`\" pulumi-lang-java=\"`v2`\"\u003e`v2`\u003c/span\u003e version of the function.\n\u003cbr\u003e2. This parameter is available only when the \u003cspan pulumi-lang-nodejs=\"`runtime`\" pulumi-lang-dotnet=\"`Runtime`\" pulumi-lang-go=\"`runtime`\" pulumi-lang-python=\"`runtime`\" pulumi-lang-yaml=\"`runtime`\" pulumi-lang-java=\"`runtime`\"\u003e`runtime`\u003c/span\u003e parameter is set to **http** or **Custom Image**.\n"},"customImage":{"$ref":"#/types/opentelekomcloud:index%2FFgsFunctionV2CustomImage:FgsFunctionV2CustomImage","description":"Specifies the custom image configuration of the function.\nThe \u003cspan pulumi-lang-nodejs=\"`customImage`\" pulumi-lang-dotnet=\"`CustomImage`\" pulumi-lang-go=\"`customImage`\" pulumi-lang-python=\"`custom_image`\" pulumi-lang-yaml=\"`customImage`\" pulumi-lang-java=\"`customImage`\"\u003e`custom_image`\u003c/span\u003e structure is documented below.\nRequired if the parameter \u003cspan pulumi-lang-nodejs=\"`codeType`\" pulumi-lang-dotnet=\"`CodeType`\" pulumi-lang-go=\"`codeType`\" pulumi-lang-python=\"`code_type`\" pulumi-lang-yaml=\"`codeType`\" pulumi-lang-java=\"`codeType`\"\u003e`code_type`\u003c/span\u003e is **Custom-Image-Swr**.\n"},"dependLists":{"type":"array","items":{"type":"string"},"description":"Specifies the ID list of the dependencies.\n"},"description":{"type":"string","description":"Specifies the description of the function.\n"},"dnsList":{"type":"string","description":"Specifies the private DNS configuration of the function network.\nPrivate DNS list is associated to the function by a string in the following format:\n`[{\\\"id\\\":\\\"ff8080828a07ffea018a17184aa310f5\\\",\u003cspan pulumi-lang-nodejs=\"\"domainName\"\" pulumi-lang-dotnet=\"\"DomainName\"\" pulumi-lang-go=\"\"domainName\"\" pulumi-lang-python=\"\"domain_name\"\" pulumi-lang-yaml=\"\"domainName\"\" pulumi-lang-java=\"\"domainName\"\"\u003e\"domain_name\"\u003c/span\u003e:\"functiondebug.example1.com.\"}]`\n\n\u003e Ensure the agency with DNS management permissions specified before using this parameter.\n"},"enableAuthInHeader":{"type":"boolean","description":"Specifies whether the authentication in the request header is enabled.\nDefaults to **false**.\n"},"enableClassIsolation":{"type":"boolean","description":"Specifies whether to enable class isolation.\n"},"enableDynamicMemory":{"type":"boolean","description":"Specifies whether to enable dynamic memory allocation.\n"},"enableLtsLog":{"type":"boolean","description":"Specifies whether to enable the LTS logging feature.\nThe valid values are as follows:\n+ **null** or omit this parameter definition: Using the default value configured on the FunctionGraph service to\nconfigure the LTS logging feature.\n+ **true**: Explicitly enable the LTS logging feature.\n+ **false**: Explicitly disable the LTS logging feature.\n"},"encryptedUserData":{"type":"string","description":"Specifies the key/value information defined to be encrypted for the\nfunction.\n","secret":true},"enterpriseProjectId":{"type":"string","description":"Specifies the ID of the enterprise project to which the\nfunction belongs.\n"},"ephemeralStorage":{"type":"number","description":"Specifies the size of the function ephemeral storage.\nThe valid values are as follows:\n+ **512**\n+ **10240**\n\nDefaults to \u003cspan pulumi-lang-nodejs=\"`512`\" pulumi-lang-dotnet=\"`512`\" pulumi-lang-go=\"`512`\" pulumi-lang-python=\"`512`\" pulumi-lang-yaml=\"`512`\" pulumi-lang-java=\"`512`\"\u003e`512`\u003c/span\u003e. Only custom image or http runtime supported.\n"},"fgsFunctionV2Id":{"type":"string","description":"The resource ID, consist of \u003cspan pulumi-lang-nodejs=\"`urn`\" pulumi-lang-dotnet=\"`Urn`\" pulumi-lang-go=\"`urn`\" pulumi-lang-python=\"`urn`\" pulumi-lang-yaml=\"`urn`\" pulumi-lang-java=\"`urn`\"\u003e`urn`\u003c/span\u003e and current \u003cspan pulumi-lang-nodejs=\"`version`\" pulumi-lang-dotnet=\"`Version`\" pulumi-lang-go=\"`version`\" pulumi-lang-python=\"`version`\" pulumi-lang-yaml=\"`version`\" pulumi-lang-java=\"`version`\"\u003e`version`\u003c/span\u003e, the format is `\u003curn\u003e:\u003cversion\u003e`.\n"},"funcCode":{"type":"string","description":"Specifies the function code.\nThe code value can be encoded using **Base64** or just with the text code.\nRequired if the \u003cspan pulumi-lang-nodejs=\"`codeType`\" pulumi-lang-dotnet=\"`CodeType`\" pulumi-lang-go=\"`codeType`\" pulumi-lang-python=\"`code_type`\" pulumi-lang-yaml=\"`codeType`\" pulumi-lang-java=\"`codeType`\"\u003e`code_type`\u003c/span\u003e is set to **inline**, **zip**, or **jar**.\n"},"funcMounts":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FFgsFunctionV2FuncMount:FgsFunctionV2FuncMount"},"description":"Specifies the file system list. The \u003cspan pulumi-lang-nodejs=\"`funcMounts`\" pulumi-lang-dotnet=\"`FuncMounts`\" pulumi-lang-go=\"`funcMounts`\" pulumi-lang-python=\"`func_mounts`\" pulumi-lang-yaml=\"`funcMounts`\" pulumi-lang-java=\"`funcMounts`\"\u003e`func_mounts`\u003c/span\u003e object structure is documented\nbelow.\n"},"functiongraphVersion":{"type":"string","description":"Specifies the FunctionGraph version, default value is **v2**.\nThe valid values are as follows:\n+ **v1**\n+ **v2**\n"},"gpuMemory":{"type":"number","description":"Specifies the GPU memory size allocated to the function, in MByte (MB).\nThe valid value ranges form `1,024` to `16,384`, the value must be a multiple of `1,024`.\nIf not specified, the GPU function is disabled.\n"},"handler":{"type":"string","description":"Specifies the entry point of the function.\n"},"heartbeatHandler":{"type":"string","description":"Specifies the heartbeat handler of the function.\nThe rule is **xx.xx**, such as **com.huawei.demo.TriggerTests.heartBeat**, it must contain periods (.).\nThe heartbeat function entry must be in the same file as the function execution entry.\n"},"initializerHandler":{"type":"string","description":"Specifies the initializer of the function.\n"},"initializerTimeout":{"type":"number","description":"Specifies the maximum duration the function can be initialized. Value range:\n1s to 300s.\n"},"logGroupId":{"type":"string","description":"Specifies the ID of the LTS log group.\n"},"logGroupName":{"type":"string","description":"Specifies the name of the LTS log group.\n"},"logTopicId":{"type":"string","description":"Specifies the ID of the LTS log stream.\n"},"logTopicName":{"type":"string","description":"Specifies the name of the LTS stream.\n"},"ltsCustomTag":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the custom tags configuration that used to filter the LTS logs.\nThis parameter is available only when \u003cspan pulumi-lang-nodejs=\"`enableLtsLog`\" pulumi-lang-dotnet=\"`EnableLtsLog`\" pulumi-lang-go=\"`enableLtsLog`\" pulumi-lang-python=\"`enable_lts_log`\" pulumi-lang-yaml=\"`enableLtsLog`\" pulumi-lang-java=\"`enableLtsLog`\"\u003e`enable_lts_log`\u003c/span\u003e is set to **true**.\n\n\u003e This parameter is only supported by the \u003cspan pulumi-lang-nodejs=\"`v2`\" pulumi-lang-dotnet=\"`V2`\" pulumi-lang-go=\"`v2`\" pulumi-lang-python=\"`v2`\" pulumi-lang-yaml=\"`v2`\" pulumi-lang-java=\"`v2`\"\u003e`v2`\u003c/span\u003e version of the function.\n"},"maxInstanceNum":{"type":"string","description":"Specifies the maximum number of instances of the function.\nThe valid value ranges from `-1` to `1,000`, defaults to \u003cspan pulumi-lang-nodejs=\"`400`\" pulumi-lang-dotnet=\"`400`\" pulumi-lang-go=\"`400`\" pulumi-lang-python=\"`400`\" pulumi-lang-yaml=\"`400`\" pulumi-lang-java=\"`400`\"\u003e`400`\u003c/span\u003e.\n+ The minimum value is `-1` and means the number of instances is unlimited.\n"},"memorySize":{"type":"number","description":"Specifies the memory size allocated to the function, in MByte (MB).\n"},"mountUserGroupId":{"type":"number","description":"Specifies the user group ID, a non-0 integer from `–1` to `65,534`.\nDefaults to `-1`.\n"},"mountUserId":{"type":"number","description":"Specifies the user ID, a non-0 integer from `–1` to `65,534`.\nDefaults to `-1`.\n"},"name":{"type":"string","description":"Specifies the name of the function.\nChanging this will create a new resource.\n"},"networkController":{"$ref":"#/types/opentelekomcloud:index%2FFgsFunctionV2NetworkController:FgsFunctionV2NetworkController","description":"Specifies the network configuration of the function.\nThe\u003cspan pulumi-lang-nodejs=\" networkController \" pulumi-lang-dotnet=\" NetworkController \" pulumi-lang-go=\" networkController \" pulumi-lang-python=\" network_controller \" pulumi-lang-yaml=\" networkController \" pulumi-lang-java=\" networkController \"\u003e network_controller \u003c/span\u003estructure is documented below.\n"},"networkId":{"type":"string","description":"Specifies the network ID of subnet.\n"},"peeringCidr":{"type":"string","description":"Specifies the VPC cidr blocks used in the function code to detect whether it\nconflicts with the VPC cidr blocks used by the service.\nThe cidr blocks are separated by semicolons and cannot exceed \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e.\n"},"preStopHandler":{"type":"string","description":"Specifies the pre-stop handler of a function. The value must contain a period (.)\nin the format of xx.xx. For example, for Node.js function myfunction.pre_stop_handler, the file name is myfunction.js,\nand the initialization function is pre_stop_handler.\n"},"preStopTimeout":{"type":"number","description":"Specifies the maximum duration the function can be initialized. Value range: 1s-90s.\n"},"reservedInstances":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FFgsFunctionV2ReservedInstance:FgsFunctionV2ReservedInstance"},"description":"Specifies the reserved instance policies of the function.\nThe \u003cspan pulumi-lang-nodejs=\"`reservedInstances`\" pulumi-lang-dotnet=\"`ReservedInstances`\" pulumi-lang-go=\"`reservedInstances`\" pulumi-lang-python=\"`reserved_instances`\" pulumi-lang-yaml=\"`reservedInstances`\" pulumi-lang-java=\"`reservedInstances`\"\u003e`reserved_instances`\u003c/span\u003e structure is documented below.\n"},"restoreHookHandler":{"type":"string"},"restoreHookTimeout":{"type":"number"},"runtime":{"type":"string","description":"Specifies the environment for executing the function.\nThe valid values are as follows:\n+ **Java8**\n+ **Java11**\n+ **Node.js6.10**\n+ **Node.js8.10**\n+ **Node.js10.16**\n+ **Node.js12.13**\n+ **Node.js14.18**\n+ **Node.js16.17**\n+ **Node.js18.15**\n+ **Python2.7**\n+ **Python3.6**\n+ **Python3.9**\n+ **Python3.10**\n+ **Go1.x**\n+ **C#(.NET Core 2.1)**\n+ **C#(.NET Core 3.1)**\n+ **PHP7.3**\n+ **Custom**\n+ **http**\n+ **Custom Image**\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the key/value pairs to associate with the function.\n"},"timeout":{"type":"number","description":"Specifies the timeout interval of the function, in seconds.\nThe value ranges from \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`900`\" pulumi-lang-dotnet=\"`900`\" pulumi-lang-go=\"`900`\" pulumi-lang-python=\"`900`\" pulumi-lang-yaml=\"`900`\" pulumi-lang-java=\"`900`\"\u003e`900`\u003c/span\u003e.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FFgsFunctionV2Timeouts:FgsFunctionV2Timeouts"},"userData":{"type":"string","description":"Specifies the Key/Value information defined for the function.\n"},"versions":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FFgsFunctionV2Version:FgsFunctionV2Version"},"description":"Specifies the versions management of the function.\nThe \u003cspan pulumi-lang-nodejs=\"`versions`\" pulumi-lang-dotnet=\"`Versions`\" pulumi-lang-go=\"`versions`\" pulumi-lang-python=\"`versions`\" pulumi-lang-yaml=\"`versions`\" pulumi-lang-java=\"`versions`\"\u003e`versions`\u003c/span\u003e structure is documented below.\n"},"vpcId":{"type":"string","description":"Specifies the ID of VPC.\n"}},"requiredInputs":["memorySize","runtime","timeout"],"stateInputs":{"description":"Input properties used for looking up and filtering FgsFunctionV2 resources.\n","properties":{"agency":{"type":"string","description":"Specifies the agency. This parameter is mandatory if the function needs to access other\ncloud services.\n"},"allowEphemeralStorage":{"type":"boolean","description":"Indicates whether ephemeral storage can be configured.\n"},"apigRouteEnable":{"type":"boolean","description":"Whether to configure gateway routing rules.\n"},"app":{"type":"string","description":"Specifies the group to which the function belongs.\n"},"appAgency":{"type":"string","description":"Specifies the execution agency enables you to obtain a token or an AK/SK for\naccessing other cloud services.\n"},"codeFilename":{"type":"string","description":"Specifies the name of a function file.\nRequired if the \u003cspan pulumi-lang-nodejs=\"`codeType`\" pulumi-lang-dotnet=\"`CodeType`\" pulumi-lang-go=\"`codeType`\" pulumi-lang-python=\"`code_type`\" pulumi-lang-yaml=\"`codeType`\" pulumi-lang-java=\"`codeType`\"\u003e`code_type`\u003c/span\u003e is set to **jar** or **zip**.\n"},"codeType":{"type":"string","description":"Specifies the function code type, which can be:\n+ **inline**: inline code.\n+ **zip**: ZIP file.\n+ **jar**: JAR file or java functions.\n+ **obs**: function code stored in an OBS bucket.\n+ **Custom-Image-Swr**: function code comes from the SWR custom image.\n"},"codeUrl":{"type":"string","description":"Specifies the code url.\nRequired if the \u003cspan pulumi-lang-nodejs=\"`codeType`\" pulumi-lang-dotnet=\"`CodeType`\" pulumi-lang-go=\"`codeType`\" pulumi-lang-python=\"`code_type`\" pulumi-lang-yaml=\"`codeType`\" pulumi-lang-java=\"`codeType`\"\u003e`code_type`\u003c/span\u003e is set to **obs**.\n"},"concurrencyNum":{"type":"number","description":"Specifies the number of concurrent requests of the function.\nThe valid value is range from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to `1,000`, the default value is \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n\n\u003e 1. This parameter is only supported by the \u003cspan pulumi-lang-nodejs=\"`v2`\" pulumi-lang-dotnet=\"`V2`\" pulumi-lang-go=\"`v2`\" pulumi-lang-python=\"`v2`\" pulumi-lang-yaml=\"`v2`\" pulumi-lang-java=\"`v2`\"\u003e`v2`\u003c/span\u003e version of the function.\n\u003cbr\u003e2. This parameter is available only when the \u003cspan pulumi-lang-nodejs=\"`runtime`\" pulumi-lang-dotnet=\"`Runtime`\" pulumi-lang-go=\"`runtime`\" pulumi-lang-python=\"`runtime`\" pulumi-lang-yaml=\"`runtime`\" pulumi-lang-java=\"`runtime`\"\u003e`runtime`\u003c/span\u003e parameter is set to **http** or **Custom Image**.\n"},"customImage":{"$ref":"#/types/opentelekomcloud:index%2FFgsFunctionV2CustomImage:FgsFunctionV2CustomImage","description":"Specifies the custom image configuration of the function.\nThe \u003cspan pulumi-lang-nodejs=\"`customImage`\" pulumi-lang-dotnet=\"`CustomImage`\" pulumi-lang-go=\"`customImage`\" pulumi-lang-python=\"`custom_image`\" pulumi-lang-yaml=\"`customImage`\" pulumi-lang-java=\"`customImage`\"\u003e`custom_image`\u003c/span\u003e structure is documented below.\nRequired if the parameter \u003cspan pulumi-lang-nodejs=\"`codeType`\" pulumi-lang-dotnet=\"`CodeType`\" pulumi-lang-go=\"`codeType`\" pulumi-lang-python=\"`code_type`\" pulumi-lang-yaml=\"`codeType`\" pulumi-lang-java=\"`codeType`\"\u003e`code_type`\u003c/span\u003e is **Custom-Image-Swr**.\n"},"dependLists":{"type":"array","items":{"type":"string"},"description":"Specifies the ID list of the dependencies.\n"},"description":{"type":"string","description":"Specifies the description of the function.\n"},"dnsList":{"type":"string","description":"Specifies the private DNS configuration of the function network.\nPrivate DNS list is associated to the function by a string in the following format:\n`[{\\\"id\\\":\\\"ff8080828a07ffea018a17184aa310f5\\\",\u003cspan pulumi-lang-nodejs=\"\"domainName\"\" pulumi-lang-dotnet=\"\"DomainName\"\" pulumi-lang-go=\"\"domainName\"\" pulumi-lang-python=\"\"domain_name\"\" pulumi-lang-yaml=\"\"domainName\"\" pulumi-lang-java=\"\"domainName\"\"\u003e\"domain_name\"\u003c/span\u003e:\"functiondebug.example1.com.\"}]`\n\n\u003e Ensure the agency with DNS management permissions specified before using this parameter.\n"},"enableAuthInHeader":{"type":"boolean","description":"Specifies whether the authentication in the request header is enabled.\nDefaults to **false**.\n"},"enableClassIsolation":{"type":"boolean","description":"Specifies whether to enable class isolation.\n"},"enableDynamicMemory":{"type":"boolean","description":"Specifies whether to enable dynamic memory allocation.\n"},"enableLtsLog":{"type":"boolean","description":"Specifies whether to enable the LTS logging feature.\nThe valid values are as follows:\n+ **null** or omit this parameter definition: Using the default value configured on the FunctionGraph service to\nconfigure the LTS logging feature.\n+ **true**: Explicitly enable the LTS logging feature.\n+ **false**: Explicitly disable the LTS logging feature.\n"},"encryptedUserData":{"type":"string","description":"Specifies the key/value information defined to be encrypted for the\nfunction.\n","secret":true},"enterpriseProjectId":{"type":"string","description":"Specifies the ID of the enterprise project to which the\nfunction belongs.\n"},"ephemeralStorage":{"type":"number","description":"Specifies the size of the function ephemeral storage.\nThe valid values are as follows:\n+ **512**\n+ **10240**\n\nDefaults to \u003cspan pulumi-lang-nodejs=\"`512`\" pulumi-lang-dotnet=\"`512`\" pulumi-lang-go=\"`512`\" pulumi-lang-python=\"`512`\" pulumi-lang-yaml=\"`512`\" pulumi-lang-java=\"`512`\"\u003e`512`\u003c/span\u003e. Only custom image or http runtime supported.\n"},"extendConfig":{"type":"string","description":"The extended configuration.\n"},"fgsFunctionV2Id":{"type":"string","description":"The resource ID, consist of \u003cspan pulumi-lang-nodejs=\"`urn`\" pulumi-lang-dotnet=\"`Urn`\" pulumi-lang-go=\"`urn`\" pulumi-lang-python=\"`urn`\" pulumi-lang-yaml=\"`urn`\" pulumi-lang-java=\"`urn`\"\u003e`urn`\u003c/span\u003e and current \u003cspan pulumi-lang-nodejs=\"`version`\" pulumi-lang-dotnet=\"`Version`\" pulumi-lang-go=\"`version`\" pulumi-lang-python=\"`version`\" pulumi-lang-yaml=\"`version`\" pulumi-lang-java=\"`version`\"\u003e`version`\u003c/span\u003e, the format is `\u003curn\u003e:\u003cversion\u003e`.\n"},"funcCode":{"type":"string","description":"Specifies the function code.\nThe code value can be encoded using **Base64** or just with the text code.\nRequired if the \u003cspan pulumi-lang-nodejs=\"`codeType`\" pulumi-lang-dotnet=\"`CodeType`\" pulumi-lang-go=\"`codeType`\" pulumi-lang-python=\"`code_type`\" pulumi-lang-yaml=\"`codeType`\" pulumi-lang-java=\"`codeType`\"\u003e`code_type`\u003c/span\u003e is set to **inline**, **zip**, or **jar**.\n"},"funcMounts":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FFgsFunctionV2FuncMount:FgsFunctionV2FuncMount"},"description":"Specifies the file system list. The \u003cspan pulumi-lang-nodejs=\"`funcMounts`\" pulumi-lang-dotnet=\"`FuncMounts`\" pulumi-lang-go=\"`funcMounts`\" pulumi-lang-python=\"`func_mounts`\" pulumi-lang-yaml=\"`funcMounts`\" pulumi-lang-java=\"`funcMounts`\"\u003e`func_mounts`\u003c/span\u003e object structure is documented\nbelow.\n"},"functiongraphVersion":{"type":"string","description":"Specifies the FunctionGraph version, default value is **v2**.\nThe valid values are as follows:\n+ **v1**\n+ **v2**\n"},"gpuMemory":{"type":"number","description":"Specifies the GPU memory size allocated to the function, in MByte (MB).\nThe valid value ranges form `1,024` to `16,384`, the value must be a multiple of `1,024`.\nIf not specified, the GPU function is disabled.\n"},"gpuType":{"type":"string"},"handler":{"type":"string","description":"Specifies the entry point of the function.\n"},"heartbeatHandler":{"type":"string","description":"Specifies the heartbeat handler of the function.\nThe rule is **xx.xx**, such as **com.huawei.demo.TriggerTests.heartBeat**, it must contain periods (.).\nThe heartbeat function entry must be in the same file as the function execution entry.\n"},"initializerHandler":{"type":"string","description":"Specifies the initializer of the function.\n"},"initializerTimeout":{"type":"number","description":"Specifies the maximum duration the function can be initialized. Value range:\n1s to 300s.\n"},"isStatefulFunction":{"type":"boolean","description":"Specifies whether the function is a stateful function.\nDefaults to **false**.\n"},"logGroupId":{"type":"string","description":"Specifies the ID of the LTS log group.\n"},"logGroupName":{"type":"string","description":"Specifies the name of the LTS log group.\n"},"logTopicId":{"type":"string","description":"Specifies the ID of the LTS log stream.\n"},"logTopicName":{"type":"string","description":"Specifies the name of the LTS stream.\n"},"ltsCustomTag":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the custom tags configuration that used to filter the LTS logs.\nThis parameter is available only when \u003cspan pulumi-lang-nodejs=\"`enableLtsLog`\" pulumi-lang-dotnet=\"`EnableLtsLog`\" pulumi-lang-go=\"`enableLtsLog`\" pulumi-lang-python=\"`enable_lts_log`\" pulumi-lang-yaml=\"`enableLtsLog`\" pulumi-lang-java=\"`enableLtsLog`\"\u003e`enable_lts_log`\u003c/span\u003e is set to **true**.\n\n\u003e This parameter is only supported by the \u003cspan pulumi-lang-nodejs=\"`v2`\" pulumi-lang-dotnet=\"`V2`\" pulumi-lang-go=\"`v2`\" pulumi-lang-python=\"`v2`\" pulumi-lang-yaml=\"`v2`\" pulumi-lang-java=\"`v2`\"\u003e`v2`\u003c/span\u003e version of the function.\n"},"maxInstanceNum":{"type":"string","description":"Specifies the maximum number of instances of the function.\nThe valid value ranges from `-1` to `1,000`, defaults to \u003cspan pulumi-lang-nodejs=\"`400`\" pulumi-lang-dotnet=\"`400`\" pulumi-lang-go=\"`400`\" pulumi-lang-python=\"`400`\" pulumi-lang-yaml=\"`400`\" pulumi-lang-java=\"`400`\"\u003e`400`\u003c/span\u003e.\n+ The minimum value is `-1` and means the number of instances is unlimited.\n"},"memorySize":{"type":"number","description":"Specifies the memory size allocated to the function, in MByte (MB).\n"},"mountUserGroupId":{"type":"number","description":"Specifies the user group ID, a non-0 integer from `–1` to `65,534`.\nDefaults to `-1`.\n"},"mountUserId":{"type":"number","description":"Specifies the user ID, a non-0 integer from `–1` to `65,534`.\nDefaults to `-1`.\n"},"name":{"type":"string","description":"Specifies the name of the function.\nChanging this will create a new resource.\n"},"networkController":{"$ref":"#/types/opentelekomcloud:index%2FFgsFunctionV2NetworkController:FgsFunctionV2NetworkController","description":"Specifies the network configuration of the function.\nThe\u003cspan pulumi-lang-nodejs=\" networkController \" pulumi-lang-dotnet=\" NetworkController \" pulumi-lang-go=\" networkController \" pulumi-lang-python=\" network_controller \" pulumi-lang-yaml=\" networkController \" pulumi-lang-java=\" networkController \"\u003e network_controller \u003c/span\u003estructure is documented below.\n"},"networkId":{"type":"string","description":"Specifies the network ID of subnet.\n"},"opentelekomcloudUrn":{"type":"string","description":"Uniform Resource Name.\n"},"peeringCidr":{"type":"string","description":"Specifies the VPC cidr blocks used in the function code to detect whether it\nconflicts with the VPC cidr blocks used by the service.\nThe cidr blocks are separated by semicolons and cannot exceed \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e.\n"},"preStopHandler":{"type":"string","description":"Specifies the pre-stop handler of a function. The value must contain a period (.)\nin the format of xx.xx. For example, for Node.js function myfunction.pre_stop_handler, the file name is myfunction.js,\nand the initialization function is pre_stop_handler.\n"},"preStopTimeout":{"type":"number","description":"Specifies the maximum duration the function can be initialized. Value range: 1s-90s.\n"},"region":{"type":"string","description":"The region in which function graph resource is created.\n"},"reservedInstances":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FFgsFunctionV2ReservedInstance:FgsFunctionV2ReservedInstance"},"description":"Specifies the reserved instance policies of the function.\nThe \u003cspan pulumi-lang-nodejs=\"`reservedInstances`\" pulumi-lang-dotnet=\"`ReservedInstances`\" pulumi-lang-go=\"`reservedInstances`\" pulumi-lang-python=\"`reserved_instances`\" pulumi-lang-yaml=\"`reservedInstances`\" pulumi-lang-java=\"`reservedInstances`\"\u003e`reserved_instances`\u003c/span\u003e structure is documented below.\n"},"restoreHookHandler":{"type":"string"},"restoreHookTimeout":{"type":"number"},"runtime":{"type":"string","description":"Specifies the environment for executing the function.\nThe valid values are as follows:\n+ **Java8**\n+ **Java11**\n+ **Node.js6.10**\n+ **Node.js8.10**\n+ **Node.js10.16**\n+ **Node.js12.13**\n+ **Node.js14.18**\n+ **Node.js16.17**\n+ **Node.js18.15**\n+ **Python2.7**\n+ **Python3.6**\n+ **Python3.9**\n+ **Python3.10**\n+ **Go1.x**\n+ **C#(.NET Core 2.1)**\n+ **C#(.NET Core 3.1)**\n+ **PHP7.3**\n+ **Custom**\n+ **http**\n+ **Custom Image**\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the key/value pairs to associate with the function.\n"},"timeout":{"type":"number","description":"Specifies the timeout interval of the function, in seconds.\nThe value ranges from \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`900`\" pulumi-lang-dotnet=\"`900`\" pulumi-lang-go=\"`900`\" pulumi-lang-python=\"`900`\" pulumi-lang-yaml=\"`900`\" pulumi-lang-java=\"`900`\"\u003e`900`\u003c/span\u003e.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FFgsFunctionV2Timeouts:FgsFunctionV2Timeouts"},"userData":{"type":"string","description":"Specifies the Key/Value information defined for the function.\n"},"version":{"type":"string","description":"The version of the function.\n"},"versions":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FFgsFunctionV2Version:FgsFunctionV2Version"},"description":"Specifies the versions management of the function.\nThe \u003cspan pulumi-lang-nodejs=\"`versions`\" pulumi-lang-dotnet=\"`Versions`\" pulumi-lang-go=\"`versions`\" pulumi-lang-python=\"`versions`\" pulumi-lang-yaml=\"`versions`\" pulumi-lang-java=\"`versions`\"\u003e`versions`\u003c/span\u003e structure is documented below.\n"},"vpcId":{"type":"string","description":"Specifies the ID of VPC.\n"}},"type":"object"}},"opentelekomcloud:index/fgsTriggerV2:FgsTriggerV2":{"description":"Up-to-date reference of API arguments for FGS you can get at\n[documentation portal](https://docs.otc.t-systems.com/function-graph/api-ref/apis/index.html)\n\nManages a V2 function graph trigger resource within OpenTelekomCloud.\n\n## Example Usage\n\n## Import\n\nFunction trigger can be imported using the `function_urn`, `type` and `id`, separated by the slashes (/), e.g.\n\nbash\n\n```sh\n$ pulumi import opentelekomcloud:index/fgsTriggerV2:FgsTriggerV2 test \u003cfunction_urn\u003e/\u003ctype\u003e/\u003cid\u003e\n```\n\n","properties":{"createdAt":{"type":"string","description":"The creation time of the function trigger.\n"},"eventData":{"type":"string","description":"Specifies the detailed configuration of the function trigger event.\nFor various types of trigger parameter configurations, please refer to the\n[documentation](https://docs.otc.t-systems.com/function-graph/api-ref/apis/function_triggers/creating_a_trigger.html#id4).\n\n\u003e Please refer to the [documentation](https://docs.otc.t-systems.com/function-graph/api-ref/apis/function_triggers/updating_a_trigger.html#functiongraph-06-0124-request-updateriggereventdata)\nfor updatable fields.\n"},"fgsTriggerV2Id":{"type":"string","description":"resource ID in UUID format.\n"},"functionUrn":{"type":"string","description":"Specifies the function URN to which the function trigger belongs.\n"},"region":{"type":"string","description":"The region where the function trigger is located.\n"},"status":{"type":"string","description":"Specifies the status of the function trigger.\nThe valid values are **ACTIVE** and **DISABLED**.\nFor `DDS` and `Kafka` triggers the default value is **DISABLED**, for other triggers= the default value is **ACTIVE**.\n\n\u003e Currently, only some triggers support setting the **DISABLED** value, such as `TIMER`, `DDS`, `DMS`, `KAFKA` and\n`LTS`. For more details, please refer to the [documentation](https://docs.otc.t-systems.com/function-graph/api-ref/apis/function_triggers/creating_a_trigger.html).\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FFgsTriggerV2Timeouts:FgsTriggerV2Timeouts"},"type":{"type":"string","description":"Specifies the type of the function trigger.\nThe valid values are **TIMER**, **APIG**, **CTS**, **DDS**, **DEDICATEDGATEWAY**, etc.\n\n\u003e For more available values, please refer to the [documentation table 3](https://docs.otc.t-systems.com/function-graph/api-ref/apis/function_triggers/creating_a_trigger.html#functiongraph-06-0122).\n"},"updatedAt":{"type":"string","description":"The latest update time of the function trigger.\n"}},"type":"object","required":["createdAt","eventData","fgsTriggerV2Id","functionUrn","region","status","type","updatedAt"],"inputProperties":{"eventData":{"type":"string","description":"Specifies the detailed configuration of the function trigger event.\nFor various types of trigger parameter configurations, please refer to the\n[documentation](https://docs.otc.t-systems.com/function-graph/api-ref/apis/function_triggers/creating_a_trigger.html#id4).\n\n\u003e Please refer to the [documentation](https://docs.otc.t-systems.com/function-graph/api-ref/apis/function_triggers/updating_a_trigger.html#functiongraph-06-0124-request-updateriggereventdata)\nfor updatable fields.\n"},"fgsTriggerV2Id":{"type":"string","description":"resource ID in UUID format.\n"},"functionUrn":{"type":"string","description":"Specifies the function URN to which the function trigger belongs.\n"},"status":{"type":"string","description":"Specifies the status of the function trigger.\nThe valid values are **ACTIVE** and **DISABLED**.\nFor `DDS` and `Kafka` triggers the default value is **DISABLED**, for other triggers= the default value is **ACTIVE**.\n\n\u003e Currently, only some triggers support setting the **DISABLED** value, such as `TIMER`, `DDS`, `DMS`, `KAFKA` and\n`LTS`. For more details, please refer to the [documentation](https://docs.otc.t-systems.com/function-graph/api-ref/apis/function_triggers/creating_a_trigger.html).\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FFgsTriggerV2Timeouts:FgsTriggerV2Timeouts"},"type":{"type":"string","description":"Specifies the type of the function trigger.\nThe valid values are **TIMER**, **APIG**, **CTS**, **DDS**, **DEDICATEDGATEWAY**, etc.\n\n\u003e For more available values, please refer to the [documentation table 3](https://docs.otc.t-systems.com/function-graph/api-ref/apis/function_triggers/creating_a_trigger.html#functiongraph-06-0122).\n"}},"requiredInputs":["eventData","functionUrn","type"],"stateInputs":{"description":"Input properties used for looking up and filtering FgsTriggerV2 resources.\n","properties":{"createdAt":{"type":"string","description":"The creation time of the function trigger.\n"},"eventData":{"type":"string","description":"Specifies the detailed configuration of the function trigger event.\nFor various types of trigger parameter configurations, please refer to the\n[documentation](https://docs.otc.t-systems.com/function-graph/api-ref/apis/function_triggers/creating_a_trigger.html#id4).\n\n\u003e Please refer to the [documentation](https://docs.otc.t-systems.com/function-graph/api-ref/apis/function_triggers/updating_a_trigger.html#functiongraph-06-0124-request-updateriggereventdata)\nfor updatable fields.\n"},"fgsTriggerV2Id":{"type":"string","description":"resource ID in UUID format.\n"},"functionUrn":{"type":"string","description":"Specifies the function URN to which the function trigger belongs.\n"},"region":{"type":"string","description":"The region where the function trigger is located.\n"},"status":{"type":"string","description":"Specifies the status of the function trigger.\nThe valid values are **ACTIVE** and **DISABLED**.\nFor `DDS` and `Kafka` triggers the default value is **DISABLED**, for other triggers= the default value is **ACTIVE**.\n\n\u003e Currently, only some triggers support setting the **DISABLED** value, such as `TIMER`, `DDS`, `DMS`, `KAFKA` and\n`LTS`. For more details, please refer to the [documentation](https://docs.otc.t-systems.com/function-graph/api-ref/apis/function_triggers/creating_a_trigger.html).\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FFgsTriggerV2Timeouts:FgsTriggerV2Timeouts"},"type":{"type":"string","description":"Specifies the type of the function trigger.\nThe valid values are **TIMER**, **APIG**, **CTS**, **DDS**, **DEDICATEDGATEWAY**, etc.\n\n\u003e For more available values, please refer to the [documentation table 3](https://docs.otc.t-systems.com/function-graph/api-ref/apis/function_triggers/creating_a_trigger.html#functiongraph-06-0122).\n"},"updatedAt":{"type":"string","description":"The latest update time of the function trigger.\n"}},"type":"object"}},"opentelekomcloud:index/fwFirewallGroupV2:FwFirewallGroupV2":{"description":"Up-to-date reference of API arguments for VPC firewall group you can get at\n[documentation portal](https://docs.otc.t-systems.com/virtual-private-cloud/api-ref/native_openstack_neutron_apis_v2.0/firewall)\n\nManages a v2 firewall group resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst rule1 = new opentelekomcloud.FwRuleV2(\"rule_1\", {\n    name: \"my-rule-1\",\n    description: \"drop TELNET traffic\",\n    action: \"deny\",\n    protocol: \"tcp\",\n    destinationPort: \"23\",\n    enabled: true,\n});\nconst rule2 = new opentelekomcloud.FwRuleV2(\"rule_2\", {\n    name: \"my-rule-2\",\n    description: \"drop NTP traffic\",\n    action: \"deny\",\n    protocol: \"udp\",\n    destinationPort: \"123\",\n    enabled: false,\n});\nconst policy1 = new opentelekomcloud.FwPolicyV2(\"policy_1\", {\n    name: \"my-policy\",\n    rules: [\n        rule1.fwRuleV2Id,\n        rule2.fwRuleV2Id,\n    ],\n});\nconst firewallGroup1 = new opentelekomcloud.FwFirewallGroupV2(\"firewall_group_1\", {\n    name: \"my-firewall-group\",\n    ingressPolicyId: policy1.fwPolicyV2Id,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nrule1 = opentelekomcloud.FwRuleV2(\"rule_1\",\n    name=\"my-rule-1\",\n    description=\"drop TELNET traffic\",\n    action=\"deny\",\n    protocol=\"tcp\",\n    destination_port=\"23\",\n    enabled=True)\nrule2 = opentelekomcloud.FwRuleV2(\"rule_2\",\n    name=\"my-rule-2\",\n    description=\"drop NTP traffic\",\n    action=\"deny\",\n    protocol=\"udp\",\n    destination_port=\"123\",\n    enabled=False)\npolicy1 = opentelekomcloud.FwPolicyV2(\"policy_1\",\n    name=\"my-policy\",\n    rules=[\n        rule1.fw_rule_v2_id,\n        rule2.fw_rule_v2_id,\n    ])\nfirewall_group1 = opentelekomcloud.FwFirewallGroupV2(\"firewall_group_1\",\n    name=\"my-firewall-group\",\n    ingress_policy_id=policy1.fw_policy_v2_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var rule1 = new Opentelekomcloud.FwRuleV2(\"rule_1\", new()\n    {\n        Name = \"my-rule-1\",\n        Description = \"drop TELNET traffic\",\n        Action = \"deny\",\n        Protocol = \"tcp\",\n        DestinationPort = \"23\",\n        Enabled = true,\n    });\n\n    var rule2 = new Opentelekomcloud.FwRuleV2(\"rule_2\", new()\n    {\n        Name = \"my-rule-2\",\n        Description = \"drop NTP traffic\",\n        Action = \"deny\",\n        Protocol = \"udp\",\n        DestinationPort = \"123\",\n        Enabled = false,\n    });\n\n    var policy1 = new Opentelekomcloud.FwPolicyV2(\"policy_1\", new()\n    {\n        Name = \"my-policy\",\n        Rules = new[]\n        {\n            rule1.FwRuleV2Id,\n            rule2.FwRuleV2Id,\n        },\n    });\n\n    var firewallGroup1 = new Opentelekomcloud.FwFirewallGroupV2(\"firewall_group_1\", new()\n    {\n        Name = \"my-firewall-group\",\n        IngressPolicyId = policy1.FwPolicyV2Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\trule1, err := opentelekomcloud.NewFwRuleV2(ctx, \"rule_1\", \u0026opentelekomcloud.FwRuleV2Args{\n\t\t\tName:            pulumi.String(\"my-rule-1\"),\n\t\t\tDescription:     pulumi.String(\"drop TELNET traffic\"),\n\t\t\tAction:          pulumi.String(\"deny\"),\n\t\t\tProtocol:        pulumi.String(\"tcp\"),\n\t\t\tDestinationPort: pulumi.String(\"23\"),\n\t\t\tEnabled:         pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trule2, err := opentelekomcloud.NewFwRuleV2(ctx, \"rule_2\", \u0026opentelekomcloud.FwRuleV2Args{\n\t\t\tName:            pulumi.String(\"my-rule-2\"),\n\t\t\tDescription:     pulumi.String(\"drop NTP traffic\"),\n\t\t\tAction:          pulumi.String(\"deny\"),\n\t\t\tProtocol:        pulumi.String(\"udp\"),\n\t\t\tDestinationPort: pulumi.String(\"123\"),\n\t\t\tEnabled:         pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpolicy1, err := opentelekomcloud.NewFwPolicyV2(ctx, \"policy_1\", \u0026opentelekomcloud.FwPolicyV2Args{\n\t\t\tName: pulumi.String(\"my-policy\"),\n\t\t\tRules: pulumi.StringArray{\n\t\t\t\trule1.FwRuleV2Id,\n\t\t\t\trule2.FwRuleV2Id,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewFwFirewallGroupV2(ctx, \"firewall_group_1\", \u0026opentelekomcloud.FwFirewallGroupV2Args{\n\t\t\tName:            pulumi.String(\"my-firewall-group\"),\n\t\t\tIngressPolicyId: policy1.FwPolicyV2Id,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.FwRuleV2;\nimport com.pulumi.opentelekomcloud.FwRuleV2Args;\nimport com.pulumi.opentelekomcloud.FwPolicyV2;\nimport com.pulumi.opentelekomcloud.FwPolicyV2Args;\nimport com.pulumi.opentelekomcloud.FwFirewallGroupV2;\nimport com.pulumi.opentelekomcloud.FwFirewallGroupV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var rule1 = new FwRuleV2(\"rule1\", FwRuleV2Args.builder()\n            .name(\"my-rule-1\")\n            .description(\"drop TELNET traffic\")\n            .action(\"deny\")\n            .protocol(\"tcp\")\n            .destinationPort(\"23\")\n            .enabled(true)\n            .build());\n\n        var rule2 = new FwRuleV2(\"rule2\", FwRuleV2Args.builder()\n            .name(\"my-rule-2\")\n            .description(\"drop NTP traffic\")\n            .action(\"deny\")\n            .protocol(\"udp\")\n            .destinationPort(\"123\")\n            .enabled(false)\n            .build());\n\n        var policy1 = new FwPolicyV2(\"policy1\", FwPolicyV2Args.builder()\n            .name(\"my-policy\")\n            .rules(            \n                rule1.fwRuleV2Id(),\n                rule2.fwRuleV2Id())\n            .build());\n\n        var firewallGroup1 = new FwFirewallGroupV2(\"firewallGroup1\", FwFirewallGroupV2Args.builder()\n            .name(\"my-firewall-group\")\n            .ingressPolicyId(policy1.fwPolicyV2Id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  rule1:\n    type: opentelekomcloud:FwRuleV2\n    name: rule_1\n    properties:\n      name: my-rule-1\n      description: drop TELNET traffic\n      action: deny\n      protocol: tcp\n      destinationPort: '23'\n      enabled: 'true'\n  rule2:\n    type: opentelekomcloud:FwRuleV2\n    name: rule_2\n    properties:\n      name: my-rule-2\n      description: drop NTP traffic\n      action: deny\n      protocol: udp\n      destinationPort: '123'\n      enabled: 'false'\n  policy1:\n    type: opentelekomcloud:FwPolicyV2\n    name: policy_1\n    properties:\n      name: my-policy\n      rules:\n        - ${rule1.fwRuleV2Id}\n        - ${rule2.fwRuleV2Id}\n  firewallGroup1:\n    type: opentelekomcloud:FwFirewallGroupV2\n    name: firewall_group_1\n    properties:\n      name: my-firewall-group\n      ingressPolicyId: ${policy1.fwPolicyV2Id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFirewall Groups can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/fwFirewallGroupV2:FwFirewallGroupV2 firewall_group_1 c9e39fb2-ce20-46c8-a964-25f3898c7a97\n```\n\n","properties":{"adminStateUp":{"type":"boolean","description":"Administrative up/down status for the firewall group\n(must be \"true\" or \"false\" if provided - defaults to \"true\").\nChanging this updates the \u003cspan pulumi-lang-nodejs=\"`adminStateUp`\" pulumi-lang-dotnet=\"`AdminStateUp`\" pulumi-lang-go=\"`adminStateUp`\" pulumi-lang-python=\"`admin_state_up`\" pulumi-lang-yaml=\"`adminStateUp`\" pulumi-lang-java=\"`adminStateUp`\"\u003e`admin_state_up`\u003c/span\u003e of an existing firewall group.\n"},"description":{"type":"string","description":"A description for the firewall group. Changing this\nupdates the \u003cspan pulumi-lang-nodejs=\"`description`\" pulumi-lang-dotnet=\"`Description`\" pulumi-lang-go=\"`description`\" pulumi-lang-python=\"`description`\" pulumi-lang-yaml=\"`description`\" pulumi-lang-java=\"`description`\"\u003e`description`\u003c/span\u003e of an existing firewall group.\n"},"egressPolicyId":{"type":"string","description":"The egress policy resource id for the firewall group. Changing\nthis updates the \u003cspan pulumi-lang-nodejs=\"`egressPolicyId`\" pulumi-lang-dotnet=\"`EgressPolicyId`\" pulumi-lang-go=\"`egressPolicyId`\" pulumi-lang-python=\"`egress_policy_id`\" pulumi-lang-yaml=\"`egressPolicyId`\" pulumi-lang-java=\"`egressPolicyId`\"\u003e`egress_policy_id`\u003c/span\u003e of an existing firewall group.\n"},"fwFirewallGroupV2Id":{"type":"string"},"ingressPolicyId":{"type":"string","description":"The ingress policy resource id for the firewall group. Changing\nthis updates the \u003cspan pulumi-lang-nodejs=\"`ingressPolicyId`\" pulumi-lang-dotnet=\"`IngressPolicyId`\" pulumi-lang-go=\"`ingressPolicyId`\" pulumi-lang-python=\"`ingress_policy_id`\" pulumi-lang-yaml=\"`ingressPolicyId`\" pulumi-lang-java=\"`ingressPolicyId`\"\u003e`ingress_policy_id`\u003c/span\u003e of an existing firewall group.\n"},"name":{"type":"string","description":"A name for the firewall group. Changing this\nupdates the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e of an existing firewall group.\n"},"ports":{"type":"array","items":{"type":"string"},"description":"Port(s) to associate this firewall group instance\nwith. Must be a list of strings. Changing this updates the associated routers\nof an existing firewall group.\n"},"region":{"type":"string"},"tenantId":{"type":"string","description":"The owner of the floating IP. Required if admin wants\nto create a firewall group for another tenant. Changing this creates a new\nfirewall group.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FFwFirewallGroupV2Timeouts:FwFirewallGroupV2Timeouts"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of additional options.\n"}},"type":"object","required":["fwFirewallGroupV2Id","name","ports","region","tenantId"],"inputProperties":{"adminStateUp":{"type":"boolean","description":"Administrative up/down status for the firewall group\n(must be \"true\" or \"false\" if provided - defaults to \"true\").\nChanging this updates the \u003cspan pulumi-lang-nodejs=\"`adminStateUp`\" pulumi-lang-dotnet=\"`AdminStateUp`\" pulumi-lang-go=\"`adminStateUp`\" pulumi-lang-python=\"`admin_state_up`\" pulumi-lang-yaml=\"`adminStateUp`\" pulumi-lang-java=\"`adminStateUp`\"\u003e`admin_state_up`\u003c/span\u003e of an existing firewall group.\n"},"description":{"type":"string","description":"A description for the firewall group. Changing this\nupdates the \u003cspan pulumi-lang-nodejs=\"`description`\" pulumi-lang-dotnet=\"`Description`\" pulumi-lang-go=\"`description`\" pulumi-lang-python=\"`description`\" pulumi-lang-yaml=\"`description`\" pulumi-lang-java=\"`description`\"\u003e`description`\u003c/span\u003e of an existing firewall group.\n"},"egressPolicyId":{"type":"string","description":"The egress policy resource id for the firewall group. Changing\nthis updates the \u003cspan pulumi-lang-nodejs=\"`egressPolicyId`\" pulumi-lang-dotnet=\"`EgressPolicyId`\" pulumi-lang-go=\"`egressPolicyId`\" pulumi-lang-python=\"`egress_policy_id`\" pulumi-lang-yaml=\"`egressPolicyId`\" pulumi-lang-java=\"`egressPolicyId`\"\u003e`egress_policy_id`\u003c/span\u003e of an existing firewall group.\n"},"fwFirewallGroupV2Id":{"type":"string"},"ingressPolicyId":{"type":"string","description":"The ingress policy resource id for the firewall group. Changing\nthis updates the \u003cspan pulumi-lang-nodejs=\"`ingressPolicyId`\" pulumi-lang-dotnet=\"`IngressPolicyId`\" pulumi-lang-go=\"`ingressPolicyId`\" pulumi-lang-python=\"`ingress_policy_id`\" pulumi-lang-yaml=\"`ingressPolicyId`\" pulumi-lang-java=\"`ingressPolicyId`\"\u003e`ingress_policy_id`\u003c/span\u003e of an existing firewall group.\n"},"name":{"type":"string","description":"A name for the firewall group. Changing this\nupdates the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e of an existing firewall group.\n"},"ports":{"type":"array","items":{"type":"string"},"description":"Port(s) to associate this firewall group instance\nwith. Must be a list of strings. Changing this updates the associated routers\nof an existing firewall group.\n"},"region":{"type":"string"},"tenantId":{"type":"string","description":"The owner of the floating IP. Required if admin wants\nto create a firewall group for another tenant. Changing this creates a new\nfirewall group.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FFwFirewallGroupV2Timeouts:FwFirewallGroupV2Timeouts"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of additional options.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering FwFirewallGroupV2 resources.\n","properties":{"adminStateUp":{"type":"boolean","description":"Administrative up/down status for the firewall group\n(must be \"true\" or \"false\" if provided - defaults to \"true\").\nChanging this updates the \u003cspan pulumi-lang-nodejs=\"`adminStateUp`\" pulumi-lang-dotnet=\"`AdminStateUp`\" pulumi-lang-go=\"`adminStateUp`\" pulumi-lang-python=\"`admin_state_up`\" pulumi-lang-yaml=\"`adminStateUp`\" pulumi-lang-java=\"`adminStateUp`\"\u003e`admin_state_up`\u003c/span\u003e of an existing firewall group.\n"},"description":{"type":"string","description":"A description for the firewall group. Changing this\nupdates the \u003cspan pulumi-lang-nodejs=\"`description`\" pulumi-lang-dotnet=\"`Description`\" pulumi-lang-go=\"`description`\" pulumi-lang-python=\"`description`\" pulumi-lang-yaml=\"`description`\" pulumi-lang-java=\"`description`\"\u003e`description`\u003c/span\u003e of an existing firewall group.\n"},"egressPolicyId":{"type":"string","description":"The egress policy resource id for the firewall group. Changing\nthis updates the \u003cspan pulumi-lang-nodejs=\"`egressPolicyId`\" pulumi-lang-dotnet=\"`EgressPolicyId`\" pulumi-lang-go=\"`egressPolicyId`\" pulumi-lang-python=\"`egress_policy_id`\" pulumi-lang-yaml=\"`egressPolicyId`\" pulumi-lang-java=\"`egressPolicyId`\"\u003e`egress_policy_id`\u003c/span\u003e of an existing firewall group.\n"},"fwFirewallGroupV2Id":{"type":"string"},"ingressPolicyId":{"type":"string","description":"The ingress policy resource id for the firewall group. Changing\nthis updates the \u003cspan pulumi-lang-nodejs=\"`ingressPolicyId`\" pulumi-lang-dotnet=\"`IngressPolicyId`\" pulumi-lang-go=\"`ingressPolicyId`\" pulumi-lang-python=\"`ingress_policy_id`\" pulumi-lang-yaml=\"`ingressPolicyId`\" pulumi-lang-java=\"`ingressPolicyId`\"\u003e`ingress_policy_id`\u003c/span\u003e of an existing firewall group.\n"},"name":{"type":"string","description":"A name for the firewall group. Changing this\nupdates the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e of an existing firewall group.\n"},"ports":{"type":"array","items":{"type":"string"},"description":"Port(s) to associate this firewall group instance\nwith. Must be a list of strings. Changing this updates the associated routers\nof an existing firewall group.\n"},"region":{"type":"string"},"tenantId":{"type":"string","description":"The owner of the floating IP. Required if admin wants\nto create a firewall group for another tenant. Changing this creates a new\nfirewall group.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FFwFirewallGroupV2Timeouts:FwFirewallGroupV2Timeouts"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of additional options.\n"}},"type":"object"}},"opentelekomcloud:index/fwPolicyV2:FwPolicyV2":{"description":"Up-to-date reference of API arguments for VPC firewall policy you can get at\n[documentation portal](https://docs.otc.t-systems.com/virtual-private-cloud/api-ref/native_openstack_neutron_apis_v2.0/firewall)\n\nManages a v2 firewall policy resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst rule1 = new opentelekomcloud.FwRuleV2(\"rule_1\", {\n    name: \"my-rule-1\",\n    description: \"drop TELNET traffic\",\n    action: \"deny\",\n    protocol: \"tcp\",\n    destinationPort: \"23\",\n    enabled: true,\n});\nconst rule2 = new opentelekomcloud.FwRuleV2(\"rule_2\", {\n    name: \"my-rule-2\",\n    description: \"drop NTP traffic\",\n    action: \"deny\",\n    protocol: \"udp\",\n    destinationPort: \"123\",\n    enabled: false,\n});\nconst policy1 = new opentelekomcloud.FwPolicyV2(\"policy_1\", {\n    name: \"my-policy\",\n    rules: [\n        rule1.fwRuleV2Id,\n        rule2.fwRuleV2Id,\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nrule1 = opentelekomcloud.FwRuleV2(\"rule_1\",\n    name=\"my-rule-1\",\n    description=\"drop TELNET traffic\",\n    action=\"deny\",\n    protocol=\"tcp\",\n    destination_port=\"23\",\n    enabled=True)\nrule2 = opentelekomcloud.FwRuleV2(\"rule_2\",\n    name=\"my-rule-2\",\n    description=\"drop NTP traffic\",\n    action=\"deny\",\n    protocol=\"udp\",\n    destination_port=\"123\",\n    enabled=False)\npolicy1 = opentelekomcloud.FwPolicyV2(\"policy_1\",\n    name=\"my-policy\",\n    rules=[\n        rule1.fw_rule_v2_id,\n        rule2.fw_rule_v2_id,\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var rule1 = new Opentelekomcloud.FwRuleV2(\"rule_1\", new()\n    {\n        Name = \"my-rule-1\",\n        Description = \"drop TELNET traffic\",\n        Action = \"deny\",\n        Protocol = \"tcp\",\n        DestinationPort = \"23\",\n        Enabled = true,\n    });\n\n    var rule2 = new Opentelekomcloud.FwRuleV2(\"rule_2\", new()\n    {\n        Name = \"my-rule-2\",\n        Description = \"drop NTP traffic\",\n        Action = \"deny\",\n        Protocol = \"udp\",\n        DestinationPort = \"123\",\n        Enabled = false,\n    });\n\n    var policy1 = new Opentelekomcloud.FwPolicyV2(\"policy_1\", new()\n    {\n        Name = \"my-policy\",\n        Rules = new[]\n        {\n            rule1.FwRuleV2Id,\n            rule2.FwRuleV2Id,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\trule1, err := opentelekomcloud.NewFwRuleV2(ctx, \"rule_1\", \u0026opentelekomcloud.FwRuleV2Args{\n\t\t\tName:            pulumi.String(\"my-rule-1\"),\n\t\t\tDescription:     pulumi.String(\"drop TELNET traffic\"),\n\t\t\tAction:          pulumi.String(\"deny\"),\n\t\t\tProtocol:        pulumi.String(\"tcp\"),\n\t\t\tDestinationPort: pulumi.String(\"23\"),\n\t\t\tEnabled:         pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trule2, err := opentelekomcloud.NewFwRuleV2(ctx, \"rule_2\", \u0026opentelekomcloud.FwRuleV2Args{\n\t\t\tName:            pulumi.String(\"my-rule-2\"),\n\t\t\tDescription:     pulumi.String(\"drop NTP traffic\"),\n\t\t\tAction:          pulumi.String(\"deny\"),\n\t\t\tProtocol:        pulumi.String(\"udp\"),\n\t\t\tDestinationPort: pulumi.String(\"123\"),\n\t\t\tEnabled:         pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewFwPolicyV2(ctx, \"policy_1\", \u0026opentelekomcloud.FwPolicyV2Args{\n\t\t\tName: pulumi.String(\"my-policy\"),\n\t\t\tRules: pulumi.StringArray{\n\t\t\t\trule1.FwRuleV2Id,\n\t\t\t\trule2.FwRuleV2Id,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.FwRuleV2;\nimport com.pulumi.opentelekomcloud.FwRuleV2Args;\nimport com.pulumi.opentelekomcloud.FwPolicyV2;\nimport com.pulumi.opentelekomcloud.FwPolicyV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var rule1 = new FwRuleV2(\"rule1\", FwRuleV2Args.builder()\n            .name(\"my-rule-1\")\n            .description(\"drop TELNET traffic\")\n            .action(\"deny\")\n            .protocol(\"tcp\")\n            .destinationPort(\"23\")\n            .enabled(true)\n            .build());\n\n        var rule2 = new FwRuleV2(\"rule2\", FwRuleV2Args.builder()\n            .name(\"my-rule-2\")\n            .description(\"drop NTP traffic\")\n            .action(\"deny\")\n            .protocol(\"udp\")\n            .destinationPort(\"123\")\n            .enabled(false)\n            .build());\n\n        var policy1 = new FwPolicyV2(\"policy1\", FwPolicyV2Args.builder()\n            .name(\"my-policy\")\n            .rules(            \n                rule1.fwRuleV2Id(),\n                rule2.fwRuleV2Id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  rule1:\n    type: opentelekomcloud:FwRuleV2\n    name: rule_1\n    properties:\n      name: my-rule-1\n      description: drop TELNET traffic\n      action: deny\n      protocol: tcp\n      destinationPort: '23'\n      enabled: 'true'\n  rule2:\n    type: opentelekomcloud:FwRuleV2\n    name: rule_2\n    properties:\n      name: my-rule-2\n      description: drop NTP traffic\n      action: deny\n      protocol: udp\n      destinationPort: '123'\n      enabled: 'false'\n  policy1:\n    type: opentelekomcloud:FwPolicyV2\n    name: policy_1\n    properties:\n      name: my-policy\n      rules:\n        - ${rule1.fwRuleV2Id}\n        - ${rule2.fwRuleV2Id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFirewall Policies can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/fwPolicyV2:FwPolicyV2 policy_1 07f422e6-c596-474b-8b94-fe2c12506ce0\n```\n\n","properties":{"audited":{"type":"boolean","description":"Audit status of the firewall policy\n(must be \"true\" or \"false\" if provided - defaults to \"false\").\nThis status is set to \"false\" whenever the firewall policy or any of its\nrules are changed. Changing this updates the \u003cspan pulumi-lang-nodejs=\"`audited`\" pulumi-lang-dotnet=\"`Audited`\" pulumi-lang-go=\"`audited`\" pulumi-lang-python=\"`audited`\" pulumi-lang-yaml=\"`audited`\" pulumi-lang-java=\"`audited`\"\u003e`audited`\u003c/span\u003e status of an existing\nfirewall policy.\n"},"description":{"type":"string","description":"A description for the firewall policy. Changing\nthis updates the \u003cspan pulumi-lang-nodejs=\"`description`\" pulumi-lang-dotnet=\"`Description`\" pulumi-lang-go=\"`description`\" pulumi-lang-python=\"`description`\" pulumi-lang-yaml=\"`description`\" pulumi-lang-java=\"`description`\"\u003e`description`\u003c/span\u003e of an existing firewall policy.\n"},"fwPolicyV2Id":{"type":"string"},"name":{"type":"string","description":"A name for the firewall policy. Changing this\nupdates the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e of an existing firewall policy.\n"},"region":{"type":"string"},"rules":{"type":"array","items":{"type":"string"},"description":"An array of one or more firewall rules that comprise\nthe policy. Changing this results in adding/removing rules from the\nexisting firewall policy.\n"},"shared":{"type":"boolean","description":"Sharing status of the firewall policy (must be \"true\"\nor \"false\" if provided). If this is \"true\" the policy is visible to, and\ncan be used in, firewalls in other tenants. Changing this updates the\n\u003cspan pulumi-lang-nodejs=\"`shared`\" pulumi-lang-dotnet=\"`Shared`\" pulumi-lang-go=\"`shared`\" pulumi-lang-python=\"`shared`\" pulumi-lang-yaml=\"`shared`\" pulumi-lang-java=\"`shared`\"\u003e`shared`\u003c/span\u003e status of an existing firewall policy. Only administrative users\ncan specify if the policy should be shared.\n"},"tenantId":{"type":"string"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FFwPolicyV2Timeouts:FwPolicyV2Timeouts"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of additional options.\n"}},"type":"object","required":["fwPolicyV2Id","name","region","tenantId"],"inputProperties":{"audited":{"type":"boolean","description":"Audit status of the firewall policy\n(must be \"true\" or \"false\" if provided - defaults to \"false\").\nThis status is set to \"false\" whenever the firewall policy or any of its\nrules are changed. Changing this updates the \u003cspan pulumi-lang-nodejs=\"`audited`\" pulumi-lang-dotnet=\"`Audited`\" pulumi-lang-go=\"`audited`\" pulumi-lang-python=\"`audited`\" pulumi-lang-yaml=\"`audited`\" pulumi-lang-java=\"`audited`\"\u003e`audited`\u003c/span\u003e status of an existing\nfirewall policy.\n"},"description":{"type":"string","description":"A description for the firewall policy. Changing\nthis updates the \u003cspan pulumi-lang-nodejs=\"`description`\" pulumi-lang-dotnet=\"`Description`\" pulumi-lang-go=\"`description`\" pulumi-lang-python=\"`description`\" pulumi-lang-yaml=\"`description`\" pulumi-lang-java=\"`description`\"\u003e`description`\u003c/span\u003e of an existing firewall policy.\n"},"fwPolicyV2Id":{"type":"string"},"name":{"type":"string","description":"A name for the firewall policy. Changing this\nupdates the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e of an existing firewall policy.\n"},"region":{"type":"string"},"rules":{"type":"array","items":{"type":"string"},"description":"An array of one or more firewall rules that comprise\nthe policy. Changing this results in adding/removing rules from the\nexisting firewall policy.\n"},"shared":{"type":"boolean","description":"Sharing status of the firewall policy (must be \"true\"\nor \"false\" if provided). If this is \"true\" the policy is visible to, and\ncan be used in, firewalls in other tenants. Changing this updates the\n\u003cspan pulumi-lang-nodejs=\"`shared`\" pulumi-lang-dotnet=\"`Shared`\" pulumi-lang-go=\"`shared`\" pulumi-lang-python=\"`shared`\" pulumi-lang-yaml=\"`shared`\" pulumi-lang-java=\"`shared`\"\u003e`shared`\u003c/span\u003e status of an existing firewall policy. Only administrative users\ncan specify if the policy should be shared.\n"},"tenantId":{"type":"string"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FFwPolicyV2Timeouts:FwPolicyV2Timeouts"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of additional options.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering FwPolicyV2 resources.\n","properties":{"audited":{"type":"boolean","description":"Audit status of the firewall policy\n(must be \"true\" or \"false\" if provided - defaults to \"false\").\nThis status is set to \"false\" whenever the firewall policy or any of its\nrules are changed. Changing this updates the \u003cspan pulumi-lang-nodejs=\"`audited`\" pulumi-lang-dotnet=\"`Audited`\" pulumi-lang-go=\"`audited`\" pulumi-lang-python=\"`audited`\" pulumi-lang-yaml=\"`audited`\" pulumi-lang-java=\"`audited`\"\u003e`audited`\u003c/span\u003e status of an existing\nfirewall policy.\n"},"description":{"type":"string","description":"A description for the firewall policy. Changing\nthis updates the \u003cspan pulumi-lang-nodejs=\"`description`\" pulumi-lang-dotnet=\"`Description`\" pulumi-lang-go=\"`description`\" pulumi-lang-python=\"`description`\" pulumi-lang-yaml=\"`description`\" pulumi-lang-java=\"`description`\"\u003e`description`\u003c/span\u003e of an existing firewall policy.\n"},"fwPolicyV2Id":{"type":"string"},"name":{"type":"string","description":"A name for the firewall policy. Changing this\nupdates the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e of an existing firewall policy.\n"},"region":{"type":"string"},"rules":{"type":"array","items":{"type":"string"},"description":"An array of one or more firewall rules that comprise\nthe policy. Changing this results in adding/removing rules from the\nexisting firewall policy.\n"},"shared":{"type":"boolean","description":"Sharing status of the firewall policy (must be \"true\"\nor \"false\" if provided). If this is \"true\" the policy is visible to, and\ncan be used in, firewalls in other tenants. Changing this updates the\n\u003cspan pulumi-lang-nodejs=\"`shared`\" pulumi-lang-dotnet=\"`Shared`\" pulumi-lang-go=\"`shared`\" pulumi-lang-python=\"`shared`\" pulumi-lang-yaml=\"`shared`\" pulumi-lang-java=\"`shared`\"\u003e`shared`\u003c/span\u003e status of an existing firewall policy. Only administrative users\ncan specify if the policy should be shared.\n"},"tenantId":{"type":"string"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FFwPolicyV2Timeouts:FwPolicyV2Timeouts"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of additional options.\n"}},"type":"object"}},"opentelekomcloud:index/fwRuleV2:FwRuleV2":{"description":"Up-to-date reference of API arguments for VPC firewall rule you can get at\n[documentation portal](https://docs.otc.t-systems.com/virtual-private-cloud/api-ref/native_openstack_neutron_apis_v2.0/firewall)\n\nManages a v2 firewall rule resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst rule1 = new opentelekomcloud.FwRuleV2(\"rule_1\", {\n    name: \"my_rule\",\n    description: \"drop TELNET traffic\",\n    action: \"deny\",\n    protocol: \"tcp\",\n    destinationPort: \"23\",\n    enabled: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nrule1 = opentelekomcloud.FwRuleV2(\"rule_1\",\n    name=\"my_rule\",\n    description=\"drop TELNET traffic\",\n    action=\"deny\",\n    protocol=\"tcp\",\n    destination_port=\"23\",\n    enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var rule1 = new Opentelekomcloud.FwRuleV2(\"rule_1\", new()\n    {\n        Name = \"my_rule\",\n        Description = \"drop TELNET traffic\",\n        Action = \"deny\",\n        Protocol = \"tcp\",\n        DestinationPort = \"23\",\n        Enabled = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewFwRuleV2(ctx, \"rule_1\", \u0026opentelekomcloud.FwRuleV2Args{\n\t\t\tName:            pulumi.String(\"my_rule\"),\n\t\t\tDescription:     pulumi.String(\"drop TELNET traffic\"),\n\t\t\tAction:          pulumi.String(\"deny\"),\n\t\t\tProtocol:        pulumi.String(\"tcp\"),\n\t\t\tDestinationPort: pulumi.String(\"23\"),\n\t\t\tEnabled:         pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.FwRuleV2;\nimport com.pulumi.opentelekomcloud.FwRuleV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var rule1 = new FwRuleV2(\"rule1\", FwRuleV2Args.builder()\n            .name(\"my_rule\")\n            .description(\"drop TELNET traffic\")\n            .action(\"deny\")\n            .protocol(\"tcp\")\n            .destinationPort(\"23\")\n            .enabled(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  rule1:\n    type: opentelekomcloud:FwRuleV2\n    name: rule_1\n    properties:\n      name: my_rule\n      description: drop TELNET traffic\n      action: deny\n      protocol: tcp\n      destinationPort: '23'\n      enabled: 'true'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Example Ipv6 Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst rule1 = new opentelekomcloud.FwRuleV2(\"rule_1\", {\n    name: \"rule_1\",\n    description: \"Ipv6 deny\",\n    protocol: \"tcp\",\n    ipVersion: 6,\n    enabled: true,\n    action: \"deny\",\n    destinationIpAddress: \"2001:db8::\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nrule1 = opentelekomcloud.FwRuleV2(\"rule_1\",\n    name=\"rule_1\",\n    description=\"Ipv6 deny\",\n    protocol=\"tcp\",\n    ip_version=6,\n    enabled=True,\n    action=\"deny\",\n    destination_ip_address=\"2001:db8::\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var rule1 = new Opentelekomcloud.FwRuleV2(\"rule_1\", new()\n    {\n        Name = \"rule_1\",\n        Description = \"Ipv6 deny\",\n        Protocol = \"tcp\",\n        IpVersion = 6,\n        Enabled = true,\n        Action = \"deny\",\n        DestinationIpAddress = \"2001:db8::\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewFwRuleV2(ctx, \"rule_1\", \u0026opentelekomcloud.FwRuleV2Args{\n\t\t\tName:                 pulumi.String(\"rule_1\"),\n\t\t\tDescription:          pulumi.String(\"Ipv6 deny\"),\n\t\t\tProtocol:             pulumi.String(\"tcp\"),\n\t\t\tIpVersion:            pulumi.Float64(6),\n\t\t\tEnabled:              pulumi.Bool(true),\n\t\t\tAction:               pulumi.String(\"deny\"),\n\t\t\tDestinationIpAddress: pulumi.String(\"2001:db8::\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.FwRuleV2;\nimport com.pulumi.opentelekomcloud.FwRuleV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var rule1 = new FwRuleV2(\"rule1\", FwRuleV2Args.builder()\n            .name(\"rule_1\")\n            .description(\"Ipv6 deny\")\n            .protocol(\"tcp\")\n            .ipVersion(6.0)\n            .enabled(true)\n            .action(\"deny\")\n            .destinationIpAddress(\"2001:db8::\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  rule1:\n    type: opentelekomcloud:FwRuleV2\n    name: rule_1\n    properties:\n      name: rule_1\n      description: Ipv6 deny\n      protocol: tcp\n      ipVersion: 6\n      enabled: true\n      action: deny\n      destinationIpAddress: '2001:db8::'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFirewall Rules can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/fwRuleV2:FwRuleV2 rule_1 8dbc0c28-e49c-463f-b712-5c5d1bbac327\n```\n\n","properties":{"action":{"type":"string","description":"Action to be taken ( must be \"allow\" or \"deny\") when the\nfirewall rule matches. Changing this updates the \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e of an existing\nfirewall rule.\n"},"description":{"type":"string","description":"A description for the firewall rule. Changing this\nupdates the \u003cspan pulumi-lang-nodejs=\"`description`\" pulumi-lang-dotnet=\"`Description`\" pulumi-lang-go=\"`description`\" pulumi-lang-python=\"`description`\" pulumi-lang-yaml=\"`description`\" pulumi-lang-java=\"`description`\"\u003e`description`\u003c/span\u003e of an existing firewall rule.\n"},"destinationIpAddress":{"type":"string","description":"The destination IP address on which the\nfirewall rule operates. Changing this updates the \u003cspan pulumi-lang-nodejs=\"`destinationIpAddress`\" pulumi-lang-dotnet=\"`DestinationIpAddress`\" pulumi-lang-go=\"`destinationIpAddress`\" pulumi-lang-python=\"`destination_ip_address`\" pulumi-lang-yaml=\"`destinationIpAddress`\" pulumi-lang-java=\"`destinationIpAddress`\"\u003e`destination_ip_address`\u003c/span\u003e\nof an existing firewall rule.\n"},"destinationPort":{"type":"string","description":"The destination port on which the firewall\nrule operates. Changing this updates the \u003cspan pulumi-lang-nodejs=\"`destinationPort`\" pulumi-lang-dotnet=\"`DestinationPort`\" pulumi-lang-go=\"`destinationPort`\" pulumi-lang-python=\"`destination_port`\" pulumi-lang-yaml=\"`destinationPort`\" pulumi-lang-java=\"`destinationPort`\"\u003e`destination_port`\u003c/span\u003e of an existing\nfirewall rule.\n"},"enabled":{"type":"boolean","description":"Enabled status for the firewall rule (must be \"true\"\nor \"false\" if provided - defaults to \"true\"). Changing this updates the\n\u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e status of an existing firewall rule.\n"},"fwRuleV2Id":{"type":"string"},"ipVersion":{"type":"number","description":"IP version, either 4 (default) or 6. Changing this\nupdates the \u003cspan pulumi-lang-nodejs=\"`ipVersion`\" pulumi-lang-dotnet=\"`IpVersion`\" pulumi-lang-go=\"`ipVersion`\" pulumi-lang-python=\"`ip_version`\" pulumi-lang-yaml=\"`ipVersion`\" pulumi-lang-java=\"`ipVersion`\"\u003e`ip_version`\u003c/span\u003e of an existing firewall rule.\n"},"name":{"type":"string","description":"A unique name for the firewall rule. Changing this\nupdates the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e of an existing firewall rule.\n"},"protocol":{"type":"string","description":"The protocol type on which the firewall rule operates.\nValid values are: \u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\"\u003e`tcp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`udp`\" pulumi-lang-dotnet=\"`Udp`\" pulumi-lang-go=\"`udp`\" pulumi-lang-python=\"`udp`\" pulumi-lang-yaml=\"`udp`\" pulumi-lang-java=\"`udp`\"\u003e`udp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`icmp`\" pulumi-lang-dotnet=\"`Icmp`\" pulumi-lang-go=\"`icmp`\" pulumi-lang-python=\"`icmp`\" pulumi-lang-yaml=\"`icmp`\" pulumi-lang-java=\"`icmp`\"\u003e`icmp`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\"\u003e`any`\u003c/span\u003e. Changing this updates the\n\u003cspan pulumi-lang-nodejs=\"`protocol`\" pulumi-lang-dotnet=\"`Protocol`\" pulumi-lang-go=\"`protocol`\" pulumi-lang-python=\"`protocol`\" pulumi-lang-yaml=\"`protocol`\" pulumi-lang-java=\"`protocol`\"\u003e`protocol`\u003c/span\u003e of an existing firewall rule.\n"},"region":{"type":"string"},"sourceIpAddress":{"type":"string","description":"The source IP address on which the firewall\nrule operates. Changing this updates the \u003cspan pulumi-lang-nodejs=\"`sourceIpAddress`\" pulumi-lang-dotnet=\"`SourceIpAddress`\" pulumi-lang-go=\"`sourceIpAddress`\" pulumi-lang-python=\"`source_ip_address`\" pulumi-lang-yaml=\"`sourceIpAddress`\" pulumi-lang-java=\"`sourceIpAddress`\"\u003e`source_ip_address`\u003c/span\u003e of an existing\nfirewall rule.\n"},"sourcePort":{"type":"string","description":"The source port on which the firewall\nrule operates. Changing this updates the \u003cspan pulumi-lang-nodejs=\"`sourcePort`\" pulumi-lang-dotnet=\"`SourcePort`\" pulumi-lang-go=\"`sourcePort`\" pulumi-lang-python=\"`source_port`\" pulumi-lang-yaml=\"`sourcePort`\" pulumi-lang-java=\"`sourcePort`\"\u003e`source_port`\u003c/span\u003e of an existing\nfirewall rule.\n"},"tenantId":{"type":"string","description":"The owner of the firewall rule. Required if admin\nwants to create a firewall rule for another tenant. Changing this creates a\nnew firewall rule.\n"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of additional options.\n"}},"type":"object","required":["action","fwRuleV2Id","name","protocol","region"],"inputProperties":{"action":{"type":"string","description":"Action to be taken ( must be \"allow\" or \"deny\") when the\nfirewall rule matches. Changing this updates the \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e of an existing\nfirewall rule.\n"},"description":{"type":"string","description":"A description for the firewall rule. Changing this\nupdates the \u003cspan pulumi-lang-nodejs=\"`description`\" pulumi-lang-dotnet=\"`Description`\" pulumi-lang-go=\"`description`\" pulumi-lang-python=\"`description`\" pulumi-lang-yaml=\"`description`\" pulumi-lang-java=\"`description`\"\u003e`description`\u003c/span\u003e of an existing firewall rule.\n"},"destinationIpAddress":{"type":"string","description":"The destination IP address on which the\nfirewall rule operates. Changing this updates the \u003cspan pulumi-lang-nodejs=\"`destinationIpAddress`\" pulumi-lang-dotnet=\"`DestinationIpAddress`\" pulumi-lang-go=\"`destinationIpAddress`\" pulumi-lang-python=\"`destination_ip_address`\" pulumi-lang-yaml=\"`destinationIpAddress`\" pulumi-lang-java=\"`destinationIpAddress`\"\u003e`destination_ip_address`\u003c/span\u003e\nof an existing firewall rule.\n"},"destinationPort":{"type":"string","description":"The destination port on which the firewall\nrule operates. Changing this updates the \u003cspan pulumi-lang-nodejs=\"`destinationPort`\" pulumi-lang-dotnet=\"`DestinationPort`\" pulumi-lang-go=\"`destinationPort`\" pulumi-lang-python=\"`destination_port`\" pulumi-lang-yaml=\"`destinationPort`\" pulumi-lang-java=\"`destinationPort`\"\u003e`destination_port`\u003c/span\u003e of an existing\nfirewall rule.\n"},"enabled":{"type":"boolean","description":"Enabled status for the firewall rule (must be \"true\"\nor \"false\" if provided - defaults to \"true\"). Changing this updates the\n\u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e status of an existing firewall rule.\n"},"fwRuleV2Id":{"type":"string"},"ipVersion":{"type":"number","description":"IP version, either 4 (default) or 6. Changing this\nupdates the \u003cspan pulumi-lang-nodejs=\"`ipVersion`\" pulumi-lang-dotnet=\"`IpVersion`\" pulumi-lang-go=\"`ipVersion`\" pulumi-lang-python=\"`ip_version`\" pulumi-lang-yaml=\"`ipVersion`\" pulumi-lang-java=\"`ipVersion`\"\u003e`ip_version`\u003c/span\u003e of an existing firewall rule.\n"},"name":{"type":"string","description":"A unique name for the firewall rule. Changing this\nupdates the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e of an existing firewall rule.\n"},"protocol":{"type":"string","description":"The protocol type on which the firewall rule operates.\nValid values are: \u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\"\u003e`tcp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`udp`\" pulumi-lang-dotnet=\"`Udp`\" pulumi-lang-go=\"`udp`\" pulumi-lang-python=\"`udp`\" pulumi-lang-yaml=\"`udp`\" pulumi-lang-java=\"`udp`\"\u003e`udp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`icmp`\" pulumi-lang-dotnet=\"`Icmp`\" pulumi-lang-go=\"`icmp`\" pulumi-lang-python=\"`icmp`\" pulumi-lang-yaml=\"`icmp`\" pulumi-lang-java=\"`icmp`\"\u003e`icmp`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\"\u003e`any`\u003c/span\u003e. Changing this updates the\n\u003cspan pulumi-lang-nodejs=\"`protocol`\" pulumi-lang-dotnet=\"`Protocol`\" pulumi-lang-go=\"`protocol`\" pulumi-lang-python=\"`protocol`\" pulumi-lang-yaml=\"`protocol`\" pulumi-lang-java=\"`protocol`\"\u003e`protocol`\u003c/span\u003e of an existing firewall rule.\n"},"region":{"type":"string"},"sourceIpAddress":{"type":"string","description":"The source IP address on which the firewall\nrule operates. Changing this updates the \u003cspan pulumi-lang-nodejs=\"`sourceIpAddress`\" pulumi-lang-dotnet=\"`SourceIpAddress`\" pulumi-lang-go=\"`sourceIpAddress`\" pulumi-lang-python=\"`source_ip_address`\" pulumi-lang-yaml=\"`sourceIpAddress`\" pulumi-lang-java=\"`sourceIpAddress`\"\u003e`source_ip_address`\u003c/span\u003e of an existing\nfirewall rule.\n"},"sourcePort":{"type":"string","description":"The source port on which the firewall\nrule operates. Changing this updates the \u003cspan pulumi-lang-nodejs=\"`sourcePort`\" pulumi-lang-dotnet=\"`SourcePort`\" pulumi-lang-go=\"`sourcePort`\" pulumi-lang-python=\"`source_port`\" pulumi-lang-yaml=\"`sourcePort`\" pulumi-lang-java=\"`sourcePort`\"\u003e`source_port`\u003c/span\u003e of an existing\nfirewall rule.\n"},"tenantId":{"type":"string","description":"The owner of the firewall rule. Required if admin\nwants to create a firewall rule for another tenant. Changing this creates a\nnew firewall rule.\n"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of additional options.\n"}},"requiredInputs":["action","protocol"],"stateInputs":{"description":"Input properties used for looking up and filtering FwRuleV2 resources.\n","properties":{"action":{"type":"string","description":"Action to be taken ( must be \"allow\" or \"deny\") when the\nfirewall rule matches. Changing this updates the \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e of an existing\nfirewall rule.\n"},"description":{"type":"string","description":"A description for the firewall rule. Changing this\nupdates the \u003cspan pulumi-lang-nodejs=\"`description`\" pulumi-lang-dotnet=\"`Description`\" pulumi-lang-go=\"`description`\" pulumi-lang-python=\"`description`\" pulumi-lang-yaml=\"`description`\" pulumi-lang-java=\"`description`\"\u003e`description`\u003c/span\u003e of an existing firewall rule.\n"},"destinationIpAddress":{"type":"string","description":"The destination IP address on which the\nfirewall rule operates. Changing this updates the \u003cspan pulumi-lang-nodejs=\"`destinationIpAddress`\" pulumi-lang-dotnet=\"`DestinationIpAddress`\" pulumi-lang-go=\"`destinationIpAddress`\" pulumi-lang-python=\"`destination_ip_address`\" pulumi-lang-yaml=\"`destinationIpAddress`\" pulumi-lang-java=\"`destinationIpAddress`\"\u003e`destination_ip_address`\u003c/span\u003e\nof an existing firewall rule.\n"},"destinationPort":{"type":"string","description":"The destination port on which the firewall\nrule operates. Changing this updates the \u003cspan pulumi-lang-nodejs=\"`destinationPort`\" pulumi-lang-dotnet=\"`DestinationPort`\" pulumi-lang-go=\"`destinationPort`\" pulumi-lang-python=\"`destination_port`\" pulumi-lang-yaml=\"`destinationPort`\" pulumi-lang-java=\"`destinationPort`\"\u003e`destination_port`\u003c/span\u003e of an existing\nfirewall rule.\n"},"enabled":{"type":"boolean","description":"Enabled status for the firewall rule (must be \"true\"\nor \"false\" if provided - defaults to \"true\"). Changing this updates the\n\u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e status of an existing firewall rule.\n"},"fwRuleV2Id":{"type":"string"},"ipVersion":{"type":"number","description":"IP version, either 4 (default) or 6. Changing this\nupdates the \u003cspan pulumi-lang-nodejs=\"`ipVersion`\" pulumi-lang-dotnet=\"`IpVersion`\" pulumi-lang-go=\"`ipVersion`\" pulumi-lang-python=\"`ip_version`\" pulumi-lang-yaml=\"`ipVersion`\" pulumi-lang-java=\"`ipVersion`\"\u003e`ip_version`\u003c/span\u003e of an existing firewall rule.\n"},"name":{"type":"string","description":"A unique name for the firewall rule. Changing this\nupdates the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e of an existing firewall rule.\n"},"protocol":{"type":"string","description":"The protocol type on which the firewall rule operates.\nValid values are: \u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\"\u003e`tcp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`udp`\" pulumi-lang-dotnet=\"`Udp`\" pulumi-lang-go=\"`udp`\" pulumi-lang-python=\"`udp`\" pulumi-lang-yaml=\"`udp`\" pulumi-lang-java=\"`udp`\"\u003e`udp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`icmp`\" pulumi-lang-dotnet=\"`Icmp`\" pulumi-lang-go=\"`icmp`\" pulumi-lang-python=\"`icmp`\" pulumi-lang-yaml=\"`icmp`\" pulumi-lang-java=\"`icmp`\"\u003e`icmp`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\"\u003e`any`\u003c/span\u003e. Changing this updates the\n\u003cspan pulumi-lang-nodejs=\"`protocol`\" pulumi-lang-dotnet=\"`Protocol`\" pulumi-lang-go=\"`protocol`\" pulumi-lang-python=\"`protocol`\" pulumi-lang-yaml=\"`protocol`\" pulumi-lang-java=\"`protocol`\"\u003e`protocol`\u003c/span\u003e of an existing firewall rule.\n"},"region":{"type":"string"},"sourceIpAddress":{"type":"string","description":"The source IP address on which the firewall\nrule operates. Changing this updates the \u003cspan pulumi-lang-nodejs=\"`sourceIpAddress`\" pulumi-lang-dotnet=\"`SourceIpAddress`\" pulumi-lang-go=\"`sourceIpAddress`\" pulumi-lang-python=\"`source_ip_address`\" pulumi-lang-yaml=\"`sourceIpAddress`\" pulumi-lang-java=\"`sourceIpAddress`\"\u003e`source_ip_address`\u003c/span\u003e of an existing\nfirewall rule.\n"},"sourcePort":{"type":"string","description":"The source port on which the firewall\nrule operates. Changing this updates the \u003cspan pulumi-lang-nodejs=\"`sourcePort`\" pulumi-lang-dotnet=\"`SourcePort`\" pulumi-lang-go=\"`sourcePort`\" pulumi-lang-python=\"`source_port`\" pulumi-lang-yaml=\"`sourcePort`\" pulumi-lang-java=\"`sourcePort`\"\u003e`source_port`\u003c/span\u003e of an existing\nfirewall rule.\n"},"tenantId":{"type":"string","description":"The owner of the firewall rule. Required if admin\nwants to create a firewall rule for another tenant. Changing this creates a\nnew firewall rule.\n"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of additional options.\n"}},"type":"object"}},"opentelekomcloud:index/gaussdbMysqlInstanceV3:GaussdbMysqlInstanceV3":{"description":"Up-to-date reference of API arguments for GaussDB for MySql you can get at\n[documentation portal](https://docs.otc.t-systems.com/gaussdb-mysql/api-ref/apis_recommended/managing_db_instances/index.html#gaussdb-04-0003).\n\nGaussDB MySql instance management within OpenTelekomCloud.\n\n~\u003e\nDeprecated, use \u003cspan pulumi-lang-nodejs=\"`opentelekomcloud.TaurusdbMysqlInstanceV3`\" pulumi-lang-dotnet=\"`opentelekomcloud.TaurusdbMysqlInstanceV3`\" pulumi-lang-go=\"`TaurusdbMysqlInstanceV3`\" pulumi-lang-python=\"`TaurusdbMysqlInstanceV3`\" pulumi-lang-yaml=\"`opentelekomcloud.TaurusdbMysqlInstanceV3`\" pulumi-lang-java=\"`opentelekomcloud.TaurusdbMysqlInstanceV3`\"\u003e`opentelekomcloud.TaurusdbMysqlInstanceV3`\u003c/span\u003e resource instead.\n\n## Example Usage\n\n### Create a basic instance\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst instance = new opentelekomcloud.GaussdbMysqlInstanceV3(\"instance\", {\n    name: \"gaussdb_instance\",\n    vpcId: vpcId,\n    subnetId: subnetId,\n    securityGroupId: secgroupId,\n    flavor: \"gaussdb.mysql.xlarge.x86.8\",\n    password: password,\n    availabilityZoneMode: \"multi\",\n    masterAvailabilityZone: \"eu-de-01\",\n    readReplicas: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ninstance = opentelekomcloud.GaussdbMysqlInstanceV3(\"instance\",\n    name=\"gaussdb_instance\",\n    vpc_id=vpc_id,\n    subnet_id=subnet_id,\n    security_group_id=secgroup_id,\n    flavor=\"gaussdb.mysql.xlarge.x86.8\",\n    password=password,\n    availability_zone_mode=\"multi\",\n    master_availability_zone=\"eu-de-01\",\n    read_replicas=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var instance = new Opentelekomcloud.GaussdbMysqlInstanceV3(\"instance\", new()\n    {\n        Name = \"gaussdb_instance\",\n        VpcId = vpcId,\n        SubnetId = subnetId,\n        SecurityGroupId = secgroupId,\n        Flavor = \"gaussdb.mysql.xlarge.x86.8\",\n        Password = password,\n        AvailabilityZoneMode = \"multi\",\n        MasterAvailabilityZone = \"eu-de-01\",\n        ReadReplicas = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewGaussdbMysqlInstanceV3(ctx, \"instance\", \u0026opentelekomcloud.GaussdbMysqlInstanceV3Args{\n\t\t\tName:                   pulumi.String(\"gaussdb_instance\"),\n\t\t\tVpcId:                  pulumi.Any(vpcId),\n\t\t\tSubnetId:               pulumi.Any(subnetId),\n\t\t\tSecurityGroupId:        pulumi.Any(secgroupId),\n\t\t\tFlavor:                 pulumi.String(\"gaussdb.mysql.xlarge.x86.8\"),\n\t\t\tPassword:               pulumi.Any(password),\n\t\t\tAvailabilityZoneMode:   pulumi.String(\"multi\"),\n\t\t\tMasterAvailabilityZone: pulumi.String(\"eu-de-01\"),\n\t\t\tReadReplicas:           pulumi.Float64(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.GaussdbMysqlInstanceV3;\nimport com.pulumi.opentelekomcloud.GaussdbMysqlInstanceV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var instance = new GaussdbMysqlInstanceV3(\"instance\", GaussdbMysqlInstanceV3Args.builder()\n            .name(\"gaussdb_instance\")\n            .vpcId(vpcId)\n            .subnetId(subnetId)\n            .securityGroupId(secgroupId)\n            .flavor(\"gaussdb.mysql.xlarge.x86.8\")\n            .password(password)\n            .availabilityZoneMode(\"multi\")\n            .masterAvailabilityZone(\"eu-de-01\")\n            .readReplicas(1.0)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  instance:\n    type: opentelekomcloud:GaussdbMysqlInstanceV3\n    properties:\n      name: gaussdb_instance\n      vpcId: ${vpcId}\n      subnetId: ${subnetId}\n      securityGroupId: ${secgroupId}\n      flavor: gaussdb.mysql.xlarge.x86.8\n      password: ${password}\n      availabilityZoneMode: multi\n      masterAvailabilityZone: eu-de-01\n      readReplicas: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create an instance with backup strategy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst instance = new opentelekomcloud.GaussdbMysqlInstanceV3(\"instance\", {\n    name: \"gaussdb_instance_1\",\n    password: password,\n    flavor: \"gaussdb.mysql.4xlarge.x86.4\",\n    vpcId: vpcId,\n    subnetId: subnetId,\n    securityGroupId: secgroupId,\n    backupStrategy: {\n        startTime: \"03:00-04:00\",\n        keepDays: \"7\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ninstance = opentelekomcloud.GaussdbMysqlInstanceV3(\"instance\",\n    name=\"gaussdb_instance_1\",\n    password=password,\n    flavor=\"gaussdb.mysql.4xlarge.x86.4\",\n    vpc_id=vpc_id,\n    subnet_id=subnet_id,\n    security_group_id=secgroup_id,\n    backup_strategy={\n        \"start_time\": \"03:00-04:00\",\n        \"keep_days\": \"7\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var instance = new Opentelekomcloud.GaussdbMysqlInstanceV3(\"instance\", new()\n    {\n        Name = \"gaussdb_instance_1\",\n        Password = password,\n        Flavor = \"gaussdb.mysql.4xlarge.x86.4\",\n        VpcId = vpcId,\n        SubnetId = subnetId,\n        SecurityGroupId = secgroupId,\n        BackupStrategy = new Opentelekomcloud.Inputs.GaussdbMysqlInstanceV3BackupStrategyArgs\n        {\n            StartTime = \"03:00-04:00\",\n            KeepDays = \"7\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewGaussdbMysqlInstanceV3(ctx, \"instance\", \u0026opentelekomcloud.GaussdbMysqlInstanceV3Args{\n\t\t\tName:            pulumi.String(\"gaussdb_instance_1\"),\n\t\t\tPassword:        pulumi.Any(password),\n\t\t\tFlavor:          pulumi.String(\"gaussdb.mysql.4xlarge.x86.4\"),\n\t\t\tVpcId:           pulumi.Any(vpcId),\n\t\t\tSubnetId:        pulumi.Any(subnetId),\n\t\t\tSecurityGroupId: pulumi.Any(secgroupId),\n\t\t\tBackupStrategy: \u0026opentelekomcloud.GaussdbMysqlInstanceV3BackupStrategyArgs{\n\t\t\t\tStartTime: pulumi.String(\"03:00-04:00\"),\n\t\t\t\tKeepDays:  pulumi.String(\"7\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.GaussdbMysqlInstanceV3;\nimport com.pulumi.opentelekomcloud.GaussdbMysqlInstanceV3Args;\nimport com.pulumi.opentelekomcloud.inputs.GaussdbMysqlInstanceV3BackupStrategyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var instance = new GaussdbMysqlInstanceV3(\"instance\", GaussdbMysqlInstanceV3Args.builder()\n            .name(\"gaussdb_instance_1\")\n            .password(password)\n            .flavor(\"gaussdb.mysql.4xlarge.x86.4\")\n            .vpcId(vpcId)\n            .subnetId(subnetId)\n            .securityGroupId(secgroupId)\n            .backupStrategy(GaussdbMysqlInstanceV3BackupStrategyArgs.builder()\n                .startTime(\"03:00-04:00\")\n                .keepDays(\"7\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  instance:\n    type: opentelekomcloud:GaussdbMysqlInstanceV3\n    properties:\n      name: gaussdb_instance_1\n      password: ${password}\n      flavor: gaussdb.mysql.4xlarge.x86.4\n      vpcId: ${vpcId}\n      subnetId: ${subnetId}\n      securityGroupId: ${secgroupId}\n      backupStrategy:\n        startTime: 03:00-04:00\n        keepDays: 7\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGaussDB instance can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/gaussdbMysqlInstanceV3:GaussdbMysqlInstanceV3 instance_1 1a801c1e01e6458d8eed810912e29d0cin07\n```\n\nDue to the security reasons, `password` can not be imported. It can be ignored as shown below.\n\nhcl\n\nresource \"opentelekomcloud_gaussdb_mysql_instance_v3\" \"instance_1\" {\n\n  lifecycle {\n\n    ignore_changes = [\n\n      password,\n\n    ]\n\n  }\n\n}\n\n","properties":{"alias":{"type":"string","description":"Indicates the alias of the instance.\n"},"availabilityZoneMode":{"type":"string","description":"Specifies the availability zone mode: \"single\" or \"multi\".\nDefaults to \"single\". Changing this parameter will create a new resource.\n"},"backupStrategy":{"$ref":"#/types/opentelekomcloud:index%2FGaussdbMysqlInstanceV3BackupStrategy:GaussdbMysqlInstanceV3BackupStrategy","description":"Specifies the advanced backup policy. Structure is documented below.\n"},"chargingMode":{"type":"string","description":"Indicates the charging mode of the instance.\n"},"configurationId":{"type":"string","description":"Specifies the configuration ID.\n"},"configurationName":{"type":"string","description":"Specifies the configuration name.\n"},"created":{"type":"string","description":"Indicates the created time of the DB node.\n"},"datastore":{"$ref":"#/types/opentelekomcloud:index%2FGaussdbMysqlInstanceV3Datastore:GaussdbMysqlInstanceV3Datastore","description":"Specifies the database information. Structure is documented below.\n"},"dbUserName":{"type":"string","description":"Indicates the default username.\n"},"dedicatedResourceId":{"type":"string","description":"Specifies the dedicated resource ID. Changing this parameter\nwill create a new resource.\n"},"dedicatedResourceName":{"type":"string","description":"Specifies the dedicated resource name. Changing this parameter\nwill create a new resource.\n"},"flavor":{"type":"string","description":"Specifies the instance specifications.\n"},"gaussdbMysqlInstanceV3Id":{"type":"string","description":"Indicates the node ID.\n"},"masterAvailabilityZone":{"type":"string","description":"Specifies the availability zone where the master node\nresides. The parameter is required in multi availability zone mode. Changing this parameter will create a new\nresource.\n"},"mode":{"type":"string","description":"Indicates the instance mode.\n"},"name":{"type":"string","description":"Specifies the instance name, which can be the same as an existing instance name. The value\nmust be 4 to 64 characters in length and start with a letter. It is case-sensitive and can contain only letters,\ndigits, hyphens (-), and underscores (_).\n"},"nodeCount":{"type":"number","description":"Indicates the amount on nodes of the DB instance.\n"},"nodes":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FGaussdbMysqlInstanceV3Node:GaussdbMysqlInstanceV3Node"},"description":"Indicates the instance nodes information. Structure is documented below.\n"},"password":{"type":"string","description":"Specifies the database password. The value must be 8 to 32 characters in length,\nincluding uppercase and lowercase letters, digits, and special characters, such as ~!@#%^*-_=+?\n","secret":true},"port":{"type":"number","description":"Indicates the database port.\n"},"privateWriteIps":{"type":"array","items":{"type":"string"},"description":"Indicates the private IP address of the DB instance.\n"},"projectId":{"type":"string","description":"Indicates the id of the project.\n"},"publicIp":{"type":"string","description":"Indicates the public IP address of the DB instance.\n"},"readReplicas":{"type":"number","description":"Specifies the count of read replicas. Defaults to 1.\n"},"region":{"type":"string","description":"The region in which to create the GaussDB mysql instance resource. If omitted,\nthe provider-level region will be used.\n"},"securityGroupId":{"type":"string","description":"Specifies the security group ID. Required if the selected subnet\ndoesn't enable network ACL.\n"},"status":{"type":"string","description":"Indicates the node status.\n"},"subnetId":{"type":"string","description":"Specifies the network ID of a subnet.\n"},"timeZone":{"type":"string","description":"Specifies the time zone. Defaults to \"UTC+08:00\". Changing this parameter\nwill create a new resource.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FGaussdbMysqlInstanceV3Timeouts:GaussdbMysqlInstanceV3Timeouts"},"updated":{"type":"string","description":"Indicates the updated time of the DB node.\n"},"vpcId":{"type":"string","description":"Specifies the VPC ID.\n"}},"type":"object","required":["alias","chargingMode","configurationId","configurationName","created","dbUserName","dedicatedResourceId","dedicatedResourceName","flavor","gaussdbMysqlInstanceV3Id","masterAvailabilityZone","mode","name","nodeCount","nodes","password","port","privateWriteIps","projectId","publicIp","region","status","subnetId","updated","vpcId"],"inputProperties":{"availabilityZoneMode":{"type":"string","description":"Specifies the availability zone mode: \"single\" or \"multi\".\nDefaults to \"single\". Changing this parameter will create a new resource.\n"},"backupStrategy":{"$ref":"#/types/opentelekomcloud:index%2FGaussdbMysqlInstanceV3BackupStrategy:GaussdbMysqlInstanceV3BackupStrategy","description":"Specifies the advanced backup policy. Structure is documented below.\n"},"configurationId":{"type":"string","description":"Specifies the configuration ID.\n"},"configurationName":{"type":"string","description":"Specifies the configuration name.\n"},"datastore":{"$ref":"#/types/opentelekomcloud:index%2FGaussdbMysqlInstanceV3Datastore:GaussdbMysqlInstanceV3Datastore","description":"Specifies the database information. Structure is documented below.\n"},"dedicatedResourceId":{"type":"string","description":"Specifies the dedicated resource ID. Changing this parameter\nwill create a new resource.\n"},"dedicatedResourceName":{"type":"string","description":"Specifies the dedicated resource name. Changing this parameter\nwill create a new resource.\n"},"flavor":{"type":"string","description":"Specifies the instance specifications.\n"},"gaussdbMysqlInstanceV3Id":{"type":"string","description":"Indicates the node ID.\n"},"masterAvailabilityZone":{"type":"string","description":"Specifies the availability zone where the master node\nresides. The parameter is required in multi availability zone mode. Changing this parameter will create a new\nresource.\n"},"name":{"type":"string","description":"Specifies the instance name, which can be the same as an existing instance name. The value\nmust be 4 to 64 characters in length and start with a letter. It is case-sensitive and can contain only letters,\ndigits, hyphens (-), and underscores (_).\n"},"password":{"type":"string","description":"Specifies the database password. The value must be 8 to 32 characters in length,\nincluding uppercase and lowercase letters, digits, and special characters, such as ~!@#%^*-_=+?\n","secret":true},"readReplicas":{"type":"number","description":"Specifies the count of read replicas. Defaults to 1.\n"},"region":{"type":"string","description":"The region in which to create the GaussDB mysql instance resource. If omitted,\nthe provider-level region will be used.\n"},"securityGroupId":{"type":"string","description":"Specifies the security group ID. Required if the selected subnet\ndoesn't enable network ACL.\n"},"subnetId":{"type":"string","description":"Specifies the network ID of a subnet.\n"},"timeZone":{"type":"string","description":"Specifies the time zone. Defaults to \"UTC+08:00\". Changing this parameter\nwill create a new resource.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FGaussdbMysqlInstanceV3Timeouts:GaussdbMysqlInstanceV3Timeouts"},"vpcId":{"type":"string","description":"Specifies the VPC ID.\n"}},"requiredInputs":["flavor","password","subnetId","vpcId"],"stateInputs":{"description":"Input properties used for looking up and filtering GaussdbMysqlInstanceV3 resources.\n","properties":{"alias":{"type":"string","description":"Indicates the alias of the instance.\n"},"availabilityZoneMode":{"type":"string","description":"Specifies the availability zone mode: \"single\" or \"multi\".\nDefaults to \"single\". Changing this parameter will create a new resource.\n"},"backupStrategy":{"$ref":"#/types/opentelekomcloud:index%2FGaussdbMysqlInstanceV3BackupStrategy:GaussdbMysqlInstanceV3BackupStrategy","description":"Specifies the advanced backup policy. Structure is documented below.\n"},"chargingMode":{"type":"string","description":"Indicates the charging mode of the instance.\n"},"configurationId":{"type":"string","description":"Specifies the configuration ID.\n"},"configurationName":{"type":"string","description":"Specifies the configuration name.\n"},"created":{"type":"string","description":"Indicates the created time of the DB node.\n"},"datastore":{"$ref":"#/types/opentelekomcloud:index%2FGaussdbMysqlInstanceV3Datastore:GaussdbMysqlInstanceV3Datastore","description":"Specifies the database information. Structure is documented below.\n"},"dbUserName":{"type":"string","description":"Indicates the default username.\n"},"dedicatedResourceId":{"type":"string","description":"Specifies the dedicated resource ID. Changing this parameter\nwill create a new resource.\n"},"dedicatedResourceName":{"type":"string","description":"Specifies the dedicated resource name. Changing this parameter\nwill create a new resource.\n"},"flavor":{"type":"string","description":"Specifies the instance specifications.\n"},"gaussdbMysqlInstanceV3Id":{"type":"string","description":"Indicates the node ID.\n"},"masterAvailabilityZone":{"type":"string","description":"Specifies the availability zone where the master node\nresides. The parameter is required in multi availability zone mode. Changing this parameter will create a new\nresource.\n"},"mode":{"type":"string","description":"Indicates the instance mode.\n"},"name":{"type":"string","description":"Specifies the instance name, which can be the same as an existing instance name. The value\nmust be 4 to 64 characters in length and start with a letter. It is case-sensitive and can contain only letters,\ndigits, hyphens (-), and underscores (_).\n"},"nodeCount":{"type":"number","description":"Indicates the amount on nodes of the DB instance.\n"},"nodes":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FGaussdbMysqlInstanceV3Node:GaussdbMysqlInstanceV3Node"},"description":"Indicates the instance nodes information. Structure is documented below.\n"},"password":{"type":"string","description":"Specifies the database password. The value must be 8 to 32 characters in length,\nincluding uppercase and lowercase letters, digits, and special characters, such as ~!@#%^*-_=+?\n","secret":true},"port":{"type":"number","description":"Indicates the database port.\n"},"privateWriteIps":{"type":"array","items":{"type":"string"},"description":"Indicates the private IP address of the DB instance.\n"},"projectId":{"type":"string","description":"Indicates the id of the project.\n"},"publicIp":{"type":"string","description":"Indicates the public IP address of the DB instance.\n"},"readReplicas":{"type":"number","description":"Specifies the count of read replicas. Defaults to 1.\n"},"region":{"type":"string","description":"The region in which to create the GaussDB mysql instance resource. If omitted,\nthe provider-level region will be used.\n"},"securityGroupId":{"type":"string","description":"Specifies the security group ID. Required if the selected subnet\ndoesn't enable network ACL.\n"},"status":{"type":"string","description":"Indicates the node status.\n"},"subnetId":{"type":"string","description":"Specifies the network ID of a subnet.\n"},"timeZone":{"type":"string","description":"Specifies the time zone. Defaults to \"UTC+08:00\". Changing this parameter\nwill create a new resource.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FGaussdbMysqlInstanceV3Timeouts:GaussdbMysqlInstanceV3Timeouts"},"updated":{"type":"string","description":"Indicates the updated time of the DB node.\n"},"vpcId":{"type":"string","description":"Specifies the VPC ID.\n"}},"type":"object"}},"opentelekomcloud:index/geminiInstanceV3:GeminiInstanceV3":{"description":"Up-to-date reference of API arguments for GeminiDB you can get at\n[documentation portal](https://docs.otc.t-systems.com/geminidb/api-ref/apis_v3/instances/index.html).\n\nGeminiDB instance management within OpenTelekomCloud.\n\n## Example Usage\n\n### Create a basic instance with tags\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst instance1 = new opentelekomcloud.GeminiInstanceV3(\"instance_1\", {\n    name: \"gaussdb_cassandra_instance_1\",\n    password: password,\n    flavor: \"geminidb.cassandra.xlarge.8\",\n    volumeSize: 100,\n    vpcId: vpcId,\n    subnetId: subnetId,\n    securityGroupId: secgroupId,\n    availabilityZone: availabilityZone,\n    tags: {\n        foo: \"bar\",\n        key: \"value\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ninstance1 = opentelekomcloud.GeminiInstanceV3(\"instance_1\",\n    name=\"gaussdb_cassandra_instance_1\",\n    password=password,\n    flavor=\"geminidb.cassandra.xlarge.8\",\n    volume_size=100,\n    vpc_id=vpc_id,\n    subnet_id=subnet_id,\n    security_group_id=secgroup_id,\n    availability_zone=availability_zone,\n    tags={\n        \"foo\": \"bar\",\n        \"key\": \"value\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var instance1 = new Opentelekomcloud.GeminiInstanceV3(\"instance_1\", new()\n    {\n        Name = \"gaussdb_cassandra_instance_1\",\n        Password = password,\n        Flavor = \"geminidb.cassandra.xlarge.8\",\n        VolumeSize = 100,\n        VpcId = vpcId,\n        SubnetId = subnetId,\n        SecurityGroupId = secgroupId,\n        AvailabilityZone = availabilityZone,\n        Tags = \n        {\n            { \"foo\", \"bar\" },\n            { \"key\", \"value\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewGeminiInstanceV3(ctx, \"instance_1\", \u0026opentelekomcloud.GeminiInstanceV3Args{\n\t\t\tName:             pulumi.String(\"gaussdb_cassandra_instance_1\"),\n\t\t\tPassword:         pulumi.Any(password),\n\t\t\tFlavor:           pulumi.String(\"geminidb.cassandra.xlarge.8\"),\n\t\t\tVolumeSize:       pulumi.Float64(100),\n\t\t\tVpcId:            pulumi.Any(vpcId),\n\t\t\tSubnetId:         pulumi.Any(subnetId),\n\t\t\tSecurityGroupId:  pulumi.Any(secgroupId),\n\t\t\tAvailabilityZone: pulumi.Any(availabilityZone),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t\t\"key\": pulumi.String(\"value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.GeminiInstanceV3;\nimport com.pulumi.opentelekomcloud.GeminiInstanceV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var instance1 = new GeminiInstanceV3(\"instance1\", GeminiInstanceV3Args.builder()\n            .name(\"gaussdb_cassandra_instance_1\")\n            .password(password)\n            .flavor(\"geminidb.cassandra.xlarge.8\")\n            .volumeSize(100.0)\n            .vpcId(vpcId)\n            .subnetId(subnetId)\n            .securityGroupId(secgroupId)\n            .availabilityZone(availabilityZone)\n            .tags(Map.ofEntries(\n                Map.entry(\"foo\", \"bar\"),\n                Map.entry(\"key\", \"value\")\n            ))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  instance1:\n    type: opentelekomcloud:GeminiInstanceV3\n    name: instance_1\n    properties:\n      name: gaussdb_cassandra_instance_1\n      password: ${password}\n      flavor: geminidb.cassandra.xlarge.8\n      volumeSize: 100\n      vpcId: ${vpcId}\n      subnetId: ${subnetId}\n      securityGroupId: ${secgroupId}\n      availabilityZone: ${availabilityZone}\n      tags:\n        foo: bar\n        key: value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create an instance with backup strategy\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst instance1 = new opentelekomcloud.GeminiInstanceV3(\"instance_1\", {\n    name: \"gaussdb_cassandra_instance_1\",\n    password: password,\n    flavor: \"geminidb.cassandra.xlarge.4\",\n    volumeSize: 100,\n    vpcId: vpcId,\n    subnetId: subnetId,\n    securityGroupId: secgroupId,\n    availabilityZone: availabilityZone,\n    backupStrategy: {\n        startTime: \"03:00-04:00\",\n        keepDays: 14,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ninstance1 = opentelekomcloud.GeminiInstanceV3(\"instance_1\",\n    name=\"gaussdb_cassandra_instance_1\",\n    password=password,\n    flavor=\"geminidb.cassandra.xlarge.4\",\n    volume_size=100,\n    vpc_id=vpc_id,\n    subnet_id=subnet_id,\n    security_group_id=secgroup_id,\n    availability_zone=availability_zone,\n    backup_strategy={\n        \"start_time\": \"03:00-04:00\",\n        \"keep_days\": 14,\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var instance1 = new Opentelekomcloud.GeminiInstanceV3(\"instance_1\", new()\n    {\n        Name = \"gaussdb_cassandra_instance_1\",\n        Password = password,\n        Flavor = \"geminidb.cassandra.xlarge.4\",\n        VolumeSize = 100,\n        VpcId = vpcId,\n        SubnetId = subnetId,\n        SecurityGroupId = secgroupId,\n        AvailabilityZone = availabilityZone,\n        BackupStrategy = new Opentelekomcloud.Inputs.GeminiInstanceV3BackupStrategyArgs\n        {\n            StartTime = \"03:00-04:00\",\n            KeepDays = 14,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewGeminiInstanceV3(ctx, \"instance_1\", \u0026opentelekomcloud.GeminiInstanceV3Args{\n\t\t\tName:             pulumi.String(\"gaussdb_cassandra_instance_1\"),\n\t\t\tPassword:         pulumi.Any(password),\n\t\t\tFlavor:           pulumi.String(\"geminidb.cassandra.xlarge.4\"),\n\t\t\tVolumeSize:       pulumi.Float64(100),\n\t\t\tVpcId:            pulumi.Any(vpcId),\n\t\t\tSubnetId:         pulumi.Any(subnetId),\n\t\t\tSecurityGroupId:  pulumi.Any(secgroupId),\n\t\t\tAvailabilityZone: pulumi.Any(availabilityZone),\n\t\t\tBackupStrategy: \u0026opentelekomcloud.GeminiInstanceV3BackupStrategyArgs{\n\t\t\t\tStartTime: pulumi.String(\"03:00-04:00\"),\n\t\t\t\tKeepDays:  pulumi.Float64(14),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.GeminiInstanceV3;\nimport com.pulumi.opentelekomcloud.GeminiInstanceV3Args;\nimport com.pulumi.opentelekomcloud.inputs.GeminiInstanceV3BackupStrategyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var instance1 = new GeminiInstanceV3(\"instance1\", GeminiInstanceV3Args.builder()\n            .name(\"gaussdb_cassandra_instance_1\")\n            .password(password)\n            .flavor(\"geminidb.cassandra.xlarge.4\")\n            .volumeSize(100.0)\n            .vpcId(vpcId)\n            .subnetId(subnetId)\n            .securityGroupId(secgroupId)\n            .availabilityZone(availabilityZone)\n            .backupStrategy(GeminiInstanceV3BackupStrategyArgs.builder()\n                .startTime(\"03:00-04:00\")\n                .keepDays(14.0)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  instance1:\n    type: opentelekomcloud:GeminiInstanceV3\n    name: instance_1\n    properties:\n      name: gaussdb_cassandra_instance_1\n      password: ${password}\n      flavor: geminidb.cassandra.xlarge.4\n      volumeSize: 100\n      vpcId: ${vpcId}\n      subnetId: ${subnetId}\n      securityGroupId: ${secgroupId}\n      availabilityZone: ${availabilityZone}\n      backupStrategy:\n        startTime: 03:00-04:00\n        keepDays: 14\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGeminiDB instance can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/geminiInstanceV3:GeminiInstanceV3 instance_1 749112383d5342e9acb6c7825801b452in06\n```\n\nDue to the security reasons, `password` can not be imported. It can be ignored as shown below.\n\nhcl\n\nresource \"opentelekomcloud_gemini_instance_v3\" \"instance_1\" {\n\n  lifecycle {\n\n    ignore_changes = [\n\n      password,\n\n    ]\n\n  }\n\n}\n\n","properties":{"availabilityZone":{"type":"string","description":"Specifies the AZ name. For a three-AZ deployment instance,\nuse commas (,) to separate the AZs, for example, `eu-de-01,eu-de-02,eu-de-03`.\nChanging this parameter will create a new resource.\n"},"backupStrategy":{"$ref":"#/types/opentelekomcloud:index%2FGeminiInstanceV3BackupStrategy:GeminiInstanceV3BackupStrategy","description":"Specifies the advanced backup policy. Structure is documented below.\n"},"configurationId":{"type":"string","description":"Specifies the Parameter Template ID.\n"},"datastore":{"$ref":"#/types/opentelekomcloud:index%2FGeminiInstanceV3Datastore:GeminiInstanceV3Datastore","description":"Specifies the database information. Structure is documented below. Changing\nthis parameter will create a new resource.\n"},"dbUserName":{"type":"string","description":"Indicates the default username.\n"},"flavor":{"type":"string","description":"Specifies the instance specifications. For details,\nsee [DB Instance Specifications](https://docs.otc.t-systems.com/geminidb/api-ref/apis_v3/versions_and_specifications/querying_instance_specifications.html).\n"},"geminiInstanceV3Id":{"type":"string","description":"Indicates the node ID.\n"},"mode":{"type":"string","description":"Indicates the instance type.\n"},"name":{"type":"string","description":"Specifies the instance name, which can be the same as an existing instance name. The value\nmust be 4 to 64 characters in length and start with a letter. It is case-sensitive and can contain only letters,\ndigits, hyphens (-), and underscores (_).\n"},"nodeNum":{"type":"number","description":"Specifies the number of nodes, ranges from 3 to 200. Defaults to 3.\n"},"nodes":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FGeminiInstanceV3Node:GeminiInstanceV3Node"},"description":"Indicates the instance nodes information. Structure is documented below.\n"},"password":{"type":"string","description":"Specifies the database password. The value must be 8 to 32 characters in length,\nincluding uppercase and lowercase letters, digits, and special characters, such as ~!@#%^*-_=+? You are advised to\nenter a strong password to improve security, preventing security risks such as brute force cracking.\n","secret":true},"period":{"type":"number"},"port":{"type":"number","description":"Indicates the database port.\n"},"privateIps":{"type":"array","items":{"type":"string"},"description":"Indicates the IP address list of the db.\n"},"region":{"type":"string","description":"Indicates the DB instance region.\n"},"securityGroupId":{"type":"string","description":"Specifies the security group ID. Required if the selected subnet doesn't\nenable network ACL.\n"},"ssl":{"type":"boolean","description":"Specifies whether to enable or disable SSL. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this\nparameter will create a new resource.\n"},"status":{"type":"string","description":"Indicates the node status.\n"},"subnetId":{"type":"string","description":"Specifies the network ID of a subnet. Changing this parameter will create a\nnew resource.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"The key/value pairs to associate with the instance.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FGeminiInstanceV3Timeouts:GeminiInstanceV3Timeouts"},"volumeSize":{"type":"number","description":"Specifies the storage space in GB. The value must be a multiple of 10. For a GeminiDB\nCassandra DB instance, the minimum storage space is 100 GB, and the maximum storage space is related to the instance\nperformance specifications.\n"},"vpcId":{"type":"string","description":"Specifies the VPC ID. Changing this parameter will create a new resource.\n"}},"type":"object","required":["availabilityZone","configurationId","dbUserName","flavor","geminiInstanceV3Id","mode","name","nodes","password","port","privateIps","region","status","subnetId","volumeSize","vpcId"],"inputProperties":{"availabilityZone":{"type":"string","description":"Specifies the AZ name. For a three-AZ deployment instance,\nuse commas (,) to separate the AZs, for example, `eu-de-01,eu-de-02,eu-de-03`.\nChanging this parameter will create a new resource.\n"},"backupStrategy":{"$ref":"#/types/opentelekomcloud:index%2FGeminiInstanceV3BackupStrategy:GeminiInstanceV3BackupStrategy","description":"Specifies the advanced backup policy. Structure is documented below.\n"},"configurationId":{"type":"string","description":"Specifies the Parameter Template ID.\n"},"datastore":{"$ref":"#/types/opentelekomcloud:index%2FGeminiInstanceV3Datastore:GeminiInstanceV3Datastore","description":"Specifies the database information. Structure is documented below. Changing\nthis parameter will create a new resource.\n"},"flavor":{"type":"string","description":"Specifies the instance specifications. For details,\nsee [DB Instance Specifications](https://docs.otc.t-systems.com/geminidb/api-ref/apis_v3/versions_and_specifications/querying_instance_specifications.html).\n"},"geminiInstanceV3Id":{"type":"string","description":"Indicates the node ID.\n"},"name":{"type":"string","description":"Specifies the instance name, which can be the same as an existing instance name. The value\nmust be 4 to 64 characters in length and start with a letter. It is case-sensitive and can contain only letters,\ndigits, hyphens (-), and underscores (_).\n"},"nodeNum":{"type":"number","description":"Specifies the number of nodes, ranges from 3 to 200. Defaults to 3.\n"},"password":{"type":"string","description":"Specifies the database password. The value must be 8 to 32 characters in length,\nincluding uppercase and lowercase letters, digits, and special characters, such as ~!@#%^*-_=+? You are advised to\nenter a strong password to improve security, preventing security risks such as brute force cracking.\n","secret":true},"period":{"type":"number"},"securityGroupId":{"type":"string","description":"Specifies the security group ID. Required if the selected subnet doesn't\nenable network ACL.\n"},"ssl":{"type":"boolean","description":"Specifies whether to enable or disable SSL. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this\nparameter will create a new resource.\n"},"subnetId":{"type":"string","description":"Specifies the network ID of a subnet. Changing this parameter will create a\nnew resource.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"The key/value pairs to associate with the instance.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FGeminiInstanceV3Timeouts:GeminiInstanceV3Timeouts"},"volumeSize":{"type":"number","description":"Specifies the storage space in GB. The value must be a multiple of 10. For a GeminiDB\nCassandra DB instance, the minimum storage space is 100 GB, and the maximum storage space is related to the instance\nperformance specifications.\n"},"vpcId":{"type":"string","description":"Specifies the VPC ID. Changing this parameter will create a new resource.\n"}},"requiredInputs":["availabilityZone","flavor","password","subnetId","volumeSize","vpcId"],"stateInputs":{"description":"Input properties used for looking up and filtering GeminiInstanceV3 resources.\n","properties":{"availabilityZone":{"type":"string","description":"Specifies the AZ name. For a three-AZ deployment instance,\nuse commas (,) to separate the AZs, for example, `eu-de-01,eu-de-02,eu-de-03`.\nChanging this parameter will create a new resource.\n"},"backupStrategy":{"$ref":"#/types/opentelekomcloud:index%2FGeminiInstanceV3BackupStrategy:GeminiInstanceV3BackupStrategy","description":"Specifies the advanced backup policy. Structure is documented below.\n"},"configurationId":{"type":"string","description":"Specifies the Parameter Template ID.\n"},"datastore":{"$ref":"#/types/opentelekomcloud:index%2FGeminiInstanceV3Datastore:GeminiInstanceV3Datastore","description":"Specifies the database information. Structure is documented below. Changing\nthis parameter will create a new resource.\n"},"dbUserName":{"type":"string","description":"Indicates the default username.\n"},"flavor":{"type":"string","description":"Specifies the instance specifications. For details,\nsee [DB Instance Specifications](https://docs.otc.t-systems.com/geminidb/api-ref/apis_v3/versions_and_specifications/querying_instance_specifications.html).\n"},"geminiInstanceV3Id":{"type":"string","description":"Indicates the node ID.\n"},"mode":{"type":"string","description":"Indicates the instance type.\n"},"name":{"type":"string","description":"Specifies the instance name, which can be the same as an existing instance name. The value\nmust be 4 to 64 characters in length and start with a letter. It is case-sensitive and can contain only letters,\ndigits, hyphens (-), and underscores (_).\n"},"nodeNum":{"type":"number","description":"Specifies the number of nodes, ranges from 3 to 200. Defaults to 3.\n"},"nodes":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FGeminiInstanceV3Node:GeminiInstanceV3Node"},"description":"Indicates the instance nodes information. Structure is documented below.\n"},"password":{"type":"string","description":"Specifies the database password. The value must be 8 to 32 characters in length,\nincluding uppercase and lowercase letters, digits, and special characters, such as ~!@#%^*-_=+? You are advised to\nenter a strong password to improve security, preventing security risks such as brute force cracking.\n","secret":true},"period":{"type":"number"},"port":{"type":"number","description":"Indicates the database port.\n"},"privateIps":{"type":"array","items":{"type":"string"},"description":"Indicates the IP address list of the db.\n"},"region":{"type":"string","description":"Indicates the DB instance region.\n"},"securityGroupId":{"type":"string","description":"Specifies the security group ID. Required if the selected subnet doesn't\nenable network ACL.\n"},"ssl":{"type":"boolean","description":"Specifies whether to enable or disable SSL. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this\nparameter will create a new resource.\n"},"status":{"type":"string","description":"Indicates the node status.\n"},"subnetId":{"type":"string","description":"Specifies the network ID of a subnet. Changing this parameter will create a\nnew resource.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"The key/value pairs to associate with the instance.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FGeminiInstanceV3Timeouts:GeminiInstanceV3Timeouts"},"volumeSize":{"type":"number","description":"Specifies the storage space in GB. The value must be a multiple of 10. For a GeminiDB\nCassandra DB instance, the minimum storage space is 100 GB, and the maximum storage space is related to the instance\nperformance specifications.\n"},"vpcId":{"type":"string","description":"Specifies the VPC ID. Changing this parameter will create a new resource.\n"}},"type":"object"}},"opentelekomcloud:index/geminiTemplateV3:GeminiTemplateV3":{"description":"Up-to-date reference of API arguments for GeminiDB you can get at\n[documentation portal](https://docs.otc.t-systems.com/geminidb/api-ref/apis_v3/parameter_templates/index.html).\n\nManages a GeminiDB Parameter Template resource within OpenTelekomCloud.\n\n## Example Usage\n\n### Basic Parameter Template\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst template = new opentelekomcloud.GeminiTemplateV3(\"template\", {\n    name: \"cassandra_template\",\n    description: \"Custom Cassandra configuration\",\n    instanceType: \"cassandra\",\n    engineVersion: \"3.11\",\n    parameters: [\n        {\n            name: \"write_request_timeout_in_ms\",\n            value: \"7000\",\n        },\n        {\n            name: \"read_request_timeout_in_ms\",\n            value: \"8000\",\n        },\n        {\n            name: \"slow_query_log_timeout_in_ms\",\n            value: \"15000\",\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ntemplate = opentelekomcloud.GeminiTemplateV3(\"template\",\n    name=\"cassandra_template\",\n    description=\"Custom Cassandra configuration\",\n    instance_type=\"cassandra\",\n    engine_version=\"3.11\",\n    parameters=[\n        {\n            \"name\": \"write_request_timeout_in_ms\",\n            \"value\": \"7000\",\n        },\n        {\n            \"name\": \"read_request_timeout_in_ms\",\n            \"value\": \"8000\",\n        },\n        {\n            \"name\": \"slow_query_log_timeout_in_ms\",\n            \"value\": \"15000\",\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var template = new Opentelekomcloud.GeminiTemplateV3(\"template\", new()\n    {\n        Name = \"cassandra_template\",\n        Description = \"Custom Cassandra configuration\",\n        InstanceType = \"cassandra\",\n        EngineVersion = \"3.11\",\n        Parameters = new[]\n        {\n            new Opentelekomcloud.Inputs.GeminiTemplateV3ParameterArgs\n            {\n                Name = \"write_request_timeout_in_ms\",\n                Value = \"7000\",\n            },\n            new Opentelekomcloud.Inputs.GeminiTemplateV3ParameterArgs\n            {\n                Name = \"read_request_timeout_in_ms\",\n                Value = \"8000\",\n            },\n            new Opentelekomcloud.Inputs.GeminiTemplateV3ParameterArgs\n            {\n                Name = \"slow_query_log_timeout_in_ms\",\n                Value = \"15000\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewGeminiTemplateV3(ctx, \"template\", \u0026opentelekomcloud.GeminiTemplateV3Args{\n\t\t\tName:          pulumi.String(\"cassandra_template\"),\n\t\t\tDescription:   pulumi.String(\"Custom Cassandra configuration\"),\n\t\t\tInstanceType:  pulumi.String(\"cassandra\"),\n\t\t\tEngineVersion: pulumi.String(\"3.11\"),\n\t\t\tParameters: opentelekomcloud.GeminiTemplateV3ParameterArray{\n\t\t\t\t\u0026opentelekomcloud.GeminiTemplateV3ParameterArgs{\n\t\t\t\t\tName:  pulumi.String(\"write_request_timeout_in_ms\"),\n\t\t\t\t\tValue: pulumi.String(\"7000\"),\n\t\t\t\t},\n\t\t\t\t\u0026opentelekomcloud.GeminiTemplateV3ParameterArgs{\n\t\t\t\t\tName:  pulumi.String(\"read_request_timeout_in_ms\"),\n\t\t\t\t\tValue: pulumi.String(\"8000\"),\n\t\t\t\t},\n\t\t\t\t\u0026opentelekomcloud.GeminiTemplateV3ParameterArgs{\n\t\t\t\t\tName:  pulumi.String(\"slow_query_log_timeout_in_ms\"),\n\t\t\t\t\tValue: pulumi.String(\"15000\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.GeminiTemplateV3;\nimport com.pulumi.opentelekomcloud.GeminiTemplateV3Args;\nimport com.pulumi.opentelekomcloud.inputs.GeminiTemplateV3ParameterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var template = new GeminiTemplateV3(\"template\", GeminiTemplateV3Args.builder()\n            .name(\"cassandra_template\")\n            .description(\"Custom Cassandra configuration\")\n            .instanceType(\"cassandra\")\n            .engineVersion(\"3.11\")\n            .parameters(            \n                GeminiTemplateV3ParameterArgs.builder()\n                    .name(\"write_request_timeout_in_ms\")\n                    .value(\"7000\")\n                    .build(),\n                GeminiTemplateV3ParameterArgs.builder()\n                    .name(\"read_request_timeout_in_ms\")\n                    .value(\"8000\")\n                    .build(),\n                GeminiTemplateV3ParameterArgs.builder()\n                    .name(\"slow_query_log_timeout_in_ms\")\n                    .value(\"15000\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  template:\n    type: opentelekomcloud:GeminiTemplateV3\n    properties:\n      name: cassandra_template\n      description: Custom Cassandra configuration\n      instanceType: cassandra\n      engineVersion: '3.11'\n      parameters:\n        - name: write_request_timeout_in_ms\n          value: '7000'\n        - name: read_request_timeout_in_ms\n          value: '8000'\n        - name: slow_query_log_timeout_in_ms\n          value: '15000'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"createdAt":{"type":"string","description":"The creation time in the `yyyy-MM-ddTHH:mm:ssZ` format.\n"},"description":{"type":"string","description":"Specifies the parameter template description. It can contain a\nmaximum of 256 characters. The following special characters are not allowed: `\u003e!\u003c\"\u0026'=`\n"},"engineVersion":{"type":"string","description":"Specifies the database version. Currently, only `3.11`\nis supported for GeminiDB Cassandra. Changing this creates a new resource.\n"},"geminiTemplateV3Id":{"type":"string","description":"The resource ID (parameter template ID).\n"},"instanceType":{"type":"string","description":"Specifies the database type. Currently, only \u003cspan pulumi-lang-nodejs=\"`cassandra`\" pulumi-lang-dotnet=\"`Cassandra`\" pulumi-lang-go=\"`cassandra`\" pulumi-lang-python=\"`cassandra`\" pulumi-lang-yaml=\"`cassandra`\" pulumi-lang-java=\"`cassandra`\"\u003e`cassandra`\u003c/span\u003e\nis supported. Changing this creates a new resource.\n"},"name":{"type":"string","description":"Specifies the parameter template name. The template name can include\n1 to 64 characters and can contain only uppercase letters, lowercase letters, digits, hyphens (-),\nunderscores (_), and periods (.). Changing this creates a new resource.\n"},"parameters":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FGeminiTemplateV3Parameter:GeminiTemplateV3Parameter"},"description":"Specifies the parameter values. The structure is documented below.\n"},"region":{"type":"string","description":"The region in which the parameter template is created.\n"},"updatedAt":{"type":"string","description":"The update time in the `yyyy-MM-ddTHH:mm:ssZ` format.\n"}},"type":"object","required":["createdAt","description","engineVersion","geminiTemplateV3Id","instanceType","name","parameters","region","updatedAt"],"inputProperties":{"description":{"type":"string","description":"Specifies the parameter template description. It can contain a\nmaximum of 256 characters. The following special characters are not allowed: `\u003e!\u003c\"\u0026'=`\n"},"engineVersion":{"type":"string","description":"Specifies the database version. Currently, only `3.11`\nis supported for GeminiDB Cassandra. Changing this creates a new resource.\n"},"geminiTemplateV3Id":{"type":"string","description":"The resource ID (parameter template ID).\n"},"instanceType":{"type":"string","description":"Specifies the database type. Currently, only \u003cspan pulumi-lang-nodejs=\"`cassandra`\" pulumi-lang-dotnet=\"`Cassandra`\" pulumi-lang-go=\"`cassandra`\" pulumi-lang-python=\"`cassandra`\" pulumi-lang-yaml=\"`cassandra`\" pulumi-lang-java=\"`cassandra`\"\u003e`cassandra`\u003c/span\u003e\nis supported. Changing this creates a new resource.\n"},"name":{"type":"string","description":"Specifies the parameter template name. The template name can include\n1 to 64 characters and can contain only uppercase letters, lowercase letters, digits, hyphens (-),\nunderscores (_), and periods (.). Changing this creates a new resource.\n"},"parameters":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FGeminiTemplateV3Parameter:GeminiTemplateV3Parameter"},"description":"Specifies the parameter values. The structure is documented below.\n"}},"requiredInputs":["engineVersion","instanceType","parameters"],"stateInputs":{"description":"Input properties used for looking up and filtering GeminiTemplateV3 resources.\n","properties":{"createdAt":{"type":"string","description":"The creation time in the `yyyy-MM-ddTHH:mm:ssZ` format.\n"},"description":{"type":"string","description":"Specifies the parameter template description. It can contain a\nmaximum of 256 characters. The following special characters are not allowed: `\u003e!\u003c\"\u0026'=`\n"},"engineVersion":{"type":"string","description":"Specifies the database version. Currently, only `3.11`\nis supported for GeminiDB Cassandra. Changing this creates a new resource.\n"},"geminiTemplateV3Id":{"type":"string","description":"The resource ID (parameter template ID).\n"},"instanceType":{"type":"string","description":"Specifies the database type. Currently, only \u003cspan pulumi-lang-nodejs=\"`cassandra`\" pulumi-lang-dotnet=\"`Cassandra`\" pulumi-lang-go=\"`cassandra`\" pulumi-lang-python=\"`cassandra`\" pulumi-lang-yaml=\"`cassandra`\" pulumi-lang-java=\"`cassandra`\"\u003e`cassandra`\u003c/span\u003e\nis supported. Changing this creates a new resource.\n"},"name":{"type":"string","description":"Specifies the parameter template name. The template name can include\n1 to 64 characters and can contain only uppercase letters, lowercase letters, digits, hyphens (-),\nunderscores (_), and periods (.). Changing this creates a new resource.\n"},"parameters":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FGeminiTemplateV3Parameter:GeminiTemplateV3Parameter"},"description":"Specifies the parameter values. The structure is documented below.\n"},"region":{"type":"string","description":"The region in which the parameter template is created.\n"},"updatedAt":{"type":"string","description":"The update time in the `yyyy-MM-ddTHH:mm:ssZ` format.\n"}},"type":"object"}},"opentelekomcloud:index/hssHostGroupV5:HssHostGroupV5":{"description":"Up-to-date reference of API arguments for HSS host group you can get at\n[documentation portal](https://docs.otc.t-systems.com/host-security-service/api-ref/api_description/server_management/creating_a_server_group.html#addhostsgroup).\n\nManages an HSS host group resource within OpenTelekomCloud.\n\n## Example Usage\n\n### Create an HSS host group and bind ECS instances\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst hostGroupName = config.requireObject\u003cany\u003e(\"hostGroupName\");\nconst hostIds = config.requireObject\u003cArray\u003cstring\u003e\u003e(\"hostIds\");\nconst test = new opentelekomcloud.HssHostGroupV5(\"test\", {\n    name: hostGroupName,\n    hostIds: hostIds,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nhost_group_name = config.require_object(\"hostGroupName\")\nhost_ids = config.require_object(\"hostIds\")\ntest = opentelekomcloud.HssHostGroupV5(\"test\",\n    name=host_group_name,\n    host_ids=host_ids)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var hostGroupName = config.RequireObject\u003cdynamic\u003e(\"hostGroupName\");\n    var hostIds = config.RequireObject\u003cstring[]\u003e(\"hostIds\");\n    var test = new Opentelekomcloud.HssHostGroupV5(\"test\", new()\n    {\n        Name = hostGroupName,\n        HostIds = hostIds,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\thostGroupName := cfg.RequireObject(\"hostGroupName\")\n\t\thostIds := cfg.Require(\"hostIds\")\n\t\t_, err := opentelekomcloud.NewHssHostGroupV5(ctx, \"test\", \u0026opentelekomcloud.HssHostGroupV5Args{\n\t\t\tName:    pulumi.Any(hostGroupName),\n\t\t\tHostIds: hostIds,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.HssHostGroupV5;\nimport com.pulumi.opentelekomcloud.HssHostGroupV5Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var hostGroupName = config.get(\"hostGroupName\");\n        final var hostIds = config.get(\"hostIds\");\n        var test = new HssHostGroupV5(\"test\", HssHostGroupV5Args.builder()\n            .name(hostGroupName)\n            .hostIds(hostIds)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  hostGroupName:\n    type: dynamic\n  hostIds:\n    type: list(string)\nresources:\n  test:\n    type: opentelekomcloud:HssHostGroupV5\n    properties:\n      name: ${hostGroupName}\n      hostIds: ${hostIds}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe host group resource can be imported using `id`, e.g.\n\nbash\n\n```sh\n$ pulumi import opentelekomcloud:index/hssHostGroupV5:HssHostGroupV5 group \u003cid\u003e\n```\n\n","properties":{"hostIds":{"type":"array","items":{"type":"string"},"description":"Specifies the list of host IDs.\n"},"hostNum":{"type":"number","description":"The total host number.\n"},"hssHostGroupV5Id":{"type":"string","description":"The resource ID in UUID format.\n"},"name":{"type":"string","description":"Specifies the name of the host group.\nThe valid length is limited from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e, only Chinese characters, English letters, digits, hyphens (-),\nunderscores (_), dots (.), pluses (+) and asterisks (*) are allowed.\nThe Chinese characters must be in `UTF-8` or `Unicode` format.\n"},"region":{"type":"string","description":"The region where the host group is located.\n"},"riskHostNum":{"type":"number","description":"The number of hosts at risk.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FHssHostGroupV5Timeouts:HssHostGroupV5Timeouts"},"unprotectHostIds":{"type":"array","items":{"type":"string"},"description":"The ID list of the unprotect hosts.\n"},"unprotectHostNum":{"type":"number","description":"The number of unprotect hosts.\n"}},"type":"object","required":["hostNum","hssHostGroupV5Id","name","region","riskHostNum","unprotectHostIds","unprotectHostNum"],"inputProperties":{"hostIds":{"type":"array","items":{"type":"string"},"description":"Specifies the list of host IDs.\n"},"hssHostGroupV5Id":{"type":"string","description":"The resource ID in UUID format.\n"},"name":{"type":"string","description":"Specifies the name of the host group.\nThe valid length is limited from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e, only Chinese characters, English letters, digits, hyphens (-),\nunderscores (_), dots (.), pluses (+) and asterisks (*) are allowed.\nThe Chinese characters must be in `UTF-8` or `Unicode` format.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FHssHostGroupV5Timeouts:HssHostGroupV5Timeouts"}},"stateInputs":{"description":"Input properties used for looking up and filtering HssHostGroupV5 resources.\n","properties":{"hostIds":{"type":"array","items":{"type":"string"},"description":"Specifies the list of host IDs.\n"},"hostNum":{"type":"number","description":"The total host number.\n"},"hssHostGroupV5Id":{"type":"string","description":"The resource ID in UUID format.\n"},"name":{"type":"string","description":"Specifies the name of the host group.\nThe valid length is limited from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e, only Chinese characters, English letters, digits, hyphens (-),\nunderscores (_), dots (.), pluses (+) and asterisks (*) are allowed.\nThe Chinese characters must be in `UTF-8` or `Unicode` format.\n"},"region":{"type":"string","description":"The region where the host group is located.\n"},"riskHostNum":{"type":"number","description":"The number of hosts at risk.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FHssHostGroupV5Timeouts:HssHostGroupV5Timeouts"},"unprotectHostIds":{"type":"array","items":{"type":"string"},"description":"The ID list of the unprotect hosts.\n"},"unprotectHostNum":{"type":"number","description":"The number of unprotect hosts.\n"}},"type":"object"}},"opentelekomcloud:index/hssHostProtectionV5:HssHostProtectionV5":{"description":"Up-to-date reference of API arguments for HSS host protection you can get at\n[documentation portal](https://docs.otc.t-systems.com/host-security-service/api-ref/api_description/server_management/changing_the_protection_status.html).\n\nManages an HSS host protection resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst hostId = config.requireObject\u003cany\u003e(\"hostId\");\nconst pro = new opentelekomcloud.HssHostProtectionV5(\"pro\", {\n    hostId: hostId,\n    version: \"hss.version.premium\",\n    chargingMode: \"on_demand\",\n    isWaitHostAvailable: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nhost_id = config.require_object(\"hostId\")\npro = opentelekomcloud.HssHostProtectionV5(\"pro\",\n    host_id=host_id,\n    version=\"hss.version.premium\",\n    charging_mode=\"on_demand\",\n    is_wait_host_available=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var hostId = config.RequireObject\u003cdynamic\u003e(\"hostId\");\n    var pro = new Opentelekomcloud.HssHostProtectionV5(\"pro\", new()\n    {\n        HostId = hostId,\n        Version = \"hss.version.premium\",\n        ChargingMode = \"on_demand\",\n        IsWaitHostAvailable = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\thostId := cfg.RequireObject(\"hostId\")\n\t\t_, err := opentelekomcloud.NewHssHostProtectionV5(ctx, \"pro\", \u0026opentelekomcloud.HssHostProtectionV5Args{\n\t\t\tHostId:              pulumi.Any(hostId),\n\t\t\tVersion:             pulumi.String(\"hss.version.premium\"),\n\t\t\tChargingMode:        pulumi.String(\"on_demand\"),\n\t\t\tIsWaitHostAvailable: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.HssHostProtectionV5;\nimport com.pulumi.opentelekomcloud.HssHostProtectionV5Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var hostId = config.get(\"hostId\");\n        var pro = new HssHostProtectionV5(\"pro\", HssHostProtectionV5Args.builder()\n            .hostId(hostId)\n            .version(\"hss.version.premium\")\n            .chargingMode(\"on_demand\")\n            .isWaitHostAvailable(true)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  hostId:\n    type: dynamic\nresources:\n  pro:\n    type: opentelekomcloud:HssHostProtectionV5\n    properties:\n      hostId: ${hostId}\n      version: hss.version.premium\n      chargingMode: on_demand\n      isWaitHostAvailable: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe host protection can be imported using the `id`, e.g.\n\nbash\n\n```sh\n$ pulumi import opentelekomcloud:index/hssHostProtectionV5:HssHostProtectionV5 pro \u003cid\u003e\n```\n\nNote that the imported state may not be identical to your resource definition, due to some attributes missing from the\n\nAPI response, security or some other reason. The missing attributes include: `resource_id`, `is_wait_host_available`.\n\nIt is generally recommended running `pulumi preview` after importing a resource.\n\nYou can then decide if changes should be applied to the resource, or the resource definition\n\nshould be updated to align with the resource. Also, you can ignore changes as below.\n\nhcl\n\nresource \"opentelekomcloud_hss_host_protection_v5\" \"pro\" {\n\n  lifecycle {\n\n    ignore_changes = [\n\n      quota_id, is_wait_host_available,\n\n    ]\n\n  }\n\n}\n\n","properties":{"agentId":{"type":"string","description":"The agent ID installed on the host.\n"},"agentStatus":{"type":"string","description":"The agent status of the host. The value can be \u003cspan pulumi-lang-nodejs=\"`installed`\" pulumi-lang-dotnet=\"`Installed`\" pulumi-lang-go=\"`installed`\" pulumi-lang-python=\"`installed`\" pulumi-lang-yaml=\"`installed`\" pulumi-lang-java=\"`installed`\"\u003e`installed`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`notInstalled`\" pulumi-lang-dotnet=\"`NotInstalled`\" pulumi-lang-go=\"`notInstalled`\" pulumi-lang-python=\"`not_installed`\" pulumi-lang-yaml=\"`notInstalled`\" pulumi-lang-java=\"`notInstalled`\"\u003e`not_installed`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`online`\" pulumi-lang-dotnet=\"`Online`\" pulumi-lang-go=\"`online`\" pulumi-lang-python=\"`online`\" pulumi-lang-yaml=\"`online`\" pulumi-lang-java=\"`online`\"\u003e`online`\u003c/span\u003e,\n\u003cspan pulumi-lang-nodejs=\"`offline`\" pulumi-lang-dotnet=\"`Offline`\" pulumi-lang-go=\"`offline`\" pulumi-lang-python=\"`offline`\" pulumi-lang-yaml=\"`offline`\" pulumi-lang-java=\"`offline`\"\u003e`offline`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`installFailed`\" pulumi-lang-dotnet=\"`InstallFailed`\" pulumi-lang-go=\"`installFailed`\" pulumi-lang-python=\"`install_failed`\" pulumi-lang-yaml=\"`installFailed`\" pulumi-lang-java=\"`installFailed`\"\u003e`install_failed`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`installing`\" pulumi-lang-dotnet=\"`Installing`\" pulumi-lang-go=\"`installing`\" pulumi-lang-python=\"`installing`\" pulumi-lang-yaml=\"`installing`\" pulumi-lang-java=\"`installing`\"\u003e`installing`\u003c/span\u003e.\n"},"assetValue":{"type":"string","description":"The asset importance. The value can be \u003cspan pulumi-lang-nodejs=\"`important`\" pulumi-lang-dotnet=\"`Important`\" pulumi-lang-go=\"`important`\" pulumi-lang-python=\"`important`\" pulumi-lang-yaml=\"`important`\" pulumi-lang-java=\"`important`\"\u003e`important`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`common`\" pulumi-lang-dotnet=\"`Common`\" pulumi-lang-go=\"`common`\" pulumi-lang-python=\"`common`\" pulumi-lang-yaml=\"`common`\" pulumi-lang-java=\"`common`\"\u003e`common`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`test`\" pulumi-lang-dotnet=\"`Test`\" pulumi-lang-go=\"`test`\" pulumi-lang-python=\"`test`\" pulumi-lang-yaml=\"`test`\" pulumi-lang-java=\"`test`\"\u003e`test`\u003c/span\u003e.\n"},"chargingMode":{"type":"string","description":"Specifies the charging mode for host protection.\nThe valid values are as follows:\n"},"detectResult":{"type":"string","description":"The security detection result of the host. The value can be \u003cspan pulumi-lang-nodejs=\"`undetected`\" pulumi-lang-dotnet=\"`Undetected`\" pulumi-lang-go=\"`undetected`\" pulumi-lang-python=\"`undetected`\" pulumi-lang-yaml=\"`undetected`\" pulumi-lang-java=\"`undetected`\"\u003e`undetected`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`clean`\" pulumi-lang-dotnet=\"`Clean`\" pulumi-lang-go=\"`clean`\" pulumi-lang-python=\"`clean`\" pulumi-lang-yaml=\"`clean`\" pulumi-lang-java=\"`clean`\"\u003e`clean`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`risk`\" pulumi-lang-dotnet=\"`Risk`\" pulumi-lang-go=\"`risk`\" pulumi-lang-python=\"`risk`\" pulumi-lang-yaml=\"`risk`\" pulumi-lang-java=\"`risk`\"\u003e`risk`\u003c/span\u003e,\nor \u003cspan pulumi-lang-nodejs=\"`scanning`\" pulumi-lang-dotnet=\"`Scanning`\" pulumi-lang-go=\"`scanning`\" pulumi-lang-python=\"`scanning`\" pulumi-lang-yaml=\"`scanning`\" pulumi-lang-java=\"`scanning`\"\u003e`scanning`\u003c/span\u003e.\n"},"hostId":{"type":"string","description":"Specifies the host ID for the host protection.\nChanging this parameter will create a new resource.\n\n\u003e Before using host protection, it is necessary to ensure that the agent status of the host is \u003cspan pulumi-lang-nodejs=\"`online`\" pulumi-lang-dotnet=\"`Online`\" pulumi-lang-go=\"`online`\" pulumi-lang-python=\"`online`\" pulumi-lang-yaml=\"`online`\" pulumi-lang-java=\"`online`\"\u003e`online`\u003c/span\u003e.\n"},"hostName":{"type":"string","description":"The host name.\n"},"hostStatus":{"type":"string","description":"The host status. The value can be `ACTIVE`, `SHUTOFF`, `BUILDING`, or `ERROR`.\n"},"hssHostProtectionV5Id":{"type":"string","description":"The resource ID same as \u003cspan pulumi-lang-nodejs=\"`hostId`\" pulumi-lang-dotnet=\"`HostId`\" pulumi-lang-go=\"`hostId`\" pulumi-lang-python=\"`host_id`\" pulumi-lang-yaml=\"`hostId`\" pulumi-lang-java=\"`hostId`\"\u003e`host_id`\u003c/span\u003e.\n"},"isWaitHostAvailable":{"type":"boolean","description":"Specifies whether to wait for the host agent status to become \u003cspan pulumi-lang-nodejs=\"`online`\" pulumi-lang-dotnet=\"`Online`\" pulumi-lang-go=\"`online`\" pulumi-lang-python=\"`online`\" pulumi-lang-yaml=\"`online`\" pulumi-lang-java=\"`online`\"\u003e`online`\u003c/span\u003e.\nThe value can be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e If this field is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the program will wait for a maximum of \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e minutes until the host's agent status\nbecomes \u003cspan pulumi-lang-nodejs=\"`online`\" pulumi-lang-dotnet=\"`Online`\" pulumi-lang-go=\"`online`\" pulumi-lang-python=\"`online`\" pulumi-lang-yaml=\"`online`\" pulumi-lang-java=\"`online`\"\u003e`online`\u003c/span\u003e, and then enable host protection.\n"},"osType":{"type":"string","description":"The operating system type of the host. The value can be `Linux` or `Windows`.\n"},"privateIp":{"type":"string","description":"The private IP address of the host.\n"},"region":{"type":"string","description":"The region to which the HSS host protection resource belongs.\n"},"resourceId":{"type":"string","description":"Specifies Instance ID for host protection.\n"},"status":{"type":"string","description":"The protection status of the host. The value can be \u003cspan pulumi-lang-nodejs=\"`closed`\" pulumi-lang-dotnet=\"`Closed`\" pulumi-lang-go=\"`closed`\" pulumi-lang-python=\"`closed`\" pulumi-lang-yaml=\"`closed`\" pulumi-lang-java=\"`closed`\"\u003e`closed`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`opened`\" pulumi-lang-dotnet=\"`Opened`\" pulumi-lang-go=\"`opened`\" pulumi-lang-python=\"`opened`\" pulumi-lang-yaml=\"`opened`\" pulumi-lang-java=\"`opened`\"\u003e`opened`\u003c/span\u003e.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FHssHostProtectionV5Timeouts:HssHostProtectionV5Timeouts"},"version":{"type":"string","description":"Specifies the protection version enabled by the host.\nThe valid values are as follows:\n+ `hss.version.enterprise`: Enterprise version.\n+ `hss.version.premium`: Ultimate version.\n"}},"type":"object","required":["agentId","agentStatus","assetValue","chargingMode","detectResult","hostId","hostName","hostStatus","hssHostProtectionV5Id","osType","privateIp","region","status","version"],"inputProperties":{"chargingMode":{"type":"string","description":"Specifies the charging mode for host protection.\nThe valid values are as follows:\n"},"hostId":{"type":"string","description":"Specifies the host ID for the host protection.\nChanging this parameter will create a new resource.\n\n\u003e Before using host protection, it is necessary to ensure that the agent status of the host is \u003cspan pulumi-lang-nodejs=\"`online`\" pulumi-lang-dotnet=\"`Online`\" pulumi-lang-go=\"`online`\" pulumi-lang-python=\"`online`\" pulumi-lang-yaml=\"`online`\" pulumi-lang-java=\"`online`\"\u003e`online`\u003c/span\u003e.\n"},"hssHostProtectionV5Id":{"type":"string","description":"The resource ID same as \u003cspan pulumi-lang-nodejs=\"`hostId`\" pulumi-lang-dotnet=\"`HostId`\" pulumi-lang-go=\"`hostId`\" pulumi-lang-python=\"`host_id`\" pulumi-lang-yaml=\"`hostId`\" pulumi-lang-java=\"`hostId`\"\u003e`host_id`\u003c/span\u003e.\n"},"isWaitHostAvailable":{"type":"boolean","description":"Specifies whether to wait for the host agent status to become \u003cspan pulumi-lang-nodejs=\"`online`\" pulumi-lang-dotnet=\"`Online`\" pulumi-lang-go=\"`online`\" pulumi-lang-python=\"`online`\" pulumi-lang-yaml=\"`online`\" pulumi-lang-java=\"`online`\"\u003e`online`\u003c/span\u003e.\nThe value can be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e If this field is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the program will wait for a maximum of \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e minutes until the host's agent status\nbecomes \u003cspan pulumi-lang-nodejs=\"`online`\" pulumi-lang-dotnet=\"`Online`\" pulumi-lang-go=\"`online`\" pulumi-lang-python=\"`online`\" pulumi-lang-yaml=\"`online`\" pulumi-lang-java=\"`online`\"\u003e`online`\u003c/span\u003e, and then enable host protection.\n"},"resourceId":{"type":"string","description":"Specifies Instance ID for host protection.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FHssHostProtectionV5Timeouts:HssHostProtectionV5Timeouts"},"version":{"type":"string","description":"Specifies the protection version enabled by the host.\nThe valid values are as follows:\n+ `hss.version.enterprise`: Enterprise version.\n+ `hss.version.premium`: Ultimate version.\n"}},"requiredInputs":["chargingMode","hostId","version"],"stateInputs":{"description":"Input properties used for looking up and filtering HssHostProtectionV5 resources.\n","properties":{"agentId":{"type":"string","description":"The agent ID installed on the host.\n"},"agentStatus":{"type":"string","description":"The agent status of the host. The value can be \u003cspan pulumi-lang-nodejs=\"`installed`\" pulumi-lang-dotnet=\"`Installed`\" pulumi-lang-go=\"`installed`\" pulumi-lang-python=\"`installed`\" pulumi-lang-yaml=\"`installed`\" pulumi-lang-java=\"`installed`\"\u003e`installed`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`notInstalled`\" pulumi-lang-dotnet=\"`NotInstalled`\" pulumi-lang-go=\"`notInstalled`\" pulumi-lang-python=\"`not_installed`\" pulumi-lang-yaml=\"`notInstalled`\" pulumi-lang-java=\"`notInstalled`\"\u003e`not_installed`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`online`\" pulumi-lang-dotnet=\"`Online`\" pulumi-lang-go=\"`online`\" pulumi-lang-python=\"`online`\" pulumi-lang-yaml=\"`online`\" pulumi-lang-java=\"`online`\"\u003e`online`\u003c/span\u003e,\n\u003cspan pulumi-lang-nodejs=\"`offline`\" pulumi-lang-dotnet=\"`Offline`\" pulumi-lang-go=\"`offline`\" pulumi-lang-python=\"`offline`\" pulumi-lang-yaml=\"`offline`\" pulumi-lang-java=\"`offline`\"\u003e`offline`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`installFailed`\" pulumi-lang-dotnet=\"`InstallFailed`\" pulumi-lang-go=\"`installFailed`\" pulumi-lang-python=\"`install_failed`\" pulumi-lang-yaml=\"`installFailed`\" pulumi-lang-java=\"`installFailed`\"\u003e`install_failed`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`installing`\" pulumi-lang-dotnet=\"`Installing`\" pulumi-lang-go=\"`installing`\" pulumi-lang-python=\"`installing`\" pulumi-lang-yaml=\"`installing`\" pulumi-lang-java=\"`installing`\"\u003e`installing`\u003c/span\u003e.\n"},"assetValue":{"type":"string","description":"The asset importance. The value can be \u003cspan pulumi-lang-nodejs=\"`important`\" pulumi-lang-dotnet=\"`Important`\" pulumi-lang-go=\"`important`\" pulumi-lang-python=\"`important`\" pulumi-lang-yaml=\"`important`\" pulumi-lang-java=\"`important`\"\u003e`important`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`common`\" pulumi-lang-dotnet=\"`Common`\" pulumi-lang-go=\"`common`\" pulumi-lang-python=\"`common`\" pulumi-lang-yaml=\"`common`\" pulumi-lang-java=\"`common`\"\u003e`common`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`test`\" pulumi-lang-dotnet=\"`Test`\" pulumi-lang-go=\"`test`\" pulumi-lang-python=\"`test`\" pulumi-lang-yaml=\"`test`\" pulumi-lang-java=\"`test`\"\u003e`test`\u003c/span\u003e.\n"},"chargingMode":{"type":"string","description":"Specifies the charging mode for host protection.\nThe valid values are as follows:\n"},"detectResult":{"type":"string","description":"The security detection result of the host. The value can be \u003cspan pulumi-lang-nodejs=\"`undetected`\" pulumi-lang-dotnet=\"`Undetected`\" pulumi-lang-go=\"`undetected`\" pulumi-lang-python=\"`undetected`\" pulumi-lang-yaml=\"`undetected`\" pulumi-lang-java=\"`undetected`\"\u003e`undetected`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`clean`\" pulumi-lang-dotnet=\"`Clean`\" pulumi-lang-go=\"`clean`\" pulumi-lang-python=\"`clean`\" pulumi-lang-yaml=\"`clean`\" pulumi-lang-java=\"`clean`\"\u003e`clean`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`risk`\" pulumi-lang-dotnet=\"`Risk`\" pulumi-lang-go=\"`risk`\" pulumi-lang-python=\"`risk`\" pulumi-lang-yaml=\"`risk`\" pulumi-lang-java=\"`risk`\"\u003e`risk`\u003c/span\u003e,\nor \u003cspan pulumi-lang-nodejs=\"`scanning`\" pulumi-lang-dotnet=\"`Scanning`\" pulumi-lang-go=\"`scanning`\" pulumi-lang-python=\"`scanning`\" pulumi-lang-yaml=\"`scanning`\" pulumi-lang-java=\"`scanning`\"\u003e`scanning`\u003c/span\u003e.\n"},"hostId":{"type":"string","description":"Specifies the host ID for the host protection.\nChanging this parameter will create a new resource.\n\n\u003e Before using host protection, it is necessary to ensure that the agent status of the host is \u003cspan pulumi-lang-nodejs=\"`online`\" pulumi-lang-dotnet=\"`Online`\" pulumi-lang-go=\"`online`\" pulumi-lang-python=\"`online`\" pulumi-lang-yaml=\"`online`\" pulumi-lang-java=\"`online`\"\u003e`online`\u003c/span\u003e.\n"},"hostName":{"type":"string","description":"The host name.\n"},"hostStatus":{"type":"string","description":"The host status. The value can be `ACTIVE`, `SHUTOFF`, `BUILDING`, or `ERROR`.\n"},"hssHostProtectionV5Id":{"type":"string","description":"The resource ID same as \u003cspan pulumi-lang-nodejs=\"`hostId`\" pulumi-lang-dotnet=\"`HostId`\" pulumi-lang-go=\"`hostId`\" pulumi-lang-python=\"`host_id`\" pulumi-lang-yaml=\"`hostId`\" pulumi-lang-java=\"`hostId`\"\u003e`host_id`\u003c/span\u003e.\n"},"isWaitHostAvailable":{"type":"boolean","description":"Specifies whether to wait for the host agent status to become \u003cspan pulumi-lang-nodejs=\"`online`\" pulumi-lang-dotnet=\"`Online`\" pulumi-lang-go=\"`online`\" pulumi-lang-python=\"`online`\" pulumi-lang-yaml=\"`online`\" pulumi-lang-java=\"`online`\"\u003e`online`\u003c/span\u003e.\nThe value can be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e If this field is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the program will wait for a maximum of \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e minutes until the host's agent status\nbecomes \u003cspan pulumi-lang-nodejs=\"`online`\" pulumi-lang-dotnet=\"`Online`\" pulumi-lang-go=\"`online`\" pulumi-lang-python=\"`online`\" pulumi-lang-yaml=\"`online`\" pulumi-lang-java=\"`online`\"\u003e`online`\u003c/span\u003e, and then enable host protection.\n"},"osType":{"type":"string","description":"The operating system type of the host. The value can be `Linux` or `Windows`.\n"},"privateIp":{"type":"string","description":"The private IP address of the host.\n"},"region":{"type":"string","description":"The region to which the HSS host protection resource belongs.\n"},"resourceId":{"type":"string","description":"Specifies Instance ID for host protection.\n"},"status":{"type":"string","description":"The protection status of the host. The value can be \u003cspan pulumi-lang-nodejs=\"`closed`\" pulumi-lang-dotnet=\"`Closed`\" pulumi-lang-go=\"`closed`\" pulumi-lang-python=\"`closed`\" pulumi-lang-yaml=\"`closed`\" pulumi-lang-java=\"`closed`\"\u003e`closed`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`opened`\" pulumi-lang-dotnet=\"`Opened`\" pulumi-lang-go=\"`opened`\" pulumi-lang-python=\"`opened`\" pulumi-lang-yaml=\"`opened`\" pulumi-lang-java=\"`opened`\"\u003e`opened`\u003c/span\u003e.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FHssHostProtectionV5Timeouts:HssHostProtectionV5Timeouts"},"version":{"type":"string","description":"Specifies the protection version enabled by the host.\nThe valid values are as follows:\n+ `hss.version.enterprise`: Enterprise version.\n+ `hss.version.premium`: Ultimate version.\n"}},"type":"object"}},"opentelekomcloud:index/identityAclV3:IdentityAclV3":{"description":"Up-to-date reference of API arguments for IAM agency you can get at\n[documentation portal](https://docs.otc.t-systems.com/identity-access-management/api-ref/apis/security_settings/index.html)\n\n\nManages an ACL resource within OpenTelekomCloud IAM service. The ACL allows user access only from specified IP address\nranges and CIDR blocks. The ACL takes effect for IAM users under the Domain account rather than the account itself.\n\n\u003e **NOTE:** You _must_ have `Security Administrator` privileges in your OpenTelekomCloud\ncloud to use this resource. Please refer to [User Management Model](https://docs.otc.t-systems.com/en-us/usermanual/iam/iam_01_0034.html).\n\n## Example Usage\n\n### ACL through console\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst acl = new opentelekomcloud.IdentityAclV3(\"acl\", {\n    type: \"console\",\n    ipRanges: [{\n        range: \"172.16.0.0-172.16.255.255\",\n        description: \"This is a basic ip range for console access\",\n    }],\n    ipCidrs: [{\n        cidr: \"192.168.0.1/32\",\n        description: \"This is a basic ip address for console access\",\n    }],\n    ipv6Ranges: [{\n        range: \"0000:0000:0000:0000:0000:0000:0000:0000-FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF\",\n        description: \"This is a basic ipv6 range for console access\",\n    }],\n    ipv6Cidrs: [{\n        cidr: \"0000:0000:0000:0000:0000:0000:0000:0000/100\",\n        description: \"This is a basic ipv6 address for console access\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nacl = opentelekomcloud.IdentityAclV3(\"acl\",\n    type=\"console\",\n    ip_ranges=[{\n        \"range\": \"172.16.0.0-172.16.255.255\",\n        \"description\": \"This is a basic ip range for console access\",\n    }],\n    ip_cidrs=[{\n        \"cidr\": \"192.168.0.1/32\",\n        \"description\": \"This is a basic ip address for console access\",\n    }],\n    ipv6_ranges=[{\n        \"range\": \"0000:0000:0000:0000:0000:0000:0000:0000-FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF\",\n        \"description\": \"This is a basic ipv6 range for console access\",\n    }],\n    ipv6_cidrs=[{\n        \"cidr\": \"0000:0000:0000:0000:0000:0000:0000:0000/100\",\n        \"description\": \"This is a basic ipv6 address for console access\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var acl = new Opentelekomcloud.IdentityAclV3(\"acl\", new()\n    {\n        Type = \"console\",\n        IpRanges = new[]\n        {\n            new Opentelekomcloud.Inputs.IdentityAclV3IpRangeArgs\n            {\n                Range = \"172.16.0.0-172.16.255.255\",\n                Description = \"This is a basic ip range for console access\",\n            },\n        },\n        IpCidrs = new[]\n        {\n            new Opentelekomcloud.Inputs.IdentityAclV3IpCidrArgs\n            {\n                Cidr = \"192.168.0.1/32\",\n                Description = \"This is a basic ip address for console access\",\n            },\n        },\n        Ipv6Ranges = new[]\n        {\n            new Opentelekomcloud.Inputs.IdentityAclV3Ipv6RangeArgs\n            {\n                Range = \"0000:0000:0000:0000:0000:0000:0000:0000-FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF\",\n                Description = \"This is a basic ipv6 range for console access\",\n            },\n        },\n        Ipv6Cidrs = new[]\n        {\n            new Opentelekomcloud.Inputs.IdentityAclV3Ipv6CidrArgs\n            {\n                Cidr = \"0000:0000:0000:0000:0000:0000:0000:0000/100\",\n                Description = \"This is a basic ipv6 address for console access\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewIdentityAclV3(ctx, \"acl\", \u0026opentelekomcloud.IdentityAclV3Args{\n\t\t\tType: pulumi.String(\"console\"),\n\t\t\tIpRanges: opentelekomcloud.IdentityAclV3IpRangeArray{\n\t\t\t\t\u0026opentelekomcloud.IdentityAclV3IpRangeArgs{\n\t\t\t\t\tRange:       pulumi.String(\"172.16.0.0-172.16.255.255\"),\n\t\t\t\t\tDescription: pulumi.String(\"This is a basic ip range for console access\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tIpCidrs: opentelekomcloud.IdentityAclV3IpCidrArray{\n\t\t\t\t\u0026opentelekomcloud.IdentityAclV3IpCidrArgs{\n\t\t\t\t\tCidr:        pulumi.String(\"192.168.0.1/32\"),\n\t\t\t\t\tDescription: pulumi.String(\"This is a basic ip address for console access\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tIpv6Ranges: opentelekomcloud.IdentityAclV3Ipv6RangeArray{\n\t\t\t\t\u0026opentelekomcloud.IdentityAclV3Ipv6RangeArgs{\n\t\t\t\t\tRange:       pulumi.String(\"0000:0000:0000:0000:0000:0000:0000:0000-FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF\"),\n\t\t\t\t\tDescription: pulumi.String(\"This is a basic ipv6 range for console access\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tIpv6Cidrs: opentelekomcloud.IdentityAclV3Ipv6CidrArray{\n\t\t\t\t\u0026opentelekomcloud.IdentityAclV3Ipv6CidrArgs{\n\t\t\t\t\tCidr:        pulumi.String(\"0000:0000:0000:0000:0000:0000:0000:0000/100\"),\n\t\t\t\t\tDescription: pulumi.String(\"This is a basic ipv6 address for console access\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.IdentityAclV3;\nimport com.pulumi.opentelekomcloud.IdentityAclV3Args;\nimport com.pulumi.opentelekomcloud.inputs.IdentityAclV3IpRangeArgs;\nimport com.pulumi.opentelekomcloud.inputs.IdentityAclV3IpCidrArgs;\nimport com.pulumi.opentelekomcloud.inputs.IdentityAclV3Ipv6RangeArgs;\nimport com.pulumi.opentelekomcloud.inputs.IdentityAclV3Ipv6CidrArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var acl = new IdentityAclV3(\"acl\", IdentityAclV3Args.builder()\n            .type(\"console\")\n            .ipRanges(IdentityAclV3IpRangeArgs.builder()\n                .range(\"172.16.0.0-172.16.255.255\")\n                .description(\"This is a basic ip range for console access\")\n                .build())\n            .ipCidrs(IdentityAclV3IpCidrArgs.builder()\n                .cidr(\"192.168.0.1/32\")\n                .description(\"This is a basic ip address for console access\")\n                .build())\n            .ipv6Ranges(IdentityAclV3Ipv6RangeArgs.builder()\n                .range(\"0000:0000:0000:0000:0000:0000:0000:0000-FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF\")\n                .description(\"This is a basic ipv6 range for console access\")\n                .build())\n            .ipv6Cidrs(IdentityAclV3Ipv6CidrArgs.builder()\n                .cidr(\"0000:0000:0000:0000:0000:0000:0000:0000/100\")\n                .description(\"This is a basic ipv6 address for console access\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  acl:\n    type: opentelekomcloud:IdentityAclV3\n    properties:\n      type: console\n      ipRanges:\n        - range: 172.16.0.0-172.16.255.255\n          description: This is a basic ip range for console access\n      ipCidrs:\n        - cidr: 192.168.0.1/32\n          description: This is a basic ip address for console access\n      ipv6Ranges:\n        - range: 0000:0000:0000:0000:0000:0000:0000:0000-FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF\n          description: This is a basic ipv6 range for console access\n      ipv6Cidrs:\n        - cidr: 0000:0000:0000:0000:0000:0000:0000:0000/100\n          description: This is a basic ipv6 address for console access\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### ACL through API\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst acl = new opentelekomcloud.IdentityAclV3(\"acl\", {\n    type: \"api\",\n    ipCidrs: [{\n        cidr: \"159.138.39.192/32\",\n        description: \"This is a test ip address\",\n    }],\n    ipRanges: [{\n        range: \"0.0.0.0-255.255.255.0\",\n        description: \"This is a test ip range\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nacl = opentelekomcloud.IdentityAclV3(\"acl\",\n    type=\"api\",\n    ip_cidrs=[{\n        \"cidr\": \"159.138.39.192/32\",\n        \"description\": \"This is a test ip address\",\n    }],\n    ip_ranges=[{\n        \"range\": \"0.0.0.0-255.255.255.0\",\n        \"description\": \"This is a test ip range\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var acl = new Opentelekomcloud.IdentityAclV3(\"acl\", new()\n    {\n        Type = \"api\",\n        IpCidrs = new[]\n        {\n            new Opentelekomcloud.Inputs.IdentityAclV3IpCidrArgs\n            {\n                Cidr = \"159.138.39.192/32\",\n                Description = \"This is a test ip address\",\n            },\n        },\n        IpRanges = new[]\n        {\n            new Opentelekomcloud.Inputs.IdentityAclV3IpRangeArgs\n            {\n                Range = \"0.0.0.0-255.255.255.0\",\n                Description = \"This is a test ip range\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewIdentityAclV3(ctx, \"acl\", \u0026opentelekomcloud.IdentityAclV3Args{\n\t\t\tType: pulumi.String(\"api\"),\n\t\t\tIpCidrs: opentelekomcloud.IdentityAclV3IpCidrArray{\n\t\t\t\t\u0026opentelekomcloud.IdentityAclV3IpCidrArgs{\n\t\t\t\t\tCidr:        pulumi.String(\"159.138.39.192/32\"),\n\t\t\t\t\tDescription: pulumi.String(\"This is a test ip address\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tIpRanges: opentelekomcloud.IdentityAclV3IpRangeArray{\n\t\t\t\t\u0026opentelekomcloud.IdentityAclV3IpRangeArgs{\n\t\t\t\t\tRange:       pulumi.String(\"0.0.0.0-255.255.255.0\"),\n\t\t\t\t\tDescription: pulumi.String(\"This is a test ip range\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.IdentityAclV3;\nimport com.pulumi.opentelekomcloud.IdentityAclV3Args;\nimport com.pulumi.opentelekomcloud.inputs.IdentityAclV3IpCidrArgs;\nimport com.pulumi.opentelekomcloud.inputs.IdentityAclV3IpRangeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var acl = new IdentityAclV3(\"acl\", IdentityAclV3Args.builder()\n            .type(\"api\")\n            .ipCidrs(IdentityAclV3IpCidrArgs.builder()\n                .cidr(\"159.138.39.192/32\")\n                .description(\"This is a test ip address\")\n                .build())\n            .ipRanges(IdentityAclV3IpRangeArgs.builder()\n                .range(\"0.0.0.0-255.255.255.0\")\n                .description(\"This is a test ip range\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  acl:\n    type: opentelekomcloud:IdentityAclV3\n    properties:\n      type: api\n      ipCidrs:\n        - cidr: 159.138.39.192/32\n          description: This is a test ip address\n      ipRanges:\n        - range: 0.0.0.0-255.255.255.0\n          description: This is a test ip range\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"identityAclV3Id":{"type":"string","description":"The ID of identity ACL.\n"},"ipCidrs":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FIdentityAclV3IpCidr:IdentityAclV3IpCidr"},"description":"Specifies the IPv4 CIDR blocks from which console access or api access is allowed. The \u003cspan pulumi-lang-nodejs=\"`ipCidrs`\" pulumi-lang-dotnet=\"`IpCidrs`\" pulumi-lang-go=\"`ipCidrs`\" pulumi-lang-python=\"`ip_cidrs`\" pulumi-lang-yaml=\"`ipCidrs`\" pulumi-lang-java=\"`ipCidrs`\"\u003e`ip_cidrs`\u003c/span\u003e cannot repeat. At least one of the two, \u003cspan pulumi-lang-nodejs=\"`ipCidrs`\" pulumi-lang-dotnet=\"`IpCidrs`\" pulumi-lang-go=\"`ipCidrs`\" pulumi-lang-python=\"`ip_cidrs`\" pulumi-lang-yaml=\"`ipCidrs`\" pulumi-lang-java=\"`ipCidrs`\"\u003e`ip_cidrs`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`ipRanges`\" pulumi-lang-dotnet=\"`IpRanges`\" pulumi-lang-go=\"`ipRanges`\" pulumi-lang-python=\"`ip_ranges`\" pulumi-lang-yaml=\"`ipRanges`\" pulumi-lang-java=\"`ipRanges`\"\u003e`ip_ranges`\u003c/span\u003e, must be specified. Both cannot be empty.\nThe structure is documented below.\n"},"ipRanges":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FIdentityAclV3IpRange:IdentityAclV3IpRange"},"description":"Specifies the IP address ranges from which console access or api access is allowed. The \u003cspan pulumi-lang-nodejs=\"`ipRanges`\" pulumi-lang-dotnet=\"`IpRanges`\" pulumi-lang-go=\"`ipRanges`\" pulumi-lang-python=\"`ip_ranges`\" pulumi-lang-yaml=\"`ipRanges`\" pulumi-lang-java=\"`ipRanges`\"\u003e`ip_ranges`\u003c/span\u003e cannot repeat. At least one of the two, \u003cspan pulumi-lang-nodejs=\"`ipCidrs`\" pulumi-lang-dotnet=\"`IpCidrs`\" pulumi-lang-go=\"`ipCidrs`\" pulumi-lang-python=\"`ip_cidrs`\" pulumi-lang-yaml=\"`ipCidrs`\" pulumi-lang-java=\"`ipCidrs`\"\u003e`ip_cidrs`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`ipRanges`\" pulumi-lang-dotnet=\"`IpRanges`\" pulumi-lang-go=\"`ipRanges`\" pulumi-lang-python=\"`ip_ranges`\" pulumi-lang-yaml=\"`ipRanges`\" pulumi-lang-java=\"`ipRanges`\"\u003e`ip_ranges`\u003c/span\u003e, must be specified. Both cannot be empty. \nThe structure is documented below.\n"},"ipv6Cidrs":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FIdentityAclV3Ipv6Cidr:IdentityAclV3Ipv6Cidr"},"description":"Specifies the IPv6 CIDR blocks from which console access or api access is allowed. The \u003cspan pulumi-lang-nodejs=\"`ipv6Cidrs`\" pulumi-lang-dotnet=\"`Ipv6Cidrs`\" pulumi-lang-go=\"`ipv6Cidrs`\" pulumi-lang-python=\"`ipv6_cidrs`\" pulumi-lang-yaml=\"`ipv6Cidrs`\" pulumi-lang-java=\"`ipv6Cidrs`\"\u003e`ipv6_cidrs`\u003c/span\u003e cannot repeat. The \u003cspan pulumi-lang-nodejs=\"`ipv6Cidrs`\" pulumi-lang-dotnet=\"`Ipv6Cidrs`\" pulumi-lang-go=\"`ipv6Cidrs`\" pulumi-lang-python=\"`ipv6_cidrs`\" pulumi-lang-yaml=\"`ipv6Cidrs`\" pulumi-lang-java=\"`ipv6Cidrs`\"\u003e`ipv6_cidrs`\u003c/span\u003e can only be used when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`console`\" pulumi-lang-dotnet=\"`Console`\" pulumi-lang-go=\"`console`\" pulumi-lang-python=\"`console`\" pulumi-lang-yaml=\"`console`\" pulumi-lang-java=\"`console`\"\u003e`console`\u003c/span\u003e. At least one of the two, \u003cspan pulumi-lang-nodejs=\"`ipv6Cidrs`\" pulumi-lang-dotnet=\"`Ipv6Cidrs`\" pulumi-lang-go=\"`ipv6Cidrs`\" pulumi-lang-python=\"`ipv6_cidrs`\" pulumi-lang-yaml=\"`ipv6Cidrs`\" pulumi-lang-java=\"`ipv6Cidrs`\"\u003e`ipv6_cidrs`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`ipv6Ranges`\" pulumi-lang-dotnet=\"`Ipv6Ranges`\" pulumi-lang-go=\"`ipv6Ranges`\" pulumi-lang-python=\"`ipv6_ranges`\" pulumi-lang-yaml=\"`ipv6Ranges`\" pulumi-lang-java=\"`ipv6Ranges`\"\u003e`ipv6_ranges`\u003c/span\u003e, must be specified. Both cannot be empty. \nThe structure is documented below.\n"},"ipv6Ranges":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FIdentityAclV3Ipv6Range:IdentityAclV3Ipv6Range"},"description":"Specifies the IPv6 address ranges from which console access or api access is allowed. The \u003cspan pulumi-lang-nodejs=\"`ipv6Ranges`\" pulumi-lang-dotnet=\"`Ipv6Ranges`\" pulumi-lang-go=\"`ipv6Ranges`\" pulumi-lang-python=\"`ipv6_ranges`\" pulumi-lang-yaml=\"`ipv6Ranges`\" pulumi-lang-java=\"`ipv6Ranges`\"\u003e`ipv6_ranges`\u003c/span\u003e cannot repeat. The \u003cspan pulumi-lang-nodejs=\"`ipv6Ranges`\" pulumi-lang-dotnet=\"`Ipv6Ranges`\" pulumi-lang-go=\"`ipv6Ranges`\" pulumi-lang-python=\"`ipv6_ranges`\" pulumi-lang-yaml=\"`ipv6Ranges`\" pulumi-lang-java=\"`ipv6Ranges`\"\u003e`ipv6_ranges`\u003c/span\u003e can only be used when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`console`\" pulumi-lang-dotnet=\"`Console`\" pulumi-lang-go=\"`console`\" pulumi-lang-python=\"`console`\" pulumi-lang-yaml=\"`console`\" pulumi-lang-java=\"`console`\"\u003e`console`\u003c/span\u003e. At least one of the two, \u003cspan pulumi-lang-nodejs=\"`ipv6Cidrs`\" pulumi-lang-dotnet=\"`Ipv6Cidrs`\" pulumi-lang-go=\"`ipv6Cidrs`\" pulumi-lang-python=\"`ipv6_cidrs`\" pulumi-lang-yaml=\"`ipv6Cidrs`\" pulumi-lang-java=\"`ipv6Cidrs`\"\u003e`ipv6_cidrs`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`ipv6Ranges`\" pulumi-lang-dotnet=\"`Ipv6Ranges`\" pulumi-lang-go=\"`ipv6Ranges`\" pulumi-lang-python=\"`ipv6_ranges`\" pulumi-lang-yaml=\"`ipv6Ranges`\" pulumi-lang-java=\"`ipv6Ranges`\"\u003e`ipv6_ranges`\u003c/span\u003e, must be specified. Both cannot be empty. \nThe structure is documented below.\n"},"type":{"type":"string","description":"Specifies the ACL is created through the Console or API.\nValid values are **console** and **api**. Changing this parameter will create a new ACL.\n"}},"type":"object","required":["identityAclV3Id","type"],"inputProperties":{"identityAclV3Id":{"type":"string","description":"The ID of identity ACL.\n"},"ipCidrs":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FIdentityAclV3IpCidr:IdentityAclV3IpCidr"},"description":"Specifies the IPv4 CIDR blocks from which console access or api access is allowed. The \u003cspan pulumi-lang-nodejs=\"`ipCidrs`\" pulumi-lang-dotnet=\"`IpCidrs`\" pulumi-lang-go=\"`ipCidrs`\" pulumi-lang-python=\"`ip_cidrs`\" pulumi-lang-yaml=\"`ipCidrs`\" pulumi-lang-java=\"`ipCidrs`\"\u003e`ip_cidrs`\u003c/span\u003e cannot repeat. At least one of the two, \u003cspan pulumi-lang-nodejs=\"`ipCidrs`\" pulumi-lang-dotnet=\"`IpCidrs`\" pulumi-lang-go=\"`ipCidrs`\" pulumi-lang-python=\"`ip_cidrs`\" pulumi-lang-yaml=\"`ipCidrs`\" pulumi-lang-java=\"`ipCidrs`\"\u003e`ip_cidrs`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`ipRanges`\" pulumi-lang-dotnet=\"`IpRanges`\" pulumi-lang-go=\"`ipRanges`\" pulumi-lang-python=\"`ip_ranges`\" pulumi-lang-yaml=\"`ipRanges`\" pulumi-lang-java=\"`ipRanges`\"\u003e`ip_ranges`\u003c/span\u003e, must be specified. Both cannot be empty.\nThe structure is documented below.\n"},"ipRanges":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FIdentityAclV3IpRange:IdentityAclV3IpRange"},"description":"Specifies the IP address ranges from which console access or api access is allowed. The \u003cspan pulumi-lang-nodejs=\"`ipRanges`\" pulumi-lang-dotnet=\"`IpRanges`\" pulumi-lang-go=\"`ipRanges`\" pulumi-lang-python=\"`ip_ranges`\" pulumi-lang-yaml=\"`ipRanges`\" pulumi-lang-java=\"`ipRanges`\"\u003e`ip_ranges`\u003c/span\u003e cannot repeat. At least one of the two, \u003cspan pulumi-lang-nodejs=\"`ipCidrs`\" pulumi-lang-dotnet=\"`IpCidrs`\" pulumi-lang-go=\"`ipCidrs`\" pulumi-lang-python=\"`ip_cidrs`\" pulumi-lang-yaml=\"`ipCidrs`\" pulumi-lang-java=\"`ipCidrs`\"\u003e`ip_cidrs`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`ipRanges`\" pulumi-lang-dotnet=\"`IpRanges`\" pulumi-lang-go=\"`ipRanges`\" pulumi-lang-python=\"`ip_ranges`\" pulumi-lang-yaml=\"`ipRanges`\" pulumi-lang-java=\"`ipRanges`\"\u003e`ip_ranges`\u003c/span\u003e, must be specified. Both cannot be empty. \nThe structure is documented below.\n"},"ipv6Cidrs":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FIdentityAclV3Ipv6Cidr:IdentityAclV3Ipv6Cidr"},"description":"Specifies the IPv6 CIDR blocks from which console access or api access is allowed. The \u003cspan pulumi-lang-nodejs=\"`ipv6Cidrs`\" pulumi-lang-dotnet=\"`Ipv6Cidrs`\" pulumi-lang-go=\"`ipv6Cidrs`\" pulumi-lang-python=\"`ipv6_cidrs`\" pulumi-lang-yaml=\"`ipv6Cidrs`\" pulumi-lang-java=\"`ipv6Cidrs`\"\u003e`ipv6_cidrs`\u003c/span\u003e cannot repeat. The \u003cspan pulumi-lang-nodejs=\"`ipv6Cidrs`\" pulumi-lang-dotnet=\"`Ipv6Cidrs`\" pulumi-lang-go=\"`ipv6Cidrs`\" pulumi-lang-python=\"`ipv6_cidrs`\" pulumi-lang-yaml=\"`ipv6Cidrs`\" pulumi-lang-java=\"`ipv6Cidrs`\"\u003e`ipv6_cidrs`\u003c/span\u003e can only be used when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`console`\" pulumi-lang-dotnet=\"`Console`\" pulumi-lang-go=\"`console`\" pulumi-lang-python=\"`console`\" pulumi-lang-yaml=\"`console`\" pulumi-lang-java=\"`console`\"\u003e`console`\u003c/span\u003e. At least one of the two, \u003cspan pulumi-lang-nodejs=\"`ipv6Cidrs`\" pulumi-lang-dotnet=\"`Ipv6Cidrs`\" pulumi-lang-go=\"`ipv6Cidrs`\" pulumi-lang-python=\"`ipv6_cidrs`\" pulumi-lang-yaml=\"`ipv6Cidrs`\" pulumi-lang-java=\"`ipv6Cidrs`\"\u003e`ipv6_cidrs`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`ipv6Ranges`\" pulumi-lang-dotnet=\"`Ipv6Ranges`\" pulumi-lang-go=\"`ipv6Ranges`\" pulumi-lang-python=\"`ipv6_ranges`\" pulumi-lang-yaml=\"`ipv6Ranges`\" pulumi-lang-java=\"`ipv6Ranges`\"\u003e`ipv6_ranges`\u003c/span\u003e, must be specified. Both cannot be empty. \nThe structure is documented below.\n"},"ipv6Ranges":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FIdentityAclV3Ipv6Range:IdentityAclV3Ipv6Range"},"description":"Specifies the IPv6 address ranges from which console access or api access is allowed. The \u003cspan pulumi-lang-nodejs=\"`ipv6Ranges`\" pulumi-lang-dotnet=\"`Ipv6Ranges`\" pulumi-lang-go=\"`ipv6Ranges`\" pulumi-lang-python=\"`ipv6_ranges`\" pulumi-lang-yaml=\"`ipv6Ranges`\" pulumi-lang-java=\"`ipv6Ranges`\"\u003e`ipv6_ranges`\u003c/span\u003e cannot repeat. The \u003cspan pulumi-lang-nodejs=\"`ipv6Ranges`\" pulumi-lang-dotnet=\"`Ipv6Ranges`\" pulumi-lang-go=\"`ipv6Ranges`\" pulumi-lang-python=\"`ipv6_ranges`\" pulumi-lang-yaml=\"`ipv6Ranges`\" pulumi-lang-java=\"`ipv6Ranges`\"\u003e`ipv6_ranges`\u003c/span\u003e can only be used when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`console`\" pulumi-lang-dotnet=\"`Console`\" pulumi-lang-go=\"`console`\" pulumi-lang-python=\"`console`\" pulumi-lang-yaml=\"`console`\" pulumi-lang-java=\"`console`\"\u003e`console`\u003c/span\u003e. At least one of the two, \u003cspan pulumi-lang-nodejs=\"`ipv6Cidrs`\" pulumi-lang-dotnet=\"`Ipv6Cidrs`\" pulumi-lang-go=\"`ipv6Cidrs`\" pulumi-lang-python=\"`ipv6_cidrs`\" pulumi-lang-yaml=\"`ipv6Cidrs`\" pulumi-lang-java=\"`ipv6Cidrs`\"\u003e`ipv6_cidrs`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`ipv6Ranges`\" pulumi-lang-dotnet=\"`Ipv6Ranges`\" pulumi-lang-go=\"`ipv6Ranges`\" pulumi-lang-python=\"`ipv6_ranges`\" pulumi-lang-yaml=\"`ipv6Ranges`\" pulumi-lang-java=\"`ipv6Ranges`\"\u003e`ipv6_ranges`\u003c/span\u003e, must be specified. Both cannot be empty. \nThe structure is documented below.\n"},"type":{"type":"string","description":"Specifies the ACL is created through the Console or API.\nValid values are **console** and **api**. Changing this parameter will create a new ACL.\n"}},"requiredInputs":["type"],"stateInputs":{"description":"Input properties used for looking up and filtering IdentityAclV3 resources.\n","properties":{"identityAclV3Id":{"type":"string","description":"The ID of identity ACL.\n"},"ipCidrs":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FIdentityAclV3IpCidr:IdentityAclV3IpCidr"},"description":"Specifies the IPv4 CIDR blocks from which console access or api access is allowed. The \u003cspan pulumi-lang-nodejs=\"`ipCidrs`\" pulumi-lang-dotnet=\"`IpCidrs`\" pulumi-lang-go=\"`ipCidrs`\" pulumi-lang-python=\"`ip_cidrs`\" pulumi-lang-yaml=\"`ipCidrs`\" pulumi-lang-java=\"`ipCidrs`\"\u003e`ip_cidrs`\u003c/span\u003e cannot repeat. At least one of the two, \u003cspan pulumi-lang-nodejs=\"`ipCidrs`\" pulumi-lang-dotnet=\"`IpCidrs`\" pulumi-lang-go=\"`ipCidrs`\" pulumi-lang-python=\"`ip_cidrs`\" pulumi-lang-yaml=\"`ipCidrs`\" pulumi-lang-java=\"`ipCidrs`\"\u003e`ip_cidrs`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`ipRanges`\" pulumi-lang-dotnet=\"`IpRanges`\" pulumi-lang-go=\"`ipRanges`\" pulumi-lang-python=\"`ip_ranges`\" pulumi-lang-yaml=\"`ipRanges`\" pulumi-lang-java=\"`ipRanges`\"\u003e`ip_ranges`\u003c/span\u003e, must be specified. Both cannot be empty.\nThe structure is documented below.\n"},"ipRanges":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FIdentityAclV3IpRange:IdentityAclV3IpRange"},"description":"Specifies the IP address ranges from which console access or api access is allowed. The \u003cspan pulumi-lang-nodejs=\"`ipRanges`\" pulumi-lang-dotnet=\"`IpRanges`\" pulumi-lang-go=\"`ipRanges`\" pulumi-lang-python=\"`ip_ranges`\" pulumi-lang-yaml=\"`ipRanges`\" pulumi-lang-java=\"`ipRanges`\"\u003e`ip_ranges`\u003c/span\u003e cannot repeat. At least one of the two, \u003cspan pulumi-lang-nodejs=\"`ipCidrs`\" pulumi-lang-dotnet=\"`IpCidrs`\" pulumi-lang-go=\"`ipCidrs`\" pulumi-lang-python=\"`ip_cidrs`\" pulumi-lang-yaml=\"`ipCidrs`\" pulumi-lang-java=\"`ipCidrs`\"\u003e`ip_cidrs`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`ipRanges`\" pulumi-lang-dotnet=\"`IpRanges`\" pulumi-lang-go=\"`ipRanges`\" pulumi-lang-python=\"`ip_ranges`\" pulumi-lang-yaml=\"`ipRanges`\" pulumi-lang-java=\"`ipRanges`\"\u003e`ip_ranges`\u003c/span\u003e, must be specified. Both cannot be empty. \nThe structure is documented below.\n"},"ipv6Cidrs":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FIdentityAclV3Ipv6Cidr:IdentityAclV3Ipv6Cidr"},"description":"Specifies the IPv6 CIDR blocks from which console access or api access is allowed. The \u003cspan pulumi-lang-nodejs=\"`ipv6Cidrs`\" pulumi-lang-dotnet=\"`Ipv6Cidrs`\" pulumi-lang-go=\"`ipv6Cidrs`\" pulumi-lang-python=\"`ipv6_cidrs`\" pulumi-lang-yaml=\"`ipv6Cidrs`\" pulumi-lang-java=\"`ipv6Cidrs`\"\u003e`ipv6_cidrs`\u003c/span\u003e cannot repeat. The \u003cspan pulumi-lang-nodejs=\"`ipv6Cidrs`\" pulumi-lang-dotnet=\"`Ipv6Cidrs`\" pulumi-lang-go=\"`ipv6Cidrs`\" pulumi-lang-python=\"`ipv6_cidrs`\" pulumi-lang-yaml=\"`ipv6Cidrs`\" pulumi-lang-java=\"`ipv6Cidrs`\"\u003e`ipv6_cidrs`\u003c/span\u003e can only be used when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`console`\" pulumi-lang-dotnet=\"`Console`\" pulumi-lang-go=\"`console`\" pulumi-lang-python=\"`console`\" pulumi-lang-yaml=\"`console`\" pulumi-lang-java=\"`console`\"\u003e`console`\u003c/span\u003e. At least one of the two, \u003cspan pulumi-lang-nodejs=\"`ipv6Cidrs`\" pulumi-lang-dotnet=\"`Ipv6Cidrs`\" pulumi-lang-go=\"`ipv6Cidrs`\" pulumi-lang-python=\"`ipv6_cidrs`\" pulumi-lang-yaml=\"`ipv6Cidrs`\" pulumi-lang-java=\"`ipv6Cidrs`\"\u003e`ipv6_cidrs`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`ipv6Ranges`\" pulumi-lang-dotnet=\"`Ipv6Ranges`\" pulumi-lang-go=\"`ipv6Ranges`\" pulumi-lang-python=\"`ipv6_ranges`\" pulumi-lang-yaml=\"`ipv6Ranges`\" pulumi-lang-java=\"`ipv6Ranges`\"\u003e`ipv6_ranges`\u003c/span\u003e, must be specified. Both cannot be empty. \nThe structure is documented below.\n"},"ipv6Ranges":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FIdentityAclV3Ipv6Range:IdentityAclV3Ipv6Range"},"description":"Specifies the IPv6 address ranges from which console access or api access is allowed. The \u003cspan pulumi-lang-nodejs=\"`ipv6Ranges`\" pulumi-lang-dotnet=\"`Ipv6Ranges`\" pulumi-lang-go=\"`ipv6Ranges`\" pulumi-lang-python=\"`ipv6_ranges`\" pulumi-lang-yaml=\"`ipv6Ranges`\" pulumi-lang-java=\"`ipv6Ranges`\"\u003e`ipv6_ranges`\u003c/span\u003e cannot repeat. The \u003cspan pulumi-lang-nodejs=\"`ipv6Ranges`\" pulumi-lang-dotnet=\"`Ipv6Ranges`\" pulumi-lang-go=\"`ipv6Ranges`\" pulumi-lang-python=\"`ipv6_ranges`\" pulumi-lang-yaml=\"`ipv6Ranges`\" pulumi-lang-java=\"`ipv6Ranges`\"\u003e`ipv6_ranges`\u003c/span\u003e can only be used when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`console`\" pulumi-lang-dotnet=\"`Console`\" pulumi-lang-go=\"`console`\" pulumi-lang-python=\"`console`\" pulumi-lang-yaml=\"`console`\" pulumi-lang-java=\"`console`\"\u003e`console`\u003c/span\u003e. At least one of the two, \u003cspan pulumi-lang-nodejs=\"`ipv6Cidrs`\" pulumi-lang-dotnet=\"`Ipv6Cidrs`\" pulumi-lang-go=\"`ipv6Cidrs`\" pulumi-lang-python=\"`ipv6_cidrs`\" pulumi-lang-yaml=\"`ipv6Cidrs`\" pulumi-lang-java=\"`ipv6Cidrs`\"\u003e`ipv6_cidrs`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`ipv6Ranges`\" pulumi-lang-dotnet=\"`Ipv6Ranges`\" pulumi-lang-go=\"`ipv6Ranges`\" pulumi-lang-python=\"`ipv6_ranges`\" pulumi-lang-yaml=\"`ipv6Ranges`\" pulumi-lang-java=\"`ipv6Ranges`\"\u003e`ipv6_ranges`\u003c/span\u003e, must be specified. Both cannot be empty. \nThe structure is documented below.\n"},"type":{"type":"string","description":"Specifies the ACL is created through the Console or API.\nValid values are **console** and **api**. Changing this parameter will create a new ACL.\n"}},"type":"object"}},"opentelekomcloud:index/identityAgencyV3:IdentityAgencyV3":{"description":"Up-to-date reference of API arguments for IAM agency you can get at\n[documentation portal](https://docs.otc.t-systems.com/identity-access-management/api-ref/apis/agency_management)\n\nManages an agency resource within OpenTelekomcloud.\n\n\u003e **Note:** You _must_ have `Security Administrator` privileges in your OpenTelekomCloud\ncloud to use this resource. Please refer to [User Management Model](https://docs.otc.t-systems.com/en-us/usermanual/iam/iam_01_0034.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst agency = new opentelekomcloud.IdentityAgencyV3(\"agency\", {\n    name: \"test_agency\",\n    description: \"test agency\",\n    delegatedDomainName: \"***\",\n    projectRoles: [\n        {\n            project: \"eu-de\",\n            roles: [\n                \"KMS Administrator\",\n                \"CCE ReadOnlyAccess\",\n            ],\n        },\n        {\n            allProjects: true,\n            roles: [\n                \"CES Administrator\",\n                \"ER ReadOnlyAccess\",\n            ],\n        },\n    ],\n    domainRoles: [\"Anti-DDoS Administrator\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nagency = opentelekomcloud.IdentityAgencyV3(\"agency\",\n    name=\"test_agency\",\n    description=\"test agency\",\n    delegated_domain_name=\"***\",\n    project_roles=[\n        {\n            \"project\": \"eu-de\",\n            \"roles\": [\n                \"KMS Administrator\",\n                \"CCE ReadOnlyAccess\",\n            ],\n        },\n        {\n            \"all_projects\": True,\n            \"roles\": [\n                \"CES Administrator\",\n                \"ER ReadOnlyAccess\",\n            ],\n        },\n    ],\n    domain_roles=[\"Anti-DDoS Administrator\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var agency = new Opentelekomcloud.IdentityAgencyV3(\"agency\", new()\n    {\n        Name = \"test_agency\",\n        Description = \"test agency\",\n        DelegatedDomainName = \"***\",\n        ProjectRoles = new[]\n        {\n            new Opentelekomcloud.Inputs.IdentityAgencyV3ProjectRoleArgs\n            {\n                Project = \"eu-de\",\n                Roles = new[]\n                {\n                    \"KMS Administrator\",\n                    \"CCE ReadOnlyAccess\",\n                },\n            },\n            new Opentelekomcloud.Inputs.IdentityAgencyV3ProjectRoleArgs\n            {\n                AllProjects = true,\n                Roles = new[]\n                {\n                    \"CES Administrator\",\n                    \"ER ReadOnlyAccess\",\n                },\n            },\n        },\n        DomainRoles = new[]\n        {\n            \"Anti-DDoS Administrator\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewIdentityAgencyV3(ctx, \"agency\", \u0026opentelekomcloud.IdentityAgencyV3Args{\n\t\t\tName:                pulumi.String(\"test_agency\"),\n\t\t\tDescription:         pulumi.String(\"test agency\"),\n\t\t\tDelegatedDomainName: pulumi.String(\"***\"),\n\t\t\tProjectRoles: opentelekomcloud.IdentityAgencyV3ProjectRoleArray{\n\t\t\t\t\u0026opentelekomcloud.IdentityAgencyV3ProjectRoleArgs{\n\t\t\t\t\tProject: pulumi.String(\"eu-de\"),\n\t\t\t\t\tRoles: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"KMS Administrator\"),\n\t\t\t\t\t\tpulumi.String(\"CCE ReadOnlyAccess\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026opentelekomcloud.IdentityAgencyV3ProjectRoleArgs{\n\t\t\t\t\tAllProjects: pulumi.Bool(true),\n\t\t\t\t\tRoles: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"CES Administrator\"),\n\t\t\t\t\t\tpulumi.String(\"ER ReadOnlyAccess\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tDomainRoles: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Anti-DDoS Administrator\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.IdentityAgencyV3;\nimport com.pulumi.opentelekomcloud.IdentityAgencyV3Args;\nimport com.pulumi.opentelekomcloud.inputs.IdentityAgencyV3ProjectRoleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var agency = new IdentityAgencyV3(\"agency\", IdentityAgencyV3Args.builder()\n            .name(\"test_agency\")\n            .description(\"test agency\")\n            .delegatedDomainName(\"***\")\n            .projectRoles(            \n                IdentityAgencyV3ProjectRoleArgs.builder()\n                    .project(\"eu-de\")\n                    .roles(                    \n                        \"KMS Administrator\",\n                        \"CCE ReadOnlyAccess\")\n                    .build(),\n                IdentityAgencyV3ProjectRoleArgs.builder()\n                    .allProjects(true)\n                    .roles(                    \n                        \"CES Administrator\",\n                        \"ER ReadOnlyAccess\")\n                    .build())\n            .domainRoles(\"Anti-DDoS Administrator\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  agency:\n    type: opentelekomcloud:IdentityAgencyV3\n    properties:\n      name: test_agency\n      description: test agency\n      delegatedDomainName: '***'\n      projectRoles:\n        - project: eu-de\n          roles:\n            - KMS Administrator\n            - CCE ReadOnlyAccess\n        - allProjects: true\n          roles:\n            - CES Administrator\n            - ER ReadOnlyAccess\n      domainRoles:\n        - Anti-DDoS Administrator\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003e **Note**: It can not set \u003cspan pulumi-lang-nodejs=\"`tenantName`\" pulumi-lang-dotnet=\"`TenantName`\" pulumi-lang-go=\"`tenantName`\" pulumi-lang-python=\"`tenant_name`\" pulumi-lang-yaml=\"`tenantName`\" pulumi-lang-java=\"`tenantName`\"\u003e`tenant_name`\u003c/span\u003e in `provider \"opentelekomcloud\"` when using this resource.\n\n## Import\n\nAgencies can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/identityAgencyV3:IdentityAgencyV3 this 1bc93b8b-37a4-4b50-92cc-daa4c89d4e4c\n```\n\n","properties":{"createTime":{"type":"string","description":"The time when the agency was created.\n"},"delegatedDomainName":{"type":"string","description":"The name of delegated domain.\n"},"description":{"type":"string","description":"Provides supplementary information about the\nagency. The value is a string of 0 to 255 characters.\n"},"domainRoles":{"type":"array","items":{"type":"string"},"description":"An array of role names which stand for the\npermissions to be granted to agency on domain.\n"},"duration":{"type":"string","description":"Validity period of an agency. The default value is null,\nindicating that the agency is permanently valid.\n"},"expireTime":{"type":"string","description":"The expiration time of agency\n"},"identityAgencyV3Id":{"type":"string","description":"The agency ID.\n"},"name":{"type":"string","description":"The name of agency. The name is a string of 1 to 64\ncharacters.\n"},"projectRoles":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FIdentityAgencyV3ProjectRole:IdentityAgencyV3ProjectRole"},"description":"An array of roles and projects which are used to\ngrant permissions to agency on project. The structure is documented below.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FIdentityAgencyV3Timeouts:IdentityAgencyV3Timeouts"}},"type":"object","required":["createTime","delegatedDomainName","description","duration","expireTime","identityAgencyV3Id","name"],"inputProperties":{"delegatedDomainName":{"type":"string","description":"The name of delegated domain.\n"},"description":{"type":"string","description":"Provides supplementary information about the\nagency. The value is a string of 0 to 255 characters.\n"},"domainRoles":{"type":"array","items":{"type":"string"},"description":"An array of role names which stand for the\npermissions to be granted to agency on domain.\n"},"identityAgencyV3Id":{"type":"string","description":"The agency ID.\n"},"name":{"type":"string","description":"The name of agency. The name is a string of 1 to 64\ncharacters.\n"},"projectRoles":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FIdentityAgencyV3ProjectRole:IdentityAgencyV3ProjectRole"},"description":"An array of roles and projects which are used to\ngrant permissions to agency on project. The structure is documented below.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FIdentityAgencyV3Timeouts:IdentityAgencyV3Timeouts"}},"requiredInputs":["delegatedDomainName"],"stateInputs":{"description":"Input properties used for looking up and filtering IdentityAgencyV3 resources.\n","properties":{"createTime":{"type":"string","description":"The time when the agency was created.\n"},"delegatedDomainName":{"type":"string","description":"The name of delegated domain.\n"},"description":{"type":"string","description":"Provides supplementary information about the\nagency. The value is a string of 0 to 255 characters.\n"},"domainRoles":{"type":"array","items":{"type":"string"},"description":"An array of role names which stand for the\npermissions to be granted to agency on domain.\n"},"duration":{"type":"string","description":"Validity period of an agency. The default value is null,\nindicating that the agency is permanently valid.\n"},"expireTime":{"type":"string","description":"The expiration time of agency\n"},"identityAgencyV3Id":{"type":"string","description":"The agency ID.\n"},"name":{"type":"string","description":"The name of agency. The name is a string of 1 to 64\ncharacters.\n"},"projectRoles":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FIdentityAgencyV3ProjectRole:IdentityAgencyV3ProjectRole"},"description":"An array of roles and projects which are used to\ngrant permissions to agency on project. The structure is documented below.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FIdentityAgencyV3Timeouts:IdentityAgencyV3Timeouts"}},"type":"object"}},"opentelekomcloud:index/identityCredentialV3:IdentityCredentialV3":{"description":"Up-to-date reference of API arguments for IAM credential you can get at\n[documentation portal](https://docs.otc.t-systems.com/identity-access-management/api-ref/apis/access_key_management)\n\nManages permanent access key for an OpenTelekomCloud user.\n\n\u003e **Note:** You _must_ have `Security Administrator` privileges in your OpenTelekomCloud\ncloud to use this resource for managing other users' credentials. Please refer to [User Management Model](https://docs.otc.t-systems.com/en-us/usermanual/iam/iam_01_0034.html).\n\n## Example Usage\n\n### Create AK/SK for yourself\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst aksk = new opentelekomcloud.IdentityCredentialV3(\"aksk\", {});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\naksk = opentelekomcloud.IdentityCredentialV3(\"aksk\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var aksk = new Opentelekomcloud.IdentityCredentialV3(\"aksk\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewIdentityCredentialV3(ctx, \"aksk\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.IdentityCredentialV3;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var aksk = new IdentityCredentialV3(\"aksk\");\n\n    }\n}\n```\n```yaml\nresources:\n  aksk:\n    type: opentelekomcloud:IdentityCredentialV3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create user with AK/SK\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst user = new opentelekomcloud.IdentityUserV3(\"user\", {\n    name: \"user_1\",\n    password: \"password123!\",\n});\nconst aksk = new opentelekomcloud.IdentityCredentialV3(\"aksk\", {\n    userId: user.identityUserV3Id,\n    description: \"Created by administrator\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nuser = opentelekomcloud.IdentityUserV3(\"user\",\n    name=\"user_1\",\n    password=\"password123!\")\naksk = opentelekomcloud.IdentityCredentialV3(\"aksk\",\n    user_id=user.identity_user_v3_id,\n    description=\"Created by administrator\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var user = new Opentelekomcloud.IdentityUserV3(\"user\", new()\n    {\n        Name = \"user_1\",\n        Password = \"password123!\",\n    });\n\n    var aksk = new Opentelekomcloud.IdentityCredentialV3(\"aksk\", new()\n    {\n        UserId = user.IdentityUserV3Id,\n        Description = \"Created by administrator\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tuser, err := opentelekomcloud.NewIdentityUserV3(ctx, \"user\", \u0026opentelekomcloud.IdentityUserV3Args{\n\t\t\tName:     pulumi.String(\"user_1\"),\n\t\t\tPassword: pulumi.String(\"password123!\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewIdentityCredentialV3(ctx, \"aksk\", \u0026opentelekomcloud.IdentityCredentialV3Args{\n\t\t\tUserId:      user.IdentityUserV3Id,\n\t\t\tDescription: pulumi.String(\"Created by administrator\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.IdentityUserV3;\nimport com.pulumi.opentelekomcloud.IdentityUserV3Args;\nimport com.pulumi.opentelekomcloud.IdentityCredentialV3;\nimport com.pulumi.opentelekomcloud.IdentityCredentialV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var user = new IdentityUserV3(\"user\", IdentityUserV3Args.builder()\n            .name(\"user_1\")\n            .password(\"password123!\")\n            .build());\n\n        var aksk = new IdentityCredentialV3(\"aksk\", IdentityCredentialV3Args.builder()\n            .userId(user.identityUserV3Id())\n            .description(\"Created by administrator\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  user:\n    type: opentelekomcloud:IdentityUserV3\n    properties:\n      name: user_1\n      password: password123!\n  aksk:\n    type: opentelekomcloud:IdentityCredentialV3\n    properties:\n      userId: ${user.identityUserV3Id}\n      description: Created by administrator\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"access":{"type":"string","description":"Access key ID.\n","secret":true},"createTime":{"type":"string","description":"Time of the access key creation.\n"},"description":{"type":"string","description":"Description of the access key.\n"},"identityCredentialV3Id":{"type":"string"},"keyFingerprint":{"type":"string"},"lastUseTime":{"type":"string","description":"Time of the access key last usage.\n"},"pgpKey":{"type":"string","description":"Either a base-64 encoded PGP public key, or a keybase username in the form\n`keybase:some_person_that_exists`. Changing this creates a new resource.\n"},"secret":{"type":"string","secret":true},"status":{"type":"string","description":"Status of the access key to be changed to. The value can be \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`inactive`\" pulumi-lang-dotnet=\"`Inactive`\" pulumi-lang-go=\"`inactive`\" pulumi-lang-python=\"`inactive`\" pulumi-lang-yaml=\"`inactive`\" pulumi-lang-java=\"`inactive`\"\u003e`inactive`\u003c/span\u003e.\n"},"userId":{"type":"string","description":"IAM user ID. If not set, will create AK/SK for yourself.\n"}},"type":"object","required":["access","createTime","identityCredentialV3Id","keyFingerprint","lastUseTime","secret","status","userId"],"inputProperties":{"description":{"type":"string","description":"Description of the access key.\n"},"identityCredentialV3Id":{"type":"string"},"pgpKey":{"type":"string","description":"Either a base-64 encoded PGP public key, or a keybase username in the form\n`keybase:some_person_that_exists`. Changing this creates a new resource.\n"},"status":{"type":"string","description":"Status of the access key to be changed to. The value can be \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`inactive`\" pulumi-lang-dotnet=\"`Inactive`\" pulumi-lang-go=\"`inactive`\" pulumi-lang-python=\"`inactive`\" pulumi-lang-yaml=\"`inactive`\" pulumi-lang-java=\"`inactive`\"\u003e`inactive`\u003c/span\u003e.\n"},"userId":{"type":"string","description":"IAM user ID. If not set, will create AK/SK for yourself.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering IdentityCredentialV3 resources.\n","properties":{"access":{"type":"string","description":"Access key ID.\n","secret":true},"createTime":{"type":"string","description":"Time of the access key creation.\n"},"description":{"type":"string","description":"Description of the access key.\n"},"identityCredentialV3Id":{"type":"string"},"keyFingerprint":{"type":"string"},"lastUseTime":{"type":"string","description":"Time of the access key last usage.\n"},"pgpKey":{"type":"string","description":"Either a base-64 encoded PGP public key, or a keybase username in the form\n`keybase:some_person_that_exists`. Changing this creates a new resource.\n"},"secret":{"type":"string","secret":true},"status":{"type":"string","description":"Status of the access key to be changed to. The value can be \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`inactive`\" pulumi-lang-dotnet=\"`Inactive`\" pulumi-lang-go=\"`inactive`\" pulumi-lang-python=\"`inactive`\" pulumi-lang-yaml=\"`inactive`\" pulumi-lang-java=\"`inactive`\"\u003e`inactive`\u003c/span\u003e.\n"},"userId":{"type":"string","description":"IAM user ID. If not set, will create AK/SK for yourself.\n"}},"type":"object"}},"opentelekomcloud:index/identityGroupMembershipV3:IdentityGroupMembershipV3":{"description":"Up-to-date reference of API arguments for IAM group membership you can get at\n[documentation portal](https://docs.otc.t-systems.com/identity-access-management/api-ref/apis/user_group_management)\n\nManages a Group Membership resource within OpenTelekomCloud IAM service.\n\n\u003e **Note:** You _must_ have `Security Administrator` privileges in your OpenTelekomCloud\ncloud to use this resource. Please refer to [User Management Model](https://docs.otc.t-systems.com/en-us/usermanual/iam/iam_01_0034.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst group1 = new opentelekomcloud.IdentityGroupV3(\"group_1\", {\n    name: \"group1\",\n    description: \"This is a test group\",\n});\nconst user1 = new opentelekomcloud.IdentityUserV3(\"user_1\", {\n    name: \"user1\",\n    enabled: true,\n    password: \"password12345!\",\n});\nconst user2 = new opentelekomcloud.IdentityUserV3(\"user_2\", {\n    name: \"user2\",\n    enabled: true,\n    password: \"password12345!\",\n});\nconst membership1 = new opentelekomcloud.IdentityGroupMembershipV3(\"membership_1\", {\n    group: group1.identityGroupV3Id,\n    users: [\n        user1.identityUserV3Id,\n        user2.identityUserV3Id,\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ngroup1 = opentelekomcloud.IdentityGroupV3(\"group_1\",\n    name=\"group1\",\n    description=\"This is a test group\")\nuser1 = opentelekomcloud.IdentityUserV3(\"user_1\",\n    name=\"user1\",\n    enabled=True,\n    password=\"password12345!\")\nuser2 = opentelekomcloud.IdentityUserV3(\"user_2\",\n    name=\"user2\",\n    enabled=True,\n    password=\"password12345!\")\nmembership1 = opentelekomcloud.IdentityGroupMembershipV3(\"membership_1\",\n    group=group1.identity_group_v3_id,\n    users=[\n        user1.identity_user_v3_id,\n        user2.identity_user_v3_id,\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var group1 = new Opentelekomcloud.IdentityGroupV3(\"group_1\", new()\n    {\n        Name = \"group1\",\n        Description = \"This is a test group\",\n    });\n\n    var user1 = new Opentelekomcloud.IdentityUserV3(\"user_1\", new()\n    {\n        Name = \"user1\",\n        Enabled = true,\n        Password = \"password12345!\",\n    });\n\n    var user2 = new Opentelekomcloud.IdentityUserV3(\"user_2\", new()\n    {\n        Name = \"user2\",\n        Enabled = true,\n        Password = \"password12345!\",\n    });\n\n    var membership1 = new Opentelekomcloud.IdentityGroupMembershipV3(\"membership_1\", new()\n    {\n        Group = group1.IdentityGroupV3Id,\n        Users = new[]\n        {\n            user1.IdentityUserV3Id,\n            user2.IdentityUserV3Id,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tgroup1, err := opentelekomcloud.NewIdentityGroupV3(ctx, \"group_1\", \u0026opentelekomcloud.IdentityGroupV3Args{\n\t\t\tName:        pulumi.String(\"group1\"),\n\t\t\tDescription: pulumi.String(\"This is a test group\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tuser1, err := opentelekomcloud.NewIdentityUserV3(ctx, \"user_1\", \u0026opentelekomcloud.IdentityUserV3Args{\n\t\t\tName:     pulumi.String(\"user1\"),\n\t\t\tEnabled:  pulumi.Bool(true),\n\t\t\tPassword: pulumi.String(\"password12345!\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tuser2, err := opentelekomcloud.NewIdentityUserV3(ctx, \"user_2\", \u0026opentelekomcloud.IdentityUserV3Args{\n\t\t\tName:     pulumi.String(\"user2\"),\n\t\t\tEnabled:  pulumi.Bool(true),\n\t\t\tPassword: pulumi.String(\"password12345!\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewIdentityGroupMembershipV3(ctx, \"membership_1\", \u0026opentelekomcloud.IdentityGroupMembershipV3Args{\n\t\t\tGroup: group1.IdentityGroupV3Id,\n\t\t\tUsers: pulumi.StringArray{\n\t\t\t\tuser1.IdentityUserV3Id,\n\t\t\t\tuser2.IdentityUserV3Id,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.IdentityGroupV3;\nimport com.pulumi.opentelekomcloud.IdentityGroupV3Args;\nimport com.pulumi.opentelekomcloud.IdentityUserV3;\nimport com.pulumi.opentelekomcloud.IdentityUserV3Args;\nimport com.pulumi.opentelekomcloud.IdentityGroupMembershipV3;\nimport com.pulumi.opentelekomcloud.IdentityGroupMembershipV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var group1 = new IdentityGroupV3(\"group1\", IdentityGroupV3Args.builder()\n            .name(\"group1\")\n            .description(\"This is a test group\")\n            .build());\n\n        var user1 = new IdentityUserV3(\"user1\", IdentityUserV3Args.builder()\n            .name(\"user1\")\n            .enabled(true)\n            .password(\"password12345!\")\n            .build());\n\n        var user2 = new IdentityUserV3(\"user2\", IdentityUserV3Args.builder()\n            .name(\"user2\")\n            .enabled(true)\n            .password(\"password12345!\")\n            .build());\n\n        var membership1 = new IdentityGroupMembershipV3(\"membership1\", IdentityGroupMembershipV3Args.builder()\n            .group(group1.identityGroupV3Id())\n            .users(            \n                user1.identityUserV3Id(),\n                user2.identityUserV3Id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  group1:\n    type: opentelekomcloud:IdentityGroupV3\n    name: group_1\n    properties:\n      name: group1\n      description: This is a test group\n  user1:\n    type: opentelekomcloud:IdentityUserV3\n    name: user_1\n    properties:\n      name: user1\n      enabled: true\n      password: password12345!\n  user2:\n    type: opentelekomcloud:IdentityUserV3\n    name: user_2\n    properties:\n      name: user2\n      enabled: true\n      password: password12345!\n  membership1:\n    type: opentelekomcloud:IdentityGroupMembershipV3\n    name: membership_1\n    properties:\n      group: ${group1.identityGroupV3Id}\n      users:\n        - ${user1.identityUserV3Id}\n        - ${user2.identityUserV3Id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"group":{"type":"string","description":"The group ID of this membership.\n"},"identityGroupMembershipV3Id":{"type":"string"},"users":{"type":"array","items":{"type":"string"},"description":"A List of user IDs to associate to the group.\n"}},"type":"object","required":["group","identityGroupMembershipV3Id","users"],"inputProperties":{"group":{"type":"string","description":"The group ID of this membership.\n"},"identityGroupMembershipV3Id":{"type":"string"},"users":{"type":"array","items":{"type":"string"},"description":"A List of user IDs to associate to the group.\n"}},"requiredInputs":["group","users"],"stateInputs":{"description":"Input properties used for looking up and filtering IdentityGroupMembershipV3 resources.\n","properties":{"group":{"type":"string","description":"The group ID of this membership.\n"},"identityGroupMembershipV3Id":{"type":"string"},"users":{"type":"array","items":{"type":"string"},"description":"A List of user IDs to associate to the group.\n"}},"type":"object"}},"opentelekomcloud:index/identityGroupV3:IdentityGroupV3":{"description":"Up-to-date reference of API arguments for IAM group you can get at\n[documentation portal](https://docs.otc.t-systems.com/identity-access-management/api-ref/apis/user_group_management)\n\nManages a User Group resource within OpenTelekomCloud IAM service.\n\n\u003e **Note:** You _must_ have `Security Administrator` privileges in your OpenTelekomCloud\ncloud to use this resource. Please refer to [User Management Model](https://docs.otc.t-systems.com/en-us/usermanual/iam/iam_01_0034.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst group1 = new opentelekomcloud.IdentityGroupV3(\"group_1\", {\n    name: \"group_1\",\n    description: \"This is a test group\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ngroup1 = opentelekomcloud.IdentityGroupV3(\"group_1\",\n    name=\"group_1\",\n    description=\"This is a test group\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var group1 = new Opentelekomcloud.IdentityGroupV3(\"group_1\", new()\n    {\n        Name = \"group_1\",\n        Description = \"This is a test group\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewIdentityGroupV3(ctx, \"group_1\", \u0026opentelekomcloud.IdentityGroupV3Args{\n\t\t\tName:        pulumi.String(\"group_1\"),\n\t\t\tDescription: pulumi.String(\"This is a test group\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.IdentityGroupV3;\nimport com.pulumi.opentelekomcloud.IdentityGroupV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var group1 = new IdentityGroupV3(\"group1\", IdentityGroupV3Args.builder()\n            .name(\"group_1\")\n            .description(\"This is a test group\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  group1:\n    type: opentelekomcloud:IdentityGroupV3\n    name: group_1\n    properties:\n      name: group_1\n      description: This is a test group\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGroups can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/identityGroupV3:IdentityGroupV3 group_1 89c60255-9bd6-460c-822a-e2b959ede9d2\n```\n\n","properties":{"description":{"type":"string","description":"A description of the group.\n"},"domainId":{"type":"string","description":"The domain this group belongs to.\n"},"identityGroupV3Id":{"type":"string","description":"The resource ID\n"},"name":{"type":"string","description":"The name of the group. The length is less than or equal to 64 bytes.\n"},"region":{"type":"string"}},"type":"object","required":["domainId","identityGroupV3Id","name","region"],"inputProperties":{"description":{"type":"string","description":"A description of the group.\n"},"domainId":{"type":"string","description":"The domain this group belongs to.\n"},"identityGroupV3Id":{"type":"string","description":"The resource ID\n"},"name":{"type":"string","description":"The name of the group. The length is less than or equal to 64 bytes.\n"},"region":{"type":"string"}},"stateInputs":{"description":"Input properties used for looking up and filtering IdentityGroupV3 resources.\n","properties":{"description":{"type":"string","description":"A description of the group.\n"},"domainId":{"type":"string","description":"The domain this group belongs to.\n"},"identityGroupV3Id":{"type":"string","description":"The resource ID\n"},"name":{"type":"string","description":"The name of the group. The length is less than or equal to 64 bytes.\n"},"region":{"type":"string"}},"type":"object"}},"opentelekomcloud:index/identityLoginPolicyV3:IdentityLoginPolicyV3":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst policy1 = new opentelekomcloud.IdentityLoginPolicyV3(\"policy_1\", {\n    customInfoForLogin: \"\",\n    periodWithLoginFailures: 60,\n    lockoutDuration: 15,\n    accountValidityPeriod: 0,\n    loginFailedTimes: 3,\n    sessionTimeout: 1395,\n    showRecentLoginInfo: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\npolicy1 = opentelekomcloud.IdentityLoginPolicyV3(\"policy_1\",\n    custom_info_for_login=\"\",\n    period_with_login_failures=60,\n    lockout_duration=15,\n    account_validity_period=0,\n    login_failed_times=3,\n    session_timeout=1395,\n    show_recent_login_info=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var policy1 = new Opentelekomcloud.IdentityLoginPolicyV3(\"policy_1\", new()\n    {\n        CustomInfoForLogin = \"\",\n        PeriodWithLoginFailures = 60,\n        LockoutDuration = 15,\n        AccountValidityPeriod = 0,\n        LoginFailedTimes = 3,\n        SessionTimeout = 1395,\n        ShowRecentLoginInfo = false,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewIdentityLoginPolicyV3(ctx, \"policy_1\", \u0026opentelekomcloud.IdentityLoginPolicyV3Args{\n\t\t\tCustomInfoForLogin:      pulumi.String(\"\"),\n\t\t\tPeriodWithLoginFailures: pulumi.Float64(60),\n\t\t\tLockoutDuration:         pulumi.Float64(15),\n\t\t\tAccountValidityPeriod:   pulumi.Float64(0),\n\t\t\tLoginFailedTimes:        pulumi.Float64(3),\n\t\t\tSessionTimeout:          pulumi.Float64(1395),\n\t\t\tShowRecentLoginInfo:     pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.IdentityLoginPolicyV3;\nimport com.pulumi.opentelekomcloud.IdentityLoginPolicyV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var policy1 = new IdentityLoginPolicyV3(\"policy1\", IdentityLoginPolicyV3Args.builder()\n            .customInfoForLogin(\"\")\n            .periodWithLoginFailures(60.0)\n            .lockoutDuration(15.0)\n            .accountValidityPeriod(0.0)\n            .loginFailedTimes(3.0)\n            .sessionTimeout(1395.0)\n            .showRecentLoginInfo(false)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  policy1:\n    type: opentelekomcloud:IdentityLoginPolicyV3\n    name: policy_1\n    properties:\n      customInfoForLogin: \"\"\n      periodWithLoginFailures: 60\n      lockoutDuration: 15\n      accountValidityPeriod: 0\n      loginFailedTimes: 3\n      sessionTimeout: 1395\n      showRecentLoginInfo: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nIdentity login authentication policy can be imported using the account ID or domain ID, e.g.\n\nbash\n\n```sh\n$ pulumi import opentelekomcloud:index/identityLoginPolicyV3:IdentityLoginPolicyV3 example \u003cID\u003e\n```\n\n","properties":{"accountValidityPeriod":{"type":"number","description":"Validity period (days) to disable users if they have not logged in within the period.\nValue range: `0-240`. If this parameter is set to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e, no users will be disabled. Default: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"customInfoForLogin":{"type":"string","description":"Custom information that will be displayed upon successful login.\n"},"identityLoginPolicyV3Id":{"type":"string","description":"The ID of account login policy, which is the same as the domain ID.\n"},"lockoutDuration":{"type":"number","description":"Duration (minutes) to lock users out. Value range: `15-30`.\n"},"loginFailedTimes":{"type":"number","description":"Number of unsuccessful login attempts to lock users out. Value range: `3-10`.\n"},"periodWithLoginFailures":{"type":"number","description":"Period (minutes) to count the number of unsuccessful login attempts.\nValue range: `15-60`.\n"},"sessionTimeout":{"type":"number","description":"Session timeout (minutes) that will apply if you or users created using your\naccount do not perform any operations within a specific period. Value range: `15-1440`.\n"},"showRecentLoginInfo":{"type":"boolean","description":"Indicates whether to display last login information upon successful login.\nThe value can be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"type":"object","required":["customInfoForLogin","identityLoginPolicyV3Id","lockoutDuration","loginFailedTimes","periodWithLoginFailures","sessionTimeout"],"inputProperties":{"accountValidityPeriod":{"type":"number","description":"Validity period (days) to disable users if they have not logged in within the period.\nValue range: `0-240`. If this parameter is set to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e, no users will be disabled. Default: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"customInfoForLogin":{"type":"string","description":"Custom information that will be displayed upon successful login.\n"},"identityLoginPolicyV3Id":{"type":"string","description":"The ID of account login policy, which is the same as the domain ID.\n"},"lockoutDuration":{"type":"number","description":"Duration (minutes) to lock users out. Value range: `15-30`.\n"},"loginFailedTimes":{"type":"number","description":"Number of unsuccessful login attempts to lock users out. Value range: `3-10`.\n"},"periodWithLoginFailures":{"type":"number","description":"Period (minutes) to count the number of unsuccessful login attempts.\nValue range: `15-60`.\n"},"sessionTimeout":{"type":"number","description":"Session timeout (minutes) that will apply if you or users created using your\naccount do not perform any operations within a specific period. Value range: `15-1440`.\n"},"showRecentLoginInfo":{"type":"boolean","description":"Indicates whether to display last login information upon successful login.\nThe value can be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering IdentityLoginPolicyV3 resources.\n","properties":{"accountValidityPeriod":{"type":"number","description":"Validity period (days) to disable users if they have not logged in within the period.\nValue range: `0-240`. If this parameter is set to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e, no users will be disabled. Default: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"customInfoForLogin":{"type":"string","description":"Custom information that will be displayed upon successful login.\n"},"identityLoginPolicyV3Id":{"type":"string","description":"The ID of account login policy, which is the same as the domain ID.\n"},"lockoutDuration":{"type":"number","description":"Duration (minutes) to lock users out. Value range: `15-30`.\n"},"loginFailedTimes":{"type":"number","description":"Number of unsuccessful login attempts to lock users out. Value range: `3-10`.\n"},"periodWithLoginFailures":{"type":"number","description":"Period (minutes) to count the number of unsuccessful login attempts.\nValue range: `15-60`.\n"},"sessionTimeout":{"type":"number","description":"Session timeout (minutes) that will apply if you or users created using your\naccount do not perform any operations within a specific period. Value range: `15-1440`.\n"},"showRecentLoginInfo":{"type":"boolean","description":"Indicates whether to display last login information upon successful login.\nThe value can be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"type":"object"}},"opentelekomcloud:index/identityMappingV3:IdentityMappingV3":{"description":"Up-to-date reference of API arguments for IAM mapping you can get at\n[documentation portal](https://docs.otc.t-systems.com/identity-access-management/api-ref/apis/federated_identity_authentication_management/mapping)\n\n\u003e You _must_ have `Security Administrator` privileges in your OpenTelekomCloud\ncloud to use this resource. Please refer to [User Management Model](https://docs.otc.t-systems.com/en-us/usermanual/iam/iam_01_0034.html).\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst mapping = new opentelekomcloud.IdentityMappingV3(\"mapping\", {\n    mappingId: \"ACME\",\n    rules: `  [\n    {\n      \\\\\"local\\\\\":[\n        {\n          \\\\\"user\\\\\":{\\\\\"name\\\\\":\\\\\"{0}\\\\\"}\n        },\n        {\n          \\\\\"groups\\\\\":\\\\\"[\\\\\\\\\\\\\"admin\\\\\\\\\\\\\",\\\\\\\\\\\\\"manager\\\\\\\\\\\\\"]\\\\\"\n        }\n      ],\n      \\\\\"remote\\\\\":[\n        {\n          \\\\\"type\\\\\":\\\\\"uid\\\\\"\n        }\n      ]\n    }\n  ]\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nmapping = opentelekomcloud.IdentityMappingV3(\"mapping\",\n    mapping_id=\"ACME\",\n    rules=\"\"\"  [\n    {\n      \\\"local\\\":[\n        {\n          \\\"user\\\":{\\\"name\\\":\\\"{0}\\\"}\n        },\n        {\n          \\\"groups\\\":\\\"[\\\\\\\"admin\\\\\\\",\\\\\\\"manager\\\\\\\"]\\\"\n        }\n      ],\n      \\\"remote\\\":[\n        {\n          \\\"type\\\":\\\"uid\\\"\n        }\n      ]\n    }\n  ]\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var mapping = new Opentelekomcloud.IdentityMappingV3(\"mapping\", new()\n    {\n        MappingId = \"ACME\",\n        Rules = @\"  [\n    {\n      \\\"\"local\\\"\":[\n        {\n          \\\"\"user\\\"\":{\\\"\"name\\\"\":\\\"\"{0}\\\"\"}\n        },\n        {\n          \\\"\"groups\\\"\":\\\"\"[\\\\\\\"\"admin\\\\\\\"\",\\\\\\\"\"manager\\\\\\\"\"]\\\"\"\n        }\n      ],\n      \\\"\"remote\\\"\":[\n        {\n          \\\"\"type\\\"\":\\\"\"uid\\\"\"\n        }\n      ]\n    }\n  ]\n\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewIdentityMappingV3(ctx, \"mapping\", \u0026opentelekomcloud.IdentityMappingV3Args{\n\t\t\tMappingId: pulumi.String(\"ACME\"),\n\t\t\tRules: pulumi.String(`  [\n    {\n      \\\"local\\\":[\n        {\n          \\\"user\\\":{\\\"name\\\":\\\"{0}\\\"}\n        },\n        {\n          \\\"groups\\\":\\\"[\\\\\\\"admin\\\\\\\",\\\\\\\"manager\\\\\\\"]\\\"\n        }\n      ],\n      \\\"remote\\\":[\n        {\n          \\\"type\\\":\\\"uid\\\"\n        }\n      ]\n    }\n  ]\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.IdentityMappingV3;\nimport com.pulumi.opentelekomcloud.IdentityMappingV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var mapping = new IdentityMappingV3(\"mapping\", IdentityMappingV3Args.builder()\n            .mappingId(\"ACME\")\n            .rules(\"\"\"\n  [\n    {\n      \\\"local\\\":[\n        {\n          \\\"user\\\":{\\\"name\\\":\\\"{0}\\\"}\n        },\n        {\n          \\\"groups\\\":\\\"[\\\\\\\"admin\\\\\\\",\\\\\\\"manager\\\\\\\"]\\\"\n        }\n      ],\n      \\\"remote\\\":[\n        {\n          \\\"type\\\":\\\"uid\\\"\n        }\n      ]\n    }\n  ]\n            \"\"\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  mapping:\n    type: opentelekomcloud:IdentityMappingV3\n    properties:\n      mappingId: ACME\n      rules: |2\n          [\n            {\n              \\\"local\\\":[\n                {\n                  \\\"user\\\":{\\\"name\\\":\\\"{0}\\\"}\n                },\n                {\n                  \\\"groups\\\":\\\"[\\\\\\\"admin\\\\\\\",\\\\\\\"manager\\\\\\\"]\\\"\n                }\n              ],\n              \\\"remote\\\":[\n                {\n                  \\\"type\\\":\\\"uid\\\"\n                }\n              ]\n            }\n          ]\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nMappings can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/identityMappingV3:IdentityMappingV3 mapping ACME\n```\n\n","properties":{"identityMappingV3Id":{"type":"string"},"links":{"type":"object","additionalProperties":{"type":"string"}},"mappingId":{"type":"string","description":"The ID of the mapping. Changing this creates a new mapping.\n"},"rules":{"type":"string","description":"Rules used to map federated users to local users.\n\n\u003e For the full reference checkout [Syntax of Identity Conversion Rules](https://docs.otc.t-systems.com/en-us/usermanual/iam/en-us_topic_0079620340.html).\n"}},"type":"object","required":["identityMappingV3Id","links","mappingId","rules"],"inputProperties":{"identityMappingV3Id":{"type":"string"},"mappingId":{"type":"string","description":"The ID of the mapping. Changing this creates a new mapping.\n"},"rules":{"type":"string","description":"Rules used to map federated users to local users.\n\n\u003e For the full reference checkout [Syntax of Identity Conversion Rules](https://docs.otc.t-systems.com/en-us/usermanual/iam/en-us_topic_0079620340.html).\n"}},"requiredInputs":["mappingId","rules"],"stateInputs":{"description":"Input properties used for looking up and filtering IdentityMappingV3 resources.\n","properties":{"identityMappingV3Id":{"type":"string"},"links":{"type":"object","additionalProperties":{"type":"string"}},"mappingId":{"type":"string","description":"The ID of the mapping. Changing this creates a new mapping.\n"},"rules":{"type":"string","description":"Rules used to map federated users to local users.\n\n\u003e For the full reference checkout [Syntax of Identity Conversion Rules](https://docs.otc.t-systems.com/en-us/usermanual/iam/en-us_topic_0079620340.html).\n"}},"type":"object"}},"opentelekomcloud:index/identityPasswordPolicyV3:IdentityPasswordPolicyV3":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst policy1 = new opentelekomcloud.IdentityPasswordPolicyV3(\"policy_1\", {\n    maximumConsecutiveIdenticalChars: 0,\n    minimumPasswordLength: 6,\n    minimumPasswordAge: 0,\n    numberOfRecentPasswordsDisallowed: 0,\n    passwordNotUsernameOrInvert: true,\n    passwordValidityPeriod: 179,\n    passwordCharCombination: 3,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\npolicy1 = opentelekomcloud.IdentityPasswordPolicyV3(\"policy_1\",\n    maximum_consecutive_identical_chars=0,\n    minimum_password_length=6,\n    minimum_password_age=0,\n    number_of_recent_passwords_disallowed=0,\n    password_not_username_or_invert=True,\n    password_validity_period=179,\n    password_char_combination=3)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var policy1 = new Opentelekomcloud.IdentityPasswordPolicyV3(\"policy_1\", new()\n    {\n        MaximumConsecutiveIdenticalChars = 0,\n        MinimumPasswordLength = 6,\n        MinimumPasswordAge = 0,\n        NumberOfRecentPasswordsDisallowed = 0,\n        PasswordNotUsernameOrInvert = true,\n        PasswordValidityPeriod = 179,\n        PasswordCharCombination = 3,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewIdentityPasswordPolicyV3(ctx, \"policy_1\", \u0026opentelekomcloud.IdentityPasswordPolicyV3Args{\n\t\t\tMaximumConsecutiveIdenticalChars:  pulumi.Float64(0),\n\t\t\tMinimumPasswordLength:             pulumi.Float64(6),\n\t\t\tMinimumPasswordAge:                pulumi.Float64(0),\n\t\t\tNumberOfRecentPasswordsDisallowed: pulumi.Float64(0),\n\t\t\tPasswordNotUsernameOrInvert:       pulumi.Bool(true),\n\t\t\tPasswordValidityPeriod:            pulumi.Float64(179),\n\t\t\tPasswordCharCombination:           pulumi.Float64(3),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.IdentityPasswordPolicyV3;\nimport com.pulumi.opentelekomcloud.IdentityPasswordPolicyV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var policy1 = new IdentityPasswordPolicyV3(\"policy1\", IdentityPasswordPolicyV3Args.builder()\n            .maximumConsecutiveIdenticalChars(0.0)\n            .minimumPasswordLength(6.0)\n            .minimumPasswordAge(0.0)\n            .numberOfRecentPasswordsDisallowed(0.0)\n            .passwordNotUsernameOrInvert(true)\n            .passwordValidityPeriod(179.0)\n            .passwordCharCombination(3.0)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  policy1:\n    type: opentelekomcloud:IdentityPasswordPolicyV3\n    name: policy_1\n    properties:\n      maximumConsecutiveIdenticalChars: 0\n      minimumPasswordLength: 6\n      minimumPasswordAge: 0\n      numberOfRecentPasswordsDisallowed: 0\n      passwordNotUsernameOrInvert: true\n      passwordValidityPeriod: 179\n      passwordCharCombination: 3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nIdentity password policy can be imported using the account ID or domain ID, e.g.\n\nbash\n\n```sh\n$ pulumi import opentelekomcloud:index/identityPasswordPolicyV3:IdentityPasswordPolicyV3 example \u003cID\u003e\n```\n\n","properties":{"identityPasswordPolicyV3Id":{"type":"string","description":"The ID of account password policy, which is the same as the domain ID.\n"},"maximumConsecutiveIdenticalChars":{"type":"number","description":"Maximum number of times that a character is allowed to\nconsecutively present in a password. Value range: `0-32`.\n"},"maximumPasswordLength":{"type":"number","description":"The maximum number of characters that a password can contain.\n"},"minimumPasswordAge":{"type":"number","description":"Minimum period (minutes) after which users are allowed to make a password change.\nValue range: `0-1440`.\n"},"minimumPasswordLength":{"type":"number","description":"Minimum number of characters that a password must contain. Value range: `6-32`.\nDefault: \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e.\n"},"numberOfRecentPasswordsDisallowed":{"type":"number","description":"Number of previously used passwords that are not allowed. Value range: `0-10`.\nDefault: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"passwordCharCombination":{"type":"number","description":"Minimum number of character types that a password must contain.\nValue range: 2-4.\n"},"passwordNotUsernameOrInvert":{"type":"boolean","description":"Indicates whether the password can be the username or the username spelled backwards.\nDefault: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"passwordRequirements":{"type":"string"},"passwordValidityPeriod":{"type":"number","description":"Password validity period (days).\nValue range: 0-180. Value 0 indicates that this requirement does not apply.\n"}},"type":"object","required":["identityPasswordPolicyV3Id","maximumConsecutiveIdenticalChars","maximumPasswordLength","minimumPasswordAge","passwordCharCombination","passwordRequirements","passwordValidityPeriod"],"inputProperties":{"identityPasswordPolicyV3Id":{"type":"string","description":"The ID of account password policy, which is the same as the domain ID.\n"},"maximumConsecutiveIdenticalChars":{"type":"number","description":"Maximum number of times that a character is allowed to\nconsecutively present in a password. Value range: `0-32`.\n"},"minimumPasswordAge":{"type":"number","description":"Minimum period (minutes) after which users are allowed to make a password change.\nValue range: `0-1440`.\n"},"minimumPasswordLength":{"type":"number","description":"Minimum number of characters that a password must contain. Value range: `6-32`.\nDefault: \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e.\n"},"numberOfRecentPasswordsDisallowed":{"type":"number","description":"Number of previously used passwords that are not allowed. Value range: `0-10`.\nDefault: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"passwordCharCombination":{"type":"number","description":"Minimum number of character types that a password must contain.\nValue range: 2-4.\n"},"passwordNotUsernameOrInvert":{"type":"boolean","description":"Indicates whether the password can be the username or the username spelled backwards.\nDefault: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"passwordValidityPeriod":{"type":"number","description":"Password validity period (days).\nValue range: 0-180. Value 0 indicates that this requirement does not apply.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering IdentityPasswordPolicyV3 resources.\n","properties":{"identityPasswordPolicyV3Id":{"type":"string","description":"The ID of account password policy, which is the same as the domain ID.\n"},"maximumConsecutiveIdenticalChars":{"type":"number","description":"Maximum number of times that a character is allowed to\nconsecutively present in a password. Value range: `0-32`.\n"},"maximumPasswordLength":{"type":"number","description":"The maximum number of characters that a password can contain.\n"},"minimumPasswordAge":{"type":"number","description":"Minimum period (minutes) after which users are allowed to make a password change.\nValue range: `0-1440`.\n"},"minimumPasswordLength":{"type":"number","description":"Minimum number of characters that a password must contain. Value range: `6-32`.\nDefault: \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e.\n"},"numberOfRecentPasswordsDisallowed":{"type":"number","description":"Number of previously used passwords that are not allowed. Value range: `0-10`.\nDefault: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"passwordCharCombination":{"type":"number","description":"Minimum number of character types that a password must contain.\nValue range: 2-4.\n"},"passwordNotUsernameOrInvert":{"type":"boolean","description":"Indicates whether the password can be the username or the username spelled backwards.\nDefault: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"passwordRequirements":{"type":"string"},"passwordValidityPeriod":{"type":"number","description":"Password validity period (days).\nValue range: 0-180. Value 0 indicates that this requirement does not apply.\n"}},"type":"object"}},"opentelekomcloud:index/identityProjectV3:IdentityProjectV3":{"description":"Up-to-date reference of API arguments for IAM project you can get at\n[documentation portal](https://docs.otc.t-systems.com/identity-access-management/api-ref/apis/project_management)\n\nManages a Project resource within OpenTelekomCloud Identity And Access\nManagement service.\n\n\u003e **Note:** You _must_ have `Security Administrator` privileges in your OpenTelekomCloud\ncloud to use this resource. Please refer to [User Management Model](https://docs.otc.t-systems.com/en-us/usermanual/iam/iam_01_0034.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst project1 = new opentelekomcloud.IdentityProjectV3(\"project_1\", {\n    name: \"eu-de_project1\",\n    description: \"This is a test project\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nproject1 = opentelekomcloud.IdentityProjectV3(\"project_1\",\n    name=\"eu-de_project1\",\n    description=\"This is a test project\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var project1 = new Opentelekomcloud.IdentityProjectV3(\"project_1\", new()\n    {\n        Name = \"eu-de_project1\",\n        Description = \"This is a test project\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewIdentityProjectV3(ctx, \"project_1\", \u0026opentelekomcloud.IdentityProjectV3Args{\n\t\t\tName:        pulumi.String(\"eu-de_project1\"),\n\t\t\tDescription: pulumi.String(\"This is a test project\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.IdentityProjectV3;\nimport com.pulumi.opentelekomcloud.IdentityProjectV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var project1 = new IdentityProjectV3(\"project1\", IdentityProjectV3Args.builder()\n            .name(\"eu-de_project1\")\n            .description(\"This is a test project\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  project1:\n    type: opentelekomcloud:IdentityProjectV3\n    name: project_1\n    properties:\n      name: eu-de_project1\n      description: This is a test project\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nProjects can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/identityProjectV3:IdentityProjectV3 project_1 89c60255-9bd6-460c-822a-e2b959ede9d2\n```\n\n","properties":{"description":{"type":"string","description":"A description of the project.\n"},"domainId":{"type":"string","description":"The domain this project belongs to. Changing this\ncreates a new Project.\n"},"enabled":{"type":"boolean"},"identityProjectV3Id":{"type":"string"},"isDomain":{"type":"boolean"},"name":{"type":"string","description":"The name of the project. it must start with\nID of an existing region and be less than or equal to 64 characters.\nExample: eu-de_project1.\n"},"parentId":{"type":"string","description":"The parent of this project. Changing this creates\na new Project.\n"},"region":{"type":"string"}},"type":"object","required":["domainId","enabled","identityProjectV3Id","isDomain","name","parentId","region"],"inputProperties":{"description":{"type":"string","description":"A description of the project.\n"},"domainId":{"type":"string","description":"The domain this project belongs to. Changing this\ncreates a new Project.\n"},"identityProjectV3Id":{"type":"string"},"name":{"type":"string","description":"The name of the project. it must start with\nID of an existing region and be less than or equal to 64 characters.\nExample: eu-de_project1.\n"},"parentId":{"type":"string","description":"The parent of this project. Changing this creates\na new Project.\n"},"region":{"type":"string"}},"stateInputs":{"description":"Input properties used for looking up and filtering IdentityProjectV3 resources.\n","properties":{"description":{"type":"string","description":"A description of the project.\n"},"domainId":{"type":"string","description":"The domain this project belongs to. Changing this\ncreates a new Project.\n"},"enabled":{"type":"boolean"},"identityProjectV3Id":{"type":"string"},"isDomain":{"type":"boolean"},"name":{"type":"string","description":"The name of the project. it must start with\nID of an existing region and be less than or equal to 64 characters.\nExample: eu-de_project1.\n"},"parentId":{"type":"string","description":"The parent of this project. Changing this creates\na new Project.\n"},"region":{"type":"string"}},"type":"object"}},"opentelekomcloud:index/identityProtectionPolicyV3:IdentityProtectionPolicyV3":{"description":"## Example Usage\n\n### Self-Verification\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst policy1 = new opentelekomcloud.IdentityProtectionPolicyV3(\"policy_1\", {\n    enableOperationProtectionPolicy: true,\n    selfManagement: {\n        accessKey: true,\n        password: true,\n        email: false,\n        mobile: false,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\npolicy1 = opentelekomcloud.IdentityProtectionPolicyV3(\"policy_1\",\n    enable_operation_protection_policy=True,\n    self_management={\n        \"access_key\": True,\n        \"password\": True,\n        \"email\": False,\n        \"mobile\": False,\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var policy1 = new Opentelekomcloud.IdentityProtectionPolicyV3(\"policy_1\", new()\n    {\n        EnableOperationProtectionPolicy = true,\n        SelfManagement = new Opentelekomcloud.Inputs.IdentityProtectionPolicyV3SelfManagementArgs\n        {\n            AccessKey = true,\n            Password = true,\n            Email = false,\n            Mobile = false,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewIdentityProtectionPolicyV3(ctx, \"policy_1\", \u0026opentelekomcloud.IdentityProtectionPolicyV3Args{\n\t\t\tEnableOperationProtectionPolicy: pulumi.Bool(true),\n\t\t\tSelfManagement: \u0026opentelekomcloud.IdentityProtectionPolicyV3SelfManagementArgs{\n\t\t\t\tAccessKey: pulumi.Bool(true),\n\t\t\t\tPassword:  pulumi.Bool(true),\n\t\t\t\tEmail:     pulumi.Bool(false),\n\t\t\t\tMobile:    pulumi.Bool(false),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.IdentityProtectionPolicyV3;\nimport com.pulumi.opentelekomcloud.IdentityProtectionPolicyV3Args;\nimport com.pulumi.opentelekomcloud.inputs.IdentityProtectionPolicyV3SelfManagementArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var policy1 = new IdentityProtectionPolicyV3(\"policy1\", IdentityProtectionPolicyV3Args.builder()\n            .enableOperationProtectionPolicy(true)\n            .selfManagement(IdentityProtectionPolicyV3SelfManagementArgs.builder()\n                .accessKey(true)\n                .password(true)\n                .email(false)\n                .mobile(false)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  policy1:\n    type: opentelekomcloud:IdentityProtectionPolicyV3\n    name: policy_1\n    properties:\n      enableOperationProtectionPolicy: true\n      selfManagement:\n        accessKey: true\n        password: true\n        email: false\n        mobile: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Verification by another person\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst policy2 = new opentelekomcloud.IdentityProtectionPolicyV3(\"policy_2\", {\n    enableOperationProtectionPolicy: true,\n    verificationEmail: \"example@email.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\npolicy2 = opentelekomcloud.IdentityProtectionPolicyV3(\"policy_2\",\n    enable_operation_protection_policy=True,\n    verification_email=\"example@email.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var policy2 = new Opentelekomcloud.IdentityProtectionPolicyV3(\"policy_2\", new()\n    {\n        EnableOperationProtectionPolicy = true,\n        VerificationEmail = \"example@email.com\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewIdentityProtectionPolicyV3(ctx, \"policy_2\", \u0026opentelekomcloud.IdentityProtectionPolicyV3Args{\n\t\t\tEnableOperationProtectionPolicy: pulumi.Bool(true),\n\t\t\tVerificationEmail:               pulumi.String(\"example@email.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.IdentityProtectionPolicyV3;\nimport com.pulumi.opentelekomcloud.IdentityProtectionPolicyV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var policy2 = new IdentityProtectionPolicyV3(\"policy2\", IdentityProtectionPolicyV3Args.builder()\n            .enableOperationProtectionPolicy(true)\n            .verificationEmail(\"example@email.com\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  policy2:\n    type: opentelekomcloud:IdentityProtectionPolicyV3\n    name: policy_2\n    properties:\n      enableOperationProtectionPolicy: true\n      verificationEmail: example@email.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nIdentity operation protection policy can be imported using the account ID or domain ID, e.g.\n\nbash\n\n```sh\n$ pulumi import opentelekomcloud:index/identityProtectionPolicyV3:IdentityProtectionPolicyV3 example \u003cID\u003e\n```\n\n","properties":{"enableOperationProtectionPolicy":{"type":"boolean","description":"Indicates whether operation protection has been enabled.\nThe value can be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e\n"},"identityProtectionPolicyV3Id":{"type":"string","description":"The ID of account protection policy, which is the same as the domain ID.\n"},"selfManagement":{"$ref":"#/types/opentelekomcloud:index%2FIdentityProtectionPolicyV3SelfManagement:IdentityProtectionPolicyV3SelfManagement","description":"Specifies the attributes IAM users can modify.\nThe object structure is documented below.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"selfManagementPolicy\"\" pulumi-lang-dotnet=\"\"SelfManagementPolicy\"\" pulumi-lang-go=\"\"selfManagementPolicy\"\" pulumi-lang-python=\"\"self_management_policy\"\" pulumi-lang-yaml=\"\"selfManagementPolicy\"\" pulumi-lang-java=\"\"selfManagementPolicy\"\"\u003e\"self_management_policy\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`selfManagement`\" pulumi-lang-dotnet=\"`SelfManagement`\" pulumi-lang-go=\"`selfManagement`\" pulumi-lang-python=\"`self_management`\" pulumi-lang-yaml=\"`selfManagement`\" pulumi-lang-java=\"`selfManagement`\"\u003e`self_management`\u003c/span\u003e block supports:\n"},"selfVerification":{"type":"boolean","description":"Indicates whether the IAM users perform verification by themselves.\n"},"verificationEmail":{"type":"string","description":"Specifies the email address used for verification. An example value is `example@email.com`.\n"},"verificationMobile":{"type":"string","description":"Specifies the mobile number used for verification.\n\n\u003e If \u003cspan pulumi-lang-nodejs=\"`protectionEnabled`\" pulumi-lang-dotnet=\"`ProtectionEnabled`\" pulumi-lang-go=\"`protectionEnabled`\" pulumi-lang-python=\"`protection_enabled`\" pulumi-lang-yaml=\"`protectionEnabled`\" pulumi-lang-java=\"`protectionEnabled`\"\u003e`protection_enabled`\u003c/span\u003e is set to true and neither \u003cspan pulumi-lang-nodejs=\"`verificationEmail`\" pulumi-lang-dotnet=\"`VerificationEmail`\" pulumi-lang-go=\"`verificationEmail`\" pulumi-lang-python=\"`verification_email`\" pulumi-lang-yaml=\"`verificationEmail`\" pulumi-lang-java=\"`verificationEmail`\"\u003e`verification_email`\u003c/span\u003e nor \u003cspan pulumi-lang-nodejs=\"`verificationMobile`\" pulumi-lang-dotnet=\"`VerificationMobile`\" pulumi-lang-go=\"`verificationMobile`\" pulumi-lang-python=\"`verification_mobile`\" pulumi-lang-yaml=\"`verificationMobile`\" pulumi-lang-java=\"`verificationMobile`\"\u003e`verification_mobile`\u003c/span\u003e is specified, IAM users\nperform verification by themselves when performing a critical operation.\n"}},"type":"object","required":["identityProtectionPolicyV3Id","selfVerification"],"inputProperties":{"enableOperationProtectionPolicy":{"type":"boolean","description":"Indicates whether operation protection has been enabled.\nThe value can be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e\n"},"identityProtectionPolicyV3Id":{"type":"string","description":"The ID of account protection policy, which is the same as the domain ID.\n"},"selfManagement":{"$ref":"#/types/opentelekomcloud:index%2FIdentityProtectionPolicyV3SelfManagement:IdentityProtectionPolicyV3SelfManagement","description":"Specifies the attributes IAM users can modify.\nThe object structure is documented below.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"selfManagementPolicy\"\" pulumi-lang-dotnet=\"\"SelfManagementPolicy\"\" pulumi-lang-go=\"\"selfManagementPolicy\"\" pulumi-lang-python=\"\"self_management_policy\"\" pulumi-lang-yaml=\"\"selfManagementPolicy\"\" pulumi-lang-java=\"\"selfManagementPolicy\"\"\u003e\"self_management_policy\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`selfManagement`\" pulumi-lang-dotnet=\"`SelfManagement`\" pulumi-lang-go=\"`selfManagement`\" pulumi-lang-python=\"`self_management`\" pulumi-lang-yaml=\"`selfManagement`\" pulumi-lang-java=\"`selfManagement`\"\u003e`self_management`\u003c/span\u003e block supports:\n"},"verificationEmail":{"type":"string","description":"Specifies the email address used for verification. An example value is `example@email.com`.\n"},"verificationMobile":{"type":"string","description":"Specifies the mobile number used for verification.\n\n\u003e If \u003cspan pulumi-lang-nodejs=\"`protectionEnabled`\" pulumi-lang-dotnet=\"`ProtectionEnabled`\" pulumi-lang-go=\"`protectionEnabled`\" pulumi-lang-python=\"`protection_enabled`\" pulumi-lang-yaml=\"`protectionEnabled`\" pulumi-lang-java=\"`protectionEnabled`\"\u003e`protection_enabled`\u003c/span\u003e is set to true and neither \u003cspan pulumi-lang-nodejs=\"`verificationEmail`\" pulumi-lang-dotnet=\"`VerificationEmail`\" pulumi-lang-go=\"`verificationEmail`\" pulumi-lang-python=\"`verification_email`\" pulumi-lang-yaml=\"`verificationEmail`\" pulumi-lang-java=\"`verificationEmail`\"\u003e`verification_email`\u003c/span\u003e nor \u003cspan pulumi-lang-nodejs=\"`verificationMobile`\" pulumi-lang-dotnet=\"`VerificationMobile`\" pulumi-lang-go=\"`verificationMobile`\" pulumi-lang-python=\"`verification_mobile`\" pulumi-lang-yaml=\"`verificationMobile`\" pulumi-lang-java=\"`verificationMobile`\"\u003e`verification_mobile`\u003c/span\u003e is specified, IAM users\nperform verification by themselves when performing a critical operation.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering IdentityProtectionPolicyV3 resources.\n","properties":{"enableOperationProtectionPolicy":{"type":"boolean","description":"Indicates whether operation protection has been enabled.\nThe value can be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e\n"},"identityProtectionPolicyV3Id":{"type":"string","description":"The ID of account protection policy, which is the same as the domain ID.\n"},"selfManagement":{"$ref":"#/types/opentelekomcloud:index%2FIdentityProtectionPolicyV3SelfManagement:IdentityProtectionPolicyV3SelfManagement","description":"Specifies the attributes IAM users can modify.\nThe object structure is documented below.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"selfManagementPolicy\"\" pulumi-lang-dotnet=\"\"SelfManagementPolicy\"\" pulumi-lang-go=\"\"selfManagementPolicy\"\" pulumi-lang-python=\"\"self_management_policy\"\" pulumi-lang-yaml=\"\"selfManagementPolicy\"\" pulumi-lang-java=\"\"selfManagementPolicy\"\"\u003e\"self_management_policy\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`selfManagement`\" pulumi-lang-dotnet=\"`SelfManagement`\" pulumi-lang-go=\"`selfManagement`\" pulumi-lang-python=\"`self_management`\" pulumi-lang-yaml=\"`selfManagement`\" pulumi-lang-java=\"`selfManagement`\"\u003e`self_management`\u003c/span\u003e block supports:\n"},"selfVerification":{"type":"boolean","description":"Indicates whether the IAM users perform verification by themselves.\n"},"verificationEmail":{"type":"string","description":"Specifies the email address used for verification. An example value is `example@email.com`.\n"},"verificationMobile":{"type":"string","description":"Specifies the mobile number used for verification.\n\n\u003e If \u003cspan pulumi-lang-nodejs=\"`protectionEnabled`\" pulumi-lang-dotnet=\"`ProtectionEnabled`\" pulumi-lang-go=\"`protectionEnabled`\" pulumi-lang-python=\"`protection_enabled`\" pulumi-lang-yaml=\"`protectionEnabled`\" pulumi-lang-java=\"`protectionEnabled`\"\u003e`protection_enabled`\u003c/span\u003e is set to true and neither \u003cspan pulumi-lang-nodejs=\"`verificationEmail`\" pulumi-lang-dotnet=\"`VerificationEmail`\" pulumi-lang-go=\"`verificationEmail`\" pulumi-lang-python=\"`verification_email`\" pulumi-lang-yaml=\"`verificationEmail`\" pulumi-lang-java=\"`verificationEmail`\"\u003e`verification_email`\u003c/span\u003e nor \u003cspan pulumi-lang-nodejs=\"`verificationMobile`\" pulumi-lang-dotnet=\"`VerificationMobile`\" pulumi-lang-go=\"`verificationMobile`\" pulumi-lang-python=\"`verification_mobile`\" pulumi-lang-yaml=\"`verificationMobile`\" pulumi-lang-java=\"`verificationMobile`\"\u003e`verification_mobile`\u003c/span\u003e is specified, IAM users\nperform verification by themselves when performing a critical operation.\n"}},"type":"object"}},"opentelekomcloud:index/identityProtocolV3:IdentityProtocolV3":{"description":"Up-to-date reference of API arguments for IAM protocol you can get at\n[documentation portal](https://docs.otc.t-systems.com/identity-access-management/api-ref/apis/federated_identity_authentication_management/protocol)\n\nManages identity protocol resource providing binding between identity provider and identity mappings.\n\n\u003e You _must_ have `Security Administrator` privileges in your OpenTelekomCloud cloud to use this resource. Please refer\nto [User Management Model](https://docs.otc.t-systems.com/en-us/usermanual/iam/iam_01_0034.html).\n\n## Example Usage\n\n## Import\n\nProtocols can be imported using the `provider_id/protocol`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/identityProtocolV3:IdentityProtocolV3 protocol ACME/saml\n```\n\n","properties":{"accessConfig":{"$ref":"#/types/opentelekomcloud:index%2FIdentityProtocolV3AccessConfig:IdentityProtocolV3AccessConfig","description":"Specifies the description of the identity provider.\nThis field is required only if the protocol is set to *oidc*.\n"},"identityProtocolV3Id":{"type":"string"},"links":{"type":"object","additionalProperties":{"type":"string"},"description":"Resource links of an identity protocol, including \u003cspan pulumi-lang-nodejs=\"`identityProvider`\" pulumi-lang-dotnet=\"`IdentityProvider`\" pulumi-lang-go=\"`identityProvider`\" pulumi-lang-python=\"`identity_provider`\" pulumi-lang-yaml=\"`identityProvider`\" pulumi-lang-java=\"`identityProvider`\"\u003e`identity_provider`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`self`\" pulumi-lang-dotnet=\"`Self`\" pulumi-lang-go=\"`self`\" pulumi-lang-python=\"`self`\" pulumi-lang-yaml=\"`self`\" pulumi-lang-java=\"`self`\"\u003e`self`\u003c/span\u003e.\n"},"mappingId":{"type":"string","description":"ID of an identity mapping.\n"},"metadata":{"$ref":"#/types/opentelekomcloud:index%2FIdentityProtocolV3Metadata:IdentityProtocolV3Metadata","description":"Metadata file configuration.\n"},"protocol":{"type":"string","description":"ID of a protocol. Changing this creates a new protocol.\n"},"providerId":{"type":"string","description":"ID of an identity provider. Changing this creates a new protocol.\n"}},"type":"object","required":["identityProtocolV3Id","links","mappingId","protocol","providerId"],"inputProperties":{"accessConfig":{"$ref":"#/types/opentelekomcloud:index%2FIdentityProtocolV3AccessConfig:IdentityProtocolV3AccessConfig","description":"Specifies the description of the identity provider.\nThis field is required only if the protocol is set to *oidc*.\n"},"identityProtocolV3Id":{"type":"string"},"mappingId":{"type":"string","description":"ID of an identity mapping.\n"},"metadata":{"$ref":"#/types/opentelekomcloud:index%2FIdentityProtocolV3Metadata:IdentityProtocolV3Metadata","description":"Metadata file configuration.\n"},"protocol":{"type":"string","description":"ID of a protocol. Changing this creates a new protocol.\n"},"providerId":{"type":"string","description":"ID of an identity provider. Changing this creates a new protocol.\n"}},"requiredInputs":["mappingId","protocol","providerId"],"stateInputs":{"description":"Input properties used for looking up and filtering IdentityProtocolV3 resources.\n","properties":{"accessConfig":{"$ref":"#/types/opentelekomcloud:index%2FIdentityProtocolV3AccessConfig:IdentityProtocolV3AccessConfig","description":"Specifies the description of the identity provider.\nThis field is required only if the protocol is set to *oidc*.\n"},"identityProtocolV3Id":{"type":"string"},"links":{"type":"object","additionalProperties":{"type":"string"},"description":"Resource links of an identity protocol, including \u003cspan pulumi-lang-nodejs=\"`identityProvider`\" pulumi-lang-dotnet=\"`IdentityProvider`\" pulumi-lang-go=\"`identityProvider`\" pulumi-lang-python=\"`identity_provider`\" pulumi-lang-yaml=\"`identityProvider`\" pulumi-lang-java=\"`identityProvider`\"\u003e`identity_provider`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`self`\" pulumi-lang-dotnet=\"`Self`\" pulumi-lang-go=\"`self`\" pulumi-lang-python=\"`self`\" pulumi-lang-yaml=\"`self`\" pulumi-lang-java=\"`self`\"\u003e`self`\u003c/span\u003e.\n"},"mappingId":{"type":"string","description":"ID of an identity mapping.\n"},"metadata":{"$ref":"#/types/opentelekomcloud:index%2FIdentityProtocolV3Metadata:IdentityProtocolV3Metadata","description":"Metadata file configuration.\n"},"protocol":{"type":"string","description":"ID of a protocol. Changing this creates a new protocol.\n"},"providerId":{"type":"string","description":"ID of an identity provider. Changing this creates a new protocol.\n"}},"type":"object"}},"opentelekomcloud:index/identityProvider:IdentityProvider":{"description":"Up-to-date reference of API arguments for IAM provider you can get at\n[documentation portal](https://docs.otc.t-systems.com/identity-access-management/api-ref/apis/federated_identity_authentication_management/identity_provider)\n\n\u003e You _must_ have `Security Administrator` privileges in your OpenTelekomCloud\ncloud to use this resource. Please refer to [User Management Model](https://docs.otc.t-systems.com/en-us/usermanual/iam/iam_01_0034.html).\n\n\n## Example Usage\n\n### Create a SAML protocol provider\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst provider1 = new opentelekomcloud.IdentityProvider(\"provider_1\", {\n    name: \"example_com_provider_saml\",\n    protocol: \"saml\",\n    mappingRules: JSON.stringify([{\n        local: [{\n            user: {\n                name: \"samltestid\",\n            },\n        }],\n        remote: [{\n            type: \"uid\",\n        }],\n    }]),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nprovider1 = opentelekomcloud.IdentityProvider(\"provider_1\",\n    name=\"example_com_provider_saml\",\n    protocol=\"saml\",\n    mapping_rules=json.dumps([{\n        \"local\": [{\n            \"user\": {\n                \"name\": \"samltestid\",\n            },\n        }],\n        \"remote\": [{\n            \"type\": \"uid\",\n        }],\n    }]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var provider1 = new Opentelekomcloud.IdentityProvider(\"provider_1\", new()\n    {\n        Name = \"example_com_provider_saml\",\n        Protocol = \"saml\",\n        MappingRules = JsonSerializer.Serialize(new[]\n        {\n            new Dictionary\u003cstring, object?\u003e\n            {\n                [\"local\"] = new[]\n                {\n                    new Dictionary\u003cstring, object?\u003e\n                    {\n                        [\"user\"] = new Dictionary\u003cstring, object?\u003e\n                        {\n                            [\"name\"] = \"samltestid\",\n                        },\n                    },\n                },\n                [\"remote\"] = new[]\n                {\n                    new Dictionary\u003cstring, object?\u003e\n                    {\n                        [\"type\"] = \"uid\",\n                    },\n                },\n            },\n        }),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal([]map[string]interface{}{\n\t\t\tmap[string]interface{}{\n\t\t\t\t\"local\": []map[string]interface{}{\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"user\": map[string]interface{}{\n\t\t\t\t\t\t\t\"name\": \"samltestid\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\"remote\": []map[string]interface{}{\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"type\": \"uid\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t_, err = opentelekomcloud.NewIdentityProvider(ctx, \"provider_1\", \u0026opentelekomcloud.IdentityProviderArgs{\n\t\t\tName:         pulumi.String(\"example_com_provider_saml\"),\n\t\t\tProtocol:     pulumi.String(\"saml\"),\n\t\t\tMappingRules: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.IdentityProvider;\nimport com.pulumi.opentelekomcloud.IdentityProviderArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var provider1 = new IdentityProvider(\"provider1\", IdentityProviderArgs.builder()\n            .name(\"example_com_provider_saml\")\n            .protocol(\"saml\")\n            .mappingRules(serializeJson(\n                jsonArray(jsonObject(\n                    jsonProperty(\"local\", jsonArray(jsonObject(\n                        jsonProperty(\"user\", jsonObject(\n                            jsonProperty(\"name\", \"samltestid\")\n                        ))\n                    ))),\n                    jsonProperty(\"remote\", jsonArray(jsonObject(\n                        jsonProperty(\"type\", \"uid\")\n                    )))\n                ))))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  provider1:\n    type: opentelekomcloud:IdentityProvider\n    name: provider_1\n    properties:\n      name: example_com_provider_saml\n      protocol: saml\n      mappingRules:\n        fn::toJSON:\n          - local:\n              - user:\n                  name: samltestid\n            remote:\n              - type: uid\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a OpenID Connect protocol provider\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst provider2 = new opentelekomcloud.IdentityProvider(\"provider_2\", {\n    name: \"example_com_provider_oidc\",\n    protocol: \"oidc\",\n    accessConfig: {\n        accessType: \"program_console\",\n        providerUrl: \"https://accounts.example.com\",\n        clientId: \"your_client_id\",\n        authorizationEndpoint: \"https://accounts.example.com/o/oauth2/v2/auth\",\n        scopes: [\"openid\"],\n        signingKey: JSON.stringify({\n            keys: [{\n                alg: \"RS256\",\n                e: \"AQAB\",\n                kid: \"...\",\n                kty: \"RSA\",\n                n: \"...\",\n                use: \"sig\",\n            }],\n        }),\n    },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nprovider2 = opentelekomcloud.IdentityProvider(\"provider_2\",\n    name=\"example_com_provider_oidc\",\n    protocol=\"oidc\",\n    access_config={\n        \"access_type\": \"program_console\",\n        \"provider_url\": \"https://accounts.example.com\",\n        \"client_id\": \"your_client_id\",\n        \"authorization_endpoint\": \"https://accounts.example.com/o/oauth2/v2/auth\",\n        \"scopes\": [\"openid\"],\n        \"signing_key\": json.dumps({\n            \"keys\": [{\n                \"alg\": \"RS256\",\n                \"e\": \"AQAB\",\n                \"kid\": \"...\",\n                \"kty\": \"RSA\",\n                \"n\": \"...\",\n                \"use\": \"sig\",\n            }],\n        }),\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var provider2 = new Opentelekomcloud.IdentityProvider(\"provider_2\", new()\n    {\n        Name = \"example_com_provider_oidc\",\n        Protocol = \"oidc\",\n        AccessConfig = new Opentelekomcloud.Inputs.IdentityProviderAccessConfigArgs\n        {\n            AccessType = \"program_console\",\n            ProviderUrl = \"https://accounts.example.com\",\n            ClientId = \"your_client_id\",\n            AuthorizationEndpoint = \"https://accounts.example.com/o/oauth2/v2/auth\",\n            Scopes = new[]\n            {\n                \"openid\",\n            },\n            SigningKey = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n            {\n                [\"keys\"] = new[]\n                {\n                    new Dictionary\u003cstring, object?\u003e\n                    {\n                        [\"alg\"] = \"RS256\",\n                        [\"e\"] = \"AQAB\",\n                        [\"kid\"] = \"...\",\n                        [\"kty\"] = \"RSA\",\n                        [\"n\"] = \"...\",\n                        [\"use\"] = \"sig\",\n                    },\n                },\n            }),\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"keys\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"alg\": \"RS256\",\n\t\t\t\t\t\"e\":   \"AQAB\",\n\t\t\t\t\t\"kid\": \"...\",\n\t\t\t\t\t\"kty\": \"RSA\",\n\t\t\t\t\t\"n\":   \"...\",\n\t\t\t\t\t\"use\": \"sig\",\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t_, err = opentelekomcloud.NewIdentityProvider(ctx, \"provider_2\", \u0026opentelekomcloud.IdentityProviderArgs{\n\t\t\tName:     pulumi.String(\"example_com_provider_oidc\"),\n\t\t\tProtocol: pulumi.String(\"oidc\"),\n\t\t\tAccessConfig: \u0026opentelekomcloud.IdentityProviderAccessConfigArgs{\n\t\t\t\tAccessType:            pulumi.String(\"program_console\"),\n\t\t\t\tProviderUrl:           pulumi.String(\"https://accounts.example.com\"),\n\t\t\t\tClientId:              pulumi.String(\"your_client_id\"),\n\t\t\t\tAuthorizationEndpoint: pulumi.String(\"https://accounts.example.com/o/oauth2/v2/auth\"),\n\t\t\t\tScopes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\t},\n\t\t\t\tSigningKey: pulumi.String(json0),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.IdentityProvider;\nimport com.pulumi.opentelekomcloud.IdentityProviderArgs;\nimport com.pulumi.opentelekomcloud.inputs.IdentityProviderAccessConfigArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var provider2 = new IdentityProvider(\"provider2\", IdentityProviderArgs.builder()\n            .name(\"example_com_provider_oidc\")\n            .protocol(\"oidc\")\n            .accessConfig(IdentityProviderAccessConfigArgs.builder()\n                .accessType(\"program_console\")\n                .providerUrl(\"https://accounts.example.com\")\n                .clientId(\"your_client_id\")\n                .authorizationEndpoint(\"https://accounts.example.com/o/oauth2/v2/auth\")\n                .scopes(\"openid\")\n                .signingKey(serializeJson(\n                    jsonObject(\n                        jsonProperty(\"keys\", jsonArray(jsonObject(\n                            jsonProperty(\"alg\", \"RS256\"),\n                            jsonProperty(\"e\", \"AQAB\"),\n                            jsonProperty(\"kid\", \"...\"),\n                            jsonProperty(\"kty\", \"RSA\"),\n                            jsonProperty(\"n\", \"...\"),\n                            jsonProperty(\"use\", \"sig\")\n                        )))\n                    )))\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  provider2:\n    type: opentelekomcloud:IdentityProvider\n    name: provider_2\n    properties:\n      name: example_com_provider_oidc\n      protocol: oidc\n      accessConfig:\n        accessType: program_console\n        providerUrl: https://accounts.example.com\n        clientId: your_client_id\n        authorizationEndpoint: https://accounts.example.com/o/oauth2/v2/auth\n        scopes:\n          - openid\n        signingKey:\n          fn::toJSON:\n            keys:\n              - alg: RS256\n                e: AQAB\n                kid: '...'\n                kty: RSA\n                n: '...'\n                use: sig\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nIdentity provider can be imported using the `name`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/identityProvider:IdentityProvider provider_1 example_provider_saml\n```\n","properties":{"accessConfig":{"$ref":"#/types/opentelekomcloud:index%2FIdentityProviderAccessConfig:IdentityProviderAccessConfig","description":"Specifies the description of the identity provider.\nThis field is required only if the protocol is set to *oidc*.\n"},"conversionRules":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FIdentityProviderConversionRule:IdentityProviderConversionRule"},"description":"The identity conversion rules of the identity provider.\nThe structure is documented below.\n"},"description":{"type":"string","description":"Specifies the description of the identity provider.\n"},"identityProviderId":{"type":"string","description":"A resource ID in UUID format.\n"},"links":{"type":"object","additionalProperties":{"type":"string"},"description":"Resource links of an identity mapping.\n"},"loginLink":{"type":"string","description":"The login link of the identity provider.\n"},"mappingRules":{"type":"string","description":"Rules used to map federated users to local users.\nDetails on \u003cspan pulumi-lang-nodejs=\"`mappingRules`\" pulumi-lang-dotnet=\"`MappingRules`\" pulumi-lang-go=\"`mappingRules`\" pulumi-lang-python=\"`mapping_rules`\" pulumi-lang-yaml=\"`mappingRules`\" pulumi-lang-java=\"`mappingRules`\"\u003e`mapping_rules`\u003c/span\u003e are available in [this link](https://docs.otc.t-systems.com/identity-access-management/api-ref/apis/federated_identity_authentication_management/mapping/creating_a_mapping.html#en-us-topic-0057845590) under \u003cspan pulumi-lang-nodejs=\"`rules`\" pulumi-lang-dotnet=\"`Rules`\" pulumi-lang-go=\"`rules`\" pulumi-lang-python=\"`rules`\" pulumi-lang-yaml=\"`rules`\" pulumi-lang-java=\"`rules`\"\u003e`rules`\u003c/span\u003e section.\n"},"metadata":{"type":"string","description":"Specifies the metadata of the IDP(Identity Provider) server.\nThis field is used to import a metadata file to IAM to implement federated identity authentication.\nThis field is required only if the protocol is set to *saml*.\nThe maximum length is 30,000 characters and it stores in the state with SHA1 algorithm.\n\n\u003e **NOTE:**\nThe metadata file specifies API addresses and certificate information in compliance with the SAML 2.0 standard.\nIt is usually stored in a file. In the TF script, you can import the metafile through the \u003cspan pulumi-lang-nodejs=\"`file`\" pulumi-lang-dotnet=\"`File`\" pulumi-lang-go=\"`file`\" pulumi-lang-python=\"`file`\" pulumi-lang-yaml=\"`file`\" pulumi-lang-java=\"`file`\"\u003e`file`\u003c/span\u003e function,\nfor example:\n\u003cbr/\u003e`metadata = file(\"/usr/local/data/files/metadata.txt\")`\n"},"name":{"type":"string","description":"Specifies the name of the identity provider to be registered.\nThe maximum length is 64 characters. Only letters, digits, underscores (_), and hyphens (-) are allowed.\nThe name is unique, it is recommended to include domain name information.\nChanging this creates a new resource.\n"},"protocol":{"type":"string","description":"Specifies the protocol of the identity provider.\nValid values are *saml* and *oidc*.\n"},"status":{"type":"boolean","description":"Enabled status for the identity provider. Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"type":"object","required":["conversionRules","identityProviderId","links","loginLink","mappingRules","name","protocol"],"inputProperties":{"accessConfig":{"$ref":"#/types/opentelekomcloud:index%2FIdentityProviderAccessConfig:IdentityProviderAccessConfig","description":"Specifies the description of the identity provider.\nThis field is required only if the protocol is set to *oidc*.\n"},"description":{"type":"string","description":"Specifies the description of the identity provider.\n"},"identityProviderId":{"type":"string","description":"A resource ID in UUID format.\n"},"mappingRules":{"type":"string","description":"Rules used to map federated users to local users.\nDetails on \u003cspan pulumi-lang-nodejs=\"`mappingRules`\" pulumi-lang-dotnet=\"`MappingRules`\" pulumi-lang-go=\"`mappingRules`\" pulumi-lang-python=\"`mapping_rules`\" pulumi-lang-yaml=\"`mappingRules`\" pulumi-lang-java=\"`mappingRules`\"\u003e`mapping_rules`\u003c/span\u003e are available in [this link](https://docs.otc.t-systems.com/identity-access-management/api-ref/apis/federated_identity_authentication_management/mapping/creating_a_mapping.html#en-us-topic-0057845590) under \u003cspan pulumi-lang-nodejs=\"`rules`\" pulumi-lang-dotnet=\"`Rules`\" pulumi-lang-go=\"`rules`\" pulumi-lang-python=\"`rules`\" pulumi-lang-yaml=\"`rules`\" pulumi-lang-java=\"`rules`\"\u003e`rules`\u003c/span\u003e section.\n"},"metadata":{"type":"string","description":"Specifies the metadata of the IDP(Identity Provider) server.\nThis field is used to import a metadata file to IAM to implement federated identity authentication.\nThis field is required only if the protocol is set to *saml*.\nThe maximum length is 30,000 characters and it stores in the state with SHA1 algorithm.\n\n\u003e **NOTE:**\nThe metadata file specifies API addresses and certificate information in compliance with the SAML 2.0 standard.\nIt is usually stored in a file. In the TF script, you can import the metafile through the \u003cspan pulumi-lang-nodejs=\"`file`\" pulumi-lang-dotnet=\"`File`\" pulumi-lang-go=\"`file`\" pulumi-lang-python=\"`file`\" pulumi-lang-yaml=\"`file`\" pulumi-lang-java=\"`file`\"\u003e`file`\u003c/span\u003e function,\nfor example:\n\u003cbr/\u003e`metadata = file(\"/usr/local/data/files/metadata.txt\")`\n"},"name":{"type":"string","description":"Specifies the name of the identity provider to be registered.\nThe maximum length is 64 characters. Only letters, digits, underscores (_), and hyphens (-) are allowed.\nThe name is unique, it is recommended to include domain name information.\nChanging this creates a new resource.\n"},"protocol":{"type":"string","description":"Specifies the protocol of the identity provider.\nValid values are *saml* and *oidc*.\n"},"status":{"type":"boolean","description":"Enabled status for the identity provider. Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"requiredInputs":["protocol"],"stateInputs":{"description":"Input properties used for looking up and filtering IdentityProvider resources.\n","properties":{"accessConfig":{"$ref":"#/types/opentelekomcloud:index%2FIdentityProviderAccessConfig:IdentityProviderAccessConfig","description":"Specifies the description of the identity provider.\nThis field is required only if the protocol is set to *oidc*.\n"},"conversionRules":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FIdentityProviderConversionRule:IdentityProviderConversionRule"},"description":"The identity conversion rules of the identity provider.\nThe structure is documented below.\n"},"description":{"type":"string","description":"Specifies the description of the identity provider.\n"},"identityProviderId":{"type":"string","description":"A resource ID in UUID format.\n"},"links":{"type":"object","additionalProperties":{"type":"string"},"description":"Resource links of an identity mapping.\n"},"loginLink":{"type":"string","description":"The login link of the identity provider.\n"},"mappingRules":{"type":"string","description":"Rules used to map federated users to local users.\nDetails on \u003cspan pulumi-lang-nodejs=\"`mappingRules`\" pulumi-lang-dotnet=\"`MappingRules`\" pulumi-lang-go=\"`mappingRules`\" pulumi-lang-python=\"`mapping_rules`\" pulumi-lang-yaml=\"`mappingRules`\" pulumi-lang-java=\"`mappingRules`\"\u003e`mapping_rules`\u003c/span\u003e are available in [this link](https://docs.otc.t-systems.com/identity-access-management/api-ref/apis/federated_identity_authentication_management/mapping/creating_a_mapping.html#en-us-topic-0057845590) under \u003cspan pulumi-lang-nodejs=\"`rules`\" pulumi-lang-dotnet=\"`Rules`\" pulumi-lang-go=\"`rules`\" pulumi-lang-python=\"`rules`\" pulumi-lang-yaml=\"`rules`\" pulumi-lang-java=\"`rules`\"\u003e`rules`\u003c/span\u003e section.\n"},"metadata":{"type":"string","description":"Specifies the metadata of the IDP(Identity Provider) server.\nThis field is used to import a metadata file to IAM to implement federated identity authentication.\nThis field is required only if the protocol is set to *saml*.\nThe maximum length is 30,000 characters and it stores in the state with SHA1 algorithm.\n\n\u003e **NOTE:**\nThe metadata file specifies API addresses and certificate information in compliance with the SAML 2.0 standard.\nIt is usually stored in a file. In the TF script, you can import the metafile through the \u003cspan pulumi-lang-nodejs=\"`file`\" pulumi-lang-dotnet=\"`File`\" pulumi-lang-go=\"`file`\" pulumi-lang-python=\"`file`\" pulumi-lang-yaml=\"`file`\" pulumi-lang-java=\"`file`\"\u003e`file`\u003c/span\u003e function,\nfor example:\n\u003cbr/\u003e`metadata = file(\"/usr/local/data/files/metadata.txt\")`\n"},"name":{"type":"string","description":"Specifies the name of the identity provider to be registered.\nThe maximum length is 64 characters. Only letters, digits, underscores (_), and hyphens (-) are allowed.\nThe name is unique, it is recommended to include domain name information.\nChanging this creates a new resource.\n"},"protocol":{"type":"string","description":"Specifies the protocol of the identity provider.\nValid values are *saml* and *oidc*.\n"},"status":{"type":"boolean","description":"Enabled status for the identity provider. Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"type":"object"}},"opentelekomcloud:index/identityProviderV3:IdentityProviderV3":{"description":"Up-to-date reference of API arguments for IAM provider you can get at\n[documentation portal](https://docs.otc.t-systems.com/identity-access-management/api-ref/apis/federated_identity_authentication_management/identity_provider)\n\n\u003e You _must_ have `Security Administrator` privileges in your OpenTelekomCloud\ncloud to use this resource. Please refer to [User Management Model](https://docs.otc.t-systems.com/en-us/usermanual/iam/iam_01_0034.html).\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst provider = new opentelekomcloud.IdentityProviderV3(\"provider\", {\n    name: \"ACME\",\n    description: \"This is simple identity provider\",\n    enabled: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nprovider = opentelekomcloud.IdentityProviderV3(\"provider\",\n    name=\"ACME\",\n    description=\"This is simple identity provider\",\n    enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var provider = new Opentelekomcloud.IdentityProviderV3(\"provider\", new()\n    {\n        Name = \"ACME\",\n        Description = \"This is simple identity provider\",\n        Enabled = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewIdentityProviderV3(ctx, \"provider\", \u0026opentelekomcloud.IdentityProviderV3Args{\n\t\t\tName:        pulumi.String(\"ACME\"),\n\t\t\tDescription: pulumi.String(\"This is simple identity provider\"),\n\t\t\tEnabled:     pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.IdentityProviderV3;\nimport com.pulumi.opentelekomcloud.IdentityProviderV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var provider = new IdentityProviderV3(\"provider\", IdentityProviderV3Args.builder()\n            .name(\"ACME\")\n            .description(\"This is simple identity provider\")\n            .enabled(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  provider:\n    type: opentelekomcloud:IdentityProviderV3\n    properties:\n      name: ACME\n      description: This is simple identity provider\n      enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nProviders can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/identityProviderV3:IdentityProviderV3 provider ACME\n```\n\n","properties":{"description":{"type":"string","description":"A description of the provider.\n"},"enabled":{"type":"boolean","description":"Whether an identity provider is enabled. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"identityProviderV3Id":{"type":"string"},"links":{"type":"object","additionalProperties":{"type":"string"}},"name":{"type":"string","description":"The name (ID) of the provider. Changing this creates a new provider.\n"},"remoteIds":{"type":"array","items":{"type":"string"}}},"type":"object","required":["identityProviderV3Id","links","name","remoteIds"],"inputProperties":{"description":{"type":"string","description":"A description of the provider.\n"},"enabled":{"type":"boolean","description":"Whether an identity provider is enabled. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"identityProviderV3Id":{"type":"string"},"name":{"type":"string","description":"The name (ID) of the provider. Changing this creates a new provider.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering IdentityProviderV3 resources.\n","properties":{"description":{"type":"string","description":"A description of the provider.\n"},"enabled":{"type":"boolean","description":"Whether an identity provider is enabled. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"identityProviderV3Id":{"type":"string"},"links":{"type":"object","additionalProperties":{"type":"string"}},"name":{"type":"string","description":"The name (ID) of the provider. Changing this creates a new provider.\n"},"remoteIds":{"type":"array","items":{"type":"string"}}},"type":"object"}},"opentelekomcloud:index/identityRoleAssignmentV3:IdentityRoleAssignmentV3":{"description":"Up-to-date reference of API arguments for IAM role assignment you can get at\n[documentation portal](https://docs.otc.t-systems.com/identity-access-management/api-ref/apis/permission_management)\n\nManages a V3 Role assignment within group on OpenTelekomCloud IAM Service.\n\n\u003e **Note:** You _must_ have `Security Administrator` privileges in your OpenTelekomCloud\ncloud to use this resource. Please refer to [User Management Model](https://docs.otc.t-systems.com/en-us/usermanual/iam/iam_01_0034.html).\n\n## Example Usage\n\n### Assign Role On Project Level\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst project1 = new opentelekomcloud.IdentityProjectV3(\"project_1\", {name: \"eu-de_project_1\"});\nconst group1 = new opentelekomcloud.IdentityGroupV3(\"group_1\", {name: \"group_1\"});\nconst role1 = opentelekomcloud.getIdentityRoleV3({\n    name: \"system_all_4\",\n});\nconst roleAssignment1 = new opentelekomcloud.IdentityRoleAssignmentV3(\"role_assignment_1\", {\n    groupId: group1.identityGroupV3Id,\n    projectId: project1.identityProjectV3Id,\n    roleId: role1.then(role1 =\u003e role1.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nproject1 = opentelekomcloud.IdentityProjectV3(\"project_1\", name=\"eu-de_project_1\")\ngroup1 = opentelekomcloud.IdentityGroupV3(\"group_1\", name=\"group_1\")\nrole1 = opentelekomcloud.get_identity_role_v3(name=\"system_all_4\")\nrole_assignment1 = opentelekomcloud.IdentityRoleAssignmentV3(\"role_assignment_1\",\n    group_id=group1.identity_group_v3_id,\n    project_id=project1.identity_project_v3_id,\n    role_id=role1.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var project1 = new Opentelekomcloud.IdentityProjectV3(\"project_1\", new()\n    {\n        Name = \"eu-de_project_1\",\n    });\n\n    var group1 = new Opentelekomcloud.IdentityGroupV3(\"group_1\", new()\n    {\n        Name = \"group_1\",\n    });\n\n    var role1 = Opentelekomcloud.GetIdentityRoleV3.Invoke(new()\n    {\n        Name = \"system_all_4\",\n    });\n\n    var roleAssignment1 = new Opentelekomcloud.IdentityRoleAssignmentV3(\"role_assignment_1\", new()\n    {\n        GroupId = group1.IdentityGroupV3Id,\n        ProjectId = project1.IdentityProjectV3Id,\n        RoleId = role1.Apply(getIdentityRoleV3Result =\u003e getIdentityRoleV3Result.Id),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tproject1, err := opentelekomcloud.NewIdentityProjectV3(ctx, \"project_1\", \u0026opentelekomcloud.IdentityProjectV3Args{\n\t\t\tName: pulumi.String(\"eu-de_project_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tgroup1, err := opentelekomcloud.NewIdentityGroupV3(ctx, \"group_1\", \u0026opentelekomcloud.IdentityGroupV3Args{\n\t\t\tName: pulumi.String(\"group_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trole1, err := opentelekomcloud.LookupIdentityRoleV3(ctx, \u0026opentelekomcloud.LookupIdentityRoleV3Args{\n\t\t\tName: \"system_all_4\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewIdentityRoleAssignmentV3(ctx, \"role_assignment_1\", \u0026opentelekomcloud.IdentityRoleAssignmentV3Args{\n\t\t\tGroupId:   group1.IdentityGroupV3Id,\n\t\t\tProjectId: project1.IdentityProjectV3Id,\n\t\t\tRoleId:    pulumi.String(role1.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.IdentityProjectV3;\nimport com.pulumi.opentelekomcloud.IdentityProjectV3Args;\nimport com.pulumi.opentelekomcloud.IdentityGroupV3;\nimport com.pulumi.opentelekomcloud.IdentityGroupV3Args;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetIdentityRoleV3Args;\nimport com.pulumi.opentelekomcloud.IdentityRoleAssignmentV3;\nimport com.pulumi.opentelekomcloud.IdentityRoleAssignmentV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var project1 = new IdentityProjectV3(\"project1\", IdentityProjectV3Args.builder()\n            .name(\"eu-de_project_1\")\n            .build());\n\n        var group1 = new IdentityGroupV3(\"group1\", IdentityGroupV3Args.builder()\n            .name(\"group_1\")\n            .build());\n\n        final var role1 = OpentelekomcloudFunctions.getIdentityRoleV3(GetIdentityRoleV3Args.builder()\n            .name(\"system_all_4\")\n            .build());\n\n        var roleAssignment1 = new IdentityRoleAssignmentV3(\"roleAssignment1\", IdentityRoleAssignmentV3Args.builder()\n            .groupId(group1.identityGroupV3Id())\n            .projectId(project1.identityProjectV3Id())\n            .roleId(role1.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  project1:\n    type: opentelekomcloud:IdentityProjectV3\n    name: project_1\n    properties:\n      name: eu-de_project_1\n  group1:\n    type: opentelekomcloud:IdentityGroupV3\n    name: group_1\n    properties:\n      name: group_1\n  roleAssignment1:\n    type: opentelekomcloud:IdentityRoleAssignmentV3\n    name: role_assignment_1\n    properties:\n      groupId: ${group1.identityGroupV3Id}\n      projectId: ${project1.identityProjectV3Id}\n      roleId: ${role1.id}\nvariables:\n  role1:\n    fn::invoke:\n      function: opentelekomcloud:getIdentityRoleV3\n      arguments:\n        name: system_all_4\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Assign Role On Domain Level\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\n// this is the domain id\nconst domainId = config.get(\"domainId\") || \"01aafcf63744d988ebef2b1e04c5c34\";\nconst group1 = new opentelekomcloud.IdentityGroupV3(\"group_1\", {name: \"group_1\"});\nconst role1 = opentelekomcloud.getIdentityRoleV3({\n    name: \"secu_admin\",\n});\nconst roleAssignment1 = new opentelekomcloud.IdentityRoleAssignmentV3(\"role_assignment_1\", {\n    groupId: group1.identityGroupV3Id,\n    domainId: domainId,\n    roleId: role1.then(role1 =\u003e role1.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\n# this is the domain id\ndomain_id = config.get(\"domainId\")\nif domain_id is None:\n    domain_id = \"01aafcf63744d988ebef2b1e04c5c34\"\ngroup1 = opentelekomcloud.IdentityGroupV3(\"group_1\", name=\"group_1\")\nrole1 = opentelekomcloud.get_identity_role_v3(name=\"secu_admin\")\nrole_assignment1 = opentelekomcloud.IdentityRoleAssignmentV3(\"role_assignment_1\",\n    group_id=group1.identity_group_v3_id,\n    domain_id=domain_id,\n    role_id=role1.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    // this is the domain id\n    var domainId = config.Get(\"domainId\") ?? \"01aafcf63744d988ebef2b1e04c5c34\";\n    var group1 = new Opentelekomcloud.IdentityGroupV3(\"group_1\", new()\n    {\n        Name = \"group_1\",\n    });\n\n    var role1 = Opentelekomcloud.GetIdentityRoleV3.Invoke(new()\n    {\n        Name = \"secu_admin\",\n    });\n\n    var roleAssignment1 = new Opentelekomcloud.IdentityRoleAssignmentV3(\"role_assignment_1\", new()\n    {\n        GroupId = group1.IdentityGroupV3Id,\n        DomainId = domainId,\n        RoleId = role1.Apply(getIdentityRoleV3Result =\u003e getIdentityRoleV3Result.Id),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\t// this is the domain id\n\t\tdomainId := \"01aafcf63744d988ebef2b1e04c5c34\"\n\t\tif param := cfg.Get(\"domainId\"); param != \"\" {\n\t\t\tdomainId = param\n\t\t}\n\t\tgroup1, err := opentelekomcloud.NewIdentityGroupV3(ctx, \"group_1\", \u0026opentelekomcloud.IdentityGroupV3Args{\n\t\t\tName: pulumi.String(\"group_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trole1, err := opentelekomcloud.LookupIdentityRoleV3(ctx, \u0026opentelekomcloud.LookupIdentityRoleV3Args{\n\t\t\tName: \"secu_admin\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewIdentityRoleAssignmentV3(ctx, \"role_assignment_1\", \u0026opentelekomcloud.IdentityRoleAssignmentV3Args{\n\t\t\tGroupId:  group1.IdentityGroupV3Id,\n\t\t\tDomainId: pulumi.String(domainId),\n\t\t\tRoleId:   pulumi.String(role1.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.IdentityGroupV3;\nimport com.pulumi.opentelekomcloud.IdentityGroupV3Args;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetIdentityRoleV3Args;\nimport com.pulumi.opentelekomcloud.IdentityRoleAssignmentV3;\nimport com.pulumi.opentelekomcloud.IdentityRoleAssignmentV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var domainId = config.get(\"domainId\").orElse(\"01aafcf63744d988ebef2b1e04c5c34\");\n        var group1 = new IdentityGroupV3(\"group1\", IdentityGroupV3Args.builder()\n            .name(\"group_1\")\n            .build());\n\n        final var role1 = OpentelekomcloudFunctions.getIdentityRoleV3(GetIdentityRoleV3Args.builder()\n            .name(\"secu_admin\")\n            .build());\n\n        var roleAssignment1 = new IdentityRoleAssignmentV3(\"roleAssignment1\", IdentityRoleAssignmentV3Args.builder()\n            .groupId(group1.identityGroupV3Id())\n            .domainId(domainId)\n            .roleId(role1.id())\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  domainId:\n    type: string\n    default: 01aafcf63744d988ebef2b1e04c5c34\nresources:\n  group1:\n    type: opentelekomcloud:IdentityGroupV3\n    name: group_1\n    properties:\n      name: group_1\n  roleAssignment1:\n    type: opentelekomcloud:IdentityRoleAssignmentV3\n    name: role_assignment_1\n    properties:\n      groupId: ${group1.identityGroupV3Id}\n      domainId: ${domainId}\n      roleId: ${role1.id}\nvariables:\n  role1:\n    fn::invoke:\n      function: opentelekomcloud:getIdentityRoleV3\n      arguments:\n        name: secu_admin\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Assign Role for All Projects (existing and future)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\n// this is the domain id\nconst domainId = config.get(\"domainId\") || \"01aafcf63744d988ebef2b1e04c5c34\";\nconst group1 = new opentelekomcloud.IdentityGroupV3(\"group_1\", {name: \"group_1\"});\nconst role1 = opentelekomcloud.getIdentityRoleV3({\n    name: \"secu_admin\",\n});\nconst roleAssignment1 = new opentelekomcloud.IdentityRoleAssignmentV3(\"role_assignment_1\", {\n    groupId: group1.identityGroupV3Id,\n    domainId: domainId,\n    roleId: role1.then(role1 =\u003e role1.id),\n    allProjects: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\n# this is the domain id\ndomain_id = config.get(\"domainId\")\nif domain_id is None:\n    domain_id = \"01aafcf63744d988ebef2b1e04c5c34\"\ngroup1 = opentelekomcloud.IdentityGroupV3(\"group_1\", name=\"group_1\")\nrole1 = opentelekomcloud.get_identity_role_v3(name=\"secu_admin\")\nrole_assignment1 = opentelekomcloud.IdentityRoleAssignmentV3(\"role_assignment_1\",\n    group_id=group1.identity_group_v3_id,\n    domain_id=domain_id,\n    role_id=role1.id,\n    all_projects=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    // this is the domain id\n    var domainId = config.Get(\"domainId\") ?? \"01aafcf63744d988ebef2b1e04c5c34\";\n    var group1 = new Opentelekomcloud.IdentityGroupV3(\"group_1\", new()\n    {\n        Name = \"group_1\",\n    });\n\n    var role1 = Opentelekomcloud.GetIdentityRoleV3.Invoke(new()\n    {\n        Name = \"secu_admin\",\n    });\n\n    var roleAssignment1 = new Opentelekomcloud.IdentityRoleAssignmentV3(\"role_assignment_1\", new()\n    {\n        GroupId = group1.IdentityGroupV3Id,\n        DomainId = domainId,\n        RoleId = role1.Apply(getIdentityRoleV3Result =\u003e getIdentityRoleV3Result.Id),\n        AllProjects = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\t// this is the domain id\n\t\tdomainId := \"01aafcf63744d988ebef2b1e04c5c34\"\n\t\tif param := cfg.Get(\"domainId\"); param != \"\" {\n\t\t\tdomainId = param\n\t\t}\n\t\tgroup1, err := opentelekomcloud.NewIdentityGroupV3(ctx, \"group_1\", \u0026opentelekomcloud.IdentityGroupV3Args{\n\t\t\tName: pulumi.String(\"group_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trole1, err := opentelekomcloud.LookupIdentityRoleV3(ctx, \u0026opentelekomcloud.LookupIdentityRoleV3Args{\n\t\t\tName: \"secu_admin\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewIdentityRoleAssignmentV3(ctx, \"role_assignment_1\", \u0026opentelekomcloud.IdentityRoleAssignmentV3Args{\n\t\t\tGroupId:     group1.IdentityGroupV3Id,\n\t\t\tDomainId:    pulumi.String(domainId),\n\t\t\tRoleId:      pulumi.String(role1.Id),\n\t\t\tAllProjects: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.IdentityGroupV3;\nimport com.pulumi.opentelekomcloud.IdentityGroupV3Args;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetIdentityRoleV3Args;\nimport com.pulumi.opentelekomcloud.IdentityRoleAssignmentV3;\nimport com.pulumi.opentelekomcloud.IdentityRoleAssignmentV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var domainId = config.get(\"domainId\").orElse(\"01aafcf63744d988ebef2b1e04c5c34\");\n        var group1 = new IdentityGroupV3(\"group1\", IdentityGroupV3Args.builder()\n            .name(\"group_1\")\n            .build());\n\n        final var role1 = OpentelekomcloudFunctions.getIdentityRoleV3(GetIdentityRoleV3Args.builder()\n            .name(\"secu_admin\")\n            .build());\n\n        var roleAssignment1 = new IdentityRoleAssignmentV3(\"roleAssignment1\", IdentityRoleAssignmentV3Args.builder()\n            .groupId(group1.identityGroupV3Id())\n            .domainId(domainId)\n            .roleId(role1.id())\n            .allProjects(true)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  domainId:\n    type: string\n    default: 01aafcf63744d988ebef2b1e04c5c34\nresources:\n  group1:\n    type: opentelekomcloud:IdentityGroupV3\n    name: group_1\n    properties:\n      name: group_1\n  roleAssignment1:\n    type: opentelekomcloud:IdentityRoleAssignmentV3\n    name: role_assignment_1\n    properties:\n      groupId: ${group1.identityGroupV3Id}\n      domainId: ${domainId}\n      roleId: ${role1.id}\n      allProjects: true\nvariables:\n  role1:\n    fn::invoke:\n      function: opentelekomcloud:getIdentityRoleV3\n      arguments:\n        name: secu_admin\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"allProjects":{"type":"boolean","description":"Whether to assign role for all existing and future projects.\n\u003cspan pulumi-lang-nodejs=\"`domainId`\" pulumi-lang-dotnet=\"`DomainId`\" pulumi-lang-go=\"`domainId`\" pulumi-lang-python=\"`domain_id`\" pulumi-lang-yaml=\"`domainId`\" pulumi-lang-java=\"`domainId`\"\u003e`domain_id`\u003c/span\u003e has to be specified if \u003cspan pulumi-lang-nodejs=\"`allProjects`\" pulumi-lang-dotnet=\"`AllProjects`\" pulumi-lang-go=\"`allProjects`\" pulumi-lang-python=\"`all_projects`\" pulumi-lang-yaml=\"`allProjects`\" pulumi-lang-java=\"`allProjects`\"\u003e`all_projects`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"domainId":{"type":"string","description":"The domain to assign the role in.\n"},"groupId":{"type":"string","description":"The group to assign the role to.\n"},"identityRoleAssignmentV3Id":{"type":"string"},"projectId":{"type":"string","description":"The project to assign the role in.\n"},"roleId":{"type":"string","description":"The role to assign.\n"}},"type":"object","required":["groupId","identityRoleAssignmentV3Id","roleId"],"inputProperties":{"allProjects":{"type":"boolean","description":"Whether to assign role for all existing and future projects.\n\u003cspan pulumi-lang-nodejs=\"`domainId`\" pulumi-lang-dotnet=\"`DomainId`\" pulumi-lang-go=\"`domainId`\" pulumi-lang-python=\"`domain_id`\" pulumi-lang-yaml=\"`domainId`\" pulumi-lang-java=\"`domainId`\"\u003e`domain_id`\u003c/span\u003e has to be specified if \u003cspan pulumi-lang-nodejs=\"`allProjects`\" pulumi-lang-dotnet=\"`AllProjects`\" pulumi-lang-go=\"`allProjects`\" pulumi-lang-python=\"`all_projects`\" pulumi-lang-yaml=\"`allProjects`\" pulumi-lang-java=\"`allProjects`\"\u003e`all_projects`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"domainId":{"type":"string","description":"The domain to assign the role in.\n"},"groupId":{"type":"string","description":"The group to assign the role to.\n"},"identityRoleAssignmentV3Id":{"type":"string"},"projectId":{"type":"string","description":"The project to assign the role in.\n"},"roleId":{"type":"string","description":"The role to assign.\n"}},"requiredInputs":["groupId","roleId"],"stateInputs":{"description":"Input properties used for looking up and filtering IdentityRoleAssignmentV3 resources.\n","properties":{"allProjects":{"type":"boolean","description":"Whether to assign role for all existing and future projects.\n\u003cspan pulumi-lang-nodejs=\"`domainId`\" pulumi-lang-dotnet=\"`DomainId`\" pulumi-lang-go=\"`domainId`\" pulumi-lang-python=\"`domain_id`\" pulumi-lang-yaml=\"`domainId`\" pulumi-lang-java=\"`domainId`\"\u003e`domain_id`\u003c/span\u003e has to be specified if \u003cspan pulumi-lang-nodejs=\"`allProjects`\" pulumi-lang-dotnet=\"`AllProjects`\" pulumi-lang-go=\"`allProjects`\" pulumi-lang-python=\"`all_projects`\" pulumi-lang-yaml=\"`allProjects`\" pulumi-lang-java=\"`allProjects`\"\u003e`all_projects`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"domainId":{"type":"string","description":"The domain to assign the role in.\n"},"groupId":{"type":"string","description":"The group to assign the role to.\n"},"identityRoleAssignmentV3Id":{"type":"string"},"projectId":{"type":"string","description":"The project to assign the role in.\n"},"roleId":{"type":"string","description":"The role to assign.\n"}},"type":"object"}},"opentelekomcloud:index/identityRoleV3:IdentityRoleV3":{"description":"Up-to-date reference of API arguments for IAM role you can get at\n[documentation portal](https://docs.otc.t-systems.com/identity-access-management/api-ref/apis/permission_management)\n\nCustom role management\n\n\u003e **Note:** You _must_ have `Security Administrator` privileges in your OpenTelekomCloud\ncloud to use this resource. Please refer to [User Management Model](https://docs.otc.t-systems.com/en-us/usermanual/iam/iam_01_0034.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst role = new opentelekomcloud.IdentityRoleV3(\"role\", {\n    description: \"role\",\n    displayName: \"custom_role\",\n    displayLayer: \"domain\",\n    statements: [\n        {\n            effect: \"Allow\",\n            actions: [\"obs:bucket:GetBucketAcl\"],\n            resources: [\"OBS:*:*:bucket:test-bucket\"],\n            condition: `    {\n      \\\\\"StringStartWith\\\\\": {\n          \\\\\"g:ProjectName\\\\\": [\n              \\\\\"eu-de\\\\\"\n          ]\n      },\n      \\\\\"StringNotEqualsIgnoreCase\\\\\": {\n          \\\\\"g:ServiceName\\\\\": [\n              \\\\\"iam\\\\\"\n          ]\n    }\n`,\n        },\n        {\n            effect: \"Allow\",\n            actions: [\n                \"obs:bucket:HeadBucket\",\n                \"obs:bucket:ListBucketMultipartUploads\",\n                \"obs:bucket:ListBucket\",\n            ],\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nrole = opentelekomcloud.IdentityRoleV3(\"role\",\n    description=\"role\",\n    display_name=\"custom_role\",\n    display_layer=\"domain\",\n    statements=[\n        {\n            \"effect\": \"Allow\",\n            \"actions\": [\"obs:bucket:GetBucketAcl\"],\n            \"resources\": [\"OBS:*:*:bucket:test-bucket\"],\n            \"condition\": \"\"\"    {\n      \\\"StringStartWith\\\": {\n          \\\"g:ProjectName\\\": [\n              \\\"eu-de\\\"\n          ]\n      },\n      \\\"StringNotEqualsIgnoreCase\\\": {\n          \\\"g:ServiceName\\\": [\n              \\\"iam\\\"\n          ]\n    }\n\"\"\",\n        },\n        {\n            \"effect\": \"Allow\",\n            \"actions\": [\n                \"obs:bucket:HeadBucket\",\n                \"obs:bucket:ListBucketMultipartUploads\",\n                \"obs:bucket:ListBucket\",\n            ],\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var role = new Opentelekomcloud.IdentityRoleV3(\"role\", new()\n    {\n        Description = \"role\",\n        DisplayName = \"custom_role\",\n        DisplayLayer = \"domain\",\n        Statements = new[]\n        {\n            new Opentelekomcloud.Inputs.IdentityRoleV3StatementArgs\n            {\n                Effect = \"Allow\",\n                Actions = new[]\n                {\n                    \"obs:bucket:GetBucketAcl\",\n                },\n                Resources = new[]\n                {\n                    \"OBS:*:*:bucket:test-bucket\",\n                },\n                Condition = @\"    {\n      \\\"\"StringStartWith\\\"\": {\n          \\\"\"g:ProjectName\\\"\": [\n              \\\"\"eu-de\\\"\"\n          ]\n      },\n      \\\"\"StringNotEqualsIgnoreCase\\\"\": {\n          \\\"\"g:ServiceName\\\"\": [\n              \\\"\"iam\\\"\"\n          ]\n    }\n\",\n            },\n            new Opentelekomcloud.Inputs.IdentityRoleV3StatementArgs\n            {\n                Effect = \"Allow\",\n                Actions = new[]\n                {\n                    \"obs:bucket:HeadBucket\",\n                    \"obs:bucket:ListBucketMultipartUploads\",\n                    \"obs:bucket:ListBucket\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewIdentityRoleV3(ctx, \"role\", \u0026opentelekomcloud.IdentityRoleV3Args{\n\t\t\tDescription:  pulumi.String(\"role\"),\n\t\t\tDisplayName:  pulumi.String(\"custom_role\"),\n\t\t\tDisplayLayer: pulumi.String(\"domain\"),\n\t\t\tStatements: opentelekomcloud.IdentityRoleV3StatementArray{\n\t\t\t\t\u0026opentelekomcloud.IdentityRoleV3StatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"obs:bucket:GetBucketAcl\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"OBS:*:*:bucket:test-bucket\"),\n\t\t\t\t\t},\n\t\t\t\t\tCondition: pulumi.String(`    {\n      \\\"StringStartWith\\\": {\n          \\\"g:ProjectName\\\": [\n              \\\"eu-de\\\"\n          ]\n      },\n      \\\"StringNotEqualsIgnoreCase\\\": {\n          \\\"g:ServiceName\\\": [\n              \\\"iam\\\"\n          ]\n    }\n`),\n\t\t\t\t},\n\t\t\t\t\u0026opentelekomcloud.IdentityRoleV3StatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"obs:bucket:HeadBucket\"),\n\t\t\t\t\t\tpulumi.String(\"obs:bucket:ListBucketMultipartUploads\"),\n\t\t\t\t\t\tpulumi.String(\"obs:bucket:ListBucket\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.IdentityRoleV3;\nimport com.pulumi.opentelekomcloud.IdentityRoleV3Args;\nimport com.pulumi.opentelekomcloud.inputs.IdentityRoleV3StatementArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var role = new IdentityRoleV3(\"role\", IdentityRoleV3Args.builder()\n            .description(\"role\")\n            .displayName(\"custom_role\")\n            .displayLayer(\"domain\")\n            .statements(            \n                IdentityRoleV3StatementArgs.builder()\n                    .effect(\"Allow\")\n                    .actions(\"obs:bucket:GetBucketAcl\")\n                    .resources(\"OBS:*:*:bucket:test-bucket\")\n                    .condition(\"\"\"\n    {\n      \\\"StringStartWith\\\": {\n          \\\"g:ProjectName\\\": [\n              \\\"eu-de\\\"\n          ]\n      },\n      \\\"StringNotEqualsIgnoreCase\\\": {\n          \\\"g:ServiceName\\\": [\n              \\\"iam\\\"\n          ]\n    }\n                    \"\"\")\n                    .build(),\n                IdentityRoleV3StatementArgs.builder()\n                    .effect(\"Allow\")\n                    .actions(                    \n                        \"obs:bucket:HeadBucket\",\n                        \"obs:bucket:ListBucketMultipartUploads\",\n                        \"obs:bucket:ListBucket\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  role:\n    type: opentelekomcloud:IdentityRoleV3\n    properties:\n      description: role\n      displayName: custom_role\n      displayLayer: domain\n      statements:\n        - effect: Allow\n          actions:\n            - obs:bucket:GetBucketAcl\n          resources:\n            - OBS:*:*:bucket:test-bucket\n          condition: |2\n                {\n                  \\\"StringStartWith\\\": {\n                      \\\"g:ProjectName\\\": [\n                          \\\"eu-de\\\"\n                      ]\n                  },\n                  \\\"StringNotEqualsIgnoreCase\\\": {\n                      \\\"g:ServiceName\\\": [\n                          \\\"iam\\\"\n                      ]\n                }\n        - effect: Allow\n          actions:\n            - obs:bucket:HeadBucket\n            - obs:bucket:ListBucketMultipartUploads\n            - obs:bucket:ListBucket\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRole can be imported using the following format:\n\n```sh\n$ pulumi import opentelekomcloud:index/identityRoleV3:IdentityRoleV3 default {{ resource id}}\n```\n\n","properties":{"catalog":{"type":"string","description":"Directory where a role locates\n"},"description":{"type":"string","description":"Description of a role. The value cannot exceed 256 characters.\n"},"displayLayer":{"type":"string","description":"Display layer of a role.\n"},"displayName":{"type":"string","description":"Displayed name of a role. The value cannot exceed 64 characters.\n"},"domainId":{"type":"string","description":"ID of the domain to which a role belongs\n"},"identityRoleV3Id":{"type":"string"},"name":{"type":"string","description":"Name of a role\n"},"statements":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FIdentityRoleV3Statement:IdentityRoleV3Statement"},"description":"Statement: The Statement field contains the Effect and Action\nelements. Effect indicates whether the policy allows or denies\naccess. Action indicates authorization items. The number of\nstatements cannot exceed 8. Structure is documented below.\n"}},"type":"object","required":["catalog","description","displayLayer","displayName","domainId","identityRoleV3Id","name","statements"],"inputProperties":{"description":{"type":"string","description":"Description of a role. The value cannot exceed 256 characters.\n"},"displayLayer":{"type":"string","description":"Display layer of a role.\n"},"displayName":{"type":"string","description":"Displayed name of a role. The value cannot exceed 64 characters.\n"},"identityRoleV3Id":{"type":"string"},"statements":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FIdentityRoleV3Statement:IdentityRoleV3Statement"},"description":"Statement: The Statement field contains the Effect and Action\nelements. Effect indicates whether the policy allows or denies\naccess. Action indicates authorization items. The number of\nstatements cannot exceed 8. Structure is documented below.\n"}},"requiredInputs":["description","displayLayer","displayName","statements"],"stateInputs":{"description":"Input properties used for looking up and filtering IdentityRoleV3 resources.\n","properties":{"catalog":{"type":"string","description":"Directory where a role locates\n"},"description":{"type":"string","description":"Description of a role. The value cannot exceed 256 characters.\n"},"displayLayer":{"type":"string","description":"Display layer of a role.\n"},"displayName":{"type":"string","description":"Displayed name of a role. The value cannot exceed 64 characters.\n"},"domainId":{"type":"string","description":"ID of the domain to which a role belongs\n"},"identityRoleV3Id":{"type":"string"},"name":{"type":"string","description":"Name of a role\n"},"statements":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FIdentityRoleV3Statement:IdentityRoleV3Statement"},"description":"Statement: The Statement field contains the Effect and Action\nelements. Effect indicates whether the policy allows or denies\naccess. Action indicates authorization items. The number of\nstatements cannot exceed 8. Structure is documented below.\n"}},"type":"object"}},"opentelekomcloud:index/identityUserGroupMembershipV3:IdentityUserGroupMembershipV3":{"description":"Up-to-date reference of API arguments for IAM user group membership you can get at\n[documentation portal](https://docs.otc.t-systems.com/identity-access-management/api-ref/apis/user_group_management)\n\nManages a User Group Membership resource within OpenTelekomCloud IAM service.\n\n\u003e **Note:** You _must_ have `Security Administrator` privileges in your OpenTelekomCloud\ncloud to use this resource. Please refer to [User Management Model](https://docs.otc.t-systems.com/en-us/usermanual/iam/iam_01_0034.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst user1 = new opentelekomcloud.IdentityUserV3(\"user_1\", {\n    name: \"user-1\",\n    password: \"password123@#\",\n    enabled: true,\n});\nconst group1 = new opentelekomcloud.IdentityGroupV3(\"group_1\", {name: \"group-1\"});\nconst group2 = new opentelekomcloud.IdentityGroupV3(\"group_2\", {name: \"group-2\"});\nconst membership1 = new opentelekomcloud.IdentityUserGroupMembershipV3(\"membership_1\", {\n    user: user1.identityUserV3Id,\n    groups: [\n        group1.identityGroupV3Id,\n        group2.identityGroupV3Id,\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nuser1 = opentelekomcloud.IdentityUserV3(\"user_1\",\n    name=\"user-1\",\n    password=\"password123@#\",\n    enabled=True)\ngroup1 = opentelekomcloud.IdentityGroupV3(\"group_1\", name=\"group-1\")\ngroup2 = opentelekomcloud.IdentityGroupV3(\"group_2\", name=\"group-2\")\nmembership1 = opentelekomcloud.IdentityUserGroupMembershipV3(\"membership_1\",\n    user=user1.identity_user_v3_id,\n    groups=[\n        group1.identity_group_v3_id,\n        group2.identity_group_v3_id,\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var user1 = new Opentelekomcloud.IdentityUserV3(\"user_1\", new()\n    {\n        Name = \"user-1\",\n        Password = \"password123@#\",\n        Enabled = true,\n    });\n\n    var group1 = new Opentelekomcloud.IdentityGroupV3(\"group_1\", new()\n    {\n        Name = \"group-1\",\n    });\n\n    var group2 = new Opentelekomcloud.IdentityGroupV3(\"group_2\", new()\n    {\n        Name = \"group-2\",\n    });\n\n    var membership1 = new Opentelekomcloud.IdentityUserGroupMembershipV3(\"membership_1\", new()\n    {\n        User = user1.IdentityUserV3Id,\n        Groups = new[]\n        {\n            group1.IdentityGroupV3Id,\n            group2.IdentityGroupV3Id,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tuser1, err := opentelekomcloud.NewIdentityUserV3(ctx, \"user_1\", \u0026opentelekomcloud.IdentityUserV3Args{\n\t\t\tName:     pulumi.String(\"user-1\"),\n\t\t\tPassword: pulumi.String(\"password123@#\"),\n\t\t\tEnabled:  pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tgroup1, err := opentelekomcloud.NewIdentityGroupV3(ctx, \"group_1\", \u0026opentelekomcloud.IdentityGroupV3Args{\n\t\t\tName: pulumi.String(\"group-1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tgroup2, err := opentelekomcloud.NewIdentityGroupV3(ctx, \"group_2\", \u0026opentelekomcloud.IdentityGroupV3Args{\n\t\t\tName: pulumi.String(\"group-2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewIdentityUserGroupMembershipV3(ctx, \"membership_1\", \u0026opentelekomcloud.IdentityUserGroupMembershipV3Args{\n\t\t\tUser: user1.IdentityUserV3Id,\n\t\t\tGroups: pulumi.StringArray{\n\t\t\t\tgroup1.IdentityGroupV3Id,\n\t\t\t\tgroup2.IdentityGroupV3Id,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.IdentityUserV3;\nimport com.pulumi.opentelekomcloud.IdentityUserV3Args;\nimport com.pulumi.opentelekomcloud.IdentityGroupV3;\nimport com.pulumi.opentelekomcloud.IdentityGroupV3Args;\nimport com.pulumi.opentelekomcloud.IdentityUserGroupMembershipV3;\nimport com.pulumi.opentelekomcloud.IdentityUserGroupMembershipV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var user1 = new IdentityUserV3(\"user1\", IdentityUserV3Args.builder()\n            .name(\"user-1\")\n            .password(\"password123@#\")\n            .enabled(true)\n            .build());\n\n        var group1 = new IdentityGroupV3(\"group1\", IdentityGroupV3Args.builder()\n            .name(\"group-1\")\n            .build());\n\n        var group2 = new IdentityGroupV3(\"group2\", IdentityGroupV3Args.builder()\n            .name(\"group-2\")\n            .build());\n\n        var membership1 = new IdentityUserGroupMembershipV3(\"membership1\", IdentityUserGroupMembershipV3Args.builder()\n            .user(user1.identityUserV3Id())\n            .groups(            \n                group1.identityGroupV3Id(),\n                group2.identityGroupV3Id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  user1:\n    type: opentelekomcloud:IdentityUserV3\n    name: user_1\n    properties:\n      name: user-1\n      password: password123@#\n      enabled: true\n  group1:\n    type: opentelekomcloud:IdentityGroupV3\n    name: group_1\n    properties:\n      name: group-1\n  group2:\n    type: opentelekomcloud:IdentityGroupV3\n    name: group_2\n    properties:\n      name: group-2\n  membership1:\n    type: opentelekomcloud:IdentityUserGroupMembershipV3\n    name: membership_1\n    properties:\n      user: ${user1.identityUserV3Id}\n      groups:\n        - ${group1.identityGroupV3Id}\n        - ${group2.identityGroupV3Id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"groups":{"type":"array","items":{"type":"string"},"description":"IDs of the groups for the user to be assigned to.\n"},"identityUserGroupMembershipV3Id":{"type":"string"},"user":{"type":"string","description":"ID of a user.\n"}},"type":"object","required":["groups","identityUserGroupMembershipV3Id","user"],"inputProperties":{"groups":{"type":"array","items":{"type":"string"},"description":"IDs of the groups for the user to be assigned to.\n"},"identityUserGroupMembershipV3Id":{"type":"string"},"user":{"type":"string","description":"ID of a user.\n"}},"requiredInputs":["groups","user"],"stateInputs":{"description":"Input properties used for looking up and filtering IdentityUserGroupMembershipV3 resources.\n","properties":{"groups":{"type":"array","items":{"type":"string"},"description":"IDs of the groups for the user to be assigned to.\n"},"identityUserGroupMembershipV3Id":{"type":"string"},"user":{"type":"string","description":"ID of a user.\n"}},"type":"object"}},"opentelekomcloud:index/identityUserV3:IdentityUserV3":{"description":"Up-to-date reference of API arguments for IAM user you can get at\n[documentation portal](https://docs.otc.t-systems.com/identity-access-management/api-ref/apis/user_management)\n\nManages a User resource within OpenTelekomCloud IAM service.\n\n\u003e You _must_ have `Security Administrator` privileges in your OpenTelekomCloud\ncloud to use this resource. Please refer to [User Management Model](https://docs.otc.t-systems.com/en-us/usermanual/iam/iam_01_0034.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst user1 = new opentelekomcloud.IdentityUserV3(\"user_1\", {\n    name: \"user_1\",\n    password: \"password123!\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nuser1 = opentelekomcloud.IdentityUserV3(\"user_1\",\n    name=\"user_1\",\n    password=\"password123!\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var user1 = new Opentelekomcloud.IdentityUserV3(\"user_1\", new()\n    {\n        Name = \"user_1\",\n        Password = \"password123!\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewIdentityUserV3(ctx, \"user_1\", \u0026opentelekomcloud.IdentityUserV3Args{\n\t\t\tName:     pulumi.String(\"user_1\"),\n\t\t\tPassword: pulumi.String(\"password123!\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.IdentityUserV3;\nimport com.pulumi.opentelekomcloud.IdentityUserV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var user1 = new IdentityUserV3(\"user1\", IdentityUserV3Args.builder()\n            .name(\"user_1\")\n            .password(\"password123!\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  user1:\n    type: opentelekomcloud:IdentityUserV3\n    name: user_1\n    properties:\n      name: user_1\n      password: password123!\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Example with login protection\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst user1 = new opentelekomcloud.IdentityUserV3(\"user_1\", {\n    name: \"user_protected\",\n    password: \"password123@!\",\n    enabled: true,\n    email: \"test@acme.org\",\n    sendWelcomeEmail: true,\n    loginProtection: {\n        enabled: true,\n        verificationMethod: \"email\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nuser1 = opentelekomcloud.IdentityUserV3(\"user_1\",\n    name=\"user_protected\",\n    password=\"password123@!\",\n    enabled=True,\n    email=\"test@acme.org\",\n    send_welcome_email=True,\n    login_protection={\n        \"enabled\": True,\n        \"verification_method\": \"email\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var user1 = new Opentelekomcloud.IdentityUserV3(\"user_1\", new()\n    {\n        Name = \"user_protected\",\n        Password = \"password123@!\",\n        Enabled = true,\n        Email = \"test@acme.org\",\n        SendWelcomeEmail = true,\n        LoginProtection = new Opentelekomcloud.Inputs.IdentityUserV3LoginProtectionArgs\n        {\n            Enabled = true,\n            VerificationMethod = \"email\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewIdentityUserV3(ctx, \"user_1\", \u0026opentelekomcloud.IdentityUserV3Args{\n\t\t\tName:             pulumi.String(\"user_protected\"),\n\t\t\tPassword:         pulumi.String(\"password123@!\"),\n\t\t\tEnabled:          pulumi.Bool(true),\n\t\t\tEmail:            pulumi.String(\"test@acme.org\"),\n\t\t\tSendWelcomeEmail: pulumi.Bool(true),\n\t\t\tLoginProtection: \u0026opentelekomcloud.IdentityUserV3LoginProtectionArgs{\n\t\t\t\tEnabled:            pulumi.Bool(true),\n\t\t\t\tVerificationMethod: pulumi.String(\"email\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.IdentityUserV3;\nimport com.pulumi.opentelekomcloud.IdentityUserV3Args;\nimport com.pulumi.opentelekomcloud.inputs.IdentityUserV3LoginProtectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var user1 = new IdentityUserV3(\"user1\", IdentityUserV3Args.builder()\n            .name(\"user_protected\")\n            .password(\"password123@!\")\n            .enabled(true)\n            .email(\"test@acme.org\")\n            .sendWelcomeEmail(true)\n            .loginProtection(IdentityUserV3LoginProtectionArgs.builder()\n                .enabled(true)\n                .verificationMethod(\"email\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  user1:\n    type: opentelekomcloud:IdentityUserV3\n    name: user_1\n    properties:\n      name: user_protected\n      password: password123@!\n      enabled: true\n      email: test@acme.org\n      sendWelcomeEmail: true\n      loginProtection:\n        enabled: true\n        verificationMethod: email\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsers can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/identityUserV3:IdentityUserV3 user_1 89c60255-9bd6-460c-822a-e2b959ede9d2\n```\n\nDue to the security reasons, `password` can not be imported. It can be ignored as shown below.\n\nhcl\n\nresource \"opentelekomcloud_identity_user_v3\" \"user_1\" {\n\n  lifecycle {\n\n    ignore_changes = [\n\n      password,\n\n    ]\n\n  }\n\n}\n\n","properties":{"accessType":{"type":"string","description":"Specifies the access type of the user. Available values are:\n+ **default**: support both programmatic and management console access.\n+ **programmatic**: only support programmatic access.\n+ **console**: only support management console access.\n"},"countryCode":{"type":"string","description":"Specifies the country code. This parameter must be used together with \u003cspan pulumi-lang-nodejs=\"`phone`\" pulumi-lang-dotnet=\"`Phone`\" pulumi-lang-go=\"`phone`\" pulumi-lang-python=\"`phone`\" pulumi-lang-yaml=\"`phone`\" pulumi-lang-java=\"`phone`\"\u003e`phone`\u003c/span\u003e.\n"},"createTime":{"type":"string","description":"The time when the IAM user was created.\n"},"description":{"type":"string","description":"Specifies the description of the user.\n"},"domainId":{"type":"string","description":"The domain user belongs to.\n"},"email":{"type":"string","description":"Specifies the email address with a maximum of 255 characters.\n"},"enabled":{"type":"boolean","description":"Specifies whether the user is enabled or disabled. Valid values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"identityUserV3Id":{"type":"string","description":"The resource ID in UUID format.\n"},"lastLogin":{"type":"string","description":"The time when the IAM user last login.\n"},"loginProtection":{"$ref":"#/types/opentelekomcloud:index%2FIdentityUserV3LoginProtection:IdentityUserV3LoginProtection","description":"Login protection configuration.\nThe \u003cspan pulumi-lang-nodejs=\"`loginProtection`\" pulumi-lang-dotnet=\"`LoginProtection`\" pulumi-lang-go=\"`loginProtection`\" pulumi-lang-python=\"`login_protection`\" pulumi-lang-yaml=\"`loginProtection`\" pulumi-lang-java=\"`loginProtection`\"\u003e`login_protection`\u003c/span\u003e block supports:\n"},"name":{"type":"string","description":"Specifies the name of the user. The user name consists of 5 to 32 characters. It can\ncontain only uppercase letters, lowercase letters, digits, spaces, and special characters (-_) and cannot start with a\ndigit.\n"},"password":{"type":"string","description":"Specifies the password for the user with 6 to 32 characters. It must contain at least\ntwo of the following character types: uppercase letters, lowercase letters, digits, and special characters.\n","secret":true},"passwordStrength":{"type":"string","description":"Indicates the password strength.\n"},"phone":{"type":"string","description":"Specifies the mobile number with a maximum of 32 digits. This parameter must be used\ntogether with \u003cspan pulumi-lang-nodejs=\"`countryCode`\" pulumi-lang-dotnet=\"`CountryCode`\" pulumi-lang-go=\"`countryCode`\" pulumi-lang-python=\"`country_code`\" pulumi-lang-yaml=\"`countryCode`\" pulumi-lang-java=\"`countryCode`\"\u003e`country_code`\u003c/span\u003e.\n"},"pwdReset":{"type":"boolean","description":"Specifies whether the password should be reset. By default, the password is asked\nto reset at the first login.\n"},"sendWelcomeEmail":{"type":"boolean","description":"Whether to send a `Welcome Email` or not.\nPossible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e Welcome Email will be sent when email is set/changed and \u003cspan pulumi-lang-nodejs=\"`sendWelcomeEmail`\" pulumi-lang-dotnet=\"`SendWelcomeEmail`\" pulumi-lang-go=\"`sendWelcomeEmail`\" pulumi-lang-python=\"`send_welcome_email`\" pulumi-lang-yaml=\"`sendWelcomeEmail`\" pulumi-lang-java=\"`sendWelcomeEmail`\"\u003e`send_welcome_email`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"xuserId":{"type":"string","description":"ID of the user in the external system.\n"},"xuserType":{"type":"string","description":"Type of the user in the external system.\n"}},"type":"object","required":["accessType","createTime","domainId","email","identityUserV3Id","lastLogin","name","passwordStrength","xuserId","xuserType"],"inputProperties":{"accessType":{"type":"string","description":"Specifies the access type of the user. Available values are:\n+ **default**: support both programmatic and management console access.\n+ **programmatic**: only support programmatic access.\n+ **console**: only support management console access.\n"},"countryCode":{"type":"string","description":"Specifies the country code. This parameter must be used together with \u003cspan pulumi-lang-nodejs=\"`phone`\" pulumi-lang-dotnet=\"`Phone`\" pulumi-lang-go=\"`phone`\" pulumi-lang-python=\"`phone`\" pulumi-lang-yaml=\"`phone`\" pulumi-lang-java=\"`phone`\"\u003e`phone`\u003c/span\u003e.\n"},"description":{"type":"string","description":"Specifies the description of the user.\n"},"email":{"type":"string","description":"Specifies the email address with a maximum of 255 characters.\n"},"enabled":{"type":"boolean","description":"Specifies whether the user is enabled or disabled. Valid values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"identityUserV3Id":{"type":"string","description":"The resource ID in UUID format.\n"},"loginProtection":{"$ref":"#/types/opentelekomcloud:index%2FIdentityUserV3LoginProtection:IdentityUserV3LoginProtection","description":"Login protection configuration.\nThe \u003cspan pulumi-lang-nodejs=\"`loginProtection`\" pulumi-lang-dotnet=\"`LoginProtection`\" pulumi-lang-go=\"`loginProtection`\" pulumi-lang-python=\"`login_protection`\" pulumi-lang-yaml=\"`loginProtection`\" pulumi-lang-java=\"`loginProtection`\"\u003e`login_protection`\u003c/span\u003e block supports:\n"},"name":{"type":"string","description":"Specifies the name of the user. The user name consists of 5 to 32 characters. It can\ncontain only uppercase letters, lowercase letters, digits, spaces, and special characters (-_) and cannot start with a\ndigit.\n"},"password":{"type":"string","description":"Specifies the password for the user with 6 to 32 characters. It must contain at least\ntwo of the following character types: uppercase letters, lowercase letters, digits, and special characters.\n","secret":true},"phone":{"type":"string","description":"Specifies the mobile number with a maximum of 32 digits. This parameter must be used\ntogether with \u003cspan pulumi-lang-nodejs=\"`countryCode`\" pulumi-lang-dotnet=\"`CountryCode`\" pulumi-lang-go=\"`countryCode`\" pulumi-lang-python=\"`country_code`\" pulumi-lang-yaml=\"`countryCode`\" pulumi-lang-java=\"`countryCode`\"\u003e`country_code`\u003c/span\u003e.\n"},"pwdReset":{"type":"boolean","description":"Specifies whether the password should be reset. By default, the password is asked\nto reset at the first login.\n"},"sendWelcomeEmail":{"type":"boolean","description":"Whether to send a `Welcome Email` or not.\nPossible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e Welcome Email will be sent when email is set/changed and \u003cspan pulumi-lang-nodejs=\"`sendWelcomeEmail`\" pulumi-lang-dotnet=\"`SendWelcomeEmail`\" pulumi-lang-go=\"`sendWelcomeEmail`\" pulumi-lang-python=\"`send_welcome_email`\" pulumi-lang-yaml=\"`sendWelcomeEmail`\" pulumi-lang-java=\"`sendWelcomeEmail`\"\u003e`send_welcome_email`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering IdentityUserV3 resources.\n","properties":{"accessType":{"type":"string","description":"Specifies the access type of the user. Available values are:\n+ **default**: support both programmatic and management console access.\n+ **programmatic**: only support programmatic access.\n+ **console**: only support management console access.\n"},"countryCode":{"type":"string","description":"Specifies the country code. This parameter must be used together with \u003cspan pulumi-lang-nodejs=\"`phone`\" pulumi-lang-dotnet=\"`Phone`\" pulumi-lang-go=\"`phone`\" pulumi-lang-python=\"`phone`\" pulumi-lang-yaml=\"`phone`\" pulumi-lang-java=\"`phone`\"\u003e`phone`\u003c/span\u003e.\n"},"createTime":{"type":"string","description":"The time when the IAM user was created.\n"},"description":{"type":"string","description":"Specifies the description of the user.\n"},"domainId":{"type":"string","description":"The domain user belongs to.\n"},"email":{"type":"string","description":"Specifies the email address with a maximum of 255 characters.\n"},"enabled":{"type":"boolean","description":"Specifies whether the user is enabled or disabled. Valid values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"identityUserV3Id":{"type":"string","description":"The resource ID in UUID format.\n"},"lastLogin":{"type":"string","description":"The time when the IAM user last login.\n"},"loginProtection":{"$ref":"#/types/opentelekomcloud:index%2FIdentityUserV3LoginProtection:IdentityUserV3LoginProtection","description":"Login protection configuration.\nThe \u003cspan pulumi-lang-nodejs=\"`loginProtection`\" pulumi-lang-dotnet=\"`LoginProtection`\" pulumi-lang-go=\"`loginProtection`\" pulumi-lang-python=\"`login_protection`\" pulumi-lang-yaml=\"`loginProtection`\" pulumi-lang-java=\"`loginProtection`\"\u003e`login_protection`\u003c/span\u003e block supports:\n"},"name":{"type":"string","description":"Specifies the name of the user. The user name consists of 5 to 32 characters. It can\ncontain only uppercase letters, lowercase letters, digits, spaces, and special characters (-_) and cannot start with a\ndigit.\n"},"password":{"type":"string","description":"Specifies the password for the user with 6 to 32 characters. It must contain at least\ntwo of the following character types: uppercase letters, lowercase letters, digits, and special characters.\n","secret":true},"passwordStrength":{"type":"string","description":"Indicates the password strength.\n"},"phone":{"type":"string","description":"Specifies the mobile number with a maximum of 32 digits. This parameter must be used\ntogether with \u003cspan pulumi-lang-nodejs=\"`countryCode`\" pulumi-lang-dotnet=\"`CountryCode`\" pulumi-lang-go=\"`countryCode`\" pulumi-lang-python=\"`country_code`\" pulumi-lang-yaml=\"`countryCode`\" pulumi-lang-java=\"`countryCode`\"\u003e`country_code`\u003c/span\u003e.\n"},"pwdReset":{"type":"boolean","description":"Specifies whether the password should be reset. By default, the password is asked\nto reset at the first login.\n"},"sendWelcomeEmail":{"type":"boolean","description":"Whether to send a `Welcome Email` or not.\nPossible values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e Welcome Email will be sent when email is set/changed and \u003cspan pulumi-lang-nodejs=\"`sendWelcomeEmail`\" pulumi-lang-dotnet=\"`SendWelcomeEmail`\" pulumi-lang-go=\"`sendWelcomeEmail`\" pulumi-lang-python=\"`send_welcome_email`\" pulumi-lang-yaml=\"`sendWelcomeEmail`\" pulumi-lang-java=\"`sendWelcomeEmail`\"\u003e`send_welcome_email`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"xuserId":{"type":"string","description":"ID of the user in the external system.\n"},"xuserType":{"type":"string","description":"Type of the user in the external system.\n"}},"type":"object"}},"opentelekomcloud:index/imagesImageAccessAcceptV2:ImagesImageAccessAcceptV2":{"properties":{"createdAt":{"type":"string"},"imageId":{"type":"string"},"imagesImageAccessAcceptV2Id":{"type":"string"},"memberId":{"type":"string"},"schema":{"type":"string"},"status":{"type":"string"},"updatedAt":{"type":"string"}},"type":"object","required":["createdAt","imageId","imagesImageAccessAcceptV2Id","memberId","schema","status","updatedAt"],"inputProperties":{"imageId":{"type":"string"},"imagesImageAccessAcceptV2Id":{"type":"string"},"memberId":{"type":"string"},"status":{"type":"string"}},"requiredInputs":["imageId","memberId","status"],"stateInputs":{"description":"Input properties used for looking up and filtering ImagesImageAccessAcceptV2 resources.\n","properties":{"createdAt":{"type":"string"},"imageId":{"type":"string"},"imagesImageAccessAcceptV2Id":{"type":"string"},"memberId":{"type":"string"},"schema":{"type":"string"},"status":{"type":"string"},"updatedAt":{"type":"string"}},"type":"object"}},"opentelekomcloud:index/imagesImageAccessV2:ImagesImageAccessV2":{"description":"Up-to-date reference of API arguments for Image sharing you can get at\n[documentation portal](https://docs.otc.t-systems.com/image-management-service/api-ref/native_openstack_apis/image_sharing_native_openstack_apis)\n\nManages members for the shared OpenTelekomCloud Glance Image within the source project, which owns the Image.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst memberId = config.requireObject\u003cany\u003e(\"memberId\");\nconst rancheros = new opentelekomcloud.ImagesImageV2(\"rancheros\", {\n    name: \"RancherOS\",\n    imageSourceUrl: \"https://releases.rancher.com/os/latest/rancheros-openstack.img\",\n    containerFormat: \"bare\",\n    diskFormat: \"qcow2\",\n});\nconst rancherosMember = new opentelekomcloud.ImagesImageAccessV2(\"rancheros_member\", {\n    imageId: rancheros.imagesImageV2Id,\n    memberId: memberId,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nmember_id = config.require_object(\"memberId\")\nrancheros = opentelekomcloud.ImagesImageV2(\"rancheros\",\n    name=\"RancherOS\",\n    image_source_url=\"https://releases.rancher.com/os/latest/rancheros-openstack.img\",\n    container_format=\"bare\",\n    disk_format=\"qcow2\")\nrancheros_member = opentelekomcloud.ImagesImageAccessV2(\"rancheros_member\",\n    image_id=rancheros.images_image_v2_id,\n    member_id=member_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var memberId = config.RequireObject\u003cdynamic\u003e(\"memberId\");\n    var rancheros = new Opentelekomcloud.ImagesImageV2(\"rancheros\", new()\n    {\n        Name = \"RancherOS\",\n        ImageSourceUrl = \"https://releases.rancher.com/os/latest/rancheros-openstack.img\",\n        ContainerFormat = \"bare\",\n        DiskFormat = \"qcow2\",\n    });\n\n    var rancherosMember = new Opentelekomcloud.ImagesImageAccessV2(\"rancheros_member\", new()\n    {\n        ImageId = rancheros.ImagesImageV2Id,\n        MemberId = memberId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tmemberId := cfg.RequireObject(\"memberId\")\n\t\trancheros, err := opentelekomcloud.NewImagesImageV2(ctx, \"rancheros\", \u0026opentelekomcloud.ImagesImageV2Args{\n\t\t\tName:            pulumi.String(\"RancherOS\"),\n\t\t\tImageSourceUrl:  pulumi.String(\"https://releases.rancher.com/os/latest/rancheros-openstack.img\"),\n\t\t\tContainerFormat: pulumi.String(\"bare\"),\n\t\t\tDiskFormat:      pulumi.String(\"qcow2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewImagesImageAccessV2(ctx, \"rancheros_member\", \u0026opentelekomcloud.ImagesImageAccessV2Args{\n\t\t\tImageId:  rancheros.ImagesImageV2Id,\n\t\t\tMemberId: pulumi.Any(memberId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ImagesImageV2;\nimport com.pulumi.opentelekomcloud.ImagesImageV2Args;\nimport com.pulumi.opentelekomcloud.ImagesImageAccessV2;\nimport com.pulumi.opentelekomcloud.ImagesImageAccessV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var memberId = config.get(\"memberId\");\n        var rancheros = new ImagesImageV2(\"rancheros\", ImagesImageV2Args.builder()\n            .name(\"RancherOS\")\n            .imageSourceUrl(\"https://releases.rancher.com/os/latest/rancheros-openstack.img\")\n            .containerFormat(\"bare\")\n            .diskFormat(\"qcow2\")\n            .build());\n\n        var rancherosMember = new ImagesImageAccessV2(\"rancherosMember\", ImagesImageAccessV2Args.builder()\n            .imageId(rancheros.imagesImageV2Id())\n            .memberId(memberId)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  memberId:\n    type: dynamic\nresources:\n  rancheros:\n    type: opentelekomcloud:ImagesImageV2\n    properties:\n      name: RancherOS\n      imageSourceUrl: https://releases.rancher.com/os/latest/rancheros-openstack.img\n      containerFormat: bare\n      diskFormat: qcow2\n  rancherosMember:\n    type: opentelekomcloud:ImagesImageAccessV2\n    name: rancheros_member\n    properties:\n      imageId: ${rancheros.imagesImageV2Id}\n      memberId: ${memberId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nImage access can be imported using the `image_id` and the `member_id`, separated by a slash, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/imagesImageAccessV2:ImagesImageAccessV2 opentelekomcloud_images_image_access_v2 89c60255-9bd6-460c-822a-e2b959ede9d2/bed6b6cbb86a4e2d8dc2735c2f1000e4\n```\n\n","properties":{"createdAt":{"type":"string","description":"Specifies the time when a shared image was created. The value is in UTC format.\n"},"imageId":{"type":"string","description":"The proposed image ID.\n"},"imagesImageAccessV2Id":{"type":"string"},"memberId":{"type":"string","description":"The member ID, e.g. the target project ID. Optional\nfor admin accounts. Defaults to the current scope project ID.\n"},"schema":{"type":"string","description":"Specifies the sharing schema.\n"},"status":{"type":"string","description":"Specifies the image sharing status. After creation is \u003cspan pulumi-lang-nodejs=\"`pending`\" pulumi-lang-dotnet=\"`Pending`\" pulumi-lang-go=\"`pending`\" pulumi-lang-python=\"`pending`\" pulumi-lang-yaml=\"`pending`\" pulumi-lang-java=\"`pending`\"\u003e`pending`\u003c/span\u003e.\n"},"updateAt":{"type":"string"}},"type":"object","required":["createdAt","imageId","imagesImageAccessV2Id","memberId","schema","status","updateAt"],"inputProperties":{"imageId":{"type":"string","description":"The proposed image ID.\n"},"imagesImageAccessV2Id":{"type":"string"},"memberId":{"type":"string","description":"The member ID, e.g. the target project ID. Optional\nfor admin accounts. Defaults to the current scope project ID.\n"}},"requiredInputs":["imageId","memberId"],"stateInputs":{"description":"Input properties used for looking up and filtering ImagesImageAccessV2 resources.\n","properties":{"createdAt":{"type":"string","description":"Specifies the time when a shared image was created. The value is in UTC format.\n"},"imageId":{"type":"string","description":"The proposed image ID.\n"},"imagesImageAccessV2Id":{"type":"string"},"memberId":{"type":"string","description":"The member ID, e.g. the target project ID. Optional\nfor admin accounts. Defaults to the current scope project ID.\n"},"schema":{"type":"string","description":"Specifies the sharing schema.\n"},"status":{"type":"string","description":"Specifies the image sharing status. After creation is \u003cspan pulumi-lang-nodejs=\"`pending`\" pulumi-lang-dotnet=\"`Pending`\" pulumi-lang-go=\"`pending`\" pulumi-lang-python=\"`pending`\" pulumi-lang-yaml=\"`pending`\" pulumi-lang-java=\"`pending`\"\u003e`pending`\u003c/span\u003e.\n"},"updateAt":{"type":"string"}},"type":"object"}},"opentelekomcloud:index/imagesImageV2:ImagesImageV2":{"description":"Up-to-date reference of API arguments for Image management you can get at\n[documentation portal](https://docs.otc.t-systems.com/image-management-service/api-ref/native_openstack_apis/image_native_openstack_apis)\n\nManages a V2 Image resource within OpenTelekomCloud Glance.\n\n\u003e **Note:** This resource is not supported when using AK/SK authentication due to API Gateway limitations.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst rancheros = new opentelekomcloud.ImagesImageV2(\"rancheros\", {\n    name: \"RancherOS\",\n    imageSourceUrl: \"https://releases.rancher.com/os/latest/rancheros-openstack.img\",\n    containerFormat: \"bare\",\n    diskFormat: \"qcow2\",\n    hwFirmwareType: \"uefi\",\n    tags: [\n        \"foo.bar\",\n        \"tag.value\",\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nrancheros = opentelekomcloud.ImagesImageV2(\"rancheros\",\n    name=\"RancherOS\",\n    image_source_url=\"https://releases.rancher.com/os/latest/rancheros-openstack.img\",\n    container_format=\"bare\",\n    disk_format=\"qcow2\",\n    hw_firmware_type=\"uefi\",\n    tags=[\n        \"foo.bar\",\n        \"tag.value\",\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var rancheros = new Opentelekomcloud.ImagesImageV2(\"rancheros\", new()\n    {\n        Name = \"RancherOS\",\n        ImageSourceUrl = \"https://releases.rancher.com/os/latest/rancheros-openstack.img\",\n        ContainerFormat = \"bare\",\n        DiskFormat = \"qcow2\",\n        HwFirmwareType = \"uefi\",\n        Tags = new[]\n        {\n            \"foo.bar\",\n            \"tag.value\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewImagesImageV2(ctx, \"rancheros\", \u0026opentelekomcloud.ImagesImageV2Args{\n\t\t\tName:            pulumi.String(\"RancherOS\"),\n\t\t\tImageSourceUrl:  pulumi.String(\"https://releases.rancher.com/os/latest/rancheros-openstack.img\"),\n\t\t\tContainerFormat: pulumi.String(\"bare\"),\n\t\t\tDiskFormat:      pulumi.String(\"qcow2\"),\n\t\t\tHwFirmwareType:  pulumi.String(\"uefi\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo.bar\"),\n\t\t\t\tpulumi.String(\"tag.value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ImagesImageV2;\nimport com.pulumi.opentelekomcloud.ImagesImageV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var rancheros = new ImagesImageV2(\"rancheros\", ImagesImageV2Args.builder()\n            .name(\"RancherOS\")\n            .imageSourceUrl(\"https://releases.rancher.com/os/latest/rancheros-openstack.img\")\n            .containerFormat(\"bare\")\n            .diskFormat(\"qcow2\")\n            .hwFirmwareType(\"uefi\")\n            .tags(            \n                \"foo.bar\",\n                \"tag.value\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  rancheros:\n    type: opentelekomcloud:ImagesImageV2\n    properties:\n      name: RancherOS\n      imageSourceUrl: https://releases.rancher.com/os/latest/rancheros-openstack.img\n      containerFormat: bare\n      diskFormat: qcow2\n      hwFirmwareType: uefi\n      tags:\n        - foo.bar\n        - tag.value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nImages can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/imagesImageV2:ImagesImageV2 rancheros 89c60255-9bd6-460c-822a-e2b959ede9d2\n```\n\n","properties":{"checksum":{"type":"string","description":"The checksum of the data associated with the image.\n"},"containerFormat":{"type":"string","description":"The container format. Must be one of\n\u003cspan pulumi-lang-nodejs=\"`ami`\" pulumi-lang-dotnet=\"`Ami`\" pulumi-lang-go=\"`ami`\" pulumi-lang-python=\"`ami`\" pulumi-lang-yaml=\"`ami`\" pulumi-lang-java=\"`ami`\"\u003e`ami`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ari`\" pulumi-lang-dotnet=\"`Ari`\" pulumi-lang-go=\"`ari`\" pulumi-lang-python=\"`ari`\" pulumi-lang-yaml=\"`ari`\" pulumi-lang-java=\"`ari`\"\u003e`ari`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`aki`\" pulumi-lang-dotnet=\"`Aki`\" pulumi-lang-go=\"`aki`\" pulumi-lang-python=\"`aki`\" pulumi-lang-yaml=\"`aki`\" pulumi-lang-java=\"`aki`\"\u003e`aki`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`bare`\" pulumi-lang-dotnet=\"`Bare`\" pulumi-lang-go=\"`bare`\" pulumi-lang-python=\"`bare`\" pulumi-lang-yaml=\"`bare`\" pulumi-lang-java=\"`bare`\"\u003e`bare`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ovf`\" pulumi-lang-dotnet=\"`Ovf`\" pulumi-lang-go=\"`ovf`\" pulumi-lang-python=\"`ovf`\" pulumi-lang-yaml=\"`ovf`\" pulumi-lang-java=\"`ovf`\"\u003e`ovf`\u003c/span\u003e.\n"},"createdAt":{"type":"string","description":"The date the image was created.\n"},"diskFormat":{"type":"string","description":"The disk format. Must be one of\n\u003cspan pulumi-lang-nodejs=\"`ami`\" pulumi-lang-dotnet=\"`Ami`\" pulumi-lang-go=\"`ami`\" pulumi-lang-python=\"`ami`\" pulumi-lang-yaml=\"`ami`\" pulumi-lang-java=\"`ami`\"\u003e`ami`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ari`\" pulumi-lang-dotnet=\"`Ari`\" pulumi-lang-go=\"`ari`\" pulumi-lang-python=\"`ari`\" pulumi-lang-yaml=\"`ari`\" pulumi-lang-java=\"`ari`\"\u003e`ari`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`aki`\" pulumi-lang-dotnet=\"`Aki`\" pulumi-lang-go=\"`aki`\" pulumi-lang-python=\"`aki`\" pulumi-lang-yaml=\"`aki`\" pulumi-lang-java=\"`aki`\"\u003e`aki`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`vhd`\" pulumi-lang-dotnet=\"`Vhd`\" pulumi-lang-go=\"`vhd`\" pulumi-lang-python=\"`vhd`\" pulumi-lang-yaml=\"`vhd`\" pulumi-lang-java=\"`vhd`\"\u003e`vhd`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`vmdk`\" pulumi-lang-dotnet=\"`Vmdk`\" pulumi-lang-go=\"`vmdk`\" pulumi-lang-python=\"`vmdk`\" pulumi-lang-yaml=\"`vmdk`\" pulumi-lang-java=\"`vmdk`\"\u003e`vmdk`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`raw`\" pulumi-lang-dotnet=\"`Raw`\" pulumi-lang-go=\"`raw`\" pulumi-lang-python=\"`raw`\" pulumi-lang-yaml=\"`raw`\" pulumi-lang-java=\"`raw`\"\u003e`raw`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`qcow2`\" pulumi-lang-dotnet=\"`Qcow2`\" pulumi-lang-go=\"`qcow2`\" pulumi-lang-python=\"`qcow2`\" pulumi-lang-yaml=\"`qcow2`\" pulumi-lang-java=\"`qcow2`\"\u003e`qcow2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`vdi`\" pulumi-lang-dotnet=\"`Vdi`\" pulumi-lang-go=\"`vdi`\" pulumi-lang-python=\"`vdi`\" pulumi-lang-yaml=\"`vdi`\" pulumi-lang-java=\"`vdi`\"\u003e`vdi`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`iso`\" pulumi-lang-dotnet=\"`Iso`\" pulumi-lang-go=\"`iso`\" pulumi-lang-python=\"`iso`\" pulumi-lang-yaml=\"`iso`\" pulumi-lang-java=\"`iso`\"\u003e`iso`\u003c/span\u003e.\n"},"file":{"type":"string","description":"the trailing path after the glance\nendpoint that represent the location of the image\nor the path to retrieve it.\n"},"hwFirmwareType":{"type":"string","description":"Specifies the boot mode. The value can be \u003cspan pulumi-lang-nodejs=\"`bios`\" pulumi-lang-dotnet=\"`Bios`\" pulumi-lang-go=\"`bios`\" pulumi-lang-python=\"`bios`\" pulumi-lang-yaml=\"`bios`\" pulumi-lang-java=\"`bios`\"\u003e`bios`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`uefi`\" pulumi-lang-dotnet=\"`Uefi`\" pulumi-lang-go=\"`uefi`\" pulumi-lang-python=\"`uefi`\" pulumi-lang-yaml=\"`uefi`\" pulumi-lang-java=\"`uefi`\"\u003e`uefi`\u003c/span\u003e.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`properties`\" pulumi-lang-dotnet=\"`Properties`\" pulumi-lang-go=\"`properties`\" pulumi-lang-python=\"`properties`\" pulumi-lang-yaml=\"`properties`\" pulumi-lang-java=\"`properties`\"\u003e`properties`\u003c/span\u003e attribute handling in the gophercloud library is currently buggy\nand needs to be fixed before being implemented in this resource.\n"},"imageCachePath":{"type":"string"},"imageSourceUrl":{"type":"string","description":"This is the url of the raw image that will\nbe downloaded in the \u003cspan pulumi-lang-nodejs=\"`imageCachePath`\" pulumi-lang-dotnet=\"`ImageCachePath`\" pulumi-lang-go=\"`imageCachePath`\" pulumi-lang-python=\"`image_cache_path`\" pulumi-lang-yaml=\"`imageCachePath`\" pulumi-lang-java=\"`imageCachePath`\"\u003e`image_cache_path`\u003c/span\u003e before being uploaded to Glance.\nGlance is able to download image from internet but the \u003cspan pulumi-lang-nodejs=\"`gophercloud`\" pulumi-lang-dotnet=\"`Gophercloud`\" pulumi-lang-go=\"`gophercloud`\" pulumi-lang-python=\"`gophercloud`\" pulumi-lang-yaml=\"`gophercloud`\" pulumi-lang-java=\"`gophercloud`\"\u003e`gophercloud`\u003c/span\u003e library\ndoes not yet provide a way to do so.\nConflicts with \u003cspan pulumi-lang-nodejs=\"`localFilePath`\" pulumi-lang-dotnet=\"`LocalFilePath`\" pulumi-lang-go=\"`localFilePath`\" pulumi-lang-python=\"`local_file_path`\" pulumi-lang-yaml=\"`localFilePath`\" pulumi-lang-java=\"`localFilePath`\"\u003e`local_file_path`\u003c/span\u003e.\n"},"imagesImageV2Id":{"type":"string","description":"A unique ID assigned by Glance.\n"},"localFilePath":{"type":"string","description":"This is the filepath of the raw image file\nthat will be uploaded to Glance. Conflicts with \u003cspan pulumi-lang-nodejs=\"`imageSourceUrl`\" pulumi-lang-dotnet=\"`ImageSourceUrl`\" pulumi-lang-go=\"`imageSourceUrl`\" pulumi-lang-python=\"`image_source_url`\" pulumi-lang-yaml=\"`imageSourceUrl`\" pulumi-lang-java=\"`imageSourceUrl`\"\u003e`image_source_url`\u003c/span\u003e.\n"},"minDiskGb":{"type":"number","description":"Amount of disk space (in GB) required to boot image.\nDefaults to 0.\n"},"minRamMb":{"type":"number","description":"Amount of ram (in MB) required to boot image.\nDefauts to 0.\n"},"name":{"type":"string","description":"The name of the image.\n"},"owner":{"type":"string","description":"The id of the opentelekomcloud user who owns the image.\n"},"protected":{"type":"boolean","description":"If true, image will not be deletable.\nDefaults to false.\n"},"region":{"type":"string"},"schema":{"type":"string","description":"The path to the JSON-schema that represent\nthe image or image\n"},"sizeBytes":{"type":"number","description":"The size in bytes of the data associated with the image.\n"},"status":{"type":"string","description":"The status of the image. It can be \u003cspan pulumi-lang-nodejs=\"`queued`\" pulumi-lang-dotnet=\"`Queued`\" pulumi-lang-go=\"`queued`\" pulumi-lang-python=\"`queued`\" pulumi-lang-yaml=\"`queued`\" pulumi-lang-java=\"`queued`\"\u003e`queued`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e\nor \u003cspan pulumi-lang-nodejs=\"`saving`\" pulumi-lang-dotnet=\"`Saving`\" pulumi-lang-go=\"`saving`\" pulumi-lang-python=\"`saving`\" pulumi-lang-yaml=\"`saving`\" pulumi-lang-java=\"`saving`\"\u003e`saving`\u003c/span\u003e.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"The tags of the image. It must be a list of strings.\nAt this time, it is not possible to delete all tags of an image.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FImagesImageV2Timeouts:ImagesImageV2Timeouts"},"updateAt":{"type":"string","description":"The date the image was last updated.\n"},"visibility":{"type":"string","description":"The visibility of the image. Must be one of\n\"public\", \"private\", \"community\", or \"shared\". The ability to set the\nvisibility depends upon the configuration of the OpenTelekomCloud cloud.\n"}},"type":"object","required":["checksum","containerFormat","createdAt","diskFormat","file","imagesImageV2Id","name","owner","region","schema","sizeBytes","status","updateAt","visibility"],"inputProperties":{"containerFormat":{"type":"string","description":"The container format. Must be one of\n\u003cspan pulumi-lang-nodejs=\"`ami`\" pulumi-lang-dotnet=\"`Ami`\" pulumi-lang-go=\"`ami`\" pulumi-lang-python=\"`ami`\" pulumi-lang-yaml=\"`ami`\" pulumi-lang-java=\"`ami`\"\u003e`ami`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ari`\" pulumi-lang-dotnet=\"`Ari`\" pulumi-lang-go=\"`ari`\" pulumi-lang-python=\"`ari`\" pulumi-lang-yaml=\"`ari`\" pulumi-lang-java=\"`ari`\"\u003e`ari`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`aki`\" pulumi-lang-dotnet=\"`Aki`\" pulumi-lang-go=\"`aki`\" pulumi-lang-python=\"`aki`\" pulumi-lang-yaml=\"`aki`\" pulumi-lang-java=\"`aki`\"\u003e`aki`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`bare`\" pulumi-lang-dotnet=\"`Bare`\" pulumi-lang-go=\"`bare`\" pulumi-lang-python=\"`bare`\" pulumi-lang-yaml=\"`bare`\" pulumi-lang-java=\"`bare`\"\u003e`bare`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ovf`\" pulumi-lang-dotnet=\"`Ovf`\" pulumi-lang-go=\"`ovf`\" pulumi-lang-python=\"`ovf`\" pulumi-lang-yaml=\"`ovf`\" pulumi-lang-java=\"`ovf`\"\u003e`ovf`\u003c/span\u003e.\n"},"diskFormat":{"type":"string","description":"The disk format. Must be one of\n\u003cspan pulumi-lang-nodejs=\"`ami`\" pulumi-lang-dotnet=\"`Ami`\" pulumi-lang-go=\"`ami`\" pulumi-lang-python=\"`ami`\" pulumi-lang-yaml=\"`ami`\" pulumi-lang-java=\"`ami`\"\u003e`ami`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ari`\" pulumi-lang-dotnet=\"`Ari`\" pulumi-lang-go=\"`ari`\" pulumi-lang-python=\"`ari`\" pulumi-lang-yaml=\"`ari`\" pulumi-lang-java=\"`ari`\"\u003e`ari`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`aki`\" pulumi-lang-dotnet=\"`Aki`\" pulumi-lang-go=\"`aki`\" pulumi-lang-python=\"`aki`\" pulumi-lang-yaml=\"`aki`\" pulumi-lang-java=\"`aki`\"\u003e`aki`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`vhd`\" pulumi-lang-dotnet=\"`Vhd`\" pulumi-lang-go=\"`vhd`\" pulumi-lang-python=\"`vhd`\" pulumi-lang-yaml=\"`vhd`\" pulumi-lang-java=\"`vhd`\"\u003e`vhd`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`vmdk`\" pulumi-lang-dotnet=\"`Vmdk`\" pulumi-lang-go=\"`vmdk`\" pulumi-lang-python=\"`vmdk`\" pulumi-lang-yaml=\"`vmdk`\" pulumi-lang-java=\"`vmdk`\"\u003e`vmdk`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`raw`\" pulumi-lang-dotnet=\"`Raw`\" pulumi-lang-go=\"`raw`\" pulumi-lang-python=\"`raw`\" pulumi-lang-yaml=\"`raw`\" pulumi-lang-java=\"`raw`\"\u003e`raw`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`qcow2`\" pulumi-lang-dotnet=\"`Qcow2`\" pulumi-lang-go=\"`qcow2`\" pulumi-lang-python=\"`qcow2`\" pulumi-lang-yaml=\"`qcow2`\" pulumi-lang-java=\"`qcow2`\"\u003e`qcow2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`vdi`\" pulumi-lang-dotnet=\"`Vdi`\" pulumi-lang-go=\"`vdi`\" pulumi-lang-python=\"`vdi`\" pulumi-lang-yaml=\"`vdi`\" pulumi-lang-java=\"`vdi`\"\u003e`vdi`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`iso`\" pulumi-lang-dotnet=\"`Iso`\" pulumi-lang-go=\"`iso`\" pulumi-lang-python=\"`iso`\" pulumi-lang-yaml=\"`iso`\" pulumi-lang-java=\"`iso`\"\u003e`iso`\u003c/span\u003e.\n"},"hwFirmwareType":{"type":"string","description":"Specifies the boot mode. The value can be \u003cspan pulumi-lang-nodejs=\"`bios`\" pulumi-lang-dotnet=\"`Bios`\" pulumi-lang-go=\"`bios`\" pulumi-lang-python=\"`bios`\" pulumi-lang-yaml=\"`bios`\" pulumi-lang-java=\"`bios`\"\u003e`bios`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`uefi`\" pulumi-lang-dotnet=\"`Uefi`\" pulumi-lang-go=\"`uefi`\" pulumi-lang-python=\"`uefi`\" pulumi-lang-yaml=\"`uefi`\" pulumi-lang-java=\"`uefi`\"\u003e`uefi`\u003c/span\u003e.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`properties`\" pulumi-lang-dotnet=\"`Properties`\" pulumi-lang-go=\"`properties`\" pulumi-lang-python=\"`properties`\" pulumi-lang-yaml=\"`properties`\" pulumi-lang-java=\"`properties`\"\u003e`properties`\u003c/span\u003e attribute handling in the gophercloud library is currently buggy\nand needs to be fixed before being implemented in this resource.\n"},"imageCachePath":{"type":"string"},"imageSourceUrl":{"type":"string","description":"This is the url of the raw image that will\nbe downloaded in the \u003cspan pulumi-lang-nodejs=\"`imageCachePath`\" pulumi-lang-dotnet=\"`ImageCachePath`\" pulumi-lang-go=\"`imageCachePath`\" pulumi-lang-python=\"`image_cache_path`\" pulumi-lang-yaml=\"`imageCachePath`\" pulumi-lang-java=\"`imageCachePath`\"\u003e`image_cache_path`\u003c/span\u003e before being uploaded to Glance.\nGlance is able to download image from internet but the \u003cspan pulumi-lang-nodejs=\"`gophercloud`\" pulumi-lang-dotnet=\"`Gophercloud`\" pulumi-lang-go=\"`gophercloud`\" pulumi-lang-python=\"`gophercloud`\" pulumi-lang-yaml=\"`gophercloud`\" pulumi-lang-java=\"`gophercloud`\"\u003e`gophercloud`\u003c/span\u003e library\ndoes not yet provide a way to do so.\nConflicts with \u003cspan pulumi-lang-nodejs=\"`localFilePath`\" pulumi-lang-dotnet=\"`LocalFilePath`\" pulumi-lang-go=\"`localFilePath`\" pulumi-lang-python=\"`local_file_path`\" pulumi-lang-yaml=\"`localFilePath`\" pulumi-lang-java=\"`localFilePath`\"\u003e`local_file_path`\u003c/span\u003e.\n"},"imagesImageV2Id":{"type":"string","description":"A unique ID assigned by Glance.\n"},"localFilePath":{"type":"string","description":"This is the filepath of the raw image file\nthat will be uploaded to Glance. Conflicts with \u003cspan pulumi-lang-nodejs=\"`imageSourceUrl`\" pulumi-lang-dotnet=\"`ImageSourceUrl`\" pulumi-lang-go=\"`imageSourceUrl`\" pulumi-lang-python=\"`image_source_url`\" pulumi-lang-yaml=\"`imageSourceUrl`\" pulumi-lang-java=\"`imageSourceUrl`\"\u003e`image_source_url`\u003c/span\u003e.\n"},"minDiskGb":{"type":"number","description":"Amount of disk space (in GB) required to boot image.\nDefaults to 0.\n"},"minRamMb":{"type":"number","description":"Amount of ram (in MB) required to boot image.\nDefauts to 0.\n"},"name":{"type":"string","description":"The name of the image.\n"},"protected":{"type":"boolean","description":"If true, image will not be deletable.\nDefaults to false.\n"},"region":{"type":"string"},"tags":{"type":"array","items":{"type":"string"},"description":"The tags of the image. It must be a list of strings.\nAt this time, it is not possible to delete all tags of an image.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FImagesImageV2Timeouts:ImagesImageV2Timeouts"},"visibility":{"type":"string","description":"The visibility of the image. Must be one of\n\"public\", \"private\", \"community\", or \"shared\". The ability to set the\nvisibility depends upon the configuration of the OpenTelekomCloud cloud.\n"}},"requiredInputs":["containerFormat","diskFormat"],"stateInputs":{"description":"Input properties used for looking up and filtering ImagesImageV2 resources.\n","properties":{"checksum":{"type":"string","description":"The checksum of the data associated with the image.\n"},"containerFormat":{"type":"string","description":"The container format. Must be one of\n\u003cspan pulumi-lang-nodejs=\"`ami`\" pulumi-lang-dotnet=\"`Ami`\" pulumi-lang-go=\"`ami`\" pulumi-lang-python=\"`ami`\" pulumi-lang-yaml=\"`ami`\" pulumi-lang-java=\"`ami`\"\u003e`ami`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ari`\" pulumi-lang-dotnet=\"`Ari`\" pulumi-lang-go=\"`ari`\" pulumi-lang-python=\"`ari`\" pulumi-lang-yaml=\"`ari`\" pulumi-lang-java=\"`ari`\"\u003e`ari`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`aki`\" pulumi-lang-dotnet=\"`Aki`\" pulumi-lang-go=\"`aki`\" pulumi-lang-python=\"`aki`\" pulumi-lang-yaml=\"`aki`\" pulumi-lang-java=\"`aki`\"\u003e`aki`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`bare`\" pulumi-lang-dotnet=\"`Bare`\" pulumi-lang-go=\"`bare`\" pulumi-lang-python=\"`bare`\" pulumi-lang-yaml=\"`bare`\" pulumi-lang-java=\"`bare`\"\u003e`bare`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ovf`\" pulumi-lang-dotnet=\"`Ovf`\" pulumi-lang-go=\"`ovf`\" pulumi-lang-python=\"`ovf`\" pulumi-lang-yaml=\"`ovf`\" pulumi-lang-java=\"`ovf`\"\u003e`ovf`\u003c/span\u003e.\n"},"createdAt":{"type":"string","description":"The date the image was created.\n"},"diskFormat":{"type":"string","description":"The disk format. Must be one of\n\u003cspan pulumi-lang-nodejs=\"`ami`\" pulumi-lang-dotnet=\"`Ami`\" pulumi-lang-go=\"`ami`\" pulumi-lang-python=\"`ami`\" pulumi-lang-yaml=\"`ami`\" pulumi-lang-java=\"`ami`\"\u003e`ami`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ari`\" pulumi-lang-dotnet=\"`Ari`\" pulumi-lang-go=\"`ari`\" pulumi-lang-python=\"`ari`\" pulumi-lang-yaml=\"`ari`\" pulumi-lang-java=\"`ari`\"\u003e`ari`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`aki`\" pulumi-lang-dotnet=\"`Aki`\" pulumi-lang-go=\"`aki`\" pulumi-lang-python=\"`aki`\" pulumi-lang-yaml=\"`aki`\" pulumi-lang-java=\"`aki`\"\u003e`aki`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`vhd`\" pulumi-lang-dotnet=\"`Vhd`\" pulumi-lang-go=\"`vhd`\" pulumi-lang-python=\"`vhd`\" pulumi-lang-yaml=\"`vhd`\" pulumi-lang-java=\"`vhd`\"\u003e`vhd`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`vmdk`\" pulumi-lang-dotnet=\"`Vmdk`\" pulumi-lang-go=\"`vmdk`\" pulumi-lang-python=\"`vmdk`\" pulumi-lang-yaml=\"`vmdk`\" pulumi-lang-java=\"`vmdk`\"\u003e`vmdk`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`raw`\" pulumi-lang-dotnet=\"`Raw`\" pulumi-lang-go=\"`raw`\" pulumi-lang-python=\"`raw`\" pulumi-lang-yaml=\"`raw`\" pulumi-lang-java=\"`raw`\"\u003e`raw`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`qcow2`\" pulumi-lang-dotnet=\"`Qcow2`\" pulumi-lang-go=\"`qcow2`\" pulumi-lang-python=\"`qcow2`\" pulumi-lang-yaml=\"`qcow2`\" pulumi-lang-java=\"`qcow2`\"\u003e`qcow2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`vdi`\" pulumi-lang-dotnet=\"`Vdi`\" pulumi-lang-go=\"`vdi`\" pulumi-lang-python=\"`vdi`\" pulumi-lang-yaml=\"`vdi`\" pulumi-lang-java=\"`vdi`\"\u003e`vdi`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`iso`\" pulumi-lang-dotnet=\"`Iso`\" pulumi-lang-go=\"`iso`\" pulumi-lang-python=\"`iso`\" pulumi-lang-yaml=\"`iso`\" pulumi-lang-java=\"`iso`\"\u003e`iso`\u003c/span\u003e.\n"},"file":{"type":"string","description":"the trailing path after the glance\nendpoint that represent the location of the image\nor the path to retrieve it.\n"},"hwFirmwareType":{"type":"string","description":"Specifies the boot mode. The value can be \u003cspan pulumi-lang-nodejs=\"`bios`\" pulumi-lang-dotnet=\"`Bios`\" pulumi-lang-go=\"`bios`\" pulumi-lang-python=\"`bios`\" pulumi-lang-yaml=\"`bios`\" pulumi-lang-java=\"`bios`\"\u003e`bios`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`uefi`\" pulumi-lang-dotnet=\"`Uefi`\" pulumi-lang-go=\"`uefi`\" pulumi-lang-python=\"`uefi`\" pulumi-lang-yaml=\"`uefi`\" pulumi-lang-java=\"`uefi`\"\u003e`uefi`\u003c/span\u003e.\n\n\u003e **Note:** The \u003cspan pulumi-lang-nodejs=\"`properties`\" pulumi-lang-dotnet=\"`Properties`\" pulumi-lang-go=\"`properties`\" pulumi-lang-python=\"`properties`\" pulumi-lang-yaml=\"`properties`\" pulumi-lang-java=\"`properties`\"\u003e`properties`\u003c/span\u003e attribute handling in the gophercloud library is currently buggy\nand needs to be fixed before being implemented in this resource.\n"},"imageCachePath":{"type":"string"},"imageSourceUrl":{"type":"string","description":"This is the url of the raw image that will\nbe downloaded in the \u003cspan pulumi-lang-nodejs=\"`imageCachePath`\" pulumi-lang-dotnet=\"`ImageCachePath`\" pulumi-lang-go=\"`imageCachePath`\" pulumi-lang-python=\"`image_cache_path`\" pulumi-lang-yaml=\"`imageCachePath`\" pulumi-lang-java=\"`imageCachePath`\"\u003e`image_cache_path`\u003c/span\u003e before being uploaded to Glance.\nGlance is able to download image from internet but the \u003cspan pulumi-lang-nodejs=\"`gophercloud`\" pulumi-lang-dotnet=\"`Gophercloud`\" pulumi-lang-go=\"`gophercloud`\" pulumi-lang-python=\"`gophercloud`\" pulumi-lang-yaml=\"`gophercloud`\" pulumi-lang-java=\"`gophercloud`\"\u003e`gophercloud`\u003c/span\u003e library\ndoes not yet provide a way to do so.\nConflicts with \u003cspan pulumi-lang-nodejs=\"`localFilePath`\" pulumi-lang-dotnet=\"`LocalFilePath`\" pulumi-lang-go=\"`localFilePath`\" pulumi-lang-python=\"`local_file_path`\" pulumi-lang-yaml=\"`localFilePath`\" pulumi-lang-java=\"`localFilePath`\"\u003e`local_file_path`\u003c/span\u003e.\n"},"imagesImageV2Id":{"type":"string","description":"A unique ID assigned by Glance.\n"},"localFilePath":{"type":"string","description":"This is the filepath of the raw image file\nthat will be uploaded to Glance. Conflicts with \u003cspan pulumi-lang-nodejs=\"`imageSourceUrl`\" pulumi-lang-dotnet=\"`ImageSourceUrl`\" pulumi-lang-go=\"`imageSourceUrl`\" pulumi-lang-python=\"`image_source_url`\" pulumi-lang-yaml=\"`imageSourceUrl`\" pulumi-lang-java=\"`imageSourceUrl`\"\u003e`image_source_url`\u003c/span\u003e.\n"},"minDiskGb":{"type":"number","description":"Amount of disk space (in GB) required to boot image.\nDefaults to 0.\n"},"minRamMb":{"type":"number","description":"Amount of ram (in MB) required to boot image.\nDefauts to 0.\n"},"name":{"type":"string","description":"The name of the image.\n"},"owner":{"type":"string","description":"The id of the opentelekomcloud user who owns the image.\n"},"protected":{"type":"boolean","description":"If true, image will not be deletable.\nDefaults to false.\n"},"region":{"type":"string"},"schema":{"type":"string","description":"The path to the JSON-schema that represent\nthe image or image\n"},"sizeBytes":{"type":"number","description":"The size in bytes of the data associated with the image.\n"},"status":{"type":"string","description":"The status of the image. It can be \u003cspan pulumi-lang-nodejs=\"`queued`\" pulumi-lang-dotnet=\"`Queued`\" pulumi-lang-go=\"`queued`\" pulumi-lang-python=\"`queued`\" pulumi-lang-yaml=\"`queued`\" pulumi-lang-java=\"`queued`\"\u003e`queued`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e\nor \u003cspan pulumi-lang-nodejs=\"`saving`\" pulumi-lang-dotnet=\"`Saving`\" pulumi-lang-go=\"`saving`\" pulumi-lang-python=\"`saving`\" pulumi-lang-yaml=\"`saving`\" pulumi-lang-java=\"`saving`\"\u003e`saving`\u003c/span\u003e.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"The tags of the image. It must be a list of strings.\nAt this time, it is not possible to delete all tags of an image.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FImagesImageV2Timeouts:ImagesImageV2Timeouts"},"updateAt":{"type":"string","description":"The date the image was last updated.\n"},"visibility":{"type":"string","description":"The visibility of the image. Must be one of\n\"public\", \"private\", \"community\", or \"shared\". The ability to set the\nvisibility depends upon the configuration of the OpenTelekomCloud cloud.\n"}},"type":"object"}},"opentelekomcloud:index/imsDataImageV2:ImsDataImageV2":{"description":"Up-to-date reference of API arguments for IMS data image you can get at\n[documentation portal](https://docs.otc.t-systems.com/image-management-service/api-ref/ims_apis/image)\n\nManages a V2 Data Image resource within OpenTelekomCloud IMS.\n\n## Example Usage\n\n###  Creating a data disk image using an ECS\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst imsTest = new opentelekomcloud.ImsDataImageV2(\"ims_test\", {\n    name: \"imt_test\",\n    volumeId: \"54a6c3a4-8511-4d01-818f-3fe5177cbb06\",\n    description: \"Create an image using an ECS.\",\n    tags: {\n        foo: \"bar\",\n        key: \"value\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nims_test = opentelekomcloud.ImsDataImageV2(\"ims_test\",\n    name=\"imt_test\",\n    volume_id=\"54a6c3a4-8511-4d01-818f-3fe5177cbb06\",\n    description=\"Create an image using an ECS.\",\n    tags={\n        \"foo\": \"bar\",\n        \"key\": \"value\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var imsTest = new Opentelekomcloud.ImsDataImageV2(\"ims_test\", new()\n    {\n        Name = \"imt_test\",\n        VolumeId = \"54a6c3a4-8511-4d01-818f-3fe5177cbb06\",\n        Description = \"Create an image using an ECS.\",\n        Tags = \n        {\n            { \"foo\", \"bar\" },\n            { \"key\", \"value\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewImsDataImageV2(ctx, \"ims_test\", \u0026opentelekomcloud.ImsDataImageV2Args{\n\t\t\tName:        pulumi.String(\"imt_test\"),\n\t\t\tVolumeId:    pulumi.String(\"54a6c3a4-8511-4d01-818f-3fe5177cbb06\"),\n\t\t\tDescription: pulumi.String(\"Create an image using an ECS.\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t\t\"key\": pulumi.String(\"value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ImsDataImageV2;\nimport com.pulumi.opentelekomcloud.ImsDataImageV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var imsTest = new ImsDataImageV2(\"imsTest\", ImsDataImageV2Args.builder()\n            .name(\"imt_test\")\n            .volumeId(\"54a6c3a4-8511-4d01-818f-3fe5177cbb06\")\n            .description(\"Create an image using an ECS.\")\n            .tags(Map.ofEntries(\n                Map.entry(\"foo\", \"bar\"),\n                Map.entry(\"key\", \"value\")\n            ))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  imsTest:\n    type: opentelekomcloud:ImsDataImageV2\n    name: ims_test\n    properties:\n      name: imt_test\n      volumeId: 54a6c3a4-8511-4d01-818f-3fe5177cbb06\n      description: Create an image using an ECS.\n      tags:\n        foo: bar\n        key: value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n###  Creating a data disk image in the OBS bucket\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst imsTestFile = new opentelekomcloud.ImsDataImageV2(\"ims_test_file\", {\n    name: \"ims_test_file\",\n    imageUrl: \"ims-image:centos70.qcow2\",\n    minDisk: 40,\n    osType: \"Linux\",\n    description: \"Create an image using a file in the OBS bucket.\",\n    tags: {\n        foo: \"bar1\",\n        key: \"value\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nims_test_file = opentelekomcloud.ImsDataImageV2(\"ims_test_file\",\n    name=\"ims_test_file\",\n    image_url=\"ims-image:centos70.qcow2\",\n    min_disk=40,\n    os_type=\"Linux\",\n    description=\"Create an image using a file in the OBS bucket.\",\n    tags={\n        \"foo\": \"bar1\",\n        \"key\": \"value\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var imsTestFile = new Opentelekomcloud.ImsDataImageV2(\"ims_test_file\", new()\n    {\n        Name = \"ims_test_file\",\n        ImageUrl = \"ims-image:centos70.qcow2\",\n        MinDisk = 40,\n        OsType = \"Linux\",\n        Description = \"Create an image using a file in the OBS bucket.\",\n        Tags = \n        {\n            { \"foo\", \"bar1\" },\n            { \"key\", \"value\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewImsDataImageV2(ctx, \"ims_test_file\", \u0026opentelekomcloud.ImsDataImageV2Args{\n\t\t\tName:        pulumi.String(\"ims_test_file\"),\n\t\t\tImageUrl:    pulumi.String(\"ims-image:centos70.qcow2\"),\n\t\t\tMinDisk:     pulumi.Float64(40),\n\t\t\tOsType:      pulumi.String(\"Linux\"),\n\t\t\tDescription: pulumi.String(\"Create an image using a file in the OBS bucket.\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar1\"),\n\t\t\t\t\"key\": pulumi.String(\"value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ImsDataImageV2;\nimport com.pulumi.opentelekomcloud.ImsDataImageV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var imsTestFile = new ImsDataImageV2(\"imsTestFile\", ImsDataImageV2Args.builder()\n            .name(\"ims_test_file\")\n            .imageUrl(\"ims-image:centos70.qcow2\")\n            .minDisk(40.0)\n            .osType(\"Linux\")\n            .description(\"Create an image using a file in the OBS bucket.\")\n            .tags(Map.ofEntries(\n                Map.entry(\"foo\", \"bar1\"),\n                Map.entry(\"key\", \"value\")\n            ))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  imsTestFile:\n    type: opentelekomcloud:ImsDataImageV2\n    name: ims_test_file\n    properties:\n      name: ims_test_file\n      imageUrl: ims-image:centos70.qcow2\n      minDisk: 40\n      osType: Linux\n      description: Create an image using a file in the OBS bucket.\n      tags:\n        foo: bar1\n        key: value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nImages can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/imsDataImageV2:ImsDataImageV2 my_image 7886e623-f1b3-473e-b882-67ba1c35887f\n```\n\n","properties":{"cmkId":{"type":"string","description":"The master key used for encrypting an image.\nChanging this creates a new image.\n"},"dataOrigin":{"type":"string","description":"The image resource. The pattern can be 'instance,*instance_id*' or 'file,*image_url*'.\n"},"description":{"type":"string","description":"A description of the image. Changing this creates a new image.\n"},"diskFormat":{"type":"string","description":"The image file format. The value can be \u003cspan pulumi-lang-nodejs=\"`vhd`\" pulumi-lang-dotnet=\"`Vhd`\" pulumi-lang-go=\"`vhd`\" pulumi-lang-python=\"`vhd`\" pulumi-lang-yaml=\"`vhd`\" pulumi-lang-java=\"`vhd`\"\u003e`vhd`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`zvhd`\" pulumi-lang-dotnet=\"`Zvhd`\" pulumi-lang-go=\"`zvhd`\" pulumi-lang-python=\"`zvhd`\" pulumi-lang-yaml=\"`zvhd`\" pulumi-lang-java=\"`zvhd`\"\u003e`zvhd`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`raw`\" pulumi-lang-dotnet=\"`Raw`\" pulumi-lang-go=\"`raw`\" pulumi-lang-python=\"`raw`\" pulumi-lang-yaml=\"`raw`\" pulumi-lang-java=\"`raw`\"\u003e`raw`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`zvhd2`\" pulumi-lang-dotnet=\"`Zvhd2`\" pulumi-lang-go=\"`zvhd2`\" pulumi-lang-python=\"`zvhd2`\" pulumi-lang-yaml=\"`zvhd2`\" pulumi-lang-java=\"`zvhd2`\"\u003e`zvhd2`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`qcow2`\" pulumi-lang-dotnet=\"`Qcow2`\" pulumi-lang-go=\"`qcow2`\" pulumi-lang-python=\"`qcow2`\" pulumi-lang-yaml=\"`qcow2`\" pulumi-lang-java=\"`qcow2`\"\u003e`qcow2`\u003c/span\u003e.\n"},"imageSize":{"type":"string","description":"The size(bytes) of the image file format.\n"},"imageUrl":{"type":"string","description":"The URL of the external image file in the OBS bucket.\nThis parameter is mandatory when you create a private image from an external file\nuploaded to an OBS bucket. The format is *OBS bucket name:Image file name*.\nChanging this creates a new image.\n"},"imsDataImageV2Id":{"type":"string","description":"A unique ID assigned by IMS.\n"},"minDisk":{"type":"number","description":"The minimum size of the system disk in the unit of GB.\nThis parameter is mandatory when you create a private image from an external file\nuploaded to an OBS bucket. The value ranges from 1 GB to 1024 GB.\nChanging this creates a new image.\n"},"name":{"type":"string","description":"The name of the image.\n"},"osType":{"type":"string","description":"The OS type. It can only be Windows or Linux.\nThis parameter is valid when you create a private image from an external file\nuploaded to an OBS bucket. Changing this creates a new image.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"The tags of the image.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FImsDataImageV2Timeouts:ImsDataImageV2Timeouts"},"visibility":{"type":"string","description":"Whether the image is visible to other tenants.\n"},"volumeId":{"type":"string","description":"The ID of the ECS atatched volume that needs to be converted into an image.\nThis parameter is mandatory when you create a privete image from an ECS.\nChanging this creates a new image.\n"}},"type":"object","required":["dataOrigin","diskFormat","imageSize","imsDataImageV2Id","name","visibility"],"inputProperties":{"cmkId":{"type":"string","description":"The master key used for encrypting an image.\nChanging this creates a new image.\n"},"description":{"type":"string","description":"A description of the image. Changing this creates a new image.\n"},"imageUrl":{"type":"string","description":"The URL of the external image file in the OBS bucket.\nThis parameter is mandatory when you create a private image from an external file\nuploaded to an OBS bucket. The format is *OBS bucket name:Image file name*.\nChanging this creates a new image.\n"},"imsDataImageV2Id":{"type":"string","description":"A unique ID assigned by IMS.\n"},"minDisk":{"type":"number","description":"The minimum size of the system disk in the unit of GB.\nThis parameter is mandatory when you create a private image from an external file\nuploaded to an OBS bucket. The value ranges from 1 GB to 1024 GB.\nChanging this creates a new image.\n"},"name":{"type":"string","description":"The name of the image.\n"},"osType":{"type":"string","description":"The OS type. It can only be Windows or Linux.\nThis parameter is valid when you create a private image from an external file\nuploaded to an OBS bucket. Changing this creates a new image.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"The tags of the image.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FImsDataImageV2Timeouts:ImsDataImageV2Timeouts"},"volumeId":{"type":"string","description":"The ID of the ECS atatched volume that needs to be converted into an image.\nThis parameter is mandatory when you create a privete image from an ECS.\nChanging this creates a new image.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering ImsDataImageV2 resources.\n","properties":{"cmkId":{"type":"string","description":"The master key used for encrypting an image.\nChanging this creates a new image.\n"},"dataOrigin":{"type":"string","description":"The image resource. The pattern can be 'instance,*instance_id*' or 'file,*image_url*'.\n"},"description":{"type":"string","description":"A description of the image. Changing this creates a new image.\n"},"diskFormat":{"type":"string","description":"The image file format. The value can be \u003cspan pulumi-lang-nodejs=\"`vhd`\" pulumi-lang-dotnet=\"`Vhd`\" pulumi-lang-go=\"`vhd`\" pulumi-lang-python=\"`vhd`\" pulumi-lang-yaml=\"`vhd`\" pulumi-lang-java=\"`vhd`\"\u003e`vhd`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`zvhd`\" pulumi-lang-dotnet=\"`Zvhd`\" pulumi-lang-go=\"`zvhd`\" pulumi-lang-python=\"`zvhd`\" pulumi-lang-yaml=\"`zvhd`\" pulumi-lang-java=\"`zvhd`\"\u003e`zvhd`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`raw`\" pulumi-lang-dotnet=\"`Raw`\" pulumi-lang-go=\"`raw`\" pulumi-lang-python=\"`raw`\" pulumi-lang-yaml=\"`raw`\" pulumi-lang-java=\"`raw`\"\u003e`raw`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`zvhd2`\" pulumi-lang-dotnet=\"`Zvhd2`\" pulumi-lang-go=\"`zvhd2`\" pulumi-lang-python=\"`zvhd2`\" pulumi-lang-yaml=\"`zvhd2`\" pulumi-lang-java=\"`zvhd2`\"\u003e`zvhd2`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`qcow2`\" pulumi-lang-dotnet=\"`Qcow2`\" pulumi-lang-go=\"`qcow2`\" pulumi-lang-python=\"`qcow2`\" pulumi-lang-yaml=\"`qcow2`\" pulumi-lang-java=\"`qcow2`\"\u003e`qcow2`\u003c/span\u003e.\n"},"imageSize":{"type":"string","description":"The size(bytes) of the image file format.\n"},"imageUrl":{"type":"string","description":"The URL of the external image file in the OBS bucket.\nThis parameter is mandatory when you create a private image from an external file\nuploaded to an OBS bucket. The format is *OBS bucket name:Image file name*.\nChanging this creates a new image.\n"},"imsDataImageV2Id":{"type":"string","description":"A unique ID assigned by IMS.\n"},"minDisk":{"type":"number","description":"The minimum size of the system disk in the unit of GB.\nThis parameter is mandatory when you create a private image from an external file\nuploaded to an OBS bucket. The value ranges from 1 GB to 1024 GB.\nChanging this creates a new image.\n"},"name":{"type":"string","description":"The name of the image.\n"},"osType":{"type":"string","description":"The OS type. It can only be Windows or Linux.\nThis parameter is valid when you create a private image from an external file\nuploaded to an OBS bucket. Changing this creates a new image.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"The tags of the image.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FImsDataImageV2Timeouts:ImsDataImageV2Timeouts"},"visibility":{"type":"string","description":"Whether the image is visible to other tenants.\n"},"volumeId":{"type":"string","description":"The ID of the ECS atatched volume that needs to be converted into an image.\nThis parameter is mandatory when you create a privete image from an ECS.\nChanging this creates a new image.\n"}},"type":"object"}},"opentelekomcloud:index/imsImageShareAcceptV1:ImsImageShareAcceptV1":{"description":"Manages an IMS image share accept resource within OpenTelekomCloud.\n\n\u003e Creating resource means accepting shared image, while destroying resource means rejecting shared image.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst sharedImageId = config.requireObject\u003cany\u003e(\"sharedImageId\");\nconst acc = new opentelekomcloud.ImsImageShareAcceptV1(\"acc\", {imageId: sharedImageId});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nshared_image_id = config.require_object(\"sharedImageId\")\nacc = opentelekomcloud.ImsImageShareAcceptV1(\"acc\", image_id=shared_image_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var sharedImageId = config.RequireObject\u003cdynamic\u003e(\"sharedImageId\");\n    var acc = new Opentelekomcloud.ImsImageShareAcceptV1(\"acc\", new()\n    {\n        ImageId = sharedImageId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tsharedImageId := cfg.RequireObject(\"sharedImageId\")\n\t\t_, err := opentelekomcloud.NewImsImageShareAcceptV1(ctx, \"acc\", \u0026opentelekomcloud.ImsImageShareAcceptV1Args{\n\t\t\tImageId: pulumi.Any(sharedImageId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ImsImageShareAcceptV1;\nimport com.pulumi.opentelekomcloud.ImsImageShareAcceptV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var sharedImageId = config.get(\"sharedImageId\");\n        var acc = new ImsImageShareAcceptV1(\"acc\", ImsImageShareAcceptV1Args.builder()\n            .imageId(sharedImageId)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  sharedImageId:\n    type: dynamic\nresources:\n  acc:\n    type: opentelekomcloud:ImsImageShareAcceptV1\n    properties:\n      imageId: ${sharedImageId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"imageId":{"type":"string","description":"Specifies the ID of the image.\n\nChanging this parameter will create a new resource.\n"},"imsImageShareAcceptV1Id":{"type":"string","description":"The resource ID in UUID format.\n"},"region":{"type":"string","description":"The region in which resource is located.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FImsImageShareAcceptV1Timeouts:ImsImageShareAcceptV1Timeouts"},"vaultId":{"type":"string","description":"Specifies the ID of a vault. This parameter is mandatory if you want\nto accept a shared full-ECS image created from a CBR backup.\n\nChanging this parameter will create a new resource.\n"}},"type":"object","required":["imageId","imsImageShareAcceptV1Id","region","vaultId"],"inputProperties":{"imageId":{"type":"string","description":"Specifies the ID of the image.\n\nChanging this parameter will create a new resource.\n"},"imsImageShareAcceptV1Id":{"type":"string","description":"The resource ID in UUID format.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FImsImageShareAcceptV1Timeouts:ImsImageShareAcceptV1Timeouts"},"vaultId":{"type":"string","description":"Specifies the ID of a vault. This parameter is mandatory if you want\nto accept a shared full-ECS image created from a CBR backup.\n\nChanging this parameter will create a new resource.\n"}},"requiredInputs":["imageId"],"stateInputs":{"description":"Input properties used for looking up and filtering ImsImageShareAcceptV1 resources.\n","properties":{"imageId":{"type":"string","description":"Specifies the ID of the image.\n\nChanging this parameter will create a new resource.\n"},"imsImageShareAcceptV1Id":{"type":"string","description":"The resource ID in UUID format.\n"},"region":{"type":"string","description":"The region in which resource is located.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FImsImageShareAcceptV1Timeouts:ImsImageShareAcceptV1Timeouts"},"vaultId":{"type":"string","description":"Specifies the ID of a vault. This parameter is mandatory if you want\nto accept a shared full-ECS image created from a CBR backup.\n\nChanging this parameter will create a new resource.\n"}},"type":"object"}},"opentelekomcloud:index/imsImageShareV1:ImsImageShareV1":{"description":"Manages an IMS image share resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst sourceImageId = config.requireObject\u003cany\u003e(\"sourceImageId\");\nconst targetProjectIds = config.requireObject\u003cany\u003e(\"targetProjectIds\");\nconst share = new opentelekomcloud.ImsImageShareV1(\"share\", {\n    sourceImageId: sourceImageId,\n    targetProjectIds: targetProjectIds,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nsource_image_id = config.require_object(\"sourceImageId\")\ntarget_project_ids = config.require_object(\"targetProjectIds\")\nshare = opentelekomcloud.ImsImageShareV1(\"share\",\n    source_image_id=source_image_id,\n    target_project_ids=target_project_ids)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var sourceImageId = config.RequireObject\u003cdynamic\u003e(\"sourceImageId\");\n    var targetProjectIds = config.RequireObject\u003cdynamic\u003e(\"targetProjectIds\");\n    var share = new Opentelekomcloud.ImsImageShareV1(\"share\", new()\n    {\n        SourceImageId = sourceImageId,\n        TargetProjectIds = targetProjectIds,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tsourceImageId := cfg.RequireObject(\"sourceImageId\")\n\t\ttargetProjectIds := cfg.RequireObject(\"targetProjectIds\")\n\t\t_, err := opentelekomcloud.NewImsImageShareV1(ctx, \"share\", \u0026opentelekomcloud.ImsImageShareV1Args{\n\t\t\tSourceImageId:    pulumi.Any(sourceImageId),\n\t\t\tTargetProjectIds: pulumi.Any(targetProjectIds),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ImsImageShareV1;\nimport com.pulumi.opentelekomcloud.ImsImageShareV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var sourceImageId = config.get(\"sourceImageId\");\n        final var targetProjectIds = config.get(\"targetProjectIds\");\n        var share = new ImsImageShareV1(\"share\", ImsImageShareV1Args.builder()\n            .sourceImageId(sourceImageId)\n            .targetProjectIds(targetProjectIds)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  sourceImageId:\n    type: dynamic\n  targetProjectIds:\n    type: dynamic\nresources:\n  share:\n    type: opentelekomcloud:ImsImageShareV1\n    properties:\n      sourceImageId: ${sourceImageId}\n      targetProjectIds: ${targetProjectIds}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"imsImageShareV1Id":{"type":"string","description":"The resource ID, same as \u003cspan pulumi-lang-nodejs=\"`sourceImageId`\" pulumi-lang-dotnet=\"`SourceImageId`\" pulumi-lang-go=\"`sourceImageId`\" pulumi-lang-python=\"`source_image_id`\" pulumi-lang-yaml=\"`sourceImageId`\" pulumi-lang-java=\"`sourceImageId`\"\u003e`source_image_id`\u003c/span\u003e.\n"},"region":{"type":"string","description":"The region in which resource is located.\n"},"sourceImageId":{"type":"string","description":"Specifies the ID of the source image. The source image must be in the\nsame region as the current resource.\n\nChanging this parameter will create a new resource.\n"},"targetProjectIds":{"type":"array","items":{"type":"string"},"description":"Specifies the IDs of the target projects.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FImsImageShareV1Timeouts:ImsImageShareV1Timeouts"}},"type":"object","required":["imsImageShareV1Id","region","sourceImageId","targetProjectIds"],"inputProperties":{"imsImageShareV1Id":{"type":"string","description":"The resource ID, same as \u003cspan pulumi-lang-nodejs=\"`sourceImageId`\" pulumi-lang-dotnet=\"`SourceImageId`\" pulumi-lang-go=\"`sourceImageId`\" pulumi-lang-python=\"`source_image_id`\" pulumi-lang-yaml=\"`sourceImageId`\" pulumi-lang-java=\"`sourceImageId`\"\u003e`source_image_id`\u003c/span\u003e.\n"},"sourceImageId":{"type":"string","description":"Specifies the ID of the source image. The source image must be in the\nsame region as the current resource.\n\nChanging this parameter will create a new resource.\n"},"targetProjectIds":{"type":"array","items":{"type":"string"},"description":"Specifies the IDs of the target projects.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FImsImageShareV1Timeouts:ImsImageShareV1Timeouts"}},"requiredInputs":["sourceImageId","targetProjectIds"],"stateInputs":{"description":"Input properties used for looking up and filtering ImsImageShareV1 resources.\n","properties":{"imsImageShareV1Id":{"type":"string","description":"The resource ID, same as \u003cspan pulumi-lang-nodejs=\"`sourceImageId`\" pulumi-lang-dotnet=\"`SourceImageId`\" pulumi-lang-go=\"`sourceImageId`\" pulumi-lang-python=\"`source_image_id`\" pulumi-lang-yaml=\"`sourceImageId`\" pulumi-lang-java=\"`sourceImageId`\"\u003e`source_image_id`\u003c/span\u003e.\n"},"region":{"type":"string","description":"The region in which resource is located.\n"},"sourceImageId":{"type":"string","description":"Specifies the ID of the source image. The source image must be in the\nsame region as the current resource.\n\nChanging this parameter will create a new resource.\n"},"targetProjectIds":{"type":"array","items":{"type":"string"},"description":"Specifies the IDs of the target projects.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FImsImageShareV1Timeouts:ImsImageShareV1Timeouts"}},"type":"object"}},"opentelekomcloud:index/imsImageV2:ImsImageV2":{"description":"Up-to-date reference of API arguments for IMS image you can get at\n[documentation portal](https://docs.otc.t-systems.com/image-management-service/api-ref/ims_apis/image)\n\nManages a V2 Image resource within OpenTelekomCloud IMS.\n\n## Example Usage\n\n###  Creating an image using an ECS\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst imsTest = new opentelekomcloud.ImsImageV2(\"ims_test\", {\n    name: \"imt_test\",\n    instanceId: \"54a6c3a4-8511-4d01-818f-3fe5177cbb06\",\n    description: \"Create an image using an ECS.\",\n    tags: {\n        foo: \"bar\",\n        key: \"value\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nims_test = opentelekomcloud.ImsImageV2(\"ims_test\",\n    name=\"imt_test\",\n    instance_id=\"54a6c3a4-8511-4d01-818f-3fe5177cbb06\",\n    description=\"Create an image using an ECS.\",\n    tags={\n        \"foo\": \"bar\",\n        \"key\": \"value\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var imsTest = new Opentelekomcloud.ImsImageV2(\"ims_test\", new()\n    {\n        Name = \"imt_test\",\n        InstanceId = \"54a6c3a4-8511-4d01-818f-3fe5177cbb06\",\n        Description = \"Create an image using an ECS.\",\n        Tags = \n        {\n            { \"foo\", \"bar\" },\n            { \"key\", \"value\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewImsImageV2(ctx, \"ims_test\", \u0026opentelekomcloud.ImsImageV2Args{\n\t\t\tName:        pulumi.String(\"imt_test\"),\n\t\t\tInstanceId:  pulumi.String(\"54a6c3a4-8511-4d01-818f-3fe5177cbb06\"),\n\t\t\tDescription: pulumi.String(\"Create an image using an ECS.\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t\t\"key\": pulumi.String(\"value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ImsImageV2;\nimport com.pulumi.opentelekomcloud.ImsImageV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var imsTest = new ImsImageV2(\"imsTest\", ImsImageV2Args.builder()\n            .name(\"imt_test\")\n            .instanceId(\"54a6c3a4-8511-4d01-818f-3fe5177cbb06\")\n            .description(\"Create an image using an ECS.\")\n            .tags(Map.ofEntries(\n                Map.entry(\"foo\", \"bar\"),\n                Map.entry(\"key\", \"value\")\n            ))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  imsTest:\n    type: opentelekomcloud:ImsImageV2\n    name: ims_test\n    properties:\n      name: imt_test\n      instanceId: 54a6c3a4-8511-4d01-818f-3fe5177cbb06\n      description: Create an image using an ECS.\n      tags:\n        foo: bar\n        key: value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n###  Creating an image in the OBS bucket\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst imsTestFile = new opentelekomcloud.ImsImageV2(\"ims_test_file\", {\n    name: \"ims_test_file\",\n    imageUrl: \"ims-image:centos70.qcow2\",\n    minDisk: 40,\n    description: \"Create an image using a file in the OBS bucket.\",\n    tags: {\n        foo: \"bar1\",\n        key: \"value\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nims_test_file = opentelekomcloud.ImsImageV2(\"ims_test_file\",\n    name=\"ims_test_file\",\n    image_url=\"ims-image:centos70.qcow2\",\n    min_disk=40,\n    description=\"Create an image using a file in the OBS bucket.\",\n    tags={\n        \"foo\": \"bar1\",\n        \"key\": \"value\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var imsTestFile = new Opentelekomcloud.ImsImageV2(\"ims_test_file\", new()\n    {\n        Name = \"ims_test_file\",\n        ImageUrl = \"ims-image:centos70.qcow2\",\n        MinDisk = 40,\n        Description = \"Create an image using a file in the OBS bucket.\",\n        Tags = \n        {\n            { \"foo\", \"bar1\" },\n            { \"key\", \"value\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewImsImageV2(ctx, \"ims_test_file\", \u0026opentelekomcloud.ImsImageV2Args{\n\t\t\tName:        pulumi.String(\"ims_test_file\"),\n\t\t\tImageUrl:    pulumi.String(\"ims-image:centos70.qcow2\"),\n\t\t\tMinDisk:     pulumi.Float64(40),\n\t\t\tDescription: pulumi.String(\"Create an image using a file in the OBS bucket.\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar1\"),\n\t\t\t\t\"key\": pulumi.String(\"value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ImsImageV2;\nimport com.pulumi.opentelekomcloud.ImsImageV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var imsTestFile = new ImsImageV2(\"imsTestFile\", ImsImageV2Args.builder()\n            .name(\"ims_test_file\")\n            .imageUrl(\"ims-image:centos70.qcow2\")\n            .minDisk(40.0)\n            .description(\"Create an image using a file in the OBS bucket.\")\n            .tags(Map.ofEntries(\n                Map.entry(\"foo\", \"bar1\"),\n                Map.entry(\"key\", \"value\")\n            ))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  imsTestFile:\n    type: opentelekomcloud:ImsImageV2\n    name: ims_test_file\n    properties:\n      name: ims_test_file\n      imageUrl: ims-image:centos70.qcow2\n      minDisk: 40\n      description: Create an image using a file in the OBS bucket.\n      tags:\n        foo: bar1\n        key: value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n###  Creating an image using an Volume\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst imageVolume = new opentelekomcloud.ImsImageV2(\"image_volume\", {\n    name: \"image_volume\",\n    volumeId: \"54a6c3a4-8511-4d01-818f-3fe5177cbb07\",\n    osVersion: \"Debian GNU/Linux 10.0.0 64bit\",\n    description: \"created by Terraform\",\n    tags: {\n        foo: \"bar\",\n        key: \"value\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nimage_volume = opentelekomcloud.ImsImageV2(\"image_volume\",\n    name=\"image_volume\",\n    volume_id=\"54a6c3a4-8511-4d01-818f-3fe5177cbb07\",\n    os_version=\"Debian GNU/Linux 10.0.0 64bit\",\n    description=\"created by Terraform\",\n    tags={\n        \"foo\": \"bar\",\n        \"key\": \"value\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var imageVolume = new Opentelekomcloud.ImsImageV2(\"image_volume\", new()\n    {\n        Name = \"image_volume\",\n        VolumeId = \"54a6c3a4-8511-4d01-818f-3fe5177cbb07\",\n        OsVersion = \"Debian GNU/Linux 10.0.0 64bit\",\n        Description = \"created by Terraform\",\n        Tags = \n        {\n            { \"foo\", \"bar\" },\n            { \"key\", \"value\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewImsImageV2(ctx, \"image_volume\", \u0026opentelekomcloud.ImsImageV2Args{\n\t\t\tName:        pulumi.String(\"image_volume\"),\n\t\t\tVolumeId:    pulumi.String(\"54a6c3a4-8511-4d01-818f-3fe5177cbb07\"),\n\t\t\tOsVersion:   pulumi.String(\"Debian GNU/Linux 10.0.0 64bit\"),\n\t\t\tDescription: pulumi.String(\"created by Terraform\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t\t\"key\": pulumi.String(\"value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ImsImageV2;\nimport com.pulumi.opentelekomcloud.ImsImageV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var imageVolume = new ImsImageV2(\"imageVolume\", ImsImageV2Args.builder()\n            .name(\"image_volume\")\n            .volumeId(\"54a6c3a4-8511-4d01-818f-3fe5177cbb07\")\n            .osVersion(\"Debian GNU/Linux 10.0.0 64bit\")\n            .description(\"created by Terraform\")\n            .tags(Map.ofEntries(\n                Map.entry(\"foo\", \"bar\"),\n                Map.entry(\"key\", \"value\")\n            ))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  imageVolume:\n    type: opentelekomcloud:ImsImageV2\n    name: image_volume\n    properties:\n      name: image_volume\n      volumeId: 54a6c3a4-8511-4d01-818f-3fe5177cbb07\n      osVersion: Debian GNU/Linux 10.0.0 64bit\n      description: created by Terraform\n      tags:\n        foo: bar\n        key: value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nImages can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/imsImageV2:ImsImageV2 my_image 7886e623-f1b3-473e-b882-67ba1c35887f\n```\n\n","properties":{"cmkId":{"type":"string","description":"The master key used for encrypting an image.\nChanging this creates a new image.\n"},"dataOrigin":{"type":"string","description":"The image resource. The pattern can be 'instance,*instance_id*' or 'file,*image_url*'.\n"},"description":{"type":"string","description":"A description of the image. Changing this creates a new image.\n"},"diskFormat":{"type":"string","description":"The image file format. The value can be \u003cspan pulumi-lang-nodejs=\"`vhd`\" pulumi-lang-dotnet=\"`Vhd`\" pulumi-lang-go=\"`vhd`\" pulumi-lang-python=\"`vhd`\" pulumi-lang-yaml=\"`vhd`\" pulumi-lang-java=\"`vhd`\"\u003e`vhd`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`zvhd`\" pulumi-lang-dotnet=\"`Zvhd`\" pulumi-lang-go=\"`zvhd`\" pulumi-lang-python=\"`zvhd`\" pulumi-lang-yaml=\"`zvhd`\" pulumi-lang-java=\"`zvhd`\"\u003e`zvhd`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`raw`\" pulumi-lang-dotnet=\"`Raw`\" pulumi-lang-go=\"`raw`\" pulumi-lang-python=\"`raw`\" pulumi-lang-yaml=\"`raw`\" pulumi-lang-java=\"`raw`\"\u003e`raw`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`zvhd2`\" pulumi-lang-dotnet=\"`Zvhd2`\" pulumi-lang-go=\"`zvhd2`\" pulumi-lang-python=\"`zvhd2`\" pulumi-lang-yaml=\"`zvhd2`\" pulumi-lang-java=\"`zvhd2`\"\u003e`zvhd2`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`qcow2`\" pulumi-lang-dotnet=\"`Qcow2`\" pulumi-lang-go=\"`qcow2`\" pulumi-lang-python=\"`qcow2`\" pulumi-lang-yaml=\"`qcow2`\" pulumi-lang-java=\"`qcow2`\"\u003e`qcow2`\u003c/span\u003e.\n"},"file":{"type":"string","description":"The URL for uploading and downloading the image file.\n"},"hwFirmwareType":{"type":"string","description":"Specifies the boot mode. The value can be \u003cspan pulumi-lang-nodejs=\"`bios`\" pulumi-lang-dotnet=\"`Bios`\" pulumi-lang-go=\"`bios`\" pulumi-lang-python=\"`bios`\" pulumi-lang-yaml=\"`bios`\" pulumi-lang-java=\"`bios`\"\u003e`bios`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`uefi`\" pulumi-lang-dotnet=\"`Uefi`\" pulumi-lang-go=\"`uefi`\" pulumi-lang-python=\"`uefi`\" pulumi-lang-yaml=\"`uefi`\" pulumi-lang-java=\"`uefi`\"\u003e`uefi`\u003c/span\u003e.\n"},"imageSize":{"type":"string","description":"The size(bytes) of the image file format.\n"},"imageUrl":{"type":"string","description":"The URL of the external image file in the OBS bucket.\nThis parameter is mandatory when you create a private image from an external file\nuploaded to an OBS bucket. The format is *OBS bucket name:Image file name*.\nChanging this creates a new image.\n"},"imsImageV2Id":{"type":"string","description":"A unique ID assigned by IMS.\n"},"instanceId":{"type":"string","description":"The ID of the ECS that needs to be converted into an image.\nThis parameter is mandatory when you create a private image from an ECS.\nChanging this creates a new image.\n"},"isConfig":{"type":"boolean","description":"If automatic configuration is required, set the value to true.\nOtherwise, set the value to false. Changing this creates a new image.\n"},"maxRam":{"type":"number","description":"The maximum memory of the image in the unit of MB.\nChanging this creates a new image.\n"},"minDisk":{"type":"number","description":"The minimum size of the system disk in the unit of GB.\nThis parameter is mandatory when you create a private image from an external file\nuploaded to an OBS bucket. The value ranges from 1 GB to 1024 GB.\nChanging this creates a new image.\n"},"minRam":{"type":"number","description":"The minimum memory of the image in the unit of MB.\nThe default value is 0, indicating that the memory is not restricted.\nChanging this creates a new image.\n"},"name":{"type":"string","description":"The name of the image.\n"},"osVersion":{"type":"string","description":"The OS version.\nThis parameter is valid when you create a private image from an external file.\nThis parameter is mandatory when you create a private image from a volume.\nuploaded to an OBS bucket. Changing this creates a new image.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"The tags of the image.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FImsImageV2Timeouts:ImsImageV2Timeouts"},"type":{"type":"string","description":"The image type. Must be one of `ECS`, `FusionCompute`, `BMS`,\n`Ironic` or `IsoImage`. Changing this creates a new image.\n"},"visibility":{"type":"string","description":"Whether the image is visible to other tenants.\n"},"volumeId":{"type":"string","description":"Specifies the data disk ID.\nThis parameter is mandatory when you create a private image from a volume.\nChanging this creates a new image.\n"}},"type":"object","required":["dataOrigin","diskFormat","file","imageSize","imsImageV2Id","name","visibility"],"inputProperties":{"cmkId":{"type":"string","description":"The master key used for encrypting an image.\nChanging this creates a new image.\n"},"description":{"type":"string","description":"A description of the image. Changing this creates a new image.\n"},"hwFirmwareType":{"type":"string","description":"Specifies the boot mode. The value can be \u003cspan pulumi-lang-nodejs=\"`bios`\" pulumi-lang-dotnet=\"`Bios`\" pulumi-lang-go=\"`bios`\" pulumi-lang-python=\"`bios`\" pulumi-lang-yaml=\"`bios`\" pulumi-lang-java=\"`bios`\"\u003e`bios`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`uefi`\" pulumi-lang-dotnet=\"`Uefi`\" pulumi-lang-go=\"`uefi`\" pulumi-lang-python=\"`uefi`\" pulumi-lang-yaml=\"`uefi`\" pulumi-lang-java=\"`uefi`\"\u003e`uefi`\u003c/span\u003e.\n"},"imageUrl":{"type":"string","description":"The URL of the external image file in the OBS bucket.\nThis parameter is mandatory when you create a private image from an external file\nuploaded to an OBS bucket. The format is *OBS bucket name:Image file name*.\nChanging this creates a new image.\n"},"imsImageV2Id":{"type":"string","description":"A unique ID assigned by IMS.\n"},"instanceId":{"type":"string","description":"The ID of the ECS that needs to be converted into an image.\nThis parameter is mandatory when you create a private image from an ECS.\nChanging this creates a new image.\n"},"isConfig":{"type":"boolean","description":"If automatic configuration is required, set the value to true.\nOtherwise, set the value to false. Changing this creates a new image.\n"},"maxRam":{"type":"number","description":"The maximum memory of the image in the unit of MB.\nChanging this creates a new image.\n"},"minDisk":{"type":"number","description":"The minimum size of the system disk in the unit of GB.\nThis parameter is mandatory when you create a private image from an external file\nuploaded to an OBS bucket. The value ranges from 1 GB to 1024 GB.\nChanging this creates a new image.\n"},"minRam":{"type":"number","description":"The minimum memory of the image in the unit of MB.\nThe default value is 0, indicating that the memory is not restricted.\nChanging this creates a new image.\n"},"name":{"type":"string","description":"The name of the image.\n"},"osVersion":{"type":"string","description":"The OS version.\nThis parameter is valid when you create a private image from an external file.\nThis parameter is mandatory when you create a private image from a volume.\nuploaded to an OBS bucket. Changing this creates a new image.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"The tags of the image.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FImsImageV2Timeouts:ImsImageV2Timeouts"},"type":{"type":"string","description":"The image type. Must be one of `ECS`, `FusionCompute`, `BMS`,\n`Ironic` or `IsoImage`. Changing this creates a new image.\n"},"volumeId":{"type":"string","description":"Specifies the data disk ID.\nThis parameter is mandatory when you create a private image from a volume.\nChanging this creates a new image.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering ImsImageV2 resources.\n","properties":{"cmkId":{"type":"string","description":"The master key used for encrypting an image.\nChanging this creates a new image.\n"},"dataOrigin":{"type":"string","description":"The image resource. The pattern can be 'instance,*instance_id*' or 'file,*image_url*'.\n"},"description":{"type":"string","description":"A description of the image. Changing this creates a new image.\n"},"diskFormat":{"type":"string","description":"The image file format. The value can be \u003cspan pulumi-lang-nodejs=\"`vhd`\" pulumi-lang-dotnet=\"`Vhd`\" pulumi-lang-go=\"`vhd`\" pulumi-lang-python=\"`vhd`\" pulumi-lang-yaml=\"`vhd`\" pulumi-lang-java=\"`vhd`\"\u003e`vhd`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`zvhd`\" pulumi-lang-dotnet=\"`Zvhd`\" pulumi-lang-go=\"`zvhd`\" pulumi-lang-python=\"`zvhd`\" pulumi-lang-yaml=\"`zvhd`\" pulumi-lang-java=\"`zvhd`\"\u003e`zvhd`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`raw`\" pulumi-lang-dotnet=\"`Raw`\" pulumi-lang-go=\"`raw`\" pulumi-lang-python=\"`raw`\" pulumi-lang-yaml=\"`raw`\" pulumi-lang-java=\"`raw`\"\u003e`raw`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`zvhd2`\" pulumi-lang-dotnet=\"`Zvhd2`\" pulumi-lang-go=\"`zvhd2`\" pulumi-lang-python=\"`zvhd2`\" pulumi-lang-yaml=\"`zvhd2`\" pulumi-lang-java=\"`zvhd2`\"\u003e`zvhd2`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`qcow2`\" pulumi-lang-dotnet=\"`Qcow2`\" pulumi-lang-go=\"`qcow2`\" pulumi-lang-python=\"`qcow2`\" pulumi-lang-yaml=\"`qcow2`\" pulumi-lang-java=\"`qcow2`\"\u003e`qcow2`\u003c/span\u003e.\n"},"file":{"type":"string","description":"The URL for uploading and downloading the image file.\n"},"hwFirmwareType":{"type":"string","description":"Specifies the boot mode. The value can be \u003cspan pulumi-lang-nodejs=\"`bios`\" pulumi-lang-dotnet=\"`Bios`\" pulumi-lang-go=\"`bios`\" pulumi-lang-python=\"`bios`\" pulumi-lang-yaml=\"`bios`\" pulumi-lang-java=\"`bios`\"\u003e`bios`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`uefi`\" pulumi-lang-dotnet=\"`Uefi`\" pulumi-lang-go=\"`uefi`\" pulumi-lang-python=\"`uefi`\" pulumi-lang-yaml=\"`uefi`\" pulumi-lang-java=\"`uefi`\"\u003e`uefi`\u003c/span\u003e.\n"},"imageSize":{"type":"string","description":"The size(bytes) of the image file format.\n"},"imageUrl":{"type":"string","description":"The URL of the external image file in the OBS bucket.\nThis parameter is mandatory when you create a private image from an external file\nuploaded to an OBS bucket. The format is *OBS bucket name:Image file name*.\nChanging this creates a new image.\n"},"imsImageV2Id":{"type":"string","description":"A unique ID assigned by IMS.\n"},"instanceId":{"type":"string","description":"The ID of the ECS that needs to be converted into an image.\nThis parameter is mandatory when you create a private image from an ECS.\nChanging this creates a new image.\n"},"isConfig":{"type":"boolean","description":"If automatic configuration is required, set the value to true.\nOtherwise, set the value to false. Changing this creates a new image.\n"},"maxRam":{"type":"number","description":"The maximum memory of the image in the unit of MB.\nChanging this creates a new image.\n"},"minDisk":{"type":"number","description":"The minimum size of the system disk in the unit of GB.\nThis parameter is mandatory when you create a private image from an external file\nuploaded to an OBS bucket. The value ranges from 1 GB to 1024 GB.\nChanging this creates a new image.\n"},"minRam":{"type":"number","description":"The minimum memory of the image in the unit of MB.\nThe default value is 0, indicating that the memory is not restricted.\nChanging this creates a new image.\n"},"name":{"type":"string","description":"The name of the image.\n"},"osVersion":{"type":"string","description":"The OS version.\nThis parameter is valid when you create a private image from an external file.\nThis parameter is mandatory when you create a private image from a volume.\nuploaded to an OBS bucket. Changing this creates a new image.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"The tags of the image.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FImsImageV2Timeouts:ImsImageV2Timeouts"},"type":{"type":"string","description":"The image type. Must be one of `ECS`, `FusionCompute`, `BMS`,\n`Ironic` or `IsoImage`. Changing this creates a new image.\n"},"visibility":{"type":"string","description":"Whether the image is visible to other tenants.\n"},"volumeId":{"type":"string","description":"Specifies the data disk ID.\nThis parameter is mandatory when you create a private image from a volume.\nChanging this creates a new image.\n"}},"type":"object"}},"opentelekomcloud:index/kmsGrantV1:KmsGrantV1":{"description":"Up-to-date reference of API arguments for KMS grant you can get at\n[documentation portal](https://docs.otc.t-systems.com/key-management-service/api-ref/apis)\n\nManages a V1 KMS grant resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst grant1 = new opentelekomcloud.KmsGrantV1(\"grant_1\", {\n    keyId: kmsId,\n    name: \"my_grant\",\n    granteePrincipal: userId,\n    operations: [\n        \"describe-key\",\n        \"create-datakey\",\n        \"encrypt-datakey\",\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ngrant1 = opentelekomcloud.KmsGrantV1(\"grant_1\",\n    key_id=kms_id,\n    name=\"my_grant\",\n    grantee_principal=user_id,\n    operations=[\n        \"describe-key\",\n        \"create-datakey\",\n        \"encrypt-datakey\",\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var grant1 = new Opentelekomcloud.KmsGrantV1(\"grant_1\", new()\n    {\n        KeyId = kmsId,\n        Name = \"my_grant\",\n        GranteePrincipal = userId,\n        Operations = new[]\n        {\n            \"describe-key\",\n            \"create-datakey\",\n            \"encrypt-datakey\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewKmsGrantV1(ctx, \"grant_1\", \u0026opentelekomcloud.KmsGrantV1Args{\n\t\t\tKeyId:            pulumi.Any(kmsId),\n\t\t\tName:             pulumi.String(\"my_grant\"),\n\t\t\tGranteePrincipal: pulumi.Any(userId),\n\t\t\tOperations: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"describe-key\"),\n\t\t\t\tpulumi.String(\"create-datakey\"),\n\t\t\t\tpulumi.String(\"encrypt-datakey\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.KmsGrantV1;\nimport com.pulumi.opentelekomcloud.KmsGrantV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var grant1 = new KmsGrantV1(\"grant1\", KmsGrantV1Args.builder()\n            .keyId(kmsId)\n            .name(\"my_grant\")\n            .granteePrincipal(userId)\n            .operations(            \n                \"describe-key\",\n                \"create-datakey\",\n                \"encrypt-datakey\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  grant1:\n    type: opentelekomcloud:KmsGrantV1\n    name: grant_1\n    properties:\n      keyId: ${kmsId}\n      name: my_grant\n      granteePrincipal: ${userId}\n      operations:\n        - describe-key\n        - create-datakey\n        - encrypt-datakey\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nKMS Grants can be imported using the `key_id/grant_id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/kmsGrantV1:KmsGrantV1 grant_1 4779ab1c-7c1a-44b1-a02e-93dfc361b32d/7056d636-ac60-4663-8a6c-82d3c32c1c64\n```\n\n","properties":{"creationDate":{"type":"string","description":"Creation time. The value is a timestamp expressed in the number of\nseconds since 00:00:00 UTC on January 1, 1970.\n"},"granteePrincipal":{"type":"string","description":"Indicates the ID of the authorized user.\nChanging this creates new grant.\n"},"issuingPrincipal":{"type":"string","description":"Indicates the ID of the user who created the grant.\n"},"keyId":{"type":"string","description":"Indicates the ID of the KMS. Changing this creates new grant.\n"},"kmsGrantV1Id":{"type":"string"},"name":{"type":"string","description":"Name of a grant which can be 1 to 255 characters in length\nand matches the regular expression `^[a-zA-Z0-9:/_-]{1,255}$`.\nChanging this creates new grant.\n"},"operations":{"type":"array","items":{"type":"string"},"description":"Permissions that can be granted.\nThe valid values are: `create-datakey`, `create-datakey-without-plaintext`,\n`encrypt-datakey`, `decrypt-datakey`, `describe-key`, `create-grant`, `retire-grant`.\nChanging this creates new grant.\n"},"retiringPrincipal":{"type":"string","description":"Indicates the ID of the retiring user.\nChanging this creates new grant.\n"}},"type":"object","required":["creationDate","granteePrincipal","issuingPrincipal","keyId","kmsGrantV1Id","name"],"inputProperties":{"granteePrincipal":{"type":"string","description":"Indicates the ID of the authorized user.\nChanging this creates new grant.\n"},"keyId":{"type":"string","description":"Indicates the ID of the KMS. Changing this creates new grant.\n"},"kmsGrantV1Id":{"type":"string"},"name":{"type":"string","description":"Name of a grant which can be 1 to 255 characters in length\nand matches the regular expression `^[a-zA-Z0-9:/_-]{1,255}$`.\nChanging this creates new grant.\n"},"operations":{"type":"array","items":{"type":"string"},"description":"Permissions that can be granted.\nThe valid values are: `create-datakey`, `create-datakey-without-plaintext`,\n`encrypt-datakey`, `decrypt-datakey`, `describe-key`, `create-grant`, `retire-grant`.\nChanging this creates new grant.\n"},"retiringPrincipal":{"type":"string","description":"Indicates the ID of the retiring user.\nChanging this creates new grant.\n"}},"requiredInputs":["granteePrincipal","keyId"],"stateInputs":{"description":"Input properties used for looking up and filtering KmsGrantV1 resources.\n","properties":{"creationDate":{"type":"string","description":"Creation time. The value is a timestamp expressed in the number of\nseconds since 00:00:00 UTC on January 1, 1970.\n"},"granteePrincipal":{"type":"string","description":"Indicates the ID of the authorized user.\nChanging this creates new grant.\n"},"issuingPrincipal":{"type":"string","description":"Indicates the ID of the user who created the grant.\n"},"keyId":{"type":"string","description":"Indicates the ID of the KMS. Changing this creates new grant.\n"},"kmsGrantV1Id":{"type":"string"},"name":{"type":"string","description":"Name of a grant which can be 1 to 255 characters in length\nand matches the regular expression `^[a-zA-Z0-9:/_-]{1,255}$`.\nChanging this creates new grant.\n"},"operations":{"type":"array","items":{"type":"string"},"description":"Permissions that can be granted.\nThe valid values are: `create-datakey`, `create-datakey-without-plaintext`,\n`encrypt-datakey`, `decrypt-datakey`, `describe-key`, `create-grant`, `retire-grant`.\nChanging this creates new grant.\n"},"retiringPrincipal":{"type":"string","description":"Indicates the ID of the retiring user.\nChanging this creates new grant.\n"}},"type":"object"}},"opentelekomcloud:index/kmsKeyMaterialV1:KmsKeyMaterialV1":{"description":"Up-to-date reference of API arguments for KMS Key Material you can get at\n[documentation portal](https://docs.otc.t-systems.com/key-management-service/api-ref/apis/cmk_management/importing_cmk_material.html)\n\nManages a KMS key material resource within OpenTelekomCloud.\n\n\u003e NOTE: Please confirm that the state of the imported key is pending import.\n\n## Example Usage\n\n### Basic usage\n\nvariable \u003cspan pulumi-lang-nodejs=\"\"keyId\"\" pulumi-lang-dotnet=\"\"KeyId\"\" pulumi-lang-go=\"\"keyId\"\" pulumi-lang-python=\"\"key_id\"\" pulumi-lang-yaml=\"\"keyId\"\" pulumi-lang-java=\"\"keyId\"\"\u003e\"key_id\"\u003c/span\u003e {}\nvariable \u003cspan pulumi-lang-nodejs=\"\"importToken\"\" pulumi-lang-dotnet=\"\"ImportToken\"\" pulumi-lang-go=\"\"importToken\"\" pulumi-lang-python=\"\"import_token\"\" pulumi-lang-yaml=\"\"importToken\"\" pulumi-lang-java=\"\"importToken\"\"\u003e\"import_token\"\u003c/span\u003e {}\nvariable \u003cspan pulumi-lang-nodejs=\"\"encryptedKeyMaterial\"\" pulumi-lang-dotnet=\"\"EncryptedKeyMaterial\"\" pulumi-lang-go=\"\"encryptedKeyMaterial\"\" pulumi-lang-python=\"\"encrypted_key_material\"\" pulumi-lang-yaml=\"\"encryptedKeyMaterial\"\" pulumi-lang-java=\"\"encryptedKeyMaterial\"\"\u003e\"encrypted_key_material\"\u003c/span\u003e {}\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst test = new opentelekomcloud.KmsKeyMaterialV1(\"test\", {\n    keyId: keyId,\n    importToken: importToken,\n    encryptedKeyMaterial: encryptedKeyMaterial,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ntest = opentelekomcloud.KmsKeyMaterialV1(\"test\",\n    key_id=key_id,\n    import_token=import_token,\n    encrypted_key_material=encrypted_key_material)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = new Opentelekomcloud.KmsKeyMaterialV1(\"test\", new()\n    {\n        KeyId = keyId,\n        ImportToken = importToken,\n        EncryptedKeyMaterial = encryptedKeyMaterial,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewKmsKeyMaterialV1(ctx, \"test\", \u0026opentelekomcloud.KmsKeyMaterialV1Args{\n\t\t\tKeyId:                pulumi.Any(keyId),\n\t\t\tImportToken:          pulumi.Any(importToken),\n\t\t\tEncryptedKeyMaterial: pulumi.Any(encryptedKeyMaterial),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.KmsKeyMaterialV1;\nimport com.pulumi.opentelekomcloud.KmsKeyMaterialV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test = new KmsKeyMaterialV1(\"test\", KmsKeyMaterialV1Args.builder()\n            .keyId(keyId)\n            .importToken(importToken)\n            .encryptedKeyMaterial(encryptedKeyMaterial)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test:\n    type: opentelekomcloud:KmsKeyMaterialV1\n    properties:\n      keyId: ${keyId}\n      importToken: ${importToken}\n      encryptedKeyMaterial: ${encryptedKeyMaterial}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe KMS key material can be imported using `id`, e.g.\n\nbash\n\n```sh\n$ pulumi import opentelekomcloud:index/kmsKeyMaterialV1:KmsKeyMaterialV1 test 7056d636-ac60-4663-8a6c-82d3c32c1c64\n```\n\nNote that the imported state may not be identical to your resource definition,\n\ndue to `import_token`, `encrypted_key_material` and `encrypted_privatekey` are missing from the API response.\n\nIt is generally recommended running `pulumi preview` after importing a KMS key material.\n\nYou can then decide if changes should be applied to the KMS key material, or the resource\n\ndefinition should be updated to align with the KMS key material. Also you can ignore changes as below.\n\nhcl\n\nresource \"opentelekomcloud_kms_key_material_v1\" \"test\" {\n\n  lifecycle {\n\n    ignore_changes = [import_token, encrypted_key_material, encrypted_privatekey]\n\n  }\n\n}\n\n","properties":{"encryptedKeyMaterial":{"type":"string","description":"Specifies the encrypted symmetric key material in Base64 format.\nThe value contains \u003cspan pulumi-lang-nodejs=\"`344`\" pulumi-lang-dotnet=\"`344`\" pulumi-lang-go=\"`344`\" pulumi-lang-python=\"`344`\" pulumi-lang-yaml=\"`344`\" pulumi-lang-java=\"`344`\"\u003e`344`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`360`\" pulumi-lang-dotnet=\"`360`\" pulumi-lang-go=\"`360`\" pulumi-lang-python=\"`360`\" pulumi-lang-yaml=\"`360`\" pulumi-lang-java=\"`360`\"\u003e`360`\u003c/span\u003e characters, including letters, digits, slashes(/) and equals(=).\nIf an asymmetric key is imported, this parameter is a temporary intermediate key used to encrypt the private key.\nThis value is obtained refer to\n[documentation](https://docs.otc.t-systems.com/key-management-service/umn/user_guide/key_management/creating_cmks_using_imported_key_material/importing_a_key_material.html).\n"},"expirationTime":{"type":"string","description":"Specifies the expiration time of the key material.\nThis field is only valid for symmetric keys. The time is in the format of timestamp, that is, the\noffset seconds from 1970-01-01 00:00:00 UTC to the specified time.\nThe time must be greater than the current time.\n"},"importToken":{"type":"string","description":"Specifies the key import token in Base64 format.\nThe value contains \u003cspan pulumi-lang-nodejs=\"`200`\" pulumi-lang-dotnet=\"`200`\" pulumi-lang-go=\"`200`\" pulumi-lang-python=\"`200`\" pulumi-lang-yaml=\"`200`\" pulumi-lang-java=\"`200`\"\u003e`200`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`6144`\" pulumi-lang-dotnet=\"`6144`\" pulumi-lang-go=\"`6144`\" pulumi-lang-python=\"`6144`\" pulumi-lang-yaml=\"`6144`\" pulumi-lang-java=\"`6144`\"\u003e`6144`\u003c/span\u003e characters, including letters, digits, slashes(/) and equals(=). This value is\nobtained through the interface [Obtaining Key Import Parameters](https://docs.otc.t-systems.com/key-management-service/api-ref/apis/cmk_management/obtaining_cmk_import_parameters.html)\nor by using `data_source/kms_key_material_parameters_v1`.\n"},"keyId":{"type":"string","description":"Specifies the ID of the KMS key.\nChanging this creates a new resource.\n"},"keyState":{"type":"string","description":"The status of the kms key. The valid values are as follows:\n**1**: To be activated\n**2**: Enabled.\n**3**: Disabled.\n**4**: Pending deletion.\n**5**: Pending import.\n"},"kmsKeyMaterialV1Id":{"type":"string","description":"The resource ID which equals the \u003cspan pulumi-lang-nodejs=\"`keyId`\" pulumi-lang-dotnet=\"`KeyId`\" pulumi-lang-go=\"`keyId`\" pulumi-lang-python=\"`key_id`\" pulumi-lang-yaml=\"`keyId`\" pulumi-lang-java=\"`keyId`\"\u003e`key_id`\u003c/span\u003e.\n"},"region":{"type":"string","description":"The region in which KMS key is created.\n"}},"type":"object","required":["encryptedKeyMaterial","expirationTime","importToken","keyId","keyState","kmsKeyMaterialV1Id","region"],"inputProperties":{"encryptedKeyMaterial":{"type":"string","description":"Specifies the encrypted symmetric key material in Base64 format.\nThe value contains \u003cspan pulumi-lang-nodejs=\"`344`\" pulumi-lang-dotnet=\"`344`\" pulumi-lang-go=\"`344`\" pulumi-lang-python=\"`344`\" pulumi-lang-yaml=\"`344`\" pulumi-lang-java=\"`344`\"\u003e`344`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`360`\" pulumi-lang-dotnet=\"`360`\" pulumi-lang-go=\"`360`\" pulumi-lang-python=\"`360`\" pulumi-lang-yaml=\"`360`\" pulumi-lang-java=\"`360`\"\u003e`360`\u003c/span\u003e characters, including letters, digits, slashes(/) and equals(=).\nIf an asymmetric key is imported, this parameter is a temporary intermediate key used to encrypt the private key.\nThis value is obtained refer to\n[documentation](https://docs.otc.t-systems.com/key-management-service/umn/user_guide/key_management/creating_cmks_using_imported_key_material/importing_a_key_material.html).\n"},"expirationTime":{"type":"string","description":"Specifies the expiration time of the key material.\nThis field is only valid for symmetric keys. The time is in the format of timestamp, that is, the\noffset seconds from 1970-01-01 00:00:00 UTC to the specified time.\nThe time must be greater than the current time.\n"},"importToken":{"type":"string","description":"Specifies the key import token in Base64 format.\nThe value contains \u003cspan pulumi-lang-nodejs=\"`200`\" pulumi-lang-dotnet=\"`200`\" pulumi-lang-go=\"`200`\" pulumi-lang-python=\"`200`\" pulumi-lang-yaml=\"`200`\" pulumi-lang-java=\"`200`\"\u003e`200`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`6144`\" pulumi-lang-dotnet=\"`6144`\" pulumi-lang-go=\"`6144`\" pulumi-lang-python=\"`6144`\" pulumi-lang-yaml=\"`6144`\" pulumi-lang-java=\"`6144`\"\u003e`6144`\u003c/span\u003e characters, including letters, digits, slashes(/) and equals(=). This value is\nobtained through the interface [Obtaining Key Import Parameters](https://docs.otc.t-systems.com/key-management-service/api-ref/apis/cmk_management/obtaining_cmk_import_parameters.html)\nor by using `data_source/kms_key_material_parameters_v1`.\n"},"keyId":{"type":"string","description":"Specifies the ID of the KMS key.\nChanging this creates a new resource.\n"},"kmsKeyMaterialV1Id":{"type":"string","description":"The resource ID which equals the \u003cspan pulumi-lang-nodejs=\"`keyId`\" pulumi-lang-dotnet=\"`KeyId`\" pulumi-lang-go=\"`keyId`\" pulumi-lang-python=\"`key_id`\" pulumi-lang-yaml=\"`keyId`\" pulumi-lang-java=\"`keyId`\"\u003e`key_id`\u003c/span\u003e.\n"}},"requiredInputs":["encryptedKeyMaterial","importToken","keyId"],"stateInputs":{"description":"Input properties used for looking up and filtering KmsKeyMaterialV1 resources.\n","properties":{"encryptedKeyMaterial":{"type":"string","description":"Specifies the encrypted symmetric key material in Base64 format.\nThe value contains \u003cspan pulumi-lang-nodejs=\"`344`\" pulumi-lang-dotnet=\"`344`\" pulumi-lang-go=\"`344`\" pulumi-lang-python=\"`344`\" pulumi-lang-yaml=\"`344`\" pulumi-lang-java=\"`344`\"\u003e`344`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`360`\" pulumi-lang-dotnet=\"`360`\" pulumi-lang-go=\"`360`\" pulumi-lang-python=\"`360`\" pulumi-lang-yaml=\"`360`\" pulumi-lang-java=\"`360`\"\u003e`360`\u003c/span\u003e characters, including letters, digits, slashes(/) and equals(=).\nIf an asymmetric key is imported, this parameter is a temporary intermediate key used to encrypt the private key.\nThis value is obtained refer to\n[documentation](https://docs.otc.t-systems.com/key-management-service/umn/user_guide/key_management/creating_cmks_using_imported_key_material/importing_a_key_material.html).\n"},"expirationTime":{"type":"string","description":"Specifies the expiration time of the key material.\nThis field is only valid for symmetric keys. The time is in the format of timestamp, that is, the\noffset seconds from 1970-01-01 00:00:00 UTC to the specified time.\nThe time must be greater than the current time.\n"},"importToken":{"type":"string","description":"Specifies the key import token in Base64 format.\nThe value contains \u003cspan pulumi-lang-nodejs=\"`200`\" pulumi-lang-dotnet=\"`200`\" pulumi-lang-go=\"`200`\" pulumi-lang-python=\"`200`\" pulumi-lang-yaml=\"`200`\" pulumi-lang-java=\"`200`\"\u003e`200`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`6144`\" pulumi-lang-dotnet=\"`6144`\" pulumi-lang-go=\"`6144`\" pulumi-lang-python=\"`6144`\" pulumi-lang-yaml=\"`6144`\" pulumi-lang-java=\"`6144`\"\u003e`6144`\u003c/span\u003e characters, including letters, digits, slashes(/) and equals(=). This value is\nobtained through the interface [Obtaining Key Import Parameters](https://docs.otc.t-systems.com/key-management-service/api-ref/apis/cmk_management/obtaining_cmk_import_parameters.html)\nor by using `data_source/kms_key_material_parameters_v1`.\n"},"keyId":{"type":"string","description":"Specifies the ID of the KMS key.\nChanging this creates a new resource.\n"},"keyState":{"type":"string","description":"The status of the kms key. The valid values are as follows:\n**1**: To be activated\n**2**: Enabled.\n**3**: Disabled.\n**4**: Pending deletion.\n**5**: Pending import.\n"},"kmsKeyMaterialV1Id":{"type":"string","description":"The resource ID which equals the \u003cspan pulumi-lang-nodejs=\"`keyId`\" pulumi-lang-dotnet=\"`KeyId`\" pulumi-lang-go=\"`keyId`\" pulumi-lang-python=\"`key_id`\" pulumi-lang-yaml=\"`keyId`\" pulumi-lang-java=\"`keyId`\"\u003e`key_id`\u003c/span\u003e.\n"},"region":{"type":"string","description":"The region in which KMS key is created.\n"}},"type":"object"}},"opentelekomcloud:index/kmsKeyV1:KmsKeyV1":{"description":"Up-to-date reference of API arguments for KMS key you can get at\n[documentation portal](https://docs.otc.t-systems.com/key-management-service/api-ref/apis)\n\nManages a V1 KMS key resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst key1 = new opentelekomcloud.KmsKeyV1(\"key_1\", {\n    keyAlias: \"key_1\",\n    pendingDays: \"7\",\n    keyDescription: \"first test key\",\n    realm: \"eu-de-01\",\n    isEnabled: true,\n    tags: {\n        muh: \"kuh\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nkey1 = opentelekomcloud.KmsKeyV1(\"key_1\",\n    key_alias=\"key_1\",\n    pending_days=\"7\",\n    key_description=\"first test key\",\n    realm=\"eu-de-01\",\n    is_enabled=True,\n    tags={\n        \"muh\": \"kuh\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var key1 = new Opentelekomcloud.KmsKeyV1(\"key_1\", new()\n    {\n        KeyAlias = \"key_1\",\n        PendingDays = \"7\",\n        KeyDescription = \"first test key\",\n        Realm = \"eu-de-01\",\n        IsEnabled = true,\n        Tags = \n        {\n            { \"muh\", \"kuh\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewKmsKeyV1(ctx, \"key_1\", \u0026opentelekomcloud.KmsKeyV1Args{\n\t\t\tKeyAlias:       pulumi.String(\"key_1\"),\n\t\t\tPendingDays:    pulumi.String(\"7\"),\n\t\t\tKeyDescription: pulumi.String(\"first test key\"),\n\t\t\tRealm:          pulumi.String(\"eu-de-01\"),\n\t\t\tIsEnabled:      pulumi.Bool(true),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"muh\": pulumi.String(\"kuh\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.KmsKeyV1;\nimport com.pulumi.opentelekomcloud.KmsKeyV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var key1 = new KmsKeyV1(\"key1\", KmsKeyV1Args.builder()\n            .keyAlias(\"key_1\")\n            .pendingDays(\"7\")\n            .keyDescription(\"first test key\")\n            .realm(\"eu-de-01\")\n            .isEnabled(true)\n            .tags(Map.of(\"muh\", \"kuh\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  key1:\n    type: opentelekomcloud:KmsKeyV1\n    name: key_1\n    properties:\n      keyAlias: key_1\n      pendingDays: '7'\n      keyDescription: first test key\n      realm: eu-de-01\n      isEnabled: true\n      tags:\n        muh: kuh\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nKMS Keys can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/kmsKeyV1:KmsKeyV1 key_1 7056d636-ac60-4663-8a6c-82d3c32c1c64\n```\n\n","properties":{"allowCancelDeletion":{"type":"boolean","description":"Specifies whether the key is enabled from Pending Deletion state. The value \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e indicates\nthat the key state Pending Deletion will be cancelled.\n"},"creationDate":{"type":"string","description":"Creation time (time stamp) of a key.\n"},"defaultKeyFlag":{"type":"string","description":"Identification of a Master Key. The value \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e indicates a Default\nMaster Key, and the value \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e indicates a key.\n"},"domainId":{"type":"string","description":"ID of a user domain for the key.\n"},"expirationTime":{"type":"string","description":"Expiration time.\n"},"isEnabled":{"type":"boolean","description":"Specifies whether the KMS key is enabled.\nThe default value is **true**.\nThis parameter is not supported when creating an external import key for the first time.\n"},"keyAlias":{"type":"string","description":"The alias in which to create the key. It is required when\nwe create a new key. Changing this updates the alias of key.\n"},"keyDescription":{"type":"string","description":"The description of the key as viewed in OpenTelekomCloud console.\nChanging this updates the description of key.\n"},"keyState":{"type":"string","description":"The current status of the KMS key.\nThe valid values are as follows:\n+ **1**: To be activated.\n+ **2**: Enabled.\n+ **3**: Disabled.\n+ **4**: Pending deletion.\n+ **5**: Pending import.\n"},"kmsKeyV1Id":{"type":"string","description":"The globally unique identifier for the key.\n"},"origin":{"type":"string","description":"Specifies the source of the KMS key.\nChanging this parameter will create a new resource.\nThe default value is **kms**. The valid values are as follows:\n+ **kms**: The key is generated by KMS.\n+ **external**: The key is external imported.\n"},"pendingDays":{"type":"string","description":"Duration in days after which the key is deleted\nafter destruction of the resource, must be between 7 and 1096 days. Defaults to 7.\nIt only is used when delete a key.\n"},"realm":{"type":"string","description":"Region where a key resides. Changing this creates a new key.\n"},"rotationEnabled":{"type":"boolean","description":"Specifies whether the key is enabled for rotation.\n"},"rotationInterval":{"type":"number","description":"Rotation interval. The value is an integer ranging from 30 to 365.\nSet the interval based on how often a CMK is used.\nIf it is frequently used, set a short interval; otherwise, set a long one.\n"},"rotationNumber":{"type":"number","description":"Number of key rotations.\n"},"scheduledDeletionDate":{"type":"string","description":"Scheduled deletion time (time stamp) of a key.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags key/value pairs to associate with the AutoScaling Group.\n"}},"type":"object","required":["creationDate","defaultKeyFlag","domainId","expirationTime","keyAlias","keyState","kmsKeyV1Id","origin","realm","rotationInterval","rotationNumber","scheduledDeletionDate"],"inputProperties":{"allowCancelDeletion":{"type":"boolean","description":"Specifies whether the key is enabled from Pending Deletion state. The value \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e indicates\nthat the key state Pending Deletion will be cancelled.\n"},"isEnabled":{"type":"boolean","description":"Specifies whether the KMS key is enabled.\nThe default value is **true**.\nThis parameter is not supported when creating an external import key for the first time.\n"},"keyAlias":{"type":"string","description":"The alias in which to create the key. It is required when\nwe create a new key. Changing this updates the alias of key.\n"},"keyDescription":{"type":"string","description":"The description of the key as viewed in OpenTelekomCloud console.\nChanging this updates the description of key.\n"},"kmsKeyV1Id":{"type":"string","description":"The globally unique identifier for the key.\n"},"origin":{"type":"string","description":"Specifies the source of the KMS key.\nChanging this parameter will create a new resource.\nThe default value is **kms**. The valid values are as follows:\n+ **kms**: The key is generated by KMS.\n+ **external**: The key is external imported.\n"},"pendingDays":{"type":"string","description":"Duration in days after which the key is deleted\nafter destruction of the resource, must be between 7 and 1096 days. Defaults to 7.\nIt only is used when delete a key.\n"},"realm":{"type":"string","description":"Region where a key resides. Changing this creates a new key.\n"},"rotationEnabled":{"type":"boolean","description":"Specifies whether the key is enabled for rotation.\n"},"rotationInterval":{"type":"number","description":"Rotation interval. The value is an integer ranging from 30 to 365.\nSet the interval based on how often a CMK is used.\nIf it is frequently used, set a short interval; otherwise, set a long one.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags key/value pairs to associate with the AutoScaling Group.\n"}},"requiredInputs":["keyAlias"],"stateInputs":{"description":"Input properties used for looking up and filtering KmsKeyV1 resources.\n","properties":{"allowCancelDeletion":{"type":"boolean","description":"Specifies whether the key is enabled from Pending Deletion state. The value \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e indicates\nthat the key state Pending Deletion will be cancelled.\n"},"creationDate":{"type":"string","description":"Creation time (time stamp) of a key.\n"},"defaultKeyFlag":{"type":"string","description":"Identification of a Master Key. The value \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e indicates a Default\nMaster Key, and the value \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e indicates a key.\n"},"domainId":{"type":"string","description":"ID of a user domain for the key.\n"},"expirationTime":{"type":"string","description":"Expiration time.\n"},"isEnabled":{"type":"boolean","description":"Specifies whether the KMS key is enabled.\nThe default value is **true**.\nThis parameter is not supported when creating an external import key for the first time.\n"},"keyAlias":{"type":"string","description":"The alias in which to create the key. It is required when\nwe create a new key. Changing this updates the alias of key.\n"},"keyDescription":{"type":"string","description":"The description of the key as viewed in OpenTelekomCloud console.\nChanging this updates the description of key.\n"},"keyState":{"type":"string","description":"The current status of the KMS key.\nThe valid values are as follows:\n+ **1**: To be activated.\n+ **2**: Enabled.\n+ **3**: Disabled.\n+ **4**: Pending deletion.\n+ **5**: Pending import.\n"},"kmsKeyV1Id":{"type":"string","description":"The globally unique identifier for the key.\n"},"origin":{"type":"string","description":"Specifies the source of the KMS key.\nChanging this parameter will create a new resource.\nThe default value is **kms**. The valid values are as follows:\n+ **kms**: The key is generated by KMS.\n+ **external**: The key is external imported.\n"},"pendingDays":{"type":"string","description":"Duration in days after which the key is deleted\nafter destruction of the resource, must be between 7 and 1096 days. Defaults to 7.\nIt only is used when delete a key.\n"},"realm":{"type":"string","description":"Region where a key resides. Changing this creates a new key.\n"},"rotationEnabled":{"type":"boolean","description":"Specifies whether the key is enabled for rotation.\n"},"rotationInterval":{"type":"number","description":"Rotation interval. The value is an integer ranging from 30 to 365.\nSet the interval based on how often a CMK is used.\nIf it is frequently used, set a short interval; otherwise, set a long one.\n"},"rotationNumber":{"type":"number","description":"Number of key rotations.\n"},"scheduledDeletionDate":{"type":"string","description":"Scheduled deletion time (time stamp) of a key.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags key/value pairs to associate with the AutoScaling Group.\n"}},"type":"object"}},"opentelekomcloud:index/lbCertificateV2:LbCertificateV2":{"description":"Up-to-date reference of API arguments for ELB certificate you can get at\n[documentation portal](https://docs.otc.t-systems.com/elastic-load-balancing/api-ref/apis_v2.0/certificate)\n\nManages a V2 certificate resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst certificate1 = new opentelekomcloud.LbCertificateV2(\"certificate_1\", {\n    name: \"certificate_1\",\n    description: \"terraform test certificate\",\n    domain: \"www.elb.com\",\n    privateKey: `-----BEGIN RSA PRIVATE KEY-----\nMIIEowIBAAKCAQEAwZ5UJULAjWr7p6FVwGRQRjFN2s8tZ/6LC3X82fajpVsYqF1x\nqEuUDndDXVD09E4u83MS6HO6a3bIVQDp6/klnYldiE6Vp8HH5BSKaCWKVg8lGWg1\nUM9wZFnlryi14KgmpIFmcu9nA8yV/6MZAe6RSDmb3iyNBmiZ8aZhGw2pI1YwR+15\nMVqFFGB+7ExkziROi7L8CFCyCezK2/oOOvQsH1dzQ8z1JXWdg8/9Zx7Ktvgwu5PQ\nM3cJtSHX6iBPOkMU8Z8TugLlTqQXKZOEgwajwvQ5mf2DPkVgM08XAgaLJcLigwD5\n13koAdtJd5v+9irw+5LAuO3JclqwTvwy7u/YwwIDAQABAoIBACU9S5fjD9/jTMXA\nDRs08A+gGgZUxLn0xk+NAPX3LyB1tfdkCaFB8BccLzO6h3KZuwQOBPv6jkdvEDbx\nNwyw3eA/9GJsIvKiHc0rejdvyPymaw9I8MA7NbXHaJrY7KpqDQyk6sx+aUTcy5jg\niMXLWdwXYHhJ/1HVOo603oZyiS6HZeYU089NDUcX+1SJi3e5Ke0gPVXEqCq1O11/\nrh24bMxnwZo4PKBWdcMBN5Zf/4ij9vrZE+fFzW7vGBO48A5lvZxWU2U5t/OZQRtN\n1uLOHmMFa0FIF2aWbTVfwdUWAFsvAOkHj9VV8BXOUwKOUuEktdkfAlvrxmsFrO/H\nyDeYYPkCgYEA/S55CBbR0sMXpSZ56uRn8JHApZJhgkgvYr+FqDlJq/e92nAzf01P\nRoEBUajwrnf1ycevN/SDfbtWzq2XJGqhWdJmtpO16b7KBsC6BdRcH6dnOYh31jgA\nvABMIP3wzI4zSVTyxRE8LDuboytF1mSCeV5tHYPQTZNwrplDnLQhywcCgYEAw8Yc\nUk/eiFr3hfH/ZohMfV5p82Qp7DNIGRzw8YtVG/3+vNXrAXW1VhugNhQY6L+zLtJC\naKn84ooup0m3YCg0hvINqJuvzfsuzQgtjTXyaE0cEwsjUusOmiuj09vVx/3U7siK\nHdjd2ICPCvQ6Q8tdi8jV320gMs05AtaBkZdsiWUCgYEAtLw4Kk4f+xTKDFsrLUNf\n75wcqhWVBiwBp7yQ7UX4EYsJPKZcHMRTk0EEcAbpyaJZE3I44vjp5ReXIHNLMfPs\nuvI34J4Rfot0LN3n7cFrAi2+wpNo+MOBwrNzpRmijGP2uKKrq4JiMjFbKV/6utGF\nUp7VxfwS904JYpqGaZctiIECgYA1A6nZtF0riY6ry/uAdXpZHL8ONNqRZtWoT0kD\n79otSVu5ISiRbaGcXsDExC52oKrSDAgFtbqQUiEOFg09UcXfoR6HwRkba2CiDwve\nyHQLQI5Qrdxz8Mk0gIrNrSM4FAmcW9vi9z4kCbQyoC5C+4gqeUlJRpDIkQBWP2Y4\n2ct/bQKBgHv8qCsQTZphOxc31BJPa2xVhuv18cEU3XLUrVfUZ/1f43JhLp7gynS2\nep++LKUi9D0VGXY8bqvfJjbECoCeu85vl8NpCXwe/LoVoIn+7KaVIZMwqoGMfgNl\nnEqm7HWkNxHhf8A6En/IjleuddS1sf9e/x+TJN1Xhnt9W6pe7Fk1\n-----END RSA PRIVATE KEY-----\n`,\n    certificate: `-----BEGIN CERTIFICATE-----\nMIIDpTCCAo2gAwIBAgIJAKdmmOBYnFvoMA0GCSqGSIb3DQEBCwUAMGkxCzAJBgNV\nBAYTAnh4MQswCQYDVQQIDAJ4eDELMAkGA1UEBwwCeHgxCzAJBgNVBAoMAnh4MQsw\nCQYDVQQLDAJ4eDELMAkGA1UEAwwCeHgxGTAXBgkqhkiG9w0BCQEWCnh4QDE2My5j\nb20wHhcNMTcxMjA0MDM0MjQ5WhcNMjAxMjAzMDM0MjQ5WjBpMQswCQYDVQQGEwJ4\neDELMAkGA1UECAwCeHgxCzAJBgNVBAcMAnh4MQswCQYDVQQKDAJ4eDELMAkGA1UE\nCwwCeHgxCzAJBgNVBAMMAnh4MRkwFwYJKoZIhvcNAQkBFgp4eEAxNjMuY29tMIIB\nIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwZ5UJULAjWr7p6FVwGRQRjFN\n2s8tZ/6LC3X82fajpVsYqF1xqEuUDndDXVD09E4u83MS6HO6a3bIVQDp6/klnYld\niE6Vp8HH5BSKaCWKVg8lGWg1UM9wZFnlryi14KgmpIFmcu9nA8yV/6MZAe6RSDmb\n3iyNBmiZ8aZhGw2pI1YwR+15MVqFFGB+7ExkziROi7L8CFCyCezK2/oOOvQsH1dz\nQ8z1JXWdg8/9Zx7Ktvgwu5PQM3cJtSHX6iBPOkMU8Z8TugLlTqQXKZOEgwajwvQ5\nmf2DPkVgM08XAgaLJcLigwD513koAdtJd5v+9irw+5LAuO3JclqwTvwy7u/YwwID\nAQABo1AwTjAdBgNVHQ4EFgQUo5A2tIu+bcUfvGTD7wmEkhXKFjcwHwYDVR0jBBgw\nFoAUo5A2tIu+bcUfvGTD7wmEkhXKFjcwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0B\nAQsFAAOCAQEAWJ2rS6Mvlqk3GfEpboezx2J3X7l1z8Sxoqg6ntwB+rezvK3mc9H0\n83qcVeUcoH+0A0lSHyFN4FvRQL6X1hEheHarYwJK4agb231vb5erasuGO463eYEG\nr4SfTuOm7SyiV2xxbaBKrXJtpBp4WLL/s+LF+nklKjaOxkmxUX0sM4CTA7uFJypY\nc8Tdr8lDDNqoUtMD8BrUCJi+7lmMXRcC3Qi3oZJW76ja+kZA5mKVFPd1ATih8TbA\ni34R7EQDtFeiSvBdeKRsPp8c0KT8H1B4lXNkkCQs2WX5p4lm99+ZtLD4glw8x6Ic\ni1YhgnQbn5E0hz55OLu5jvOkKQjPCW+8Kg==\n-----END CERTIFICATE-----\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ncertificate1 = opentelekomcloud.LbCertificateV2(\"certificate_1\",\n    name=\"certificate_1\",\n    description=\"terraform test certificate\",\n    domain=\"www.elb.com\",\n    private_key=\"\"\"-----BEGIN RSA PRIVATE KEY-----\nMIIEowIBAAKCAQEAwZ5UJULAjWr7p6FVwGRQRjFN2s8tZ/6LC3X82fajpVsYqF1x\nqEuUDndDXVD09E4u83MS6HO6a3bIVQDp6/klnYldiE6Vp8HH5BSKaCWKVg8lGWg1\nUM9wZFnlryi14KgmpIFmcu9nA8yV/6MZAe6RSDmb3iyNBmiZ8aZhGw2pI1YwR+15\nMVqFFGB+7ExkziROi7L8CFCyCezK2/oOOvQsH1dzQ8z1JXWdg8/9Zx7Ktvgwu5PQ\nM3cJtSHX6iBPOkMU8Z8TugLlTqQXKZOEgwajwvQ5mf2DPkVgM08XAgaLJcLigwD5\n13koAdtJd5v+9irw+5LAuO3JclqwTvwy7u/YwwIDAQABAoIBACU9S5fjD9/jTMXA\nDRs08A+gGgZUxLn0xk+NAPX3LyB1tfdkCaFB8BccLzO6h3KZuwQOBPv6jkdvEDbx\nNwyw3eA/9GJsIvKiHc0rejdvyPymaw9I8MA7NbXHaJrY7KpqDQyk6sx+aUTcy5jg\niMXLWdwXYHhJ/1HVOo603oZyiS6HZeYU089NDUcX+1SJi3e5Ke0gPVXEqCq1O11/\nrh24bMxnwZo4PKBWdcMBN5Zf/4ij9vrZE+fFzW7vGBO48A5lvZxWU2U5t/OZQRtN\n1uLOHmMFa0FIF2aWbTVfwdUWAFsvAOkHj9VV8BXOUwKOUuEktdkfAlvrxmsFrO/H\nyDeYYPkCgYEA/S55CBbR0sMXpSZ56uRn8JHApZJhgkgvYr+FqDlJq/e92nAzf01P\nRoEBUajwrnf1ycevN/SDfbtWzq2XJGqhWdJmtpO16b7KBsC6BdRcH6dnOYh31jgA\nvABMIP3wzI4zSVTyxRE8LDuboytF1mSCeV5tHYPQTZNwrplDnLQhywcCgYEAw8Yc\nUk/eiFr3hfH/ZohMfV5p82Qp7DNIGRzw8YtVG/3+vNXrAXW1VhugNhQY6L+zLtJC\naKn84ooup0m3YCg0hvINqJuvzfsuzQgtjTXyaE0cEwsjUusOmiuj09vVx/3U7siK\nHdjd2ICPCvQ6Q8tdi8jV320gMs05AtaBkZdsiWUCgYEAtLw4Kk4f+xTKDFsrLUNf\n75wcqhWVBiwBp7yQ7UX4EYsJPKZcHMRTk0EEcAbpyaJZE3I44vjp5ReXIHNLMfPs\nuvI34J4Rfot0LN3n7cFrAi2+wpNo+MOBwrNzpRmijGP2uKKrq4JiMjFbKV/6utGF\nUp7VxfwS904JYpqGaZctiIECgYA1A6nZtF0riY6ry/uAdXpZHL8ONNqRZtWoT0kD\n79otSVu5ISiRbaGcXsDExC52oKrSDAgFtbqQUiEOFg09UcXfoR6HwRkba2CiDwve\nyHQLQI5Qrdxz8Mk0gIrNrSM4FAmcW9vi9z4kCbQyoC5C+4gqeUlJRpDIkQBWP2Y4\n2ct/bQKBgHv8qCsQTZphOxc31BJPa2xVhuv18cEU3XLUrVfUZ/1f43JhLp7gynS2\nep++LKUi9D0VGXY8bqvfJjbECoCeu85vl8NpCXwe/LoVoIn+7KaVIZMwqoGMfgNl\nnEqm7HWkNxHhf8A6En/IjleuddS1sf9e/x+TJN1Xhnt9W6pe7Fk1\n-----END RSA PRIVATE KEY-----\n\"\"\",\n    certificate=\"\"\"-----BEGIN CERTIFICATE-----\nMIIDpTCCAo2gAwIBAgIJAKdmmOBYnFvoMA0GCSqGSIb3DQEBCwUAMGkxCzAJBgNV\nBAYTAnh4MQswCQYDVQQIDAJ4eDELMAkGA1UEBwwCeHgxCzAJBgNVBAoMAnh4MQsw\nCQYDVQQLDAJ4eDELMAkGA1UEAwwCeHgxGTAXBgkqhkiG9w0BCQEWCnh4QDE2My5j\nb20wHhcNMTcxMjA0MDM0MjQ5WhcNMjAxMjAzMDM0MjQ5WjBpMQswCQYDVQQGEwJ4\neDELMAkGA1UECAwCeHgxCzAJBgNVBAcMAnh4MQswCQYDVQQKDAJ4eDELMAkGA1UE\nCwwCeHgxCzAJBgNVBAMMAnh4MRkwFwYJKoZIhvcNAQkBFgp4eEAxNjMuY29tMIIB\nIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwZ5UJULAjWr7p6FVwGRQRjFN\n2s8tZ/6LC3X82fajpVsYqF1xqEuUDndDXVD09E4u83MS6HO6a3bIVQDp6/klnYld\niE6Vp8HH5BSKaCWKVg8lGWg1UM9wZFnlryi14KgmpIFmcu9nA8yV/6MZAe6RSDmb\n3iyNBmiZ8aZhGw2pI1YwR+15MVqFFGB+7ExkziROi7L8CFCyCezK2/oOOvQsH1dz\nQ8z1JXWdg8/9Zx7Ktvgwu5PQM3cJtSHX6iBPOkMU8Z8TugLlTqQXKZOEgwajwvQ5\nmf2DPkVgM08XAgaLJcLigwD513koAdtJd5v+9irw+5LAuO3JclqwTvwy7u/YwwID\nAQABo1AwTjAdBgNVHQ4EFgQUo5A2tIu+bcUfvGTD7wmEkhXKFjcwHwYDVR0jBBgw\nFoAUo5A2tIu+bcUfvGTD7wmEkhXKFjcwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0B\nAQsFAAOCAQEAWJ2rS6Mvlqk3GfEpboezx2J3X7l1z8Sxoqg6ntwB+rezvK3mc9H0\n83qcVeUcoH+0A0lSHyFN4FvRQL6X1hEheHarYwJK4agb231vb5erasuGO463eYEG\nr4SfTuOm7SyiV2xxbaBKrXJtpBp4WLL/s+LF+nklKjaOxkmxUX0sM4CTA7uFJypY\nc8Tdr8lDDNqoUtMD8BrUCJi+7lmMXRcC3Qi3oZJW76ja+kZA5mKVFPd1ATih8TbA\ni34R7EQDtFeiSvBdeKRsPp8c0KT8H1B4lXNkkCQs2WX5p4lm99+ZtLD4glw8x6Ic\ni1YhgnQbn5E0hz55OLu5jvOkKQjPCW+8Kg==\n-----END CERTIFICATE-----\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var certificate1 = new Opentelekomcloud.LbCertificateV2(\"certificate_1\", new()\n    {\n        Name = \"certificate_1\",\n        Description = \"terraform test certificate\",\n        Domain = \"www.elb.com\",\n        PrivateKey = @\"-----BEGIN RSA PRIVATE KEY-----\nMIIEowIBAAKCAQEAwZ5UJULAjWr7p6FVwGRQRjFN2s8tZ/6LC3X82fajpVsYqF1x\nqEuUDndDXVD09E4u83MS6HO6a3bIVQDp6/klnYldiE6Vp8HH5BSKaCWKVg8lGWg1\nUM9wZFnlryi14KgmpIFmcu9nA8yV/6MZAe6RSDmb3iyNBmiZ8aZhGw2pI1YwR+15\nMVqFFGB+7ExkziROi7L8CFCyCezK2/oOOvQsH1dzQ8z1JXWdg8/9Zx7Ktvgwu5PQ\nM3cJtSHX6iBPOkMU8Z8TugLlTqQXKZOEgwajwvQ5mf2DPkVgM08XAgaLJcLigwD5\n13koAdtJd5v+9irw+5LAuO3JclqwTvwy7u/YwwIDAQABAoIBACU9S5fjD9/jTMXA\nDRs08A+gGgZUxLn0xk+NAPX3LyB1tfdkCaFB8BccLzO6h3KZuwQOBPv6jkdvEDbx\nNwyw3eA/9GJsIvKiHc0rejdvyPymaw9I8MA7NbXHaJrY7KpqDQyk6sx+aUTcy5jg\niMXLWdwXYHhJ/1HVOo603oZyiS6HZeYU089NDUcX+1SJi3e5Ke0gPVXEqCq1O11/\nrh24bMxnwZo4PKBWdcMBN5Zf/4ij9vrZE+fFzW7vGBO48A5lvZxWU2U5t/OZQRtN\n1uLOHmMFa0FIF2aWbTVfwdUWAFsvAOkHj9VV8BXOUwKOUuEktdkfAlvrxmsFrO/H\nyDeYYPkCgYEA/S55CBbR0sMXpSZ56uRn8JHApZJhgkgvYr+FqDlJq/e92nAzf01P\nRoEBUajwrnf1ycevN/SDfbtWzq2XJGqhWdJmtpO16b7KBsC6BdRcH6dnOYh31jgA\nvABMIP3wzI4zSVTyxRE8LDuboytF1mSCeV5tHYPQTZNwrplDnLQhywcCgYEAw8Yc\nUk/eiFr3hfH/ZohMfV5p82Qp7DNIGRzw8YtVG/3+vNXrAXW1VhugNhQY6L+zLtJC\naKn84ooup0m3YCg0hvINqJuvzfsuzQgtjTXyaE0cEwsjUusOmiuj09vVx/3U7siK\nHdjd2ICPCvQ6Q8tdi8jV320gMs05AtaBkZdsiWUCgYEAtLw4Kk4f+xTKDFsrLUNf\n75wcqhWVBiwBp7yQ7UX4EYsJPKZcHMRTk0EEcAbpyaJZE3I44vjp5ReXIHNLMfPs\nuvI34J4Rfot0LN3n7cFrAi2+wpNo+MOBwrNzpRmijGP2uKKrq4JiMjFbKV/6utGF\nUp7VxfwS904JYpqGaZctiIECgYA1A6nZtF0riY6ry/uAdXpZHL8ONNqRZtWoT0kD\n79otSVu5ISiRbaGcXsDExC52oKrSDAgFtbqQUiEOFg09UcXfoR6HwRkba2CiDwve\nyHQLQI5Qrdxz8Mk0gIrNrSM4FAmcW9vi9z4kCbQyoC5C+4gqeUlJRpDIkQBWP2Y4\n2ct/bQKBgHv8qCsQTZphOxc31BJPa2xVhuv18cEU3XLUrVfUZ/1f43JhLp7gynS2\nep++LKUi9D0VGXY8bqvfJjbECoCeu85vl8NpCXwe/LoVoIn+7KaVIZMwqoGMfgNl\nnEqm7HWkNxHhf8A6En/IjleuddS1sf9e/x+TJN1Xhnt9W6pe7Fk1\n-----END RSA PRIVATE KEY-----\n\",\n        Certificate = @\"-----BEGIN CERTIFICATE-----\nMIIDpTCCAo2gAwIBAgIJAKdmmOBYnFvoMA0GCSqGSIb3DQEBCwUAMGkxCzAJBgNV\nBAYTAnh4MQswCQYDVQQIDAJ4eDELMAkGA1UEBwwCeHgxCzAJBgNVBAoMAnh4MQsw\nCQYDVQQLDAJ4eDELMAkGA1UEAwwCeHgxGTAXBgkqhkiG9w0BCQEWCnh4QDE2My5j\nb20wHhcNMTcxMjA0MDM0MjQ5WhcNMjAxMjAzMDM0MjQ5WjBpMQswCQYDVQQGEwJ4\neDELMAkGA1UECAwCeHgxCzAJBgNVBAcMAnh4MQswCQYDVQQKDAJ4eDELMAkGA1UE\nCwwCeHgxCzAJBgNVBAMMAnh4MRkwFwYJKoZIhvcNAQkBFgp4eEAxNjMuY29tMIIB\nIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwZ5UJULAjWr7p6FVwGRQRjFN\n2s8tZ/6LC3X82fajpVsYqF1xqEuUDndDXVD09E4u83MS6HO6a3bIVQDp6/klnYld\niE6Vp8HH5BSKaCWKVg8lGWg1UM9wZFnlryi14KgmpIFmcu9nA8yV/6MZAe6RSDmb\n3iyNBmiZ8aZhGw2pI1YwR+15MVqFFGB+7ExkziROi7L8CFCyCezK2/oOOvQsH1dz\nQ8z1JXWdg8/9Zx7Ktvgwu5PQM3cJtSHX6iBPOkMU8Z8TugLlTqQXKZOEgwajwvQ5\nmf2DPkVgM08XAgaLJcLigwD513koAdtJd5v+9irw+5LAuO3JclqwTvwy7u/YwwID\nAQABo1AwTjAdBgNVHQ4EFgQUo5A2tIu+bcUfvGTD7wmEkhXKFjcwHwYDVR0jBBgw\nFoAUo5A2tIu+bcUfvGTD7wmEkhXKFjcwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0B\nAQsFAAOCAQEAWJ2rS6Mvlqk3GfEpboezx2J3X7l1z8Sxoqg6ntwB+rezvK3mc9H0\n83qcVeUcoH+0A0lSHyFN4FvRQL6X1hEheHarYwJK4agb231vb5erasuGO463eYEG\nr4SfTuOm7SyiV2xxbaBKrXJtpBp4WLL/s+LF+nklKjaOxkmxUX0sM4CTA7uFJypY\nc8Tdr8lDDNqoUtMD8BrUCJi+7lmMXRcC3Qi3oZJW76ja+kZA5mKVFPd1ATih8TbA\ni34R7EQDtFeiSvBdeKRsPp8c0KT8H1B4lXNkkCQs2WX5p4lm99+ZtLD4glw8x6Ic\ni1YhgnQbn5E0hz55OLu5jvOkKQjPCW+8Kg==\n-----END CERTIFICATE-----\n\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewLbCertificateV2(ctx, \"certificate_1\", \u0026opentelekomcloud.LbCertificateV2Args{\n\t\t\tName:        pulumi.String(\"certificate_1\"),\n\t\t\tDescription: pulumi.String(\"terraform test certificate\"),\n\t\t\tDomain:      pulumi.String(\"www.elb.com\"),\n\t\t\tPrivateKey: pulumi.String(`-----BEGIN RSA PRIVATE KEY-----\nMIIEowIBAAKCAQEAwZ5UJULAjWr7p6FVwGRQRjFN2s8tZ/6LC3X82fajpVsYqF1x\nqEuUDndDXVD09E4u83MS6HO6a3bIVQDp6/klnYldiE6Vp8HH5BSKaCWKVg8lGWg1\nUM9wZFnlryi14KgmpIFmcu9nA8yV/6MZAe6RSDmb3iyNBmiZ8aZhGw2pI1YwR+15\nMVqFFGB+7ExkziROi7L8CFCyCezK2/oOOvQsH1dzQ8z1JXWdg8/9Zx7Ktvgwu5PQ\nM3cJtSHX6iBPOkMU8Z8TugLlTqQXKZOEgwajwvQ5mf2DPkVgM08XAgaLJcLigwD5\n13koAdtJd5v+9irw+5LAuO3JclqwTvwy7u/YwwIDAQABAoIBACU9S5fjD9/jTMXA\nDRs08A+gGgZUxLn0xk+NAPX3LyB1tfdkCaFB8BccLzO6h3KZuwQOBPv6jkdvEDbx\nNwyw3eA/9GJsIvKiHc0rejdvyPymaw9I8MA7NbXHaJrY7KpqDQyk6sx+aUTcy5jg\niMXLWdwXYHhJ/1HVOo603oZyiS6HZeYU089NDUcX+1SJi3e5Ke0gPVXEqCq1O11/\nrh24bMxnwZo4PKBWdcMBN5Zf/4ij9vrZE+fFzW7vGBO48A5lvZxWU2U5t/OZQRtN\n1uLOHmMFa0FIF2aWbTVfwdUWAFsvAOkHj9VV8BXOUwKOUuEktdkfAlvrxmsFrO/H\nyDeYYPkCgYEA/S55CBbR0sMXpSZ56uRn8JHApZJhgkgvYr+FqDlJq/e92nAzf01P\nRoEBUajwrnf1ycevN/SDfbtWzq2XJGqhWdJmtpO16b7KBsC6BdRcH6dnOYh31jgA\nvABMIP3wzI4zSVTyxRE8LDuboytF1mSCeV5tHYPQTZNwrplDnLQhywcCgYEAw8Yc\nUk/eiFr3hfH/ZohMfV5p82Qp7DNIGRzw8YtVG/3+vNXrAXW1VhugNhQY6L+zLtJC\naKn84ooup0m3YCg0hvINqJuvzfsuzQgtjTXyaE0cEwsjUusOmiuj09vVx/3U7siK\nHdjd2ICPCvQ6Q8tdi8jV320gMs05AtaBkZdsiWUCgYEAtLw4Kk4f+xTKDFsrLUNf\n75wcqhWVBiwBp7yQ7UX4EYsJPKZcHMRTk0EEcAbpyaJZE3I44vjp5ReXIHNLMfPs\nuvI34J4Rfot0LN3n7cFrAi2+wpNo+MOBwrNzpRmijGP2uKKrq4JiMjFbKV/6utGF\nUp7VxfwS904JYpqGaZctiIECgYA1A6nZtF0riY6ry/uAdXpZHL8ONNqRZtWoT0kD\n79otSVu5ISiRbaGcXsDExC52oKrSDAgFtbqQUiEOFg09UcXfoR6HwRkba2CiDwve\nyHQLQI5Qrdxz8Mk0gIrNrSM4FAmcW9vi9z4kCbQyoC5C+4gqeUlJRpDIkQBWP2Y4\n2ct/bQKBgHv8qCsQTZphOxc31BJPa2xVhuv18cEU3XLUrVfUZ/1f43JhLp7gynS2\nep++LKUi9D0VGXY8bqvfJjbECoCeu85vl8NpCXwe/LoVoIn+7KaVIZMwqoGMfgNl\nnEqm7HWkNxHhf8A6En/IjleuddS1sf9e/x+TJN1Xhnt9W6pe7Fk1\n-----END RSA PRIVATE KEY-----\n`),\n\t\t\tCertificate: pulumi.String(`-----BEGIN CERTIFICATE-----\nMIIDpTCCAo2gAwIBAgIJAKdmmOBYnFvoMA0GCSqGSIb3DQEBCwUAMGkxCzAJBgNV\nBAYTAnh4MQswCQYDVQQIDAJ4eDELMAkGA1UEBwwCeHgxCzAJBgNVBAoMAnh4MQsw\nCQYDVQQLDAJ4eDELMAkGA1UEAwwCeHgxGTAXBgkqhkiG9w0BCQEWCnh4QDE2My5j\nb20wHhcNMTcxMjA0MDM0MjQ5WhcNMjAxMjAzMDM0MjQ5WjBpMQswCQYDVQQGEwJ4\neDELMAkGA1UECAwCeHgxCzAJBgNVBAcMAnh4MQswCQYDVQQKDAJ4eDELMAkGA1UE\nCwwCeHgxCzAJBgNVBAMMAnh4MRkwFwYJKoZIhvcNAQkBFgp4eEAxNjMuY29tMIIB\nIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwZ5UJULAjWr7p6FVwGRQRjFN\n2s8tZ/6LC3X82fajpVsYqF1xqEuUDndDXVD09E4u83MS6HO6a3bIVQDp6/klnYld\niE6Vp8HH5BSKaCWKVg8lGWg1UM9wZFnlryi14KgmpIFmcu9nA8yV/6MZAe6RSDmb\n3iyNBmiZ8aZhGw2pI1YwR+15MVqFFGB+7ExkziROi7L8CFCyCezK2/oOOvQsH1dz\nQ8z1JXWdg8/9Zx7Ktvgwu5PQM3cJtSHX6iBPOkMU8Z8TugLlTqQXKZOEgwajwvQ5\nmf2DPkVgM08XAgaLJcLigwD513koAdtJd5v+9irw+5LAuO3JclqwTvwy7u/YwwID\nAQABo1AwTjAdBgNVHQ4EFgQUo5A2tIu+bcUfvGTD7wmEkhXKFjcwHwYDVR0jBBgw\nFoAUo5A2tIu+bcUfvGTD7wmEkhXKFjcwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0B\nAQsFAAOCAQEAWJ2rS6Mvlqk3GfEpboezx2J3X7l1z8Sxoqg6ntwB+rezvK3mc9H0\n83qcVeUcoH+0A0lSHyFN4FvRQL6X1hEheHarYwJK4agb231vb5erasuGO463eYEG\nr4SfTuOm7SyiV2xxbaBKrXJtpBp4WLL/s+LF+nklKjaOxkmxUX0sM4CTA7uFJypY\nc8Tdr8lDDNqoUtMD8BrUCJi+7lmMXRcC3Qi3oZJW76ja+kZA5mKVFPd1ATih8TbA\ni34R7EQDtFeiSvBdeKRsPp8c0KT8H1B4lXNkkCQs2WX5p4lm99+ZtLD4glw8x6Ic\ni1YhgnQbn5E0hz55OLu5jvOkKQjPCW+8Kg==\n-----END CERTIFICATE-----\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.LbCertificateV2;\nimport com.pulumi.opentelekomcloud.LbCertificateV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var certificate1 = new LbCertificateV2(\"certificate1\", LbCertificateV2Args.builder()\n            .name(\"certificate_1\")\n            .description(\"terraform test certificate\")\n            .domain(\"www.elb.com\")\n            .privateKey(\"\"\"\n-----BEGIN RSA PRIVATE KEY-----\nMIIEowIBAAKCAQEAwZ5UJULAjWr7p6FVwGRQRjFN2s8tZ/6LC3X82fajpVsYqF1x\nqEuUDndDXVD09E4u83MS6HO6a3bIVQDp6/klnYldiE6Vp8HH5BSKaCWKVg8lGWg1\nUM9wZFnlryi14KgmpIFmcu9nA8yV/6MZAe6RSDmb3iyNBmiZ8aZhGw2pI1YwR+15\nMVqFFGB+7ExkziROi7L8CFCyCezK2/oOOvQsH1dzQ8z1JXWdg8/9Zx7Ktvgwu5PQ\nM3cJtSHX6iBPOkMU8Z8TugLlTqQXKZOEgwajwvQ5mf2DPkVgM08XAgaLJcLigwD5\n13koAdtJd5v+9irw+5LAuO3JclqwTvwy7u/YwwIDAQABAoIBACU9S5fjD9/jTMXA\nDRs08A+gGgZUxLn0xk+NAPX3LyB1tfdkCaFB8BccLzO6h3KZuwQOBPv6jkdvEDbx\nNwyw3eA/9GJsIvKiHc0rejdvyPymaw9I8MA7NbXHaJrY7KpqDQyk6sx+aUTcy5jg\niMXLWdwXYHhJ/1HVOo603oZyiS6HZeYU089NDUcX+1SJi3e5Ke0gPVXEqCq1O11/\nrh24bMxnwZo4PKBWdcMBN5Zf/4ij9vrZE+fFzW7vGBO48A5lvZxWU2U5t/OZQRtN\n1uLOHmMFa0FIF2aWbTVfwdUWAFsvAOkHj9VV8BXOUwKOUuEktdkfAlvrxmsFrO/H\nyDeYYPkCgYEA/S55CBbR0sMXpSZ56uRn8JHApZJhgkgvYr+FqDlJq/e92nAzf01P\nRoEBUajwrnf1ycevN/SDfbtWzq2XJGqhWdJmtpO16b7KBsC6BdRcH6dnOYh31jgA\nvABMIP3wzI4zSVTyxRE8LDuboytF1mSCeV5tHYPQTZNwrplDnLQhywcCgYEAw8Yc\nUk/eiFr3hfH/ZohMfV5p82Qp7DNIGRzw8YtVG/3+vNXrAXW1VhugNhQY6L+zLtJC\naKn84ooup0m3YCg0hvINqJuvzfsuzQgtjTXyaE0cEwsjUusOmiuj09vVx/3U7siK\nHdjd2ICPCvQ6Q8tdi8jV320gMs05AtaBkZdsiWUCgYEAtLw4Kk4f+xTKDFsrLUNf\n75wcqhWVBiwBp7yQ7UX4EYsJPKZcHMRTk0EEcAbpyaJZE3I44vjp5ReXIHNLMfPs\nuvI34J4Rfot0LN3n7cFrAi2+wpNo+MOBwrNzpRmijGP2uKKrq4JiMjFbKV/6utGF\nUp7VxfwS904JYpqGaZctiIECgYA1A6nZtF0riY6ry/uAdXpZHL8ONNqRZtWoT0kD\n79otSVu5ISiRbaGcXsDExC52oKrSDAgFtbqQUiEOFg09UcXfoR6HwRkba2CiDwve\nyHQLQI5Qrdxz8Mk0gIrNrSM4FAmcW9vi9z4kCbQyoC5C+4gqeUlJRpDIkQBWP2Y4\n2ct/bQKBgHv8qCsQTZphOxc31BJPa2xVhuv18cEU3XLUrVfUZ/1f43JhLp7gynS2\nep++LKUi9D0VGXY8bqvfJjbECoCeu85vl8NpCXwe/LoVoIn+7KaVIZMwqoGMfgNl\nnEqm7HWkNxHhf8A6En/IjleuddS1sf9e/x+TJN1Xhnt9W6pe7Fk1\n-----END RSA PRIVATE KEY-----\n            \"\"\")\n            .certificate(\"\"\"\n-----BEGIN CERTIFICATE-----\nMIIDpTCCAo2gAwIBAgIJAKdmmOBYnFvoMA0GCSqGSIb3DQEBCwUAMGkxCzAJBgNV\nBAYTAnh4MQswCQYDVQQIDAJ4eDELMAkGA1UEBwwCeHgxCzAJBgNVBAoMAnh4MQsw\nCQYDVQQLDAJ4eDELMAkGA1UEAwwCeHgxGTAXBgkqhkiG9w0BCQEWCnh4QDE2My5j\nb20wHhcNMTcxMjA0MDM0MjQ5WhcNMjAxMjAzMDM0MjQ5WjBpMQswCQYDVQQGEwJ4\neDELMAkGA1UECAwCeHgxCzAJBgNVBAcMAnh4MQswCQYDVQQKDAJ4eDELMAkGA1UE\nCwwCeHgxCzAJBgNVBAMMAnh4MRkwFwYJKoZIhvcNAQkBFgp4eEAxNjMuY29tMIIB\nIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwZ5UJULAjWr7p6FVwGRQRjFN\n2s8tZ/6LC3X82fajpVsYqF1xqEuUDndDXVD09E4u83MS6HO6a3bIVQDp6/klnYld\niE6Vp8HH5BSKaCWKVg8lGWg1UM9wZFnlryi14KgmpIFmcu9nA8yV/6MZAe6RSDmb\n3iyNBmiZ8aZhGw2pI1YwR+15MVqFFGB+7ExkziROi7L8CFCyCezK2/oOOvQsH1dz\nQ8z1JXWdg8/9Zx7Ktvgwu5PQM3cJtSHX6iBPOkMU8Z8TugLlTqQXKZOEgwajwvQ5\nmf2DPkVgM08XAgaLJcLigwD513koAdtJd5v+9irw+5LAuO3JclqwTvwy7u/YwwID\nAQABo1AwTjAdBgNVHQ4EFgQUo5A2tIu+bcUfvGTD7wmEkhXKFjcwHwYDVR0jBBgw\nFoAUo5A2tIu+bcUfvGTD7wmEkhXKFjcwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0B\nAQsFAAOCAQEAWJ2rS6Mvlqk3GfEpboezx2J3X7l1z8Sxoqg6ntwB+rezvK3mc9H0\n83qcVeUcoH+0A0lSHyFN4FvRQL6X1hEheHarYwJK4agb231vb5erasuGO463eYEG\nr4SfTuOm7SyiV2xxbaBKrXJtpBp4WLL/s+LF+nklKjaOxkmxUX0sM4CTA7uFJypY\nc8Tdr8lDDNqoUtMD8BrUCJi+7lmMXRcC3Qi3oZJW76ja+kZA5mKVFPd1ATih8TbA\ni34R7EQDtFeiSvBdeKRsPp8c0KT8H1B4lXNkkCQs2WX5p4lm99+ZtLD4glw8x6Ic\ni1YhgnQbn5E0hz55OLu5jvOkKQjPCW+8Kg==\n-----END CERTIFICATE-----\n            \"\"\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  certificate1:\n    type: opentelekomcloud:LbCertificateV2\n    name: certificate_1\n    properties:\n      name: certificate_1\n      description: terraform test certificate\n      domain: www.elb.com\n      privateKey: |\n        -----BEGIN RSA PRIVATE KEY-----\n        MIIEowIBAAKCAQEAwZ5UJULAjWr7p6FVwGRQRjFN2s8tZ/6LC3X82fajpVsYqF1x\n        qEuUDndDXVD09E4u83MS6HO6a3bIVQDp6/klnYldiE6Vp8HH5BSKaCWKVg8lGWg1\n        UM9wZFnlryi14KgmpIFmcu9nA8yV/6MZAe6RSDmb3iyNBmiZ8aZhGw2pI1YwR+15\n        MVqFFGB+7ExkziROi7L8CFCyCezK2/oOOvQsH1dzQ8z1JXWdg8/9Zx7Ktvgwu5PQ\n        M3cJtSHX6iBPOkMU8Z8TugLlTqQXKZOEgwajwvQ5mf2DPkVgM08XAgaLJcLigwD5\n        13koAdtJd5v+9irw+5LAuO3JclqwTvwy7u/YwwIDAQABAoIBACU9S5fjD9/jTMXA\n        DRs08A+gGgZUxLn0xk+NAPX3LyB1tfdkCaFB8BccLzO6h3KZuwQOBPv6jkdvEDbx\n        Nwyw3eA/9GJsIvKiHc0rejdvyPymaw9I8MA7NbXHaJrY7KpqDQyk6sx+aUTcy5jg\n        iMXLWdwXYHhJ/1HVOo603oZyiS6HZeYU089NDUcX+1SJi3e5Ke0gPVXEqCq1O11/\n        rh24bMxnwZo4PKBWdcMBN5Zf/4ij9vrZE+fFzW7vGBO48A5lvZxWU2U5t/OZQRtN\n        1uLOHmMFa0FIF2aWbTVfwdUWAFsvAOkHj9VV8BXOUwKOUuEktdkfAlvrxmsFrO/H\n        yDeYYPkCgYEA/S55CBbR0sMXpSZ56uRn8JHApZJhgkgvYr+FqDlJq/e92nAzf01P\n        RoEBUajwrnf1ycevN/SDfbtWzq2XJGqhWdJmtpO16b7KBsC6BdRcH6dnOYh31jgA\n        vABMIP3wzI4zSVTyxRE8LDuboytF1mSCeV5tHYPQTZNwrplDnLQhywcCgYEAw8Yc\n        Uk/eiFr3hfH/ZohMfV5p82Qp7DNIGRzw8YtVG/3+vNXrAXW1VhugNhQY6L+zLtJC\n        aKn84ooup0m3YCg0hvINqJuvzfsuzQgtjTXyaE0cEwsjUusOmiuj09vVx/3U7siK\n        Hdjd2ICPCvQ6Q8tdi8jV320gMs05AtaBkZdsiWUCgYEAtLw4Kk4f+xTKDFsrLUNf\n        75wcqhWVBiwBp7yQ7UX4EYsJPKZcHMRTk0EEcAbpyaJZE3I44vjp5ReXIHNLMfPs\n        uvI34J4Rfot0LN3n7cFrAi2+wpNo+MOBwrNzpRmijGP2uKKrq4JiMjFbKV/6utGF\n        Up7VxfwS904JYpqGaZctiIECgYA1A6nZtF0riY6ry/uAdXpZHL8ONNqRZtWoT0kD\n        79otSVu5ISiRbaGcXsDExC52oKrSDAgFtbqQUiEOFg09UcXfoR6HwRkba2CiDwve\n        yHQLQI5Qrdxz8Mk0gIrNrSM4FAmcW9vi9z4kCbQyoC5C+4gqeUlJRpDIkQBWP2Y4\n        2ct/bQKBgHv8qCsQTZphOxc31BJPa2xVhuv18cEU3XLUrVfUZ/1f43JhLp7gynS2\n        ep++LKUi9D0VGXY8bqvfJjbECoCeu85vl8NpCXwe/LoVoIn+7KaVIZMwqoGMfgNl\n        nEqm7HWkNxHhf8A6En/IjleuddS1sf9e/x+TJN1Xhnt9W6pe7Fk1\n        -----END RSA PRIVATE KEY-----\n      certificate: |\n        -----BEGIN CERTIFICATE-----\n        MIIDpTCCAo2gAwIBAgIJAKdmmOBYnFvoMA0GCSqGSIb3DQEBCwUAMGkxCzAJBgNV\n        BAYTAnh4MQswCQYDVQQIDAJ4eDELMAkGA1UEBwwCeHgxCzAJBgNVBAoMAnh4MQsw\n        CQYDVQQLDAJ4eDELMAkGA1UEAwwCeHgxGTAXBgkqhkiG9w0BCQEWCnh4QDE2My5j\n        b20wHhcNMTcxMjA0MDM0MjQ5WhcNMjAxMjAzMDM0MjQ5WjBpMQswCQYDVQQGEwJ4\n        eDELMAkGA1UECAwCeHgxCzAJBgNVBAcMAnh4MQswCQYDVQQKDAJ4eDELMAkGA1UE\n        CwwCeHgxCzAJBgNVBAMMAnh4MRkwFwYJKoZIhvcNAQkBFgp4eEAxNjMuY29tMIIB\n        IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwZ5UJULAjWr7p6FVwGRQRjFN\n        2s8tZ/6LC3X82fajpVsYqF1xqEuUDndDXVD09E4u83MS6HO6a3bIVQDp6/klnYld\n        iE6Vp8HH5BSKaCWKVg8lGWg1UM9wZFnlryi14KgmpIFmcu9nA8yV/6MZAe6RSDmb\n        3iyNBmiZ8aZhGw2pI1YwR+15MVqFFGB+7ExkziROi7L8CFCyCezK2/oOOvQsH1dz\n        Q8z1JXWdg8/9Zx7Ktvgwu5PQM3cJtSHX6iBPOkMU8Z8TugLlTqQXKZOEgwajwvQ5\n        mf2DPkVgM08XAgaLJcLigwD513koAdtJd5v+9irw+5LAuO3JclqwTvwy7u/YwwID\n        AQABo1AwTjAdBgNVHQ4EFgQUo5A2tIu+bcUfvGTD7wmEkhXKFjcwHwYDVR0jBBgw\n        FoAUo5A2tIu+bcUfvGTD7wmEkhXKFjcwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0B\n        AQsFAAOCAQEAWJ2rS6Mvlqk3GfEpboezx2J3X7l1z8Sxoqg6ntwB+rezvK3mc9H0\n        83qcVeUcoH+0A0lSHyFN4FvRQL6X1hEheHarYwJK4agb231vb5erasuGO463eYEG\n        r4SfTuOm7SyiV2xxbaBKrXJtpBp4WLL/s+LF+nklKjaOxkmxUX0sM4CTA7uFJypY\n        c8Tdr8lDDNqoUtMD8BrUCJi+7lmMXRcC3Qi3oZJW76ja+kZA5mKVFPd1ATih8TbA\n        i34R7EQDtFeiSvBdeKRsPp8c0KT8H1B4lXNkkCQs2WX5p4lm99+ZtLD4glw8x6Ic\n        i1YhgnQbn5E0hz55OLu5jvOkKQjPCW+8Kg==\n        -----END CERTIFICATE-----\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCertificates can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/lbCertificateV2:LbCertificateV2 certificate_1 7117d38e-4c8f-4624-a505-bd96b97d024c\n```\n\n","properties":{"certificate":{"type":"string","description":"The public encrypted key of the Certificate, PEM format.\n"},"createTime":{"type":"string","description":"Indicates the creation time.\n"},"description":{"type":"string","description":"Human-readable description for the Certificate.\n"},"domain":{"type":"string","description":"The domain of the Certificate.\n"},"expireTime":{"type":"string","description":"Indicates certificate expiration time.\n"},"lbCertificateV2Id":{"type":"string"},"name":{"type":"string","description":"Human-readable name for the Certificate. Does not have\nto be unique.\n"},"privateKey":{"type":"string","description":"The private encrypted key of the Certificate, PEM format.\nRequired for certificates of type \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e.\n"},"region":{"type":"string","description":"The region in which to obtain the V2 Networking client.\nA Networking client is needed to create an LB certificate. If omitted, the\n\u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e argument of the provider is used. Changing this creates a new\nLB certificate.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FLbCertificateV2Timeouts:LbCertificateV2Timeouts"},"type":{"type":"string","description":"The type of certificate the container holds. Either \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`client`\" pulumi-lang-dotnet=\"`Client`\" pulumi-lang-go=\"`client`\" pulumi-lang-python=\"`client`\" pulumi-lang-yaml=\"`client`\" pulumi-lang-java=\"`client`\"\u003e`client`\u003c/span\u003e.\nDefaults to \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e if not set. Changing this creates a new LB certificate.\n"},"updateTime":{"type":"string","description":"Indicates the update time.\n"}},"type":"object","required":["certificate","createTime","domain","expireTime","lbCertificateV2Id","name","region","type","updateTime"],"inputProperties":{"certificate":{"type":"string","description":"The public encrypted key of the Certificate, PEM format.\n"},"description":{"type":"string","description":"Human-readable description for the Certificate.\n"},"domain":{"type":"string","description":"The domain of the Certificate.\n"},"lbCertificateV2Id":{"type":"string"},"name":{"type":"string","description":"Human-readable name for the Certificate. Does not have\nto be unique.\n"},"privateKey":{"type":"string","description":"The private encrypted key of the Certificate, PEM format.\nRequired for certificates of type \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e.\n"},"region":{"type":"string","description":"The region in which to obtain the V2 Networking client.\nA Networking client is needed to create an LB certificate. If omitted, the\n\u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e argument of the provider is used. Changing this creates a new\nLB certificate.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FLbCertificateV2Timeouts:LbCertificateV2Timeouts"},"type":{"type":"string","description":"The type of certificate the container holds. Either \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`client`\" pulumi-lang-dotnet=\"`Client`\" pulumi-lang-go=\"`client`\" pulumi-lang-python=\"`client`\" pulumi-lang-yaml=\"`client`\" pulumi-lang-java=\"`client`\"\u003e`client`\u003c/span\u003e.\nDefaults to \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e if not set. Changing this creates a new LB certificate.\n"}},"requiredInputs":["certificate"],"stateInputs":{"description":"Input properties used for looking up and filtering LbCertificateV2 resources.\n","properties":{"certificate":{"type":"string","description":"The public encrypted key of the Certificate, PEM format.\n"},"createTime":{"type":"string","description":"Indicates the creation time.\n"},"description":{"type":"string","description":"Human-readable description for the Certificate.\n"},"domain":{"type":"string","description":"The domain of the Certificate.\n"},"expireTime":{"type":"string","description":"Indicates certificate expiration time.\n"},"lbCertificateV2Id":{"type":"string"},"name":{"type":"string","description":"Human-readable name for the Certificate. Does not have\nto be unique.\n"},"privateKey":{"type":"string","description":"The private encrypted key of the Certificate, PEM format.\nRequired for certificates of type \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e.\n"},"region":{"type":"string","description":"The region in which to obtain the V2 Networking client.\nA Networking client is needed to create an LB certificate. If omitted, the\n\u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e argument of the provider is used. Changing this creates a new\nLB certificate.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FLbCertificateV2Timeouts:LbCertificateV2Timeouts"},"type":{"type":"string","description":"The type of certificate the container holds. Either \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`client`\" pulumi-lang-dotnet=\"`Client`\" pulumi-lang-go=\"`client`\" pulumi-lang-python=\"`client`\" pulumi-lang-yaml=\"`client`\" pulumi-lang-java=\"`client`\"\u003e`client`\u003c/span\u003e.\nDefaults to \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e if not set. Changing this creates a new LB certificate.\n"},"updateTime":{"type":"string","description":"Indicates the update time.\n"}},"type":"object"}},"opentelekomcloud:index/lbCertificateV3:LbCertificateV3":{"description":"Up-to-date reference of API arguments for DLB certificate you can get at\n[documentation portal](https://docs.otc.t-systems.com/elastic-load-balancing/api-ref/apis_v3/certificate)\n\nManages a V3 certificate resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst certificate1 = new opentelekomcloud.LbCertificateV3(\"certificate_1\", {\n    name: \"certificate_1\",\n    description: \"terraform test certificate\",\n    domain: \"www.elb.com\",\n    privateKey: `-----BEGIN RSA PRIVATE KEY-----\nMIIBUwIBADANBgkqhkiG9w0BAQEFAASCAT0wggE5AgEAAkEAu+qgVpV6mqbaGW1Q\nn6eDPzhwentQPPiXwG1665M9+gjW4pUQ0RudBc0fkUU/O+Q0UMT8ZV/I2hSenCVy\nJoyPEwIDAQABAkAbyksEAv8qt9oxQHVX5xIF23bm5i2rlqf6kTZIeHIF89/NNJ2E\nsejiqFIWqPc5a00Scn+ymdCvjC25JVyup9cBAiEA4a+7WhPmgS54yNHjwkG2pflz\ncfH1V7qPqlBKIGLwZbMCIQDVKCsZ6eoNdQoLVmK0zii8XDCgL8HWMrm/bytbYM9B\nIQIgVdcAXKebEeF6IW/rwDQ8Y2644UsVdTPJdw8o0p6vLw8CIDqm191EiPt09fOS\nrIxVoc3ajCK3oV2ADa5IN6ToKX8hAiBPuNCCIYcZz0tAzWX7I1OYMI3UhJjtrESg\nmYFrsJ4gHw==\n-----END RSA PRIVATE KEY-----\n`,\n    certificate: `-----BEGIN CERTIFICATE-----\nMIIB4TCCAYugAwIBAgIUPXCpWJCiy5mI79NIfenl5KNWPzkwDQYJKoZIhvcNAQEL\nBQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM\nGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDAeFw0yMTExMDIxMDM3MjBaFw0yMTEy\nMDIxMDM3MjBaMEUxCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEw\nHwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQwXDANBgkqhkiG9w0BAQEF\nAANLADBIAkEAu+qgVpV6mqbaGW1Qn6eDPzhwentQPPiXwG1665M9+gjW4pUQ0Rud\nBc0fkUU/O+Q0UMT8ZV/I2hSenCVyJoyPEwIDAQABo1MwUTAdBgNVHQ4EFgQUtItI\nIAXZDIEfuvCX7AY3s//wlI8wHwYDVR0jBBgwFoAUtItIIAXZDIEfuvCX7AY3s//w\nlI8wDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAANBAEkgP/JlpVKc4j+Z\nKRcMa7RAXYJqCbRxtpqRU7OOAhDmBnldtS5CTMoh1r7TOGMfM1Npa+kGV5QnjRzI\nFzFSymo=\n-----END CERTIFICATE-----\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ncertificate1 = opentelekomcloud.LbCertificateV3(\"certificate_1\",\n    name=\"certificate_1\",\n    description=\"terraform test certificate\",\n    domain=\"www.elb.com\",\n    private_key=\"\"\"-----BEGIN RSA PRIVATE KEY-----\nMIIBUwIBADANBgkqhkiG9w0BAQEFAASCAT0wggE5AgEAAkEAu+qgVpV6mqbaGW1Q\nn6eDPzhwentQPPiXwG1665M9+gjW4pUQ0RudBc0fkUU/O+Q0UMT8ZV/I2hSenCVy\nJoyPEwIDAQABAkAbyksEAv8qt9oxQHVX5xIF23bm5i2rlqf6kTZIeHIF89/NNJ2E\nsejiqFIWqPc5a00Scn+ymdCvjC25JVyup9cBAiEA4a+7WhPmgS54yNHjwkG2pflz\ncfH1V7qPqlBKIGLwZbMCIQDVKCsZ6eoNdQoLVmK0zii8XDCgL8HWMrm/bytbYM9B\nIQIgVdcAXKebEeF6IW/rwDQ8Y2644UsVdTPJdw8o0p6vLw8CIDqm191EiPt09fOS\nrIxVoc3ajCK3oV2ADa5IN6ToKX8hAiBPuNCCIYcZz0tAzWX7I1OYMI3UhJjtrESg\nmYFrsJ4gHw==\n-----END RSA PRIVATE KEY-----\n\"\"\",\n    certificate=\"\"\"-----BEGIN CERTIFICATE-----\nMIIB4TCCAYugAwIBAgIUPXCpWJCiy5mI79NIfenl5KNWPzkwDQYJKoZIhvcNAQEL\nBQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM\nGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDAeFw0yMTExMDIxMDM3MjBaFw0yMTEy\nMDIxMDM3MjBaMEUxCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEw\nHwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQwXDANBgkqhkiG9w0BAQEF\nAANLADBIAkEAu+qgVpV6mqbaGW1Qn6eDPzhwentQPPiXwG1665M9+gjW4pUQ0Rud\nBc0fkUU/O+Q0UMT8ZV/I2hSenCVyJoyPEwIDAQABo1MwUTAdBgNVHQ4EFgQUtItI\nIAXZDIEfuvCX7AY3s//wlI8wHwYDVR0jBBgwFoAUtItIIAXZDIEfuvCX7AY3s//w\nlI8wDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAANBAEkgP/JlpVKc4j+Z\nKRcMa7RAXYJqCbRxtpqRU7OOAhDmBnldtS5CTMoh1r7TOGMfM1Npa+kGV5QnjRzI\nFzFSymo=\n-----END CERTIFICATE-----\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var certificate1 = new Opentelekomcloud.LbCertificateV3(\"certificate_1\", new()\n    {\n        Name = \"certificate_1\",\n        Description = \"terraform test certificate\",\n        Domain = \"www.elb.com\",\n        PrivateKey = @\"-----BEGIN RSA PRIVATE KEY-----\nMIIBUwIBADANBgkqhkiG9w0BAQEFAASCAT0wggE5AgEAAkEAu+qgVpV6mqbaGW1Q\nn6eDPzhwentQPPiXwG1665M9+gjW4pUQ0RudBc0fkUU/O+Q0UMT8ZV/I2hSenCVy\nJoyPEwIDAQABAkAbyksEAv8qt9oxQHVX5xIF23bm5i2rlqf6kTZIeHIF89/NNJ2E\nsejiqFIWqPc5a00Scn+ymdCvjC25JVyup9cBAiEA4a+7WhPmgS54yNHjwkG2pflz\ncfH1V7qPqlBKIGLwZbMCIQDVKCsZ6eoNdQoLVmK0zii8XDCgL8HWMrm/bytbYM9B\nIQIgVdcAXKebEeF6IW/rwDQ8Y2644UsVdTPJdw8o0p6vLw8CIDqm191EiPt09fOS\nrIxVoc3ajCK3oV2ADa5IN6ToKX8hAiBPuNCCIYcZz0tAzWX7I1OYMI3UhJjtrESg\nmYFrsJ4gHw==\n-----END RSA PRIVATE KEY-----\n\",\n        Certificate = @\"-----BEGIN CERTIFICATE-----\nMIIB4TCCAYugAwIBAgIUPXCpWJCiy5mI79NIfenl5KNWPzkwDQYJKoZIhvcNAQEL\nBQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM\nGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDAeFw0yMTExMDIxMDM3MjBaFw0yMTEy\nMDIxMDM3MjBaMEUxCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEw\nHwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQwXDANBgkqhkiG9w0BAQEF\nAANLADBIAkEAu+qgVpV6mqbaGW1Qn6eDPzhwentQPPiXwG1665M9+gjW4pUQ0Rud\nBc0fkUU/O+Q0UMT8ZV/I2hSenCVyJoyPEwIDAQABo1MwUTAdBgNVHQ4EFgQUtItI\nIAXZDIEfuvCX7AY3s//wlI8wHwYDVR0jBBgwFoAUtItIIAXZDIEfuvCX7AY3s//w\nlI8wDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAANBAEkgP/JlpVKc4j+Z\nKRcMa7RAXYJqCbRxtpqRU7OOAhDmBnldtS5CTMoh1r7TOGMfM1Npa+kGV5QnjRzI\nFzFSymo=\n-----END CERTIFICATE-----\n\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewLbCertificateV3(ctx, \"certificate_1\", \u0026opentelekomcloud.LbCertificateV3Args{\n\t\t\tName:        pulumi.String(\"certificate_1\"),\n\t\t\tDescription: pulumi.String(\"terraform test certificate\"),\n\t\t\tDomain:      pulumi.String(\"www.elb.com\"),\n\t\t\tPrivateKey: pulumi.String(`-----BEGIN RSA PRIVATE KEY-----\nMIIBUwIBADANBgkqhkiG9w0BAQEFAASCAT0wggE5AgEAAkEAu+qgVpV6mqbaGW1Q\nn6eDPzhwentQPPiXwG1665M9+gjW4pUQ0RudBc0fkUU/O+Q0UMT8ZV/I2hSenCVy\nJoyPEwIDAQABAkAbyksEAv8qt9oxQHVX5xIF23bm5i2rlqf6kTZIeHIF89/NNJ2E\nsejiqFIWqPc5a00Scn+ymdCvjC25JVyup9cBAiEA4a+7WhPmgS54yNHjwkG2pflz\ncfH1V7qPqlBKIGLwZbMCIQDVKCsZ6eoNdQoLVmK0zii8XDCgL8HWMrm/bytbYM9B\nIQIgVdcAXKebEeF6IW/rwDQ8Y2644UsVdTPJdw8o0p6vLw8CIDqm191EiPt09fOS\nrIxVoc3ajCK3oV2ADa5IN6ToKX8hAiBPuNCCIYcZz0tAzWX7I1OYMI3UhJjtrESg\nmYFrsJ4gHw==\n-----END RSA PRIVATE KEY-----\n`),\n\t\t\tCertificate: pulumi.String(`-----BEGIN CERTIFICATE-----\nMIIB4TCCAYugAwIBAgIUPXCpWJCiy5mI79NIfenl5KNWPzkwDQYJKoZIhvcNAQEL\nBQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM\nGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDAeFw0yMTExMDIxMDM3MjBaFw0yMTEy\nMDIxMDM3MjBaMEUxCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEw\nHwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQwXDANBgkqhkiG9w0BAQEF\nAANLADBIAkEAu+qgVpV6mqbaGW1Qn6eDPzhwentQPPiXwG1665M9+gjW4pUQ0Rud\nBc0fkUU/O+Q0UMT8ZV/I2hSenCVyJoyPEwIDAQABo1MwUTAdBgNVHQ4EFgQUtItI\nIAXZDIEfuvCX7AY3s//wlI8wHwYDVR0jBBgwFoAUtItIIAXZDIEfuvCX7AY3s//w\nlI8wDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAANBAEkgP/JlpVKc4j+Z\nKRcMa7RAXYJqCbRxtpqRU7OOAhDmBnldtS5CTMoh1r7TOGMfM1Npa+kGV5QnjRzI\nFzFSymo=\n-----END CERTIFICATE-----\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.LbCertificateV3;\nimport com.pulumi.opentelekomcloud.LbCertificateV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var certificate1 = new LbCertificateV3(\"certificate1\", LbCertificateV3Args.builder()\n            .name(\"certificate_1\")\n            .description(\"terraform test certificate\")\n            .domain(\"www.elb.com\")\n            .privateKey(\"\"\"\n-----BEGIN RSA PRIVATE KEY-----\nMIIBUwIBADANBgkqhkiG9w0BAQEFAASCAT0wggE5AgEAAkEAu+qgVpV6mqbaGW1Q\nn6eDPzhwentQPPiXwG1665M9+gjW4pUQ0RudBc0fkUU/O+Q0UMT8ZV/I2hSenCVy\nJoyPEwIDAQABAkAbyksEAv8qt9oxQHVX5xIF23bm5i2rlqf6kTZIeHIF89/NNJ2E\nsejiqFIWqPc5a00Scn+ymdCvjC25JVyup9cBAiEA4a+7WhPmgS54yNHjwkG2pflz\ncfH1V7qPqlBKIGLwZbMCIQDVKCsZ6eoNdQoLVmK0zii8XDCgL8HWMrm/bytbYM9B\nIQIgVdcAXKebEeF6IW/rwDQ8Y2644UsVdTPJdw8o0p6vLw8CIDqm191EiPt09fOS\nrIxVoc3ajCK3oV2ADa5IN6ToKX8hAiBPuNCCIYcZz0tAzWX7I1OYMI3UhJjtrESg\nmYFrsJ4gHw==\n-----END RSA PRIVATE KEY-----\n            \"\"\")\n            .certificate(\"\"\"\n-----BEGIN CERTIFICATE-----\nMIIB4TCCAYugAwIBAgIUPXCpWJCiy5mI79NIfenl5KNWPzkwDQYJKoZIhvcNAQEL\nBQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM\nGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDAeFw0yMTExMDIxMDM3MjBaFw0yMTEy\nMDIxMDM3MjBaMEUxCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEw\nHwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQwXDANBgkqhkiG9w0BAQEF\nAANLADBIAkEAu+qgVpV6mqbaGW1Qn6eDPzhwentQPPiXwG1665M9+gjW4pUQ0Rud\nBc0fkUU/O+Q0UMT8ZV/I2hSenCVyJoyPEwIDAQABo1MwUTAdBgNVHQ4EFgQUtItI\nIAXZDIEfuvCX7AY3s//wlI8wHwYDVR0jBBgwFoAUtItIIAXZDIEfuvCX7AY3s//w\nlI8wDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAANBAEkgP/JlpVKc4j+Z\nKRcMa7RAXYJqCbRxtpqRU7OOAhDmBnldtS5CTMoh1r7TOGMfM1Npa+kGV5QnjRzI\nFzFSymo=\n-----END CERTIFICATE-----\n            \"\"\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  certificate1:\n    type: opentelekomcloud:LbCertificateV3\n    name: certificate_1\n    properties:\n      name: certificate_1\n      description: terraform test certificate\n      domain: www.elb.com\n      privateKey: |\n        -----BEGIN RSA PRIVATE KEY-----\n        MIIBUwIBADANBgkqhkiG9w0BAQEFAASCAT0wggE5AgEAAkEAu+qgVpV6mqbaGW1Q\n        n6eDPzhwentQPPiXwG1665M9+gjW4pUQ0RudBc0fkUU/O+Q0UMT8ZV/I2hSenCVy\n        JoyPEwIDAQABAkAbyksEAv8qt9oxQHVX5xIF23bm5i2rlqf6kTZIeHIF89/NNJ2E\n        sejiqFIWqPc5a00Scn+ymdCvjC25JVyup9cBAiEA4a+7WhPmgS54yNHjwkG2pflz\n        cfH1V7qPqlBKIGLwZbMCIQDVKCsZ6eoNdQoLVmK0zii8XDCgL8HWMrm/bytbYM9B\n        IQIgVdcAXKebEeF6IW/rwDQ8Y2644UsVdTPJdw8o0p6vLw8CIDqm191EiPt09fOS\n        rIxVoc3ajCK3oV2ADa5IN6ToKX8hAiBPuNCCIYcZz0tAzWX7I1OYMI3UhJjtrESg\n        mYFrsJ4gHw==\n        -----END RSA PRIVATE KEY-----\n      certificate: |\n        -----BEGIN CERTIFICATE-----\n        MIIB4TCCAYugAwIBAgIUPXCpWJCiy5mI79NIfenl5KNWPzkwDQYJKoZIhvcNAQEL\n        BQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM\n        GEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDAeFw0yMTExMDIxMDM3MjBaFw0yMTEy\n        MDIxMDM3MjBaMEUxCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEw\n        HwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQwXDANBgkqhkiG9w0BAQEF\n        AANLADBIAkEAu+qgVpV6mqbaGW1Qn6eDPzhwentQPPiXwG1665M9+gjW4pUQ0Rud\n        Bc0fkUU/O+Q0UMT8ZV/I2hSenCVyJoyPEwIDAQABo1MwUTAdBgNVHQ4EFgQUtItI\n        IAXZDIEfuvCX7AY3s//wlI8wHwYDVR0jBBgwFoAUtItIIAXZDIEfuvCX7AY3s//w\n        lI8wDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAANBAEkgP/JlpVKc4j+Z\n        KRcMa7RAXYJqCbRxtpqRU7OOAhDmBnldtS5CTMoh1r7TOGMfM1Npa+kGV5QnjRzI\n        FzFSymo=\n        -----END CERTIFICATE-----\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCertificates can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/lbCertificateV3:LbCertificateV3 certificate_1 7117d38e-4c8f-4624-a505-bd96b97d024c\n```\n\n","properties":{"certificate":{"type":"string","description":"The public encrypted key of the Certificate, PEM format.\n"},"createdAt":{"type":"string"},"description":{"type":"string","description":"Provides supplementary information about the certificate.\n"},"domain":{"type":"string","description":"The domain of the Certificate.\n"},"expireTime":{"type":"string","description":"Indicates the expiration time.\n"},"lbCertificateV3Id":{"type":"string"},"name":{"type":"string","description":"Specifies the certificate name. Only letters,\ndigits, underscores, and hyphens are allowed.\n"},"privateKey":{"type":"string","description":"The private encrypted key of the Certificate, PEM format.\nRequired for certificates of type \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e.\n"},"region":{"type":"string","description":"The region in which to obtain the V3 ELB client.\nAn ELB client is needed to create an LB certificate. If omitted, the\n\u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e argument of the provider is used. Changing this creates a new\nLB certificate.\n"},"type":{"type":"string","description":"The type of certificate the container holds. Either \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`client`\" pulumi-lang-dotnet=\"`Client`\" pulumi-lang-go=\"`client`\" pulumi-lang-python=\"`client`\" pulumi-lang-yaml=\"`client`\" pulumi-lang-java=\"`client`\"\u003e`client`\u003c/span\u003e.\nDefaults to \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e if not set. Changing this creates a new LB certificate.\n"},"updatedAt":{"type":"string","description":"Indicates the update time.\n"}},"type":"object","required":["certificate","createdAt","domain","expireTime","lbCertificateV3Id","name","region","type","updatedAt"],"inputProperties":{"certificate":{"type":"string","description":"The public encrypted key of the Certificate, PEM format.\n"},"description":{"type":"string","description":"Provides supplementary information about the certificate.\n"},"domain":{"type":"string","description":"The domain of the Certificate.\n"},"lbCertificateV3Id":{"type":"string"},"name":{"type":"string","description":"Specifies the certificate name. Only letters,\ndigits, underscores, and hyphens are allowed.\n"},"privateKey":{"type":"string","description":"The private encrypted key of the Certificate, PEM format.\nRequired for certificates of type \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e.\n"},"region":{"type":"string","description":"The region in which to obtain the V3 ELB client.\nAn ELB client is needed to create an LB certificate. If omitted, the\n\u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e argument of the provider is used. Changing this creates a new\nLB certificate.\n"},"type":{"type":"string","description":"The type of certificate the container holds. Either \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`client`\" pulumi-lang-dotnet=\"`Client`\" pulumi-lang-go=\"`client`\" pulumi-lang-python=\"`client`\" pulumi-lang-yaml=\"`client`\" pulumi-lang-java=\"`client`\"\u003e`client`\u003c/span\u003e.\nDefaults to \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e if not set. Changing this creates a new LB certificate.\n"}},"requiredInputs":["certificate"],"stateInputs":{"description":"Input properties used for looking up and filtering LbCertificateV3 resources.\n","properties":{"certificate":{"type":"string","description":"The public encrypted key of the Certificate, PEM format.\n"},"createdAt":{"type":"string"},"description":{"type":"string","description":"Provides supplementary information about the certificate.\n"},"domain":{"type":"string","description":"The domain of the Certificate.\n"},"expireTime":{"type":"string","description":"Indicates the expiration time.\n"},"lbCertificateV3Id":{"type":"string"},"name":{"type":"string","description":"Specifies the certificate name. Only letters,\ndigits, underscores, and hyphens are allowed.\n"},"privateKey":{"type":"string","description":"The private encrypted key of the Certificate, PEM format.\nRequired for certificates of type \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e.\n"},"region":{"type":"string","description":"The region in which to obtain the V3 ELB client.\nAn ELB client is needed to create an LB certificate. If omitted, the\n\u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e argument of the provider is used. Changing this creates a new\nLB certificate.\n"},"type":{"type":"string","description":"The type of certificate the container holds. Either \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`client`\" pulumi-lang-dotnet=\"`Client`\" pulumi-lang-go=\"`client`\" pulumi-lang-python=\"`client`\" pulumi-lang-yaml=\"`client`\" pulumi-lang-java=\"`client`\"\u003e`client`\u003c/span\u003e.\nDefaults to \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e if not set. Changing this creates a new LB certificate.\n"},"updatedAt":{"type":"string","description":"Indicates the update time.\n"}},"type":"object"}},"opentelekomcloud:index/lbIpgroupV3:LbIpgroupV3":{"description":"Up-to-date reference of API arguments for DLB ip group you can get at\n[documentation portal](https://docs.otc.t-systems.com/elastic-load-balancing/api-ref/apis_v3/ip_address_group)\n\nManages a Dedicated Load Balancer IP address group resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst group1 = new opentelekomcloud.LbIpgroupV3(\"group_1\", {\n    name: \"group_1\",\n    description: \"group description\",\n    ipLists: [\n        {\n            ip: \"192.168.50.10\",\n            description: \"one\",\n        },\n        {\n            ip: \"192.168.100.10\",\n            description: \"two\",\n        },\n        {\n            ip: \"192.168.150.10\",\n            description: \"three\",\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ngroup1 = opentelekomcloud.LbIpgroupV3(\"group_1\",\n    name=\"group_1\",\n    description=\"group description\",\n    ip_lists=[\n        {\n            \"ip\": \"192.168.50.10\",\n            \"description\": \"one\",\n        },\n        {\n            \"ip\": \"192.168.100.10\",\n            \"description\": \"two\",\n        },\n        {\n            \"ip\": \"192.168.150.10\",\n            \"description\": \"three\",\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var group1 = new Opentelekomcloud.LbIpgroupV3(\"group_1\", new()\n    {\n        Name = \"group_1\",\n        Description = \"group description\",\n        IpLists = new[]\n        {\n            new Opentelekomcloud.Inputs.LbIpgroupV3IpListArgs\n            {\n                Ip = \"192.168.50.10\",\n                Description = \"one\",\n            },\n            new Opentelekomcloud.Inputs.LbIpgroupV3IpListArgs\n            {\n                Ip = \"192.168.100.10\",\n                Description = \"two\",\n            },\n            new Opentelekomcloud.Inputs.LbIpgroupV3IpListArgs\n            {\n                Ip = \"192.168.150.10\",\n                Description = \"three\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewLbIpgroupV3(ctx, \"group_1\", \u0026opentelekomcloud.LbIpgroupV3Args{\n\t\t\tName:        pulumi.String(\"group_1\"),\n\t\t\tDescription: pulumi.String(\"group description\"),\n\t\t\tIpLists: opentelekomcloud.LbIpgroupV3IpListArray{\n\t\t\t\t\u0026opentelekomcloud.LbIpgroupV3IpListArgs{\n\t\t\t\t\tIp:          pulumi.String(\"192.168.50.10\"),\n\t\t\t\t\tDescription: pulumi.String(\"one\"),\n\t\t\t\t},\n\t\t\t\t\u0026opentelekomcloud.LbIpgroupV3IpListArgs{\n\t\t\t\t\tIp:          pulumi.String(\"192.168.100.10\"),\n\t\t\t\t\tDescription: pulumi.String(\"two\"),\n\t\t\t\t},\n\t\t\t\t\u0026opentelekomcloud.LbIpgroupV3IpListArgs{\n\t\t\t\t\tIp:          pulumi.String(\"192.168.150.10\"),\n\t\t\t\t\tDescription: pulumi.String(\"three\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.LbIpgroupV3;\nimport com.pulumi.opentelekomcloud.LbIpgroupV3Args;\nimport com.pulumi.opentelekomcloud.inputs.LbIpgroupV3IpListArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var group1 = new LbIpgroupV3(\"group1\", LbIpgroupV3Args.builder()\n            .name(\"group_1\")\n            .description(\"group description\")\n            .ipLists(            \n                LbIpgroupV3IpListArgs.builder()\n                    .ip(\"192.168.50.10\")\n                    .description(\"one\")\n                    .build(),\n                LbIpgroupV3IpListArgs.builder()\n                    .ip(\"192.168.100.10\")\n                    .description(\"two\")\n                    .build(),\n                LbIpgroupV3IpListArgs.builder()\n                    .ip(\"192.168.150.10\")\n                    .description(\"three\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  group1:\n    type: opentelekomcloud:LbIpgroupV3\n    name: group_1\n    properties:\n      name: group_1\n      description: group description\n      ipLists:\n        - ip: 192.168.50.10\n          description: one\n        - ip: 192.168.100.10\n          description: two\n        - ip: 192.168.150.10\n          description: three\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Example empty ip list\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst group1 = new opentelekomcloud.LbIpgroupV3(\"group_1\", {\n    name: \"group_1\",\n    description: \"group description\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ngroup1 = opentelekomcloud.LbIpgroupV3(\"group_1\",\n    name=\"group_1\",\n    description=\"group description\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var group1 = new Opentelekomcloud.LbIpgroupV3(\"group_1\", new()\n    {\n        Name = \"group_1\",\n        Description = \"group description\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewLbIpgroupV3(ctx, \"group_1\", \u0026opentelekomcloud.LbIpgroupV3Args{\n\t\t\tName:        pulumi.String(\"group_1\"),\n\t\t\tDescription: pulumi.String(\"group description\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.LbIpgroupV3;\nimport com.pulumi.opentelekomcloud.LbIpgroupV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var group1 = new LbIpgroupV3(\"group1\", LbIpgroupV3Args.builder()\n            .name(\"group_1\")\n            .description(\"group description\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  group1:\n    type: opentelekomcloud:LbIpgroupV3\n    name: group_1\n    properties:\n      name: group_1\n      description: group description\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nIp groups can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/lbIpgroupV3:LbIpgroupV3 group_1 7117d38e-4c8f-4624-a505-bd96b97d024c\n```\n\n","properties":{"createdAt":{"type":"string","description":"Indicates the creation time.\n"},"description":{"type":"string","description":"Provides supplementary information about the IP address group.\n"},"ipLists":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FLbIpgroupV3IpList:LbIpgroupV3IpList"},"description":"Specifies the IP addresses or CIDR blocks in the IP address group.\nAny IP address can be used if this block isn't specified.\n"},"lbIpgroupV3Id":{"type":"string"},"listeners":{"type":"array","items":{"type":"string"},"description":"Lists the IDs of listeners with which the IP address group is associated.\n"},"name":{"type":"string","description":"Specifies the IP address group name.\n"},"projectId":{"type":"string","description":"Specifies the project ID of the IP address group.\n"},"updatedAt":{"type":"string","description":"Indicates the update time.\n"}},"type":"object","required":["createdAt","lbIpgroupV3Id","listeners","name","projectId","updatedAt"],"inputProperties":{"description":{"type":"string","description":"Provides supplementary information about the IP address group.\n"},"ipLists":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FLbIpgroupV3IpList:LbIpgroupV3IpList"},"description":"Specifies the IP addresses or CIDR blocks in the IP address group.\nAny IP address can be used if this block isn't specified.\n"},"lbIpgroupV3Id":{"type":"string"},"name":{"type":"string","description":"Specifies the IP address group name.\n"},"projectId":{"type":"string","description":"Specifies the project ID of the IP address group.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering LbIpgroupV3 resources.\n","properties":{"createdAt":{"type":"string","description":"Indicates the creation time.\n"},"description":{"type":"string","description":"Provides supplementary information about the IP address group.\n"},"ipLists":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FLbIpgroupV3IpList:LbIpgroupV3IpList"},"description":"Specifies the IP addresses or CIDR blocks in the IP address group.\nAny IP address can be used if this block isn't specified.\n"},"lbIpgroupV3Id":{"type":"string"},"listeners":{"type":"array","items":{"type":"string"},"description":"Lists the IDs of listeners with which the IP address group is associated.\n"},"name":{"type":"string","description":"Specifies the IP address group name.\n"},"projectId":{"type":"string","description":"Specifies the project ID of the IP address group.\n"},"updatedAt":{"type":"string","description":"Indicates the update time.\n"}},"type":"object"}},"opentelekomcloud:index/lbL7policyV2:LbL7policyV2":{"description":"Up-to-date reference of API arguments for ELB l7 policy you can get at\n[documentation portal](https://docs.otc.t-systems.com/elastic-load-balancing/api-ref/apis_v2.0/forwarding_policy)\n\nManages a Load Balancer L7 Policy resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst loadbalancer1 = new opentelekomcloud.LbLoadbalancerV2(\"loadbalancer_1\", {\n    name: \"loadbalancer_1\",\n    vipSubnetId: \"SUBNET_ID\",\n});\nconst listener1 = new opentelekomcloud.LbListenerV2(\"listener_1\", {\n    name: \"listener_1\",\n    protocol: \"HTTP\",\n    protocolPort: 8080,\n    loadbalancerId: loadbalancer1.lbLoadbalancerV2Id,\n});\nconst pool1 = new opentelekomcloud.LbPoolV2(\"pool_1\", {\n    name: \"pool_1\",\n    protocol: \"HTTP\",\n    lbMethod: \"ROUND_ROBIN\",\n    loadbalancerId: loadbalancer1.lbLoadbalancerV2Id,\n});\nconst l7policy1 = new opentelekomcloud.LbL7policyV2(\"l7policy_1\", {\n    name: \"test\",\n    action: \"REDIRECT_TO_POOL\",\n    description: \"test l7 policy\",\n    position: 1,\n    listenerId: listener1.lbListenerV2Id,\n    redirectPoolId: pool1.lbPoolV2Id,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nloadbalancer1 = opentelekomcloud.LbLoadbalancerV2(\"loadbalancer_1\",\n    name=\"loadbalancer_1\",\n    vip_subnet_id=\"SUBNET_ID\")\nlistener1 = opentelekomcloud.LbListenerV2(\"listener_1\",\n    name=\"listener_1\",\n    protocol=\"HTTP\",\n    protocol_port=8080,\n    loadbalancer_id=loadbalancer1.lb_loadbalancer_v2_id)\npool1 = opentelekomcloud.LbPoolV2(\"pool_1\",\n    name=\"pool_1\",\n    protocol=\"HTTP\",\n    lb_method=\"ROUND_ROBIN\",\n    loadbalancer_id=loadbalancer1.lb_loadbalancer_v2_id)\nl7policy1 = opentelekomcloud.LbL7policyV2(\"l7policy_1\",\n    name=\"test\",\n    action=\"REDIRECT_TO_POOL\",\n    description=\"test l7 policy\",\n    position=1,\n    listener_id=listener1.lb_listener_v2_id,\n    redirect_pool_id=pool1.lb_pool_v2_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var loadbalancer1 = new Opentelekomcloud.LbLoadbalancerV2(\"loadbalancer_1\", new()\n    {\n        Name = \"loadbalancer_1\",\n        VipSubnetId = \"SUBNET_ID\",\n    });\n\n    var listener1 = new Opentelekomcloud.LbListenerV2(\"listener_1\", new()\n    {\n        Name = \"listener_1\",\n        Protocol = \"HTTP\",\n        ProtocolPort = 8080,\n        LoadbalancerId = loadbalancer1.LbLoadbalancerV2Id,\n    });\n\n    var pool1 = new Opentelekomcloud.LbPoolV2(\"pool_1\", new()\n    {\n        Name = \"pool_1\",\n        Protocol = \"HTTP\",\n        LbMethod = \"ROUND_ROBIN\",\n        LoadbalancerId = loadbalancer1.LbLoadbalancerV2Id,\n    });\n\n    var l7policy1 = new Opentelekomcloud.LbL7policyV2(\"l7policy_1\", new()\n    {\n        Name = \"test\",\n        Action = \"REDIRECT_TO_POOL\",\n        Description = \"test l7 policy\",\n        Position = 1,\n        ListenerId = listener1.LbListenerV2Id,\n        RedirectPoolId = pool1.LbPoolV2Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tloadbalancer1, err := opentelekomcloud.NewLbLoadbalancerV2(ctx, \"loadbalancer_1\", \u0026opentelekomcloud.LbLoadbalancerV2Args{\n\t\t\tName:        pulumi.String(\"loadbalancer_1\"),\n\t\t\tVipSubnetId: pulumi.String(\"SUBNET_ID\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlistener1, err := opentelekomcloud.NewLbListenerV2(ctx, \"listener_1\", \u0026opentelekomcloud.LbListenerV2Args{\n\t\t\tName:           pulumi.String(\"listener_1\"),\n\t\t\tProtocol:       pulumi.String(\"HTTP\"),\n\t\t\tProtocolPort:   pulumi.Float64(8080),\n\t\t\tLoadbalancerId: loadbalancer1.LbLoadbalancerV2Id,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpool1, err := opentelekomcloud.NewLbPoolV2(ctx, \"pool_1\", \u0026opentelekomcloud.LbPoolV2Args{\n\t\t\tName:           pulumi.String(\"pool_1\"),\n\t\t\tProtocol:       pulumi.String(\"HTTP\"),\n\t\t\tLbMethod:       pulumi.String(\"ROUND_ROBIN\"),\n\t\t\tLoadbalancerId: loadbalancer1.LbLoadbalancerV2Id,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewLbL7policyV2(ctx, \"l7policy_1\", \u0026opentelekomcloud.LbL7policyV2Args{\n\t\t\tName:           pulumi.String(\"test\"),\n\t\t\tAction:         pulumi.String(\"REDIRECT_TO_POOL\"),\n\t\t\tDescription:    pulumi.String(\"test l7 policy\"),\n\t\t\tPosition:       pulumi.Float64(1),\n\t\t\tListenerId:     listener1.LbListenerV2Id,\n\t\t\tRedirectPoolId: pool1.LbPoolV2Id,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.LbLoadbalancerV2;\nimport com.pulumi.opentelekomcloud.LbLoadbalancerV2Args;\nimport com.pulumi.opentelekomcloud.LbListenerV2;\nimport com.pulumi.opentelekomcloud.LbListenerV2Args;\nimport com.pulumi.opentelekomcloud.LbPoolV2;\nimport com.pulumi.opentelekomcloud.LbPoolV2Args;\nimport com.pulumi.opentelekomcloud.LbL7policyV2;\nimport com.pulumi.opentelekomcloud.LbL7policyV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var loadbalancer1 = new LbLoadbalancerV2(\"loadbalancer1\", LbLoadbalancerV2Args.builder()\n            .name(\"loadbalancer_1\")\n            .vipSubnetId(\"SUBNET_ID\")\n            .build());\n\n        var listener1 = new LbListenerV2(\"listener1\", LbListenerV2Args.builder()\n            .name(\"listener_1\")\n            .protocol(\"HTTP\")\n            .protocolPort(8080.0)\n            .loadbalancerId(loadbalancer1.lbLoadbalancerV2Id())\n            .build());\n\n        var pool1 = new LbPoolV2(\"pool1\", LbPoolV2Args.builder()\n            .name(\"pool_1\")\n            .protocol(\"HTTP\")\n            .lbMethod(\"ROUND_ROBIN\")\n            .loadbalancerId(loadbalancer1.lbLoadbalancerV2Id())\n            .build());\n\n        var l7policy1 = new LbL7policyV2(\"l7policy1\", LbL7policyV2Args.builder()\n            .name(\"test\")\n            .action(\"REDIRECT_TO_POOL\")\n            .description(\"test l7 policy\")\n            .position(1.0)\n            .listenerId(listener1.lbListenerV2Id())\n            .redirectPoolId(pool1.lbPoolV2Id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  loadbalancer1:\n    type: opentelekomcloud:LbLoadbalancerV2\n    name: loadbalancer_1\n    properties:\n      name: loadbalancer_1\n      vipSubnetId: SUBNET_ID\n  listener1:\n    type: opentelekomcloud:LbListenerV2\n    name: listener_1\n    properties:\n      name: listener_1\n      protocol: HTTP\n      protocolPort: 8080\n      loadbalancerId: ${loadbalancer1.lbLoadbalancerV2Id}\n  pool1:\n    type: opentelekomcloud:LbPoolV2\n    name: pool_1\n    properties:\n      name: pool_1\n      protocol: HTTP\n      lbMethod: ROUND_ROBIN\n      loadbalancerId: ${loadbalancer1.lbLoadbalancerV2Id}\n  l7policy1:\n    type: opentelekomcloud:LbL7policyV2\n    name: l7policy_1\n    properties:\n      name: test\n      action: REDIRECT_TO_POOL\n      description: test l7 policy\n      position: 1\n      listenerId: ${listener1.lbListenerV2Id}\n      redirectPoolId: ${pool1.lbPoolV2Id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLoad Balancer L7 Policy can be imported using the L7 Policy ID, e.g.:\n\n```sh\n$ pulumi import opentelekomcloud:index/lbL7policyV2:LbL7policyV2 l7policy_1 8a7a79c2-cf17-4e65-b2ae-ddc8bfcf6c74\n```\n\n","properties":{"action":{"type":"string","description":"The L7 Policy action - can either be REDIRECT_TO_POOL,\nor REDIRECT_TO_LISTENER. Changing this creates a new L7 Policy.\n"},"adminStateUp":{"type":"boolean","description":"The administrative state of the L7 Policy.\nThis value can only be true (UP).\n"},"description":{"type":"string","description":"Human-readable description for the L7 Policy.\n"},"lbL7policyV2Id":{"type":"string","description":"The unique ID for the L7 policy.\n"},"listenerId":{"type":"string","description":"The Listener on which the L7 Policy will be associated with.\nChanging this creates a new L7 Policy.\n"},"name":{"type":"string","description":"Human-readable name for the L7 Policy. Does not have\nto be unique.\n"},"position":{"type":"number","description":"The position of this policy on the listener. Positions start at 1. Changing this creates a new L7 Policy.\n"},"redirectListenerId":{"type":"string","description":"Requests matching this policy will be redirected to the listener with this ID.\nOnly valid if action is REDIRECT_TO_LISTENER.\n"},"redirectPoolId":{"type":"string","description":"Requests matching this policy will be redirected to the pool with this ID.\nOnly valid if action is REDIRECT_TO_POOL.\n"},"region":{"type":"string","description":"The region in which to obtain the V2 Networking client.\nIf omitted, the \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e argument of the provider is used.\nChanging this creates a new L7 Policy.\n"},"tenantId":{"type":"string","description":"Required for admins. The UUID of the tenant who owns\nthe L7 Policy. Only administrative users can specify a tenant UUID\nother than their own. Changing this creates a new L7 Policy.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FLbL7policyV2Timeouts:LbL7policyV2Timeouts"}},"type":"object","required":["action","lbL7policyV2Id","listenerId","name","position","region","tenantId"],"inputProperties":{"action":{"type":"string","description":"The L7 Policy action - can either be REDIRECT_TO_POOL,\nor REDIRECT_TO_LISTENER. Changing this creates a new L7 Policy.\n"},"adminStateUp":{"type":"boolean","description":"The administrative state of the L7 Policy.\nThis value can only be true (UP).\n"},"description":{"type":"string","description":"Human-readable description for the L7 Policy.\n"},"lbL7policyV2Id":{"type":"string","description":"The unique ID for the L7 policy.\n"},"listenerId":{"type":"string","description":"The Listener on which the L7 Policy will be associated with.\nChanging this creates a new L7 Policy.\n"},"name":{"type":"string","description":"Human-readable name for the L7 Policy. Does not have\nto be unique.\n"},"position":{"type":"number","description":"The position of this policy on the listener. Positions start at 1. Changing this creates a new L7 Policy.\n"},"redirectListenerId":{"type":"string","description":"Requests matching this policy will be redirected to the listener with this ID.\nOnly valid if action is REDIRECT_TO_LISTENER.\n"},"redirectPoolId":{"type":"string","description":"Requests matching this policy will be redirected to the pool with this ID.\nOnly valid if action is REDIRECT_TO_POOL.\n"},"region":{"type":"string","description":"The region in which to obtain the V2 Networking client.\nIf omitted, the \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e argument of the provider is used.\nChanging this creates a new L7 Policy.\n"},"tenantId":{"type":"string","description":"Required for admins. The UUID of the tenant who owns\nthe L7 Policy. Only administrative users can specify a tenant UUID\nother than their own. Changing this creates a new L7 Policy.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FLbL7policyV2Timeouts:LbL7policyV2Timeouts"}},"requiredInputs":["action","listenerId"],"stateInputs":{"description":"Input properties used for looking up and filtering LbL7policyV2 resources.\n","properties":{"action":{"type":"string","description":"The L7 Policy action - can either be REDIRECT_TO_POOL,\nor REDIRECT_TO_LISTENER. Changing this creates a new L7 Policy.\n"},"adminStateUp":{"type":"boolean","description":"The administrative state of the L7 Policy.\nThis value can only be true (UP).\n"},"description":{"type":"string","description":"Human-readable description for the L7 Policy.\n"},"lbL7policyV2Id":{"type":"string","description":"The unique ID for the L7 policy.\n"},"listenerId":{"type":"string","description":"The Listener on which the L7 Policy will be associated with.\nChanging this creates a new L7 Policy.\n"},"name":{"type":"string","description":"Human-readable name for the L7 Policy. Does not have\nto be unique.\n"},"position":{"type":"number","description":"The position of this policy on the listener. Positions start at 1. Changing this creates a new L7 Policy.\n"},"redirectListenerId":{"type":"string","description":"Requests matching this policy will be redirected to the listener with this ID.\nOnly valid if action is REDIRECT_TO_LISTENER.\n"},"redirectPoolId":{"type":"string","description":"Requests matching this policy will be redirected to the pool with this ID.\nOnly valid if action is REDIRECT_TO_POOL.\n"},"region":{"type":"string","description":"The region in which to obtain the V2 Networking client.\nIf omitted, the \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e argument of the provider is used.\nChanging this creates a new L7 Policy.\n"},"tenantId":{"type":"string","description":"Required for admins. The UUID of the tenant who owns\nthe L7 Policy. Only administrative users can specify a tenant UUID\nother than their own. Changing this creates a new L7 Policy.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FLbL7policyV2Timeouts:LbL7policyV2Timeouts"}},"type":"object"}},"opentelekomcloud:index/lbL7ruleV2:LbL7ruleV2":{"description":"Up-to-date reference of API arguments for ELB l7 rule you can get at\n[documentation portal](https://docs.otc.t-systems.com/elastic-load-balancing/api-ref/apis_v2.0/forwarding_rule)\n\nManages a V2 L7 Rule resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nresources:\n  loadbalancer1:\n    type: opentelekomcloud:LbLoadbalancerV2\n    name: loadbalancer_1\n    properties:\n      name: loadbalancer_1\n      vipSubnetId: SUBNET_ID\n  listener1:\n    type: opentelekomcloud:LbListenerV2\n    name: listener_1\n    properties:\n      name: listener_1\n      protocol: HTTP\n      protocolPort: 8080\n      loadbalancerId: ${loadbalancer1.lbLoadbalancerV2Id}\n  pool1:\n    type: opentelekomcloud:LbPoolV2\n    name: pool_1\n    properties:\n      name: pool_1\n      protocol: HTTP\n      lbMethod: ROUND_ROBIN\n      loadbalancerId: ${loadbalancer1.lbLoadbalancerV2Id}\n  l7policy1:\n    type: opentelekomcloud:LbL7policyV2\n    name: l7policy_1\n    properties:\n      name: test\n      action: REDIRECT_TO_URL\n      description: test description\n      position: 1\n      listenerId: ${listener1.lbListenerV2Id}\n      redirectUrl: http://www.example.com\n  l7rule1:\n    type: opentelekomcloud:LbL7ruleV2\n    name: l7rule_1\n    properties:\n      l7policyId: ${l7policy1.lbL7policyV2Id}\n      type: PATH\n      compareType: EQUAL_TO\n      value: /api\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLoad Balancer L7 Rule can be imported using the L7 Policy ID and L7 Rule ID\n\nseparated by a slash, e.g.:\n\n```sh\n$ pulumi import opentelekomcloud:index/lbL7ruleV2:LbL7ruleV2 l7rule_1 e0bd694a-abbe-450e-b329-0931fd1cc5eb/4086b0c9-b18c-4d1c-b6b8-4c56c3ad2a9e\n```\n\n","properties":{"adminStateUp":{"type":"boolean","description":"The administrative state of the L7 Rule.\nThe value can only be true (UP).\n"},"compareType":{"type":"string","description":"The comparison type for the L7 rule - can either be\nSTARTS_WITH, EQUAL_TO or REGEX\n"},"key":{"type":"string","description":"The key to use for the comparison. For example, the name of the cookie to\nevaluate. Valid when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to COOKIE or HEADER. Changing this creates a new L7 Rule.\n"},"l7policyId":{"type":"string","description":"The ID of the L7 Policy to query. Changing this creates a new\nL7 Rule.\n"},"lbL7ruleV2Id":{"type":"string","description":"The unique ID for the L7 Rule.\n"},"listenerId":{"type":"string","description":"The ID of the Listener owning this resource.\n"},"region":{"type":"string","description":"The region in which to obtain the V2 Networking client.\nIf omitted, the \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e argument of the provider is used.\nChanging this creates a new L7 Rule.\n"},"tenantId":{"type":"string","description":"Required for admins. The UUID of the tenant who owns\nthe L7 Rule.  Only administrative users can specify a tenant UUID\nother than their own. Changing this creates a new L7 Rule.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FLbL7ruleV2Timeouts:LbL7ruleV2Timeouts"},"type":{"type":"string","description":"The L7 Rule type - can either be HOST_NAME or PATH. Changing this creates a new L7 Rule.\n"},"value":{"type":"string","description":"The value to use for the comparison. For example, the file type to\ncompare.\n"}},"type":"object","required":["compareType","l7policyId","lbL7ruleV2Id","listenerId","region","tenantId","type","value"],"inputProperties":{"adminStateUp":{"type":"boolean","description":"The administrative state of the L7 Rule.\nThe value can only be true (UP).\n"},"compareType":{"type":"string","description":"The comparison type for the L7 rule - can either be\nSTARTS_WITH, EQUAL_TO or REGEX\n"},"key":{"type":"string","description":"The key to use for the comparison. For example, the name of the cookie to\nevaluate. Valid when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to COOKIE or HEADER. Changing this creates a new L7 Rule.\n"},"l7policyId":{"type":"string","description":"The ID of the L7 Policy to query. Changing this creates a new\nL7 Rule.\n"},"lbL7ruleV2Id":{"type":"string","description":"The unique ID for the L7 Rule.\n"},"region":{"type":"string","description":"The region in which to obtain the V2 Networking client.\nIf omitted, the \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e argument of the provider is used.\nChanging this creates a new L7 Rule.\n"},"tenantId":{"type":"string","description":"Required for admins. The UUID of the tenant who owns\nthe L7 Rule.  Only administrative users can specify a tenant UUID\nother than their own. Changing this creates a new L7 Rule.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FLbL7ruleV2Timeouts:LbL7ruleV2Timeouts"},"type":{"type":"string","description":"The L7 Rule type - can either be HOST_NAME or PATH. Changing this creates a new L7 Rule.\n"},"value":{"type":"string","description":"The value to use for the comparison. For example, the file type to\ncompare.\n"}},"requiredInputs":["compareType","l7policyId","type","value"],"stateInputs":{"description":"Input properties used for looking up and filtering LbL7ruleV2 resources.\n","properties":{"adminStateUp":{"type":"boolean","description":"The administrative state of the L7 Rule.\nThe value can only be true (UP).\n"},"compareType":{"type":"string","description":"The comparison type for the L7 rule - can either be\nSTARTS_WITH, EQUAL_TO or REGEX\n"},"key":{"type":"string","description":"The key to use for the comparison. For example, the name of the cookie to\nevaluate. Valid when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to COOKIE or HEADER. Changing this creates a new L7 Rule.\n"},"l7policyId":{"type":"string","description":"The ID of the L7 Policy to query. Changing this creates a new\nL7 Rule.\n"},"lbL7ruleV2Id":{"type":"string","description":"The unique ID for the L7 Rule.\n"},"listenerId":{"type":"string","description":"The ID of the Listener owning this resource.\n"},"region":{"type":"string","description":"The region in which to obtain the V2 Networking client.\nIf omitted, the \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e argument of the provider is used.\nChanging this creates a new L7 Rule.\n"},"tenantId":{"type":"string","description":"Required for admins. The UUID of the tenant who owns\nthe L7 Rule.  Only administrative users can specify a tenant UUID\nother than their own. Changing this creates a new L7 Rule.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FLbL7ruleV2Timeouts:LbL7ruleV2Timeouts"},"type":{"type":"string","description":"The L7 Rule type - can either be HOST_NAME or PATH. Changing this creates a new L7 Rule.\n"},"value":{"type":"string","description":"The value to use for the comparison. For example, the file type to\ncompare.\n"}},"type":"object"}},"opentelekomcloud:index/lbListenerV2:LbListenerV2":{"description":"Up-to-date reference of API arguments for ELB listener you can get at\n[documentation portal](https://docs.otc.t-systems.com/elastic-load-balancing/api-ref/apis_v2.0/listener)\n\nManages an Enhanced LB listener resource within OpenTelekomCloud.\n\n## Example Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst listener1 = new opentelekomcloud.LbListenerV2(\"listener_1\", {\n    protocol: \"HTTP\",\n    protocolPort: 8080,\n    loadbalancerId: \"d9415786-5f1a-428b-b35f-2f1523e146d2\",\n    tags: {\n        muh: \"kuh\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nlistener1 = opentelekomcloud.LbListenerV2(\"listener_1\",\n    protocol=\"HTTP\",\n    protocol_port=8080,\n    loadbalancer_id=\"d9415786-5f1a-428b-b35f-2f1523e146d2\",\n    tags={\n        \"muh\": \"kuh\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var listener1 = new Opentelekomcloud.LbListenerV2(\"listener_1\", new()\n    {\n        Protocol = \"HTTP\",\n        ProtocolPort = 8080,\n        LoadbalancerId = \"d9415786-5f1a-428b-b35f-2f1523e146d2\",\n        Tags = \n        {\n            { \"muh\", \"kuh\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewLbListenerV2(ctx, \"listener_1\", \u0026opentelekomcloud.LbListenerV2Args{\n\t\t\tProtocol:       pulumi.String(\"HTTP\"),\n\t\t\tProtocolPort:   pulumi.Float64(8080),\n\t\t\tLoadbalancerId: pulumi.String(\"d9415786-5f1a-428b-b35f-2f1523e146d2\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"muh\": pulumi.String(\"kuh\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.LbListenerV2;\nimport com.pulumi.opentelekomcloud.LbListenerV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var listener1 = new LbListenerV2(\"listener1\", LbListenerV2Args.builder()\n            .protocol(\"HTTP\")\n            .protocolPort(8080.0)\n            .loadbalancerId(\"d9415786-5f1a-428b-b35f-2f1523e146d2\")\n            .tags(Map.of(\"muh\", \"kuh\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  listener1:\n    type: opentelekomcloud:LbListenerV2\n    name: listener_1\n    properties:\n      protocol: HTTP\n      protocolPort: 8080\n      loadbalancerId: d9415786-5f1a-428b-b35f-2f1523e146d2\n      tags:\n        muh: kuh\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Example Ip Address Group\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst loadbalancer1 = new opentelekomcloud.LbLoadbalancerV2(\"loadbalancer_1\", {\n    name: \"loadbalancer_1\",\n    vipSubnetId: sharedSubnet.subnetId,\n});\nconst group1 = new opentelekomcloud.LbIpgroupV3(\"group_1\", {\n    name: \"group_1\",\n    description: \"some interesting description 1\",\n    ipLists: [{\n        ip: \"192.168.10.10\",\n        description: \"first\",\n    }],\n});\nconst listener1 = new opentelekomcloud.LbListenerV2(\"listener_1\", {\n    name: \"listener_1_updated\",\n    loadbalancerId: loadbalancer1.lbLoadbalancerV2Id,\n    protocol: \"HTTP\",\n    protocolPort: 8080,\n    ipGroup: {\n        id: group1.lbIpgroupV3Id,\n        enable: false,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nloadbalancer1 = opentelekomcloud.LbLoadbalancerV2(\"loadbalancer_1\",\n    name=\"loadbalancer_1\",\n    vip_subnet_id=shared_subnet[\"subnetId\"])\ngroup1 = opentelekomcloud.LbIpgroupV3(\"group_1\",\n    name=\"group_1\",\n    description=\"some interesting description 1\",\n    ip_lists=[{\n        \"ip\": \"192.168.10.10\",\n        \"description\": \"first\",\n    }])\nlistener1 = opentelekomcloud.LbListenerV2(\"listener_1\",\n    name=\"listener_1_updated\",\n    loadbalancer_id=loadbalancer1.lb_loadbalancer_v2_id,\n    protocol=\"HTTP\",\n    protocol_port=8080,\n    ip_group={\n        \"id\": group1.lb_ipgroup_v3_id,\n        \"enable\": False,\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var loadbalancer1 = new Opentelekomcloud.LbLoadbalancerV2(\"loadbalancer_1\", new()\n    {\n        Name = \"loadbalancer_1\",\n        VipSubnetId = sharedSubnet.SubnetId,\n    });\n\n    var group1 = new Opentelekomcloud.LbIpgroupV3(\"group_1\", new()\n    {\n        Name = \"group_1\",\n        Description = \"some interesting description 1\",\n        IpLists = new[]\n        {\n            new Opentelekomcloud.Inputs.LbIpgroupV3IpListArgs\n            {\n                Ip = \"192.168.10.10\",\n                Description = \"first\",\n            },\n        },\n    });\n\n    var listener1 = new Opentelekomcloud.LbListenerV2(\"listener_1\", new()\n    {\n        Name = \"listener_1_updated\",\n        LoadbalancerId = loadbalancer1.LbLoadbalancerV2Id,\n        Protocol = \"HTTP\",\n        ProtocolPort = 8080,\n        IpGroup = new Opentelekomcloud.Inputs.LbListenerV2IpGroupArgs\n        {\n            Id = group1.LbIpgroupV3Id,\n            Enable = false,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tloadbalancer1, err := opentelekomcloud.NewLbLoadbalancerV2(ctx, \"loadbalancer_1\", \u0026opentelekomcloud.LbLoadbalancerV2Args{\n\t\t\tName:        pulumi.String(\"loadbalancer_1\"),\n\t\t\tVipSubnetId: pulumi.Any(sharedSubnet.SubnetId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tgroup1, err := opentelekomcloud.NewLbIpgroupV3(ctx, \"group_1\", \u0026opentelekomcloud.LbIpgroupV3Args{\n\t\t\tName:        pulumi.String(\"group_1\"),\n\t\t\tDescription: pulumi.String(\"some interesting description 1\"),\n\t\t\tIpLists: opentelekomcloud.LbIpgroupV3IpListArray{\n\t\t\t\t\u0026opentelekomcloud.LbIpgroupV3IpListArgs{\n\t\t\t\t\tIp:          pulumi.String(\"192.168.10.10\"),\n\t\t\t\t\tDescription: pulumi.String(\"first\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewLbListenerV2(ctx, \"listener_1\", \u0026opentelekomcloud.LbListenerV2Args{\n\t\t\tName:           pulumi.String(\"listener_1_updated\"),\n\t\t\tLoadbalancerId: loadbalancer1.LbLoadbalancerV2Id,\n\t\t\tProtocol:       pulumi.String(\"HTTP\"),\n\t\t\tProtocolPort:   pulumi.Float64(8080),\n\t\t\tIpGroup: \u0026opentelekomcloud.LbListenerV2IpGroupArgs{\n\t\t\t\tId:     group1.LbIpgroupV3Id,\n\t\t\t\tEnable: pulumi.Bool(false),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.LbLoadbalancerV2;\nimport com.pulumi.opentelekomcloud.LbLoadbalancerV2Args;\nimport com.pulumi.opentelekomcloud.LbIpgroupV3;\nimport com.pulumi.opentelekomcloud.LbIpgroupV3Args;\nimport com.pulumi.opentelekomcloud.inputs.LbIpgroupV3IpListArgs;\nimport com.pulumi.opentelekomcloud.LbListenerV2;\nimport com.pulumi.opentelekomcloud.LbListenerV2Args;\nimport com.pulumi.opentelekomcloud.inputs.LbListenerV2IpGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var loadbalancer1 = new LbLoadbalancerV2(\"loadbalancer1\", LbLoadbalancerV2Args.builder()\n            .name(\"loadbalancer_1\")\n            .vipSubnetId(sharedSubnet.subnetId())\n            .build());\n\n        var group1 = new LbIpgroupV3(\"group1\", LbIpgroupV3Args.builder()\n            .name(\"group_1\")\n            .description(\"some interesting description 1\")\n            .ipLists(LbIpgroupV3IpListArgs.builder()\n                .ip(\"192.168.10.10\")\n                .description(\"first\")\n                .build())\n            .build());\n\n        var listener1 = new LbListenerV2(\"listener1\", LbListenerV2Args.builder()\n            .name(\"listener_1_updated\")\n            .loadbalancerId(loadbalancer1.lbLoadbalancerV2Id())\n            .protocol(\"HTTP\")\n            .protocolPort(8080.0)\n            .ipGroup(LbListenerV2IpGroupArgs.builder()\n                .id(group1.lbIpgroupV3Id())\n                .enable(false)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  loadbalancer1:\n    type: opentelekomcloud:LbLoadbalancerV2\n    name: loadbalancer_1\n    properties:\n      name: loadbalancer_1\n      vipSubnetId: ${sharedSubnet.subnetId}\n  group1:\n    type: opentelekomcloud:LbIpgroupV3\n    name: group_1\n    properties:\n      name: group_1\n      description: some interesting description 1\n      ipLists:\n        - ip: 192.168.10.10\n          description: first\n  listener1:\n    type: opentelekomcloud:LbListenerV2\n    name: listener_1\n    properties:\n      name: listener_1_updated\n      loadbalancerId: ${loadbalancer1.lbLoadbalancerV2Id}\n      protocol: HTTP\n      protocolPort: 8080\n      ipGroup:\n        id: ${group1.lbIpgroupV3Id}\n        enable: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nListeners can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/lbListenerV2:LbListenerV2 listener_1 7117d38e-4c8f-4624-a505-bd96b97d024c\n```\n\n","properties":{"adminStateUp":{"type":"boolean","description":"The administrative state of the Listener.\nA valid value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e (UP) or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e (DOWN).\n"},"clientCaTlsContainerRef":{"type":"string","description":"Specifies the ID of a certificate container of type \u003cspan pulumi-lang-nodejs=\"`client`\" pulumi-lang-dotnet=\"`Client`\" pulumi-lang-go=\"`client`\" pulumi-lang-python=\"`client`\" pulumi-lang-yaml=\"`client`\" pulumi-lang-java=\"`client`\"\u003e`client`\u003c/span\u003e\nused by the listener. The value contains a maximum of 128 characters. The default value is \u003cspan pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\"\u003e`null`\u003c/span\u003e.\nThe loadbalancer only establishes a TLS connection if the client presents a certificate delivered by\nthe client CA whose certificate is registered in the referenced certificate container. The option is\neffective only in conjunction with `TERMINATED_HTTPS`.\n"},"defaultPoolId":{"type":"string","description":"The ID of the default pool with which the\nListener is associated. Changing this creates a new Listener.\n"},"defaultTlsContainerRef":{"type":"string","description":"Specifies the ID of a certificate container of type \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e\nused by the listener. The value contains a maximum of 128 characters. The default value is \u003cspan pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\"\u003e`null`\u003c/span\u003e.\nThis parameter is **required** when protocol is set to `TERMINATED_HTTPS`.\nSee [here](https://wiki.openstack.org/wiki/Network/LBaaS/docs/how-to-create-tls-loadbalancer)\nfor more information.\n"},"description":{"type":"string","description":"Human-readable description for the Listener.\n"},"http2Enable":{"type":"boolean","description":"\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e to enable HTTP/2 mode of ELB.\nHTTP/2 is disabled by default if not set.\n"},"ipGroup":{"$ref":"#/types/opentelekomcloud:index%2FLbListenerV2IpGroup:LbListenerV2IpGroup","description":"Specifies the IP address group associated with the listener.\n"},"lbListenerV2Id":{"type":"string","description":"The unique ID for the Listener.\n"},"loadbalancerId":{"type":"string","description":"The load balancer on which to provision this\nListener. Changing this creates a new Listener.\n"},"name":{"type":"string","description":"Human-readable name for the Listener. Does not have\nto be unique.\n"},"protocol":{"type":"string","description":"The protocol - can either be `TCP`, `HTTP`, `UDP` or `TERMINATED_HTTPS`.\nChanging this creates a new Listener.\n"},"protocolPort":{"type":"number","description":"The port on which to listen for client traffic.\nChanging this creates a new Listener.\n"},"region":{"type":"string"},"sniContainerRefs":{"type":"array","items":{"type":"string"},"description":"Lists the IDs of SNI certificates (server certificates with a domain name) used\nby the listener. If the parameter value is an empty list, the SNI feature is disabled.\nThe default value is `[]`. It only works in conjunction with `TERMINATED_HTTPS`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags key/value pairs to associate with the loadbalancer listener.\n"},"tenantId":{"type":"string","description":"Required for admins. The UUID of the tenant who owns\nthe Listener.  Only administrative users can specify a tenant UUID\nother than their own. Changing this creates a new Listener.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FLbListenerV2Timeouts:LbListenerV2Timeouts"},"tlsCiphersPolicy":{"type":"string","description":"Controls the TLS version used. Supported values are `tls-1-0`, `tls-1-1`,\n`tls-1-2` and `tls-1-2-strict`. If not set, the loadbalancer uses `tls-1-0`. See\n[here](https://docs.otc.t-systems.com/api/elb/elb_zq_jt_0001.html) for details about the supported cipher\nsuites. The option is effective only in conjunction with `TERMINATED_HTTPS`.\n"},"transparentClientIpEnable":{"type":"boolean","description":"Specifies whether to pass source IP addresses of the clients to\nbackend servers. The value is always \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for `HTTP` and `HTTPS` listeners. For `TCP` and `UDP` listeners the\nvalue can be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e with \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e by default.\n\n-\u003e\nIf the load balancer is a Dedicated Load Balancer, \u003cspan pulumi-lang-nodejs=\"`transparentClientIpEnable`\" pulumi-lang-dotnet=\"`TransparentClientIpEnable`\" pulumi-lang-go=\"`transparentClientIpEnable`\" pulumi-lang-python=\"`transparent_client_ip_enable`\" pulumi-lang-yaml=\"`transparentClientIpEnable`\" pulumi-lang-java=\"`transparentClientIpEnable`\"\u003e`transparent_client_ip_enable`\u003c/span\u003e is always \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e\n"}},"type":"object","required":["clientCaTlsContainerRef","defaultPoolId","defaultTlsContainerRef","lbListenerV2Id","loadbalancerId","name","protocol","protocolPort","region","tenantId","transparentClientIpEnable"],"inputProperties":{"adminStateUp":{"type":"boolean","description":"The administrative state of the Listener.\nA valid value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e (UP) or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e (DOWN).\n"},"clientCaTlsContainerRef":{"type":"string","description":"Specifies the ID of a certificate container of type \u003cspan pulumi-lang-nodejs=\"`client`\" pulumi-lang-dotnet=\"`Client`\" pulumi-lang-go=\"`client`\" pulumi-lang-python=\"`client`\" pulumi-lang-yaml=\"`client`\" pulumi-lang-java=\"`client`\"\u003e`client`\u003c/span\u003e\nused by the listener. The value contains a maximum of 128 characters. The default value is \u003cspan pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\"\u003e`null`\u003c/span\u003e.\nThe loadbalancer only establishes a TLS connection if the client presents a certificate delivered by\nthe client CA whose certificate is registered in the referenced certificate container. The option is\neffective only in conjunction with `TERMINATED_HTTPS`.\n"},"defaultPoolId":{"type":"string","description":"The ID of the default pool with which the\nListener is associated. Changing this creates a new Listener.\n"},"defaultTlsContainerRef":{"type":"string","description":"Specifies the ID of a certificate container of type \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e\nused by the listener. The value contains a maximum of 128 characters. The default value is \u003cspan pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\"\u003e`null`\u003c/span\u003e.\nThis parameter is **required** when protocol is set to `TERMINATED_HTTPS`.\nSee [here](https://wiki.openstack.org/wiki/Network/LBaaS/docs/how-to-create-tls-loadbalancer)\nfor more information.\n"},"description":{"type":"string","description":"Human-readable description for the Listener.\n"},"http2Enable":{"type":"boolean","description":"\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e to enable HTTP/2 mode of ELB.\nHTTP/2 is disabled by default if not set.\n"},"ipGroup":{"$ref":"#/types/opentelekomcloud:index%2FLbListenerV2IpGroup:LbListenerV2IpGroup","description":"Specifies the IP address group associated with the listener.\n"},"lbListenerV2Id":{"type":"string","description":"The unique ID for the Listener.\n"},"loadbalancerId":{"type":"string","description":"The load balancer on which to provision this\nListener. Changing this creates a new Listener.\n"},"name":{"type":"string","description":"Human-readable name for the Listener. Does not have\nto be unique.\n"},"protocol":{"type":"string","description":"The protocol - can either be `TCP`, `HTTP`, `UDP` or `TERMINATED_HTTPS`.\nChanging this creates a new Listener.\n"},"protocolPort":{"type":"number","description":"The port on which to listen for client traffic.\nChanging this creates a new Listener.\n"},"region":{"type":"string"},"sniContainerRefs":{"type":"array","items":{"type":"string"},"description":"Lists the IDs of SNI certificates (server certificates with a domain name) used\nby the listener. If the parameter value is an empty list, the SNI feature is disabled.\nThe default value is `[]`. It only works in conjunction with `TERMINATED_HTTPS`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags key/value pairs to associate with the loadbalancer listener.\n"},"tenantId":{"type":"string","description":"Required for admins. The UUID of the tenant who owns\nthe Listener.  Only administrative users can specify a tenant UUID\nother than their own. Changing this creates a new Listener.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FLbListenerV2Timeouts:LbListenerV2Timeouts"},"tlsCiphersPolicy":{"type":"string","description":"Controls the TLS version used. Supported values are `tls-1-0`, `tls-1-1`,\n`tls-1-2` and `tls-1-2-strict`. If not set, the loadbalancer uses `tls-1-0`. See\n[here](https://docs.otc.t-systems.com/api/elb/elb_zq_jt_0001.html) for details about the supported cipher\nsuites. The option is effective only in conjunction with `TERMINATED_HTTPS`.\n"},"transparentClientIpEnable":{"type":"boolean","description":"Specifies whether to pass source IP addresses of the clients to\nbackend servers. The value is always \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for `HTTP` and `HTTPS` listeners. For `TCP` and `UDP` listeners the\nvalue can be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e with \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e by default.\n\n-\u003e\nIf the load balancer is a Dedicated Load Balancer, \u003cspan pulumi-lang-nodejs=\"`transparentClientIpEnable`\" pulumi-lang-dotnet=\"`TransparentClientIpEnable`\" pulumi-lang-go=\"`transparentClientIpEnable`\" pulumi-lang-python=\"`transparent_client_ip_enable`\" pulumi-lang-yaml=\"`transparentClientIpEnable`\" pulumi-lang-java=\"`transparentClientIpEnable`\"\u003e`transparent_client_ip_enable`\u003c/span\u003e is always \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e\n"}},"requiredInputs":["loadbalancerId","protocol","protocolPort"],"stateInputs":{"description":"Input properties used for looking up and filtering LbListenerV2 resources.\n","properties":{"adminStateUp":{"type":"boolean","description":"The administrative state of the Listener.\nA valid value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e (UP) or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e (DOWN).\n"},"clientCaTlsContainerRef":{"type":"string","description":"Specifies the ID of a certificate container of type \u003cspan pulumi-lang-nodejs=\"`client`\" pulumi-lang-dotnet=\"`Client`\" pulumi-lang-go=\"`client`\" pulumi-lang-python=\"`client`\" pulumi-lang-yaml=\"`client`\" pulumi-lang-java=\"`client`\"\u003e`client`\u003c/span\u003e\nused by the listener. The value contains a maximum of 128 characters. The default value is \u003cspan pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\"\u003e`null`\u003c/span\u003e.\nThe loadbalancer only establishes a TLS connection if the client presents a certificate delivered by\nthe client CA whose certificate is registered in the referenced certificate container. The option is\neffective only in conjunction with `TERMINATED_HTTPS`.\n"},"defaultPoolId":{"type":"string","description":"The ID of the default pool with which the\nListener is associated. Changing this creates a new Listener.\n"},"defaultTlsContainerRef":{"type":"string","description":"Specifies the ID of a certificate container of type \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e\nused by the listener. The value contains a maximum of 128 characters. The default value is \u003cspan pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\"\u003e`null`\u003c/span\u003e.\nThis parameter is **required** when protocol is set to `TERMINATED_HTTPS`.\nSee [here](https://wiki.openstack.org/wiki/Network/LBaaS/docs/how-to-create-tls-loadbalancer)\nfor more information.\n"},"description":{"type":"string","description":"Human-readable description for the Listener.\n"},"http2Enable":{"type":"boolean","description":"\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e to enable HTTP/2 mode of ELB.\nHTTP/2 is disabled by default if not set.\n"},"ipGroup":{"$ref":"#/types/opentelekomcloud:index%2FLbListenerV2IpGroup:LbListenerV2IpGroup","description":"Specifies the IP address group associated with the listener.\n"},"lbListenerV2Id":{"type":"string","description":"The unique ID for the Listener.\n"},"loadbalancerId":{"type":"string","description":"The load balancer on which to provision this\nListener. Changing this creates a new Listener.\n"},"name":{"type":"string","description":"Human-readable name for the Listener. Does not have\nto be unique.\n"},"protocol":{"type":"string","description":"The protocol - can either be `TCP`, `HTTP`, `UDP` or `TERMINATED_HTTPS`.\nChanging this creates a new Listener.\n"},"protocolPort":{"type":"number","description":"The port on which to listen for client traffic.\nChanging this creates a new Listener.\n"},"region":{"type":"string"},"sniContainerRefs":{"type":"array","items":{"type":"string"},"description":"Lists the IDs of SNI certificates (server certificates with a domain name) used\nby the listener. If the parameter value is an empty list, the SNI feature is disabled.\nThe default value is `[]`. It only works in conjunction with `TERMINATED_HTTPS`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags key/value pairs to associate with the loadbalancer listener.\n"},"tenantId":{"type":"string","description":"Required for admins. The UUID of the tenant who owns\nthe Listener.  Only administrative users can specify a tenant UUID\nother than their own. Changing this creates a new Listener.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FLbListenerV2Timeouts:LbListenerV2Timeouts"},"tlsCiphersPolicy":{"type":"string","description":"Controls the TLS version used. Supported values are `tls-1-0`, `tls-1-1`,\n`tls-1-2` and `tls-1-2-strict`. If not set, the loadbalancer uses `tls-1-0`. See\n[here](https://docs.otc.t-systems.com/api/elb/elb_zq_jt_0001.html) for details about the supported cipher\nsuites. The option is effective only in conjunction with `TERMINATED_HTTPS`.\n"},"transparentClientIpEnable":{"type":"boolean","description":"Specifies whether to pass source IP addresses of the clients to\nbackend servers. The value is always \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for `HTTP` and `HTTPS` listeners. For `TCP` and `UDP` listeners the\nvalue can be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e with \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e by default.\n\n-\u003e\nIf the load balancer is a Dedicated Load Balancer, \u003cspan pulumi-lang-nodejs=\"`transparentClientIpEnable`\" pulumi-lang-dotnet=\"`TransparentClientIpEnable`\" pulumi-lang-go=\"`transparentClientIpEnable`\" pulumi-lang-python=\"`transparent_client_ip_enable`\" pulumi-lang-yaml=\"`transparentClientIpEnable`\" pulumi-lang-java=\"`transparentClientIpEnable`\"\u003e`transparent_client_ip_enable`\u003c/span\u003e is always \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e\n"}},"type":"object"}},"opentelekomcloud:index/lbListenerV3:LbListenerV3":{"description":"Up-to-date reference of API arguments for DLB listener you can get at\n[documentation portal](https://docs.otc.t-systems.com/elastic-load-balancing/api-ref/apis_v3/listener)\n\nManages a Dedicated LB listener resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst listener1 = new opentelekomcloud.LbListenerV3(\"listener_1\", {\n    protocol: \"HTTP\",\n    protocolPort: 8080,\n    loadbalancerId: loadbalancerId,\n    tags: {\n        muh: \"kuh\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nlistener1 = opentelekomcloud.LbListenerV3(\"listener_1\",\n    protocol=\"HTTP\",\n    protocol_port=8080,\n    loadbalancer_id=loadbalancer_id,\n    tags={\n        \"muh\": \"kuh\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var listener1 = new Opentelekomcloud.LbListenerV3(\"listener_1\", new()\n    {\n        Protocol = \"HTTP\",\n        ProtocolPort = 8080,\n        LoadbalancerId = loadbalancerId,\n        Tags = \n        {\n            { \"muh\", \"kuh\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewLbListenerV3(ctx, \"listener_1\", \u0026opentelekomcloud.LbListenerV3Args{\n\t\t\tProtocol:       pulumi.String(\"HTTP\"),\n\t\t\tProtocolPort:   pulumi.Float64(8080),\n\t\t\tLoadbalancerId: pulumi.Any(loadbalancerId),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"muh\": pulumi.String(\"kuh\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.LbListenerV3;\nimport com.pulumi.opentelekomcloud.LbListenerV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var listener1 = new LbListenerV3(\"listener1\", LbListenerV3Args.builder()\n            .protocol(\"HTTP\")\n            .protocolPort(8080.0)\n            .loadbalancerId(loadbalancerId)\n            .tags(Map.of(\"muh\", \"kuh\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  listener1:\n    type: opentelekomcloud:LbListenerV3\n    name: listener_1\n    properties:\n      protocol: HTTP\n      protocolPort: 8080\n      loadbalancerId: ${loadbalancerId}\n      tags:\n        muh: kuh\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Example Ip Address Group\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst group1 = new opentelekomcloud.LbIpgroupV3(\"group_1\", {\n    name: \"group_2\",\n    description: \"some interesting description 2\",\n    ipLists: [{\n        ip: \"192.168.10.11\",\n        description: \"one\",\n    }],\n});\nconst listener1 = new opentelekomcloud.LbListenerV3(\"listener_1\", {\n    name: \"listener_1\",\n    description: \"some interesting description\",\n    loadbalancerId: loadbalancer1.id,\n    protocol: \"HTTP\",\n    protocolPort: 8080,\n    advancedForwarding: true,\n    sniMatchAlgo: \"wildcard\",\n    insertHeaders: {\n        forwardedHost: true,\n    },\n    ipGroup: {\n        id: group1.lbIpgroupV3Id,\n        enable: true,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ngroup1 = opentelekomcloud.LbIpgroupV3(\"group_1\",\n    name=\"group_2\",\n    description=\"some interesting description 2\",\n    ip_lists=[{\n        \"ip\": \"192.168.10.11\",\n        \"description\": \"one\",\n    }])\nlistener1 = opentelekomcloud.LbListenerV3(\"listener_1\",\n    name=\"listener_1\",\n    description=\"some interesting description\",\n    loadbalancer_id=loadbalancer1[\"id\"],\n    protocol=\"HTTP\",\n    protocol_port=8080,\n    advanced_forwarding=True,\n    sni_match_algo=\"wildcard\",\n    insert_headers={\n        \"forwarded_host\": True,\n    },\n    ip_group={\n        \"id\": group1.lb_ipgroup_v3_id,\n        \"enable\": True,\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var group1 = new Opentelekomcloud.LbIpgroupV3(\"group_1\", new()\n    {\n        Name = \"group_2\",\n        Description = \"some interesting description 2\",\n        IpLists = new[]\n        {\n            new Opentelekomcloud.Inputs.LbIpgroupV3IpListArgs\n            {\n                Ip = \"192.168.10.11\",\n                Description = \"one\",\n            },\n        },\n    });\n\n    var listener1 = new Opentelekomcloud.LbListenerV3(\"listener_1\", new()\n    {\n        Name = \"listener_1\",\n        Description = \"some interesting description\",\n        LoadbalancerId = loadbalancer1.Id,\n        Protocol = \"HTTP\",\n        ProtocolPort = 8080,\n        AdvancedForwarding = true,\n        SniMatchAlgo = \"wildcard\",\n        InsertHeaders = new Opentelekomcloud.Inputs.LbListenerV3InsertHeadersArgs\n        {\n            ForwardedHost = true,\n        },\n        IpGroup = new Opentelekomcloud.Inputs.LbListenerV3IpGroupArgs\n        {\n            Id = group1.LbIpgroupV3Id,\n            Enable = true,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tgroup1, err := opentelekomcloud.NewLbIpgroupV3(ctx, \"group_1\", \u0026opentelekomcloud.LbIpgroupV3Args{\n\t\t\tName:        pulumi.String(\"group_2\"),\n\t\t\tDescription: pulumi.String(\"some interesting description 2\"),\n\t\t\tIpLists: opentelekomcloud.LbIpgroupV3IpListArray{\n\t\t\t\t\u0026opentelekomcloud.LbIpgroupV3IpListArgs{\n\t\t\t\t\tIp:          pulumi.String(\"192.168.10.11\"),\n\t\t\t\t\tDescription: pulumi.String(\"one\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewLbListenerV3(ctx, \"listener_1\", \u0026opentelekomcloud.LbListenerV3Args{\n\t\t\tName:               pulumi.String(\"listener_1\"),\n\t\t\tDescription:        pulumi.String(\"some interesting description\"),\n\t\t\tLoadbalancerId:     pulumi.Any(loadbalancer1.Id),\n\t\t\tProtocol:           pulumi.String(\"HTTP\"),\n\t\t\tProtocolPort:       pulumi.Float64(8080),\n\t\t\tAdvancedForwarding: pulumi.Bool(true),\n\t\t\tSniMatchAlgo:       pulumi.String(\"wildcard\"),\n\t\t\tInsertHeaders: \u0026opentelekomcloud.LbListenerV3InsertHeadersArgs{\n\t\t\t\tForwardedHost: pulumi.Bool(true),\n\t\t\t},\n\t\t\tIpGroup: \u0026opentelekomcloud.LbListenerV3IpGroupArgs{\n\t\t\t\tId:     group1.LbIpgroupV3Id,\n\t\t\t\tEnable: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.LbIpgroupV3;\nimport com.pulumi.opentelekomcloud.LbIpgroupV3Args;\nimport com.pulumi.opentelekomcloud.inputs.LbIpgroupV3IpListArgs;\nimport com.pulumi.opentelekomcloud.LbListenerV3;\nimport com.pulumi.opentelekomcloud.LbListenerV3Args;\nimport com.pulumi.opentelekomcloud.inputs.LbListenerV3InsertHeadersArgs;\nimport com.pulumi.opentelekomcloud.inputs.LbListenerV3IpGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var group1 = new LbIpgroupV3(\"group1\", LbIpgroupV3Args.builder()\n            .name(\"group_2\")\n            .description(\"some interesting description 2\")\n            .ipLists(LbIpgroupV3IpListArgs.builder()\n                .ip(\"192.168.10.11\")\n                .description(\"one\")\n                .build())\n            .build());\n\n        var listener1 = new LbListenerV3(\"listener1\", LbListenerV3Args.builder()\n            .name(\"listener_1\")\n            .description(\"some interesting description\")\n            .loadbalancerId(loadbalancer1.id())\n            .protocol(\"HTTP\")\n            .protocolPort(8080.0)\n            .advancedForwarding(true)\n            .sniMatchAlgo(\"wildcard\")\n            .insertHeaders(LbListenerV3InsertHeadersArgs.builder()\n                .forwardedHost(true)\n                .build())\n            .ipGroup(LbListenerV3IpGroupArgs.builder()\n                .id(group1.lbIpgroupV3Id())\n                .enable(true)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  group1:\n    type: opentelekomcloud:LbIpgroupV3\n    name: group_1\n    properties:\n      name: group_2\n      description: some interesting description 2\n      ipLists:\n        - ip: 192.168.10.11\n          description: one\n  listener1:\n    type: opentelekomcloud:LbListenerV3\n    name: listener_1\n    properties:\n      name: listener_1\n      description: some interesting description\n      loadbalancerId: ${loadbalancer1.id}\n      protocol: HTTP\n      protocolPort: 8080\n      advancedForwarding: true\n      sniMatchAlgo: wildcard\n      insertHeaders:\n        forwardedHost: true\n      ipGroup:\n        id: ${group1.lbIpgroupV3Id}\n        enable: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nListeners can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/lbListenerV3:LbListenerV3 listener_1 7117d38e-4c8f-4624-a505-bd96b97d024c\n```\n\n","properties":{"adminStateUp":{"type":"boolean"},"advancedForwarding":{"type":"boolean","description":"Specifies whether to enable advanced forwarding.\nIf advanced forwarding is enabled, more flexible forwarding policies and rules are supported.\nThe value can be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e (enable advanced forwarding) or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e (disable advanced forwarding),\nand the default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this creates a new Listener.\n"},"clientCaTlsContainerRef":{"type":"string","description":"Specifies the ID of the CA certificate used by the listener.\n"},"clientTimeout":{"type":"number","description":"Specifies the timeout duration for waiting for a request from a client, in seconds.\nThis parameter is available only for `HTTP` and `HTTPS` listeners. The value ranges from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e, and\nthe default value is \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e. An error will be returned if you configure this parameter for `TCP` and `UDP` listeners.\n"},"createdAt":{"type":"string","description":"Indicates the creation time.\n"},"defaultPoolId":{"type":"string","description":"Specifies the ID of the default backend server group. If there is no\nmatched forwarding policy, requests are forwarded to the default backend server for processing.\n"},"defaultTlsContainerRef":{"type":"string","description":"Specifies the ID of the server certificate used by the listener.\n"},"description":{"type":"string","description":"Provides supplementary information about the listener.\n"},"http2Enable":{"type":"boolean","description":"Specifies whether to use HTTP/2. This parameter is available only for `HTTPS`\nlisteners. If you configure this parameter for other types of listeners, it will not take effect. Enable\nHTTP/2 if you want the clients to use HTTP/2 to communicate with the load balancer.\nHowever, connections between the load balancer and backend servers use HTTP/1.x by default.\n"},"insertHeaders":{"$ref":"#/types/opentelekomcloud:index%2FLbListenerV3InsertHeaders:LbListenerV3InsertHeaders","description":"Specifies the HTTP header fields.\n"},"ipGroup":{"$ref":"#/types/opentelekomcloud:index%2FLbListenerV3IpGroup:LbListenerV3IpGroup","description":"Specifies the IP address group associated with the listener.\n"},"keepAliveTimeout":{"type":"number","description":"Specifies the idle timeout duration, in seconds.\n* For `TCP` listeners, the value ranges from \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`4000`\" pulumi-lang-dotnet=\"`4000`\" pulumi-lang-go=\"`4000`\" pulumi-lang-python=\"`4000`\" pulumi-lang-yaml=\"`4000`\" pulumi-lang-java=\"`4000`\"\u003e`4000`\u003c/span\u003e, and the default value is \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e.\n* For `HTTP` and `HTTPS` listeners, the value ranges from \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`4000`\" pulumi-lang-dotnet=\"`4000`\" pulumi-lang-go=\"`4000`\" pulumi-lang-python=\"`4000`\" pulumi-lang-yaml=\"`4000`\" pulumi-lang-java=\"`4000`\"\u003e`4000`\u003c/span\u003e, and the default value is \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e.\n* For `UDP` listeners, this parameter is not available. An error will be returned if you\nconfigure this parameter for `UDP` listeners.\n"},"lbListenerV3Id":{"type":"string"},"loadbalancerId":{"type":"string","description":"Specifies the ID of the load balancer that the listener is added to.\n"},"memberRetryEnable":{"type":"boolean","description":"Specifies whether to enable health check retries for backend servers.\nThis parameter is available only for `HTTP` and `HTTPS` listeners. An error will be returned if you configure\nthis parameter for `TCP` and `UDP` listeners.\n"},"memberTimeout":{"type":"number","description":"Specifies the timeout duration for waiting for a request from a\nbackend server, in seconds. This parameter is available only for `HTTP` and `HTTPS` listeners.\nThe value ranges from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e, and the default value is \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e. An error will be returned if\nyou configure this parameter for `TCP` and `UDP` listeners.\n"},"name":{"type":"string","description":"Specifies the listener name.\n"},"protocol":{"type":"string","description":"The protocol - can either be `TCP`, `HTTP`, `HTTPS` or `UDP`.\nChanging this creates a new Listener.\n"},"protocolPort":{"type":"number","description":"Specifies the port used by the listener. Changing this creates a new Listener.\n"},"securityPolicyId":{"type":"string","description":"Specifies the ID of the custom security policy.\n"},"sniContainerRefs":{"type":"array","items":{"type":"string"},"description":"Lists the IDs of SNI certificates (server certificates with domain names) used by the listener.\nEach SNI certificate can have up to 30 domain names, and each domain name in the SNI certificate must be unique.\nThis parameter will be ignored and an empty array will be returned if the listener's protocol is not `HTTPS`.\n"},"sniMatchAlgo":{"type":"string","description":"Specifies how wildcard domain name matches with the SNI certificates\nused by the listener.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags key/value pairs to associate with the loadbalancer listener.\n"},"tlsCiphersPolicy":{"type":"string","description":"Specifies the security policy that will be used by the listener.\nThis parameter is available only for `HTTPS` listeners. An error will be returned if the protocol\nof the listener is not `HTTPS`. Possible values are: `tls-1-0`, `tls-1-1`, `tls-1-0-inherit`, `tls-1-2`,\n`tls-1-2-strict`, `tls-1-2-fs`, `tls-1-0-with-1-3`, `tls-1-2-fs-with-1-3`, `hybrid-policy-1-0`, `tls-1-2-strict-no-cbc`.\n"},"updatedAt":{"type":"string","description":"Indicates the update time.\n"}},"type":"object","required":["advancedForwarding","clientTimeout","createdAt","defaultPoolId","keepAliveTimeout","lbListenerV3Id","loadbalancerId","memberTimeout","name","protocol","protocolPort","securityPolicyId","sniMatchAlgo","tlsCiphersPolicy","updatedAt"],"inputProperties":{"adminStateUp":{"type":"boolean"},"advancedForwarding":{"type":"boolean","description":"Specifies whether to enable advanced forwarding.\nIf advanced forwarding is enabled, more flexible forwarding policies and rules are supported.\nThe value can be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e (enable advanced forwarding) or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e (disable advanced forwarding),\nand the default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this creates a new Listener.\n"},"clientCaTlsContainerRef":{"type":"string","description":"Specifies the ID of the CA certificate used by the listener.\n"},"clientTimeout":{"type":"number","description":"Specifies the timeout duration for waiting for a request from a client, in seconds.\nThis parameter is available only for `HTTP` and `HTTPS` listeners. The value ranges from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e, and\nthe default value is \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e. An error will be returned if you configure this parameter for `TCP` and `UDP` listeners.\n"},"defaultPoolId":{"type":"string","description":"Specifies the ID of the default backend server group. If there is no\nmatched forwarding policy, requests are forwarded to the default backend server for processing.\n"},"defaultTlsContainerRef":{"type":"string","description":"Specifies the ID of the server certificate used by the listener.\n"},"description":{"type":"string","description":"Provides supplementary information about the listener.\n"},"http2Enable":{"type":"boolean","description":"Specifies whether to use HTTP/2. This parameter is available only for `HTTPS`\nlisteners. If you configure this parameter for other types of listeners, it will not take effect. Enable\nHTTP/2 if you want the clients to use HTTP/2 to communicate with the load balancer.\nHowever, connections between the load balancer and backend servers use HTTP/1.x by default.\n"},"insertHeaders":{"$ref":"#/types/opentelekomcloud:index%2FLbListenerV3InsertHeaders:LbListenerV3InsertHeaders","description":"Specifies the HTTP header fields.\n"},"ipGroup":{"$ref":"#/types/opentelekomcloud:index%2FLbListenerV3IpGroup:LbListenerV3IpGroup","description":"Specifies the IP address group associated with the listener.\n"},"keepAliveTimeout":{"type":"number","description":"Specifies the idle timeout duration, in seconds.\n* For `TCP` listeners, the value ranges from \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`4000`\" pulumi-lang-dotnet=\"`4000`\" pulumi-lang-go=\"`4000`\" pulumi-lang-python=\"`4000`\" pulumi-lang-yaml=\"`4000`\" pulumi-lang-java=\"`4000`\"\u003e`4000`\u003c/span\u003e, and the default value is \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e.\n* For `HTTP` and `HTTPS` listeners, the value ranges from \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`4000`\" pulumi-lang-dotnet=\"`4000`\" pulumi-lang-go=\"`4000`\" pulumi-lang-python=\"`4000`\" pulumi-lang-yaml=\"`4000`\" pulumi-lang-java=\"`4000`\"\u003e`4000`\u003c/span\u003e, and the default value is \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e.\n* For `UDP` listeners, this parameter is not available. An error will be returned if you\nconfigure this parameter for `UDP` listeners.\n"},"lbListenerV3Id":{"type":"string"},"loadbalancerId":{"type":"string","description":"Specifies the ID of the load balancer that the listener is added to.\n"},"memberRetryEnable":{"type":"boolean","description":"Specifies whether to enable health check retries for backend servers.\nThis parameter is available only for `HTTP` and `HTTPS` listeners. An error will be returned if you configure\nthis parameter for `TCP` and `UDP` listeners.\n"},"memberTimeout":{"type":"number","description":"Specifies the timeout duration for waiting for a request from a\nbackend server, in seconds. This parameter is available only for `HTTP` and `HTTPS` listeners.\nThe value ranges from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e, and the default value is \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e. An error will be returned if\nyou configure this parameter for `TCP` and `UDP` listeners.\n"},"name":{"type":"string","description":"Specifies the listener name.\n"},"protocol":{"type":"string","description":"The protocol - can either be `TCP`, `HTTP`, `HTTPS` or `UDP`.\nChanging this creates a new Listener.\n"},"protocolPort":{"type":"number","description":"Specifies the port used by the listener. Changing this creates a new Listener.\n"},"securityPolicyId":{"type":"string","description":"Specifies the ID of the custom security policy.\n"},"sniContainerRefs":{"type":"array","items":{"type":"string"},"description":"Lists the IDs of SNI certificates (server certificates with domain names) used by the listener.\nEach SNI certificate can have up to 30 domain names, and each domain name in the SNI certificate must be unique.\nThis parameter will be ignored and an empty array will be returned if the listener's protocol is not `HTTPS`.\n"},"sniMatchAlgo":{"type":"string","description":"Specifies how wildcard domain name matches with the SNI certificates\nused by the listener.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags key/value pairs to associate with the loadbalancer listener.\n"},"tlsCiphersPolicy":{"type":"string","description":"Specifies the security policy that will be used by the listener.\nThis parameter is available only for `HTTPS` listeners. An error will be returned if the protocol\nof the listener is not `HTTPS`. Possible values are: `tls-1-0`, `tls-1-1`, `tls-1-0-inherit`, `tls-1-2`,\n`tls-1-2-strict`, `tls-1-2-fs`, `tls-1-0-with-1-3`, `tls-1-2-fs-with-1-3`, `hybrid-policy-1-0`, `tls-1-2-strict-no-cbc`.\n"}},"requiredInputs":["loadbalancerId","protocol","protocolPort"],"stateInputs":{"description":"Input properties used for looking up and filtering LbListenerV3 resources.\n","properties":{"adminStateUp":{"type":"boolean"},"advancedForwarding":{"type":"boolean","description":"Specifies whether to enable advanced forwarding.\nIf advanced forwarding is enabled, more flexible forwarding policies and rules are supported.\nThe value can be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e (enable advanced forwarding) or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e (disable advanced forwarding),\nand the default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this creates a new Listener.\n"},"clientCaTlsContainerRef":{"type":"string","description":"Specifies the ID of the CA certificate used by the listener.\n"},"clientTimeout":{"type":"number","description":"Specifies the timeout duration for waiting for a request from a client, in seconds.\nThis parameter is available only for `HTTP` and `HTTPS` listeners. The value ranges from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e, and\nthe default value is \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e. An error will be returned if you configure this parameter for `TCP` and `UDP` listeners.\n"},"createdAt":{"type":"string","description":"Indicates the creation time.\n"},"defaultPoolId":{"type":"string","description":"Specifies the ID of the default backend server group. If there is no\nmatched forwarding policy, requests are forwarded to the default backend server for processing.\n"},"defaultTlsContainerRef":{"type":"string","description":"Specifies the ID of the server certificate used by the listener.\n"},"description":{"type":"string","description":"Provides supplementary information about the listener.\n"},"http2Enable":{"type":"boolean","description":"Specifies whether to use HTTP/2. This parameter is available only for `HTTPS`\nlisteners. If you configure this parameter for other types of listeners, it will not take effect. Enable\nHTTP/2 if you want the clients to use HTTP/2 to communicate with the load balancer.\nHowever, connections between the load balancer and backend servers use HTTP/1.x by default.\n"},"insertHeaders":{"$ref":"#/types/opentelekomcloud:index%2FLbListenerV3InsertHeaders:LbListenerV3InsertHeaders","description":"Specifies the HTTP header fields.\n"},"ipGroup":{"$ref":"#/types/opentelekomcloud:index%2FLbListenerV3IpGroup:LbListenerV3IpGroup","description":"Specifies the IP address group associated with the listener.\n"},"keepAliveTimeout":{"type":"number","description":"Specifies the idle timeout duration, in seconds.\n* For `TCP` listeners, the value ranges from \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`4000`\" pulumi-lang-dotnet=\"`4000`\" pulumi-lang-go=\"`4000`\" pulumi-lang-python=\"`4000`\" pulumi-lang-yaml=\"`4000`\" pulumi-lang-java=\"`4000`\"\u003e`4000`\u003c/span\u003e, and the default value is \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e.\n* For `HTTP` and `HTTPS` listeners, the value ranges from \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`4000`\" pulumi-lang-dotnet=\"`4000`\" pulumi-lang-go=\"`4000`\" pulumi-lang-python=\"`4000`\" pulumi-lang-yaml=\"`4000`\" pulumi-lang-java=\"`4000`\"\u003e`4000`\u003c/span\u003e, and the default value is \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e.\n* For `UDP` listeners, this parameter is not available. An error will be returned if you\nconfigure this parameter for `UDP` listeners.\n"},"lbListenerV3Id":{"type":"string"},"loadbalancerId":{"type":"string","description":"Specifies the ID of the load balancer that the listener is added to.\n"},"memberRetryEnable":{"type":"boolean","description":"Specifies whether to enable health check retries for backend servers.\nThis parameter is available only for `HTTP` and `HTTPS` listeners. An error will be returned if you configure\nthis parameter for `TCP` and `UDP` listeners.\n"},"memberTimeout":{"type":"number","description":"Specifies the timeout duration for waiting for a request from a\nbackend server, in seconds. This parameter is available only for `HTTP` and `HTTPS` listeners.\nThe value ranges from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e, and the default value is \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e. An error will be returned if\nyou configure this parameter for `TCP` and `UDP` listeners.\n"},"name":{"type":"string","description":"Specifies the listener name.\n"},"protocol":{"type":"string","description":"The protocol - can either be `TCP`, `HTTP`, `HTTPS` or `UDP`.\nChanging this creates a new Listener.\n"},"protocolPort":{"type":"number","description":"Specifies the port used by the listener. Changing this creates a new Listener.\n"},"securityPolicyId":{"type":"string","description":"Specifies the ID of the custom security policy.\n"},"sniContainerRefs":{"type":"array","items":{"type":"string"},"description":"Lists the IDs of SNI certificates (server certificates with domain names) used by the listener.\nEach SNI certificate can have up to 30 domain names, and each domain name in the SNI certificate must be unique.\nThis parameter will be ignored and an empty array will be returned if the listener's protocol is not `HTTPS`.\n"},"sniMatchAlgo":{"type":"string","description":"Specifies how wildcard domain name matches with the SNI certificates\nused by the listener.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags key/value pairs to associate with the loadbalancer listener.\n"},"tlsCiphersPolicy":{"type":"string","description":"Specifies the security policy that will be used by the listener.\nThis parameter is available only for `HTTPS` listeners. An error will be returned if the protocol\nof the listener is not `HTTPS`. Possible values are: `tls-1-0`, `tls-1-1`, `tls-1-0-inherit`, `tls-1-2`,\n`tls-1-2-strict`, `tls-1-2-fs`, `tls-1-0-with-1-3`, `tls-1-2-fs-with-1-3`, `hybrid-policy-1-0`, `tls-1-2-strict-no-cbc`.\n"},"updatedAt":{"type":"string","description":"Indicates the update time.\n"}},"type":"object"}},"opentelekomcloud:index/lbLoadbalancerV2:LbLoadbalancerV2":{"description":"Up-to-date reference of API arguments for ELB load balancer you can get at\n[documentation portal](https://docs.otc.t-systems.com/elastic-load-balancing/api-ref/apis_v2.0/load_balancer)\n\nManages an Enhanced loadbalancer resource within OpenTelekomCloud.\n\n## Example Usage\n\n### Basic usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst lb1 = new opentelekomcloud.LbLoadbalancerV2(\"lb_1\", {\n    vipSubnetId: \"d9415786-5f1a-428b-b35f-2f1523e146d2\",\n    tags: {\n        muh: \"kuh\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nlb1 = opentelekomcloud.LbLoadbalancerV2(\"lb_1\",\n    vip_subnet_id=\"d9415786-5f1a-428b-b35f-2f1523e146d2\",\n    tags={\n        \"muh\": \"kuh\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var lb1 = new Opentelekomcloud.LbLoadbalancerV2(\"lb_1\", new()\n    {\n        VipSubnetId = \"d9415786-5f1a-428b-b35f-2f1523e146d2\",\n        Tags = \n        {\n            { \"muh\", \"kuh\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewLbLoadbalancerV2(ctx, \"lb_1\", \u0026opentelekomcloud.LbLoadbalancerV2Args{\n\t\t\tVipSubnetId: pulumi.String(\"d9415786-5f1a-428b-b35f-2f1523e146d2\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"muh\": pulumi.String(\"kuh\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.LbLoadbalancerV2;\nimport com.pulumi.opentelekomcloud.LbLoadbalancerV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var lb1 = new LbLoadbalancerV2(\"lb1\", LbLoadbalancerV2Args.builder()\n            .vipSubnetId(\"d9415786-5f1a-428b-b35f-2f1523e146d2\")\n            .tags(Map.of(\"muh\", \"kuh\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  lb1:\n    type: opentelekomcloud:LbLoadbalancerV2\n    name: lb_1\n    properties:\n      vipSubnetId: d9415786-5f1a-428b-b35f-2f1523e146d2\n      tags:\n        muh: kuh\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Public load balancer (with floating IP)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst lb1 = new opentelekomcloud.LbLoadbalancerV2(\"lb_1\", {\n    name: \"example-loadbalancer\",\n    vipSubnetId: \"d9415786-5f1a-428b-b35f-2f1523e146d2\",\n});\nconst associate = new opentelekomcloud.NetworkingFloatingipAssociateV2(\"associate\", {\n    floatingIp: floatingIpAddress,\n    portId: lb1.vipPortId,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nlb1 = opentelekomcloud.LbLoadbalancerV2(\"lb_1\",\n    name=\"example-loadbalancer\",\n    vip_subnet_id=\"d9415786-5f1a-428b-b35f-2f1523e146d2\")\nassociate = opentelekomcloud.NetworkingFloatingipAssociateV2(\"associate\",\n    floating_ip=floating_ip_address,\n    port_id=lb1.vip_port_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var lb1 = new Opentelekomcloud.LbLoadbalancerV2(\"lb_1\", new()\n    {\n        Name = \"example-loadbalancer\",\n        VipSubnetId = \"d9415786-5f1a-428b-b35f-2f1523e146d2\",\n    });\n\n    var associate = new Opentelekomcloud.NetworkingFloatingipAssociateV2(\"associate\", new()\n    {\n        FloatingIp = floatingIpAddress,\n        PortId = lb1.VipPortId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tlb1, err := opentelekomcloud.NewLbLoadbalancerV2(ctx, \"lb_1\", \u0026opentelekomcloud.LbLoadbalancerV2Args{\n\t\t\tName:        pulumi.String(\"example-loadbalancer\"),\n\t\t\tVipSubnetId: pulumi.String(\"d9415786-5f1a-428b-b35f-2f1523e146d2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewNetworkingFloatingipAssociateV2(ctx, \"associate\", \u0026opentelekomcloud.NetworkingFloatingipAssociateV2Args{\n\t\t\tFloatingIp: pulumi.Any(floatingIpAddress),\n\t\t\tPortId:     lb1.VipPortId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.LbLoadbalancerV2;\nimport com.pulumi.opentelekomcloud.LbLoadbalancerV2Args;\nimport com.pulumi.opentelekomcloud.NetworkingFloatingipAssociateV2;\nimport com.pulumi.opentelekomcloud.NetworkingFloatingipAssociateV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var lb1 = new LbLoadbalancerV2(\"lb1\", LbLoadbalancerV2Args.builder()\n            .name(\"example-loadbalancer\")\n            .vipSubnetId(\"d9415786-5f1a-428b-b35f-2f1523e146d2\")\n            .build());\n\n        var associate = new NetworkingFloatingipAssociateV2(\"associate\", NetworkingFloatingipAssociateV2Args.builder()\n            .floatingIp(floatingIpAddress)\n            .portId(lb1.vipPortId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  lb1:\n    type: opentelekomcloud:LbLoadbalancerV2\n    name: lb_1\n    properties:\n      name: example-loadbalancer\n      vipSubnetId: d9415786-5f1a-428b-b35f-2f1523e146d2\n  associate:\n    type: opentelekomcloud:NetworkingFloatingipAssociateV2\n    properties:\n      floatingIp: ${floatingIpAddress}\n      portId: ${lb1.vipPortId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLoad balancers can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/lbLoadbalancerV2:LbLoadbalancerV2 lb_1 ec2e6489-8415-4ec0-9934-540f98b0d594\n```\n\n","properties":{"adminStateUp":{"type":"boolean","description":"The administrative state of the loadbalancer.\nA valid value is only true (UP).\n"},"description":{"type":"string","description":"Human-readable description for the loadbalancer.\n"},"lbLoadbalancerV2Id":{"type":"string"},"loadbalancerProvider":{"type":"string","description":"The name of the provider. Changing this\ncreates a new loadbalancer.\n"},"name":{"type":"string","description":"Human-readable name for the loadbalancer. Does not have\nto be unique.\n"},"region":{"type":"string"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags key/value pairs to associate with the loadbalancer.\n"},"tenantId":{"type":"string","description":"Required for admins. The UUID of the tenant who owns\nthe Loadbalancer.  Only administrative users can specify a tenant UUID\nother than their own. Changing this creates a new loadbalancer.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FLbLoadbalancerV2Timeouts:LbLoadbalancerV2Timeouts"},"vipAddress":{"type":"string","description":"The ip address of the load balancer.\nChanging this creates a new loadbalancer.\n"},"vipPortId":{"type":"string","description":"The Port ID of the Load Balancer IP.\n"},"vipSubnetId":{"type":"string","description":"The network on which to allocate the\nloadbalancer's address. A tenant can only create loadalancers on networks\nauthorized by policy (e.g. networks that belong to them or networks that\nare shared). Changing this creates a new loadbalancer.\n\n\u003e When used with \u003cspan pulumi-lang-nodejs=\"`opentelekomcloud.VpcSubnetV1`\" pulumi-lang-dotnet=\"`opentelekomcloud.VpcSubnetV1`\" pulumi-lang-go=\"`VpcSubnetV1`\" pulumi-lang-python=\"`VpcSubnetV1`\" pulumi-lang-yaml=\"`opentelekomcloud.VpcSubnetV1`\" pulumi-lang-java=\"`opentelekomcloud.VpcSubnetV1`\"\u003e`opentelekomcloud.VpcSubnetV1`\u003c/span\u003e, not \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e but\n\u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003eneeds to be used\n"}},"type":"object","required":["lbLoadbalancerV2Id","loadbalancerProvider","name","region","tenantId","vipAddress","vipPortId","vipSubnetId"],"inputProperties":{"adminStateUp":{"type":"boolean","description":"The administrative state of the loadbalancer.\nA valid value is only true (UP).\n"},"description":{"type":"string","description":"Human-readable description for the loadbalancer.\n"},"lbLoadbalancerV2Id":{"type":"string"},"loadbalancerProvider":{"type":"string","description":"The name of the provider. Changing this\ncreates a new loadbalancer.\n"},"name":{"type":"string","description":"Human-readable name for the loadbalancer. Does not have\nto be unique.\n"},"region":{"type":"string"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags key/value pairs to associate with the loadbalancer.\n"},"tenantId":{"type":"string","description":"Required for admins. The UUID of the tenant who owns\nthe Loadbalancer.  Only administrative users can specify a tenant UUID\nother than their own. Changing this creates a new loadbalancer.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FLbLoadbalancerV2Timeouts:LbLoadbalancerV2Timeouts"},"vipAddress":{"type":"string","description":"The ip address of the load balancer.\nChanging this creates a new loadbalancer.\n"},"vipSubnetId":{"type":"string","description":"The network on which to allocate the\nloadbalancer's address. A tenant can only create loadalancers on networks\nauthorized by policy (e.g. networks that belong to them or networks that\nare shared). Changing this creates a new loadbalancer.\n\n\u003e When used with \u003cspan pulumi-lang-nodejs=\"`opentelekomcloud.VpcSubnetV1`\" pulumi-lang-dotnet=\"`opentelekomcloud.VpcSubnetV1`\" pulumi-lang-go=\"`VpcSubnetV1`\" pulumi-lang-python=\"`VpcSubnetV1`\" pulumi-lang-yaml=\"`opentelekomcloud.VpcSubnetV1`\" pulumi-lang-java=\"`opentelekomcloud.VpcSubnetV1`\"\u003e`opentelekomcloud.VpcSubnetV1`\u003c/span\u003e, not \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e but\n\u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003eneeds to be used\n"}},"requiredInputs":["vipSubnetId"],"stateInputs":{"description":"Input properties used for looking up and filtering LbLoadbalancerV2 resources.\n","properties":{"adminStateUp":{"type":"boolean","description":"The administrative state of the loadbalancer.\nA valid value is only true (UP).\n"},"description":{"type":"string","description":"Human-readable description for the loadbalancer.\n"},"lbLoadbalancerV2Id":{"type":"string"},"loadbalancerProvider":{"type":"string","description":"The name of the provider. Changing this\ncreates a new loadbalancer.\n"},"name":{"type":"string","description":"Human-readable name for the loadbalancer. Does not have\nto be unique.\n"},"region":{"type":"string"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags key/value pairs to associate with the loadbalancer.\n"},"tenantId":{"type":"string","description":"Required for admins. The UUID of the tenant who owns\nthe Loadbalancer.  Only administrative users can specify a tenant UUID\nother than their own. Changing this creates a new loadbalancer.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FLbLoadbalancerV2Timeouts:LbLoadbalancerV2Timeouts"},"vipAddress":{"type":"string","description":"The ip address of the load balancer.\nChanging this creates a new loadbalancer.\n"},"vipPortId":{"type":"string","description":"The Port ID of the Load Balancer IP.\n"},"vipSubnetId":{"type":"string","description":"The network on which to allocate the\nloadbalancer's address. A tenant can only create loadalancers on networks\nauthorized by policy (e.g. networks that belong to them or networks that\nare shared). Changing this creates a new loadbalancer.\n\n\u003e When used with \u003cspan pulumi-lang-nodejs=\"`opentelekomcloud.VpcSubnetV1`\" pulumi-lang-dotnet=\"`opentelekomcloud.VpcSubnetV1`\" pulumi-lang-go=\"`VpcSubnetV1`\" pulumi-lang-python=\"`VpcSubnetV1`\" pulumi-lang-yaml=\"`opentelekomcloud.VpcSubnetV1`\" pulumi-lang-java=\"`opentelekomcloud.VpcSubnetV1`\"\u003e`opentelekomcloud.VpcSubnetV1`\u003c/span\u003e, not \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e but\n\u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003eneeds to be used\n"}},"type":"object"}},"opentelekomcloud:index/lbLoadbalancerV3:LbLoadbalancerV3":{"description":"Up-to-date reference of API arguments for DLB load balancer you can get at\n[documentation portal](https://docs.otc.t-systems.com/elastic-load-balancing/api-ref/apis_v3/load_balancer)\n\nManages a Dedicated loadbalancer resource within OpenTelekomCloud.\n\n## Example Usage\n\n### Basic usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst lb1 = new opentelekomcloud.LbLoadbalancerV3(\"lb_1\", {\n    routerId: routerId,\n    networkIds: [networkId],\n    availabilityZones: [az],\n    tags: {\n        muh: \"kuh\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nlb1 = opentelekomcloud.LbLoadbalancerV3(\"lb_1\",\n    router_id=router_id,\n    network_ids=[network_id],\n    availability_zones=[az],\n    tags={\n        \"muh\": \"kuh\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var lb1 = new Opentelekomcloud.LbLoadbalancerV3(\"lb_1\", new()\n    {\n        RouterId = routerId,\n        NetworkIds = new[]\n        {\n            networkId,\n        },\n        AvailabilityZones = new[]\n        {\n            az,\n        },\n        Tags = \n        {\n            { \"muh\", \"kuh\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewLbLoadbalancerV3(ctx, \"lb_1\", \u0026opentelekomcloud.LbLoadbalancerV3Args{\n\t\t\tRouterId: pulumi.Any(routerId),\n\t\t\tNetworkIds: pulumi.StringArray{\n\t\t\t\tnetworkId,\n\t\t\t},\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\taz,\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"muh\": pulumi.String(\"kuh\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.LbLoadbalancerV3;\nimport com.pulumi.opentelekomcloud.LbLoadbalancerV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var lb1 = new LbLoadbalancerV3(\"lb1\", LbLoadbalancerV3Args.builder()\n            .routerId(routerId)\n            .networkIds(networkId)\n            .availabilityZones(az)\n            .tags(Map.of(\"muh\", \"kuh\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  lb1:\n    type: opentelekomcloud:LbLoadbalancerV3\n    name: lb_1\n    properties:\n      routerId: ${routerId}\n      networkIds:\n        - ${networkId}\n      availabilityZones:\n        - ${az}\n      tags:\n        muh: kuh\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Newly created\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst lb1 = new opentelekomcloud.LbLoadbalancerV3(\"lb_1\", {\n    name: \"example-loadbalancer\",\n    subnetId: subnetId,\n    networkIds: [networkId],\n    availabilityZones: [az],\n    publicIp: {\n        bandwidthName: \"lb-bandwidth\",\n        ipType: \"5_bgp\",\n        bandwidthSize: 10,\n        bandwidthShareType: \"PER\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nlb1 = opentelekomcloud.LbLoadbalancerV3(\"lb_1\",\n    name=\"example-loadbalancer\",\n    subnet_id=subnet_id,\n    network_ids=[network_id],\n    availability_zones=[az],\n    public_ip={\n        \"bandwidth_name\": \"lb-bandwidth\",\n        \"ip_type\": \"5_bgp\",\n        \"bandwidth_size\": 10,\n        \"bandwidth_share_type\": \"PER\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var lb1 = new Opentelekomcloud.LbLoadbalancerV3(\"lb_1\", new()\n    {\n        Name = \"example-loadbalancer\",\n        SubnetId = subnetId,\n        NetworkIds = new[]\n        {\n            networkId,\n        },\n        AvailabilityZones = new[]\n        {\n            az,\n        },\n        PublicIp = new Opentelekomcloud.Inputs.LbLoadbalancerV3PublicIpArgs\n        {\n            BandwidthName = \"lb-bandwidth\",\n            IpType = \"5_bgp\",\n            BandwidthSize = 10,\n            BandwidthShareType = \"PER\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewLbLoadbalancerV3(ctx, \"lb_1\", \u0026opentelekomcloud.LbLoadbalancerV3Args{\n\t\t\tName:     pulumi.String(\"example-loadbalancer\"),\n\t\t\tSubnetId: pulumi.Any(subnetId),\n\t\t\tNetworkIds: pulumi.StringArray{\n\t\t\t\tnetworkId,\n\t\t\t},\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\taz,\n\t\t\t},\n\t\t\tPublicIp: \u0026opentelekomcloud.LbLoadbalancerV3PublicIpArgs{\n\t\t\t\tBandwidthName:      pulumi.String(\"lb-bandwidth\"),\n\t\t\t\tIpType:             pulumi.String(\"5_bgp\"),\n\t\t\t\tBandwidthSize:      pulumi.Float64(10),\n\t\t\t\tBandwidthShareType: pulumi.String(\"PER\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.LbLoadbalancerV3;\nimport com.pulumi.opentelekomcloud.LbLoadbalancerV3Args;\nimport com.pulumi.opentelekomcloud.inputs.LbLoadbalancerV3PublicIpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var lb1 = new LbLoadbalancerV3(\"lb1\", LbLoadbalancerV3Args.builder()\n            .name(\"example-loadbalancer\")\n            .subnetId(subnetId)\n            .networkIds(networkId)\n            .availabilityZones(az)\n            .publicIp(LbLoadbalancerV3PublicIpArgs.builder()\n                .bandwidthName(\"lb-bandwidth\")\n                .ipType(\"5_bgp\")\n                .bandwidthSize(10.0)\n                .bandwidthShareType(\"PER\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  lb1:\n    type: opentelekomcloud:LbLoadbalancerV3\n    name: lb_1\n    properties:\n      name: example-loadbalancer\n      subnetId: ${subnetId}\n      networkIds:\n        - ${networkId}\n      availabilityZones:\n        - ${az}\n      publicIp:\n        bandwidthName: lb-bandwidth\n        ipType: 5_bgp\n        bandwidthSize: 10\n        bandwidthShareType: PER\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Already existing\u003cspan pulumi-lang-nodejs=\" opentelekomcloud.NetworkingFloatingipV2\n\" pulumi-lang-dotnet=\" opentelekomcloud.NetworkingFloatingipV2\n\" pulumi-lang-go=\" NetworkingFloatingipV2\n\" pulumi-lang-python=\" NetworkingFloatingipV2\n\" pulumi-lang-yaml=\" opentelekomcloud.NetworkingFloatingipV2\n\" pulumi-lang-java=\" opentelekomcloud.NetworkingFloatingipV2\n\"\u003e opentelekomcloud.NetworkingFloatingipV2\n\u003c/span\u003e\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst fip1 = new opentelekomcloud.NetworkingFloatingipV2(\"fip_1\", {});\nconst loadbalancer1 = new opentelekomcloud.LbLoadbalancerV3(\"loadbalancer_1\", {\n    name: \"loadbalancer_1\",\n    routerId: sharedSubnet.vpcId,\n    networkIds: [sharedSubnet.networkId],\n    availabilityZones: [\"eu-de-01\"],\n    publicIp: {\n        id: fip1.networkingFloatingipV2Id,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nfip1 = opentelekomcloud.NetworkingFloatingipV2(\"fip_1\")\nloadbalancer1 = opentelekomcloud.LbLoadbalancerV3(\"loadbalancer_1\",\n    name=\"loadbalancer_1\",\n    router_id=shared_subnet[\"vpcId\"],\n    network_ids=[shared_subnet[\"networkId\"]],\n    availability_zones=[\"eu-de-01\"],\n    public_ip={\n        \"id\": fip1.networking_floatingip_v2_id,\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var fip1 = new Opentelekomcloud.NetworkingFloatingipV2(\"fip_1\");\n\n    var loadbalancer1 = new Opentelekomcloud.LbLoadbalancerV3(\"loadbalancer_1\", new()\n    {\n        Name = \"loadbalancer_1\",\n        RouterId = sharedSubnet.VpcId,\n        NetworkIds = new[]\n        {\n            sharedSubnet.NetworkId,\n        },\n        AvailabilityZones = new[]\n        {\n            \"eu-de-01\",\n        },\n        PublicIp = new Opentelekomcloud.Inputs.LbLoadbalancerV3PublicIpArgs\n        {\n            Id = fip1.NetworkingFloatingipV2Id,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfip1, err := opentelekomcloud.NewNetworkingFloatingipV2(ctx, \"fip_1\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewLbLoadbalancerV3(ctx, \"loadbalancer_1\", \u0026opentelekomcloud.LbLoadbalancerV3Args{\n\t\t\tName:     pulumi.String(\"loadbalancer_1\"),\n\t\t\tRouterId: pulumi.Any(sharedSubnet.VpcId),\n\t\t\tNetworkIds: pulumi.StringArray{\n\t\t\t\tsharedSubnet.NetworkId,\n\t\t\t},\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"eu-de-01\"),\n\t\t\t},\n\t\t\tPublicIp: \u0026opentelekomcloud.LbLoadbalancerV3PublicIpArgs{\n\t\t\t\tId: fip1.NetworkingFloatingipV2Id,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.NetworkingFloatingipV2;\nimport com.pulumi.opentelekomcloud.LbLoadbalancerV3;\nimport com.pulumi.opentelekomcloud.LbLoadbalancerV3Args;\nimport com.pulumi.opentelekomcloud.inputs.LbLoadbalancerV3PublicIpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var fip1 = new NetworkingFloatingipV2(\"fip1\");\n\n        var loadbalancer1 = new LbLoadbalancerV3(\"loadbalancer1\", LbLoadbalancerV3Args.builder()\n            .name(\"loadbalancer_1\")\n            .routerId(sharedSubnet.vpcId())\n            .networkIds(sharedSubnet.networkId())\n            .availabilityZones(\"eu-de-01\")\n            .publicIp(LbLoadbalancerV3PublicIpArgs.builder()\n                .id(fip1.networkingFloatingipV2Id())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  loadbalancer1:\n    type: opentelekomcloud:LbLoadbalancerV3\n    name: loadbalancer_1\n    properties:\n      name: loadbalancer_1\n      routerId: ${sharedSubnet.vpcId}\n      networkIds:\n        - ${sharedSubnet.networkId}\n      availabilityZones:\n        - eu-de-01\n      publicIp:\n        id: ${fip1.networkingFloatingipV2Id}\n  fip1:\n    type: opentelekomcloud:NetworkingFloatingipV2\n    name: fip_1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Or\u003cspan pulumi-lang-nodejs=\" opentelekomcloud.VpcEipV1\n\" pulumi-lang-dotnet=\" opentelekomcloud.VpcEipV1\n\" pulumi-lang-go=\" VpcEipV1\n\" pulumi-lang-python=\" VpcEipV1\n\" pulumi-lang-yaml=\" opentelekomcloud.VpcEipV1\n\" pulumi-lang-java=\" opentelekomcloud.VpcEipV1\n\"\u003e opentelekomcloud.VpcEipV1\n\u003c/span\u003e\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst fip1 = new opentelekomcloud.VpcEipV1(\"fip_1\", {\n    bandwidth: {\n        chargeMode: \"traffic\",\n        name: \"eip\",\n        shareType: \"PER\",\n        size: 100,\n    },\n    publicip: {\n        type: \"5_bgp\",\n    },\n});\nconst loadbalancer1 = new opentelekomcloud.LbLoadbalancerV3(\"loadbalancer_1\", {\n    name: \"loadbalancer_1\",\n    routerId: _this.vpcId,\n    networkIds: [_this.networkId],\n    availabilityZones: [\"eu-de-01\"],\n    publicIp: {\n        id: fip1.vpcEipV1Id,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nfip1 = opentelekomcloud.VpcEipV1(\"fip_1\",\n    bandwidth={\n        \"charge_mode\": \"traffic\",\n        \"name\": \"eip\",\n        \"share_type\": \"PER\",\n        \"size\": 100,\n    },\n    publicip={\n        \"type\": \"5_bgp\",\n    })\nloadbalancer1 = opentelekomcloud.LbLoadbalancerV3(\"loadbalancer_1\",\n    name=\"loadbalancer_1\",\n    router_id=this[\"vpcId\"],\n    network_ids=[this[\"networkId\"]],\n    availability_zones=[\"eu-de-01\"],\n    public_ip={\n        \"id\": fip1.vpc_eip_v1_id,\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var fip1 = new Opentelekomcloud.VpcEipV1(\"fip_1\", new()\n    {\n        Bandwidth = new Opentelekomcloud.Inputs.VpcEipV1BandwidthArgs\n        {\n            ChargeMode = \"traffic\",\n            Name = \"eip\",\n            ShareType = \"PER\",\n            Size = 100,\n        },\n        Publicip = new Opentelekomcloud.Inputs.VpcEipV1PublicipArgs\n        {\n            Type = \"5_bgp\",\n        },\n    });\n\n    var loadbalancer1 = new Opentelekomcloud.LbLoadbalancerV3(\"loadbalancer_1\", new()\n    {\n        Name = \"loadbalancer_1\",\n        RouterId = @this.VpcId,\n        NetworkIds = new[]\n        {\n            @this.NetworkId,\n        },\n        AvailabilityZones = new[]\n        {\n            \"eu-de-01\",\n        },\n        PublicIp = new Opentelekomcloud.Inputs.LbLoadbalancerV3PublicIpArgs\n        {\n            Id = fip1.VpcEipV1Id,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfip1, err := opentelekomcloud.NewVpcEipV1(ctx, \"fip_1\", \u0026opentelekomcloud.VpcEipV1Args{\n\t\t\tBandwidth: \u0026opentelekomcloud.VpcEipV1BandwidthArgs{\n\t\t\t\tChargeMode: pulumi.String(\"traffic\"),\n\t\t\t\tName:       pulumi.String(\"eip\"),\n\t\t\t\tShareType:  pulumi.String(\"PER\"),\n\t\t\t\tSize:       pulumi.Float64(100),\n\t\t\t},\n\t\t\tPublicip: \u0026opentelekomcloud.VpcEipV1PublicipArgs{\n\t\t\t\tType: pulumi.String(\"5_bgp\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewLbLoadbalancerV3(ctx, \"loadbalancer_1\", \u0026opentelekomcloud.LbLoadbalancerV3Args{\n\t\t\tName:     pulumi.String(\"loadbalancer_1\"),\n\t\t\tRouterId: pulumi.Any(this.VpcId),\n\t\t\tNetworkIds: pulumi.StringArray{\n\t\t\t\tthis.NetworkId,\n\t\t\t},\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"eu-de-01\"),\n\t\t\t},\n\t\t\tPublicIp: \u0026opentelekomcloud.LbLoadbalancerV3PublicIpArgs{\n\t\t\t\tId: fip1.VpcEipV1Id,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.VpcEipV1;\nimport com.pulumi.opentelekomcloud.VpcEipV1Args;\nimport com.pulumi.opentelekomcloud.inputs.VpcEipV1BandwidthArgs;\nimport com.pulumi.opentelekomcloud.inputs.VpcEipV1PublicipArgs;\nimport com.pulumi.opentelekomcloud.LbLoadbalancerV3;\nimport com.pulumi.opentelekomcloud.LbLoadbalancerV3Args;\nimport com.pulumi.opentelekomcloud.inputs.LbLoadbalancerV3PublicIpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var fip1 = new VpcEipV1(\"fip1\", VpcEipV1Args.builder()\n            .bandwidth(VpcEipV1BandwidthArgs.builder()\n                .chargeMode(\"traffic\")\n                .name(\"eip\")\n                .shareType(\"PER\")\n                .size(100.0)\n                .build())\n            .publicip(VpcEipV1PublicipArgs.builder()\n                .type(\"5_bgp\")\n                .build())\n            .build());\n\n        var loadbalancer1 = new LbLoadbalancerV3(\"loadbalancer1\", LbLoadbalancerV3Args.builder()\n            .name(\"loadbalancer_1\")\n            .routerId(this_.vpcId())\n            .networkIds(this_.networkId())\n            .availabilityZones(\"eu-de-01\")\n            .publicIp(LbLoadbalancerV3PublicIpArgs.builder()\n                .id(fip1.vpcEipV1Id())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  loadbalancer1:\n    type: opentelekomcloud:LbLoadbalancerV3\n    name: loadbalancer_1\n    properties:\n      name: loadbalancer_1\n      routerId: ${this.vpcId}\n      networkIds:\n        - ${this.networkId}\n      availabilityZones:\n        - eu-de-01\n      publicIp:\n        id: ${fip1.vpcEipV1Id}\n  fip1:\n    type: opentelekomcloud:VpcEipV1\n    name: fip_1\n    properties:\n      bandwidth:\n        chargeMode: traffic\n        name: eip\n        shareType: PER\n        size: 100\n      publicip:\n        type: 5_bgp\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Assign new bandwidth to EIP without recreating\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst loadbalancer1 = new opentelekomcloud.LbLoadbalancerV3(\"loadbalancer_1\", {\n    name: \"loadbalancer_1\",\n    routerId: sharedSubnet.vpcId,\n    networkIds: [sharedSubnet.networkId],\n    availabilityZones: [\"eu-de-01\"],\n    publicIp: {\n        ipType: \"5_bgp\",\n        bandwidthName: \"lb_band\",\n        bandwidthSize: 10,\n        bandwidthShareType: \"PER\",\n    },\n    tags: {\n        muh: \"value-create\",\n        kuh: \"value-create\",\n    },\n});\nconst bw = new opentelekomcloud.VpcBandwidthV2(\"bw\", {\n    name: \"lb_band\",\n    size: 20,\n});\nconst associate = new opentelekomcloud.VpcBandwidthAssociateV2(\"associate\", {\n    bandwidth: bw.vpcBandwidthV2Id,\n    floatingIps: [loadbalancer1.publicIp.apply(publicIp =\u003e publicIp?.id)],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nloadbalancer1 = opentelekomcloud.LbLoadbalancerV3(\"loadbalancer_1\",\n    name=\"loadbalancer_1\",\n    router_id=shared_subnet[\"vpcId\"],\n    network_ids=[shared_subnet[\"networkId\"]],\n    availability_zones=[\"eu-de-01\"],\n    public_ip={\n        \"ip_type\": \"5_bgp\",\n        \"bandwidth_name\": \"lb_band\",\n        \"bandwidth_size\": 10,\n        \"bandwidth_share_type\": \"PER\",\n    },\n    tags={\n        \"muh\": \"value-create\",\n        \"kuh\": \"value-create\",\n    })\nbw = opentelekomcloud.VpcBandwidthV2(\"bw\",\n    name=\"lb_band\",\n    size=20)\nassociate = opentelekomcloud.VpcBandwidthAssociateV2(\"associate\",\n    bandwidth=bw.vpc_bandwidth_v2_id,\n    floating_ips=[loadbalancer1.public_ip.id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var loadbalancer1 = new Opentelekomcloud.LbLoadbalancerV3(\"loadbalancer_1\", new()\n    {\n        Name = \"loadbalancer_1\",\n        RouterId = sharedSubnet.VpcId,\n        NetworkIds = new[]\n        {\n            sharedSubnet.NetworkId,\n        },\n        AvailabilityZones = new[]\n        {\n            \"eu-de-01\",\n        },\n        PublicIp = new Opentelekomcloud.Inputs.LbLoadbalancerV3PublicIpArgs\n        {\n            IpType = \"5_bgp\",\n            BandwidthName = \"lb_band\",\n            BandwidthSize = 10,\n            BandwidthShareType = \"PER\",\n        },\n        Tags = \n        {\n            { \"muh\", \"value-create\" },\n            { \"kuh\", \"value-create\" },\n        },\n    });\n\n    var bw = new Opentelekomcloud.VpcBandwidthV2(\"bw\", new()\n    {\n        Name = \"lb_band\",\n        Size = 20,\n    });\n\n    var associate = new Opentelekomcloud.VpcBandwidthAssociateV2(\"associate\", new()\n    {\n        Bandwidth = bw.VpcBandwidthV2Id,\n        FloatingIps = new[]\n        {\n            loadbalancer1.PublicIp.Apply(publicIp =\u003e publicIp?.Id),\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tloadbalancer1, err := opentelekomcloud.NewLbLoadbalancerV3(ctx, \"loadbalancer_1\", \u0026opentelekomcloud.LbLoadbalancerV3Args{\n\t\t\tName:     pulumi.String(\"loadbalancer_1\"),\n\t\t\tRouterId: pulumi.Any(sharedSubnet.VpcId),\n\t\t\tNetworkIds: pulumi.StringArray{\n\t\t\t\tsharedSubnet.NetworkId,\n\t\t\t},\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"eu-de-01\"),\n\t\t\t},\n\t\t\tPublicIp: \u0026opentelekomcloud.LbLoadbalancerV3PublicIpArgs{\n\t\t\t\tIpType:             pulumi.String(\"5_bgp\"),\n\t\t\t\tBandwidthName:      pulumi.String(\"lb_band\"),\n\t\t\t\tBandwidthSize:      pulumi.Float64(10),\n\t\t\t\tBandwidthShareType: pulumi.String(\"PER\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"muh\": pulumi.String(\"value-create\"),\n\t\t\t\t\"kuh\": pulumi.String(\"value-create\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbw, err := opentelekomcloud.NewVpcBandwidthV2(ctx, \"bw\", \u0026opentelekomcloud.VpcBandwidthV2Args{\n\t\t\tName: pulumi.String(\"lb_band\"),\n\t\t\tSize: pulumi.Float64(20),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewVpcBandwidthAssociateV2(ctx, \"associate\", \u0026opentelekomcloud.VpcBandwidthAssociateV2Args{\n\t\t\tBandwidth: bw.VpcBandwidthV2Id,\n\t\t\tFloatingIps: pulumi.StringArray{\n\t\t\t\tpulumi.String(loadbalancer1.PublicIp.ApplyT(func(publicIp opentelekomcloud.LbLoadbalancerV3PublicIp) (*string, error) {\n\t\t\t\t\treturn \u0026publicIp.Id, nil\n\t\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.LbLoadbalancerV3;\nimport com.pulumi.opentelekomcloud.LbLoadbalancerV3Args;\nimport com.pulumi.opentelekomcloud.inputs.LbLoadbalancerV3PublicIpArgs;\nimport com.pulumi.opentelekomcloud.VpcBandwidthV2;\nimport com.pulumi.opentelekomcloud.VpcBandwidthV2Args;\nimport com.pulumi.opentelekomcloud.VpcBandwidthAssociateV2;\nimport com.pulumi.opentelekomcloud.VpcBandwidthAssociateV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var loadbalancer1 = new LbLoadbalancerV3(\"loadbalancer1\", LbLoadbalancerV3Args.builder()\n            .name(\"loadbalancer_1\")\n            .routerId(sharedSubnet.vpcId())\n            .networkIds(sharedSubnet.networkId())\n            .availabilityZones(\"eu-de-01\")\n            .publicIp(LbLoadbalancerV3PublicIpArgs.builder()\n                .ipType(\"5_bgp\")\n                .bandwidthName(\"lb_band\")\n                .bandwidthSize(10.0)\n                .bandwidthShareType(\"PER\")\n                .build())\n            .tags(Map.ofEntries(\n                Map.entry(\"muh\", \"value-create\"),\n                Map.entry(\"kuh\", \"value-create\")\n            ))\n            .build());\n\n        var bw = new VpcBandwidthV2(\"bw\", VpcBandwidthV2Args.builder()\n            .name(\"lb_band\")\n            .size(20.0)\n            .build());\n\n        var associate = new VpcBandwidthAssociateV2(\"associate\", VpcBandwidthAssociateV2Args.builder()\n            .bandwidth(bw.vpcBandwidthV2Id())\n            .floatingIps(loadbalancer1.publicIp().applyValue(_publicIp -\u003e _publicIp.id()))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  loadbalancer1:\n    type: opentelekomcloud:LbLoadbalancerV3\n    name: loadbalancer_1\n    properties:\n      name: loadbalancer_1\n      routerId: ${sharedSubnet.vpcId}\n      networkIds:\n        - ${sharedSubnet.networkId}\n      availabilityZones:\n        - eu-de-01\n      publicIp:\n        ipType: 5_bgp\n        bandwidthName: lb_band\n        bandwidthSize: 10\n        bandwidthShareType: PER\n      tags:\n        muh: value-create\n        kuh: value-create\n  bw:\n    type: opentelekomcloud:VpcBandwidthV2\n    properties:\n      name: lb_band\n      size: 20\n  associate:\n    type: opentelekomcloud:VpcBandwidthAssociateV2\n    properties:\n      bandwidth: ${bw.vpcBandwidthV2Id}\n      floatingIps:\n        - ${loadbalancer1.publicIp.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLoadbalancers can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/lbLoadbalancerV3:LbLoadbalancerV3 lb_1 7b80e108-1636-44e5-aece-986b0052b7dd\n```\n\n","properties":{"adminStateUp":{"type":"boolean","description":"The administrative state of the LoadBalancer. A valid value is only \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e (UP).\n"},"availabilityZones":{"type":"array","items":{"type":"string"},"description":"Specifies the availability zones where the LoadBalancer will be located.\nChanging this creates a new LoadBalancer.\n"},"createdAt":{"type":"string","description":"The time the LoadBalancer was created.\n"},"deletionProtection":{"type":"boolean"},"description":{"type":"string","description":"Provides supplementary information about the load balancer.\n"},"ipTargetEnable":{"type":"boolean","description":"The value can be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e (enabled) or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e (disabled).\n\n\u003e If both \u003cspan pulumi-lang-nodejs=\"`l4Flavor`\" pulumi-lang-dotnet=\"`L4Flavor`\" pulumi-lang-go=\"`l4Flavor`\" pulumi-lang-python=\"`l4_flavor`\" pulumi-lang-yaml=\"`l4Flavor`\" pulumi-lang-java=\"`l4Flavor`\"\u003e`l4_flavor`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`l7Flavor`\" pulumi-lang-dotnet=\"`L7Flavor`\" pulumi-lang-go=\"`l7Flavor`\" pulumi-lang-python=\"`l7_flavor`\" pulumi-lang-yaml=\"`l7Flavor`\" pulumi-lang-java=\"`l7Flavor`\"\u003e`l7_flavor`\u003c/span\u003e is empty, both ALB and NLB will be attached to the load balancer with the default flavor. It is advisable to specify one of them, unless your intention is to associate both flavors with the default setting.\n"},"l4Flavor":{"type":"string","description":"The ID of the Layer-4 flavor.\n"},"l7Flavor":{"type":"string","description":"The ID of the Layer-7 flavor.\n"},"lbLoadbalancerV3Id":{"type":"string"},"name":{"type":"string","description":"The LoadBalancer name.\n"},"networkIds":{"type":"array","items":{"type":"string"},"description":"Specifies the subnet Network ID.\n"},"publicIp":{"$ref":"#/types/opentelekomcloud:index%2FLbLoadbalancerV3PublicIp:LbLoadbalancerV3PublicIp","description":"The elastic IP address of the instance. The \u003cspan pulumi-lang-nodejs=\"`publicIp`\" pulumi-lang-dotnet=\"`PublicIp`\" pulumi-lang-go=\"`publicIp`\" pulumi-lang-python=\"`public_ip`\" pulumi-lang-yaml=\"`publicIp`\" pulumi-lang-java=\"`publicIp`\"\u003e`public_ip`\u003c/span\u003e structure\nis described below. Changing this creates a new LoadBalancer.\n\n\u003e Specify \u003cspan pulumi-lang-nodejs=\"`publicIp`\" pulumi-lang-dotnet=\"`PublicIp`\" pulumi-lang-go=\"`publicIp`\" pulumi-lang-python=\"`public_ip`\" pulumi-lang-yaml=\"`publicIp`\" pulumi-lang-java=\"`publicIp`\"\u003e`public_ip`\u003c/span\u003e and either \u003cspan pulumi-lang-nodejs=\"`routerId`\" pulumi-lang-dotnet=\"`RouterId`\" pulumi-lang-go=\"`routerId`\" pulumi-lang-python=\"`router_id`\" pulumi-lang-yaml=\"`routerId`\" pulumi-lang-java=\"`routerId`\"\u003e`router_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003e if you want to bind a new IPv4 EIP to the load balancer.\n"},"routerId":{"type":"string","description":"ID of the router (or VPC) this LoadBalancer belongs to. Changing\nthis creates a new LoadBalancer.\n"},"subnetId":{"type":"string","description":"The ID of the subnet to which the LoadBalancer belongs. Required when using \u003cspan pulumi-lang-nodejs=\"`vipAddress`\" pulumi-lang-dotnet=\"`VipAddress`\" pulumi-lang-go=\"`vipAddress`\" pulumi-lang-python=\"`vip_address`\" pulumi-lang-yaml=\"`vipAddress`\" pulumi-lang-java=\"`vipAddress`\"\u003e`vip_address`\u003c/span\u003e.\n\n\u003e \u003cspan pulumi-lang-nodejs=\"`routerId`\" pulumi-lang-dotnet=\"`RouterId`\" pulumi-lang-go=\"`routerId`\" pulumi-lang-python=\"`router_id`\" pulumi-lang-yaml=\"`routerId`\" pulumi-lang-java=\"`routerId`\"\u003e`router_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003e cannot be left blank at the same time.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"}},"updatedAt":{"type":"string","description":"The time the LoadBalancer was last updated.\n"},"vipAddress":{"type":"string","description":"The ip address of the LoadBalancer. Changing this creates a new LoadBalancer.\n\n\u003e Specify both \u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`vipAddress`\" pulumi-lang-dotnet=\"`VipAddress`\" pulumi-lang-go=\"`vipAddress`\" pulumi-lang-python=\"`vip_address`\" pulumi-lang-yaml=\"`vipAddress`\" pulumi-lang-java=\"`vipAddress`\"\u003e`vip_address`\u003c/span\u003e if you want to bind a private IPv4 address to the load balancer.\n"},"vipPortId":{"type":"string","description":"The Port ID of the Load Balancer IP.\n"}},"type":"object","required":["availabilityZones","createdAt","deletionProtection","ipTargetEnable","l4Flavor","l7Flavor","lbLoadbalancerV3Id","name","networkIds","updatedAt","vipAddress","vipPortId"],"inputProperties":{"adminStateUp":{"type":"boolean","description":"The administrative state of the LoadBalancer. A valid value is only \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e (UP).\n"},"availabilityZones":{"type":"array","items":{"type":"string"},"description":"Specifies the availability zones where the LoadBalancer will be located.\nChanging this creates a new LoadBalancer.\n"},"deletionProtection":{"type":"boolean"},"description":{"type":"string","description":"Provides supplementary information about the load balancer.\n"},"ipTargetEnable":{"type":"boolean","description":"The value can be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e (enabled) or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e (disabled).\n\n\u003e If both \u003cspan pulumi-lang-nodejs=\"`l4Flavor`\" pulumi-lang-dotnet=\"`L4Flavor`\" pulumi-lang-go=\"`l4Flavor`\" pulumi-lang-python=\"`l4_flavor`\" pulumi-lang-yaml=\"`l4Flavor`\" pulumi-lang-java=\"`l4Flavor`\"\u003e`l4_flavor`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`l7Flavor`\" pulumi-lang-dotnet=\"`L7Flavor`\" pulumi-lang-go=\"`l7Flavor`\" pulumi-lang-python=\"`l7_flavor`\" pulumi-lang-yaml=\"`l7Flavor`\" pulumi-lang-java=\"`l7Flavor`\"\u003e`l7_flavor`\u003c/span\u003e is empty, both ALB and NLB will be attached to the load balancer with the default flavor. It is advisable to specify one of them, unless your intention is to associate both flavors with the default setting.\n"},"l4Flavor":{"type":"string","description":"The ID of the Layer-4 flavor.\n"},"l7Flavor":{"type":"string","description":"The ID of the Layer-7 flavor.\n"},"lbLoadbalancerV3Id":{"type":"string"},"name":{"type":"string","description":"The LoadBalancer name.\n"},"networkIds":{"type":"array","items":{"type":"string"},"description":"Specifies the subnet Network ID.\n"},"publicIp":{"$ref":"#/types/opentelekomcloud:index%2FLbLoadbalancerV3PublicIp:LbLoadbalancerV3PublicIp","description":"The elastic IP address of the instance. The \u003cspan pulumi-lang-nodejs=\"`publicIp`\" pulumi-lang-dotnet=\"`PublicIp`\" pulumi-lang-go=\"`publicIp`\" pulumi-lang-python=\"`public_ip`\" pulumi-lang-yaml=\"`publicIp`\" pulumi-lang-java=\"`publicIp`\"\u003e`public_ip`\u003c/span\u003e structure\nis described below. Changing this creates a new LoadBalancer.\n\n\u003e Specify \u003cspan pulumi-lang-nodejs=\"`publicIp`\" pulumi-lang-dotnet=\"`PublicIp`\" pulumi-lang-go=\"`publicIp`\" pulumi-lang-python=\"`public_ip`\" pulumi-lang-yaml=\"`publicIp`\" pulumi-lang-java=\"`publicIp`\"\u003e`public_ip`\u003c/span\u003e and either \u003cspan pulumi-lang-nodejs=\"`routerId`\" pulumi-lang-dotnet=\"`RouterId`\" pulumi-lang-go=\"`routerId`\" pulumi-lang-python=\"`router_id`\" pulumi-lang-yaml=\"`routerId`\" pulumi-lang-java=\"`routerId`\"\u003e`router_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003e if you want to bind a new IPv4 EIP to the load balancer.\n"},"routerId":{"type":"string","description":"ID of the router (or VPC) this LoadBalancer belongs to. Changing\nthis creates a new LoadBalancer.\n"},"subnetId":{"type":"string","description":"The ID of the subnet to which the LoadBalancer belongs. Required when using \u003cspan pulumi-lang-nodejs=\"`vipAddress`\" pulumi-lang-dotnet=\"`VipAddress`\" pulumi-lang-go=\"`vipAddress`\" pulumi-lang-python=\"`vip_address`\" pulumi-lang-yaml=\"`vipAddress`\" pulumi-lang-java=\"`vipAddress`\"\u003e`vip_address`\u003c/span\u003e.\n\n\u003e \u003cspan pulumi-lang-nodejs=\"`routerId`\" pulumi-lang-dotnet=\"`RouterId`\" pulumi-lang-go=\"`routerId`\" pulumi-lang-python=\"`router_id`\" pulumi-lang-yaml=\"`routerId`\" pulumi-lang-java=\"`routerId`\"\u003e`router_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003e cannot be left blank at the same time.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"}},"vipAddress":{"type":"string","description":"The ip address of the LoadBalancer. Changing this creates a new LoadBalancer.\n\n\u003e Specify both \u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`vipAddress`\" pulumi-lang-dotnet=\"`VipAddress`\" pulumi-lang-go=\"`vipAddress`\" pulumi-lang-python=\"`vip_address`\" pulumi-lang-yaml=\"`vipAddress`\" pulumi-lang-java=\"`vipAddress`\"\u003e`vip_address`\u003c/span\u003e if you want to bind a private IPv4 address to the load balancer.\n"}},"requiredInputs":["availabilityZones","networkIds"],"stateInputs":{"description":"Input properties used for looking up and filtering LbLoadbalancerV3 resources.\n","properties":{"adminStateUp":{"type":"boolean","description":"The administrative state of the LoadBalancer. A valid value is only \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e (UP).\n"},"availabilityZones":{"type":"array","items":{"type":"string"},"description":"Specifies the availability zones where the LoadBalancer will be located.\nChanging this creates a new LoadBalancer.\n"},"createdAt":{"type":"string","description":"The time the LoadBalancer was created.\n"},"deletionProtection":{"type":"boolean"},"description":{"type":"string","description":"Provides supplementary information about the load balancer.\n"},"ipTargetEnable":{"type":"boolean","description":"The value can be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e (enabled) or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e (disabled).\n\n\u003e If both \u003cspan pulumi-lang-nodejs=\"`l4Flavor`\" pulumi-lang-dotnet=\"`L4Flavor`\" pulumi-lang-go=\"`l4Flavor`\" pulumi-lang-python=\"`l4_flavor`\" pulumi-lang-yaml=\"`l4Flavor`\" pulumi-lang-java=\"`l4Flavor`\"\u003e`l4_flavor`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`l7Flavor`\" pulumi-lang-dotnet=\"`L7Flavor`\" pulumi-lang-go=\"`l7Flavor`\" pulumi-lang-python=\"`l7_flavor`\" pulumi-lang-yaml=\"`l7Flavor`\" pulumi-lang-java=\"`l7Flavor`\"\u003e`l7_flavor`\u003c/span\u003e is empty, both ALB and NLB will be attached to the load balancer with the default flavor. It is advisable to specify one of them, unless your intention is to associate both flavors with the default setting.\n"},"l4Flavor":{"type":"string","description":"The ID of the Layer-4 flavor.\n"},"l7Flavor":{"type":"string","description":"The ID of the Layer-7 flavor.\n"},"lbLoadbalancerV3Id":{"type":"string"},"name":{"type":"string","description":"The LoadBalancer name.\n"},"networkIds":{"type":"array","items":{"type":"string"},"description":"Specifies the subnet Network ID.\n"},"publicIp":{"$ref":"#/types/opentelekomcloud:index%2FLbLoadbalancerV3PublicIp:LbLoadbalancerV3PublicIp","description":"The elastic IP address of the instance. The \u003cspan pulumi-lang-nodejs=\"`publicIp`\" pulumi-lang-dotnet=\"`PublicIp`\" pulumi-lang-go=\"`publicIp`\" pulumi-lang-python=\"`public_ip`\" pulumi-lang-yaml=\"`publicIp`\" pulumi-lang-java=\"`publicIp`\"\u003e`public_ip`\u003c/span\u003e structure\nis described below. Changing this creates a new LoadBalancer.\n\n\u003e Specify \u003cspan pulumi-lang-nodejs=\"`publicIp`\" pulumi-lang-dotnet=\"`PublicIp`\" pulumi-lang-go=\"`publicIp`\" pulumi-lang-python=\"`public_ip`\" pulumi-lang-yaml=\"`publicIp`\" pulumi-lang-java=\"`publicIp`\"\u003e`public_ip`\u003c/span\u003e and either \u003cspan pulumi-lang-nodejs=\"`routerId`\" pulumi-lang-dotnet=\"`RouterId`\" pulumi-lang-go=\"`routerId`\" pulumi-lang-python=\"`router_id`\" pulumi-lang-yaml=\"`routerId`\" pulumi-lang-java=\"`routerId`\"\u003e`router_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003e if you want to bind a new IPv4 EIP to the load balancer.\n"},"routerId":{"type":"string","description":"ID of the router (or VPC) this LoadBalancer belongs to. Changing\nthis creates a new LoadBalancer.\n"},"subnetId":{"type":"string","description":"The ID of the subnet to which the LoadBalancer belongs. Required when using \u003cspan pulumi-lang-nodejs=\"`vipAddress`\" pulumi-lang-dotnet=\"`VipAddress`\" pulumi-lang-go=\"`vipAddress`\" pulumi-lang-python=\"`vip_address`\" pulumi-lang-yaml=\"`vipAddress`\" pulumi-lang-java=\"`vipAddress`\"\u003e`vip_address`\u003c/span\u003e.\n\n\u003e \u003cspan pulumi-lang-nodejs=\"`routerId`\" pulumi-lang-dotnet=\"`RouterId`\" pulumi-lang-go=\"`routerId`\" pulumi-lang-python=\"`router_id`\" pulumi-lang-yaml=\"`routerId`\" pulumi-lang-java=\"`routerId`\"\u003e`router_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003e cannot be left blank at the same time.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"}},"updatedAt":{"type":"string","description":"The time the LoadBalancer was last updated.\n"},"vipAddress":{"type":"string","description":"The ip address of the LoadBalancer. Changing this creates a new LoadBalancer.\n\n\u003e Specify both \u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`vipAddress`\" pulumi-lang-dotnet=\"`VipAddress`\" pulumi-lang-go=\"`vipAddress`\" pulumi-lang-python=\"`vip_address`\" pulumi-lang-yaml=\"`vipAddress`\" pulumi-lang-java=\"`vipAddress`\"\u003e`vip_address`\u003c/span\u003e if you want to bind a private IPv4 address to the load balancer.\n"},"vipPortId":{"type":"string","description":"The Port ID of the Load Balancer IP.\n"}},"type":"object"}},"opentelekomcloud:index/lbLtsLogV3:LbLtsLogV3":{"description":"Manage a LB Access Log resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst loadbalancerId = config.requireObject\u003cany\u003e(\"loadbalancerId\");\nconst groupId = config.requireObject\u003cany\u003e(\"groupId\");\nconst streamId = config.requireObject\u003cany\u003e(\"streamId\");\nconst test = new opentelekomcloud.LbLtsLogV3(\"test\", {\n    loadbalancerId: loadbalancerId,\n    logGroupId: groupId,\n    logStreamId: streamId,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nloadbalancer_id = config.require_object(\"loadbalancerId\")\ngroup_id = config.require_object(\"groupId\")\nstream_id = config.require_object(\"streamId\")\ntest = opentelekomcloud.LbLtsLogV3(\"test\",\n    loadbalancer_id=loadbalancer_id,\n    log_group_id=group_id,\n    log_stream_id=stream_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var loadbalancerId = config.RequireObject\u003cdynamic\u003e(\"loadbalancerId\");\n    var groupId = config.RequireObject\u003cdynamic\u003e(\"groupId\");\n    var streamId = config.RequireObject\u003cdynamic\u003e(\"streamId\");\n    var test = new Opentelekomcloud.LbLtsLogV3(\"test\", new()\n    {\n        LoadbalancerId = loadbalancerId,\n        LogGroupId = groupId,\n        LogStreamId = streamId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tloadbalancerId := cfg.RequireObject(\"loadbalancerId\")\n\t\tgroupId := cfg.RequireObject(\"groupId\")\n\t\tstreamId := cfg.RequireObject(\"streamId\")\n\t\t_, err := opentelekomcloud.NewLbLtsLogV3(ctx, \"test\", \u0026opentelekomcloud.LbLtsLogV3Args{\n\t\t\tLoadbalancerId: pulumi.Any(loadbalancerId),\n\t\t\tLogGroupId:     pulumi.Any(groupId),\n\t\t\tLogStreamId:    pulumi.Any(streamId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.LbLtsLogV3;\nimport com.pulumi.opentelekomcloud.LbLtsLogV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var loadbalancerId = config.get(\"loadbalancerId\");\n        final var groupId = config.get(\"groupId\");\n        final var streamId = config.get(\"streamId\");\n        var test = new LbLtsLogV3(\"test\", LbLtsLogV3Args.builder()\n            .loadbalancerId(loadbalancerId)\n            .logGroupId(groupId)\n            .logStreamId(streamId)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  loadbalancerId:\n    type: dynamic\n  groupId:\n    type: dynamic\n  streamId:\n    type: dynamic\nresources:\n  test:\n    type: opentelekomcloud:LbLtsLogV3\n    properties:\n      loadbalancerId: ${loadbalancerId}\n      logGroupId: ${groupId}\n      logStreamId: ${streamId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nELB Access Log resource can be imported using the `id`, e.g.\n\nbash\n\n```sh\n$ pulumi import opentelekomcloud:index/lbLtsLogV3:LbLtsLogV3 log 7b80e108-1636-44e5-aece-986b0052b7dd\n```\n\n","properties":{"lbLtsLogV3Id":{"type":"string","description":"The log ID.\n"},"loadbalancerId":{"type":"string","description":"Specifies the ID of a load balancer.\n\nChanging this creates a new resource.\n"},"logGroupId":{"type":"string","description":"Specifies the ID of a log group.\n"},"logStreamId":{"type":"string","description":"Specifies the ID of the subscribe stream.\n"},"region":{"type":"string","description":"The region where resource created.\n"}},"type":"object","required":["lbLtsLogV3Id","loadbalancerId","logGroupId","logStreamId","region"],"inputProperties":{"lbLtsLogV3Id":{"type":"string","description":"The log ID.\n"},"loadbalancerId":{"type":"string","description":"Specifies the ID of a load balancer.\n\nChanging this creates a new resource.\n"},"logGroupId":{"type":"string","description":"Specifies the ID of a log group.\n"},"logStreamId":{"type":"string","description":"Specifies the ID of the subscribe stream.\n"}},"requiredInputs":["loadbalancerId","logGroupId","logStreamId"],"stateInputs":{"description":"Input properties used for looking up and filtering LbLtsLogV3 resources.\n","properties":{"lbLtsLogV3Id":{"type":"string","description":"The log ID.\n"},"loadbalancerId":{"type":"string","description":"Specifies the ID of a load balancer.\n\nChanging this creates a new resource.\n"},"logGroupId":{"type":"string","description":"Specifies the ID of a log group.\n"},"logStreamId":{"type":"string","description":"Specifies the ID of the subscribe stream.\n"},"region":{"type":"string","description":"The region where resource created.\n"}},"type":"object"}},"opentelekomcloud:index/lbMemberV2:LbMemberV2":{"description":"Up-to-date reference of API arguments for ELB member you can get at\n[documentation portal](https://docs.otc.t-systems.com/elastic-load-balancing/api-ref/apis_v2.0/backend_server)\n\nManages an Enhanced Load Balancer member resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst poolId = config.requireObject\u003cany\u003e(\"poolId\");\nconst subnetId = config.requireObject\u003cany\u003e(\"subnetId\");\nconst member1 = new opentelekomcloud.LbMemberV2(\"member1\", {\n    address: \"192.168.199.23\",\n    protocolPort: 8080,\n    poolId: poolId,\n    subnetId: subnetId,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\npool_id = config.require_object(\"poolId\")\nsubnet_id = config.require_object(\"subnetId\")\nmember1 = opentelekomcloud.LbMemberV2(\"member1\",\n    address=\"192.168.199.23\",\n    protocol_port=8080,\n    pool_id=pool_id,\n    subnet_id=subnet_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var poolId = config.RequireObject\u003cdynamic\u003e(\"poolId\");\n    var subnetId = config.RequireObject\u003cdynamic\u003e(\"subnetId\");\n    var member1 = new Opentelekomcloud.LbMemberV2(\"member1\", new()\n    {\n        Address = \"192.168.199.23\",\n        ProtocolPort = 8080,\n        PoolId = poolId,\n        SubnetId = subnetId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tpoolId := cfg.RequireObject(\"poolId\")\n\t\tsubnetId := cfg.RequireObject(\"subnetId\")\n\t\t_, err := opentelekomcloud.NewLbMemberV2(ctx, \"member1\", \u0026opentelekomcloud.LbMemberV2Args{\n\t\t\tAddress:      pulumi.String(\"192.168.199.23\"),\n\t\t\tProtocolPort: pulumi.Float64(8080),\n\t\t\tPoolId:       pulumi.Any(poolId),\n\t\t\tSubnetId:     pulumi.Any(subnetId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.LbMemberV2;\nimport com.pulumi.opentelekomcloud.LbMemberV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var poolId = config.get(\"poolId\");\n        final var subnetId = config.get(\"subnetId\");\n        var member1 = new LbMemberV2(\"member1\", LbMemberV2Args.builder()\n            .address(\"192.168.199.23\")\n            .protocolPort(8080.0)\n            .poolId(poolId)\n            .subnetId(subnetId)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  poolId:\n    type: dynamic\n  subnetId:\n    type: dynamic\nresources:\n  member1:\n    type: opentelekomcloud:LbMemberV2\n    properties:\n      address: 192.168.199.23\n      protocolPort: 8080\n      poolId: ${poolId}\n      subnetId: ${subnetId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nMembers can be imported using the `pool_id/member_id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/lbMemberV2:LbMemberV2 member 7b80e108-1636-44e5-aece-986b0052b7dd/1bb93b8b-37a4-4b50-92cc-daa4c89d4e4c\n```\n\n","properties":{"address":{"type":"string","description":"The IP address of the member to receive traffic from\nthe load balancer. Changing this creates a new member.\n"},"adminStateUp":{"type":"boolean","description":"The administrative state of the member.\nA valid value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e (UP) or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e (DOWN).\n"},"lbMemberV2Id":{"type":"string","description":"The unique ID for the member.\n"},"name":{"type":"string","description":"Human-readable name for the member.\n"},"poolId":{"type":"string","description":"The id of the pool that this member will be\nassigned to.\n"},"protocolPort":{"type":"number","description":"The port on which to listen for client traffic.\nChanging this creates a new member.\n"},"region":{"type":"string"},"subnetId":{"type":"string","description":"The subnet in which to access the member\n"},"tenantId":{"type":"string","description":"Required for admins. The UUID of the tenant who owns\nthe member.  Only administrative users can specify a tenant UUID\nother than their own. Changing this creates a new member.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FLbMemberV2Timeouts:LbMemberV2Timeouts"},"weight":{"type":"number","description":"A positive integer value that indicates the relative\nportion of traffic that this member should receive from the pool. For\nexample, a member with a \u003cspan pulumi-lang-nodejs=\"`weight`\" pulumi-lang-dotnet=\"`Weight`\" pulumi-lang-go=\"`weight`\" pulumi-lang-python=\"`weight`\" pulumi-lang-yaml=\"`weight`\" pulumi-lang-java=\"`weight`\"\u003e`weight`\u003c/span\u003e of \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e receives five times as much traffic\nas a member with a \u003cspan pulumi-lang-nodejs=\"`weight`\" pulumi-lang-dotnet=\"`Weight`\" pulumi-lang-go=\"`weight`\" pulumi-lang-python=\"`weight`\" pulumi-lang-yaml=\"`weight`\" pulumi-lang-java=\"`weight`\"\u003e`weight`\u003c/span\u003e of \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e. If the value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e, the backend server will not accept new requests\n"}},"type":"object","required":["address","lbMemberV2Id","name","poolId","protocolPort","region","subnetId","tenantId"],"inputProperties":{"address":{"type":"string","description":"The IP address of the member to receive traffic from\nthe load balancer. Changing this creates a new member.\n"},"adminStateUp":{"type":"boolean","description":"The administrative state of the member.\nA valid value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e (UP) or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e (DOWN).\n"},"lbMemberV2Id":{"type":"string","description":"The unique ID for the member.\n"},"name":{"type":"string","description":"Human-readable name for the member.\n"},"poolId":{"type":"string","description":"The id of the pool that this member will be\nassigned to.\n"},"protocolPort":{"type":"number","description":"The port on which to listen for client traffic.\nChanging this creates a new member.\n"},"region":{"type":"string"},"subnetId":{"type":"string","description":"The subnet in which to access the member\n"},"tenantId":{"type":"string","description":"Required for admins. The UUID of the tenant who owns\nthe member.  Only administrative users can specify a tenant UUID\nother than their own. Changing this creates a new member.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FLbMemberV2Timeouts:LbMemberV2Timeouts"},"weight":{"type":"number","description":"A positive integer value that indicates the relative\nportion of traffic that this member should receive from the pool. For\nexample, a member with a \u003cspan pulumi-lang-nodejs=\"`weight`\" pulumi-lang-dotnet=\"`Weight`\" pulumi-lang-go=\"`weight`\" pulumi-lang-python=\"`weight`\" pulumi-lang-yaml=\"`weight`\" pulumi-lang-java=\"`weight`\"\u003e`weight`\u003c/span\u003e of \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e receives five times as much traffic\nas a member with a \u003cspan pulumi-lang-nodejs=\"`weight`\" pulumi-lang-dotnet=\"`Weight`\" pulumi-lang-go=\"`weight`\" pulumi-lang-python=\"`weight`\" pulumi-lang-yaml=\"`weight`\" pulumi-lang-java=\"`weight`\"\u003e`weight`\u003c/span\u003e of \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e. If the value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e, the backend server will not accept new requests\n"}},"requiredInputs":["address","poolId","protocolPort","subnetId"],"stateInputs":{"description":"Input properties used for looking up and filtering LbMemberV2 resources.\n","properties":{"address":{"type":"string","description":"The IP address of the member to receive traffic from\nthe load balancer. Changing this creates a new member.\n"},"adminStateUp":{"type":"boolean","description":"The administrative state of the member.\nA valid value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e (UP) or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e (DOWN).\n"},"lbMemberV2Id":{"type":"string","description":"The unique ID for the member.\n"},"name":{"type":"string","description":"Human-readable name for the member.\n"},"poolId":{"type":"string","description":"The id of the pool that this member will be\nassigned to.\n"},"protocolPort":{"type":"number","description":"The port on which to listen for client traffic.\nChanging this creates a new member.\n"},"region":{"type":"string"},"subnetId":{"type":"string","description":"The subnet in which to access the member\n"},"tenantId":{"type":"string","description":"Required for admins. The UUID of the tenant who owns\nthe member.  Only administrative users can specify a tenant UUID\nother than their own. Changing this creates a new member.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FLbMemberV2Timeouts:LbMemberV2Timeouts"},"weight":{"type":"number","description":"A positive integer value that indicates the relative\nportion of traffic that this member should receive from the pool. For\nexample, a member with a \u003cspan pulumi-lang-nodejs=\"`weight`\" pulumi-lang-dotnet=\"`Weight`\" pulumi-lang-go=\"`weight`\" pulumi-lang-python=\"`weight`\" pulumi-lang-yaml=\"`weight`\" pulumi-lang-java=\"`weight`\"\u003e`weight`\u003c/span\u003e of \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e receives five times as much traffic\nas a member with a \u003cspan pulumi-lang-nodejs=\"`weight`\" pulumi-lang-dotnet=\"`Weight`\" pulumi-lang-go=\"`weight`\" pulumi-lang-python=\"`weight`\" pulumi-lang-yaml=\"`weight`\" pulumi-lang-java=\"`weight`\"\u003e`weight`\u003c/span\u003e of \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e. If the value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e, the backend server will not accept new requests\n"}},"type":"object"}},"opentelekomcloud:index/lbMemberV3:LbMemberV3":{"description":"Up-to-date reference of API arguments for DLB member you can get at\n[documentation portal](https://docs.otc.t-systems.com/elastic-load-balancing/api-ref/apis_v3/backend_server)\n\nManages a Dedicated Load Balancer member resource within OpenTelekomCloud.\n\n## Import\n\nMembers can be imported using the `pool_id/member_id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/lbMemberV3:LbMemberV3 member 7b80e108-1636-44e5-aece-986b0052b7dd/1bb93b8b-37a4-4b50-92cc-daa4c89d4e4c\n```\n\n","properties":{"address":{"type":"string","description":"Specifies the IP address of the backend server.\n\nThe IP address must be in the subnet specified by \u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003e, for example, `192.168.3.11`.\n\nThe IP address can only be the IP address of the primary NIC.\n\nIf \u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003e is left blank, cross-VPC backend is enabled. In this case, these servers must use IPv4 addresses.\n"},"ipVersion":{"type":"string","description":"Version of IP based on the \u003cspan pulumi-lang-nodejs=\"`address`\" pulumi-lang-dotnet=\"`Address`\" pulumi-lang-go=\"`address`\" pulumi-lang-python=\"`address`\" pulumi-lang-yaml=\"`address`\" pulumi-lang-java=\"`address`\"\u003e`address`\u003c/span\u003e parameter. The value can be \u003cspan pulumi-lang-nodejs=\"`v4`\" pulumi-lang-dotnet=\"`V4`\" pulumi-lang-go=\"`v4`\" pulumi-lang-python=\"`v4`\" pulumi-lang-yaml=\"`v4`\" pulumi-lang-java=\"`v4`\"\u003e`v4`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`v6`\" pulumi-lang-dotnet=\"`V6`\" pulumi-lang-go=\"`v6`\" pulumi-lang-python=\"`v6`\" pulumi-lang-yaml=\"`v6`\" pulumi-lang-java=\"`v6`\"\u003e`v6`\u003c/span\u003e.\n"},"lbMemberV3Id":{"type":"string"},"memberId":{"type":"string","description":"ID of the pool member.\n"},"name":{"type":"string","description":"Specifies the backend server name. The value is a string of 0 to 255 characters.\n"},"operatingStatus":{"type":"string","description":"Specifies the operating status of the backend server.\n"},"poolId":{"type":"string"},"projectId":{"type":"string","description":"Specifies the project ID.\n"},"protocolPort":{"type":"number","description":"Specifies the port used by the backend server to receive requests. The value should be a\nvalid port.\n"},"subnetId":{"type":"string","description":"Specifies the ID of the subnet where the backend server works.\n\nThis subnet must be in the same VPC as the subnet of the load balancer with which the backend server is associated.\n\nOnly `IPv4` subnets are supported.\n"},"weight":{"type":"number","description":"Specifies the weight of the backend server.\n\nRequests are routed to backend servers in the same backend server group based on their weights.\n\nIf the weight is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e, the backend server will not accept new requests.\n\nThis parameter is invalid when \u003cspan pulumi-lang-nodejs=\"`lbAlgorithm`\" pulumi-lang-dotnet=\"`LbAlgorithm`\" pulumi-lang-go=\"`lbAlgorithm`\" pulumi-lang-python=\"`lb_algorithm`\" pulumi-lang-yaml=\"`lbAlgorithm`\" pulumi-lang-java=\"`lbAlgorithm`\"\u003e`lb_algorithm`\u003c/span\u003e is set to `SOURCE_IP` for the backend server group that contains the\nbackend server.\n"}},"type":"object","required":["address","ipVersion","lbMemberV3Id","memberId","name","operatingStatus","poolId","projectId","protocolPort","weight"],"inputProperties":{"address":{"type":"string","description":"Specifies the IP address of the backend server.\n\nThe IP address must be in the subnet specified by \u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003e, for example, `192.168.3.11`.\n\nThe IP address can only be the IP address of the primary NIC.\n\nIf \u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003e is left blank, cross-VPC backend is enabled. In this case, these servers must use IPv4 addresses.\n"},"lbMemberV3Id":{"type":"string"},"name":{"type":"string","description":"Specifies the backend server name. The value is a string of 0 to 255 characters.\n"},"poolId":{"type":"string"},"projectId":{"type":"string","description":"Specifies the project ID.\n"},"protocolPort":{"type":"number","description":"Specifies the port used by the backend server to receive requests. The value should be a\nvalid port.\n"},"subnetId":{"type":"string","description":"Specifies the ID of the subnet where the backend server works.\n\nThis subnet must be in the same VPC as the subnet of the load balancer with which the backend server is associated.\n\nOnly `IPv4` subnets are supported.\n"},"weight":{"type":"number","description":"Specifies the weight of the backend server.\n\nRequests are routed to backend servers in the same backend server group based on their weights.\n\nIf the weight is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e, the backend server will not accept new requests.\n\nThis parameter is invalid when \u003cspan pulumi-lang-nodejs=\"`lbAlgorithm`\" pulumi-lang-dotnet=\"`LbAlgorithm`\" pulumi-lang-go=\"`lbAlgorithm`\" pulumi-lang-python=\"`lb_algorithm`\" pulumi-lang-yaml=\"`lbAlgorithm`\" pulumi-lang-java=\"`lbAlgorithm`\"\u003e`lb_algorithm`\u003c/span\u003e is set to `SOURCE_IP` for the backend server group that contains the\nbackend server.\n"}},"requiredInputs":["address","poolId","protocolPort"],"stateInputs":{"description":"Input properties used for looking up and filtering LbMemberV3 resources.\n","properties":{"address":{"type":"string","description":"Specifies the IP address of the backend server.\n\nThe IP address must be in the subnet specified by \u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003e, for example, `192.168.3.11`.\n\nThe IP address can only be the IP address of the primary NIC.\n\nIf \u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003e is left blank, cross-VPC backend is enabled. In this case, these servers must use IPv4 addresses.\n"},"ipVersion":{"type":"string","description":"Version of IP based on the \u003cspan pulumi-lang-nodejs=\"`address`\" pulumi-lang-dotnet=\"`Address`\" pulumi-lang-go=\"`address`\" pulumi-lang-python=\"`address`\" pulumi-lang-yaml=\"`address`\" pulumi-lang-java=\"`address`\"\u003e`address`\u003c/span\u003e parameter. The value can be \u003cspan pulumi-lang-nodejs=\"`v4`\" pulumi-lang-dotnet=\"`V4`\" pulumi-lang-go=\"`v4`\" pulumi-lang-python=\"`v4`\" pulumi-lang-yaml=\"`v4`\" pulumi-lang-java=\"`v4`\"\u003e`v4`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`v6`\" pulumi-lang-dotnet=\"`V6`\" pulumi-lang-go=\"`v6`\" pulumi-lang-python=\"`v6`\" pulumi-lang-yaml=\"`v6`\" pulumi-lang-java=\"`v6`\"\u003e`v6`\u003c/span\u003e.\n"},"lbMemberV3Id":{"type":"string"},"memberId":{"type":"string","description":"ID of the pool member.\n"},"name":{"type":"string","description":"Specifies the backend server name. The value is a string of 0 to 255 characters.\n"},"operatingStatus":{"type":"string","description":"Specifies the operating status of the backend server.\n"},"poolId":{"type":"string"},"projectId":{"type":"string","description":"Specifies the project ID.\n"},"protocolPort":{"type":"number","description":"Specifies the port used by the backend server to receive requests. The value should be a\nvalid port.\n"},"subnetId":{"type":"string","description":"Specifies the ID of the subnet where the backend server works.\n\nThis subnet must be in the same VPC as the subnet of the load balancer with which the backend server is associated.\n\nOnly `IPv4` subnets are supported.\n"},"weight":{"type":"number","description":"Specifies the weight of the backend server.\n\nRequests are routed to backend servers in the same backend server group based on their weights.\n\nIf the weight is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e, the backend server will not accept new requests.\n\nThis parameter is invalid when \u003cspan pulumi-lang-nodejs=\"`lbAlgorithm`\" pulumi-lang-dotnet=\"`LbAlgorithm`\" pulumi-lang-go=\"`lbAlgorithm`\" pulumi-lang-python=\"`lb_algorithm`\" pulumi-lang-yaml=\"`lbAlgorithm`\" pulumi-lang-java=\"`lbAlgorithm`\"\u003e`lb_algorithm`\u003c/span\u003e is set to `SOURCE_IP` for the backend server group that contains the\nbackend server.\n"}},"type":"object"}},"opentelekomcloud:index/lbMonitorV2:LbMonitorV2":{"description":"Up-to-date reference of API arguments for ELB monitor you can get at\n[documentation portal](https://docs.otc.t-systems.com/elastic-load-balancing/api-ref/apis_v2.0/health_check)\n\nManages an Enhanced LB monitor resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst monitor1 = new opentelekomcloud.LbMonitorV2(\"monitor_1\", {\n    poolId: pool1.id,\n    type: \"HTTP\",\n    delay: 20,\n    timeout: 10,\n    maxRetries: 5,\n    urlPath: \"/\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nmonitor1 = opentelekomcloud.LbMonitorV2(\"monitor_1\",\n    pool_id=pool1[\"id\"],\n    type=\"HTTP\",\n    delay=20,\n    timeout=10,\n    max_retries=5,\n    url_path=\"/\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var monitor1 = new Opentelekomcloud.LbMonitorV2(\"monitor_1\", new()\n    {\n        PoolId = pool1.Id,\n        Type = \"HTTP\",\n        Delay = 20,\n        Timeout = 10,\n        MaxRetries = 5,\n        UrlPath = \"/\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewLbMonitorV2(ctx, \"monitor_1\", \u0026opentelekomcloud.LbMonitorV2Args{\n\t\t\tPoolId:     pulumi.Any(pool1.Id),\n\t\t\tType:       pulumi.String(\"HTTP\"),\n\t\t\tDelay:      pulumi.Float64(20),\n\t\t\tTimeout:    pulumi.Float64(10),\n\t\t\tMaxRetries: pulumi.Float64(5),\n\t\t\tUrlPath:    pulumi.String(\"/\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.LbMonitorV2;\nimport com.pulumi.opentelekomcloud.LbMonitorV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var monitor1 = new LbMonitorV2(\"monitor1\", LbMonitorV2Args.builder()\n            .poolId(pool1.id())\n            .type(\"HTTP\")\n            .delay(20.0)\n            .timeout(10.0)\n            .maxRetries(5.0)\n            .urlPath(\"/\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  monitor1:\n    type: opentelekomcloud:LbMonitorV2\n    name: monitor_1\n    properties:\n      poolId: ${pool1.id}\n      type: HTTP\n      delay: 20\n      timeout: 10\n      maxRetries: 5\n      urlPath: /\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"adminStateUp":{"type":"boolean","description":"The administrative state of the monitor.\nA valid value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e (`UP`) or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e (`DOWN`).\n"},"delay":{"type":"number","description":"The time, in seconds, between sending probes to members.\n"},"domainName":{"type":"string","description":"The \u003cspan pulumi-lang-nodejs=\"`domainName`\" pulumi-lang-dotnet=\"`DomainName`\" pulumi-lang-go=\"`domainName`\" pulumi-lang-python=\"`domain_name`\" pulumi-lang-yaml=\"`domainName`\" pulumi-lang-java=\"`domainName`\"\u003e`domain_name`\u003c/span\u003e of the HTTP request during the health check.\n"},"expectedCodes":{"type":"string","description":"Required for `HTTP` types. Expected HTTP codes\nfor a passing HTTP monitor. You can either specify a single status like\n`\"200\"`, or a list like `\"200,202\"`.\n"},"httpMethod":{"type":"string","description":"Required for HTTP types. The HTTP method used\nfor requests by the monitor. If this attribute is not specified, it\ndefaults to `GET`. The value can be `GET`, `HEAD`, `POST`, `PUT`, `DELETE`,\n`TRACE`, `OPTIONS`, `CONNECT`, and `PATCH`.\n\n\u003e These parameters \u003cspan pulumi-lang-nodejs=\"`domainName`\" pulumi-lang-dotnet=\"`DomainName`\" pulumi-lang-go=\"`domainName`\" pulumi-lang-python=\"`domain_name`\" pulumi-lang-yaml=\"`domainName`\" pulumi-lang-java=\"`domainName`\"\u003e`domain_name`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`urlPath`\" pulumi-lang-dotnet=\"`UrlPath`\" pulumi-lang-go=\"`urlPath`\" pulumi-lang-python=\"`url_path`\" pulumi-lang-yaml=\"`urlPath`\" pulumi-lang-java=\"`urlPath`\"\u003e`url_path`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`expectedCodes`\" pulumi-lang-dotnet=\"`ExpectedCodes`\" pulumi-lang-go=\"`expectedCodes`\" pulumi-lang-python=\"`expected_codes`\" pulumi-lang-yaml=\"`expectedCodes`\" pulumi-lang-java=\"`expectedCodes`\"\u003e`expected_codes`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`monitorPort`\" pulumi-lang-dotnet=\"`MonitorPort`\" pulumi-lang-go=\"`monitorPort`\" pulumi-lang-python=\"`monitor_port`\" pulumi-lang-yaml=\"`monitorPort`\" pulumi-lang-java=\"`monitorPort`\"\u003e`monitor_port`\u003c/span\u003e\nare valid when the value of \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `HTTP`.\n"},"lbMonitorV2Id":{"type":"string","description":"The unique ID for the monitor.\n"},"maxRetries":{"type":"number","description":"Number of permissible ping failures before\nchanging the member's status to INACTIVE. Must be a number between 1 and 10.\n"},"monitorPort":{"type":"number","description":"Specifies the health check port. The port number\nranges from 1 to 65535. The value is left blank by default, indicating that\nthe port of the backend server is used as the health check port.\n"},"name":{"type":"string","description":"The Name of the Monitor.\n"},"poolId":{"type":"string","description":"The id of the pool that this monitor will be assigned to.\n"},"region":{"type":"string"},"tenantId":{"type":"string","description":"Required for admins. The UUID of the tenant who owns\nthe monitor. Only administrative users can specify a tenant UUID\nother than their own. Changing this creates a new monitor.\n"},"timeout":{"type":"number","description":"Maximum number of seconds for a monitor to wait for a\nping reply before it times out. The value must be less than the delay value.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FLbMonitorV2Timeouts:LbMonitorV2Timeouts"},"type":{"type":"string","description":"The type of probe, which is `TCP`, `UDP_CONNECT`, or `HTTP`,\nthat is sent by the load balancer to verify the member state. Changing this\ncreates a new monitor.\n"},"urlPath":{"type":"string","description":"Required for HTTP types. URI path that will be\naccessed if monitor type is `HTTP`.\n"}},"type":"object","required":["delay","expectedCodes","httpMethod","lbMonitorV2Id","maxRetries","monitorPort","name","poolId","region","tenantId","timeout","type","urlPath"],"inputProperties":{"adminStateUp":{"type":"boolean","description":"The administrative state of the monitor.\nA valid value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e (`UP`) or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e (`DOWN`).\n"},"delay":{"type":"number","description":"The time, in seconds, between sending probes to members.\n"},"domainName":{"type":"string","description":"The \u003cspan pulumi-lang-nodejs=\"`domainName`\" pulumi-lang-dotnet=\"`DomainName`\" pulumi-lang-go=\"`domainName`\" pulumi-lang-python=\"`domain_name`\" pulumi-lang-yaml=\"`domainName`\" pulumi-lang-java=\"`domainName`\"\u003e`domain_name`\u003c/span\u003e of the HTTP request during the health check.\n"},"expectedCodes":{"type":"string","description":"Required for `HTTP` types. Expected HTTP codes\nfor a passing HTTP monitor. You can either specify a single status like\n`\"200\"`, or a list like `\"200,202\"`.\n"},"httpMethod":{"type":"string","description":"Required for HTTP types. The HTTP method used\nfor requests by the monitor. If this attribute is not specified, it\ndefaults to `GET`. The value can be `GET`, `HEAD`, `POST`, `PUT`, `DELETE`,\n`TRACE`, `OPTIONS`, `CONNECT`, and `PATCH`.\n\n\u003e These parameters \u003cspan pulumi-lang-nodejs=\"`domainName`\" pulumi-lang-dotnet=\"`DomainName`\" pulumi-lang-go=\"`domainName`\" pulumi-lang-python=\"`domain_name`\" pulumi-lang-yaml=\"`domainName`\" pulumi-lang-java=\"`domainName`\"\u003e`domain_name`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`urlPath`\" pulumi-lang-dotnet=\"`UrlPath`\" pulumi-lang-go=\"`urlPath`\" pulumi-lang-python=\"`url_path`\" pulumi-lang-yaml=\"`urlPath`\" pulumi-lang-java=\"`urlPath`\"\u003e`url_path`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`expectedCodes`\" pulumi-lang-dotnet=\"`ExpectedCodes`\" pulumi-lang-go=\"`expectedCodes`\" pulumi-lang-python=\"`expected_codes`\" pulumi-lang-yaml=\"`expectedCodes`\" pulumi-lang-java=\"`expectedCodes`\"\u003e`expected_codes`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`monitorPort`\" pulumi-lang-dotnet=\"`MonitorPort`\" pulumi-lang-go=\"`monitorPort`\" pulumi-lang-python=\"`monitor_port`\" pulumi-lang-yaml=\"`monitorPort`\" pulumi-lang-java=\"`monitorPort`\"\u003e`monitor_port`\u003c/span\u003e\nare valid when the value of \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `HTTP`.\n"},"lbMonitorV2Id":{"type":"string","description":"The unique ID for the monitor.\n"},"maxRetries":{"type":"number","description":"Number of permissible ping failures before\nchanging the member's status to INACTIVE. Must be a number between 1 and 10.\n"},"monitorPort":{"type":"number","description":"Specifies the health check port. The port number\nranges from 1 to 65535. The value is left blank by default, indicating that\nthe port of the backend server is used as the health check port.\n"},"name":{"type":"string","description":"The Name of the Monitor.\n"},"poolId":{"type":"string","description":"The id of the pool that this monitor will be assigned to.\n"},"region":{"type":"string"},"tenantId":{"type":"string","description":"Required for admins. The UUID of the tenant who owns\nthe monitor. Only administrative users can specify a tenant UUID\nother than their own. Changing this creates a new monitor.\n"},"timeout":{"type":"number","description":"Maximum number of seconds for a monitor to wait for a\nping reply before it times out. The value must be less than the delay value.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FLbMonitorV2Timeouts:LbMonitorV2Timeouts"},"type":{"type":"string","description":"The type of probe, which is `TCP`, `UDP_CONNECT`, or `HTTP`,\nthat is sent by the load balancer to verify the member state. Changing this\ncreates a new monitor.\n"},"urlPath":{"type":"string","description":"Required for HTTP types. URI path that will be\naccessed if monitor type is `HTTP`.\n"}},"requiredInputs":["delay","maxRetries","poolId","timeout","type"],"stateInputs":{"description":"Input properties used for looking up and filtering LbMonitorV2 resources.\n","properties":{"adminStateUp":{"type":"boolean","description":"The administrative state of the monitor.\nA valid value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e (`UP`) or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e (`DOWN`).\n"},"delay":{"type":"number","description":"The time, in seconds, between sending probes to members.\n"},"domainName":{"type":"string","description":"The \u003cspan pulumi-lang-nodejs=\"`domainName`\" pulumi-lang-dotnet=\"`DomainName`\" pulumi-lang-go=\"`domainName`\" pulumi-lang-python=\"`domain_name`\" pulumi-lang-yaml=\"`domainName`\" pulumi-lang-java=\"`domainName`\"\u003e`domain_name`\u003c/span\u003e of the HTTP request during the health check.\n"},"expectedCodes":{"type":"string","description":"Required for `HTTP` types. Expected HTTP codes\nfor a passing HTTP monitor. You can either specify a single status like\n`\"200\"`, or a list like `\"200,202\"`.\n"},"httpMethod":{"type":"string","description":"Required for HTTP types. The HTTP method used\nfor requests by the monitor. If this attribute is not specified, it\ndefaults to `GET`. The value can be `GET`, `HEAD`, `POST`, `PUT`, `DELETE`,\n`TRACE`, `OPTIONS`, `CONNECT`, and `PATCH`.\n\n\u003e These parameters \u003cspan pulumi-lang-nodejs=\"`domainName`\" pulumi-lang-dotnet=\"`DomainName`\" pulumi-lang-go=\"`domainName`\" pulumi-lang-python=\"`domain_name`\" pulumi-lang-yaml=\"`domainName`\" pulumi-lang-java=\"`domainName`\"\u003e`domain_name`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`urlPath`\" pulumi-lang-dotnet=\"`UrlPath`\" pulumi-lang-go=\"`urlPath`\" pulumi-lang-python=\"`url_path`\" pulumi-lang-yaml=\"`urlPath`\" pulumi-lang-java=\"`urlPath`\"\u003e`url_path`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`expectedCodes`\" pulumi-lang-dotnet=\"`ExpectedCodes`\" pulumi-lang-go=\"`expectedCodes`\" pulumi-lang-python=\"`expected_codes`\" pulumi-lang-yaml=\"`expectedCodes`\" pulumi-lang-java=\"`expectedCodes`\"\u003e`expected_codes`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`monitorPort`\" pulumi-lang-dotnet=\"`MonitorPort`\" pulumi-lang-go=\"`monitorPort`\" pulumi-lang-python=\"`monitor_port`\" pulumi-lang-yaml=\"`monitorPort`\" pulumi-lang-java=\"`monitorPort`\"\u003e`monitor_port`\u003c/span\u003e\nare valid when the value of \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `HTTP`.\n"},"lbMonitorV2Id":{"type":"string","description":"The unique ID for the monitor.\n"},"maxRetries":{"type":"number","description":"Number of permissible ping failures before\nchanging the member's status to INACTIVE. Must be a number between 1 and 10.\n"},"monitorPort":{"type":"number","description":"Specifies the health check port. The port number\nranges from 1 to 65535. The value is left blank by default, indicating that\nthe port of the backend server is used as the health check port.\n"},"name":{"type":"string","description":"The Name of the Monitor.\n"},"poolId":{"type":"string","description":"The id of the pool that this monitor will be assigned to.\n"},"region":{"type":"string"},"tenantId":{"type":"string","description":"Required for admins. The UUID of the tenant who owns\nthe monitor. Only administrative users can specify a tenant UUID\nother than their own. Changing this creates a new monitor.\n"},"timeout":{"type":"number","description":"Maximum number of seconds for a monitor to wait for a\nping reply before it times out. The value must be less than the delay value.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FLbMonitorV2Timeouts:LbMonitorV2Timeouts"},"type":{"type":"string","description":"The type of probe, which is `TCP`, `UDP_CONNECT`, or `HTTP`,\nthat is sent by the load balancer to verify the member state. Changing this\ncreates a new monitor.\n"},"urlPath":{"type":"string","description":"Required for HTTP types. URI path that will be\naccessed if monitor type is `HTTP`.\n"}},"type":"object"}},"opentelekomcloud:index/lbMonitorV3:LbMonitorV3":{"description":"Up-to-date reference of API arguments for DLB monitor you can get at\n[documentation portal](https://docs.otc.t-systems.com/elastic-load-balancing/api-ref/apis_v3/health_check)\n\nManages a Dedicated LB monitor (health check) resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst lb = new opentelekomcloud.LbLoadbalancerV3(\"lb\", {\n    name: \"loadbalancer_1\",\n    routerId: sharedSubnet.vpcId,\n    networkIds: [sharedSubnet.networkId],\n    availabilityZones: [availabilityZone],\n});\nconst pool = new opentelekomcloud.LbPoolV3(\"pool\", {\n    loadbalancerId: lb.lbLoadbalancerV3Id,\n    protocol: \"HTTP\",\n    lbAlgorithm: \"ROUND_ROBIN\",\n});\nconst monitor = new opentelekomcloud.LbMonitorV3(\"monitor\", {\n    poolId: pool.lbPoolV3Id,\n    type: \"HTTP\",\n    delay: 3,\n    timeout: 30,\n    monitorPort: 8080,\n    maxRetries: 5,\n    maxRetriesDown: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nlb = opentelekomcloud.LbLoadbalancerV3(\"lb\",\n    name=\"loadbalancer_1\",\n    router_id=shared_subnet[\"vpcId\"],\n    network_ids=[shared_subnet[\"networkId\"]],\n    availability_zones=[availability_zone])\npool = opentelekomcloud.LbPoolV3(\"pool\",\n    loadbalancer_id=lb.lb_loadbalancer_v3_id,\n    protocol=\"HTTP\",\n    lb_algorithm=\"ROUND_ROBIN\")\nmonitor = opentelekomcloud.LbMonitorV3(\"monitor\",\n    pool_id=pool.lb_pool_v3_id,\n    type=\"HTTP\",\n    delay=3,\n    timeout=30,\n    monitor_port=8080,\n    max_retries=5,\n    max_retries_down=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var lb = new Opentelekomcloud.LbLoadbalancerV3(\"lb\", new()\n    {\n        Name = \"loadbalancer_1\",\n        RouterId = sharedSubnet.VpcId,\n        NetworkIds = new[]\n        {\n            sharedSubnet.NetworkId,\n        },\n        AvailabilityZones = new[]\n        {\n            availabilityZone,\n        },\n    });\n\n    var pool = new Opentelekomcloud.LbPoolV3(\"pool\", new()\n    {\n        LoadbalancerId = lb.LbLoadbalancerV3Id,\n        Protocol = \"HTTP\",\n        LbAlgorithm = \"ROUND_ROBIN\",\n    });\n\n    var monitor = new Opentelekomcloud.LbMonitorV3(\"monitor\", new()\n    {\n        PoolId = pool.LbPoolV3Id,\n        Type = \"HTTP\",\n        Delay = 3,\n        Timeout = 30,\n        MonitorPort = 8080,\n        MaxRetries = 5,\n        MaxRetriesDown = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tlb, err := opentelekomcloud.NewLbLoadbalancerV3(ctx, \"lb\", \u0026opentelekomcloud.LbLoadbalancerV3Args{\n\t\t\tName:     pulumi.String(\"loadbalancer_1\"),\n\t\t\tRouterId: pulumi.Any(sharedSubnet.VpcId),\n\t\t\tNetworkIds: pulumi.StringArray{\n\t\t\t\tsharedSubnet.NetworkId,\n\t\t\t},\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tavailabilityZone,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpool, err := opentelekomcloud.NewLbPoolV3(ctx, \"pool\", \u0026opentelekomcloud.LbPoolV3Args{\n\t\t\tLoadbalancerId: lb.LbLoadbalancerV3Id,\n\t\t\tProtocol:       pulumi.String(\"HTTP\"),\n\t\t\tLbAlgorithm:    pulumi.String(\"ROUND_ROBIN\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewLbMonitorV3(ctx, \"monitor\", \u0026opentelekomcloud.LbMonitorV3Args{\n\t\t\tPoolId:         pool.LbPoolV3Id,\n\t\t\tType:           pulumi.String(\"HTTP\"),\n\t\t\tDelay:          pulumi.Float64(3),\n\t\t\tTimeout:        pulumi.Float64(30),\n\t\t\tMonitorPort:    pulumi.Float64(8080),\n\t\t\tMaxRetries:     pulumi.Float64(5),\n\t\t\tMaxRetriesDown: pulumi.Float64(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.LbLoadbalancerV3;\nimport com.pulumi.opentelekomcloud.LbLoadbalancerV3Args;\nimport com.pulumi.opentelekomcloud.LbPoolV3;\nimport com.pulumi.opentelekomcloud.LbPoolV3Args;\nimport com.pulumi.opentelekomcloud.LbMonitorV3;\nimport com.pulumi.opentelekomcloud.LbMonitorV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var lb = new LbLoadbalancerV3(\"lb\", LbLoadbalancerV3Args.builder()\n            .name(\"loadbalancer_1\")\n            .routerId(sharedSubnet.vpcId())\n            .networkIds(sharedSubnet.networkId())\n            .availabilityZones(availabilityZone)\n            .build());\n\n        var pool = new LbPoolV3(\"pool\", LbPoolV3Args.builder()\n            .loadbalancerId(lb.lbLoadbalancerV3Id())\n            .protocol(\"HTTP\")\n            .lbAlgorithm(\"ROUND_ROBIN\")\n            .build());\n\n        var monitor = new LbMonitorV3(\"monitor\", LbMonitorV3Args.builder()\n            .poolId(pool.lbPoolV3Id())\n            .type(\"HTTP\")\n            .delay(3.0)\n            .timeout(30.0)\n            .monitorPort(8080.0)\n            .maxRetries(5.0)\n            .maxRetriesDown(1.0)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  lb:\n    type: opentelekomcloud:LbLoadbalancerV3\n    properties:\n      name: loadbalancer_1\n      routerId: ${sharedSubnet.vpcId}\n      networkIds:\n        - ${sharedSubnet.networkId}\n      availabilityZones:\n        - ${availabilityZone}\n  pool:\n    type: opentelekomcloud:LbPoolV3\n    properties:\n      loadbalancerId: ${lb.lbLoadbalancerV3Id}\n      protocol: HTTP\n      lbAlgorithm: ROUND_ROBIN\n  monitor:\n    type: opentelekomcloud:LbMonitorV3\n    properties:\n      poolId: ${pool.lbPoolV3Id}\n      type: HTTP\n      delay: 3\n      timeout: 30\n      monitorPort: 8080\n      maxRetries: 5\n      maxRetriesDown: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLoad Balancer Monitor can be imported using the monitor ID, e.g.:\n\n```sh\n$ pulumi import opentelekomcloud:index/lbMonitorV3:LbMonitorV3 monitor b4ef7345-cf1a-41ca-8baa-941466a66853\n```\n\n","properties":{"adminStateUp":{"type":"boolean","description":"Specifies the administrative status of the health check.\n\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e indicates that the health check is enabled, and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e indicates that the health check is disabled.\n\nDefault: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e\n"},"delay":{"type":"number","description":"Specifies the interval between health checks, in seconds.\n\nThe value of this parameter ranges from 1 to 50.\n"},"domainName":{"type":"string","description":"Specifies the domain name that HTTP requests are sent to during the health check.\n\nThis parameter is available only when type is set to `HTTP`.\n\nThe value is left blank by default, indicating that the virtual IP address of the load balancer is used as the\ndestination address of HTTP requests.\n\nThe value can contain only digits, letters, hyphens (-), and periods (.) and must start with a digit or letter.\n"},"expectedCodes":{"type":"string","description":"Specifies the expected HTTP status code. This parameter will take effect only\nwhen \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to HTTP.\n\nThe value options are as follows:\n* A specific value, for example, \u003cspan pulumi-lang-nodejs=\"`200`\" pulumi-lang-dotnet=\"`200`\" pulumi-lang-go=\"`200`\" pulumi-lang-python=\"`200`\" pulumi-lang-yaml=\"`200`\" pulumi-lang-java=\"`200`\"\u003e`200`\u003c/span\u003e\n* A list of values that are separated with commas (,), for example, `200, 202`\n* A value range, for example, `200-204`\n\nDefault: \u003cspan pulumi-lang-nodejs=\"`200`\" pulumi-lang-dotnet=\"`200`\" pulumi-lang-go=\"`200`\" pulumi-lang-python=\"`200`\" pulumi-lang-yaml=\"`200`\" pulumi-lang-java=\"`200`\"\u003e`200`\u003c/span\u003e\n"},"httpMethod":{"type":"string","description":"Specifies the HTTP method.\n\nThe value can be `GET`, `HEAD`, `POST`, `PUT`, `DELETE`, `TRACE`, `OPTIONS`, `CONNECT`, or `PATCH`.\n\nThis parameter will take effect only when type is set to `HTTP`.\n"},"lbMonitorV3Id":{"type":"string","description":"Specifies the health check (monitor) ID.\n"},"maxRetries":{"type":"number","description":"Specifies the number of consecutive health checks when the health check result of a backend\nserver changes from `OFFLINE` to `ONLINE`.\n\nThe value ranges from 1 to 10.\n"},"maxRetriesDown":{"type":"number","description":"Specifies the number of consecutive health checks when the health check result of a\nbackend server changes from `ONLINE` to `OFFLINE`.\n\nThe value ranges from 1 to 10.\n\nDefault value is 3\n"},"monitorPort":{"type":"number","description":"Specifies the port used for the health check. If this parameter is left blank, the port of\nthe backend server group will be used by default.\n"},"name":{"type":"string","description":"Specifies the health check name.\n"},"poolId":{"type":"string","description":"Specifies the ID of the backend server group for which the health check is configured.\nChanging this creates a new monitor.\n"},"projectId":{"type":"string","description":"Specifies the project ID. Changing this creates a new monitor.\n"},"timeout":{"type":"number","description":"Specifies the maximum time required for waiting for a response from the health check, in\nseconds.\n\nThe value of this parameter ranges from 1 to 50.\n\nIt is recommended that you set the value less than that of parameter \u003cspan pulumi-lang-nodejs=\"`delay`\" pulumi-lang-dotnet=\"`Delay`\" pulumi-lang-go=\"`delay`\" pulumi-lang-python=\"`delay`\" pulumi-lang-yaml=\"`delay`\" pulumi-lang-java=\"`delay`\"\u003e`delay`\u003c/span\u003e.\n"},"type":{"type":"string","description":"Specifies the health check protocol.\n\nThe value can be `TCP`, `UDP_CONNECT`, `HTTP`, `HTTPS`, or `PING`.\n"},"urlPath":{"type":"string","description":"Specifies the HTTP request path for the health check.\n\nThe value must start with a slash (/), and the default value is `/`.\n\nThis parameter is available only when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `HTTP`.\n"}},"type":"object","required":["delay","domainName","expectedCodes","httpMethod","lbMonitorV3Id","maxRetries","maxRetriesDown","monitorPort","name","poolId","projectId","timeout","type","urlPath"],"inputProperties":{"adminStateUp":{"type":"boolean","description":"Specifies the administrative status of the health check.\n\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e indicates that the health check is enabled, and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e indicates that the health check is disabled.\n\nDefault: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e\n"},"delay":{"type":"number","description":"Specifies the interval between health checks, in seconds.\n\nThe value of this parameter ranges from 1 to 50.\n"},"domainName":{"type":"string","description":"Specifies the domain name that HTTP requests are sent to during the health check.\n\nThis parameter is available only when type is set to `HTTP`.\n\nThe value is left blank by default, indicating that the virtual IP address of the load balancer is used as the\ndestination address of HTTP requests.\n\nThe value can contain only digits, letters, hyphens (-), and periods (.) and must start with a digit or letter.\n"},"expectedCodes":{"type":"string","description":"Specifies the expected HTTP status code. This parameter will take effect only\nwhen \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to HTTP.\n\nThe value options are as follows:\n* A specific value, for example, \u003cspan pulumi-lang-nodejs=\"`200`\" pulumi-lang-dotnet=\"`200`\" pulumi-lang-go=\"`200`\" pulumi-lang-python=\"`200`\" pulumi-lang-yaml=\"`200`\" pulumi-lang-java=\"`200`\"\u003e`200`\u003c/span\u003e\n* A list of values that are separated with commas (,), for example, `200, 202`\n* A value range, for example, `200-204`\n\nDefault: \u003cspan pulumi-lang-nodejs=\"`200`\" pulumi-lang-dotnet=\"`200`\" pulumi-lang-go=\"`200`\" pulumi-lang-python=\"`200`\" pulumi-lang-yaml=\"`200`\" pulumi-lang-java=\"`200`\"\u003e`200`\u003c/span\u003e\n"},"httpMethod":{"type":"string","description":"Specifies the HTTP method.\n\nThe value can be `GET`, `HEAD`, `POST`, `PUT`, `DELETE`, `TRACE`, `OPTIONS`, `CONNECT`, or `PATCH`.\n\nThis parameter will take effect only when type is set to `HTTP`.\n"},"lbMonitorV3Id":{"type":"string","description":"Specifies the health check (monitor) ID.\n"},"maxRetries":{"type":"number","description":"Specifies the number of consecutive health checks when the health check result of a backend\nserver changes from `OFFLINE` to `ONLINE`.\n\nThe value ranges from 1 to 10.\n"},"maxRetriesDown":{"type":"number","description":"Specifies the number of consecutive health checks when the health check result of a\nbackend server changes from `ONLINE` to `OFFLINE`.\n\nThe value ranges from 1 to 10.\n\nDefault value is 3\n"},"monitorPort":{"type":"number","description":"Specifies the port used for the health check. If this parameter is left blank, the port of\nthe backend server group will be used by default.\n"},"name":{"type":"string","description":"Specifies the health check name.\n"},"poolId":{"type":"string","description":"Specifies the ID of the backend server group for which the health check is configured.\nChanging this creates a new monitor.\n"},"projectId":{"type":"string","description":"Specifies the project ID. Changing this creates a new monitor.\n"},"timeout":{"type":"number","description":"Specifies the maximum time required for waiting for a response from the health check, in\nseconds.\n\nThe value of this parameter ranges from 1 to 50.\n\nIt is recommended that you set the value less than that of parameter \u003cspan pulumi-lang-nodejs=\"`delay`\" pulumi-lang-dotnet=\"`Delay`\" pulumi-lang-go=\"`delay`\" pulumi-lang-python=\"`delay`\" pulumi-lang-yaml=\"`delay`\" pulumi-lang-java=\"`delay`\"\u003e`delay`\u003c/span\u003e.\n"},"type":{"type":"string","description":"Specifies the health check protocol.\n\nThe value can be `TCP`, `UDP_CONNECT`, `HTTP`, `HTTPS`, or `PING`.\n"},"urlPath":{"type":"string","description":"Specifies the HTTP request path for the health check.\n\nThe value must start with a slash (/), and the default value is `/`.\n\nThis parameter is available only when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `HTTP`.\n"}},"requiredInputs":["delay","maxRetries","poolId","timeout","type"],"stateInputs":{"description":"Input properties used for looking up and filtering LbMonitorV3 resources.\n","properties":{"adminStateUp":{"type":"boolean","description":"Specifies the administrative status of the health check.\n\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e indicates that the health check is enabled, and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e indicates that the health check is disabled.\n\nDefault: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e\n"},"delay":{"type":"number","description":"Specifies the interval between health checks, in seconds.\n\nThe value of this parameter ranges from 1 to 50.\n"},"domainName":{"type":"string","description":"Specifies the domain name that HTTP requests are sent to during the health check.\n\nThis parameter is available only when type is set to `HTTP`.\n\nThe value is left blank by default, indicating that the virtual IP address of the load balancer is used as the\ndestination address of HTTP requests.\n\nThe value can contain only digits, letters, hyphens (-), and periods (.) and must start with a digit or letter.\n"},"expectedCodes":{"type":"string","description":"Specifies the expected HTTP status code. This parameter will take effect only\nwhen \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to HTTP.\n\nThe value options are as follows:\n* A specific value, for example, \u003cspan pulumi-lang-nodejs=\"`200`\" pulumi-lang-dotnet=\"`200`\" pulumi-lang-go=\"`200`\" pulumi-lang-python=\"`200`\" pulumi-lang-yaml=\"`200`\" pulumi-lang-java=\"`200`\"\u003e`200`\u003c/span\u003e\n* A list of values that are separated with commas (,), for example, `200, 202`\n* A value range, for example, `200-204`\n\nDefault: \u003cspan pulumi-lang-nodejs=\"`200`\" pulumi-lang-dotnet=\"`200`\" pulumi-lang-go=\"`200`\" pulumi-lang-python=\"`200`\" pulumi-lang-yaml=\"`200`\" pulumi-lang-java=\"`200`\"\u003e`200`\u003c/span\u003e\n"},"httpMethod":{"type":"string","description":"Specifies the HTTP method.\n\nThe value can be `GET`, `HEAD`, `POST`, `PUT`, `DELETE`, `TRACE`, `OPTIONS`, `CONNECT`, or `PATCH`.\n\nThis parameter will take effect only when type is set to `HTTP`.\n"},"lbMonitorV3Id":{"type":"string","description":"Specifies the health check (monitor) ID.\n"},"maxRetries":{"type":"number","description":"Specifies the number of consecutive health checks when the health check result of a backend\nserver changes from `OFFLINE` to `ONLINE`.\n\nThe value ranges from 1 to 10.\n"},"maxRetriesDown":{"type":"number","description":"Specifies the number of consecutive health checks when the health check result of a\nbackend server changes from `ONLINE` to `OFFLINE`.\n\nThe value ranges from 1 to 10.\n\nDefault value is 3\n"},"monitorPort":{"type":"number","description":"Specifies the port used for the health check. If this parameter is left blank, the port of\nthe backend server group will be used by default.\n"},"name":{"type":"string","description":"Specifies the health check name.\n"},"poolId":{"type":"string","description":"Specifies the ID of the backend server group for which the health check is configured.\nChanging this creates a new monitor.\n"},"projectId":{"type":"string","description":"Specifies the project ID. Changing this creates a new monitor.\n"},"timeout":{"type":"number","description":"Specifies the maximum time required for waiting for a response from the health check, in\nseconds.\n\nThe value of this parameter ranges from 1 to 50.\n\nIt is recommended that you set the value less than that of parameter \u003cspan pulumi-lang-nodejs=\"`delay`\" pulumi-lang-dotnet=\"`Delay`\" pulumi-lang-go=\"`delay`\" pulumi-lang-python=\"`delay`\" pulumi-lang-yaml=\"`delay`\" pulumi-lang-java=\"`delay`\"\u003e`delay`\u003c/span\u003e.\n"},"type":{"type":"string","description":"Specifies the health check protocol.\n\nThe value can be `TCP`, `UDP_CONNECT`, `HTTP`, `HTTPS`, or `PING`.\n"},"urlPath":{"type":"string","description":"Specifies the HTTP request path for the health check.\n\nThe value must start with a slash (/), and the default value is `/`.\n\nThis parameter is available only when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `HTTP`.\n"}},"type":"object"}},"opentelekomcloud:index/lbPolicyV3:LbPolicyV3":{"description":"Up-to-date reference of API arguments for DLB policy you can get at\n[documentation portal](https://docs.otc.t-systems.com/elastic-load-balancing/api-ref/apis_v3/forwarding_policy)\n\nManages a Dedicated Load Balancer Policy resource within OpenTelekomCloud.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst _this = new opentelekomcloud.LbLoadbalancerV3(\"this\", {\n    routerId: routerId,\n    networkIds: [networkId],\n    availabilityZones: [az],\n});\nconst thisLbListenerV3 = new opentelekomcloud.LbListenerV3(\"this\", {\n    loadbalancerId: _this.lbLoadbalancerV3Id,\n    protocol: \"HTTP\",\n    protocolPort: 8080,\n});\nconst thisLbPoolV3 = new opentelekomcloud.LbPoolV3(\"this\", {\n    loadbalancerId: _this.lbLoadbalancerV3Id,\n    lbAlgorithm: \"ROUND_ROBIN\",\n    protocol: \"HTTP\",\n});\nconst thisLbPolicyV3 = new opentelekomcloud.LbPolicyV3(\"this\", {\n    action: \"REDIRECT_TO_POOL\",\n    listenerId: thisLbListenerV3.lbListenerV3Id,\n    redirectPoolId: thisLbPoolV3.lbPoolV3Id,\n    position: 37,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nthis = opentelekomcloud.LbLoadbalancerV3(\"this\",\n    router_id=router_id,\n    network_ids=[network_id],\n    availability_zones=[az])\nthis_lb_listener_v3 = opentelekomcloud.LbListenerV3(\"this\",\n    loadbalancer_id=this.lb_loadbalancer_v3_id,\n    protocol=\"HTTP\",\n    protocol_port=8080)\nthis_lb_pool_v3 = opentelekomcloud.LbPoolV3(\"this\",\n    loadbalancer_id=this.lb_loadbalancer_v3_id,\n    lb_algorithm=\"ROUND_ROBIN\",\n    protocol=\"HTTP\")\nthis_lb_policy_v3 = opentelekomcloud.LbPolicyV3(\"this\",\n    action=\"REDIRECT_TO_POOL\",\n    listener_id=this_lb_listener_v3.lb_listener_v3_id,\n    redirect_pool_id=this_lb_pool_v3.lb_pool_v3_id,\n    position=37)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = new Opentelekomcloud.LbLoadbalancerV3(\"this\", new()\n    {\n        RouterId = routerId,\n        NetworkIds = new[]\n        {\n            networkId,\n        },\n        AvailabilityZones = new[]\n        {\n            az,\n        },\n    });\n\n    var thisLbListenerV3 = new Opentelekomcloud.LbListenerV3(\"this\", new()\n    {\n        LoadbalancerId = @this.LbLoadbalancerV3Id,\n        Protocol = \"HTTP\",\n        ProtocolPort = 8080,\n    });\n\n    var thisLbPoolV3 = new Opentelekomcloud.LbPoolV3(\"this\", new()\n    {\n        LoadbalancerId = @this.LbLoadbalancerV3Id,\n        LbAlgorithm = \"ROUND_ROBIN\",\n        Protocol = \"HTTP\",\n    });\n\n    var thisLbPolicyV3 = new Opentelekomcloud.LbPolicyV3(\"this\", new()\n    {\n        Action = \"REDIRECT_TO_POOL\",\n        ListenerId = thisLbListenerV3.LbListenerV3Id,\n        RedirectPoolId = thisLbPoolV3.LbPoolV3Id,\n        Position = 37,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tthis, err := opentelekomcloud.NewLbLoadbalancerV3(ctx, \"this\", \u0026opentelekomcloud.LbLoadbalancerV3Args{\n\t\t\tRouterId: pulumi.Any(routerId),\n\t\t\tNetworkIds: pulumi.StringArray{\n\t\t\t\tnetworkId,\n\t\t\t},\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\taz,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tthisLbListenerV3, err := opentelekomcloud.NewLbListenerV3(ctx, \"this\", \u0026opentelekomcloud.LbListenerV3Args{\n\t\t\tLoadbalancerId: this.LbLoadbalancerV3Id,\n\t\t\tProtocol:       pulumi.String(\"HTTP\"),\n\t\t\tProtocolPort:   pulumi.Float64(8080),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tthisLbPoolV3, err := opentelekomcloud.NewLbPoolV3(ctx, \"this\", \u0026opentelekomcloud.LbPoolV3Args{\n\t\t\tLoadbalancerId: this.LbLoadbalancerV3Id,\n\t\t\tLbAlgorithm:    pulumi.String(\"ROUND_ROBIN\"),\n\t\t\tProtocol:       pulumi.String(\"HTTP\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewLbPolicyV3(ctx, \"this\", \u0026opentelekomcloud.LbPolicyV3Args{\n\t\t\tAction:         pulumi.String(\"REDIRECT_TO_POOL\"),\n\t\t\tListenerId:     thisLbListenerV3.LbListenerV3Id,\n\t\t\tRedirectPoolId: thisLbPoolV3.LbPoolV3Id,\n\t\t\tPosition:       pulumi.Float64(37),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.LbLoadbalancerV3;\nimport com.pulumi.opentelekomcloud.LbLoadbalancerV3Args;\nimport com.pulumi.opentelekomcloud.LbListenerV3;\nimport com.pulumi.opentelekomcloud.LbListenerV3Args;\nimport com.pulumi.opentelekomcloud.LbPoolV3;\nimport com.pulumi.opentelekomcloud.LbPoolV3Args;\nimport com.pulumi.opentelekomcloud.LbPolicyV3;\nimport com.pulumi.opentelekomcloud.LbPolicyV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var this_ = new LbLoadbalancerV3(\"this\", LbLoadbalancerV3Args.builder()\n            .routerId(routerId)\n            .networkIds(networkId)\n            .availabilityZones(az)\n            .build());\n\n        var thisLbListenerV3 = new LbListenerV3(\"thisLbListenerV3\", LbListenerV3Args.builder()\n            .loadbalancerId(this_.lbLoadbalancerV3Id())\n            .protocol(\"HTTP\")\n            .protocolPort(8080.0)\n            .build());\n\n        var thisLbPoolV3 = new LbPoolV3(\"thisLbPoolV3\", LbPoolV3Args.builder()\n            .loadbalancerId(this_.lbLoadbalancerV3Id())\n            .lbAlgorithm(\"ROUND_ROBIN\")\n            .protocol(\"HTTP\")\n            .build());\n\n        var thisLbPolicyV3 = new LbPolicyV3(\"thisLbPolicyV3\", LbPolicyV3Args.builder()\n            .action(\"REDIRECT_TO_POOL\")\n            .listenerId(thisLbListenerV3.lbListenerV3Id())\n            .redirectPoolId(thisLbPoolV3.lbPoolV3Id())\n            .position(37.0)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  this:\n    type: opentelekomcloud:LbLoadbalancerV3\n    properties:\n      routerId: ${routerId}\n      networkIds:\n        - ${networkId}\n      availabilityZones:\n        - ${az}\n  thisLbListenerV3:\n    type: opentelekomcloud:LbListenerV3\n    name: this\n    properties:\n      loadbalancerId: ${this.lbLoadbalancerV3Id}\n      protocol: HTTP\n      protocolPort: 8080\n  thisLbPoolV3:\n    type: opentelekomcloud:LbPoolV3\n    name: this\n    properties:\n      loadbalancerId: ${this.lbLoadbalancerV3Id}\n      lbAlgorithm: ROUND_ROBIN\n      protocol: HTTP\n  thisLbPolicyV3:\n    type: opentelekomcloud:LbPolicyV3\n    name: this\n    properties:\n      action: REDIRECT_TO_POOL\n      listenerId: ${thisLbListenerV3.lbListenerV3Id}\n      redirectPoolId: ${thisLbPoolV3.lbPoolV3Id}\n      position: 37\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Fixed Response Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst _this = new opentelekomcloud.LbLoadbalancerV3(\"this\", {\n    routerId: routerId,\n    networkIds: [networkId],\n    availabilityZones: [az],\n});\nconst thisLbListenerV3 = new opentelekomcloud.LbListenerV3(\"this\", {\n    loadbalancerId: _this.lbLoadbalancerV3Id,\n    protocol: \"HTTP\",\n    protocolPort: 8080,\n    advancedForwarding: true,\n});\nconst thisLbPoolV3 = new opentelekomcloud.LbPoolV3(\"this\", {\n    loadbalancerId: _this.lbLoadbalancerV3Id,\n    lbAlgorithm: \"ROUND_ROBIN\",\n    protocol: \"HTTP\",\n});\nconst thisLbPolicyV3 = new opentelekomcloud.LbPolicyV3(\"this\", {\n    action: \"FIXED_RESPONSE\",\n    listenerId: thisLbListenerV3.lbListenerV3Id,\n    position: 37,\n    priority: 10,\n    fixedResponseConfig: {\n        statusCode: \"200\",\n        contentType: \"text/plain\",\n        messageBody: \"Fixed Response\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nthis = opentelekomcloud.LbLoadbalancerV3(\"this\",\n    router_id=router_id,\n    network_ids=[network_id],\n    availability_zones=[az])\nthis_lb_listener_v3 = opentelekomcloud.LbListenerV3(\"this\",\n    loadbalancer_id=this.lb_loadbalancer_v3_id,\n    protocol=\"HTTP\",\n    protocol_port=8080,\n    advanced_forwarding=True)\nthis_lb_pool_v3 = opentelekomcloud.LbPoolV3(\"this\",\n    loadbalancer_id=this.lb_loadbalancer_v3_id,\n    lb_algorithm=\"ROUND_ROBIN\",\n    protocol=\"HTTP\")\nthis_lb_policy_v3 = opentelekomcloud.LbPolicyV3(\"this\",\n    action=\"FIXED_RESPONSE\",\n    listener_id=this_lb_listener_v3.lb_listener_v3_id,\n    position=37,\n    priority=10,\n    fixed_response_config={\n        \"status_code\": \"200\",\n        \"content_type\": \"text/plain\",\n        \"message_body\": \"Fixed Response\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = new Opentelekomcloud.LbLoadbalancerV3(\"this\", new()\n    {\n        RouterId = routerId,\n        NetworkIds = new[]\n        {\n            networkId,\n        },\n        AvailabilityZones = new[]\n        {\n            az,\n        },\n    });\n\n    var thisLbListenerV3 = new Opentelekomcloud.LbListenerV3(\"this\", new()\n    {\n        LoadbalancerId = @this.LbLoadbalancerV3Id,\n        Protocol = \"HTTP\",\n        ProtocolPort = 8080,\n        AdvancedForwarding = true,\n    });\n\n    var thisLbPoolV3 = new Opentelekomcloud.LbPoolV3(\"this\", new()\n    {\n        LoadbalancerId = @this.LbLoadbalancerV3Id,\n        LbAlgorithm = \"ROUND_ROBIN\",\n        Protocol = \"HTTP\",\n    });\n\n    var thisLbPolicyV3 = new Opentelekomcloud.LbPolicyV3(\"this\", new()\n    {\n        Action = \"FIXED_RESPONSE\",\n        ListenerId = thisLbListenerV3.LbListenerV3Id,\n        Position = 37,\n        Priority = 10,\n        FixedResponseConfig = new Opentelekomcloud.Inputs.LbPolicyV3FixedResponseConfigArgs\n        {\n            StatusCode = \"200\",\n            ContentType = \"text/plain\",\n            MessageBody = \"Fixed Response\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tthis, err := opentelekomcloud.NewLbLoadbalancerV3(ctx, \"this\", \u0026opentelekomcloud.LbLoadbalancerV3Args{\n\t\t\tRouterId: pulumi.Any(routerId),\n\t\t\tNetworkIds: pulumi.StringArray{\n\t\t\t\tnetworkId,\n\t\t\t},\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\taz,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tthisLbListenerV3, err := opentelekomcloud.NewLbListenerV3(ctx, \"this\", \u0026opentelekomcloud.LbListenerV3Args{\n\t\t\tLoadbalancerId:     this.LbLoadbalancerV3Id,\n\t\t\tProtocol:           pulumi.String(\"HTTP\"),\n\t\t\tProtocolPort:       pulumi.Float64(8080),\n\t\t\tAdvancedForwarding: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewLbPoolV3(ctx, \"this\", \u0026opentelekomcloud.LbPoolV3Args{\n\t\t\tLoadbalancerId: this.LbLoadbalancerV3Id,\n\t\t\tLbAlgorithm:    pulumi.String(\"ROUND_ROBIN\"),\n\t\t\tProtocol:       pulumi.String(\"HTTP\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewLbPolicyV3(ctx, \"this\", \u0026opentelekomcloud.LbPolicyV3Args{\n\t\t\tAction:     pulumi.String(\"FIXED_RESPONSE\"),\n\t\t\tListenerId: thisLbListenerV3.LbListenerV3Id,\n\t\t\tPosition:   pulumi.Float64(37),\n\t\t\tPriority:   pulumi.Float64(10),\n\t\t\tFixedResponseConfig: \u0026opentelekomcloud.LbPolicyV3FixedResponseConfigArgs{\n\t\t\t\tStatusCode:  pulumi.String(\"200\"),\n\t\t\t\tContentType: pulumi.String(\"text/plain\"),\n\t\t\t\tMessageBody: pulumi.String(\"Fixed Response\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.LbLoadbalancerV3;\nimport com.pulumi.opentelekomcloud.LbLoadbalancerV3Args;\nimport com.pulumi.opentelekomcloud.LbListenerV3;\nimport com.pulumi.opentelekomcloud.LbListenerV3Args;\nimport com.pulumi.opentelekomcloud.LbPoolV3;\nimport com.pulumi.opentelekomcloud.LbPoolV3Args;\nimport com.pulumi.opentelekomcloud.LbPolicyV3;\nimport com.pulumi.opentelekomcloud.LbPolicyV3Args;\nimport com.pulumi.opentelekomcloud.inputs.LbPolicyV3FixedResponseConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var this_ = new LbLoadbalancerV3(\"this\", LbLoadbalancerV3Args.builder()\n            .routerId(routerId)\n            .networkIds(networkId)\n            .availabilityZones(az)\n            .build());\n\n        var thisLbListenerV3 = new LbListenerV3(\"thisLbListenerV3\", LbListenerV3Args.builder()\n            .loadbalancerId(this_.lbLoadbalancerV3Id())\n            .protocol(\"HTTP\")\n            .protocolPort(8080.0)\n            .advancedForwarding(true)\n            .build());\n\n        var thisLbPoolV3 = new LbPoolV3(\"thisLbPoolV3\", LbPoolV3Args.builder()\n            .loadbalancerId(this_.lbLoadbalancerV3Id())\n            .lbAlgorithm(\"ROUND_ROBIN\")\n            .protocol(\"HTTP\")\n            .build());\n\n        var thisLbPolicyV3 = new LbPolicyV3(\"thisLbPolicyV3\", LbPolicyV3Args.builder()\n            .action(\"FIXED_RESPONSE\")\n            .listenerId(thisLbListenerV3.lbListenerV3Id())\n            .position(37.0)\n            .priority(10.0)\n            .fixedResponseConfig(LbPolicyV3FixedResponseConfigArgs.builder()\n                .statusCode(\"200\")\n                .contentType(\"text/plain\")\n                .messageBody(\"Fixed Response\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  this:\n    type: opentelekomcloud:LbLoadbalancerV3\n    properties:\n      routerId: ${routerId}\n      networkIds:\n        - ${networkId}\n      availabilityZones:\n        - ${az}\n  thisLbListenerV3:\n    type: opentelekomcloud:LbListenerV3\n    name: this\n    properties:\n      loadbalancerId: ${this.lbLoadbalancerV3Id}\n      protocol: HTTP\n      protocolPort: 8080\n      advancedForwarding: true\n  thisLbPoolV3:\n    type: opentelekomcloud:LbPoolV3\n    name: this\n    properties:\n      loadbalancerId: ${this.lbLoadbalancerV3Id}\n      lbAlgorithm: ROUND_ROBIN\n      protocol: HTTP\n  thisLbPolicyV3:\n    type: opentelekomcloud:LbPolicyV3\n    name: this\n    properties:\n      action: FIXED_RESPONSE\n      listenerId: ${thisLbListenerV3.lbListenerV3Id}\n      position: 37\n      priority: 10\n      fixedResponseConfig:\n        statusCode: '200'\n        contentType: text/plain\n        messageBody: Fixed Response\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Redirect To Url Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst _this = new opentelekomcloud.LbLoadbalancerV3(\"this\", {\n    routerId: routerId,\n    networkIds: [networkId],\n    availabilityZones: [az],\n});\nconst thisLbListenerV3 = new opentelekomcloud.LbListenerV3(\"this\", {\n    loadbalancerId: _this.lbLoadbalancerV3Id,\n    protocol: \"HTTP\",\n    protocolPort: 8080,\n    advancedForwarding: true,\n});\nconst thisLbPoolV3 = new opentelekomcloud.LbPoolV3(\"this\", {\n    loadbalancerId: _this.lbLoadbalancerV3Id,\n    lbAlgorithm: \"ROUND_ROBIN\",\n    protocol: \"HTTP\",\n});\nconst thisLbPolicyV3 = new opentelekomcloud.LbPolicyV3(\"this\", {\n    action: \"REDIRECT_TO_URL\",\n    listenerId: thisLbListenerV3.lbListenerV3Id,\n    position: 37,\n    priority: 10,\n    redirectUrl: \"https://www.google.com:443\",\n    redirectUrlConfig: {\n        statusCode: \"301\",\n        query: \"name=my_name\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nthis = opentelekomcloud.LbLoadbalancerV3(\"this\",\n    router_id=router_id,\n    network_ids=[network_id],\n    availability_zones=[az])\nthis_lb_listener_v3 = opentelekomcloud.LbListenerV3(\"this\",\n    loadbalancer_id=this.lb_loadbalancer_v3_id,\n    protocol=\"HTTP\",\n    protocol_port=8080,\n    advanced_forwarding=True)\nthis_lb_pool_v3 = opentelekomcloud.LbPoolV3(\"this\",\n    loadbalancer_id=this.lb_loadbalancer_v3_id,\n    lb_algorithm=\"ROUND_ROBIN\",\n    protocol=\"HTTP\")\nthis_lb_policy_v3 = opentelekomcloud.LbPolicyV3(\"this\",\n    action=\"REDIRECT_TO_URL\",\n    listener_id=this_lb_listener_v3.lb_listener_v3_id,\n    position=37,\n    priority=10,\n    redirect_url=\"https://www.google.com:443\",\n    redirect_url_config={\n        \"status_code\": \"301\",\n        \"query\": \"name=my_name\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = new Opentelekomcloud.LbLoadbalancerV3(\"this\", new()\n    {\n        RouterId = routerId,\n        NetworkIds = new[]\n        {\n            networkId,\n        },\n        AvailabilityZones = new[]\n        {\n            az,\n        },\n    });\n\n    var thisLbListenerV3 = new Opentelekomcloud.LbListenerV3(\"this\", new()\n    {\n        LoadbalancerId = @this.LbLoadbalancerV3Id,\n        Protocol = \"HTTP\",\n        ProtocolPort = 8080,\n        AdvancedForwarding = true,\n    });\n\n    var thisLbPoolV3 = new Opentelekomcloud.LbPoolV3(\"this\", new()\n    {\n        LoadbalancerId = @this.LbLoadbalancerV3Id,\n        LbAlgorithm = \"ROUND_ROBIN\",\n        Protocol = \"HTTP\",\n    });\n\n    var thisLbPolicyV3 = new Opentelekomcloud.LbPolicyV3(\"this\", new()\n    {\n        Action = \"REDIRECT_TO_URL\",\n        ListenerId = thisLbListenerV3.LbListenerV3Id,\n        Position = 37,\n        Priority = 10,\n        RedirectUrl = \"https://www.google.com:443\",\n        RedirectUrlConfig = new Opentelekomcloud.Inputs.LbPolicyV3RedirectUrlConfigArgs\n        {\n            StatusCode = \"301\",\n            Query = \"name=my_name\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tthis, err := opentelekomcloud.NewLbLoadbalancerV3(ctx, \"this\", \u0026opentelekomcloud.LbLoadbalancerV3Args{\n\t\t\tRouterId: pulumi.Any(routerId),\n\t\t\tNetworkIds: pulumi.StringArray{\n\t\t\t\tnetworkId,\n\t\t\t},\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\taz,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tthisLbListenerV3, err := opentelekomcloud.NewLbListenerV3(ctx, \"this\", \u0026opentelekomcloud.LbListenerV3Args{\n\t\t\tLoadbalancerId:     this.LbLoadbalancerV3Id,\n\t\t\tProtocol:           pulumi.String(\"HTTP\"),\n\t\t\tProtocolPort:       pulumi.Float64(8080),\n\t\t\tAdvancedForwarding: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewLbPoolV3(ctx, \"this\", \u0026opentelekomcloud.LbPoolV3Args{\n\t\t\tLoadbalancerId: this.LbLoadbalancerV3Id,\n\t\t\tLbAlgorithm:    pulumi.String(\"ROUND_ROBIN\"),\n\t\t\tProtocol:       pulumi.String(\"HTTP\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewLbPolicyV3(ctx, \"this\", \u0026opentelekomcloud.LbPolicyV3Args{\n\t\t\tAction:      pulumi.String(\"REDIRECT_TO_URL\"),\n\t\t\tListenerId:  thisLbListenerV3.LbListenerV3Id,\n\t\t\tPosition:    pulumi.Float64(37),\n\t\t\tPriority:    pulumi.Float64(10),\n\t\t\tRedirectUrl: pulumi.String(\"https://www.google.com:443\"),\n\t\t\tRedirectUrlConfig: \u0026opentelekomcloud.LbPolicyV3RedirectUrlConfigArgs{\n\t\t\t\tStatusCode: pulumi.String(\"301\"),\n\t\t\t\tQuery:      pulumi.String(\"name=my_name\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.LbLoadbalancerV3;\nimport com.pulumi.opentelekomcloud.LbLoadbalancerV3Args;\nimport com.pulumi.opentelekomcloud.LbListenerV3;\nimport com.pulumi.opentelekomcloud.LbListenerV3Args;\nimport com.pulumi.opentelekomcloud.LbPoolV3;\nimport com.pulumi.opentelekomcloud.LbPoolV3Args;\nimport com.pulumi.opentelekomcloud.LbPolicyV3;\nimport com.pulumi.opentelekomcloud.LbPolicyV3Args;\nimport com.pulumi.opentelekomcloud.inputs.LbPolicyV3RedirectUrlConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var this_ = new LbLoadbalancerV3(\"this\", LbLoadbalancerV3Args.builder()\n            .routerId(routerId)\n            .networkIds(networkId)\n            .availabilityZones(az)\n            .build());\n\n        var thisLbListenerV3 = new LbListenerV3(\"thisLbListenerV3\", LbListenerV3Args.builder()\n            .loadbalancerId(this_.lbLoadbalancerV3Id())\n            .protocol(\"HTTP\")\n            .protocolPort(8080.0)\n            .advancedForwarding(true)\n            .build());\n\n        var thisLbPoolV3 = new LbPoolV3(\"thisLbPoolV3\", LbPoolV3Args.builder()\n            .loadbalancerId(this_.lbLoadbalancerV3Id())\n            .lbAlgorithm(\"ROUND_ROBIN\")\n            .protocol(\"HTTP\")\n            .build());\n\n        var thisLbPolicyV3 = new LbPolicyV3(\"thisLbPolicyV3\", LbPolicyV3Args.builder()\n            .action(\"REDIRECT_TO_URL\")\n            .listenerId(thisLbListenerV3.lbListenerV3Id())\n            .position(37.0)\n            .priority(10.0)\n            .redirectUrl(\"https://www.google.com:443\")\n            .redirectUrlConfig(LbPolicyV3RedirectUrlConfigArgs.builder()\n                .statusCode(\"301\")\n                .query(\"name=my_name\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  this:\n    type: opentelekomcloud:LbLoadbalancerV3\n    properties:\n      routerId: ${routerId}\n      networkIds:\n        - ${networkId}\n      availabilityZones:\n        - ${az}\n  thisLbListenerV3:\n    type: opentelekomcloud:LbListenerV3\n    name: this\n    properties:\n      loadbalancerId: ${this.lbLoadbalancerV3Id}\n      protocol: HTTP\n      protocolPort: 8080\n      advancedForwarding: true\n  thisLbPoolV3:\n    type: opentelekomcloud:LbPoolV3\n    name: this\n    properties:\n      loadbalancerId: ${this.lbLoadbalancerV3Id}\n      lbAlgorithm: ROUND_ROBIN\n      protocol: HTTP\n  thisLbPolicyV3:\n    type: opentelekomcloud:LbPolicyV3\n    name: this\n    properties:\n      action: REDIRECT_TO_URL\n      listenerId: ${thisLbListenerV3.lbListenerV3Id}\n      position: 37\n      priority: 10\n      redirectUrl: https://www.google.com:443\n      redirectUrlConfig:\n        statusCode: '301'\n        query: name=my_name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLoad Balancer Policy can be imported using the Policy ID, e.g.:\n\n```sh\n$ pulumi import opentelekomcloud:index/lbPolicyV3:LbPolicyV3 this 8a7a79c2-cf17-4e65-b2ae-ddc8bfcf6c74\n```\n\n","properties":{"action":{"type":"string","description":"The Policy action - can either be `REDIRECT_TO_POOL`,\nor `REDIRECT_TO_LISTENER`. Changing this creates a new Policy.\n"},"description":{"type":"string","description":"Provides supplementary information about the forwarding policy.\n"},"fixedResponseConfig":{"$ref":"#/types/opentelekomcloud:index%2FLbPolicyV3FixedResponseConfig:LbPolicyV3FixedResponseConfig","description":"Specifies the configuration of the page that will be returned.\nThis parameter will take effect when \u003cspan pulumi-lang-nodejs=\"`advancedForwarding`\" pulumi-lang-dotnet=\"`AdvancedForwarding`\" pulumi-lang-go=\"`advancedForwarding`\" pulumi-lang-python=\"`advanced_forwarding`\" pulumi-lang-yaml=\"`advancedForwarding`\" pulumi-lang-java=\"`advancedForwarding`\"\u003e`advanced_forwarding`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\nIf this parameter is passed and \u003cspan pulumi-lang-nodejs=\"`advancedForwarding`\" pulumi-lang-dotnet=\"`AdvancedForwarding`\" pulumi-lang-go=\"`advancedForwarding`\" pulumi-lang-python=\"`advanced_forwarding`\" pulumi-lang-yaml=\"`advancedForwarding`\" pulumi-lang-java=\"`advancedForwarding`\"\u003e`advanced_forwarding`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, an error will be returned.\nNot available in `eu-nl`.\n"},"lbPolicyV3Id":{"type":"string","description":"The unique ID for the policy.\n"},"listenerId":{"type":"string","description":"The Listener on which the Policy will be associated with.\nChanging this creates a new Policy.\n"},"name":{"type":"string","description":"Specifies the forwarding policy name.\n"},"position":{"type":"number","description":"The position of this policy on the listener. Positions start at \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\nChanging this creates a new Policy.\n"},"priority":{"type":"number","description":"Specifies the forwarding policy priority.\nA smaller value indicates a higher priority. The value must be unique for forwarding policies of the same listener.\nThis parameter will take effect only when \u003cspan pulumi-lang-nodejs=\"`advancedForwarding`\" pulumi-lang-dotnet=\"`AdvancedForwarding`\" pulumi-lang-go=\"`advancedForwarding`\" pulumi-lang-python=\"`advanced_forwarding`\" pulumi-lang-yaml=\"`advancedForwarding`\" pulumi-lang-java=\"`advancedForwarding`\"\u003e`advanced_forwarding`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\nIf this parameter is passed and \u003cspan pulumi-lang-nodejs=\"`advancedForwarding`\" pulumi-lang-dotnet=\"`AdvancedForwarding`\" pulumi-lang-go=\"`advancedForwarding`\" pulumi-lang-python=\"`advanced_forwarding`\" pulumi-lang-yaml=\"`advancedForwarding`\" pulumi-lang-java=\"`advancedForwarding`\"\u003e`advanced_forwarding`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, an error will be returned.\nThis parameter is unsupported for shared load balancers and not available in `eu-nl`.\n"},"projectId":{"type":"string","description":"Required for admins. The UUID of the tenant who owns\nthe Policy. Only administrative users can specify a tenant UUID other than\ntheir own. Changing this creates a new Policy.\n"},"redirectListenerId":{"type":"string","description":"Requests matching this policy will be redirected to the listener with this ID.\nOnly valid if \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e is `REDIRECT_TO_LISTENER`.\n"},"redirectPoolId":{"type":"string","description":"Requests matching this policy will be redirected to the pool with this ID.\nOnly valid if \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e is `REDIRECT_TO_POOL`.\n"},"redirectPoolsConfigs":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FLbPolicyV3RedirectPoolsConfig:LbPolicyV3RedirectPoolsConfig"},"description":"Specifies the configuration of the backend server group that the requests\nare forwarded to. This parameter is valid only when action is set to `REDIRECT_TO_POOL`.\n"},"redirectUrl":{"type":"string","description":"Specifies the URL to which requests are forwarded.\n"},"redirectUrlConfig":{"$ref":"#/types/opentelekomcloud:index%2FLbPolicyV3RedirectUrlConfig:LbPolicyV3RedirectUrlConfig","description":"Specifies the URL to which requests are forwarded.\nFor dedicated load balancers, This parameter will take effect when \u003cspan pulumi-lang-nodejs=\"`advancedForwarding`\" pulumi-lang-dotnet=\"`AdvancedForwarding`\" pulumi-lang-go=\"`advancedForwarding`\" pulumi-lang-python=\"`advanced_forwarding`\" pulumi-lang-yaml=\"`advancedForwarding`\" pulumi-lang-java=\"`advancedForwarding`\"\u003e`advanced_forwarding`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\nIf it is passed when \u003cspan pulumi-lang-nodejs=\"`advancedForwarding`\" pulumi-lang-dotnet=\"`AdvancedForwarding`\" pulumi-lang-go=\"`advancedForwarding`\" pulumi-lang-python=\"`advanced_forwarding`\" pulumi-lang-yaml=\"`advancedForwarding`\" pulumi-lang-java=\"`advancedForwarding`\"\u003e`advanced_forwarding`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, an error will be returned. Not available in `eu-nl`.\n"},"rules":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FLbPolicyV3Rule:LbPolicyV3Rule"},"description":"Lists the forwarding rules in the forwarding policy.\n"},"status":{"type":"string","description":"Specifies the provisioning status of the forwarding policy.\n"}},"type":"object","required":["action","description","lbPolicyV3Id","listenerId","name","priority","projectId","redirectUrl","status"],"inputProperties":{"action":{"type":"string","description":"The Policy action - can either be `REDIRECT_TO_POOL`,\nor `REDIRECT_TO_LISTENER`. Changing this creates a new Policy.\n"},"description":{"type":"string","description":"Provides supplementary information about the forwarding policy.\n"},"fixedResponseConfig":{"$ref":"#/types/opentelekomcloud:index%2FLbPolicyV3FixedResponseConfig:LbPolicyV3FixedResponseConfig","description":"Specifies the configuration of the page that will be returned.\nThis parameter will take effect when \u003cspan pulumi-lang-nodejs=\"`advancedForwarding`\" pulumi-lang-dotnet=\"`AdvancedForwarding`\" pulumi-lang-go=\"`advancedForwarding`\" pulumi-lang-python=\"`advanced_forwarding`\" pulumi-lang-yaml=\"`advancedForwarding`\" pulumi-lang-java=\"`advancedForwarding`\"\u003e`advanced_forwarding`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\nIf this parameter is passed and \u003cspan pulumi-lang-nodejs=\"`advancedForwarding`\" pulumi-lang-dotnet=\"`AdvancedForwarding`\" pulumi-lang-go=\"`advancedForwarding`\" pulumi-lang-python=\"`advanced_forwarding`\" pulumi-lang-yaml=\"`advancedForwarding`\" pulumi-lang-java=\"`advancedForwarding`\"\u003e`advanced_forwarding`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, an error will be returned.\nNot available in `eu-nl`.\n"},"lbPolicyV3Id":{"type":"string","description":"The unique ID for the policy.\n"},"listenerId":{"type":"string","description":"The Listener on which the Policy will be associated with.\nChanging this creates a new Policy.\n"},"name":{"type":"string","description":"Specifies the forwarding policy name.\n"},"position":{"type":"number","description":"The position of this policy on the listener. Positions start at \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\nChanging this creates a new Policy.\n"},"priority":{"type":"number","description":"Specifies the forwarding policy priority.\nA smaller value indicates a higher priority. The value must be unique for forwarding policies of the same listener.\nThis parameter will take effect only when \u003cspan pulumi-lang-nodejs=\"`advancedForwarding`\" pulumi-lang-dotnet=\"`AdvancedForwarding`\" pulumi-lang-go=\"`advancedForwarding`\" pulumi-lang-python=\"`advanced_forwarding`\" pulumi-lang-yaml=\"`advancedForwarding`\" pulumi-lang-java=\"`advancedForwarding`\"\u003e`advanced_forwarding`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\nIf this parameter is passed and \u003cspan pulumi-lang-nodejs=\"`advancedForwarding`\" pulumi-lang-dotnet=\"`AdvancedForwarding`\" pulumi-lang-go=\"`advancedForwarding`\" pulumi-lang-python=\"`advanced_forwarding`\" pulumi-lang-yaml=\"`advancedForwarding`\" pulumi-lang-java=\"`advancedForwarding`\"\u003e`advanced_forwarding`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, an error will be returned.\nThis parameter is unsupported for shared load balancers and not available in `eu-nl`.\n"},"projectId":{"type":"string","description":"Required for admins. The UUID of the tenant who owns\nthe Policy. Only administrative users can specify a tenant UUID other than\ntheir own. Changing this creates a new Policy.\n"},"redirectListenerId":{"type":"string","description":"Requests matching this policy will be redirected to the listener with this ID.\nOnly valid if \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e is `REDIRECT_TO_LISTENER`.\n"},"redirectPoolId":{"type":"string","description":"Requests matching this policy will be redirected to the pool with this ID.\nOnly valid if \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e is `REDIRECT_TO_POOL`.\n"},"redirectPoolsConfigs":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FLbPolicyV3RedirectPoolsConfig:LbPolicyV3RedirectPoolsConfig"},"description":"Specifies the configuration of the backend server group that the requests\nare forwarded to. This parameter is valid only when action is set to `REDIRECT_TO_POOL`.\n"},"redirectUrl":{"type":"string","description":"Specifies the URL to which requests are forwarded.\n"},"redirectUrlConfig":{"$ref":"#/types/opentelekomcloud:index%2FLbPolicyV3RedirectUrlConfig:LbPolicyV3RedirectUrlConfig","description":"Specifies the URL to which requests are forwarded.\nFor dedicated load balancers, This parameter will take effect when \u003cspan pulumi-lang-nodejs=\"`advancedForwarding`\" pulumi-lang-dotnet=\"`AdvancedForwarding`\" pulumi-lang-go=\"`advancedForwarding`\" pulumi-lang-python=\"`advanced_forwarding`\" pulumi-lang-yaml=\"`advancedForwarding`\" pulumi-lang-java=\"`advancedForwarding`\"\u003e`advanced_forwarding`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\nIf it is passed when \u003cspan pulumi-lang-nodejs=\"`advancedForwarding`\" pulumi-lang-dotnet=\"`AdvancedForwarding`\" pulumi-lang-go=\"`advancedForwarding`\" pulumi-lang-python=\"`advanced_forwarding`\" pulumi-lang-yaml=\"`advancedForwarding`\" pulumi-lang-java=\"`advancedForwarding`\"\u003e`advanced_forwarding`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, an error will be returned. Not available in `eu-nl`.\n"},"rules":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FLbPolicyV3Rule:LbPolicyV3Rule"},"description":"Lists the forwarding rules in the forwarding policy.\n"}},"requiredInputs":["action","listenerId"],"stateInputs":{"description":"Input properties used for looking up and filtering LbPolicyV3 resources.\n","properties":{"action":{"type":"string","description":"The Policy action - can either be `REDIRECT_TO_POOL`,\nor `REDIRECT_TO_LISTENER`. Changing this creates a new Policy.\n"},"description":{"type":"string","description":"Provides supplementary information about the forwarding policy.\n"},"fixedResponseConfig":{"$ref":"#/types/opentelekomcloud:index%2FLbPolicyV3FixedResponseConfig:LbPolicyV3FixedResponseConfig","description":"Specifies the configuration of the page that will be returned.\nThis parameter will take effect when \u003cspan pulumi-lang-nodejs=\"`advancedForwarding`\" pulumi-lang-dotnet=\"`AdvancedForwarding`\" pulumi-lang-go=\"`advancedForwarding`\" pulumi-lang-python=\"`advanced_forwarding`\" pulumi-lang-yaml=\"`advancedForwarding`\" pulumi-lang-java=\"`advancedForwarding`\"\u003e`advanced_forwarding`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\nIf this parameter is passed and \u003cspan pulumi-lang-nodejs=\"`advancedForwarding`\" pulumi-lang-dotnet=\"`AdvancedForwarding`\" pulumi-lang-go=\"`advancedForwarding`\" pulumi-lang-python=\"`advanced_forwarding`\" pulumi-lang-yaml=\"`advancedForwarding`\" pulumi-lang-java=\"`advancedForwarding`\"\u003e`advanced_forwarding`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, an error will be returned.\nNot available in `eu-nl`.\n"},"lbPolicyV3Id":{"type":"string","description":"The unique ID for the policy.\n"},"listenerId":{"type":"string","description":"The Listener on which the Policy will be associated with.\nChanging this creates a new Policy.\n"},"name":{"type":"string","description":"Specifies the forwarding policy name.\n"},"position":{"type":"number","description":"The position of this policy on the listener. Positions start at \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\nChanging this creates a new Policy.\n"},"priority":{"type":"number","description":"Specifies the forwarding policy priority.\nA smaller value indicates a higher priority. The value must be unique for forwarding policies of the same listener.\nThis parameter will take effect only when \u003cspan pulumi-lang-nodejs=\"`advancedForwarding`\" pulumi-lang-dotnet=\"`AdvancedForwarding`\" pulumi-lang-go=\"`advancedForwarding`\" pulumi-lang-python=\"`advanced_forwarding`\" pulumi-lang-yaml=\"`advancedForwarding`\" pulumi-lang-java=\"`advancedForwarding`\"\u003e`advanced_forwarding`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\nIf this parameter is passed and \u003cspan pulumi-lang-nodejs=\"`advancedForwarding`\" pulumi-lang-dotnet=\"`AdvancedForwarding`\" pulumi-lang-go=\"`advancedForwarding`\" pulumi-lang-python=\"`advanced_forwarding`\" pulumi-lang-yaml=\"`advancedForwarding`\" pulumi-lang-java=\"`advancedForwarding`\"\u003e`advanced_forwarding`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, an error will be returned.\nThis parameter is unsupported for shared load balancers and not available in `eu-nl`.\n"},"projectId":{"type":"string","description":"Required for admins. The UUID of the tenant who owns\nthe Policy. Only administrative users can specify a tenant UUID other than\ntheir own. Changing this creates a new Policy.\n"},"redirectListenerId":{"type":"string","description":"Requests matching this policy will be redirected to the listener with this ID.\nOnly valid if \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e is `REDIRECT_TO_LISTENER`.\n"},"redirectPoolId":{"type":"string","description":"Requests matching this policy will be redirected to the pool with this ID.\nOnly valid if \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e is `REDIRECT_TO_POOL`.\n"},"redirectPoolsConfigs":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FLbPolicyV3RedirectPoolsConfig:LbPolicyV3RedirectPoolsConfig"},"description":"Specifies the configuration of the backend server group that the requests\nare forwarded to. This parameter is valid only when action is set to `REDIRECT_TO_POOL`.\n"},"redirectUrl":{"type":"string","description":"Specifies the URL to which requests are forwarded.\n"},"redirectUrlConfig":{"$ref":"#/types/opentelekomcloud:index%2FLbPolicyV3RedirectUrlConfig:LbPolicyV3RedirectUrlConfig","description":"Specifies the URL to which requests are forwarded.\nFor dedicated load balancers, This parameter will take effect when \u003cspan pulumi-lang-nodejs=\"`advancedForwarding`\" pulumi-lang-dotnet=\"`AdvancedForwarding`\" pulumi-lang-go=\"`advancedForwarding`\" pulumi-lang-python=\"`advanced_forwarding`\" pulumi-lang-yaml=\"`advancedForwarding`\" pulumi-lang-java=\"`advancedForwarding`\"\u003e`advanced_forwarding`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\nIf it is passed when \u003cspan pulumi-lang-nodejs=\"`advancedForwarding`\" pulumi-lang-dotnet=\"`AdvancedForwarding`\" pulumi-lang-go=\"`advancedForwarding`\" pulumi-lang-python=\"`advanced_forwarding`\" pulumi-lang-yaml=\"`advancedForwarding`\" pulumi-lang-java=\"`advancedForwarding`\"\u003e`advanced_forwarding`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, an error will be returned. Not available in `eu-nl`.\n"},"rules":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FLbPolicyV3Rule:LbPolicyV3Rule"},"description":"Lists the forwarding rules in the forwarding policy.\n"},"status":{"type":"string","description":"Specifies the provisioning status of the forwarding policy.\n"}},"type":"object"}},"opentelekomcloud:index/lbPoolV2:LbPoolV2":{"description":"Up-to-date reference of API arguments for ELB pool you can get at\n[documentation portal](https://docs.otc.t-systems.com/elastic-load-balancing/api-ref/apis_v2.0/backend_server_group)\n\nManages an Enhanced LB pool resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst pool1 = new opentelekomcloud.LbPoolV2(\"pool_1\", {\n    protocol: \"HTTP\",\n    lbMethod: \"ROUND_ROBIN\",\n    listenerId: \"d9415786-5f1a-428b-b35f-2f1523e146d2\",\n    persistences: [{\n        type: \"APP_COOKIE\",\n        cookieName: \"testCookie\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\npool1 = opentelekomcloud.LbPoolV2(\"pool_1\",\n    protocol=\"HTTP\",\n    lb_method=\"ROUND_ROBIN\",\n    listener_id=\"d9415786-5f1a-428b-b35f-2f1523e146d2\",\n    persistences=[{\n        \"type\": \"APP_COOKIE\",\n        \"cookie_name\": \"testCookie\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var pool1 = new Opentelekomcloud.LbPoolV2(\"pool_1\", new()\n    {\n        Protocol = \"HTTP\",\n        LbMethod = \"ROUND_ROBIN\",\n        ListenerId = \"d9415786-5f1a-428b-b35f-2f1523e146d2\",\n        Persistences = new[]\n        {\n            new Opentelekomcloud.Inputs.LbPoolV2PersistenceArgs\n            {\n                Type = \"APP_COOKIE\",\n                CookieName = \"testCookie\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewLbPoolV2(ctx, \"pool_1\", \u0026opentelekomcloud.LbPoolV2Args{\n\t\t\tProtocol:   pulumi.String(\"HTTP\"),\n\t\t\tLbMethod:   pulumi.String(\"ROUND_ROBIN\"),\n\t\t\tListenerId: pulumi.String(\"d9415786-5f1a-428b-b35f-2f1523e146d2\"),\n\t\t\tPersistences: opentelekomcloud.LbPoolV2PersistenceArray{\n\t\t\t\t\u0026opentelekomcloud.LbPoolV2PersistenceArgs{\n\t\t\t\t\tType:       pulumi.String(\"APP_COOKIE\"),\n\t\t\t\t\tCookieName: pulumi.String(\"testCookie\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.LbPoolV2;\nimport com.pulumi.opentelekomcloud.LbPoolV2Args;\nimport com.pulumi.opentelekomcloud.inputs.LbPoolV2PersistenceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var pool1 = new LbPoolV2(\"pool1\", LbPoolV2Args.builder()\n            .protocol(\"HTTP\")\n            .lbMethod(\"ROUND_ROBIN\")\n            .listenerId(\"d9415786-5f1a-428b-b35f-2f1523e146d2\")\n            .persistences(LbPoolV2PersistenceArgs.builder()\n                .type(\"APP_COOKIE\")\n                .cookieName(\"testCookie\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  pool1:\n    type: opentelekomcloud:LbPoolV2\n    name: pool_1\n    properties:\n      protocol: HTTP\n      lbMethod: ROUND_ROBIN\n      listenerId: d9415786-5f1a-428b-b35f-2f1523e146d2\n      persistences:\n        - type: APP_COOKIE\n          cookieName: testCookie\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"adminStateUp":{"type":"boolean","description":"The administrative state of the pool.\nA valid value is true (UP) or false (DOWN).\n"},"description":{"type":"string","description":"Human-readable description for the pool.\n"},"lbMethod":{"type":"string","description":"The load balancing algorithm to\ndistribute traffic to the pool's members. Must be one of\n`ROUND_ROBIN`, `LEAST_CONNECTIONS`, or `SOURCE_IP`.\n"},"lbPoolV2Id":{"type":"string","description":"The unique ID for the pool.\n"},"listenerId":{"type":"string","description":"The Listener on which the members of the pool\nwill be associated with. Changing this creates a new pool.\n\n\u003e One of \u003cspan pulumi-lang-nodejs=\"`loadbalancerId`\" pulumi-lang-dotnet=\"`LoadbalancerId`\" pulumi-lang-go=\"`loadbalancerId`\" pulumi-lang-python=\"`loadbalancer_id`\" pulumi-lang-yaml=\"`loadbalancerId`\" pulumi-lang-java=\"`loadbalancerId`\"\u003e`loadbalancer_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`listenerId`\" pulumi-lang-dotnet=\"`ListenerId`\" pulumi-lang-go=\"`listenerId`\" pulumi-lang-python=\"`listener_id`\" pulumi-lang-yaml=\"`listenerId`\" pulumi-lang-java=\"`listenerId`\"\u003e`listener_id`\u003c/span\u003e must be provided.\n"},"loadbalancerId":{"type":"string","description":"The load balancer on which to provision this\npool. Changing this creates a new pool.\n\n\u003e One of \u003cspan pulumi-lang-nodejs=\"`loadbalancerId`\" pulumi-lang-dotnet=\"`LoadbalancerId`\" pulumi-lang-go=\"`loadbalancerId`\" pulumi-lang-python=\"`loadbalancer_id`\" pulumi-lang-yaml=\"`loadbalancerId`\" pulumi-lang-java=\"`loadbalancerId`\"\u003e`loadbalancer_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`listenerId`\" pulumi-lang-dotnet=\"`ListenerId`\" pulumi-lang-go=\"`listenerId`\" pulumi-lang-python=\"`listener_id`\" pulumi-lang-yaml=\"`listenerId`\" pulumi-lang-java=\"`listenerId`\"\u003e`listener_id`\u003c/span\u003e must be provided.\n"},"name":{"type":"string","description":"Human-readable name for the pool.\n"},"persistences":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FLbPoolV2Persistence:LbPoolV2Persistence"},"description":"Omit this field to prevent session persistence. Indicates\nwhether connections in the same session will be processed by the same Pool\nmember or not. Changing this creates a new pool.\n"},"protocol":{"type":"string","description":"The protocol - can either be TCP, UDP or HTTP.\nChanging this creates a new pool.\n\n\u003e When a pool is added to a specific listener, the relationships between the load balancer protocol\nand the pool protocol are as follows. When the load balancer protocol is `UDP`, the pool protocol must be `UDP`.\nWhen the load balancer protocol is `TCP`, the pool protocol must be `TCP`.\nWhen the load balancer protocol is `HTTP` or `TERMINATED_HTTPS`, the pool protocol must be `HTTP`.\n"},"region":{"type":"string"},"tenantId":{"type":"string","description":"Required for admins. The UUID of the tenant who owns\nthe pool.  Only administrative users can specify a tenant UUID\nother than their own. Changing this creates a new pool.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FLbPoolV2Timeouts:LbPoolV2Timeouts"}},"type":"object","required":["lbMethod","lbPoolV2Id","name","protocol","region","tenantId"],"inputProperties":{"adminStateUp":{"type":"boolean","description":"The administrative state of the pool.\nA valid value is true (UP) or false (DOWN).\n"},"description":{"type":"string","description":"Human-readable description for the pool.\n"},"lbMethod":{"type":"string","description":"The load balancing algorithm to\ndistribute traffic to the pool's members. Must be one of\n`ROUND_ROBIN`, `LEAST_CONNECTIONS`, or `SOURCE_IP`.\n"},"lbPoolV2Id":{"type":"string","description":"The unique ID for the pool.\n"},"listenerId":{"type":"string","description":"The Listener on which the members of the pool\nwill be associated with. Changing this creates a new pool.\n\n\u003e One of \u003cspan pulumi-lang-nodejs=\"`loadbalancerId`\" pulumi-lang-dotnet=\"`LoadbalancerId`\" pulumi-lang-go=\"`loadbalancerId`\" pulumi-lang-python=\"`loadbalancer_id`\" pulumi-lang-yaml=\"`loadbalancerId`\" pulumi-lang-java=\"`loadbalancerId`\"\u003e`loadbalancer_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`listenerId`\" pulumi-lang-dotnet=\"`ListenerId`\" pulumi-lang-go=\"`listenerId`\" pulumi-lang-python=\"`listener_id`\" pulumi-lang-yaml=\"`listenerId`\" pulumi-lang-java=\"`listenerId`\"\u003e`listener_id`\u003c/span\u003e must be provided.\n"},"loadbalancerId":{"type":"string","description":"The load balancer on which to provision this\npool. Changing this creates a new pool.\n\n\u003e One of \u003cspan pulumi-lang-nodejs=\"`loadbalancerId`\" pulumi-lang-dotnet=\"`LoadbalancerId`\" pulumi-lang-go=\"`loadbalancerId`\" pulumi-lang-python=\"`loadbalancer_id`\" pulumi-lang-yaml=\"`loadbalancerId`\" pulumi-lang-java=\"`loadbalancerId`\"\u003e`loadbalancer_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`listenerId`\" pulumi-lang-dotnet=\"`ListenerId`\" pulumi-lang-go=\"`listenerId`\" pulumi-lang-python=\"`listener_id`\" pulumi-lang-yaml=\"`listenerId`\" pulumi-lang-java=\"`listenerId`\"\u003e`listener_id`\u003c/span\u003e must be provided.\n"},"name":{"type":"string","description":"Human-readable name for the pool.\n"},"persistences":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FLbPoolV2Persistence:LbPoolV2Persistence"},"description":"Omit this field to prevent session persistence. Indicates\nwhether connections in the same session will be processed by the same Pool\nmember or not. Changing this creates a new pool.\n"},"protocol":{"type":"string","description":"The protocol - can either be TCP, UDP or HTTP.\nChanging this creates a new pool.\n\n\u003e When a pool is added to a specific listener, the relationships between the load balancer protocol\nand the pool protocol are as follows. When the load balancer protocol is `UDP`, the pool protocol must be `UDP`.\nWhen the load balancer protocol is `TCP`, the pool protocol must be `TCP`.\nWhen the load balancer protocol is `HTTP` or `TERMINATED_HTTPS`, the pool protocol must be `HTTP`.\n"},"region":{"type":"string"},"tenantId":{"type":"string","description":"Required for admins. The UUID of the tenant who owns\nthe pool.  Only administrative users can specify a tenant UUID\nother than their own. Changing this creates a new pool.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FLbPoolV2Timeouts:LbPoolV2Timeouts"}},"requiredInputs":["lbMethod","protocol"],"stateInputs":{"description":"Input properties used for looking up and filtering LbPoolV2 resources.\n","properties":{"adminStateUp":{"type":"boolean","description":"The administrative state of the pool.\nA valid value is true (UP) or false (DOWN).\n"},"description":{"type":"string","description":"Human-readable description for the pool.\n"},"lbMethod":{"type":"string","description":"The load balancing algorithm to\ndistribute traffic to the pool's members. Must be one of\n`ROUND_ROBIN`, `LEAST_CONNECTIONS`, or `SOURCE_IP`.\n"},"lbPoolV2Id":{"type":"string","description":"The unique ID for the pool.\n"},"listenerId":{"type":"string","description":"The Listener on which the members of the pool\nwill be associated with. Changing this creates a new pool.\n\n\u003e One of \u003cspan pulumi-lang-nodejs=\"`loadbalancerId`\" pulumi-lang-dotnet=\"`LoadbalancerId`\" pulumi-lang-go=\"`loadbalancerId`\" pulumi-lang-python=\"`loadbalancer_id`\" pulumi-lang-yaml=\"`loadbalancerId`\" pulumi-lang-java=\"`loadbalancerId`\"\u003e`loadbalancer_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`listenerId`\" pulumi-lang-dotnet=\"`ListenerId`\" pulumi-lang-go=\"`listenerId`\" pulumi-lang-python=\"`listener_id`\" pulumi-lang-yaml=\"`listenerId`\" pulumi-lang-java=\"`listenerId`\"\u003e`listener_id`\u003c/span\u003e must be provided.\n"},"loadbalancerId":{"type":"string","description":"The load balancer on which to provision this\npool. Changing this creates a new pool.\n\n\u003e One of \u003cspan pulumi-lang-nodejs=\"`loadbalancerId`\" pulumi-lang-dotnet=\"`LoadbalancerId`\" pulumi-lang-go=\"`loadbalancerId`\" pulumi-lang-python=\"`loadbalancer_id`\" pulumi-lang-yaml=\"`loadbalancerId`\" pulumi-lang-java=\"`loadbalancerId`\"\u003e`loadbalancer_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`listenerId`\" pulumi-lang-dotnet=\"`ListenerId`\" pulumi-lang-go=\"`listenerId`\" pulumi-lang-python=\"`listener_id`\" pulumi-lang-yaml=\"`listenerId`\" pulumi-lang-java=\"`listenerId`\"\u003e`listener_id`\u003c/span\u003e must be provided.\n"},"name":{"type":"string","description":"Human-readable name for the pool.\n"},"persistences":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FLbPoolV2Persistence:LbPoolV2Persistence"},"description":"Omit this field to prevent session persistence. Indicates\nwhether connections in the same session will be processed by the same Pool\nmember or not. Changing this creates a new pool.\n"},"protocol":{"type":"string","description":"The protocol - can either be TCP, UDP or HTTP.\nChanging this creates a new pool.\n\n\u003e When a pool is added to a specific listener, the relationships between the load balancer protocol\nand the pool protocol are as follows. When the load balancer protocol is `UDP`, the pool protocol must be `UDP`.\nWhen the load balancer protocol is `TCP`, the pool protocol must be `TCP`.\nWhen the load balancer protocol is `HTTP` or `TERMINATED_HTTPS`, the pool protocol must be `HTTP`.\n"},"region":{"type":"string"},"tenantId":{"type":"string","description":"Required for admins. The UUID of the tenant who owns\nthe pool.  Only administrative users can specify a tenant UUID\nother than their own. Changing this creates a new pool.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FLbPoolV2Timeouts:LbPoolV2Timeouts"}},"type":"object"}},"opentelekomcloud:index/lbPoolV3:LbPoolV3":{"description":"Up-to-date reference of API arguments for DLB pool you can get at\n[documentation portal](https://docs.otc.t-systems.com/elastic-load-balancing/api-ref/apis_v3/backend_server_group)\n\nManages a Dedicated LB pool resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst lb = new opentelekomcloud.LbLoadbalancerV3(\"lb\", {\n    name: \"loadbalancer_1\",\n    routerId: routerId,\n    networkIds: [networkId],\n    availabilityZones: [availabilityZone],\n});\nconst pool = new opentelekomcloud.LbPoolV3(\"pool\", {\n    name: \"pool_1\",\n    loadbalancerId: lb.lbLoadbalancerV3Id,\n    lbAlgorithm: \"ROUND_ROBIN\",\n    protocol: \"TCP\",\n    sessionPersistence: {\n        type: \"SOURCE_IP\",\n        persistenceTimeout: 30,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nlb = opentelekomcloud.LbLoadbalancerV3(\"lb\",\n    name=\"loadbalancer_1\",\n    router_id=router_id,\n    network_ids=[network_id],\n    availability_zones=[availability_zone])\npool = opentelekomcloud.LbPoolV3(\"pool\",\n    name=\"pool_1\",\n    loadbalancer_id=lb.lb_loadbalancer_v3_id,\n    lb_algorithm=\"ROUND_ROBIN\",\n    protocol=\"TCP\",\n    session_persistence={\n        \"type\": \"SOURCE_IP\",\n        \"persistence_timeout\": 30,\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var lb = new Opentelekomcloud.LbLoadbalancerV3(\"lb\", new()\n    {\n        Name = \"loadbalancer_1\",\n        RouterId = routerId,\n        NetworkIds = new[]\n        {\n            networkId,\n        },\n        AvailabilityZones = new[]\n        {\n            availabilityZone,\n        },\n    });\n\n    var pool = new Opentelekomcloud.LbPoolV3(\"pool\", new()\n    {\n        Name = \"pool_1\",\n        LoadbalancerId = lb.LbLoadbalancerV3Id,\n        LbAlgorithm = \"ROUND_ROBIN\",\n        Protocol = \"TCP\",\n        SessionPersistence = new Opentelekomcloud.Inputs.LbPoolV3SessionPersistenceArgs\n        {\n            Type = \"SOURCE_IP\",\n            PersistenceTimeout = 30,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tlb, err := opentelekomcloud.NewLbLoadbalancerV3(ctx, \"lb\", \u0026opentelekomcloud.LbLoadbalancerV3Args{\n\t\t\tName:     pulumi.String(\"loadbalancer_1\"),\n\t\t\tRouterId: pulumi.Any(routerId),\n\t\t\tNetworkIds: pulumi.StringArray{\n\t\t\t\tnetworkId,\n\t\t\t},\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tavailabilityZone,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewLbPoolV3(ctx, \"pool\", \u0026opentelekomcloud.LbPoolV3Args{\n\t\t\tName:           pulumi.String(\"pool_1\"),\n\t\t\tLoadbalancerId: lb.LbLoadbalancerV3Id,\n\t\t\tLbAlgorithm:    pulumi.String(\"ROUND_ROBIN\"),\n\t\t\tProtocol:       pulumi.String(\"TCP\"),\n\t\t\tSessionPersistence: \u0026opentelekomcloud.LbPoolV3SessionPersistenceArgs{\n\t\t\t\tType:               pulumi.String(\"SOURCE_IP\"),\n\t\t\t\tPersistenceTimeout: pulumi.Float64(30),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.LbLoadbalancerV3;\nimport com.pulumi.opentelekomcloud.LbLoadbalancerV3Args;\nimport com.pulumi.opentelekomcloud.LbPoolV3;\nimport com.pulumi.opentelekomcloud.LbPoolV3Args;\nimport com.pulumi.opentelekomcloud.inputs.LbPoolV3SessionPersistenceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var lb = new LbLoadbalancerV3(\"lb\", LbLoadbalancerV3Args.builder()\n            .name(\"loadbalancer_1\")\n            .routerId(routerId)\n            .networkIds(networkId)\n            .availabilityZones(availabilityZone)\n            .build());\n\n        var pool = new LbPoolV3(\"pool\", LbPoolV3Args.builder()\n            .name(\"pool_1\")\n            .loadbalancerId(lb.lbLoadbalancerV3Id())\n            .lbAlgorithm(\"ROUND_ROBIN\")\n            .protocol(\"TCP\")\n            .sessionPersistence(LbPoolV3SessionPersistenceArgs.builder()\n                .type(\"SOURCE_IP\")\n                .persistenceTimeout(30.0)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  lb:\n    type: opentelekomcloud:LbLoadbalancerV3\n    properties:\n      name: loadbalancer_1\n      routerId: ${routerId}\n      networkIds:\n        - ${networkId}\n      availabilityZones:\n        - ${availabilityZone}\n  pool:\n    type: opentelekomcloud:LbPoolV3\n    properties:\n      name: pool_1\n      loadbalancerId: ${lb.lbLoadbalancerV3Id}\n      lbAlgorithm: ROUND_ROBIN\n      protocol: TCP\n      sessionPersistence:\n        type: SOURCE_IP\n        persistenceTimeout: '30'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPools can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/lbPoolV3:LbPoolV3 pool 7b80e108-1636-44e5-aece-986b0052b7dd\n```\n\n","properties":{"description":{"type":"string","description":"Provides supplementary information about the backend server group.\n"},"ipVersion":{"type":"string","description":"Specifies the IP version supported by the backend server group.\n"},"lbAlgorithm":{"type":"string","description":"Specifies the load balancing algorithm used by the load balancer to route requests to backend servers.\n\nThe value can be one of the following:\n* `ROUND_ROBIN`: weighted round-robin\n* `LEAST_CONNECTIONS`: weighted least connections\n* `SOURCE_IP`: source IP hash\n\nWhen the value is `SOURCE_IP`, the weights of backend servers are invalid.\n"},"lbPoolV3Id":{"type":"string","description":"Specifies the backend server group ID.\n"},"listenerId":{"type":"string","description":"Specifies the ID of the listener associated with the backend server group.\n"},"loadbalancerId":{"type":"string","description":"Specifies the ID of the associated load balancer.\n\n\u003e Specify either \u003cspan pulumi-lang-nodejs=\"`listenerId`\" pulumi-lang-dotnet=\"`ListenerId`\" pulumi-lang-go=\"`listenerId`\" pulumi-lang-python=\"`listener_id`\" pulumi-lang-yaml=\"`listenerId`\" pulumi-lang-java=\"`listenerId`\"\u003e`listener_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`loadbalancerId`\" pulumi-lang-dotnet=\"`LoadbalancerId`\" pulumi-lang-go=\"`loadbalancerId`\" pulumi-lang-python=\"`loadbalancer_id`\" pulumi-lang-yaml=\"`loadbalancerId`\" pulumi-lang-java=\"`loadbalancerId`\"\u003e`loadbalancer_id`\u003c/span\u003e, or **both** of them.\n"},"memberDeletionProtection":{"type":"boolean"},"name":{"type":"string","description":"Specifies the backend server group name.\n"},"projectId":{"type":"string","description":"Specifies the project ID.\n"},"protocol":{"type":"string","description":"Specifies the protocol used by the backend server group to receive requests.\n`TCP`, `UDP`, `HTTP`, `HTTPS`, and `QUIC` are supported.\n\n* For `UDP` listeners, the protocol of the backend server group must be `UDP`.\n* For `TCP` listeners, the protocol of the backend server group must be `TCP`.\n* For `HTTP` listeners, the protocol of the backend server group must be `HTTP`.\n* For `HTTPS` listeners, the protocol of the backend server group must be `HTTPS`.\n"},"sessionPersistence":{"$ref":"#/types/opentelekomcloud:index%2FLbPoolV3SessionPersistence:LbPoolV3SessionPersistence","description":"Specifies whether to enable sticky sessions.\n"},"type":{"type":"string"},"vpcId":{"type":"string"}},"type":"object","required":["description","ipVersion","lbAlgorithm","lbPoolV3Id","listenerId","loadbalancerId","memberDeletionProtection","name","projectId","protocol","type","vpcId"],"inputProperties":{"description":{"type":"string","description":"Provides supplementary information about the backend server group.\n"},"lbAlgorithm":{"type":"string","description":"Specifies the load balancing algorithm used by the load balancer to route requests to backend servers.\n\nThe value can be one of the following:\n* `ROUND_ROBIN`: weighted round-robin\n* `LEAST_CONNECTIONS`: weighted least connections\n* `SOURCE_IP`: source IP hash\n\nWhen the value is `SOURCE_IP`, the weights of backend servers are invalid.\n"},"lbPoolV3Id":{"type":"string","description":"Specifies the backend server group ID.\n"},"listenerId":{"type":"string","description":"Specifies the ID of the listener associated with the backend server group.\n"},"loadbalancerId":{"type":"string","description":"Specifies the ID of the associated load balancer.\n\n\u003e Specify either \u003cspan pulumi-lang-nodejs=\"`listenerId`\" pulumi-lang-dotnet=\"`ListenerId`\" pulumi-lang-go=\"`listenerId`\" pulumi-lang-python=\"`listener_id`\" pulumi-lang-yaml=\"`listenerId`\" pulumi-lang-java=\"`listenerId`\"\u003e`listener_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`loadbalancerId`\" pulumi-lang-dotnet=\"`LoadbalancerId`\" pulumi-lang-go=\"`loadbalancerId`\" pulumi-lang-python=\"`loadbalancer_id`\" pulumi-lang-yaml=\"`loadbalancerId`\" pulumi-lang-java=\"`loadbalancerId`\"\u003e`loadbalancer_id`\u003c/span\u003e, or **both** of them.\n"},"memberDeletionProtection":{"type":"boolean"},"name":{"type":"string","description":"Specifies the backend server group name.\n"},"projectId":{"type":"string","description":"Specifies the project ID.\n"},"protocol":{"type":"string","description":"Specifies the protocol used by the backend server group to receive requests.\n`TCP`, `UDP`, `HTTP`, `HTTPS`, and `QUIC` are supported.\n\n* For `UDP` listeners, the protocol of the backend server group must be `UDP`.\n* For `TCP` listeners, the protocol of the backend server group must be `TCP`.\n* For `HTTP` listeners, the protocol of the backend server group must be `HTTP`.\n* For `HTTPS` listeners, the protocol of the backend server group must be `HTTPS`.\n"},"sessionPersistence":{"$ref":"#/types/opentelekomcloud:index%2FLbPoolV3SessionPersistence:LbPoolV3SessionPersistence","description":"Specifies whether to enable sticky sessions.\n"},"type":{"type":"string"},"vpcId":{"type":"string"}},"requiredInputs":["lbAlgorithm","protocol"],"stateInputs":{"description":"Input properties used for looking up and filtering LbPoolV3 resources.\n","properties":{"description":{"type":"string","description":"Provides supplementary information about the backend server group.\n"},"ipVersion":{"type":"string","description":"Specifies the IP version supported by the backend server group.\n"},"lbAlgorithm":{"type":"string","description":"Specifies the load balancing algorithm used by the load balancer to route requests to backend servers.\n\nThe value can be one of the following:\n* `ROUND_ROBIN`: weighted round-robin\n* `LEAST_CONNECTIONS`: weighted least connections\n* `SOURCE_IP`: source IP hash\n\nWhen the value is `SOURCE_IP`, the weights of backend servers are invalid.\n"},"lbPoolV3Id":{"type":"string","description":"Specifies the backend server group ID.\n"},"listenerId":{"type":"string","description":"Specifies the ID of the listener associated with the backend server group.\n"},"loadbalancerId":{"type":"string","description":"Specifies the ID of the associated load balancer.\n\n\u003e Specify either \u003cspan pulumi-lang-nodejs=\"`listenerId`\" pulumi-lang-dotnet=\"`ListenerId`\" pulumi-lang-go=\"`listenerId`\" pulumi-lang-python=\"`listener_id`\" pulumi-lang-yaml=\"`listenerId`\" pulumi-lang-java=\"`listenerId`\"\u003e`listener_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`loadbalancerId`\" pulumi-lang-dotnet=\"`LoadbalancerId`\" pulumi-lang-go=\"`loadbalancerId`\" pulumi-lang-python=\"`loadbalancer_id`\" pulumi-lang-yaml=\"`loadbalancerId`\" pulumi-lang-java=\"`loadbalancerId`\"\u003e`loadbalancer_id`\u003c/span\u003e, or **both** of them.\n"},"memberDeletionProtection":{"type":"boolean"},"name":{"type":"string","description":"Specifies the backend server group name.\n"},"projectId":{"type":"string","description":"Specifies the project ID.\n"},"protocol":{"type":"string","description":"Specifies the protocol used by the backend server group to receive requests.\n`TCP`, `UDP`, `HTTP`, `HTTPS`, and `QUIC` are supported.\n\n* For `UDP` listeners, the protocol of the backend server group must be `UDP`.\n* For `TCP` listeners, the protocol of the backend server group must be `TCP`.\n* For `HTTP` listeners, the protocol of the backend server group must be `HTTP`.\n* For `HTTPS` listeners, the protocol of the backend server group must be `HTTPS`.\n"},"sessionPersistence":{"$ref":"#/types/opentelekomcloud:index%2FLbPoolV3SessionPersistence:LbPoolV3SessionPersistence","description":"Specifies whether to enable sticky sessions.\n"},"type":{"type":"string"},"vpcId":{"type":"string"}},"type":"object"}},"opentelekomcloud:index/lbRuleV3:LbRuleV3":{"description":"Up-to-date reference of API arguments for DLB l7 rule you can get at\n[documentation portal](https://docs.otc.t-systems.com/elastic-load-balancing/api-ref/apis_v3/forwarding_rule)\n\nManages a Dedicated Load Balancer Rule resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst _this = new opentelekomcloud.LbLoadbalancerV3(\"this\", {\n    routerId: routerId,\n    networkIds: [networkId],\n    availabilityZones: [az],\n});\nconst thisLbListenerV3 = new opentelekomcloud.LbListenerV3(\"this\", {\n    loadbalancerId: _this.lbLoadbalancerV3Id,\n    protocol: \"HTTP\",\n    protocolPort: 8080,\n});\nconst thisLbPoolV3 = new opentelekomcloud.LbPoolV3(\"this\", {\n    loadbalancerId: _this.lbLoadbalancerV3Id,\n    lbAlgorithm: \"ROUND_ROBIN\",\n    protocol: \"HTTP\",\n});\nconst thisLbPolicyV3 = new opentelekomcloud.LbPolicyV3(\"this\", {\n    action: \"REDIRECT_TO_POOL\",\n    listenerId: thisLbListenerV3.lbListenerV3Id,\n    redirectPoolId: thisLbPoolV3.lbPoolV3Id,\n    position: 37,\n});\nconst thisLbRuleV3 = new opentelekomcloud.LbRuleV3(\"this\", {\n    type: \"PATH\",\n    compareType: \"REGEX\",\n    value: \"^.+$\",\n    policyId: thisLbPolicyV3.lbPolicyV3Id,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nthis = opentelekomcloud.LbLoadbalancerV3(\"this\",\n    router_id=router_id,\n    network_ids=[network_id],\n    availability_zones=[az])\nthis_lb_listener_v3 = opentelekomcloud.LbListenerV3(\"this\",\n    loadbalancer_id=this.lb_loadbalancer_v3_id,\n    protocol=\"HTTP\",\n    protocol_port=8080)\nthis_lb_pool_v3 = opentelekomcloud.LbPoolV3(\"this\",\n    loadbalancer_id=this.lb_loadbalancer_v3_id,\n    lb_algorithm=\"ROUND_ROBIN\",\n    protocol=\"HTTP\")\nthis_lb_policy_v3 = opentelekomcloud.LbPolicyV3(\"this\",\n    action=\"REDIRECT_TO_POOL\",\n    listener_id=this_lb_listener_v3.lb_listener_v3_id,\n    redirect_pool_id=this_lb_pool_v3.lb_pool_v3_id,\n    position=37)\nthis_lb_rule_v3 = opentelekomcloud.LbRuleV3(\"this\",\n    type=\"PATH\",\n    compare_type=\"REGEX\",\n    value=\"^.+$\",\n    policy_id=this_lb_policy_v3.lb_policy_v3_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = new Opentelekomcloud.LbLoadbalancerV3(\"this\", new()\n    {\n        RouterId = routerId,\n        NetworkIds = new[]\n        {\n            networkId,\n        },\n        AvailabilityZones = new[]\n        {\n            az,\n        },\n    });\n\n    var thisLbListenerV3 = new Opentelekomcloud.LbListenerV3(\"this\", new()\n    {\n        LoadbalancerId = @this.LbLoadbalancerV3Id,\n        Protocol = \"HTTP\",\n        ProtocolPort = 8080,\n    });\n\n    var thisLbPoolV3 = new Opentelekomcloud.LbPoolV3(\"this\", new()\n    {\n        LoadbalancerId = @this.LbLoadbalancerV3Id,\n        LbAlgorithm = \"ROUND_ROBIN\",\n        Protocol = \"HTTP\",\n    });\n\n    var thisLbPolicyV3 = new Opentelekomcloud.LbPolicyV3(\"this\", new()\n    {\n        Action = \"REDIRECT_TO_POOL\",\n        ListenerId = thisLbListenerV3.LbListenerV3Id,\n        RedirectPoolId = thisLbPoolV3.LbPoolV3Id,\n        Position = 37,\n    });\n\n    var thisLbRuleV3 = new Opentelekomcloud.LbRuleV3(\"this\", new()\n    {\n        Type = \"PATH\",\n        CompareType = \"REGEX\",\n        Value = \"^.+$\",\n        PolicyId = thisLbPolicyV3.LbPolicyV3Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tthis, err := opentelekomcloud.NewLbLoadbalancerV3(ctx, \"this\", \u0026opentelekomcloud.LbLoadbalancerV3Args{\n\t\t\tRouterId: pulumi.Any(routerId),\n\t\t\tNetworkIds: pulumi.StringArray{\n\t\t\t\tnetworkId,\n\t\t\t},\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\taz,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tthisLbListenerV3, err := opentelekomcloud.NewLbListenerV3(ctx, \"this\", \u0026opentelekomcloud.LbListenerV3Args{\n\t\t\tLoadbalancerId: this.LbLoadbalancerV3Id,\n\t\t\tProtocol:       pulumi.String(\"HTTP\"),\n\t\t\tProtocolPort:   pulumi.Float64(8080),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tthisLbPoolV3, err := opentelekomcloud.NewLbPoolV3(ctx, \"this\", \u0026opentelekomcloud.LbPoolV3Args{\n\t\t\tLoadbalancerId: this.LbLoadbalancerV3Id,\n\t\t\tLbAlgorithm:    pulumi.String(\"ROUND_ROBIN\"),\n\t\t\tProtocol:       pulumi.String(\"HTTP\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tthisLbPolicyV3, err := opentelekomcloud.NewLbPolicyV3(ctx, \"this\", \u0026opentelekomcloud.LbPolicyV3Args{\n\t\t\tAction:         pulumi.String(\"REDIRECT_TO_POOL\"),\n\t\t\tListenerId:     thisLbListenerV3.LbListenerV3Id,\n\t\t\tRedirectPoolId: thisLbPoolV3.LbPoolV3Id,\n\t\t\tPosition:       pulumi.Float64(37),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewLbRuleV3(ctx, \"this\", \u0026opentelekomcloud.LbRuleV3Args{\n\t\t\tType:        pulumi.String(\"PATH\"),\n\t\t\tCompareType: pulumi.String(\"REGEX\"),\n\t\t\tValue:       pulumi.String(\"^.+$\"),\n\t\t\tPolicyId:    thisLbPolicyV3.LbPolicyV3Id,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.LbLoadbalancerV3;\nimport com.pulumi.opentelekomcloud.LbLoadbalancerV3Args;\nimport com.pulumi.opentelekomcloud.LbListenerV3;\nimport com.pulumi.opentelekomcloud.LbListenerV3Args;\nimport com.pulumi.opentelekomcloud.LbPoolV3;\nimport com.pulumi.opentelekomcloud.LbPoolV3Args;\nimport com.pulumi.opentelekomcloud.LbPolicyV3;\nimport com.pulumi.opentelekomcloud.LbPolicyV3Args;\nimport com.pulumi.opentelekomcloud.LbRuleV3;\nimport com.pulumi.opentelekomcloud.LbRuleV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var this_ = new LbLoadbalancerV3(\"this\", LbLoadbalancerV3Args.builder()\n            .routerId(routerId)\n            .networkIds(networkId)\n            .availabilityZones(az)\n            .build());\n\n        var thisLbListenerV3 = new LbListenerV3(\"thisLbListenerV3\", LbListenerV3Args.builder()\n            .loadbalancerId(this_.lbLoadbalancerV3Id())\n            .protocol(\"HTTP\")\n            .protocolPort(8080.0)\n            .build());\n\n        var thisLbPoolV3 = new LbPoolV3(\"thisLbPoolV3\", LbPoolV3Args.builder()\n            .loadbalancerId(this_.lbLoadbalancerV3Id())\n            .lbAlgorithm(\"ROUND_ROBIN\")\n            .protocol(\"HTTP\")\n            .build());\n\n        var thisLbPolicyV3 = new LbPolicyV3(\"thisLbPolicyV3\", LbPolicyV3Args.builder()\n            .action(\"REDIRECT_TO_POOL\")\n            .listenerId(thisLbListenerV3.lbListenerV3Id())\n            .redirectPoolId(thisLbPoolV3.lbPoolV3Id())\n            .position(37.0)\n            .build());\n\n        var thisLbRuleV3 = new LbRuleV3(\"thisLbRuleV3\", LbRuleV3Args.builder()\n            .type(\"PATH\")\n            .compareType(\"REGEX\")\n            .value(\"^.+$\")\n            .policyId(thisLbPolicyV3.lbPolicyV3Id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  this:\n    type: opentelekomcloud:LbLoadbalancerV3\n    properties:\n      routerId: ${routerId}\n      networkIds:\n        - ${networkId}\n      availabilityZones:\n        - ${az}\n  thisLbListenerV3:\n    type: opentelekomcloud:LbListenerV3\n    name: this\n    properties:\n      loadbalancerId: ${this.lbLoadbalancerV3Id}\n      protocol: HTTP\n      protocolPort: 8080\n  thisLbPoolV3:\n    type: opentelekomcloud:LbPoolV3\n    name: this\n    properties:\n      loadbalancerId: ${this.lbLoadbalancerV3Id}\n      lbAlgorithm: ROUND_ROBIN\n      protocol: HTTP\n  thisLbPolicyV3:\n    type: opentelekomcloud:LbPolicyV3\n    name: this\n    properties:\n      action: REDIRECT_TO_POOL\n      listenerId: ${thisLbListenerV3.lbListenerV3Id}\n      redirectPoolId: ${thisLbPoolV3.lbPoolV3Id}\n      position: 37\n  thisLbRuleV3:\n    type: opentelekomcloud:LbRuleV3\n    name: this\n    properties:\n      type: PATH\n      compareType: REGEX\n      value: ^.+$\n      policyId: ${thisLbPolicyV3.lbPolicyV3Id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRules can be imported using the `policy_id/rule_id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/lbRuleV3:LbRuleV3 this 8a7a79c2-cf17-4e65-b2ae-ddc8bfcf6c74/1bb93b8b-37a4-4b50-92cc-daa4c89d4e4c\n```\n\n","properties":{"compareType":{"type":"string","description":"Specifies how requests are matched with the domain name or URL.\nThe values can be: `EQUAL_TO`, `REGEX`, `STARTS_WITH`.\n\n-\u003eIf \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `HOST_NAME`, this parameter can only be set to `EQUAL_TO` (exact match).\nIf \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `PATH`, this parameter can be set to `REGEX` (regular expression match),\n`STARTS_WITH` (prefix match), or `EQUAL_TO` (exact match).\n"},"conditions":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FLbRuleV3Condition:LbRuleV3Condition"},"description":"Specifies the matching conditions of the forwarding rule.\nThis parameter is available only when \u003cspan pulumi-lang-nodejs=\"`advancedForwarding`\" pulumi-lang-dotnet=\"`AdvancedForwarding`\" pulumi-lang-go=\"`advancedForwarding`\" pulumi-lang-python=\"`advanced_forwarding`\" pulumi-lang-yaml=\"`advancedForwarding`\" pulumi-lang-java=\"`advancedForwarding`\"\u003e`advanced_forwarding`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\nNot available in `eu-nl`.\n"},"lbRuleV3Id":{"type":"string"},"policyId":{"type":"string","description":"ID of the policy.\n"},"projectId":{"type":"string","description":"Required for admins. The UUID of the tenant who owns\nthe Policy. Only administrative users can specify a tenant UUID other than\ntheir own. Changing this creates a new Policy.\n"},"ruleId":{"type":"string","description":"ID of the policy rule.\n"},"type":{"type":"string","description":"Specifies the match content. The value can be one of the following: `HOST_NAME`, `PATH`.\n"},"value":{"type":"string","description":"Specifies the value of the match item. For example, if a domain name is\nused for matching, value is the domain name.\n\n-\u003eIf type is set to `HOST_NAME`, the value can contain letters, digits, hyphens `-`, and periods `.`\nand must start with a letter or digit. If you want to use a wildcard domain name, enter an asterisk `*`\nas the leftmost label of the domain name.\nIf type is set to `PATH` and \u003cspan pulumi-lang-nodejs=\"`compareType`\" pulumi-lang-dotnet=\"`CompareType`\" pulumi-lang-go=\"`compareType`\" pulumi-lang-python=\"`compare_type`\" pulumi-lang-yaml=\"`compareType`\" pulumi-lang-java=\"`compareType`\"\u003e`compare_type`\u003c/span\u003e to `STARTS_WITH` or `EQUAL_TO`, the value must start with\na slash `/` and can contain only letters, digits, and special characters `_~';@^-%#\u0026$.*+?,=!:|/()[]{}`.\n"}},"type":"object","required":["compareType","lbRuleV3Id","policyId","projectId","ruleId","type","value"],"inputProperties":{"compareType":{"type":"string","description":"Specifies how requests are matched with the domain name or URL.\nThe values can be: `EQUAL_TO`, `REGEX`, `STARTS_WITH`.\n\n-\u003eIf \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `HOST_NAME`, this parameter can only be set to `EQUAL_TO` (exact match).\nIf \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `PATH`, this parameter can be set to `REGEX` (regular expression match),\n`STARTS_WITH` (prefix match), or `EQUAL_TO` (exact match).\n"},"conditions":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FLbRuleV3Condition:LbRuleV3Condition"},"description":"Specifies the matching conditions of the forwarding rule.\nThis parameter is available only when \u003cspan pulumi-lang-nodejs=\"`advancedForwarding`\" pulumi-lang-dotnet=\"`AdvancedForwarding`\" pulumi-lang-go=\"`advancedForwarding`\" pulumi-lang-python=\"`advanced_forwarding`\" pulumi-lang-yaml=\"`advancedForwarding`\" pulumi-lang-java=\"`advancedForwarding`\"\u003e`advanced_forwarding`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\nNot available in `eu-nl`.\n"},"lbRuleV3Id":{"type":"string"},"policyId":{"type":"string","description":"ID of the policy.\n"},"projectId":{"type":"string","description":"Required for admins. The UUID of the tenant who owns\nthe Policy. Only administrative users can specify a tenant UUID other than\ntheir own. Changing this creates a new Policy.\n"},"type":{"type":"string","description":"Specifies the match content. The value can be one of the following: `HOST_NAME`, `PATH`.\n"},"value":{"type":"string","description":"Specifies the value of the match item. For example, if a domain name is\nused for matching, value is the domain name.\n\n-\u003eIf type is set to `HOST_NAME`, the value can contain letters, digits, hyphens `-`, and periods `.`\nand must start with a letter or digit. If you want to use a wildcard domain name, enter an asterisk `*`\nas the leftmost label of the domain name.\nIf type is set to `PATH` and \u003cspan pulumi-lang-nodejs=\"`compareType`\" pulumi-lang-dotnet=\"`CompareType`\" pulumi-lang-go=\"`compareType`\" pulumi-lang-python=\"`compare_type`\" pulumi-lang-yaml=\"`compareType`\" pulumi-lang-java=\"`compareType`\"\u003e`compare_type`\u003c/span\u003e to `STARTS_WITH` or `EQUAL_TO`, the value must start with\na slash `/` and can contain only letters, digits, and special characters `_~';@^-%#\u0026$.*+?,=!:|/()[]{}`.\n"}},"requiredInputs":["compareType","policyId","type","value"],"stateInputs":{"description":"Input properties used for looking up and filtering LbRuleV3 resources.\n","properties":{"compareType":{"type":"string","description":"Specifies how requests are matched with the domain name or URL.\nThe values can be: `EQUAL_TO`, `REGEX`, `STARTS_WITH`.\n\n-\u003eIf \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `HOST_NAME`, this parameter can only be set to `EQUAL_TO` (exact match).\nIf \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to `PATH`, this parameter can be set to `REGEX` (regular expression match),\n`STARTS_WITH` (prefix match), or `EQUAL_TO` (exact match).\n"},"conditions":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FLbRuleV3Condition:LbRuleV3Condition"},"description":"Specifies the matching conditions of the forwarding rule.\nThis parameter is available only when \u003cspan pulumi-lang-nodejs=\"`advancedForwarding`\" pulumi-lang-dotnet=\"`AdvancedForwarding`\" pulumi-lang-go=\"`advancedForwarding`\" pulumi-lang-python=\"`advanced_forwarding`\" pulumi-lang-yaml=\"`advancedForwarding`\" pulumi-lang-java=\"`advancedForwarding`\"\u003e`advanced_forwarding`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\nNot available in `eu-nl`.\n"},"lbRuleV3Id":{"type":"string"},"policyId":{"type":"string","description":"ID of the policy.\n"},"projectId":{"type":"string","description":"Required for admins. The UUID of the tenant who owns\nthe Policy. Only administrative users can specify a tenant UUID other than\ntheir own. Changing this creates a new Policy.\n"},"ruleId":{"type":"string","description":"ID of the policy rule.\n"},"type":{"type":"string","description":"Specifies the match content. The value can be one of the following: `HOST_NAME`, `PATH`.\n"},"value":{"type":"string","description":"Specifies the value of the match item. For example, if a domain name is\nused for matching, value is the domain name.\n\n-\u003eIf type is set to `HOST_NAME`, the value can contain letters, digits, hyphens `-`, and periods `.`\nand must start with a letter or digit. If you want to use a wildcard domain name, enter an asterisk `*`\nas the leftmost label of the domain name.\nIf type is set to `PATH` and \u003cspan pulumi-lang-nodejs=\"`compareType`\" pulumi-lang-dotnet=\"`CompareType`\" pulumi-lang-go=\"`compareType`\" pulumi-lang-python=\"`compare_type`\" pulumi-lang-yaml=\"`compareType`\" pulumi-lang-java=\"`compareType`\"\u003e`compare_type`\u003c/span\u003e to `STARTS_WITH` or `EQUAL_TO`, the value must start with\na slash `/` and can contain only letters, digits, and special characters `_~';@^-%#\u0026$.*+?,=!:|/()[]{}`.\n"}},"type":"object"}},"opentelekomcloud:index/lbSecurityPolicyV3:LbSecurityPolicyV3":{"description":"Up-to-date reference of API arguments for DLB security policy you can get at\n[documentation portal](https://docs.otc.t-systems.com/elastic-load-balancing/api-ref/apis_v3/security_policy)\n\nManages a Dedicated Load Balancer Security Policy resource within OpenTelekomCloud.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst policy1 = new opentelekomcloud.LbSecurityPolicyV3(\"policy_1\", {\n    name: \"elb-security-policy\",\n    description: \"This is security policy\",\n    protocols: [\n        \"TLSv1\",\n        \"TLSv1.1\",\n    ],\n    ciphers: [\n        \"ECDHE-ECDSA-AES128-SHA\",\n        \"ECDHE-RSA-AES128-SHA\",\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\npolicy1 = opentelekomcloud.LbSecurityPolicyV3(\"policy_1\",\n    name=\"elb-security-policy\",\n    description=\"This is security policy\",\n    protocols=[\n        \"TLSv1\",\n        \"TLSv1.1\",\n    ],\n    ciphers=[\n        \"ECDHE-ECDSA-AES128-SHA\",\n        \"ECDHE-RSA-AES128-SHA\",\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var policy1 = new Opentelekomcloud.LbSecurityPolicyV3(\"policy_1\", new()\n    {\n        Name = \"elb-security-policy\",\n        Description = \"This is security policy\",\n        Protocols = new[]\n        {\n            \"TLSv1\",\n            \"TLSv1.1\",\n        },\n        Ciphers = new[]\n        {\n            \"ECDHE-ECDSA-AES128-SHA\",\n            \"ECDHE-RSA-AES128-SHA\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewLbSecurityPolicyV3(ctx, \"policy_1\", \u0026opentelekomcloud.LbSecurityPolicyV3Args{\n\t\t\tName:        pulumi.String(\"elb-security-policy\"),\n\t\t\tDescription: pulumi.String(\"This is security policy\"),\n\t\t\tProtocols: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"TLSv1\"),\n\t\t\t\tpulumi.String(\"TLSv1.1\"),\n\t\t\t},\n\t\t\tCiphers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ECDHE-ECDSA-AES128-SHA\"),\n\t\t\t\tpulumi.String(\"ECDHE-RSA-AES128-SHA\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.LbSecurityPolicyV3;\nimport com.pulumi.opentelekomcloud.LbSecurityPolicyV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var policy1 = new LbSecurityPolicyV3(\"policy1\", LbSecurityPolicyV3Args.builder()\n            .name(\"elb-security-policy\")\n            .description(\"This is security policy\")\n            .protocols(            \n                \"TLSv1\",\n                \"TLSv1.1\")\n            .ciphers(            \n                \"ECDHE-ECDSA-AES128-SHA\",\n                \"ECDHE-RSA-AES128-SHA\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  policy1:\n    type: opentelekomcloud:LbSecurityPolicyV3\n    name: policy_1\n    properties:\n      name: elb-security-policy\n      description: This is security policy\n      protocols:\n        - TLSv1\n        - TLSv1.1\n      ciphers:\n        - ECDHE-ECDSA-AES128-SHA\n        - ECDHE-RSA-AES128-SHA\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### Security Policy Assigned To ELB Listener\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst vpcV1 = new opentelekomcloud.VpcV1(\"vpc_v1\", {\n    name: vpcName,\n    cidr: vpcCidr,\n});\nconst subnetV1 = new opentelekomcloud.VpcSubnetV1(\"subnet_v1\", {\n    name: subnetName,\n    cidr: subnetCidr,\n    vpcId: vpcV1.vpcV1Id,\n    gatewayIp: subnetGatewayIp,\n    ntpAddresses: \"10.100.0.33,10.100.0.34\",\n});\nconst loadbalancer1 = new opentelekomcloud.LbLoadbalancerV3(\"loadbalancer_1\", {\n    name: \"loadbalancer_1\",\n    routerId: subnetV1.vpcId,\n    networkIds: [subnetV1.networkId],\n    availabilityZones: [az],\n});\nconst certificate1 = new opentelekomcloud.LbCertificateV3(\"certificate_1\", {\n    name: \"certificate_1\",\n    type: \"server\",\n    privateKey: privateKey,\n    certificate: certificate,\n});\nconst policy1 = new opentelekomcloud.LbSecurityPolicyV3(\"policy_1\", {\n    name: \"security-policy\",\n    protocols: [\n        \"TLSv1\",\n        \"TLSv1.1\",\n    ],\n    ciphers: [\n        \"ECDHE-ECDSA-AES128-SHA\",\n        \"ECDHE-RSA-AES128-SHA\",\n    ],\n});\nconst listener1 = new opentelekomcloud.LbListenerV3(\"listener_1\", {\n    name: \"listener_1\",\n    description: \"some interesting description\",\n    loadbalancerId: loadbalancer1.lbLoadbalancerV3Id,\n    protocol: \"HTTPS\",\n    protocolPort: 443,\n    defaultTlsContainerRef: certificate1.lbCertificateV3Id,\n    securityPolicyId: policy1.lbSecurityPolicyV3Id,\n    advancedForwarding: true,\n    sniMatchAlgo: \"wildcard\",\n    insertHeaders: {\n        forwardedHost: true,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nvpc_v1 = opentelekomcloud.VpcV1(\"vpc_v1\",\n    name=vpc_name,\n    cidr=vpc_cidr)\nsubnet_v1 = opentelekomcloud.VpcSubnetV1(\"subnet_v1\",\n    name=subnet_name,\n    cidr=subnet_cidr,\n    vpc_id=vpc_v1.vpc_v1_id,\n    gateway_ip=subnet_gateway_ip,\n    ntp_addresses=\"10.100.0.33,10.100.0.34\")\nloadbalancer1 = opentelekomcloud.LbLoadbalancerV3(\"loadbalancer_1\",\n    name=\"loadbalancer_1\",\n    router_id=subnet_v1.vpc_id,\n    network_ids=[subnet_v1.network_id],\n    availability_zones=[az])\ncertificate1 = opentelekomcloud.LbCertificateV3(\"certificate_1\",\n    name=\"certificate_1\",\n    type=\"server\",\n    private_key=private_key,\n    certificate=certificate)\npolicy1 = opentelekomcloud.LbSecurityPolicyV3(\"policy_1\",\n    name=\"security-policy\",\n    protocols=[\n        \"TLSv1\",\n        \"TLSv1.1\",\n    ],\n    ciphers=[\n        \"ECDHE-ECDSA-AES128-SHA\",\n        \"ECDHE-RSA-AES128-SHA\",\n    ])\nlistener1 = opentelekomcloud.LbListenerV3(\"listener_1\",\n    name=\"listener_1\",\n    description=\"some interesting description\",\n    loadbalancer_id=loadbalancer1.lb_loadbalancer_v3_id,\n    protocol=\"HTTPS\",\n    protocol_port=443,\n    default_tls_container_ref=certificate1.lb_certificate_v3_id,\n    security_policy_id=policy1.lb_security_policy_v3_id,\n    advanced_forwarding=True,\n    sni_match_algo=\"wildcard\",\n    insert_headers={\n        \"forwarded_host\": True,\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var vpcV1 = new Opentelekomcloud.VpcV1(\"vpc_v1\", new()\n    {\n        Name = vpcName,\n        Cidr = vpcCidr,\n    });\n\n    var subnetV1 = new Opentelekomcloud.VpcSubnetV1(\"subnet_v1\", new()\n    {\n        Name = subnetName,\n        Cidr = subnetCidr,\n        VpcId = vpcV1.VpcV1Id,\n        GatewayIp = subnetGatewayIp,\n        NtpAddresses = \"10.100.0.33,10.100.0.34\",\n    });\n\n    var loadbalancer1 = new Opentelekomcloud.LbLoadbalancerV3(\"loadbalancer_1\", new()\n    {\n        Name = \"loadbalancer_1\",\n        RouterId = subnetV1.VpcId,\n        NetworkIds = new[]\n        {\n            subnetV1.NetworkId,\n        },\n        AvailabilityZones = new[]\n        {\n            az,\n        },\n    });\n\n    var certificate1 = new Opentelekomcloud.LbCertificateV3(\"certificate_1\", new()\n    {\n        Name = \"certificate_1\",\n        Type = \"server\",\n        PrivateKey = privateKey,\n        Certificate = certificate,\n    });\n\n    var policy1 = new Opentelekomcloud.LbSecurityPolicyV3(\"policy_1\", new()\n    {\n        Name = \"security-policy\",\n        Protocols = new[]\n        {\n            \"TLSv1\",\n            \"TLSv1.1\",\n        },\n        Ciphers = new[]\n        {\n            \"ECDHE-ECDSA-AES128-SHA\",\n            \"ECDHE-RSA-AES128-SHA\",\n        },\n    });\n\n    var listener1 = new Opentelekomcloud.LbListenerV3(\"listener_1\", new()\n    {\n        Name = \"listener_1\",\n        Description = \"some interesting description\",\n        LoadbalancerId = loadbalancer1.LbLoadbalancerV3Id,\n        Protocol = \"HTTPS\",\n        ProtocolPort = 443,\n        DefaultTlsContainerRef = certificate1.LbCertificateV3Id,\n        SecurityPolicyId = policy1.LbSecurityPolicyV3Id,\n        AdvancedForwarding = true,\n        SniMatchAlgo = \"wildcard\",\n        InsertHeaders = new Opentelekomcloud.Inputs.LbListenerV3InsertHeadersArgs\n        {\n            ForwardedHost = true,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tvpcV1, err := opentelekomcloud.NewVpcV1(ctx, \"vpc_v1\", \u0026opentelekomcloud.VpcV1Args{\n\t\t\tName: pulumi.Any(vpcName),\n\t\t\tCidr: pulumi.Any(vpcCidr),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsubnetV1, err := opentelekomcloud.NewVpcSubnetV1(ctx, \"subnet_v1\", \u0026opentelekomcloud.VpcSubnetV1Args{\n\t\t\tName:         pulumi.Any(subnetName),\n\t\t\tCidr:         pulumi.Any(subnetCidr),\n\t\t\tVpcId:        vpcV1.VpcV1Id,\n\t\t\tGatewayIp:    pulumi.Any(subnetGatewayIp),\n\t\t\tNtpAddresses: pulumi.String(\"10.100.0.33,10.100.0.34\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tloadbalancer1, err := opentelekomcloud.NewLbLoadbalancerV3(ctx, \"loadbalancer_1\", \u0026opentelekomcloud.LbLoadbalancerV3Args{\n\t\t\tName:     pulumi.String(\"loadbalancer_1\"),\n\t\t\tRouterId: subnetV1.VpcId,\n\t\t\tNetworkIds: pulumi.StringArray{\n\t\t\t\tsubnetV1.NetworkId,\n\t\t\t},\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\taz,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcertificate1, err := opentelekomcloud.NewLbCertificateV3(ctx, \"certificate_1\", \u0026opentelekomcloud.LbCertificateV3Args{\n\t\t\tName:        pulumi.String(\"certificate_1\"),\n\t\t\tType:        pulumi.String(\"server\"),\n\t\t\tPrivateKey:  pulumi.Any(privateKey),\n\t\t\tCertificate: pulumi.Any(certificate),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpolicy1, err := opentelekomcloud.NewLbSecurityPolicyV3(ctx, \"policy_1\", \u0026opentelekomcloud.LbSecurityPolicyV3Args{\n\t\t\tName: pulumi.String(\"security-policy\"),\n\t\t\tProtocols: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"TLSv1\"),\n\t\t\t\tpulumi.String(\"TLSv1.1\"),\n\t\t\t},\n\t\t\tCiphers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ECDHE-ECDSA-AES128-SHA\"),\n\t\t\t\tpulumi.String(\"ECDHE-RSA-AES128-SHA\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewLbListenerV3(ctx, \"listener_1\", \u0026opentelekomcloud.LbListenerV3Args{\n\t\t\tName:                   pulumi.String(\"listener_1\"),\n\t\t\tDescription:            pulumi.String(\"some interesting description\"),\n\t\t\tLoadbalancerId:         loadbalancer1.LbLoadbalancerV3Id,\n\t\t\tProtocol:               pulumi.String(\"HTTPS\"),\n\t\t\tProtocolPort:           pulumi.Float64(443),\n\t\t\tDefaultTlsContainerRef: certificate1.LbCertificateV3Id,\n\t\t\tSecurityPolicyId:       policy1.LbSecurityPolicyV3Id,\n\t\t\tAdvancedForwarding:     pulumi.Bool(true),\n\t\t\tSniMatchAlgo:           pulumi.String(\"wildcard\"),\n\t\t\tInsertHeaders: \u0026opentelekomcloud.LbListenerV3InsertHeadersArgs{\n\t\t\t\tForwardedHost: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.VpcV1;\nimport com.pulumi.opentelekomcloud.VpcV1Args;\nimport com.pulumi.opentelekomcloud.VpcSubnetV1;\nimport com.pulumi.opentelekomcloud.VpcSubnetV1Args;\nimport com.pulumi.opentelekomcloud.LbLoadbalancerV3;\nimport com.pulumi.opentelekomcloud.LbLoadbalancerV3Args;\nimport com.pulumi.opentelekomcloud.LbCertificateV3;\nimport com.pulumi.opentelekomcloud.LbCertificateV3Args;\nimport com.pulumi.opentelekomcloud.LbSecurityPolicyV3;\nimport com.pulumi.opentelekomcloud.LbSecurityPolicyV3Args;\nimport com.pulumi.opentelekomcloud.LbListenerV3;\nimport com.pulumi.opentelekomcloud.LbListenerV3Args;\nimport com.pulumi.opentelekomcloud.inputs.LbListenerV3InsertHeadersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var vpcV1 = new VpcV1(\"vpcV1\", VpcV1Args.builder()\n            .name(vpcName)\n            .cidr(vpcCidr)\n            .build());\n\n        var subnetV1 = new VpcSubnetV1(\"subnetV1\", VpcSubnetV1Args.builder()\n            .name(subnetName)\n            .cidr(subnetCidr)\n            .vpcId(vpcV1.vpcV1Id())\n            .gatewayIp(subnetGatewayIp)\n            .ntpAddresses(\"10.100.0.33,10.100.0.34\")\n            .build());\n\n        var loadbalancer1 = new LbLoadbalancerV3(\"loadbalancer1\", LbLoadbalancerV3Args.builder()\n            .name(\"loadbalancer_1\")\n            .routerId(subnetV1.vpcId())\n            .networkIds(subnetV1.networkId())\n            .availabilityZones(az)\n            .build());\n\n        var certificate1 = new LbCertificateV3(\"certificate1\", LbCertificateV3Args.builder()\n            .name(\"certificate_1\")\n            .type(\"server\")\n            .privateKey(privateKey)\n            .certificate(certificate)\n            .build());\n\n        var policy1 = new LbSecurityPolicyV3(\"policy1\", LbSecurityPolicyV3Args.builder()\n            .name(\"security-policy\")\n            .protocols(            \n                \"TLSv1\",\n                \"TLSv1.1\")\n            .ciphers(            \n                \"ECDHE-ECDSA-AES128-SHA\",\n                \"ECDHE-RSA-AES128-SHA\")\n            .build());\n\n        var listener1 = new LbListenerV3(\"listener1\", LbListenerV3Args.builder()\n            .name(\"listener_1\")\n            .description(\"some interesting description\")\n            .loadbalancerId(loadbalancer1.lbLoadbalancerV3Id())\n            .protocol(\"HTTPS\")\n            .protocolPort(443.0)\n            .defaultTlsContainerRef(certificate1.lbCertificateV3Id())\n            .securityPolicyId(policy1.lbSecurityPolicyV3Id())\n            .advancedForwarding(true)\n            .sniMatchAlgo(\"wildcard\")\n            .insertHeaders(LbListenerV3InsertHeadersArgs.builder()\n                .forwardedHost(true)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  vpcV1:\n    type: opentelekomcloud:VpcV1\n    name: vpc_v1\n    properties:\n      name: ${vpcName}\n      cidr: ${vpcCidr}\n  subnetV1:\n    type: opentelekomcloud:VpcSubnetV1\n    name: subnet_v1\n    properties:\n      name: ${subnetName}\n      cidr: ${subnetCidr}\n      vpcId: ${vpcV1.vpcV1Id}\n      gatewayIp: ${subnetGatewayIp}\n      ntpAddresses: 10.100.0.33,10.100.0.34\n  loadbalancer1:\n    type: opentelekomcloud:LbLoadbalancerV3\n    name: loadbalancer_1\n    properties:\n      name: loadbalancer_1\n      routerId: ${subnetV1.vpcId}\n      networkIds:\n        - ${subnetV1.networkId}\n      availabilityZones:\n        - ${az}\n  certificate1:\n    type: opentelekomcloud:LbCertificateV3\n    name: certificate_1\n    properties:\n      name: certificate_1\n      type: server\n      privateKey: ${privateKey}\n      certificate: ${certificate}\n  listener1:\n    type: opentelekomcloud:LbListenerV3\n    name: listener_1\n    properties:\n      name: listener_1\n      description: some interesting description\n      loadbalancerId: ${loadbalancer1.lbLoadbalancerV3Id}\n      protocol: HTTPS\n      protocolPort: 443\n      defaultTlsContainerRef: ${certificate1.lbCertificateV3Id}\n      securityPolicyId: ${policy1.lbSecurityPolicyV3Id}\n      advancedForwarding: true\n      sniMatchAlgo: wildcard\n      insertHeaders:\n        forwardedHost: true\n  policy1:\n    type: opentelekomcloud:LbSecurityPolicyV3\n    name: policy_1\n    properties:\n      name: security-policy\n      protocols:\n        - TLSv1\n        - TLSv1.1\n      ciphers:\n        - ECDHE-ECDSA-AES128-SHA\n        - ECDHE-RSA-AES128-SHA\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLoad Balancer Policy can be imported using the Policy ID, e.g.:\n\n```sh\n$ pulumi import opentelekomcloud:index/lbSecurityPolicyV3:LbSecurityPolicyV3 this 8a7a79c2-cf17-4e65-b2ae-ddc8bfcf6c74\n```\n\n","properties":{"ciphers":{"type":"array","items":{"type":"string"},"description":"Lists the cipher suites supported by the custom security policy.\n* The protocol and cipher suite must match. At least one cipher suite must match the protocol.\n* Possible values:\n`ECDHE-RSA-AES256-GCM-SHA384`, `ECDHE-RSA-AES128-GCM-SHA256`,`ECDHE-ECDSA-AES256-GCM-SHA384`,\n`ECDHE-ECDSA-AES128-GCM-SHA256`, `AES128-GCM-SHA256`, `AES256-GCM-SHA384`, `ECDHE-ECDSA-AES128-SHA256`,\n`ECDHE-RSA-AES128-SHA256`, `AES128-SHA256,AES256-SHA256`, `ECDHE-ECDSA-AES256-SHA384`, `ECDHE-RSA-AES256-SHA384`,\n`ECDHE-ECDSA-AES128-SHA`, `ECDHE-RSA-AES128-SHA`, `ECDHE-RSA-AES256-SHA`, `ECDHE-ECDSA-AES256-SHA`,\n`AES128-SHA`, `AES256-SHA`, `CAMELLIA128-SHA`, `DES-CBC3-SHA`, `CAMELLIA256-SHA`, `ECDHE-RSA-CHACHA20-POLY1305`,\n`ECDHE-ECDSA-CHACHA20-POLY1305`, `TLS_AES_128_GCM_SHA256`, `TLS_AES_256_GCM_SHA384`, `TLS_CHACHA20_POLY1305_SHA256`,\n`TLS_AES_128_CCM_SHA256`, `TLS_AES_128_CCM_8_SHA256`.\n"},"createdAt":{"type":"string","description":"The time when the custom security policy was created.\n"},"description":{"type":"string","description":"Provides supplementary information about the security policy.\n"},"lbSecurityPolicyV3Id":{"type":"string","description":"The unique ID for the policy.\n"},"listenerIds":{"type":"array","items":{"type":"string"}},"name":{"type":"string","description":"Specifies the security policy name.\n"},"projectId":{"type":"string","description":"The project ID of the custom security policy.\n"},"protocols":{"type":"array","items":{"type":"string"},"description":"Lists the TLS protocols supported by the custom security policy.\n* Possible values: `TLSv1`, `TLSv1.1`, `TLSv1.2`, and `TLSv1.3`.\n"},"updatedAt":{"type":"string","description":"The time when the custom security policy was updated.\n"}},"type":"object","required":["ciphers","createdAt","description","lbSecurityPolicyV3Id","listenerIds","name","projectId","protocols","updatedAt"],"inputProperties":{"ciphers":{"type":"array","items":{"type":"string"},"description":"Lists the cipher suites supported by the custom security policy.\n* The protocol and cipher suite must match. At least one cipher suite must match the protocol.\n* Possible values:\n`ECDHE-RSA-AES256-GCM-SHA384`, `ECDHE-RSA-AES128-GCM-SHA256`,`ECDHE-ECDSA-AES256-GCM-SHA384`,\n`ECDHE-ECDSA-AES128-GCM-SHA256`, `AES128-GCM-SHA256`, `AES256-GCM-SHA384`, `ECDHE-ECDSA-AES128-SHA256`,\n`ECDHE-RSA-AES128-SHA256`, `AES128-SHA256,AES256-SHA256`, `ECDHE-ECDSA-AES256-SHA384`, `ECDHE-RSA-AES256-SHA384`,\n`ECDHE-ECDSA-AES128-SHA`, `ECDHE-RSA-AES128-SHA`, `ECDHE-RSA-AES256-SHA`, `ECDHE-ECDSA-AES256-SHA`,\n`AES128-SHA`, `AES256-SHA`, `CAMELLIA128-SHA`, `DES-CBC3-SHA`, `CAMELLIA256-SHA`, `ECDHE-RSA-CHACHA20-POLY1305`,\n`ECDHE-ECDSA-CHACHA20-POLY1305`, `TLS_AES_128_GCM_SHA256`, `TLS_AES_256_GCM_SHA384`, `TLS_CHACHA20_POLY1305_SHA256`,\n`TLS_AES_128_CCM_SHA256`, `TLS_AES_128_CCM_8_SHA256`.\n"},"description":{"type":"string","description":"Provides supplementary information about the security policy.\n"},"lbSecurityPolicyV3Id":{"type":"string","description":"The unique ID for the policy.\n"},"name":{"type":"string","description":"Specifies the security policy name.\n"},"protocols":{"type":"array","items":{"type":"string"},"description":"Lists the TLS protocols supported by the custom security policy.\n* Possible values: `TLSv1`, `TLSv1.1`, `TLSv1.2`, and `TLSv1.3`.\n"}},"requiredInputs":["ciphers","protocols"],"stateInputs":{"description":"Input properties used for looking up and filtering LbSecurityPolicyV3 resources.\n","properties":{"ciphers":{"type":"array","items":{"type":"string"},"description":"Lists the cipher suites supported by the custom security policy.\n* The protocol and cipher suite must match. At least one cipher suite must match the protocol.\n* Possible values:\n`ECDHE-RSA-AES256-GCM-SHA384`, `ECDHE-RSA-AES128-GCM-SHA256`,`ECDHE-ECDSA-AES256-GCM-SHA384`,\n`ECDHE-ECDSA-AES128-GCM-SHA256`, `AES128-GCM-SHA256`, `AES256-GCM-SHA384`, `ECDHE-ECDSA-AES128-SHA256`,\n`ECDHE-RSA-AES128-SHA256`, `AES128-SHA256,AES256-SHA256`, `ECDHE-ECDSA-AES256-SHA384`, `ECDHE-RSA-AES256-SHA384`,\n`ECDHE-ECDSA-AES128-SHA`, `ECDHE-RSA-AES128-SHA`, `ECDHE-RSA-AES256-SHA`, `ECDHE-ECDSA-AES256-SHA`,\n`AES128-SHA`, `AES256-SHA`, `CAMELLIA128-SHA`, `DES-CBC3-SHA`, `CAMELLIA256-SHA`, `ECDHE-RSA-CHACHA20-POLY1305`,\n`ECDHE-ECDSA-CHACHA20-POLY1305`, `TLS_AES_128_GCM_SHA256`, `TLS_AES_256_GCM_SHA384`, `TLS_CHACHA20_POLY1305_SHA256`,\n`TLS_AES_128_CCM_SHA256`, `TLS_AES_128_CCM_8_SHA256`.\n"},"createdAt":{"type":"string","description":"The time when the custom security policy was created.\n"},"description":{"type":"string","description":"Provides supplementary information about the security policy.\n"},"lbSecurityPolicyV3Id":{"type":"string","description":"The unique ID for the policy.\n"},"listenerIds":{"type":"array","items":{"type":"string"}},"name":{"type":"string","description":"Specifies the security policy name.\n"},"projectId":{"type":"string","description":"The project ID of the custom security policy.\n"},"protocols":{"type":"array","items":{"type":"string"},"description":"Lists the TLS protocols supported by the custom security policy.\n* Possible values: `TLSv1`, `TLSv1.1`, `TLSv1.2`, and `TLSv1.3`.\n"},"updatedAt":{"type":"string","description":"The time when the custom security policy was updated.\n"}},"type":"object"}},"opentelekomcloud:index/lbWhitelistV2:LbWhitelistV2":{"description":"Up-to-date reference of API arguments for ELB whitelist you can get at\n[documentation portal](https://docs.otc.t-systems.com/elastic-load-balancing/api-ref/apis_v2.0/whitelist)\n\nManages an Enhanced LB whitelist resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst whitelist1 = new opentelekomcloud.LbWhitelistV2(\"whitelist_1\", {\n    enableWhitelist: true,\n    whitelist: \"192.168.11.1,192.168.0.1/24,192.168.201.18/8\",\n    listenerId: \"d9415786-5f1a-428b-b35f-2f1523e146d2\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nwhitelist1 = opentelekomcloud.LbWhitelistV2(\"whitelist_1\",\n    enable_whitelist=True,\n    whitelist=\"192.168.11.1,192.168.0.1/24,192.168.201.18/8\",\n    listener_id=\"d9415786-5f1a-428b-b35f-2f1523e146d2\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var whitelist1 = new Opentelekomcloud.LbWhitelistV2(\"whitelist_1\", new()\n    {\n        EnableWhitelist = true,\n        Whitelist = \"192.168.11.1,192.168.0.1/24,192.168.201.18/8\",\n        ListenerId = \"d9415786-5f1a-428b-b35f-2f1523e146d2\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewLbWhitelistV2(ctx, \"whitelist_1\", \u0026opentelekomcloud.LbWhitelistV2Args{\n\t\t\tEnableWhitelist: pulumi.Bool(true),\n\t\t\tWhitelist:       pulumi.String(\"192.168.11.1,192.168.0.1/24,192.168.201.18/8\"),\n\t\t\tListenerId:      pulumi.String(\"d9415786-5f1a-428b-b35f-2f1523e146d2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.LbWhitelistV2;\nimport com.pulumi.opentelekomcloud.LbWhitelistV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var whitelist1 = new LbWhitelistV2(\"whitelist1\", LbWhitelistV2Args.builder()\n            .enableWhitelist(true)\n            .whitelist(\"192.168.11.1,192.168.0.1/24,192.168.201.18/8\")\n            .listenerId(\"d9415786-5f1a-428b-b35f-2f1523e146d2\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  whitelist1:\n    type: opentelekomcloud:LbWhitelistV2\n    name: whitelist_1\n    properties:\n      enableWhitelist: true\n      whitelist: 192.168.11.1,192.168.0.1/24,192.168.201.18/8\n      listenerId: d9415786-5f1a-428b-b35f-2f1523e146d2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLoad Balancer Whitelist can be imported using the Whitelist ID, e.g.:\n\n```sh\n$ pulumi import opentelekomcloud:index/lbWhitelistV2:LbWhitelistV2 this 8a7a79c2-cf17-4e65-b2ae-ddc8bfcf6c74\n```\n\n","properties":{"enableWhitelist":{"type":"boolean","description":"Specify whether to enable access control.\n"},"lbWhitelistV2Id":{"type":"string","description":"The unique ID for the whitelist.\n"},"listenerId":{"type":"string","description":"The Listener ID that the whitelist will be associated with. Changing this creates a new whitelist.\n"},"tenantId":{"type":"string","description":"Required for admins. The UUID of the tenant who owns\nthe whitelist.  Only administrative users can specify a tenant UUID\nother than their own. Changing this creates a new whitelist.\n"},"whitelist":{"type":"string","description":"Specifies the IP addresses in the whitelist. Use commas(,) to separate\nthe multiple IP addresses.\n"}},"type":"object","required":["lbWhitelistV2Id","listenerId","tenantId"],"inputProperties":{"enableWhitelist":{"type":"boolean","description":"Specify whether to enable access control.\n"},"lbWhitelistV2Id":{"type":"string","description":"The unique ID for the whitelist.\n"},"listenerId":{"type":"string","description":"The Listener ID that the whitelist will be associated with. Changing this creates a new whitelist.\n"},"tenantId":{"type":"string","description":"Required for admins. The UUID of the tenant who owns\nthe whitelist.  Only administrative users can specify a tenant UUID\nother than their own. Changing this creates a new whitelist.\n"},"whitelist":{"type":"string","description":"Specifies the IP addresses in the whitelist. Use commas(,) to separate\nthe multiple IP addresses.\n"}},"requiredInputs":["listenerId"],"stateInputs":{"description":"Input properties used for looking up and filtering LbWhitelistV2 resources.\n","properties":{"enableWhitelist":{"type":"boolean","description":"Specify whether to enable access control.\n"},"lbWhitelistV2Id":{"type":"string","description":"The unique ID for the whitelist.\n"},"listenerId":{"type":"string","description":"The Listener ID that the whitelist will be associated with. Changing this creates a new whitelist.\n"},"tenantId":{"type":"string","description":"Required for admins. The UUID of the tenant who owns\nthe whitelist.  Only administrative users can specify a tenant UUID\nother than their own. Changing this creates a new whitelist.\n"},"whitelist":{"type":"string","description":"Specifies the IP addresses in the whitelist. Use commas(,) to separate\nthe multiple IP addresses.\n"}},"type":"object"}},"opentelekomcloud:index/logtankGroupV2:LogtankGroupV2":{"properties":{"creationTime":{"type":"number"},"groupName":{"type":"string"},"logtankGroupV2Id":{"type":"string"},"ttlInDays":{"type":"number"}},"type":"object","required":["creationTime","groupName","logtankGroupV2Id","ttlInDays"],"inputProperties":{"groupName":{"type":"string"},"logtankGroupV2Id":{"type":"string"},"ttlInDays":{"type":"number"}},"requiredInputs":["groupName","ttlInDays"],"stateInputs":{"description":"Input properties used for looking up and filtering LogtankGroupV2 resources.\n","properties":{"creationTime":{"type":"number"},"groupName":{"type":"string"},"logtankGroupV2Id":{"type":"string"},"ttlInDays":{"type":"number"}},"type":"object"}},"opentelekomcloud:index/logtankTopicV2:LogtankTopicV2":{"properties":{"creationTime":{"type":"number"},"groupId":{"type":"string"},"logtankTopicV2Id":{"type":"string"},"topicName":{"type":"string"}},"type":"object","required":["creationTime","groupId","logtankTopicV2Id","topicName"],"inputProperties":{"groupId":{"type":"string"},"logtankTopicV2Id":{"type":"string"},"topicName":{"type":"string"}},"requiredInputs":["groupId","topicName"],"stateInputs":{"description":"Input properties used for looking up and filtering LogtankTopicV2 resources.\n","properties":{"creationTime":{"type":"number"},"groupId":{"type":"string"},"logtankTopicV2Id":{"type":"string"},"topicName":{"type":"string"}},"type":"object"}},"opentelekomcloud:index/logtankTransferV2:LogtankTransferV2":{"properties":{"createTime":{"type":"number"},"dirPrefixName":{"type":"string"},"logGroupId":{"type":"string"},"logGroupName":{"type":"string"},"logStreamIds":{"type":"array","items":{"type":"string"}},"logTransferMode":{"type":"string"},"logTransferType":{"type":"string"},"logtankTransferV2Id":{"type":"string"},"obsBucketName":{"type":"string"},"obsEncryptionEnable":{"type":"boolean"},"obsEncryptionId":{"type":"string"},"period":{"type":"number"},"periodUnit":{"type":"string"},"prefixName":{"type":"string"},"status":{"type":"string"},"storageFormat":{"type":"string"},"switchOn":{"type":"boolean"}},"type":"object","required":["createTime","dirPrefixName","logGroupId","logGroupName","logStreamIds","logTransferMode","logTransferType","logtankTransferV2Id","obsBucketName","obsEncryptionEnable","obsEncryptionId","period","periodUnit","prefixName","status","storageFormat"],"inputProperties":{"dirPrefixName":{"type":"string"},"logGroupId":{"type":"string"},"logStreamIds":{"type":"array","items":{"type":"string"}},"logtankTransferV2Id":{"type":"string"},"obsBucketName":{"type":"string"},"period":{"type":"number"},"periodUnit":{"type":"string"},"prefixName":{"type":"string"},"storageFormat":{"type":"string"},"switchOn":{"type":"boolean"}},"requiredInputs":["logGroupId","logStreamIds","obsBucketName","period","periodUnit","storageFormat"],"stateInputs":{"description":"Input properties used for looking up and filtering LogtankTransferV2 resources.\n","properties":{"createTime":{"type":"number"},"dirPrefixName":{"type":"string"},"logGroupId":{"type":"string"},"logGroupName":{"type":"string"},"logStreamIds":{"type":"array","items":{"type":"string"}},"logTransferMode":{"type":"string"},"logTransferType":{"type":"string"},"logtankTransferV2Id":{"type":"string"},"obsBucketName":{"type":"string"},"obsEncryptionEnable":{"type":"boolean"},"obsEncryptionId":{"type":"string"},"period":{"type":"number"},"periodUnit":{"type":"string"},"prefixName":{"type":"string"},"status":{"type":"string"},"storageFormat":{"type":"string"},"switchOn":{"type":"boolean"}},"type":"object"}},"opentelekomcloud:index/ltsCceAccessV3:LtsCceAccessV3":{"description":"Manages an LTS CCE access resource within OpenTelekomCloud.\n\n## Example Usage\n\n### CCE Access With Container Stdout\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst name = config.requireObject\u003cany\u003e(\"name\");\nconst logGroupId = config.requireObject\u003cany\u003e(\"logGroupId\");\nconst logStreamId = config.requireObject\u003cany\u003e(\"logStreamId\");\nconst hostGroupId = config.requireObject\u003cany\u003e(\"hostGroupId\");\nconst clusterId = config.requireObject\u003cany\u003e(\"clusterId\");\nconst containerStdout = new opentelekomcloud.LtsCceAccessV3(\"container_stdout\", {\n    name: name,\n    logGroupId: logGroupId,\n    logStreamId: logStreamId,\n    hostGroupIds: [hostGroupId],\n    clusterId: clusterId,\n    accessConfig: {\n        pathType: \"container_stdout\",\n        stdout: true,\n        singleLogFormat: {\n            mode: \"system\",\n        },\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nname = config.require_object(\"name\")\nlog_group_id = config.require_object(\"logGroupId\")\nlog_stream_id = config.require_object(\"logStreamId\")\nhost_group_id = config.require_object(\"hostGroupId\")\ncluster_id = config.require_object(\"clusterId\")\ncontainer_stdout = opentelekomcloud.LtsCceAccessV3(\"container_stdout\",\n    name=name,\n    log_group_id=log_group_id,\n    log_stream_id=log_stream_id,\n    host_group_ids=[host_group_id],\n    cluster_id=cluster_id,\n    access_config={\n        \"path_type\": \"container_stdout\",\n        \"stdout\": True,\n        \"single_log_format\": {\n            \"mode\": \"system\",\n        },\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var name = config.RequireObject\u003cdynamic\u003e(\"name\");\n    var logGroupId = config.RequireObject\u003cdynamic\u003e(\"logGroupId\");\n    var logStreamId = config.RequireObject\u003cdynamic\u003e(\"logStreamId\");\n    var hostGroupId = config.RequireObject\u003cdynamic\u003e(\"hostGroupId\");\n    var clusterId = config.RequireObject\u003cdynamic\u003e(\"clusterId\");\n    var containerStdout = new Opentelekomcloud.LtsCceAccessV3(\"container_stdout\", new()\n    {\n        Name = name,\n        LogGroupId = logGroupId,\n        LogStreamId = logStreamId,\n        HostGroupIds = new[]\n        {\n            hostGroupId,\n        },\n        ClusterId = clusterId,\n        AccessConfig = new Opentelekomcloud.Inputs.LtsCceAccessV3AccessConfigArgs\n        {\n            PathType = \"container_stdout\",\n            Stdout = true,\n            SingleLogFormat = new Opentelekomcloud.Inputs.LtsCceAccessV3AccessConfigSingleLogFormatArgs\n            {\n                Mode = \"system\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := cfg.RequireObject(\"name\")\n\t\tlogGroupId := cfg.RequireObject(\"logGroupId\")\n\t\tlogStreamId := cfg.RequireObject(\"logStreamId\")\n\t\thostGroupId := cfg.RequireObject(\"hostGroupId\")\n\t\tclusterId := cfg.RequireObject(\"clusterId\")\n\t\t_, err := opentelekomcloud.NewLtsCceAccessV3(ctx, \"container_stdout\", \u0026opentelekomcloud.LtsCceAccessV3Args{\n\t\t\tName:        pulumi.Any(name),\n\t\t\tLogGroupId:  pulumi.Any(logGroupId),\n\t\t\tLogStreamId: pulumi.Any(logStreamId),\n\t\t\tHostGroupIds: pulumi.StringArray{\n\t\t\t\thostGroupId,\n\t\t\t},\n\t\t\tClusterId: pulumi.Any(clusterId),\n\t\t\tAccessConfig: \u0026opentelekomcloud.LtsCceAccessV3AccessConfigArgs{\n\t\t\t\tPathType: pulumi.String(\"container_stdout\"),\n\t\t\t\tStdout:   pulumi.Bool(true),\n\t\t\t\tSingleLogFormat: \u0026opentelekomcloud.LtsCceAccessV3AccessConfigSingleLogFormatArgs{\n\t\t\t\t\tMode: pulumi.String(\"system\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.LtsCceAccessV3;\nimport com.pulumi.opentelekomcloud.LtsCceAccessV3Args;\nimport com.pulumi.opentelekomcloud.inputs.LtsCceAccessV3AccessConfigArgs;\nimport com.pulumi.opentelekomcloud.inputs.LtsCceAccessV3AccessConfigSingleLogFormatArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var name = config.get(\"name\");\n        final var logGroupId = config.get(\"logGroupId\");\n        final var logStreamId = config.get(\"logStreamId\");\n        final var hostGroupId = config.get(\"hostGroupId\");\n        final var clusterId = config.get(\"clusterId\");\n        var containerStdout = new LtsCceAccessV3(\"containerStdout\", LtsCceAccessV3Args.builder()\n            .name(name)\n            .logGroupId(logGroupId)\n            .logStreamId(logStreamId)\n            .hostGroupIds(hostGroupId)\n            .clusterId(clusterId)\n            .accessConfig(LtsCceAccessV3AccessConfigArgs.builder()\n                .pathType(\"container_stdout\")\n                .stdout(true)\n                .singleLogFormat(LtsCceAccessV3AccessConfigSingleLogFormatArgs.builder()\n                    .mode(\"system\")\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  name:\n    type: dynamic\n  logGroupId:\n    type: dynamic\n  logStreamId:\n    type: dynamic\n  hostGroupId:\n    type: dynamic\n  clusterId:\n    type: dynamic\nresources:\n  containerStdout:\n    type: opentelekomcloud:LtsCceAccessV3\n    name: container_stdout\n    properties:\n      name: ${name}\n      logGroupId: ${logGroupId}\n      logStreamId: ${logStreamId}\n      hostGroupIds:\n        - ${hostGroupId}\n      clusterId: ${clusterId}\n      accessConfig:\n        pathType: container_stdout\n        stdout: true\n        singleLogFormat:\n          mode: system\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### CCE Access With Container File\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst name = config.requireObject\u003cany\u003e(\"name\");\nconst logGroupId = config.requireObject\u003cany\u003e(\"logGroupId\");\nconst logStreamId = config.requireObject\u003cany\u003e(\"logStreamId\");\nconst hostGroupId = config.requireObject\u003cany\u003e(\"hostGroupId\");\nconst clusterId = config.requireObject\u003cany\u003e(\"clusterId\");\nconst containerFile = new opentelekomcloud.LtsCceAccessV3(\"container_file\", {\n    name: name,\n    logGroupId: logGroupId,\n    logStreamId: logStreamId,\n    hostGroupIds: [hostGroupId],\n    clusterId: clusterId,\n    accessConfig: {\n        pathType: \"container_file\",\n        paths: [\"/var\"],\n        singleLogFormat: {\n            mode: \"system\",\n        },\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nname = config.require_object(\"name\")\nlog_group_id = config.require_object(\"logGroupId\")\nlog_stream_id = config.require_object(\"logStreamId\")\nhost_group_id = config.require_object(\"hostGroupId\")\ncluster_id = config.require_object(\"clusterId\")\ncontainer_file = opentelekomcloud.LtsCceAccessV3(\"container_file\",\n    name=name,\n    log_group_id=log_group_id,\n    log_stream_id=log_stream_id,\n    host_group_ids=[host_group_id],\n    cluster_id=cluster_id,\n    access_config={\n        \"path_type\": \"container_file\",\n        \"paths\": [\"/var\"],\n        \"single_log_format\": {\n            \"mode\": \"system\",\n        },\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var name = config.RequireObject\u003cdynamic\u003e(\"name\");\n    var logGroupId = config.RequireObject\u003cdynamic\u003e(\"logGroupId\");\n    var logStreamId = config.RequireObject\u003cdynamic\u003e(\"logStreamId\");\n    var hostGroupId = config.RequireObject\u003cdynamic\u003e(\"hostGroupId\");\n    var clusterId = config.RequireObject\u003cdynamic\u003e(\"clusterId\");\n    var containerFile = new Opentelekomcloud.LtsCceAccessV3(\"container_file\", new()\n    {\n        Name = name,\n        LogGroupId = logGroupId,\n        LogStreamId = logStreamId,\n        HostGroupIds = new[]\n        {\n            hostGroupId,\n        },\n        ClusterId = clusterId,\n        AccessConfig = new Opentelekomcloud.Inputs.LtsCceAccessV3AccessConfigArgs\n        {\n            PathType = \"container_file\",\n            Paths = new[]\n            {\n                \"/var\",\n            },\n            SingleLogFormat = new Opentelekomcloud.Inputs.LtsCceAccessV3AccessConfigSingleLogFormatArgs\n            {\n                Mode = \"system\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := cfg.RequireObject(\"name\")\n\t\tlogGroupId := cfg.RequireObject(\"logGroupId\")\n\t\tlogStreamId := cfg.RequireObject(\"logStreamId\")\n\t\thostGroupId := cfg.RequireObject(\"hostGroupId\")\n\t\tclusterId := cfg.RequireObject(\"clusterId\")\n\t\t_, err := opentelekomcloud.NewLtsCceAccessV3(ctx, \"container_file\", \u0026opentelekomcloud.LtsCceAccessV3Args{\n\t\t\tName:        pulumi.Any(name),\n\t\t\tLogGroupId:  pulumi.Any(logGroupId),\n\t\t\tLogStreamId: pulumi.Any(logStreamId),\n\t\t\tHostGroupIds: pulumi.StringArray{\n\t\t\t\thostGroupId,\n\t\t\t},\n\t\t\tClusterId: pulumi.Any(clusterId),\n\t\t\tAccessConfig: \u0026opentelekomcloud.LtsCceAccessV3AccessConfigArgs{\n\t\t\t\tPathType: pulumi.String(\"container_file\"),\n\t\t\t\tPaths: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"/var\"),\n\t\t\t\t},\n\t\t\t\tSingleLogFormat: \u0026opentelekomcloud.LtsCceAccessV3AccessConfigSingleLogFormatArgs{\n\t\t\t\t\tMode: pulumi.String(\"system\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.LtsCceAccessV3;\nimport com.pulumi.opentelekomcloud.LtsCceAccessV3Args;\nimport com.pulumi.opentelekomcloud.inputs.LtsCceAccessV3AccessConfigArgs;\nimport com.pulumi.opentelekomcloud.inputs.LtsCceAccessV3AccessConfigSingleLogFormatArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var name = config.get(\"name\");\n        final var logGroupId = config.get(\"logGroupId\");\n        final var logStreamId = config.get(\"logStreamId\");\n        final var hostGroupId = config.get(\"hostGroupId\");\n        final var clusterId = config.get(\"clusterId\");\n        var containerFile = new LtsCceAccessV3(\"containerFile\", LtsCceAccessV3Args.builder()\n            .name(name)\n            .logGroupId(logGroupId)\n            .logStreamId(logStreamId)\n            .hostGroupIds(hostGroupId)\n            .clusterId(clusterId)\n            .accessConfig(LtsCceAccessV3AccessConfigArgs.builder()\n                .pathType(\"container_file\")\n                .paths(\"/var\")\n                .singleLogFormat(LtsCceAccessV3AccessConfigSingleLogFormatArgs.builder()\n                    .mode(\"system\")\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  name:\n    type: dynamic\n  logGroupId:\n    type: dynamic\n  logStreamId:\n    type: dynamic\n  hostGroupId:\n    type: dynamic\n  clusterId:\n    type: dynamic\nresources:\n  containerFile:\n    type: opentelekomcloud:LtsCceAccessV3\n    name: container_file\n    properties:\n      name: ${name}\n      logGroupId: ${logGroupId}\n      logStreamId: ${logStreamId}\n      hostGroupIds:\n        - ${hostGroupId}\n      clusterId: ${clusterId}\n      accessConfig:\n        pathType: container_file\n        paths:\n          - /var\n        singleLogFormat:\n          mode: system\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### CCE Access With Host File\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst name = config.requireObject\u003cany\u003e(\"name\");\nconst logGroupId = config.requireObject\u003cany\u003e(\"logGroupId\");\nconst logStreamId = config.requireObject\u003cany\u003e(\"logStreamId\");\nconst hostGroupId = config.requireObject\u003cany\u003e(\"hostGroupId\");\nconst clusterId = config.requireObject\u003cany\u003e(\"clusterId\");\nconst hostFile = new opentelekomcloud.LtsCceAccessV3(\"host_file\", {\n    name: name,\n    logGroupId: logGroupId,\n    logStreamId: logStreamId,\n    hostGroupIds: [hostGroupId],\n    clusterId: clusterId,\n    accessConfig: {\n        pathType: \"host_file\",\n        paths: [\"/var\"],\n        singleLogFormat: {\n            mode: \"system\",\n        },\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nname = config.require_object(\"name\")\nlog_group_id = config.require_object(\"logGroupId\")\nlog_stream_id = config.require_object(\"logStreamId\")\nhost_group_id = config.require_object(\"hostGroupId\")\ncluster_id = config.require_object(\"clusterId\")\nhost_file = opentelekomcloud.LtsCceAccessV3(\"host_file\",\n    name=name,\n    log_group_id=log_group_id,\n    log_stream_id=log_stream_id,\n    host_group_ids=[host_group_id],\n    cluster_id=cluster_id,\n    access_config={\n        \"path_type\": \"host_file\",\n        \"paths\": [\"/var\"],\n        \"single_log_format\": {\n            \"mode\": \"system\",\n        },\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var name = config.RequireObject\u003cdynamic\u003e(\"name\");\n    var logGroupId = config.RequireObject\u003cdynamic\u003e(\"logGroupId\");\n    var logStreamId = config.RequireObject\u003cdynamic\u003e(\"logStreamId\");\n    var hostGroupId = config.RequireObject\u003cdynamic\u003e(\"hostGroupId\");\n    var clusterId = config.RequireObject\u003cdynamic\u003e(\"clusterId\");\n    var hostFile = new Opentelekomcloud.LtsCceAccessV3(\"host_file\", new()\n    {\n        Name = name,\n        LogGroupId = logGroupId,\n        LogStreamId = logStreamId,\n        HostGroupIds = new[]\n        {\n            hostGroupId,\n        },\n        ClusterId = clusterId,\n        AccessConfig = new Opentelekomcloud.Inputs.LtsCceAccessV3AccessConfigArgs\n        {\n            PathType = \"host_file\",\n            Paths = new[]\n            {\n                \"/var\",\n            },\n            SingleLogFormat = new Opentelekomcloud.Inputs.LtsCceAccessV3AccessConfigSingleLogFormatArgs\n            {\n                Mode = \"system\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := cfg.RequireObject(\"name\")\n\t\tlogGroupId := cfg.RequireObject(\"logGroupId\")\n\t\tlogStreamId := cfg.RequireObject(\"logStreamId\")\n\t\thostGroupId := cfg.RequireObject(\"hostGroupId\")\n\t\tclusterId := cfg.RequireObject(\"clusterId\")\n\t\t_, err := opentelekomcloud.NewLtsCceAccessV3(ctx, \"host_file\", \u0026opentelekomcloud.LtsCceAccessV3Args{\n\t\t\tName:        pulumi.Any(name),\n\t\t\tLogGroupId:  pulumi.Any(logGroupId),\n\t\t\tLogStreamId: pulumi.Any(logStreamId),\n\t\t\tHostGroupIds: pulumi.StringArray{\n\t\t\t\thostGroupId,\n\t\t\t},\n\t\t\tClusterId: pulumi.Any(clusterId),\n\t\t\tAccessConfig: \u0026opentelekomcloud.LtsCceAccessV3AccessConfigArgs{\n\t\t\t\tPathType: pulumi.String(\"host_file\"),\n\t\t\t\tPaths: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"/var\"),\n\t\t\t\t},\n\t\t\t\tSingleLogFormat: \u0026opentelekomcloud.LtsCceAccessV3AccessConfigSingleLogFormatArgs{\n\t\t\t\t\tMode: pulumi.String(\"system\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.LtsCceAccessV3;\nimport com.pulumi.opentelekomcloud.LtsCceAccessV3Args;\nimport com.pulumi.opentelekomcloud.inputs.LtsCceAccessV3AccessConfigArgs;\nimport com.pulumi.opentelekomcloud.inputs.LtsCceAccessV3AccessConfigSingleLogFormatArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var name = config.get(\"name\");\n        final var logGroupId = config.get(\"logGroupId\");\n        final var logStreamId = config.get(\"logStreamId\");\n        final var hostGroupId = config.get(\"hostGroupId\");\n        final var clusterId = config.get(\"clusterId\");\n        var hostFile = new LtsCceAccessV3(\"hostFile\", LtsCceAccessV3Args.builder()\n            .name(name)\n            .logGroupId(logGroupId)\n            .logStreamId(logStreamId)\n            .hostGroupIds(hostGroupId)\n            .clusterId(clusterId)\n            .accessConfig(LtsCceAccessV3AccessConfigArgs.builder()\n                .pathType(\"host_file\")\n                .paths(\"/var\")\n                .singleLogFormat(LtsCceAccessV3AccessConfigSingleLogFormatArgs.builder()\n                    .mode(\"system\")\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  name:\n    type: dynamic\n  logGroupId:\n    type: dynamic\n  logStreamId:\n    type: dynamic\n  hostGroupId:\n    type: dynamic\n  clusterId:\n    type: dynamic\nresources:\n  hostFile:\n    type: opentelekomcloud:LtsCceAccessV3\n    name: host_file\n    properties:\n      name: ${name}\n      logGroupId: ${logGroupId}\n      logStreamId: ${logStreamId}\n      hostGroupIds:\n        - ${hostGroupId}\n      clusterId: ${clusterId}\n      accessConfig:\n        pathType: host_file\n        paths:\n          - /var\n        singleLogFormat:\n          mode: system\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe CCE access can be imported using `id`, e.g.\n\nbash\n\n```sh\n$ pulumi import opentelekomcloud:index/ltsCceAccessV3:LtsCceAccessV3 test \u003cid\u003e\n```\n\n","properties":{"accessConfig":{"$ref":"#/types/opentelekomcloud:index%2FLtsCceAccessV3AccessConfig:LtsCceAccessV3AccessConfig","description":"Specifies the configurations of CCE access.\nThe\u003cspan pulumi-lang-nodejs=\" accessConfig \" pulumi-lang-dotnet=\" AccessConfig \" pulumi-lang-go=\" accessConfig \" pulumi-lang-python=\" access_config \" pulumi-lang-yaml=\" accessConfig \" pulumi-lang-java=\" accessConfig \"\u003e access_config \u003c/span\u003estructure is documented below.\n"},"accessType":{"type":"string","description":"The log access type.\n"},"binaryCollect":{"type":"boolean","description":"Specifies whether collect in binary format. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"clusterId":{"type":"string","description":"Specifies the CCE cluster ID. Changing this creates a new resource.\n"},"createdAt":{"type":"string","description":"The creation time of the CCE access, in RFC3339 format.\n"},"hostGroupIds":{"type":"array","items":{"type":"string"},"description":"Specifies the log access host group ID list.\n"},"logGroupId":{"type":"string","description":"Specifies the log group ID. Changing this creates a new resource.\n"},"logGroupName":{"type":"string","description":"The log group name.\n"},"logSplit":{"type":"boolean","description":"Specifies whether to split log. Default is false.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"accessConfig\"\" pulumi-lang-dotnet=\"\"AccessConfig\"\" pulumi-lang-go=\"\"accessConfig\"\" pulumi-lang-python=\"\"access_config\"\" pulumi-lang-yaml=\"\"accessConfig\"\" pulumi-lang-java=\"\"accessConfig\"\"\u003e\"access_config\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`accessConfig`\" pulumi-lang-dotnet=\"`AccessConfig`\" pulumi-lang-go=\"`accessConfig`\" pulumi-lang-python=\"`access_config`\" pulumi-lang-yaml=\"`accessConfig`\" pulumi-lang-java=\"`accessConfig`\"\u003e`access_config`\u003c/span\u003e block supports:\n"},"logStreamId":{"type":"string","description":"Specifies the log stream ID. Changing this creates a new resource.\n"},"logStreamName":{"type":"string","description":"The log stream name.\n"},"ltsCceAccessV3Id":{"type":"string","description":"The resource ID.\n"},"name":{"type":"string","description":"Specifies the name of the CCE access. The name consists of \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e\ncharacters. Only letters, digits, underscores (_), and periods (.) are allowed, and the period cannot be the first\nor last character. Changing this creates a new resource.\n"},"region":{"type":"string","description":"Shows the region in the cce access resource created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the key/value pairs to associate with the CCE access.\n"}},"type":"object","required":["accessConfig","accessType","binaryCollect","clusterId","createdAt","hostGroupIds","logGroupId","logGroupName","logSplit","logStreamId","logStreamName","ltsCceAccessV3Id","name","region"],"inputProperties":{"accessConfig":{"$ref":"#/types/opentelekomcloud:index%2FLtsCceAccessV3AccessConfig:LtsCceAccessV3AccessConfig","description":"Specifies the configurations of CCE access.\nThe\u003cspan pulumi-lang-nodejs=\" accessConfig \" pulumi-lang-dotnet=\" AccessConfig \" pulumi-lang-go=\" accessConfig \" pulumi-lang-python=\" access_config \" pulumi-lang-yaml=\" accessConfig \" pulumi-lang-java=\" accessConfig \"\u003e access_config \u003c/span\u003estructure is documented below.\n"},"binaryCollect":{"type":"boolean","description":"Specifies whether collect in binary format. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"clusterId":{"type":"string","description":"Specifies the CCE cluster ID. Changing this creates a new resource.\n"},"hostGroupIds":{"type":"array","items":{"type":"string"},"description":"Specifies the log access host group ID list.\n"},"logGroupId":{"type":"string","description":"Specifies the log group ID. Changing this creates a new resource.\n"},"logSplit":{"type":"boolean","description":"Specifies whether to split log. Default is false.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"accessConfig\"\" pulumi-lang-dotnet=\"\"AccessConfig\"\" pulumi-lang-go=\"\"accessConfig\"\" pulumi-lang-python=\"\"access_config\"\" pulumi-lang-yaml=\"\"accessConfig\"\" pulumi-lang-java=\"\"accessConfig\"\"\u003e\"access_config\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`accessConfig`\" pulumi-lang-dotnet=\"`AccessConfig`\" pulumi-lang-go=\"`accessConfig`\" pulumi-lang-python=\"`access_config`\" pulumi-lang-yaml=\"`accessConfig`\" pulumi-lang-java=\"`accessConfig`\"\u003e`access_config`\u003c/span\u003e block supports:\n"},"logStreamId":{"type":"string","description":"Specifies the log stream ID. Changing this creates a new resource.\n"},"ltsCceAccessV3Id":{"type":"string","description":"The resource ID.\n"},"name":{"type":"string","description":"Specifies the name of the CCE access. The name consists of \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e\ncharacters. Only letters, digits, underscores (_), and periods (.) are allowed, and the period cannot be the first\nor last character. Changing this creates a new resource.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the key/value pairs to associate with the CCE access.\n"}},"requiredInputs":["accessConfig","clusterId","logGroupId","logStreamId"],"stateInputs":{"description":"Input properties used for looking up and filtering LtsCceAccessV3 resources.\n","properties":{"accessConfig":{"$ref":"#/types/opentelekomcloud:index%2FLtsCceAccessV3AccessConfig:LtsCceAccessV3AccessConfig","description":"Specifies the configurations of CCE access.\nThe\u003cspan pulumi-lang-nodejs=\" accessConfig \" pulumi-lang-dotnet=\" AccessConfig \" pulumi-lang-go=\" accessConfig \" pulumi-lang-python=\" access_config \" pulumi-lang-yaml=\" accessConfig \" pulumi-lang-java=\" accessConfig \"\u003e access_config \u003c/span\u003estructure is documented below.\n"},"accessType":{"type":"string","description":"The log access type.\n"},"binaryCollect":{"type":"boolean","description":"Specifies whether collect in binary format. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"clusterId":{"type":"string","description":"Specifies the CCE cluster ID. Changing this creates a new resource.\n"},"createdAt":{"type":"string","description":"The creation time of the CCE access, in RFC3339 format.\n"},"hostGroupIds":{"type":"array","items":{"type":"string"},"description":"Specifies the log access host group ID list.\n"},"logGroupId":{"type":"string","description":"Specifies the log group ID. Changing this creates a new resource.\n"},"logGroupName":{"type":"string","description":"The log group name.\n"},"logSplit":{"type":"boolean","description":"Specifies whether to split log. Default is false.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"accessConfig\"\" pulumi-lang-dotnet=\"\"AccessConfig\"\" pulumi-lang-go=\"\"accessConfig\"\" pulumi-lang-python=\"\"access_config\"\" pulumi-lang-yaml=\"\"accessConfig\"\" pulumi-lang-java=\"\"accessConfig\"\"\u003e\"access_config\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`accessConfig`\" pulumi-lang-dotnet=\"`AccessConfig`\" pulumi-lang-go=\"`accessConfig`\" pulumi-lang-python=\"`access_config`\" pulumi-lang-yaml=\"`accessConfig`\" pulumi-lang-java=\"`accessConfig`\"\u003e`access_config`\u003c/span\u003e block supports:\n"},"logStreamId":{"type":"string","description":"Specifies the log stream ID. Changing this creates a new resource.\n"},"logStreamName":{"type":"string","description":"The log stream name.\n"},"ltsCceAccessV3Id":{"type":"string","description":"The resource ID.\n"},"name":{"type":"string","description":"Specifies the name of the CCE access. The name consists of \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e\ncharacters. Only letters, digits, underscores (_), and periods (.) are allowed, and the period cannot be the first\nor last character. Changing this creates a new resource.\n"},"region":{"type":"string","description":"Shows the region in the cce access resource created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the key/value pairs to associate with the CCE access.\n"}},"type":"object"}},"opentelekomcloud:index/ltsCrossAccountAccessV2:LtsCrossAccountAccessV2":{"description":"Manages an LTS cross account access resource within OpenTelekomCloud.\n\n\u003e **NOTE:** Before using this resource:\n\u003cbr/\u003e 1. You need to prepare an agency relationship.\n\u003cbr/\u003e 2. Before data synchronization is complete, data in the target and source log streams may be different.\n         Check back later in one hour.\n\u003cbr/\u003e 3. After you configure cross-account access, if account A deletes the agency from IAM, LTS cannot detect the\n         deletion and the cross-account ingestion still takes effect. If the cross-account access configuration is\n         no longer used, notify account B to delete it.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst name = config.requireObject\u003cany\u003e(\"name\");\nconst agencyGroupId = config.requireObject\u003cany\u003e(\"agencyGroupId\");\nconst agencyStreamId = config.requireObject\u003cany\u003e(\"agencyStreamId\");\nconst agencyGroupName = config.requireObject\u003cany\u003e(\"agencyGroupName\");\nconst agencyStreamName = config.requireObject\u003cany\u003e(\"agencyStreamName\");\nconst logGroupId = config.requireObject\u003cany\u003e(\"logGroupId\");\nconst logStreamId = config.requireObject\u003cany\u003e(\"logStreamId\");\nconst logGroupName = config.requireObject\u003cany\u003e(\"logGroupName\");\nconst logStreamName = config.requireObject\u003cany\u003e(\"logStreamName\");\nconst agencyName = config.requireObject\u003cany\u003e(\"agencyName\");\nconst agencyDomainName = config.requireObject\u003cany\u003e(\"agencyDomainName\");\nconst agencyProjectId = config.requireObject\u003cany\u003e(\"agencyProjectId\");\nconst conn = new opentelekomcloud.LtsCrossAccountAccessV2(\"conn\", {\n    name: name,\n    agencyProjectId: agencyProjectId,\n    agencyDomainName: agencyDomainName,\n    agencyName: agencyName,\n    logAgencyStreamName: agencyStreamName,\n    logAgencyStreamId: agencyStreamId,\n    logAgencyGroupName: agencyGroupName,\n    logAgencyGroupId: agencyGroupId,\n    logStreamName: logStreamName,\n    logStreamId: logStreamId,\n    logGroupName: logGroupName,\n    logGroupId: logGroupId,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nname = config.require_object(\"name\")\nagency_group_id = config.require_object(\"agencyGroupId\")\nagency_stream_id = config.require_object(\"agencyStreamId\")\nagency_group_name = config.require_object(\"agencyGroupName\")\nagency_stream_name = config.require_object(\"agencyStreamName\")\nlog_group_id = config.require_object(\"logGroupId\")\nlog_stream_id = config.require_object(\"logStreamId\")\nlog_group_name = config.require_object(\"logGroupName\")\nlog_stream_name = config.require_object(\"logStreamName\")\nagency_name = config.require_object(\"agencyName\")\nagency_domain_name = config.require_object(\"agencyDomainName\")\nagency_project_id = config.require_object(\"agencyProjectId\")\nconn = opentelekomcloud.LtsCrossAccountAccessV2(\"conn\",\n    name=name,\n    agency_project_id=agency_project_id,\n    agency_domain_name=agency_domain_name,\n    agency_name=agency_name,\n    log_agency_stream_name=agency_stream_name,\n    log_agency_stream_id=agency_stream_id,\n    log_agency_group_name=agency_group_name,\n    log_agency_group_id=agency_group_id,\n    log_stream_name=log_stream_name,\n    log_stream_id=log_stream_id,\n    log_group_name=log_group_name,\n    log_group_id=log_group_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var name = config.RequireObject\u003cdynamic\u003e(\"name\");\n    var agencyGroupId = config.RequireObject\u003cdynamic\u003e(\"agencyGroupId\");\n    var agencyStreamId = config.RequireObject\u003cdynamic\u003e(\"agencyStreamId\");\n    var agencyGroupName = config.RequireObject\u003cdynamic\u003e(\"agencyGroupName\");\n    var agencyStreamName = config.RequireObject\u003cdynamic\u003e(\"agencyStreamName\");\n    var logGroupId = config.RequireObject\u003cdynamic\u003e(\"logGroupId\");\n    var logStreamId = config.RequireObject\u003cdynamic\u003e(\"logStreamId\");\n    var logGroupName = config.RequireObject\u003cdynamic\u003e(\"logGroupName\");\n    var logStreamName = config.RequireObject\u003cdynamic\u003e(\"logStreamName\");\n    var agencyName = config.RequireObject\u003cdynamic\u003e(\"agencyName\");\n    var agencyDomainName = config.RequireObject\u003cdynamic\u003e(\"agencyDomainName\");\n    var agencyProjectId = config.RequireObject\u003cdynamic\u003e(\"agencyProjectId\");\n    var conn = new Opentelekomcloud.LtsCrossAccountAccessV2(\"conn\", new()\n    {\n        Name = name,\n        AgencyProjectId = agencyProjectId,\n        AgencyDomainName = agencyDomainName,\n        AgencyName = agencyName,\n        LogAgencyStreamName = agencyStreamName,\n        LogAgencyStreamId = agencyStreamId,\n        LogAgencyGroupName = agencyGroupName,\n        LogAgencyGroupId = agencyGroupId,\n        LogStreamName = logStreamName,\n        LogStreamId = logStreamId,\n        LogGroupName = logGroupName,\n        LogGroupId = logGroupId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := cfg.RequireObject(\"name\")\n\t\tagencyGroupId := cfg.RequireObject(\"agencyGroupId\")\n\t\tagencyStreamId := cfg.RequireObject(\"agencyStreamId\")\n\t\tagencyGroupName := cfg.RequireObject(\"agencyGroupName\")\n\t\tagencyStreamName := cfg.RequireObject(\"agencyStreamName\")\n\t\tlogGroupId := cfg.RequireObject(\"logGroupId\")\n\t\tlogStreamId := cfg.RequireObject(\"logStreamId\")\n\t\tlogGroupName := cfg.RequireObject(\"logGroupName\")\n\t\tlogStreamName := cfg.RequireObject(\"logStreamName\")\n\t\tagencyName := cfg.RequireObject(\"agencyName\")\n\t\tagencyDomainName := cfg.RequireObject(\"agencyDomainName\")\n\t\tagencyProjectId := cfg.RequireObject(\"agencyProjectId\")\n\t\t_, err := opentelekomcloud.NewLtsCrossAccountAccessV2(ctx, \"conn\", \u0026opentelekomcloud.LtsCrossAccountAccessV2Args{\n\t\t\tName:                pulumi.Any(name),\n\t\t\tAgencyProjectId:     pulumi.Any(agencyProjectId),\n\t\t\tAgencyDomainName:    pulumi.Any(agencyDomainName),\n\t\t\tAgencyName:          pulumi.Any(agencyName),\n\t\t\tLogAgencyStreamName: pulumi.Any(agencyStreamName),\n\t\t\tLogAgencyStreamId:   pulumi.Any(agencyStreamId),\n\t\t\tLogAgencyGroupName:  pulumi.Any(agencyGroupName),\n\t\t\tLogAgencyGroupId:    pulumi.Any(agencyGroupId),\n\t\t\tLogStreamName:       pulumi.Any(logStreamName),\n\t\t\tLogStreamId:         pulumi.Any(logStreamId),\n\t\t\tLogGroupName:        pulumi.Any(logGroupName),\n\t\t\tLogGroupId:          pulumi.Any(logGroupId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.LtsCrossAccountAccessV2;\nimport com.pulumi.opentelekomcloud.LtsCrossAccountAccessV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var name = config.get(\"name\");\n        final var agencyGroupId = config.get(\"agencyGroupId\");\n        final var agencyStreamId = config.get(\"agencyStreamId\");\n        final var agencyGroupName = config.get(\"agencyGroupName\");\n        final var agencyStreamName = config.get(\"agencyStreamName\");\n        final var logGroupId = config.get(\"logGroupId\");\n        final var logStreamId = config.get(\"logStreamId\");\n        final var logGroupName = config.get(\"logGroupName\");\n        final var logStreamName = config.get(\"logStreamName\");\n        final var agencyName = config.get(\"agencyName\");\n        final var agencyDomainName = config.get(\"agencyDomainName\");\n        final var agencyProjectId = config.get(\"agencyProjectId\");\n        var conn = new LtsCrossAccountAccessV2(\"conn\", LtsCrossAccountAccessV2Args.builder()\n            .name(name)\n            .agencyProjectId(agencyProjectId)\n            .agencyDomainName(agencyDomainName)\n            .agencyName(agencyName)\n            .logAgencyStreamName(agencyStreamName)\n            .logAgencyStreamId(agencyStreamId)\n            .logAgencyGroupName(agencyGroupName)\n            .logAgencyGroupId(agencyGroupId)\n            .logStreamName(logStreamName)\n            .logStreamId(logStreamId)\n            .logGroupName(logGroupName)\n            .logGroupId(logGroupId)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  name:\n    type: dynamic\n  agencyGroupId:\n    type: dynamic\n  agencyStreamId:\n    type: dynamic\n  agencyGroupName:\n    type: dynamic\n  agencyStreamName:\n    type: dynamic\n  logGroupId:\n    type: dynamic\n  logStreamId:\n    type: dynamic\n  logGroupName:\n    type: dynamic\n  logStreamName:\n    type: dynamic\n  agencyName:\n    type: dynamic\n  agencyDomainName:\n    type: dynamic\n  agencyProjectId:\n    type: dynamic\nresources:\n  conn:\n    type: opentelekomcloud:LtsCrossAccountAccessV2\n    properties:\n      name: ${name}\n      agencyProjectId: ${agencyProjectId}\n      agencyDomainName: ${agencyDomainName}\n      agencyName: ${agencyName}\n      logAgencyStreamName: ${agencyStreamName}\n      logAgencyStreamId: ${agencyStreamId}\n      logAgencyGroupName: ${agencyGroupName}\n      logAgencyGroupId: ${agencyGroupId}\n      logStreamName: ${logStreamName}\n      logStreamId: ${logStreamId}\n      logGroupName: ${logGroupName}\n      logGroupId: ${logGroupId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"accessConfigType":{"type":"string","description":"The log access configuration type.\n"},"agencyDomainName":{"type":"string","description":"Specifies the name of the delegator account to verify\nthe delegation. Changing this creates a new resource.\n"},"agencyName":{"type":"string","description":"Specifies the name of the agency created in IAM by the delegator.\nChanging this creates a new resource.\n"},"agencyProjectId":{"type":"string","description":"Specifies the delegator project ID.\nChanging this creates a new resource.\n"},"createdAt":{"type":"string","description":"The creation time of the cross account access, in RFC3339 format.\n"},"logAgencyGroupId":{"type":"string","description":"Specify the log group ID that already exists in the\ndelegated account. Changing this creates a new resource.\n"},"logAgencyGroupName":{"type":"string","description":"Specify the log group name that already exists in the\ndelegated account. Changing this creates a new resource.\n"},"logAgencyStreamId":{"type":"string","description":"Specifies the log stream ID that already exists in the\ndelegated account. Changing this creates a new resource.\n"},"logAgencyStreamName":{"type":"string","description":"Specifies the log stream name that already exists in the\ndelegated account. Changing this creates a new resource.\n"},"logGroupId":{"type":"string","description":"Specify the log group ID that already exists in the\nmain account. Changing this creates a new resource.\n"},"logGroupName":{"type":"string","description":"Specify the log group name that already exists in the\ndelegatee account. Changing this creates a new resource.\n"},"logStreamId":{"type":"string","description":"Specifies the log stream ID that already exists in the\ndelegatee account. Changing this creates a new resource.\n"},"logStreamName":{"type":"string","description":"Specifies the log stream name that already exists in the\ndelegatee account. Changing this creates a new resource.\n"},"ltsCrossAccountAccessV2Id":{"type":"string","description":"The resource ID.\n"},"name":{"type":"string","description":"Specifies the name of the cross account access.\nChanging this creates a new resource.\n"},"region":{"type":"string","description":"Shows the region in the cce access resource created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the key/value pairs to associate with the cross account access.\n"}},"type":"object","required":["accessConfigType","agencyDomainName","agencyName","agencyProjectId","createdAt","logAgencyGroupId","logAgencyGroupName","logAgencyStreamId","logAgencyStreamName","logGroupId","logGroupName","logStreamId","logStreamName","ltsCrossAccountAccessV2Id","name","region"],"inputProperties":{"agencyDomainName":{"type":"string","description":"Specifies the name of the delegator account to verify\nthe delegation. Changing this creates a new resource.\n"},"agencyName":{"type":"string","description":"Specifies the name of the agency created in IAM by the delegator.\nChanging this creates a new resource.\n"},"agencyProjectId":{"type":"string","description":"Specifies the delegator project ID.\nChanging this creates a new resource.\n"},"logAgencyGroupId":{"type":"string","description":"Specify the log group ID that already exists in the\ndelegated account. Changing this creates a new resource.\n"},"logAgencyGroupName":{"type":"string","description":"Specify the log group name that already exists in the\ndelegated account. Changing this creates a new resource.\n"},"logAgencyStreamId":{"type":"string","description":"Specifies the log stream ID that already exists in the\ndelegated account. Changing this creates a new resource.\n"},"logAgencyStreamName":{"type":"string","description":"Specifies the log stream name that already exists in the\ndelegated account. Changing this creates a new resource.\n"},"logGroupId":{"type":"string","description":"Specify the log group ID that already exists in the\nmain account. Changing this creates a new resource.\n"},"logGroupName":{"type":"string","description":"Specify the log group name that already exists in the\ndelegatee account. Changing this creates a new resource.\n"},"logStreamId":{"type":"string","description":"Specifies the log stream ID that already exists in the\ndelegatee account. Changing this creates a new resource.\n"},"logStreamName":{"type":"string","description":"Specifies the log stream name that already exists in the\ndelegatee account. Changing this creates a new resource.\n"},"ltsCrossAccountAccessV2Id":{"type":"string","description":"The resource ID.\n"},"name":{"type":"string","description":"Specifies the name of the cross account access.\nChanging this creates a new resource.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the key/value pairs to associate with the cross account access.\n"}},"requiredInputs":["agencyDomainName","agencyName","agencyProjectId","logAgencyGroupId","logAgencyGroupName","logAgencyStreamId","logAgencyStreamName","logGroupId","logGroupName","logStreamId","logStreamName"],"stateInputs":{"description":"Input properties used for looking up and filtering LtsCrossAccountAccessV2 resources.\n","properties":{"accessConfigType":{"type":"string","description":"The log access configuration type.\n"},"agencyDomainName":{"type":"string","description":"Specifies the name of the delegator account to verify\nthe delegation. Changing this creates a new resource.\n"},"agencyName":{"type":"string","description":"Specifies the name of the agency created in IAM by the delegator.\nChanging this creates a new resource.\n"},"agencyProjectId":{"type":"string","description":"Specifies the delegator project ID.\nChanging this creates a new resource.\n"},"createdAt":{"type":"string","description":"The creation time of the cross account access, in RFC3339 format.\n"},"logAgencyGroupId":{"type":"string","description":"Specify the log group ID that already exists in the\ndelegated account. Changing this creates a new resource.\n"},"logAgencyGroupName":{"type":"string","description":"Specify the log group name that already exists in the\ndelegated account. Changing this creates a new resource.\n"},"logAgencyStreamId":{"type":"string","description":"Specifies the log stream ID that already exists in the\ndelegated account. Changing this creates a new resource.\n"},"logAgencyStreamName":{"type":"string","description":"Specifies the log stream name that already exists in the\ndelegated account. Changing this creates a new resource.\n"},"logGroupId":{"type":"string","description":"Specify the log group ID that already exists in the\nmain account. Changing this creates a new resource.\n"},"logGroupName":{"type":"string","description":"Specify the log group name that already exists in the\ndelegatee account. Changing this creates a new resource.\n"},"logStreamId":{"type":"string","description":"Specifies the log stream ID that already exists in the\ndelegatee account. Changing this creates a new resource.\n"},"logStreamName":{"type":"string","description":"Specifies the log stream name that already exists in the\ndelegatee account. Changing this creates a new resource.\n"},"ltsCrossAccountAccessV2Id":{"type":"string","description":"The resource ID.\n"},"name":{"type":"string","description":"Specifies the name of the cross account access.\nChanging this creates a new resource.\n"},"region":{"type":"string","description":"Shows the region in the cce access resource created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the key/value pairs to associate with the cross account access.\n"}},"type":"object"}},"opentelekomcloud:index/ltsGroupV2:LtsGroupV2":{"description":"Up-to-date reference of API arguments for LTS log group you can get at\n[documentation portal](https://docs.otc.t-systems.com/log-tank-service/api-ref/apis/log_group_management/index.html)\n\nManages a log group resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst test = new opentelekomcloud.LtsGroupV2(\"test\", {\n    groupName: \"log_group_1\",\n    ttlInDays: 30,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ntest = opentelekomcloud.LtsGroupV2(\"test\",\n    group_name=\"log_group_1\",\n    ttl_in_days=30)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = new Opentelekomcloud.LtsGroupV2(\"test\", new()\n    {\n        GroupName = \"log_group_1\",\n        TtlInDays = 30,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewLtsGroupV2(ctx, \"test\", \u0026opentelekomcloud.LtsGroupV2Args{\n\t\t\tGroupName: pulumi.String(\"log_group_1\"),\n\t\t\tTtlInDays: pulumi.Float64(30),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.LtsGroupV2;\nimport com.pulumi.opentelekomcloud.LtsGroupV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test = new LtsGroupV2(\"test\", LtsGroupV2Args.builder()\n            .groupName(\"log_group_1\")\n            .ttlInDays(30.0)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test:\n    type: opentelekomcloud:LtsGroupV2\n    properties:\n      groupName: log_group_1\n      ttlInDays: 30\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe log group can be imported using the `id`, e.g.\n\nbash\n\n```sh\n$ pulumi import opentelekomcloud:index/ltsGroupV2:LtsGroupV2 test \u003cid\u003e\n```\n\n","properties":{"createdAt":{"type":"string","description":"The creation time of the log group.\n"},"enterpriseProjectId":{"type":"string","description":"Shows the enterprise project ID to which the log group belongs.\n"},"groupAlias":{"type":"string"},"groupName":{"type":"string","description":"Specifies the log group name. Changing this parameter will create a new resource.\n"},"ltsGroupV2Id":{"type":"string","description":"The log group ID.\n"},"region":{"type":"string","description":"Shows the region in the log group resource created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the key/value pairs to associate with the log group.\n"},"ttlInDays":{"type":"number","description":"Specifies the log expiration time(days).\nThe value is range from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`365`\" pulumi-lang-dotnet=\"`365`\" pulumi-lang-go=\"`365`\" pulumi-lang-python=\"`365`\" pulumi-lang-yaml=\"`365`\" pulumi-lang-java=\"`365`\"\u003e`365`\u003c/span\u003e.\n"}},"type":"object","required":["createdAt","enterpriseProjectId","groupName","ltsGroupV2Id","region","ttlInDays"],"inputProperties":{"groupAlias":{"type":"string"},"groupName":{"type":"string","description":"Specifies the log group name. Changing this parameter will create a new resource.\n"},"ltsGroupV2Id":{"type":"string","description":"The log group ID.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the key/value pairs to associate with the log group.\n"},"ttlInDays":{"type":"number","description":"Specifies the log expiration time(days).\nThe value is range from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`365`\" pulumi-lang-dotnet=\"`365`\" pulumi-lang-go=\"`365`\" pulumi-lang-python=\"`365`\" pulumi-lang-yaml=\"`365`\" pulumi-lang-java=\"`365`\"\u003e`365`\u003c/span\u003e.\n"}},"requiredInputs":["groupName","ttlInDays"],"stateInputs":{"description":"Input properties used for looking up and filtering LtsGroupV2 resources.\n","properties":{"createdAt":{"type":"string","description":"The creation time of the log group.\n"},"enterpriseProjectId":{"type":"string","description":"Shows the enterprise project ID to which the log group belongs.\n"},"groupAlias":{"type":"string"},"groupName":{"type":"string","description":"Specifies the log group name. Changing this parameter will create a new resource.\n"},"ltsGroupV2Id":{"type":"string","description":"The log group ID.\n"},"region":{"type":"string","description":"Shows the region in the log group resource created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the key/value pairs to associate with the log group.\n"},"ttlInDays":{"type":"number","description":"Specifies the log expiration time(days).\nThe value is range from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`365`\" pulumi-lang-dotnet=\"`365`\" pulumi-lang-go=\"`365`\" pulumi-lang-python=\"`365`\" pulumi-lang-yaml=\"`365`\" pulumi-lang-java=\"`365`\"\u003e`365`\u003c/span\u003e.\n"}},"type":"object"}},"opentelekomcloud:index/ltsHostAccessV3:LtsHostAccessV3":{"description":"Manages an LTS host access resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst groupId = config.requireObject\u003cany\u003e(\"groupId\");\nconst streamId = config.requireObject\u003cany\u003e(\"streamId\");\nconst hostGroupId = config.requireObject\u003cany\u003e(\"hostGroupId\");\nconst acc = new opentelekomcloud.LtsHostAccessV3(\"acc\", {\n    name: \"access-demo\",\n    logGroupId: groupId,\n    logStreamId: streamId,\n    hostGroupIds: [hostGroupId],\n    accessConfig: {\n        paths: [\"/var/log/*\"],\n        blackPaths: [\"/var/log/*/a.log\"],\n        singleLogFormat: {\n            mode: \"system\",\n        },\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ngroup_id = config.require_object(\"groupId\")\nstream_id = config.require_object(\"streamId\")\nhost_group_id = config.require_object(\"hostGroupId\")\nacc = opentelekomcloud.LtsHostAccessV3(\"acc\",\n    name=\"access-demo\",\n    log_group_id=group_id,\n    log_stream_id=stream_id,\n    host_group_ids=[host_group_id],\n    access_config={\n        \"paths\": [\"/var/log/*\"],\n        \"black_paths\": [\"/var/log/*/a.log\"],\n        \"single_log_format\": {\n            \"mode\": \"system\",\n        },\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var groupId = config.RequireObject\u003cdynamic\u003e(\"groupId\");\n    var streamId = config.RequireObject\u003cdynamic\u003e(\"streamId\");\n    var hostGroupId = config.RequireObject\u003cdynamic\u003e(\"hostGroupId\");\n    var acc = new Opentelekomcloud.LtsHostAccessV3(\"acc\", new()\n    {\n        Name = \"access-demo\",\n        LogGroupId = groupId,\n        LogStreamId = streamId,\n        HostGroupIds = new[]\n        {\n            hostGroupId,\n        },\n        AccessConfig = new Opentelekomcloud.Inputs.LtsHostAccessV3AccessConfigArgs\n        {\n            Paths = new[]\n            {\n                \"/var/log/*\",\n            },\n            BlackPaths = new[]\n            {\n                \"/var/log/*/a.log\",\n            },\n            SingleLogFormat = new Opentelekomcloud.Inputs.LtsHostAccessV3AccessConfigSingleLogFormatArgs\n            {\n                Mode = \"system\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tgroupId := cfg.RequireObject(\"groupId\")\n\t\tstreamId := cfg.RequireObject(\"streamId\")\n\t\thostGroupId := cfg.RequireObject(\"hostGroupId\")\n\t\t_, err := opentelekomcloud.NewLtsHostAccessV3(ctx, \"acc\", \u0026opentelekomcloud.LtsHostAccessV3Args{\n\t\t\tName:        pulumi.String(\"access-demo\"),\n\t\t\tLogGroupId:  pulumi.Any(groupId),\n\t\t\tLogStreamId: pulumi.Any(streamId),\n\t\t\tHostGroupIds: pulumi.StringArray{\n\t\t\t\thostGroupId,\n\t\t\t},\n\t\t\tAccessConfig: \u0026opentelekomcloud.LtsHostAccessV3AccessConfigArgs{\n\t\t\t\tPaths: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"/var/log/*\"),\n\t\t\t\t},\n\t\t\t\tBlackPaths: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"/var/log/*/a.log\"),\n\t\t\t\t},\n\t\t\t\tSingleLogFormat: \u0026opentelekomcloud.LtsHostAccessV3AccessConfigSingleLogFormatArgs{\n\t\t\t\t\tMode: pulumi.String(\"system\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.LtsHostAccessV3;\nimport com.pulumi.opentelekomcloud.LtsHostAccessV3Args;\nimport com.pulumi.opentelekomcloud.inputs.LtsHostAccessV3AccessConfigArgs;\nimport com.pulumi.opentelekomcloud.inputs.LtsHostAccessV3AccessConfigSingleLogFormatArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var groupId = config.get(\"groupId\");\n        final var streamId = config.get(\"streamId\");\n        final var hostGroupId = config.get(\"hostGroupId\");\n        var acc = new LtsHostAccessV3(\"acc\", LtsHostAccessV3Args.builder()\n            .name(\"access-demo\")\n            .logGroupId(groupId)\n            .logStreamId(streamId)\n            .hostGroupIds(hostGroupId)\n            .accessConfig(LtsHostAccessV3AccessConfigArgs.builder()\n                .paths(\"/var/log/*\")\n                .blackPaths(\"/var/log/*/a.log\")\n                .singleLogFormat(LtsHostAccessV3AccessConfigSingleLogFormatArgs.builder()\n                    .mode(\"system\")\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  groupId:\n    type: dynamic\n  streamId:\n    type: dynamic\n  hostGroupId:\n    type: dynamic\nresources:\n  acc:\n    type: opentelekomcloud:LtsHostAccessV3\n    properties:\n      name: access-demo\n      logGroupId: ${groupId}\n      logStreamId: ${streamId}\n      hostGroupIds:\n        - ${hostGroupId}\n      accessConfig:\n        paths:\n          - /var/log/*\n        blackPaths:\n          - /var/log/*/a.log\n        singleLogFormat:\n          mode: system\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe host access can be imported using the `id`, e.g.\n\nbash\n\n```sh\n$ pulumi import opentelekomcloud:index/ltsHostAccessV3:LtsHostAccessV3 test \u003cid\u003e\n```\n\n","properties":{"accessConfig":{"$ref":"#/types/opentelekomcloud:index%2FLtsHostAccessV3AccessConfig:LtsHostAccessV3AccessConfig","description":"Specifies the configurations of host access.\nThe\u003cspan pulumi-lang-nodejs=\" accessConfig \" pulumi-lang-dotnet=\" AccessConfig \" pulumi-lang-go=\" accessConfig \" pulumi-lang-python=\" access_config \" pulumi-lang-yaml=\" accessConfig \" pulumi-lang-java=\" accessConfig \"\u003e access_config \u003c/span\u003estructure is documented below.\n"},"accessType":{"type":"string","description":"The log access type.\n"},"binaryCollect":{"type":"boolean","description":"Specifies whether collect in binary format. Default is **false**.\n"},"createdAt":{"type":"string","description":"The creation time of the Host access, in RFC3339 format.\n"},"hostGroupIds":{"type":"array","items":{"type":"string"},"description":"Specifies the log access host group ID list.\n"},"logGroupId":{"type":"string","description":"Specifies the log group ID.\nChanging this parameter will create a new resource.\n"},"logGroupName":{"type":"string","description":"The log group name.\n"},"logSplit":{"type":"boolean","description":"Specifies whether to split log. Default is false.\n\n\u003ca name=\"HostAccessConfigSingleLogFormat\"\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`singleLogFormat`\" pulumi-lang-dotnet=\"`SingleLogFormat`\" pulumi-lang-go=\"`singleLogFormat`\" pulumi-lang-python=\"`single_log_format`\" pulumi-lang-yaml=\"`singleLogFormat`\" pulumi-lang-java=\"`singleLogFormat`\"\u003e`single_log_format`\u003c/span\u003e blocks supports:\n"},"logStreamId":{"type":"string","description":"Specifies the log stream ID.\nChanging this parameter will create a new resource.\n"},"logStreamName":{"type":"string","description":"The log stream name.\n"},"ltsHostAccessV3Id":{"type":"string","description":"The ID of the host access.\n"},"name":{"type":"string","description":"Specifies the host access name. The name consists of \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e characters.\nOnly letters, digits, underscores (_), and periods (.) are allowed, and the period cannot be the first or last character.\nChanging this parameter will create a new resource.\n"},"region":{"type":"string","description":"Shows the region in the host access resource created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the key/value to attach to the host access.\n\n\u003ca name=\"HostAccessConfigDetail\"\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`accessConfig`\" pulumi-lang-dotnet=\"`AccessConfig`\" pulumi-lang-go=\"`accessConfig`\" pulumi-lang-python=\"`access_config`\" pulumi-lang-yaml=\"`accessConfig`\" pulumi-lang-java=\"`accessConfig`\"\u003e`access_config`\u003c/span\u003e block supports:\n"}},"type":"object","required":["accessConfig","accessType","binaryCollect","createdAt","hostGroupIds","logGroupId","logGroupName","logSplit","logStreamId","logStreamName","ltsHostAccessV3Id","name","region"],"inputProperties":{"accessConfig":{"$ref":"#/types/opentelekomcloud:index%2FLtsHostAccessV3AccessConfig:LtsHostAccessV3AccessConfig","description":"Specifies the configurations of host access.\nThe\u003cspan pulumi-lang-nodejs=\" accessConfig \" pulumi-lang-dotnet=\" AccessConfig \" pulumi-lang-go=\" accessConfig \" pulumi-lang-python=\" access_config \" pulumi-lang-yaml=\" accessConfig \" pulumi-lang-java=\" accessConfig \"\u003e access_config \u003c/span\u003estructure is documented below.\n"},"binaryCollect":{"type":"boolean","description":"Specifies whether collect in binary format. Default is **false**.\n"},"hostGroupIds":{"type":"array","items":{"type":"string"},"description":"Specifies the log access host group ID list.\n"},"logGroupId":{"type":"string","description":"Specifies the log group ID.\nChanging this parameter will create a new resource.\n"},"logSplit":{"type":"boolean","description":"Specifies whether to split log. Default is false.\n\n\u003ca name=\"HostAccessConfigSingleLogFormat\"\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`singleLogFormat`\" pulumi-lang-dotnet=\"`SingleLogFormat`\" pulumi-lang-go=\"`singleLogFormat`\" pulumi-lang-python=\"`single_log_format`\" pulumi-lang-yaml=\"`singleLogFormat`\" pulumi-lang-java=\"`singleLogFormat`\"\u003e`single_log_format`\u003c/span\u003e blocks supports:\n"},"logStreamId":{"type":"string","description":"Specifies the log stream ID.\nChanging this parameter will create a new resource.\n"},"ltsHostAccessV3Id":{"type":"string","description":"The ID of the host access.\n"},"name":{"type":"string","description":"Specifies the host access name. The name consists of \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e characters.\nOnly letters, digits, underscores (_), and periods (.) are allowed, and the period cannot be the first or last character.\nChanging this parameter will create a new resource.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the key/value to attach to the host access.\n\n\u003ca name=\"HostAccessConfigDetail\"\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`accessConfig`\" pulumi-lang-dotnet=\"`AccessConfig`\" pulumi-lang-go=\"`accessConfig`\" pulumi-lang-python=\"`access_config`\" pulumi-lang-yaml=\"`accessConfig`\" pulumi-lang-java=\"`accessConfig`\"\u003e`access_config`\u003c/span\u003e block supports:\n"}},"requiredInputs":["accessConfig","logGroupId","logStreamId"],"stateInputs":{"description":"Input properties used for looking up and filtering LtsHostAccessV3 resources.\n","properties":{"accessConfig":{"$ref":"#/types/opentelekomcloud:index%2FLtsHostAccessV3AccessConfig:LtsHostAccessV3AccessConfig","description":"Specifies the configurations of host access.\nThe\u003cspan pulumi-lang-nodejs=\" accessConfig \" pulumi-lang-dotnet=\" AccessConfig \" pulumi-lang-go=\" accessConfig \" pulumi-lang-python=\" access_config \" pulumi-lang-yaml=\" accessConfig \" pulumi-lang-java=\" accessConfig \"\u003e access_config \u003c/span\u003estructure is documented below.\n"},"accessType":{"type":"string","description":"The log access type.\n"},"binaryCollect":{"type":"boolean","description":"Specifies whether collect in binary format. Default is **false**.\n"},"createdAt":{"type":"string","description":"The creation time of the Host access, in RFC3339 format.\n"},"hostGroupIds":{"type":"array","items":{"type":"string"},"description":"Specifies the log access host group ID list.\n"},"logGroupId":{"type":"string","description":"Specifies the log group ID.\nChanging this parameter will create a new resource.\n"},"logGroupName":{"type":"string","description":"The log group name.\n"},"logSplit":{"type":"boolean","description":"Specifies whether to split log. Default is false.\n\n\u003ca name=\"HostAccessConfigSingleLogFormat\"\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`singleLogFormat`\" pulumi-lang-dotnet=\"`SingleLogFormat`\" pulumi-lang-go=\"`singleLogFormat`\" pulumi-lang-python=\"`single_log_format`\" pulumi-lang-yaml=\"`singleLogFormat`\" pulumi-lang-java=\"`singleLogFormat`\"\u003e`single_log_format`\u003c/span\u003e blocks supports:\n"},"logStreamId":{"type":"string","description":"Specifies the log stream ID.\nChanging this parameter will create a new resource.\n"},"logStreamName":{"type":"string","description":"The log stream name.\n"},"ltsHostAccessV3Id":{"type":"string","description":"The ID of the host access.\n"},"name":{"type":"string","description":"Specifies the host access name. The name consists of \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e characters.\nOnly letters, digits, underscores (_), and periods (.) are allowed, and the period cannot be the first or last character.\nChanging this parameter will create a new resource.\n"},"region":{"type":"string","description":"Shows the region in the host access resource created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the key/value to attach to the host access.\n\n\u003ca name=\"HostAccessConfigDetail\"\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`accessConfig`\" pulumi-lang-dotnet=\"`AccessConfig`\" pulumi-lang-go=\"`accessConfig`\" pulumi-lang-python=\"`access_config`\" pulumi-lang-yaml=\"`accessConfig`\" pulumi-lang-java=\"`accessConfig`\"\u003e`access_config`\u003c/span\u003e block supports:\n"}},"type":"object"}},"opentelekomcloud:index/ltsHostGroupV3:LtsHostGroupV3":{"description":"Up-to-date reference of API arguments for LTS host group you can get at\n[documentation portal](https://docs.otc.t-systems.com/log-tank-service/api-ref/apis/host_group_management/index.html)\n\nManages an LTS host group resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst groupName = config.requireObject\u003cany\u003e(\"groupName\");\nconst hostIds = config.requireObject\u003cArray\u003cstring\u003e\u003e(\"hostIds\");\nconst test = new opentelekomcloud.LtsHostGroupV3(\"test\", {\n    name: groupName,\n    type: \"linux\",\n    hostIds: hostIds,\n    tags: {\n        foo: \"bar\",\n        key: \"value\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ngroup_name = config.require_object(\"groupName\")\nhost_ids = config.require_object(\"hostIds\")\ntest = opentelekomcloud.LtsHostGroupV3(\"test\",\n    name=group_name,\n    type=\"linux\",\n    host_ids=host_ids,\n    tags={\n        \"foo\": \"bar\",\n        \"key\": \"value\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var groupName = config.RequireObject\u003cdynamic\u003e(\"groupName\");\n    var hostIds = config.RequireObject\u003cstring[]\u003e(\"hostIds\");\n    var test = new Opentelekomcloud.LtsHostGroupV3(\"test\", new()\n    {\n        Name = groupName,\n        Type = \"linux\",\n        HostIds = hostIds,\n        Tags = \n        {\n            { \"foo\", \"bar\" },\n            { \"key\", \"value\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tgroupName := cfg.RequireObject(\"groupName\")\n\t\thostIds := cfg.Require(\"hostIds\")\n\t\t_, err := opentelekomcloud.NewLtsHostGroupV3(ctx, \"test\", \u0026opentelekomcloud.LtsHostGroupV3Args{\n\t\t\tName:    pulumi.Any(groupName),\n\t\t\tType:    pulumi.String(\"linux\"),\n\t\t\tHostIds: hostIds,\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t\t\"key\": pulumi.String(\"value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.LtsHostGroupV3;\nimport com.pulumi.opentelekomcloud.LtsHostGroupV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var groupName = config.get(\"groupName\");\n        final var hostIds = config.get(\"hostIds\");\n        var test = new LtsHostGroupV3(\"test\", LtsHostGroupV3Args.builder()\n            .name(groupName)\n            .type(\"linux\")\n            .hostIds(hostIds)\n            .tags(Map.ofEntries(\n                Map.entry(\"foo\", \"bar\"),\n                Map.entry(\"key\", \"value\")\n            ))\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  groupName:\n    type: dynamic\n  hostIds:\n    type: list(string)\nresources:\n  test:\n    type: opentelekomcloud:LtsHostGroupV3\n    properties:\n      name: ${groupName}\n      type: linux\n      hostIds: ${hostIds}\n      tags:\n        foo: bar\n        key: value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe host group can be imported using the `id`, e.g.\n\nbash\n\n```sh\n$ pulumi import opentelekomcloud:index/ltsHostGroupV3:LtsHostGroupV3 test \u003cid\u003e\n```\n\n","properties":{"agentAccessType":{"type":"string","description":"Specifies the type of the host group.\nThe default value is `IP`.\nThe valid values are as follows:\n+ `IP`\n+ `LABEL`\n"},"createdAt":{"type":"string","description":"The creation time.\n"},"hostIds":{"type":"array","items":{"type":"string"},"description":"Specifies the ID list of hosts to join the host group.\n"},"labels":{"type":"array","items":{"type":"string"},"description":"Specifies the custom label list of the host group.\nThis parameter is required when \u003cspan pulumi-lang-nodejs=\"`agentAccessType`\" pulumi-lang-dotnet=\"`AgentAccessType`\" pulumi-lang-go=\"`agentAccessType`\" pulumi-lang-python=\"`agent_access_type`\" pulumi-lang-yaml=\"`agentAccessType`\" pulumi-lang-java=\"`agentAccessType`\"\u003e`agent_access_type`\u003c/span\u003e is set to **LABEL**.\n\n\u003e Currently, a maximum of \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e labels can be created.\n"},"ltsHostGroupV3Id":{"type":"string","description":"The resource ID.\n"},"name":{"type":"string","description":"Specifies the name of the host group.\n"},"region":{"type":"string","description":"Shows the region in the host group resource created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the key/value to attach to the host group.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FLtsHostGroupV3Timeouts:LtsHostGroupV3Timeouts"},"type":{"type":"string","description":"Specifies the type of the host.\nThe value can be \u003cspan pulumi-lang-nodejs=\"`linux`\" pulumi-lang-dotnet=\"`Linux`\" pulumi-lang-go=\"`linux`\" pulumi-lang-python=\"`linux`\" pulumi-lang-yaml=\"`linux`\" pulumi-lang-java=\"`linux`\"\u003e`linux`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`windows`\" pulumi-lang-dotnet=\"`Windows`\" pulumi-lang-go=\"`windows`\" pulumi-lang-python=\"`windows`\" pulumi-lang-yaml=\"`windows`\" pulumi-lang-java=\"`windows`\"\u003e`windows`\u003c/span\u003e.\n\nChanging this parameter will create a new resource.\n"},"updatedAt":{"type":"string","description":"The latest update time.\n"}},"type":"object","required":["agentAccessType","createdAt","ltsHostGroupV3Id","name","region","type","updatedAt"],"inputProperties":{"agentAccessType":{"type":"string","description":"Specifies the type of the host group.\nThe default value is `IP`.\nThe valid values are as follows:\n+ `IP`\n+ `LABEL`\n"},"hostIds":{"type":"array","items":{"type":"string"},"description":"Specifies the ID list of hosts to join the host group.\n"},"labels":{"type":"array","items":{"type":"string"},"description":"Specifies the custom label list of the host group.\nThis parameter is required when \u003cspan pulumi-lang-nodejs=\"`agentAccessType`\" pulumi-lang-dotnet=\"`AgentAccessType`\" pulumi-lang-go=\"`agentAccessType`\" pulumi-lang-python=\"`agent_access_type`\" pulumi-lang-yaml=\"`agentAccessType`\" pulumi-lang-java=\"`agentAccessType`\"\u003e`agent_access_type`\u003c/span\u003e is set to **LABEL**.\n\n\u003e Currently, a maximum of \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e labels can be created.\n"},"ltsHostGroupV3Id":{"type":"string","description":"The resource ID.\n"},"name":{"type":"string","description":"Specifies the name of the host group.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the key/value to attach to the host group.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FLtsHostGroupV3Timeouts:LtsHostGroupV3Timeouts"},"type":{"type":"string","description":"Specifies the type of the host.\nThe value can be \u003cspan pulumi-lang-nodejs=\"`linux`\" pulumi-lang-dotnet=\"`Linux`\" pulumi-lang-go=\"`linux`\" pulumi-lang-python=\"`linux`\" pulumi-lang-yaml=\"`linux`\" pulumi-lang-java=\"`linux`\"\u003e`linux`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`windows`\" pulumi-lang-dotnet=\"`Windows`\" pulumi-lang-go=\"`windows`\" pulumi-lang-python=\"`windows`\" pulumi-lang-yaml=\"`windows`\" pulumi-lang-java=\"`windows`\"\u003e`windows`\u003c/span\u003e.\n\nChanging this parameter will create a new resource.\n"}},"requiredInputs":["type"],"stateInputs":{"description":"Input properties used for looking up and filtering LtsHostGroupV3 resources.\n","properties":{"agentAccessType":{"type":"string","description":"Specifies the type of the host group.\nThe default value is `IP`.\nThe valid values are as follows:\n+ `IP`\n+ `LABEL`\n"},"createdAt":{"type":"string","description":"The creation time.\n"},"hostIds":{"type":"array","items":{"type":"string"},"description":"Specifies the ID list of hosts to join the host group.\n"},"labels":{"type":"array","items":{"type":"string"},"description":"Specifies the custom label list of the host group.\nThis parameter is required when \u003cspan pulumi-lang-nodejs=\"`agentAccessType`\" pulumi-lang-dotnet=\"`AgentAccessType`\" pulumi-lang-go=\"`agentAccessType`\" pulumi-lang-python=\"`agent_access_type`\" pulumi-lang-yaml=\"`agentAccessType`\" pulumi-lang-java=\"`agentAccessType`\"\u003e`agent_access_type`\u003c/span\u003e is set to **LABEL**.\n\n\u003e Currently, a maximum of \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e labels can be created.\n"},"ltsHostGroupV3Id":{"type":"string","description":"The resource ID.\n"},"name":{"type":"string","description":"Specifies the name of the host group.\n"},"region":{"type":"string","description":"Shows the region in the host group resource created.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the key/value to attach to the host group.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FLtsHostGroupV3Timeouts:LtsHostGroupV3Timeouts"},"type":{"type":"string","description":"Specifies the type of the host.\nThe value can be \u003cspan pulumi-lang-nodejs=\"`linux`\" pulumi-lang-dotnet=\"`Linux`\" pulumi-lang-go=\"`linux`\" pulumi-lang-python=\"`linux`\" pulumi-lang-yaml=\"`linux`\" pulumi-lang-java=\"`linux`\"\u003e`linux`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`windows`\" pulumi-lang-dotnet=\"`Windows`\" pulumi-lang-go=\"`windows`\" pulumi-lang-python=\"`windows`\" pulumi-lang-yaml=\"`windows`\" pulumi-lang-java=\"`windows`\"\u003e`windows`\u003c/span\u003e.\n\nChanging this parameter will create a new resource.\n"},"updatedAt":{"type":"string","description":"The latest update time.\n"}},"type":"object"}},"opentelekomcloud:index/ltsKeywordsAlarmRuleV2:LtsKeywordsAlarmRuleV2":{"description":"Up-to-date reference of API arguments for LTS log group you can get at\n[documentation portal](https://docs.otc.t-systems.com/log-tank-service/api-ref/apis/keyword_alarm_rules/index.html)\n\n\nManages an LTS keywords alarm rule resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst logGroupId = config.requireObject\u003cany\u003e(\"logGroupId\");\nconst logStreamId = config.requireObject\u003cany\u003e(\"logStreamId\");\nconst topicName = config.requireObject\u003cany\u003e(\"topicName\");\nconst topicUrn = config.requireObject\u003cany\u003e(\"topicUrn\");\nconst test = new opentelekomcloud.LtsKeywordsAlarmRuleV2(\"test\", {\n    name: \"name\",\n    description: \"created by terraform\",\n    severity: \"CRITICAL\",\n    notificationFrequency: 5,\n    keywordsRequests: [{\n        keyword: \"key_words\",\n        condition: \"\u003e\",\n        number: 100,\n        logGroupId: logGroupId,\n        logStreamId: logStreamId,\n        searchTimeRangeUnit: \"minute\",\n        searchTimeRange: 5,\n    }],\n    frequency: {\n        type: \"HOURLY\",\n    },\n    notificationRule: {\n        language: \"en-us\",\n        timezone: \"xx/xx\",\n        userName: \"test\",\n        topics: [{\n            name: topicName,\n            topicUrn: topicUrn,\n        }],\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nlog_group_id = config.require_object(\"logGroupId\")\nlog_stream_id = config.require_object(\"logStreamId\")\ntopic_name = config.require_object(\"topicName\")\ntopic_urn = config.require_object(\"topicUrn\")\ntest = opentelekomcloud.LtsKeywordsAlarmRuleV2(\"test\",\n    name=\"name\",\n    description=\"created by terraform\",\n    severity=\"CRITICAL\",\n    notification_frequency=5,\n    keywords_requests=[{\n        \"keyword\": \"key_words\",\n        \"condition\": \"\u003e\",\n        \"number\": 100,\n        \"log_group_id\": log_group_id,\n        \"log_stream_id\": log_stream_id,\n        \"search_time_range_unit\": \"minute\",\n        \"search_time_range\": 5,\n    }],\n    frequency={\n        \"type\": \"HOURLY\",\n    },\n    notification_rule={\n        \"language\": \"en-us\",\n        \"timezone\": \"xx/xx\",\n        \"user_name\": \"test\",\n        \"topics\": [{\n            \"name\": topic_name,\n            \"topic_urn\": topic_urn,\n        }],\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var logGroupId = config.RequireObject\u003cdynamic\u003e(\"logGroupId\");\n    var logStreamId = config.RequireObject\u003cdynamic\u003e(\"logStreamId\");\n    var topicName = config.RequireObject\u003cdynamic\u003e(\"topicName\");\n    var topicUrn = config.RequireObject\u003cdynamic\u003e(\"topicUrn\");\n    var test = new Opentelekomcloud.LtsKeywordsAlarmRuleV2(\"test\", new()\n    {\n        Name = \"name\",\n        Description = \"created by terraform\",\n        Severity = \"CRITICAL\",\n        NotificationFrequency = 5,\n        KeywordsRequests = new[]\n        {\n            new Opentelekomcloud.Inputs.LtsKeywordsAlarmRuleV2KeywordsRequestArgs\n            {\n                Keyword = \"key_words\",\n                Condition = \"\u003e\",\n                Number = 100,\n                LogGroupId = logGroupId,\n                LogStreamId = logStreamId,\n                SearchTimeRangeUnit = \"minute\",\n                SearchTimeRange = 5,\n            },\n        },\n        Frequency = new Opentelekomcloud.Inputs.LtsKeywordsAlarmRuleV2FrequencyArgs\n        {\n            Type = \"HOURLY\",\n        },\n        NotificationRule = new Opentelekomcloud.Inputs.LtsKeywordsAlarmRuleV2NotificationRuleArgs\n        {\n            Language = \"en-us\",\n            Timezone = \"xx/xx\",\n            UserName = \"test\",\n            Topics = new[]\n            {\n                new Opentelekomcloud.Inputs.LtsKeywordsAlarmRuleV2NotificationRuleTopicArgs\n                {\n                    Name = topicName,\n                    TopicUrn = topicUrn,\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tlogGroupId := cfg.RequireObject(\"logGroupId\")\n\t\tlogStreamId := cfg.RequireObject(\"logStreamId\")\n\t\ttopicName := cfg.RequireObject(\"topicName\")\n\t\ttopicUrn := cfg.RequireObject(\"topicUrn\")\n\t\t_, err := opentelekomcloud.NewLtsKeywordsAlarmRuleV2(ctx, \"test\", \u0026opentelekomcloud.LtsKeywordsAlarmRuleV2Args{\n\t\t\tName:                  pulumi.String(\"name\"),\n\t\t\tDescription:           pulumi.String(\"created by terraform\"),\n\t\t\tSeverity:              pulumi.String(\"CRITICAL\"),\n\t\t\tNotificationFrequency: pulumi.Float64(5),\n\t\t\tKeywordsRequests: opentelekomcloud.LtsKeywordsAlarmRuleV2KeywordsRequestArray{\n\t\t\t\t\u0026opentelekomcloud.LtsKeywordsAlarmRuleV2KeywordsRequestArgs{\n\t\t\t\t\tKeyword:             pulumi.String(\"key_words\"),\n\t\t\t\t\tCondition:           pulumi.String(\"\u003e\"),\n\t\t\t\t\tNumber:              pulumi.Float64(100),\n\t\t\t\t\tLogGroupId:          pulumi.Any(logGroupId),\n\t\t\t\t\tLogStreamId:         pulumi.Any(logStreamId),\n\t\t\t\t\tSearchTimeRangeUnit: pulumi.String(\"minute\"),\n\t\t\t\t\tSearchTimeRange:     pulumi.Float64(5),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFrequency: \u0026opentelekomcloud.LtsKeywordsAlarmRuleV2FrequencyArgs{\n\t\t\t\tType: pulumi.String(\"HOURLY\"),\n\t\t\t},\n\t\t\tNotificationRule: \u0026opentelekomcloud.LtsKeywordsAlarmRuleV2NotificationRuleArgs{\n\t\t\t\tLanguage: pulumi.String(\"en-us\"),\n\t\t\t\tTimezone: pulumi.String(\"xx/xx\"),\n\t\t\t\tUserName: pulumi.String(\"test\"),\n\t\t\t\tTopics: opentelekomcloud.LtsKeywordsAlarmRuleV2NotificationRuleTopicArray{\n\t\t\t\t\t\u0026opentelekomcloud.LtsKeywordsAlarmRuleV2NotificationRuleTopicArgs{\n\t\t\t\t\t\tName:     pulumi.Any(topicName),\n\t\t\t\t\t\tTopicUrn: pulumi.Any(topicUrn),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.LtsKeywordsAlarmRuleV2;\nimport com.pulumi.opentelekomcloud.LtsKeywordsAlarmRuleV2Args;\nimport com.pulumi.opentelekomcloud.inputs.LtsKeywordsAlarmRuleV2KeywordsRequestArgs;\nimport com.pulumi.opentelekomcloud.inputs.LtsKeywordsAlarmRuleV2FrequencyArgs;\nimport com.pulumi.opentelekomcloud.inputs.LtsKeywordsAlarmRuleV2NotificationRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var logGroupId = config.get(\"logGroupId\");\n        final var logStreamId = config.get(\"logStreamId\");\n        final var topicName = config.get(\"topicName\");\n        final var topicUrn = config.get(\"topicUrn\");\n        var test = new LtsKeywordsAlarmRuleV2(\"test\", LtsKeywordsAlarmRuleV2Args.builder()\n            .name(\"name\")\n            .description(\"created by terraform\")\n            .severity(\"CRITICAL\")\n            .notificationFrequency(5.0)\n            .keywordsRequests(LtsKeywordsAlarmRuleV2KeywordsRequestArgs.builder()\n                .keyword(\"key_words\")\n                .condition(\"\u003e\")\n                .number(100.0)\n                .logGroupId(logGroupId)\n                .logStreamId(logStreamId)\n                .searchTimeRangeUnit(\"minute\")\n                .searchTimeRange(5.0)\n                .build())\n            .frequency(LtsKeywordsAlarmRuleV2FrequencyArgs.builder()\n                .type(\"HOURLY\")\n                .build())\n            .notificationRule(LtsKeywordsAlarmRuleV2NotificationRuleArgs.builder()\n                .language(\"en-us\")\n                .timezone(\"xx/xx\")\n                .userName(\"test\")\n                .topics(LtsKeywordsAlarmRuleV2NotificationRuleTopicArgs.builder()\n                    .name(topicName)\n                    .topicUrn(topicUrn)\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  logGroupId:\n    type: dynamic\n  logStreamId:\n    type: dynamic\n  topicName:\n    type: dynamic\n  topicUrn:\n    type: dynamic\nresources:\n  test:\n    type: opentelekomcloud:LtsKeywordsAlarmRuleV2\n    properties:\n      name: name\n      description: created by terraform\n      severity: CRITICAL\n      notificationFrequency: 5\n      keywordsRequests:\n        - keyword: key_words\n          condition: '\u003e'\n          number: 100\n          logGroupId: ${logGroupId}\n          logStreamId: ${logStreamId}\n          searchTimeRangeUnit: minute\n          searchTimeRange: 5\n      frequency:\n        type: HOURLY\n      notificationRule:\n        language: en-us\n        timezone: xx/xx\n        userName: test\n        topics:\n          - name: ${topicName}\n            topicUrn: ${topicUrn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe keywords alarm rule can be imported using the `id`, e.g.\n\nbash\n\n```sh\n$ pulumi import opentelekomcloud:index/ltsKeywordsAlarmRuleV2:LtsKeywordsAlarmRuleV2 test \u003cid\u003e\n```\n\nNote that the imported state may not be identical to your resource definition, due to some attributes missing from the\n\nAPI response. The missing attributes include: `notification_rule`.\n\nhcl\n\nresource \"opentelekomcloud_lts_keywords_alarm_rule_v2\" \"test\" {\n\n  lifecycle {\n\n    ignore_changes = [\n\n      notification_rule,\n\n    ]\n\n  }\n\n}\n\n","properties":{"alarmActionRuleName":{"type":"string"},"createdAt":{"type":"string","description":"The creation time of the alarm rule.\n"},"description":{"type":"string","description":"Specifies the description of the keywords alarm rule.\n"},"domainId":{"type":"string","description":"The domain ID.\n"},"frequency":{"$ref":"#/types/opentelekomcloud:index%2FLtsKeywordsAlarmRuleV2Frequency:LtsKeywordsAlarmRuleV2Frequency","description":"Specifies the alarm frequency configurations.\nThe Frequency structure is documented below.\n"},"keywordsRequests":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FLtsKeywordsAlarmRuleV2KeywordsRequest:LtsKeywordsAlarmRuleV2KeywordsRequest"},"description":"Specifies the keywords requests.\nThe KeywordsRequests structure is documented below.\n"},"ltsKeywordsAlarmRuleV2Id":{"type":"string","description":"The resource ID.\n"},"name":{"type":"string","description":"Specifies the topic name.\nChanging this parameter will create a new resource.\n"},"notificationFrequency":{"type":"number","description":"Specifies notification frequency, in minutes.\n"},"notificationRule":{"$ref":"#/types/opentelekomcloud:index%2FLtsKeywordsAlarmRuleV2NotificationRule:LtsKeywordsAlarmRuleV2NotificationRule","description":"Specifies the notification rule.\nThe NotificationRule structure is documented below.\n"},"recoveryPolicy":{"type":"number"},"region":{"type":"string","description":"Shows the region in the rule resource created.\n"},"sendNotifications":{"type":"boolean","description":"Specifies whether to send notifications.\n"},"sendRecoveryNotifications":{"type":"boolean","description":"Specifies whether to send recovery notifications.\n"},"severity":{"type":"string","description":"Specifies the alarm level.\nThe value can be: **INFO**, **MINOR**, **MAJOR** and **CRITICAL**.\n"},"status":{"type":"string","description":"Status of the rule.\n"},"triggerConditionCount":{"type":"number","description":"Specifies the count to trigger the alarm.\nDefaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"triggerConditionFrequency":{"type":"number","description":"Specifies the frequency to trigger the alarm.\nDefaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"updatedAt":{"type":"string","description":"The last update time of the alarm rule.\n"}},"type":"object","required":["createdAt","domainId","frequency","keywordsRequests","ltsKeywordsAlarmRuleV2Id","name","notificationFrequency","recoveryPolicy","region","sendNotifications","sendRecoveryNotifications","severity","status","triggerConditionCount","triggerConditionFrequency","updatedAt"],"inputProperties":{"alarmActionRuleName":{"type":"string"},"description":{"type":"string","description":"Specifies the description of the keywords alarm rule.\n"},"frequency":{"$ref":"#/types/opentelekomcloud:index%2FLtsKeywordsAlarmRuleV2Frequency:LtsKeywordsAlarmRuleV2Frequency","description":"Specifies the alarm frequency configurations.\nThe Frequency structure is documented below.\n"},"keywordsRequests":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FLtsKeywordsAlarmRuleV2KeywordsRequest:LtsKeywordsAlarmRuleV2KeywordsRequest"},"description":"Specifies the keywords requests.\nThe KeywordsRequests structure is documented below.\n"},"ltsKeywordsAlarmRuleV2Id":{"type":"string","description":"The resource ID.\n"},"name":{"type":"string","description":"Specifies the topic name.\nChanging this parameter will create a new resource.\n"},"notificationFrequency":{"type":"number","description":"Specifies notification frequency, in minutes.\n"},"notificationRule":{"$ref":"#/types/opentelekomcloud:index%2FLtsKeywordsAlarmRuleV2NotificationRule:LtsKeywordsAlarmRuleV2NotificationRule","description":"Specifies the notification rule.\nThe NotificationRule structure is documented below.\n"},"recoveryPolicy":{"type":"number"},"sendNotifications":{"type":"boolean","description":"Specifies whether to send notifications.\n"},"sendRecoveryNotifications":{"type":"boolean","description":"Specifies whether to send recovery notifications.\n"},"severity":{"type":"string","description":"Specifies the alarm level.\nThe value can be: **INFO**, **MINOR**, **MAJOR** and **CRITICAL**.\n"},"triggerConditionCount":{"type":"number","description":"Specifies the count to trigger the alarm.\nDefaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"triggerConditionFrequency":{"type":"number","description":"Specifies the frequency to trigger the alarm.\nDefaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"}},"requiredInputs":["frequency","keywordsRequests","notificationFrequency","severity"],"stateInputs":{"description":"Input properties used for looking up and filtering LtsKeywordsAlarmRuleV2 resources.\n","properties":{"alarmActionRuleName":{"type":"string"},"createdAt":{"type":"string","description":"The creation time of the alarm rule.\n"},"description":{"type":"string","description":"Specifies the description of the keywords alarm rule.\n"},"domainId":{"type":"string","description":"The domain ID.\n"},"frequency":{"$ref":"#/types/opentelekomcloud:index%2FLtsKeywordsAlarmRuleV2Frequency:LtsKeywordsAlarmRuleV2Frequency","description":"Specifies the alarm frequency configurations.\nThe Frequency structure is documented below.\n"},"keywordsRequests":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FLtsKeywordsAlarmRuleV2KeywordsRequest:LtsKeywordsAlarmRuleV2KeywordsRequest"},"description":"Specifies the keywords requests.\nThe KeywordsRequests structure is documented below.\n"},"ltsKeywordsAlarmRuleV2Id":{"type":"string","description":"The resource ID.\n"},"name":{"type":"string","description":"Specifies the topic name.\nChanging this parameter will create a new resource.\n"},"notificationFrequency":{"type":"number","description":"Specifies notification frequency, in minutes.\n"},"notificationRule":{"$ref":"#/types/opentelekomcloud:index%2FLtsKeywordsAlarmRuleV2NotificationRule:LtsKeywordsAlarmRuleV2NotificationRule","description":"Specifies the notification rule.\nThe NotificationRule structure is documented below.\n"},"recoveryPolicy":{"type":"number"},"region":{"type":"string","description":"Shows the region in the rule resource created.\n"},"sendNotifications":{"type":"boolean","description":"Specifies whether to send notifications.\n"},"sendRecoveryNotifications":{"type":"boolean","description":"Specifies whether to send recovery notifications.\n"},"severity":{"type":"string","description":"Specifies the alarm level.\nThe value can be: **INFO**, **MINOR**, **MAJOR** and **CRITICAL**.\n"},"status":{"type":"string","description":"Status of the rule.\n"},"triggerConditionCount":{"type":"number","description":"Specifies the count to trigger the alarm.\nDefaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"triggerConditionFrequency":{"type":"number","description":"Specifies the frequency to trigger the alarm.\nDefaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"updatedAt":{"type":"string","description":"The last update time of the alarm rule.\n"}},"type":"object"}},"opentelekomcloud:index/ltsNotificationTemplateV2:LtsNotificationTemplateV2":{"description":"Up-to-date reference of API arguments for LTS log group you can get at\n[documentation portal](https://docs.otc.t-systems.com/log-tank-service/api-ref/apis/message_template_management/index.html)\n\nManages an LTS notification template resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nresources:\n  test:\n    type: opentelekomcloud:LtsNotificationTemplateV2\n    properties:\n      name: my_template\n      description: test\n      source: LTS\n      locale: en-us\n      templates:\n        - subType: sms\n          content: |\n            Account:$${domain_name};\n            Alarm Rules:\u003ca href=\\\"$event.annotations.alarm_rule_url\\\"\u003e$${event_name}\u003c/a\u003e;\n            Alarm Status:$event.annotations.alarm_status;\n            Severity:\u003cspan style=\\\"color: red\\\"\u003e$${event_severity}\u003c/span\u003e;\n            Occurred:$${starts_at};\n            Type:Keywords;\n            Condition Expression:$event.annotations.condition_expression;\n            Current Value:$event.annotations.current_value;\n            Frequency:$event.annotations.frequency;\n            Log Group/Stream Name:$event.annotations.results[0].resource_id;\n            Query Time:$event.annotations.results[0].time;\n            Query URL:\u003ca href=\\\"$event.annotations.results[0].url\\\"\u003edetails\u003c/a\u003e;\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe LTS notification template can be imported using the `id` which equals `name`, e.g.\n\nbash\n\n```sh\n$ pulumi import opentelekomcloud:index/ltsNotificationTemplateV2:LtsNotificationTemplateV2 test \u003cid\u003e\n```\n\n","properties":{"description":{"type":"string","description":"The description of the notification template.\n\n\u003ca name=\"NotificationTemplate\"\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`templates`\" pulumi-lang-dotnet=\"`Templates`\" pulumi-lang-go=\"`templates`\" pulumi-lang-python=\"`templates`\" pulumi-lang-yaml=\"`templates`\" pulumi-lang-java=\"`templates`\"\u003e`templates`\u003c/span\u003e block supports:\n"},"language":{"type":"string"},"ltsNotificationTemplateV2Id":{"type":"string","description":"The resource ID which equals \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the notification template.\nChanging this parameter will create a new resource.\n"},"region":{"type":"string","description":"Shows the region in the template resource created.\n"},"source":{"type":"string","description":"The source of the notification template.\nCurrently, this parameter is mandatory to `LTS`.\n"},"templates":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FLtsNotificationTemplateV2Template:LtsNotificationTemplateV2Template"},"description":"The list of notification template body.\nThe templates structure is documented below.\n"}},"type":"object","required":["description","language","ltsNotificationTemplateV2Id","name","region","source","templates"],"inputProperties":{"description":{"type":"string","description":"The description of the notification template.\n\n\u003ca name=\"NotificationTemplate\"\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`templates`\" pulumi-lang-dotnet=\"`Templates`\" pulumi-lang-go=\"`templates`\" pulumi-lang-python=\"`templates`\" pulumi-lang-yaml=\"`templates`\" pulumi-lang-java=\"`templates`\"\u003e`templates`\u003c/span\u003e block supports:\n"},"language":{"type":"string"},"ltsNotificationTemplateV2Id":{"type":"string","description":"The resource ID which equals \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the notification template.\nChanging this parameter will create a new resource.\n"},"source":{"type":"string","description":"The source of the notification template.\nCurrently, this parameter is mandatory to `LTS`.\n"},"templates":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FLtsNotificationTemplateV2Template:LtsNotificationTemplateV2Template"},"description":"The list of notification template body.\nThe templates structure is documented below.\n"}},"requiredInputs":["language","source","templates"],"stateInputs":{"description":"Input properties used for looking up and filtering LtsNotificationTemplateV2 resources.\n","properties":{"description":{"type":"string","description":"The description of the notification template.\n\n\u003ca name=\"NotificationTemplate\"\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`templates`\" pulumi-lang-dotnet=\"`Templates`\" pulumi-lang-go=\"`templates`\" pulumi-lang-python=\"`templates`\" pulumi-lang-yaml=\"`templates`\" pulumi-lang-java=\"`templates`\"\u003e`templates`\u003c/span\u003e block supports:\n"},"language":{"type":"string"},"ltsNotificationTemplateV2Id":{"type":"string","description":"The resource ID which equals \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the notification template.\nChanging this parameter will create a new resource.\n"},"region":{"type":"string","description":"Shows the region in the template resource created.\n"},"source":{"type":"string","description":"The source of the notification template.\nCurrently, this parameter is mandatory to `LTS`.\n"},"templates":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FLtsNotificationTemplateV2Template:LtsNotificationTemplateV2Template"},"description":"The list of notification template body.\nThe templates structure is documented below.\n"}},"type":"object"}},"opentelekomcloud:index/ltsQuickSearchCriteriaV1:LtsQuickSearchCriteriaV1":{"description":"Up-to-date reference of API arguments for LTS log group you can get at\n[documentation portal](https://docs.otc.t-systems.com/log-tank-service/api-ref/apis/quick_search/index.html)\n\nManages an LTS quick search criteria resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst logGroupId = config.requireObject\u003cany\u003e(\"logGroupId\");\nconst logStreamId = config.requireObject\u003cany\u003e(\"logStreamId\");\nconst qsc = new opentelekomcloud.LtsQuickSearchCriteriaV1(\"qsc\", {\n    logGroupId: logGroupId,\n    logStreamId: logStreamId,\n    criteria: \"content:test\",\n    name: \"search_criteria_test\",\n    type: \"ORIGINALLOG\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nlog_group_id = config.require_object(\"logGroupId\")\nlog_stream_id = config.require_object(\"logStreamId\")\nqsc = opentelekomcloud.LtsQuickSearchCriteriaV1(\"qsc\",\n    log_group_id=log_group_id,\n    log_stream_id=log_stream_id,\n    criteria=\"content:test\",\n    name=\"search_criteria_test\",\n    type=\"ORIGINALLOG\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var logGroupId = config.RequireObject\u003cdynamic\u003e(\"logGroupId\");\n    var logStreamId = config.RequireObject\u003cdynamic\u003e(\"logStreamId\");\n    var qsc = new Opentelekomcloud.LtsQuickSearchCriteriaV1(\"qsc\", new()\n    {\n        LogGroupId = logGroupId,\n        LogStreamId = logStreamId,\n        Criteria = \"content:test\",\n        Name = \"search_criteria_test\",\n        Type = \"ORIGINALLOG\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tlogGroupId := cfg.RequireObject(\"logGroupId\")\n\t\tlogStreamId := cfg.RequireObject(\"logStreamId\")\n\t\t_, err := opentelekomcloud.NewLtsQuickSearchCriteriaV1(ctx, \"qsc\", \u0026opentelekomcloud.LtsQuickSearchCriteriaV1Args{\n\t\t\tLogGroupId:  pulumi.Any(logGroupId),\n\t\t\tLogStreamId: pulumi.Any(logStreamId),\n\t\t\tCriteria:    pulumi.String(\"content:test\"),\n\t\t\tName:        pulumi.String(\"search_criteria_test\"),\n\t\t\tType:        pulumi.String(\"ORIGINALLOG\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.LtsQuickSearchCriteriaV1;\nimport com.pulumi.opentelekomcloud.LtsQuickSearchCriteriaV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var logGroupId = config.get(\"logGroupId\");\n        final var logStreamId = config.get(\"logStreamId\");\n        var qsc = new LtsQuickSearchCriteriaV1(\"qsc\", LtsQuickSearchCriteriaV1Args.builder()\n            .logGroupId(logGroupId)\n            .logStreamId(logStreamId)\n            .criteria(\"content:test\")\n            .name(\"search_criteria_test\")\n            .type(\"ORIGINALLOG\")\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  logGroupId:\n    type: dynamic\n  logStreamId:\n    type: dynamic\nresources:\n  qsc:\n    type: opentelekomcloud:LtsQuickSearchCriteriaV1\n    properties:\n      logGroupId: ${logGroupId}\n      logStreamId: ${logStreamId}\n      criteria: content:test\n      name: search_criteria_test\n      type: ORIGINALLOG\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe search criteria can be imported using the group ID, stream ID, and resource ID separated by the slashes, e.g.\n\nbash\n\n```sh\n$ pulumi import opentelekomcloud:index/ltsQuickSearchCriteriaV1:LtsQuickSearchCriteriaV1 test \u003clog_group_id\u003e/\u003clog_stream_id\u003e/\u003cid\u003e\n```\n\n","properties":{"criteria":{"type":"string","description":"Specifies the content of search criteria.\n\nChanging this parameter will create a new resource.\n"},"logGroupId":{"type":"string","description":"Specifies the ID of a log group.\n\nChanging this parameter will create a new resource.\n"},"logStreamId":{"type":"string","description":"Specifies the ID of a log stream.\n\nChanging this parameter will create a new resource.\n"},"ltsQuickSearchCriteriaV1Id":{"type":"string","description":"The resource ID.\n"},"name":{"type":"string","description":"Specifies the name of the search criteria. The name can only contain English\nletters, numbers, hyphens, underscores, and periods. It cannot start with a period or underscore\nor end with a period.\n\nChanging this parameter will create a new resource.\n"},"region":{"type":"string","description":"Shows the region in the search criteria resource created.\n"},"type":{"type":"string","description":"Specifies the type of the search criteria. Available types are\n`ORIGINALLOG` (for raw logs).\n\nChanging this parameter will create a new resource.\n"}},"type":"object","required":["criteria","logGroupId","logStreamId","ltsQuickSearchCriteriaV1Id","name","region","type"],"inputProperties":{"criteria":{"type":"string","description":"Specifies the content of search criteria.\n\nChanging this parameter will create a new resource.\n"},"logGroupId":{"type":"string","description":"Specifies the ID of a log group.\n\nChanging this parameter will create a new resource.\n"},"logStreamId":{"type":"string","description":"Specifies the ID of a log stream.\n\nChanging this parameter will create a new resource.\n"},"ltsQuickSearchCriteriaV1Id":{"type":"string","description":"The resource ID.\n"},"name":{"type":"string","description":"Specifies the name of the search criteria. The name can only contain English\nletters, numbers, hyphens, underscores, and periods. It cannot start with a period or underscore\nor end with a period.\n\nChanging this parameter will create a new resource.\n"},"type":{"type":"string","description":"Specifies the type of the search criteria. Available types are\n`ORIGINALLOG` (for raw logs).\n\nChanging this parameter will create a new resource.\n"}},"requiredInputs":["criteria","logGroupId","logStreamId","type"],"stateInputs":{"description":"Input properties used for looking up and filtering LtsQuickSearchCriteriaV1 resources.\n","properties":{"criteria":{"type":"string","description":"Specifies the content of search criteria.\n\nChanging this parameter will create a new resource.\n"},"logGroupId":{"type":"string","description":"Specifies the ID of a log group.\n\nChanging this parameter will create a new resource.\n"},"logStreamId":{"type":"string","description":"Specifies the ID of a log stream.\n\nChanging this parameter will create a new resource.\n"},"ltsQuickSearchCriteriaV1Id":{"type":"string","description":"The resource ID.\n"},"name":{"type":"string","description":"Specifies the name of the search criteria. The name can only contain English\nletters, numbers, hyphens, underscores, and periods. It cannot start with a period or underscore\nor end with a period.\n\nChanging this parameter will create a new resource.\n"},"region":{"type":"string","description":"Shows the region in the search criteria resource created.\n"},"type":{"type":"string","description":"Specifies the type of the search criteria. Available types are\n`ORIGINALLOG` (for raw logs).\n\nChanging this parameter will create a new resource.\n"}},"type":"object"}},"opentelekomcloud:index/ltsStreamV2:LtsStreamV2":{"description":"Up-to-date reference of API arguments for LTS log group you can get at\n[documentation portal](https://docs.otc.t-systems.com/log-tank-service/api-ref/apis/log_stream_management/index.html)\n\nManage a log stream resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst groupId = config.requireObject\u003cany\u003e(\"groupId\");\nconst test = new opentelekomcloud.LtsStreamV2(\"test\", {\n    groupId: groupId,\n    streamName: \"test_stream\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ngroup_id = config.require_object(\"groupId\")\ntest = opentelekomcloud.LtsStreamV2(\"test\",\n    group_id=group_id,\n    stream_name=\"test_stream\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var groupId = config.RequireObject\u003cdynamic\u003e(\"groupId\");\n    var test = new Opentelekomcloud.LtsStreamV2(\"test\", new()\n    {\n        GroupId = groupId,\n        StreamName = \"test_stream\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tgroupId := cfg.RequireObject(\"groupId\")\n\t\t_, err := opentelekomcloud.NewLtsStreamV2(ctx, \"test\", \u0026opentelekomcloud.LtsStreamV2Args{\n\t\t\tGroupId:    pulumi.Any(groupId),\n\t\t\tStreamName: pulumi.String(\"test_stream\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.LtsStreamV2;\nimport com.pulumi.opentelekomcloud.LtsStreamV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var groupId = config.get(\"groupId\");\n        var test = new LtsStreamV2(\"test\", LtsStreamV2Args.builder()\n            .groupId(groupId)\n            .streamName(\"test_stream\")\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  groupId:\n    type: dynamic\nresources:\n  test:\n    type: opentelekomcloud:LtsStreamV2\n    properties:\n      groupId: ${groupId}\n      streamName: test_stream\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe log stream can be imported using the group ID and stream ID separated by a slash, e.g.\n\nbash\n\n```sh\n$ pulumi import opentelekomcloud:index/ltsStreamV2:LtsStreamV2 test \u003cgroup_id\u003e/\u003cid\u003e\n```\n\n","properties":{"createdAt":{"type":"string","description":"The creation time of the log stream.\n"},"enterpriseProjectId":{"type":"string","description":"Shows the enterprise project ID to which the log stream belongs.\n"},"filterCount":{"type":"number","description":"Number of log stream filters.\n"},"groupId":{"type":"string","description":"Specifies the ID of a created log group. Changing this parameter will create\na new resource.\n"},"ltsStreamV2Id":{"type":"string","description":"The log stream ID.\n"},"region":{"type":"string","description":"Shows the region in the log group resource created.\n"},"streamAlias":{"type":"string"},"streamName":{"type":"string","description":"Specifies the log stream name. Changing this parameter will create a new\nresource.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the key/value pairs of the log stream.\n"},"ttlInDays":{"type":"number","description":"Specifies the log expiration time (days).\nThe valid value is a non-zero integer from `-1` to \u003cspan pulumi-lang-nodejs=\"`365`\" pulumi-lang-dotnet=\"`365`\" pulumi-lang-go=\"`365`\" pulumi-lang-python=\"`365`\" pulumi-lang-yaml=\"`365`\" pulumi-lang-java=\"`365`\"\u003e`365`\u003c/span\u003e, defaults to `-1` which means inherit the log group settings.\n"}},"type":"object","required":["createdAt","enterpriseProjectId","filterCount","groupId","ltsStreamV2Id","region","streamName","ttlInDays"],"inputProperties":{"groupId":{"type":"string","description":"Specifies the ID of a created log group. Changing this parameter will create\na new resource.\n"},"ltsStreamV2Id":{"type":"string","description":"The log stream ID.\n"},"streamAlias":{"type":"string"},"streamName":{"type":"string","description":"Specifies the log stream name. Changing this parameter will create a new\nresource.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the key/value pairs of the log stream.\n"},"ttlInDays":{"type":"number","description":"Specifies the log expiration time (days).\nThe valid value is a non-zero integer from `-1` to \u003cspan pulumi-lang-nodejs=\"`365`\" pulumi-lang-dotnet=\"`365`\" pulumi-lang-go=\"`365`\" pulumi-lang-python=\"`365`\" pulumi-lang-yaml=\"`365`\" pulumi-lang-java=\"`365`\"\u003e`365`\u003c/span\u003e, defaults to `-1` which means inherit the log group settings.\n"}},"requiredInputs":["groupId","streamName"],"stateInputs":{"description":"Input properties used for looking up and filtering LtsStreamV2 resources.\n","properties":{"createdAt":{"type":"string","description":"The creation time of the log stream.\n"},"enterpriseProjectId":{"type":"string","description":"Shows the enterprise project ID to which the log stream belongs.\n"},"filterCount":{"type":"number","description":"Number of log stream filters.\n"},"groupId":{"type":"string","description":"Specifies the ID of a created log group. Changing this parameter will create\na new resource.\n"},"ltsStreamV2Id":{"type":"string","description":"The log stream ID.\n"},"region":{"type":"string","description":"Shows the region in the log group resource created.\n"},"streamAlias":{"type":"string"},"streamName":{"type":"string","description":"Specifies the log stream name. Changing this parameter will create a new\nresource.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the key/value pairs of the log stream.\n"},"ttlInDays":{"type":"number","description":"Specifies the log expiration time (days).\nThe valid value is a non-zero integer from `-1` to \u003cspan pulumi-lang-nodejs=\"`365`\" pulumi-lang-dotnet=\"`365`\" pulumi-lang-go=\"`365`\" pulumi-lang-python=\"`365`\" pulumi-lang-yaml=\"`365`\" pulumi-lang-java=\"`365`\"\u003e`365`\u003c/span\u003e, defaults to `-1` which means inherit the log group settings.\n"}},"type":"object"}},"opentelekomcloud:index/ltsTransferV2:LtsTransferV2":{"description":"Up-to-date reference of API arguments for LTS log transfer you can get at\n[documentation portal](https://docs.otc.t-systems.com/log-tank-service/api-ref/apis/log_transfer/index.html)\n\nManages an LTS transfer task resource within OpenTelekomCloud.\n\n## Example Usage\n\n### Create an OBS transfer task\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst ltsGroupId = config.requireObject\u003cany\u003e(\"ltsGroupId\");\nconst ltsStreamId = config.requireObject\u003cany\u003e(\"ltsStreamId\");\nconst obsBuket = config.requireObject\u003cany\u003e(\"obsBuket\");\nconst test = new opentelekomcloud.LtsTransferV2(\"test\", {\n    logGroupId: ltsGroupId,\n    logStreams: [{\n        logStreamId: ltsStreamId,\n    }],\n    logTransferInfo: {\n        logTransferType: \"OBS\",\n        logTransferMode: \"cycle\",\n        logStorageFormat: \"RAW\",\n        logTransferStatus: \"ENABLE\",\n        logTransferDetail: {\n            obsPeriod: 3,\n            obsPeriodUnit: \"hour\",\n            obsBucketName: obsBuket,\n            obsDirPrefixName: \"dir_prefix_\",\n            obsPrefixName: \"prefix_\",\n            obsTimeZone: \"UTC\",\n            obsTimeZoneId: \"Etc/GMT\",\n        },\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nlts_group_id = config.require_object(\"ltsGroupId\")\nlts_stream_id = config.require_object(\"ltsStreamId\")\nobs_buket = config.require_object(\"obsBuket\")\ntest = opentelekomcloud.LtsTransferV2(\"test\",\n    log_group_id=lts_group_id,\n    log_streams=[{\n        \"log_stream_id\": lts_stream_id,\n    }],\n    log_transfer_info={\n        \"log_transfer_type\": \"OBS\",\n        \"log_transfer_mode\": \"cycle\",\n        \"log_storage_format\": \"RAW\",\n        \"log_transfer_status\": \"ENABLE\",\n        \"log_transfer_detail\": {\n            \"obs_period\": 3,\n            \"obs_period_unit\": \"hour\",\n            \"obs_bucket_name\": obs_buket,\n            \"obs_dir_prefix_name\": \"dir_prefix_\",\n            \"obs_prefix_name\": \"prefix_\",\n            \"obs_time_zone\": \"UTC\",\n            \"obs_time_zone_id\": \"Etc/GMT\",\n        },\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var ltsGroupId = config.RequireObject\u003cdynamic\u003e(\"ltsGroupId\");\n    var ltsStreamId = config.RequireObject\u003cdynamic\u003e(\"ltsStreamId\");\n    var obsBuket = config.RequireObject\u003cdynamic\u003e(\"obsBuket\");\n    var test = new Opentelekomcloud.LtsTransferV2(\"test\", new()\n    {\n        LogGroupId = ltsGroupId,\n        LogStreams = new[]\n        {\n            new Opentelekomcloud.Inputs.LtsTransferV2LogStreamArgs\n            {\n                LogStreamId = ltsStreamId,\n            },\n        },\n        LogTransferInfo = new Opentelekomcloud.Inputs.LtsTransferV2LogTransferInfoArgs\n        {\n            LogTransferType = \"OBS\",\n            LogTransferMode = \"cycle\",\n            LogStorageFormat = \"RAW\",\n            LogTransferStatus = \"ENABLE\",\n            LogTransferDetail = new Opentelekomcloud.Inputs.LtsTransferV2LogTransferInfoLogTransferDetailArgs\n            {\n                ObsPeriod = 3,\n                ObsPeriodUnit = \"hour\",\n                ObsBucketName = obsBuket,\n                ObsDirPrefixName = \"dir_prefix_\",\n                ObsPrefixName = \"prefix_\",\n                ObsTimeZone = \"UTC\",\n                ObsTimeZoneId = \"Etc/GMT\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tltsGroupId := cfg.RequireObject(\"ltsGroupId\")\n\t\tltsStreamId := cfg.RequireObject(\"ltsStreamId\")\n\t\tobsBuket := cfg.RequireObject(\"obsBuket\")\n\t\t_, err := opentelekomcloud.NewLtsTransferV2(ctx, \"test\", \u0026opentelekomcloud.LtsTransferV2Args{\n\t\t\tLogGroupId: pulumi.Any(ltsGroupId),\n\t\t\tLogStreams: opentelekomcloud.LtsTransferV2LogStreamArray{\n\t\t\t\t\u0026opentelekomcloud.LtsTransferV2LogStreamArgs{\n\t\t\t\t\tLogStreamId: pulumi.Any(ltsStreamId),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLogTransferInfo: \u0026opentelekomcloud.LtsTransferV2LogTransferInfoArgs{\n\t\t\t\tLogTransferType:   pulumi.String(\"OBS\"),\n\t\t\t\tLogTransferMode:   pulumi.String(\"cycle\"),\n\t\t\t\tLogStorageFormat:  pulumi.String(\"RAW\"),\n\t\t\t\tLogTransferStatus: pulumi.String(\"ENABLE\"),\n\t\t\t\tLogTransferDetail: \u0026opentelekomcloud.LtsTransferV2LogTransferInfoLogTransferDetailArgs{\n\t\t\t\t\tObsPeriod:        pulumi.Float64(3),\n\t\t\t\t\tObsPeriodUnit:    pulumi.String(\"hour\"),\n\t\t\t\t\tObsBucketName:    pulumi.Any(obsBuket),\n\t\t\t\t\tObsDirPrefixName: pulumi.String(\"dir_prefix_\"),\n\t\t\t\t\tObsPrefixName:    pulumi.String(\"prefix_\"),\n\t\t\t\t\tObsTimeZone:      pulumi.String(\"UTC\"),\n\t\t\t\t\tObsTimeZoneId:    pulumi.String(\"Etc/GMT\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.LtsTransferV2;\nimport com.pulumi.opentelekomcloud.LtsTransferV2Args;\nimport com.pulumi.opentelekomcloud.inputs.LtsTransferV2LogStreamArgs;\nimport com.pulumi.opentelekomcloud.inputs.LtsTransferV2LogTransferInfoArgs;\nimport com.pulumi.opentelekomcloud.inputs.LtsTransferV2LogTransferInfoLogTransferDetailArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var ltsGroupId = config.get(\"ltsGroupId\");\n        final var ltsStreamId = config.get(\"ltsStreamId\");\n        final var obsBuket = config.get(\"obsBuket\");\n        var test = new LtsTransferV2(\"test\", LtsTransferV2Args.builder()\n            .logGroupId(ltsGroupId)\n            .logStreams(LtsTransferV2LogStreamArgs.builder()\n                .logStreamId(ltsStreamId)\n                .build())\n            .logTransferInfo(LtsTransferV2LogTransferInfoArgs.builder()\n                .logTransferType(\"OBS\")\n                .logTransferMode(\"cycle\")\n                .logStorageFormat(\"RAW\")\n                .logTransferStatus(\"ENABLE\")\n                .logTransferDetail(LtsTransferV2LogTransferInfoLogTransferDetailArgs.builder()\n                    .obsPeriod(3.0)\n                    .obsPeriodUnit(\"hour\")\n                    .obsBucketName(obsBuket)\n                    .obsDirPrefixName(\"dir_prefix_\")\n                    .obsPrefixName(\"prefix_\")\n                    .obsTimeZone(\"UTC\")\n                    .obsTimeZoneId(\"Etc/GMT\")\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  ltsGroupId:\n    type: dynamic\n  ltsStreamId:\n    type: dynamic\n  obsBuket:\n    type: dynamic\nresources:\n  test:\n    type: opentelekomcloud:LtsTransferV2\n    properties:\n      logGroupId: ${ltsGroupId}\n      logStreams:\n        - logStreamId: ${ltsStreamId}\n      logTransferInfo:\n        logTransferType: OBS\n        logTransferMode: cycle\n        logStorageFormat: RAW\n        logTransferStatus: ENABLE\n        logTransferDetail:\n          obsPeriod: 3\n          obsPeriodUnit: hour\n          obsBucketName: ${obsBuket}\n          obsDirPrefixName: dir_prefix_\n          obsPrefixName: prefix_\n          obsTimeZone: UTC\n          obsTimeZoneId: Etc/GMT\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a delegated OBS transfer task\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst ltsGroupId = config.requireObject\u003cany\u003e(\"ltsGroupId\");\nconst ltsStreamId = config.requireObject\u003cany\u003e(\"ltsStreamId\");\nconst obsBuket = config.requireObject\u003cany\u003e(\"obsBuket\");\nconst agencyDomainId = config.requireObject\u003cany\u003e(\"agencyDomainId\");\nconst agencyDomainName = config.requireObject\u003cany\u003e(\"agencyDomainName\");\nconst agencyName = config.requireObject\u003cany\u003e(\"agencyName\");\nconst agencyProjectId = config.requireObject\u003cany\u003e(\"agencyProjectId\");\nconst obsAgency = new opentelekomcloud.LtsTransferV2(\"obs_agency\", {\n    logGroupId: ltsGroupId,\n    logStreams: [{\n        logStreamId: ltsStreamId,\n    }],\n    logTransferInfo: {\n        logTransferType: \"OBS\",\n        logTransferMode: \"cycle\",\n        logStorageFormat: \"RAW\",\n        logTransferStatus: \"ENABLE\",\n        logTransferDetail: {\n            obsPeriod: 3,\n            obsPeriodUnit: \"hour\",\n            obsBucketName: obsBuket,\n            obsDirPrefixName: \"dir_prefix_\",\n            obsPrefixName: \"prefix_\",\n            obsTimeZone: \"UTC\",\n            obsTimeZoneId: \"Etc/GMT\",\n        },\n        logAgencyTransfer: {\n            agencyDomainId: agencyDomainId,\n            agencyDomainName: agencyDomainName,\n            agencyName: agencyName,\n            agencyProjectId: agencyProjectId,\n        },\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nlts_group_id = config.require_object(\"ltsGroupId\")\nlts_stream_id = config.require_object(\"ltsStreamId\")\nobs_buket = config.require_object(\"obsBuket\")\nagency_domain_id = config.require_object(\"agencyDomainId\")\nagency_domain_name = config.require_object(\"agencyDomainName\")\nagency_name = config.require_object(\"agencyName\")\nagency_project_id = config.require_object(\"agencyProjectId\")\nobs_agency = opentelekomcloud.LtsTransferV2(\"obs_agency\",\n    log_group_id=lts_group_id,\n    log_streams=[{\n        \"log_stream_id\": lts_stream_id,\n    }],\n    log_transfer_info={\n        \"log_transfer_type\": \"OBS\",\n        \"log_transfer_mode\": \"cycle\",\n        \"log_storage_format\": \"RAW\",\n        \"log_transfer_status\": \"ENABLE\",\n        \"log_transfer_detail\": {\n            \"obs_period\": 3,\n            \"obs_period_unit\": \"hour\",\n            \"obs_bucket_name\": obs_buket,\n            \"obs_dir_prefix_name\": \"dir_prefix_\",\n            \"obs_prefix_name\": \"prefix_\",\n            \"obs_time_zone\": \"UTC\",\n            \"obs_time_zone_id\": \"Etc/GMT\",\n        },\n        \"log_agency_transfer\": {\n            \"agency_domain_id\": agency_domain_id,\n            \"agency_domain_name\": agency_domain_name,\n            \"agency_name\": agency_name,\n            \"agency_project_id\": agency_project_id,\n        },\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var ltsGroupId = config.RequireObject\u003cdynamic\u003e(\"ltsGroupId\");\n    var ltsStreamId = config.RequireObject\u003cdynamic\u003e(\"ltsStreamId\");\n    var obsBuket = config.RequireObject\u003cdynamic\u003e(\"obsBuket\");\n    var agencyDomainId = config.RequireObject\u003cdynamic\u003e(\"agencyDomainId\");\n    var agencyDomainName = config.RequireObject\u003cdynamic\u003e(\"agencyDomainName\");\n    var agencyName = config.RequireObject\u003cdynamic\u003e(\"agencyName\");\n    var agencyProjectId = config.RequireObject\u003cdynamic\u003e(\"agencyProjectId\");\n    var obsAgency = new Opentelekomcloud.LtsTransferV2(\"obs_agency\", new()\n    {\n        LogGroupId = ltsGroupId,\n        LogStreams = new[]\n        {\n            new Opentelekomcloud.Inputs.LtsTransferV2LogStreamArgs\n            {\n                LogStreamId = ltsStreamId,\n            },\n        },\n        LogTransferInfo = new Opentelekomcloud.Inputs.LtsTransferV2LogTransferInfoArgs\n        {\n            LogTransferType = \"OBS\",\n            LogTransferMode = \"cycle\",\n            LogStorageFormat = \"RAW\",\n            LogTransferStatus = \"ENABLE\",\n            LogTransferDetail = new Opentelekomcloud.Inputs.LtsTransferV2LogTransferInfoLogTransferDetailArgs\n            {\n                ObsPeriod = 3,\n                ObsPeriodUnit = \"hour\",\n                ObsBucketName = obsBuket,\n                ObsDirPrefixName = \"dir_prefix_\",\n                ObsPrefixName = \"prefix_\",\n                ObsTimeZone = \"UTC\",\n                ObsTimeZoneId = \"Etc/GMT\",\n            },\n            LogAgencyTransfer = new Opentelekomcloud.Inputs.LtsTransferV2LogTransferInfoLogAgencyTransferArgs\n            {\n                AgencyDomainId = agencyDomainId,\n                AgencyDomainName = agencyDomainName,\n                AgencyName = agencyName,\n                AgencyProjectId = agencyProjectId,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tltsGroupId := cfg.RequireObject(\"ltsGroupId\")\n\t\tltsStreamId := cfg.RequireObject(\"ltsStreamId\")\n\t\tobsBuket := cfg.RequireObject(\"obsBuket\")\n\t\tagencyDomainId := cfg.RequireObject(\"agencyDomainId\")\n\t\tagencyDomainName := cfg.RequireObject(\"agencyDomainName\")\n\t\tagencyName := cfg.RequireObject(\"agencyName\")\n\t\tagencyProjectId := cfg.RequireObject(\"agencyProjectId\")\n\t\t_, err := opentelekomcloud.NewLtsTransferV2(ctx, \"obs_agency\", \u0026opentelekomcloud.LtsTransferV2Args{\n\t\t\tLogGroupId: pulumi.Any(ltsGroupId),\n\t\t\tLogStreams: opentelekomcloud.LtsTransferV2LogStreamArray{\n\t\t\t\t\u0026opentelekomcloud.LtsTransferV2LogStreamArgs{\n\t\t\t\t\tLogStreamId: pulumi.Any(ltsStreamId),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLogTransferInfo: \u0026opentelekomcloud.LtsTransferV2LogTransferInfoArgs{\n\t\t\t\tLogTransferType:   pulumi.String(\"OBS\"),\n\t\t\t\tLogTransferMode:   pulumi.String(\"cycle\"),\n\t\t\t\tLogStorageFormat:  pulumi.String(\"RAW\"),\n\t\t\t\tLogTransferStatus: pulumi.String(\"ENABLE\"),\n\t\t\t\tLogTransferDetail: \u0026opentelekomcloud.LtsTransferV2LogTransferInfoLogTransferDetailArgs{\n\t\t\t\t\tObsPeriod:        pulumi.Float64(3),\n\t\t\t\t\tObsPeriodUnit:    pulumi.String(\"hour\"),\n\t\t\t\t\tObsBucketName:    pulumi.Any(obsBuket),\n\t\t\t\t\tObsDirPrefixName: pulumi.String(\"dir_prefix_\"),\n\t\t\t\t\tObsPrefixName:    pulumi.String(\"prefix_\"),\n\t\t\t\t\tObsTimeZone:      pulumi.String(\"UTC\"),\n\t\t\t\t\tObsTimeZoneId:    pulumi.String(\"Etc/GMT\"),\n\t\t\t\t},\n\t\t\t\tLogAgencyTransfer: \u0026opentelekomcloud.LtsTransferV2LogTransferInfoLogAgencyTransferArgs{\n\t\t\t\t\tAgencyDomainId:   pulumi.Any(agencyDomainId),\n\t\t\t\t\tAgencyDomainName: pulumi.Any(agencyDomainName),\n\t\t\t\t\tAgencyName:       pulumi.Any(agencyName),\n\t\t\t\t\tAgencyProjectId:  pulumi.Any(agencyProjectId),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.LtsTransferV2;\nimport com.pulumi.opentelekomcloud.LtsTransferV2Args;\nimport com.pulumi.opentelekomcloud.inputs.LtsTransferV2LogStreamArgs;\nimport com.pulumi.opentelekomcloud.inputs.LtsTransferV2LogTransferInfoArgs;\nimport com.pulumi.opentelekomcloud.inputs.LtsTransferV2LogTransferInfoLogTransferDetailArgs;\nimport com.pulumi.opentelekomcloud.inputs.LtsTransferV2LogTransferInfoLogAgencyTransferArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var ltsGroupId = config.get(\"ltsGroupId\");\n        final var ltsStreamId = config.get(\"ltsStreamId\");\n        final var obsBuket = config.get(\"obsBuket\");\n        final var agencyDomainId = config.get(\"agencyDomainId\");\n        final var agencyDomainName = config.get(\"agencyDomainName\");\n        final var agencyName = config.get(\"agencyName\");\n        final var agencyProjectId = config.get(\"agencyProjectId\");\n        var obsAgency = new LtsTransferV2(\"obsAgency\", LtsTransferV2Args.builder()\n            .logGroupId(ltsGroupId)\n            .logStreams(LtsTransferV2LogStreamArgs.builder()\n                .logStreamId(ltsStreamId)\n                .build())\n            .logTransferInfo(LtsTransferV2LogTransferInfoArgs.builder()\n                .logTransferType(\"OBS\")\n                .logTransferMode(\"cycle\")\n                .logStorageFormat(\"RAW\")\n                .logTransferStatus(\"ENABLE\")\n                .logTransferDetail(LtsTransferV2LogTransferInfoLogTransferDetailArgs.builder()\n                    .obsPeriod(3.0)\n                    .obsPeriodUnit(\"hour\")\n                    .obsBucketName(obsBuket)\n                    .obsDirPrefixName(\"dir_prefix_\")\n                    .obsPrefixName(\"prefix_\")\n                    .obsTimeZone(\"UTC\")\n                    .obsTimeZoneId(\"Etc/GMT\")\n                    .build())\n                .logAgencyTransfer(LtsTransferV2LogTransferInfoLogAgencyTransferArgs.builder()\n                    .agencyDomainId(agencyDomainId)\n                    .agencyDomainName(agencyDomainName)\n                    .agencyName(agencyName)\n                    .agencyProjectId(agencyProjectId)\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  ltsGroupId:\n    type: dynamic\n  ltsStreamId:\n    type: dynamic\n  obsBuket:\n    type: dynamic\n  agencyDomainId:\n    type: dynamic\n  agencyDomainName:\n    type: dynamic\n  agencyName:\n    type: dynamic\n  agencyProjectId:\n    type: dynamic\nresources:\n  obsAgency:\n    type: opentelekomcloud:LtsTransferV2\n    name: obs_agency\n    properties:\n      logGroupId: ${ltsGroupId}\n      logStreams:\n        - logStreamId: ${ltsStreamId}\n      logTransferInfo:\n        logTransferType: OBS\n        logTransferMode: cycle\n        logStorageFormat: RAW\n        logTransferStatus: ENABLE\n        logTransferDetail:\n          obsPeriod: 3\n          obsPeriodUnit: hour\n          obsBucketName: ${obsBuket}\n          obsDirPrefixName: dir_prefix_\n          obsPrefixName: prefix_\n          obsTimeZone: UTC\n          obsTimeZoneId: Etc/GMT\n        logAgencyTransfer:\n          agencyDomainId: ${agencyDomainId}\n          agencyDomainName: ${agencyDomainName}\n          agencyName: ${agencyName}\n          agencyProjectId: ${agencyProjectId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe LTS transfer task can be imported using the `id`, e.g.\n\nbash\n\n```sh\n$ pulumi import opentelekomcloud:index/ltsTransferV2:LtsTransferV2 test \u003cid\u003e\n```\n\n","properties":{"logGroupId":{"type":"string","description":"Log group ID.\n\nChanging this parameter will create a new resource.\n"},"logGroupName":{"type":"string","description":"Log group name.\n"},"logStreams":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FLtsTransferV2LogStream:LtsTransferV2LogStream"},"description":"The list of log streams.\n\nChanging this parameter will create a new resource.\nThe\u003cspan pulumi-lang-nodejs=\" logStreams \" pulumi-lang-dotnet=\" LogStreams \" pulumi-lang-go=\" logStreams \" pulumi-lang-python=\" log_streams \" pulumi-lang-yaml=\" logStreams \" pulumi-lang-java=\" logStreams \"\u003e log_streams \u003c/span\u003estructure is documented below.\n"},"logTransferInfo":{"$ref":"#/types/opentelekomcloud:index%2FLtsTransferV2LogTransferInfo:LtsTransferV2LogTransferInfo","description":"Log transfer information.\nThe\u003cspan pulumi-lang-nodejs=\" logTransferInfo \" pulumi-lang-dotnet=\" LogTransferInfo \" pulumi-lang-go=\" logTransferInfo \" pulumi-lang-python=\" log_transfer_info \" pulumi-lang-yaml=\" logTransferInfo \" pulumi-lang-java=\" logTransferInfo \"\u003e log_transfer_info \u003c/span\u003estructure is documented below.\n\n\u003ca name=\"LtsTransfer_LogStreams\"\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`logStreams`\" pulumi-lang-dotnet=\"`LogStreams`\" pulumi-lang-go=\"`logStreams`\" pulumi-lang-python=\"`log_streams`\" pulumi-lang-yaml=\"`logStreams`\" pulumi-lang-java=\"`logStreams`\"\u003e`log_streams`\u003c/span\u003e block supports:\n"},"ltsTransferV2Id":{"type":"string","description":"The resource ID.\n"},"region":{"type":"string","description":"Shows the region in the log group resource created.\n"}},"type":"object","required":["logGroupId","logGroupName","logStreams","logTransferInfo","ltsTransferV2Id","region"],"inputProperties":{"logGroupId":{"type":"string","description":"Log group ID.\n\nChanging this parameter will create a new resource.\n"},"logStreams":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FLtsTransferV2LogStream:LtsTransferV2LogStream"},"description":"The list of log streams.\n\nChanging this parameter will create a new resource.\nThe\u003cspan pulumi-lang-nodejs=\" logStreams \" pulumi-lang-dotnet=\" LogStreams \" pulumi-lang-go=\" logStreams \" pulumi-lang-python=\" log_streams \" pulumi-lang-yaml=\" logStreams \" pulumi-lang-java=\" logStreams \"\u003e log_streams \u003c/span\u003estructure is documented below.\n"},"logTransferInfo":{"$ref":"#/types/opentelekomcloud:index%2FLtsTransferV2LogTransferInfo:LtsTransferV2LogTransferInfo","description":"Log transfer information.\nThe\u003cspan pulumi-lang-nodejs=\" logTransferInfo \" pulumi-lang-dotnet=\" LogTransferInfo \" pulumi-lang-go=\" logTransferInfo \" pulumi-lang-python=\" log_transfer_info \" pulumi-lang-yaml=\" logTransferInfo \" pulumi-lang-java=\" logTransferInfo \"\u003e log_transfer_info \u003c/span\u003estructure is documented below.\n\n\u003ca name=\"LtsTransfer_LogStreams\"\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`logStreams`\" pulumi-lang-dotnet=\"`LogStreams`\" pulumi-lang-go=\"`logStreams`\" pulumi-lang-python=\"`log_streams`\" pulumi-lang-yaml=\"`logStreams`\" pulumi-lang-java=\"`logStreams`\"\u003e`log_streams`\u003c/span\u003e block supports:\n"},"ltsTransferV2Id":{"type":"string","description":"The resource ID.\n"}},"requiredInputs":["logGroupId","logStreams","logTransferInfo"],"stateInputs":{"description":"Input properties used for looking up and filtering LtsTransferV2 resources.\n","properties":{"logGroupId":{"type":"string","description":"Log group ID.\n\nChanging this parameter will create a new resource.\n"},"logGroupName":{"type":"string","description":"Log group name.\n"},"logStreams":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FLtsTransferV2LogStream:LtsTransferV2LogStream"},"description":"The list of log streams.\n\nChanging this parameter will create a new resource.\nThe\u003cspan pulumi-lang-nodejs=\" logStreams \" pulumi-lang-dotnet=\" LogStreams \" pulumi-lang-go=\" logStreams \" pulumi-lang-python=\" log_streams \" pulumi-lang-yaml=\" logStreams \" pulumi-lang-java=\" logStreams \"\u003e log_streams \u003c/span\u003estructure is documented below.\n"},"logTransferInfo":{"$ref":"#/types/opentelekomcloud:index%2FLtsTransferV2LogTransferInfo:LtsTransferV2LogTransferInfo","description":"Log transfer information.\nThe\u003cspan pulumi-lang-nodejs=\" logTransferInfo \" pulumi-lang-dotnet=\" LogTransferInfo \" pulumi-lang-go=\" logTransferInfo \" pulumi-lang-python=\" log_transfer_info \" pulumi-lang-yaml=\" logTransferInfo \" pulumi-lang-java=\" logTransferInfo \"\u003e log_transfer_info \u003c/span\u003estructure is documented below.\n\n\u003ca name=\"LtsTransfer_LogStreams\"\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`logStreams`\" pulumi-lang-dotnet=\"`LogStreams`\" pulumi-lang-go=\"`logStreams`\" pulumi-lang-python=\"`log_streams`\" pulumi-lang-yaml=\"`logStreams`\" pulumi-lang-java=\"`logStreams`\"\u003e`log_streams`\u003c/span\u003e block supports:\n"},"ltsTransferV2Id":{"type":"string","description":"The resource ID.\n"},"region":{"type":"string","description":"Shows the region in the log group resource created.\n"}},"type":"object"}},"opentelekomcloud:index/mrsClusterV1:MrsClusterV1":{"description":"Up-to-date reference of API arguments for MRS cluster you can get at\n[documentation portal](https://docs.otc.t-systems.com/mapreduce-service/api-ref/apis/cluster_management_apis_v1)\n\nManages resource cluster within OpenTelekomCloud MRS.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst az = config.requireObject\u003cany\u003e(\"az\");\nconst vpcId = config.requireObject\u003cany\u003e(\"vpcId\");\nconst networkId = config.requireObject\u003cany\u003e(\"networkId\");\nconst keyname = config.requireObject\u003cany\u003e(\"keyname\");\nconst _this = new opentelekomcloud.MrsClusterV1(\"this\", {\n    clusterName: \"mrs-cluster\",\n    billingType: 12,\n    masterNodeNum: 2,\n    coreNodeNum: 3,\n    masterNodeSize: \"c4.4xlarge.4.linux.mrs\",\n    coreNodeSize: \"c4.4xlarge.4.linux.mrs\",\n    availableZoneId: az,\n    vpcId: vpcId,\n    subnetId: networkId,\n    clusterVersion: \"MRS 3.1.2-LTS.6\",\n    volumeType: \"SAS\",\n    volumeSize: 100,\n    clusterType: 0,\n    safeMode: 1,\n    nodePublicCertName: keyname,\n    clusterAdminSecret: \"Qwerty!123\",\n    componentLists: [\n        {\n            componentName: \"Hadoop\",\n        },\n        {\n            componentName: \"Spark\",\n        },\n        {\n            componentName: \"HBase\",\n        },\n        {\n            componentName: \"Hive\",\n        },\n        {\n            componentName: \"Flink\",\n        },\n    ],\n    bootstrapScripts: [{\n        name: \"Modify os config\",\n        uri: \"s3a://bootstrap/modify_os_config.sh\",\n        parameters: \"param1 param2\",\n        nodes: [\n            \"master\",\n            \"core\",\n            \"task\",\n        ],\n        activeMaster: true,\n        beforeComponentStart: true,\n        failAction: \"continue\",\n    }],\n    tags: {\n        foo: \"bar\",\n        key: \"value\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\naz = config.require_object(\"az\")\nvpc_id = config.require_object(\"vpcId\")\nnetwork_id = config.require_object(\"networkId\")\nkeyname = config.require_object(\"keyname\")\nthis = opentelekomcloud.MrsClusterV1(\"this\",\n    cluster_name=\"mrs-cluster\",\n    billing_type=12,\n    master_node_num=2,\n    core_node_num=3,\n    master_node_size=\"c4.4xlarge.4.linux.mrs\",\n    core_node_size=\"c4.4xlarge.4.linux.mrs\",\n    available_zone_id=az,\n    vpc_id=vpc_id,\n    subnet_id=network_id,\n    cluster_version=\"MRS 3.1.2-LTS.6\",\n    volume_type=\"SAS\",\n    volume_size=100,\n    cluster_type=0,\n    safe_mode=1,\n    node_public_cert_name=keyname,\n    cluster_admin_secret=\"Qwerty!123\",\n    component_lists=[\n        {\n            \"component_name\": \"Hadoop\",\n        },\n        {\n            \"component_name\": \"Spark\",\n        },\n        {\n            \"component_name\": \"HBase\",\n        },\n        {\n            \"component_name\": \"Hive\",\n        },\n        {\n            \"component_name\": \"Flink\",\n        },\n    ],\n    bootstrap_scripts=[{\n        \"name\": \"Modify os config\",\n        \"uri\": \"s3a://bootstrap/modify_os_config.sh\",\n        \"parameters\": \"param1 param2\",\n        \"nodes\": [\n            \"master\",\n            \"core\",\n            \"task\",\n        ],\n        \"active_master\": True,\n        \"before_component_start\": True,\n        \"fail_action\": \"continue\",\n    }],\n    tags={\n        \"foo\": \"bar\",\n        \"key\": \"value\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var az = config.RequireObject\u003cdynamic\u003e(\"az\");\n    var vpcId = config.RequireObject\u003cdynamic\u003e(\"vpcId\");\n    var networkId = config.RequireObject\u003cdynamic\u003e(\"networkId\");\n    var keyname = config.RequireObject\u003cdynamic\u003e(\"keyname\");\n    var @this = new Opentelekomcloud.MrsClusterV1(\"this\", new()\n    {\n        ClusterName = \"mrs-cluster\",\n        BillingType = 12,\n        MasterNodeNum = 2,\n        CoreNodeNum = 3,\n        MasterNodeSize = \"c4.4xlarge.4.linux.mrs\",\n        CoreNodeSize = \"c4.4xlarge.4.linux.mrs\",\n        AvailableZoneId = az,\n        VpcId = vpcId,\n        SubnetId = networkId,\n        ClusterVersion = \"MRS 3.1.2-LTS.6\",\n        VolumeType = \"SAS\",\n        VolumeSize = 100,\n        ClusterType = 0,\n        SafeMode = 1,\n        NodePublicCertName = keyname,\n        ClusterAdminSecret = \"Qwerty!123\",\n        ComponentLists = new[]\n        {\n            new Opentelekomcloud.Inputs.MrsClusterV1ComponentListArgs\n            {\n                ComponentName = \"Hadoop\",\n            },\n            new Opentelekomcloud.Inputs.MrsClusterV1ComponentListArgs\n            {\n                ComponentName = \"Spark\",\n            },\n            new Opentelekomcloud.Inputs.MrsClusterV1ComponentListArgs\n            {\n                ComponentName = \"HBase\",\n            },\n            new Opentelekomcloud.Inputs.MrsClusterV1ComponentListArgs\n            {\n                ComponentName = \"Hive\",\n            },\n            new Opentelekomcloud.Inputs.MrsClusterV1ComponentListArgs\n            {\n                ComponentName = \"Flink\",\n            },\n        },\n        BootstrapScripts = new[]\n        {\n            new Opentelekomcloud.Inputs.MrsClusterV1BootstrapScriptArgs\n            {\n                Name = \"Modify os config\",\n                Uri = \"s3a://bootstrap/modify_os_config.sh\",\n                Parameters = \"param1 param2\",\n                Nodes = new[]\n                {\n                    \"master\",\n                    \"core\",\n                    \"task\",\n                },\n                ActiveMaster = true,\n                BeforeComponentStart = true,\n                FailAction = \"continue\",\n            },\n        },\n        Tags = \n        {\n            { \"foo\", \"bar\" },\n            { \"key\", \"value\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\taz := cfg.RequireObject(\"az\")\n\t\tvpcId := cfg.RequireObject(\"vpcId\")\n\t\tnetworkId := cfg.RequireObject(\"networkId\")\n\t\tkeyname := cfg.RequireObject(\"keyname\")\n\t\t_, err := opentelekomcloud.NewMrsClusterV1(ctx, \"this\", \u0026opentelekomcloud.MrsClusterV1Args{\n\t\t\tClusterName:        pulumi.String(\"mrs-cluster\"),\n\t\t\tBillingType:        pulumi.Float64(12),\n\t\t\tMasterNodeNum:      pulumi.Float64(2),\n\t\t\tCoreNodeNum:        pulumi.Float64(3),\n\t\t\tMasterNodeSize:     pulumi.String(\"c4.4xlarge.4.linux.mrs\"),\n\t\t\tCoreNodeSize:       pulumi.String(\"c4.4xlarge.4.linux.mrs\"),\n\t\t\tAvailableZoneId:    pulumi.Any(az),\n\t\t\tVpcId:              pulumi.Any(vpcId),\n\t\t\tSubnetId:           pulumi.Any(networkId),\n\t\t\tClusterVersion:     pulumi.String(\"MRS 3.1.2-LTS.6\"),\n\t\t\tVolumeType:         pulumi.String(\"SAS\"),\n\t\t\tVolumeSize:         pulumi.Float64(100),\n\t\t\tClusterType:        pulumi.Float64(0),\n\t\t\tSafeMode:           pulumi.Float64(1),\n\t\t\tNodePublicCertName: pulumi.Any(keyname),\n\t\t\tClusterAdminSecret: pulumi.String(\"Qwerty!123\"),\n\t\t\tComponentLists: opentelekomcloud.MrsClusterV1ComponentListArray{\n\t\t\t\t\u0026opentelekomcloud.MrsClusterV1ComponentListArgs{\n\t\t\t\t\tComponentName: pulumi.String(\"Hadoop\"),\n\t\t\t\t},\n\t\t\t\t\u0026opentelekomcloud.MrsClusterV1ComponentListArgs{\n\t\t\t\t\tComponentName: pulumi.String(\"Spark\"),\n\t\t\t\t},\n\t\t\t\t\u0026opentelekomcloud.MrsClusterV1ComponentListArgs{\n\t\t\t\t\tComponentName: pulumi.String(\"HBase\"),\n\t\t\t\t},\n\t\t\t\t\u0026opentelekomcloud.MrsClusterV1ComponentListArgs{\n\t\t\t\t\tComponentName: pulumi.String(\"Hive\"),\n\t\t\t\t},\n\t\t\t\t\u0026opentelekomcloud.MrsClusterV1ComponentListArgs{\n\t\t\t\t\tComponentName: pulumi.String(\"Flink\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tBootstrapScripts: opentelekomcloud.MrsClusterV1BootstrapScriptArray{\n\t\t\t\t\u0026opentelekomcloud.MrsClusterV1BootstrapScriptArgs{\n\t\t\t\t\tName:       pulumi.String(\"Modify os config\"),\n\t\t\t\t\tUri:        pulumi.String(\"s3a://bootstrap/modify_os_config.sh\"),\n\t\t\t\t\tParameters: pulumi.String(\"param1 param2\"),\n\t\t\t\t\tNodes: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"master\"),\n\t\t\t\t\t\tpulumi.String(\"core\"),\n\t\t\t\t\t\tpulumi.String(\"task\"),\n\t\t\t\t\t},\n\t\t\t\t\tActiveMaster:         pulumi.Bool(true),\n\t\t\t\t\tBeforeComponentStart: pulumi.Bool(true),\n\t\t\t\t\tFailAction:           pulumi.String(\"continue\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t\t\"key\": pulumi.String(\"value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.MrsClusterV1;\nimport com.pulumi.opentelekomcloud.MrsClusterV1Args;\nimport com.pulumi.opentelekomcloud.inputs.MrsClusterV1ComponentListArgs;\nimport com.pulumi.opentelekomcloud.inputs.MrsClusterV1BootstrapScriptArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var az = config.get(\"az\");\n        final var vpcId = config.get(\"vpcId\");\n        final var networkId = config.get(\"networkId\");\n        final var keyname = config.get(\"keyname\");\n        var this_ = new MrsClusterV1(\"this\", MrsClusterV1Args.builder()\n            .clusterName(\"mrs-cluster\")\n            .billingType(12.0)\n            .masterNodeNum(2.0)\n            .coreNodeNum(3.0)\n            .masterNodeSize(\"c4.4xlarge.4.linux.mrs\")\n            .coreNodeSize(\"c4.4xlarge.4.linux.mrs\")\n            .availableZoneId(az)\n            .vpcId(vpcId)\n            .subnetId(networkId)\n            .clusterVersion(\"MRS 3.1.2-LTS.6\")\n            .volumeType(\"SAS\")\n            .volumeSize(100.0)\n            .clusterType(0.0)\n            .safeMode(1.0)\n            .nodePublicCertName(keyname)\n            .clusterAdminSecret(\"Qwerty!123\")\n            .componentLists(            \n                MrsClusterV1ComponentListArgs.builder()\n                    .componentName(\"Hadoop\")\n                    .build(),\n                MrsClusterV1ComponentListArgs.builder()\n                    .componentName(\"Spark\")\n                    .build(),\n                MrsClusterV1ComponentListArgs.builder()\n                    .componentName(\"HBase\")\n                    .build(),\n                MrsClusterV1ComponentListArgs.builder()\n                    .componentName(\"Hive\")\n                    .build(),\n                MrsClusterV1ComponentListArgs.builder()\n                    .componentName(\"Flink\")\n                    .build())\n            .bootstrapScripts(MrsClusterV1BootstrapScriptArgs.builder()\n                .name(\"Modify os config\")\n                .uri(\"s3a://bootstrap/modify_os_config.sh\")\n                .parameters(\"param1 param2\")\n                .nodes(                \n                    \"master\",\n                    \"core\",\n                    \"task\")\n                .activeMaster(true)\n                .beforeComponentStart(true)\n                .failAction(\"continue\")\n                .build())\n            .tags(Map.ofEntries(\n                Map.entry(\"foo\", \"bar\"),\n                Map.entry(\"key\", \"value\")\n            ))\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  az:\n    type: dynamic\n  vpcId:\n    type: dynamic\n  networkId:\n    type: dynamic\n  keyname:\n    type: dynamic\nresources:\n  this:\n    type: opentelekomcloud:MrsClusterV1\n    properties:\n      clusterName: mrs-cluster\n      billingType: 12\n      masterNodeNum: 2\n      coreNodeNum: 3\n      masterNodeSize: c4.4xlarge.4.linux.mrs\n      coreNodeSize: c4.4xlarge.4.linux.mrs\n      availableZoneId: ${az}\n      vpcId: ${vpcId}\n      subnetId: ${networkId}\n      clusterVersion: MRS 3.1.2-LTS.6\n      volumeType: SAS\n      volumeSize: 100\n      clusterType: 0\n      safeMode: 1\n      nodePublicCertName: ${keyname}\n      clusterAdminSecret: Qwerty!123\n      componentLists:\n        - componentName: Hadoop\n        - componentName: Spark\n        - componentName: HBase\n        - componentName: Hive\n        - componentName: Flink\n      bootstrapScripts:\n        - name: Modify os config\n          uri: s3a://bootstrap/modify_os_config.sh\n          parameters: param1 param2\n          nodes:\n            - master\n            - core\n            - task\n          activeMaster: true\n          beforeComponentStart: true\n          failAction: continue\n      tags:\n        foo: bar\n        key: value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCluster can be imported using the `cluster_id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/mrsClusterV1:MrsClusterV1 cluster_1 4729ab1c-7c1a-4411-a02e-93dfc361b32d\n```\n\n","properties":{"addJobs":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FMrsClusterV1AddJob:MrsClusterV1AddJob"},"description":"You can submit a job when you create a cluster to save time and use MRS easily. Only one job can be added.\n"},"availableZoneId":{"type":"string","description":"ID of an available zone. Obtain the value from Regions and Endpoints.\n"},"availableZoneName":{"type":"string","description":"Name of an availability zone.\n"},"billingType":{"type":"number","description":"The value is \u003cspan pulumi-lang-nodejs=\"`12`\" pulumi-lang-dotnet=\"`12`\" pulumi-lang-go=\"`12`\" pulumi-lang-python=\"`12`\" pulumi-lang-yaml=\"`12`\" pulumi-lang-java=\"`12`\"\u003e`12`\u003c/span\u003e, indicating on-demand payment.\n"},"bootstrapScripts":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FMrsClusterV1BootstrapScript:MrsClusterV1BootstrapScript"},"description":"Bootstrap action scripts. For details, see\u003cspan pulumi-lang-nodejs=\" bootstrapScripts \" pulumi-lang-dotnet=\" BootstrapScripts \" pulumi-lang-go=\" bootstrapScripts \" pulumi-lang-python=\" bootstrap_scripts \" pulumi-lang-yaml=\" bootstrapScripts \" pulumi-lang-java=\" bootstrapScripts \"\u003e bootstrap_scripts \u003c/span\u003eblock below.\n"},"chargingStartTime":{"type":"string","description":"Time when charging starts.\n"},"clusterAdminSecret":{"type":"string","description":"Indicates the password of the MRS Manager administrator. The password must contain \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e characters. Must contain at least two types of the following: Lowercase letters, Uppercase letters, Digits, Special characters `~!@#$%^\u0026*()-_=+\\|[{}];:'\",\u003c.\u003e/?` and spaces.\n"},"clusterId":{"type":"string","description":"Cluster ID.\n"},"clusterName":{"type":"string","description":"Cluster name, which is globally unique and contains only \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e letters, digits, hyphens (-), and underscores (_).\n"},"clusterState":{"type":"string","description":"Cluster status. Valid values include: existing history: \u003cspan pulumi-lang-nodejs=\"`starting`\" pulumi-lang-dotnet=\"`Starting`\" pulumi-lang-go=\"`starting`\" pulumi-lang-python=\"`starting`\" pulumi-lang-yaml=\"`starting`\" pulumi-lang-java=\"`starting`\"\u003e`starting`\u003c/span\u003e,\n\u003cspan pulumi-lang-nodejs=\"`running`\" pulumi-lang-dotnet=\"`Running`\" pulumi-lang-go=\"`running`\" pulumi-lang-python=\"`running`\" pulumi-lang-yaml=\"`running`\" pulumi-lang-java=\"`running`\"\u003e`running`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`terminated`\" pulumi-lang-dotnet=\"`Terminated`\" pulumi-lang-go=\"`terminated`\" pulumi-lang-python=\"`terminated`\" pulumi-lang-yaml=\"`terminated`\" pulumi-lang-java=\"`terminated`\"\u003e`terminated`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`failed`\" pulumi-lang-dotnet=\"`Failed`\" pulumi-lang-go=\"`failed`\" pulumi-lang-python=\"`failed`\" pulumi-lang-yaml=\"`failed`\" pulumi-lang-java=\"`failed`\"\u003e`failed`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`abnormal`\" pulumi-lang-dotnet=\"`Abnormal`\" pulumi-lang-go=\"`abnormal`\" pulumi-lang-python=\"`abnormal`\" pulumi-lang-yaml=\"`abnormal`\" pulumi-lang-java=\"`abnormal`\"\u003e`abnormal`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`terminating`\" pulumi-lang-dotnet=\"`Terminating`\" pulumi-lang-go=\"`terminating`\" pulumi-lang-python=\"`terminating`\" pulumi-lang-yaml=\"`terminating`\" pulumi-lang-java=\"`terminating`\"\u003e`terminating`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`rebooting`\" pulumi-lang-dotnet=\"`Rebooting`\" pulumi-lang-go=\"`rebooting`\" pulumi-lang-python=\"`rebooting`\" pulumi-lang-yaml=\"`rebooting`\" pulumi-lang-java=\"`rebooting`\"\u003e`rebooting`\u003c/span\u003e,\n\u003cspan pulumi-lang-nodejs=\"`shutdown`\" pulumi-lang-dotnet=\"`Shutdown`\" pulumi-lang-go=\"`shutdown`\" pulumi-lang-python=\"`shutdown`\" pulumi-lang-yaml=\"`shutdown`\" pulumi-lang-java=\"`shutdown`\"\u003e`shutdown`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`frozen`\" pulumi-lang-dotnet=\"`Frozen`\" pulumi-lang-go=\"`frozen`\" pulumi-lang-python=\"`frozen`\" pulumi-lang-yaml=\"`frozen`\" pulumi-lang-java=\"`frozen`\"\u003e`frozen`\u003c/span\u003e, `scaling-out`, `scaling-in`, `scaling-error`.\n"},"clusterType":{"type":"number","description":"Type of clusters. \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e: analysis cluster, \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e: streaming cluster The default value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"clusterVersion":{"type":"string","description":"Version of the clusters. Please refer to `Table 1` in the [API document](https://docs.otc.t-systems.com/mapreduce-service/api-ref/apis/cluster_management_apis_v1/creating_a_cluster_and_running_a_job.html) for supported versions.\n"},"componentLists":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FMrsClusterV1ComponentList:MrsClusterV1ComponentList"},"description":"Service component list.\n"},"coreDataVolumeCount":{"type":"number","description":"Number of data disks of the Core node. Value range: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e.\n"},"coreDataVolumeSize":{"type":"number","description":"Data disk size of the Core node. Value range: \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e GB to \u003cspan pulumi-lang-nodejs=\"`32000`\" pulumi-lang-dotnet=\"`32000`\" pulumi-lang-go=\"`32000`\" pulumi-lang-python=\"`32000`\" pulumi-lang-yaml=\"`32000`\" pulumi-lang-java=\"`32000`\"\u003e`32000`\u003c/span\u003e GB.\n"},"coreDataVolumeType":{"type":"string","description":"Data disk storage type of the Core node.  Supported values: `SAS` (High I/O), `SSD` (Ultra-high I/O).\n"},"coreNodeNum":{"type":"number","description":"Number of Core nodes Value range: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`500`\" pulumi-lang-dotnet=\"`500`\" pulumi-lang-go=\"`500`\" pulumi-lang-python=\"`500`\" pulumi-lang-yaml=\"`500`\" pulumi-lang-java=\"`500`\"\u003e`500`\u003c/span\u003e. A maximum of \u003cspan pulumi-lang-nodejs=\"`500`\" pulumi-lang-dotnet=\"`500`\" pulumi-lang-go=\"`500`\" pulumi-lang-python=\"`500`\" pulumi-lang-yaml=\"`500`\" pulumi-lang-java=\"`500`\"\u003e`500`\u003c/span\u003e Core nodes are supported by default. If more than \u003cspan pulumi-lang-nodejs=\"`500`\" pulumi-lang-dotnet=\"`500`\" pulumi-lang-go=\"`500`\" pulumi-lang-python=\"`500`\" pulumi-lang-yaml=\"`500`\" pulumi-lang-java=\"`500`\"\u003e`500`\u003c/span\u003e Core nodes are required, contact technical support engineers or invoke background APIs to modify the database.\n"},"coreNodeProductId":{"type":"string","description":"Product ID of a Core node.\n"},"coreNodeSize":{"type":"string","description":"Instance specification of a Core node Configuration method of this parameter is identical to that of \u003cspan pulumi-lang-nodejs=\"`masterNodeSize`\" pulumi-lang-dotnet=\"`MasterNodeSize`\" pulumi-lang-go=\"`masterNodeSize`\" pulumi-lang-python=\"`master_node_size`\" pulumi-lang-yaml=\"`masterNodeSize`\" pulumi-lang-java=\"`masterNodeSize`\"\u003e`master_node_size`\u003c/span\u003e.\n"},"coreNodeSpecId":{"type":"string","description":"Specification ID of a Core node.\n"},"createAt":{"type":"string","description":"Cluster creation time.\n"},"deploymentId":{"type":"string","description":"Deployment ID of a cluster.\n"},"errorInfo":{"type":"string","description":"Error information.\n"},"externalAlternateIp":{"type":"string","description":"Backup external IP address.\n"},"externalIp":{"type":"string","description":"External IP address.\n"},"fee":{"type":"string","description":"Cluster creation fee, which is automatically calculated.\n"},"hadoopVersion":{"type":"string","description":"Hadoop version.\n"},"instanceId":{"type":"string","description":"Instance ID.\n"},"internalIp":{"type":"string"},"logCollection":{"type":"number","description":"Indicates whether logs are collected when cluster installation fails. \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e: not collected. \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e: collected. The default value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e. If \u003cspan pulumi-lang-nodejs=\"`logCollection`\" pulumi-lang-dotnet=\"`LogCollection`\" pulumi-lang-go=\"`logCollection`\" pulumi-lang-python=\"`log_collection`\" pulumi-lang-yaml=\"`logCollection`\" pulumi-lang-java=\"`logCollection`\"\u003e`log_collection`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, OBS buckets will be created to collect the MRS logs. These buckets will be charged.\n"},"masterDataVolumeCount":{"type":"number","description":"Number of data disks of the Master node. The value can be set to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e only.\n"},"masterDataVolumeSize":{"type":"number","description":"Data disk size of the Master node. Value range: \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e GB to \u003cspan pulumi-lang-nodejs=\"`32000`\" pulumi-lang-dotnet=\"`32000`\" pulumi-lang-go=\"`32000`\" pulumi-lang-python=\"`32000`\" pulumi-lang-yaml=\"`32000`\" pulumi-lang-java=\"`32000`\"\u003e`32000`\u003c/span\u003e GB.\n"},"masterDataVolumeType":{"type":"string","description":"Data disk storage type of the Master node. Supported values: `SAS` (High I/O), `SSD` (Ultra-high I/O).\n"},"masterNodeIp":{"type":"string","description":"IP address of a Master node.\n"},"masterNodeNum":{"type":"number","description":"Number of Master nodes.\n"},"masterNodeProductId":{"type":"string","description":"Product ID of a Master node.\n"},"masterNodeSize":{"type":"string","description":"Instance specifications of the Master node, for example, `c6.4xlarge.4linux.mrs`. MRS supports host specifications determined by CPU, memory, and disk space. For details about instance specifications, see [ECS Specifications Used by MRS](https://docs.otc.t-systems.com/mapreduce-service/api-ref/appendix/ecs_specifications_used_by_mrs.html#mrs-01-9005).\n"},"masterNodeSpecId":{"type":"string","description":"Specification ID of a Master node.\n"},"mrsClusterV1Id":{"type":"string"},"nodePublicCertName":{"type":"string","description":"Name of a key pair You can use a key to log in to the Master node in the cluster.\n"},"orderId":{"type":"string","description":"Order ID for creating clusters.\n"},"privateIpFirst":{"type":"string","description":"Primary private IP address.\n"},"region":{"type":"string"},"remark":{"type":"string","description":"Remarks of a cluster.\n"},"safeMode":{"type":"number","description":"MRS cluster running mode \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e: common mode. The value indicates that the Kerberos authentication is disabled. Users can use all functions provided by the cluster. \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e: safe mode. The value indicates that the Kerberos authentication is enabled. Common users cannot use the file management or job management functions of an MRS cluster and cannot view cluster resource usage or the job records of Hadoop and Spark. To use these functions, the users must obtain the relevant permissions from the MRS Manager administrator. The request has the \u003cspan pulumi-lang-nodejs=\"`clusterAdminSecret`\" pulumi-lang-dotnet=\"`ClusterAdminSecret`\" pulumi-lang-go=\"`clusterAdminSecret`\" pulumi-lang-python=\"`cluster_admin_secret`\" pulumi-lang-yaml=\"`clusterAdminSecret`\" pulumi-lang-java=\"`clusterAdminSecret`\"\u003e`cluster_admin_secret`\u003c/span\u003e parameter only when \u003cspan pulumi-lang-nodejs=\"`safeMode`\" pulumi-lang-dotnet=\"`SafeMode`\" pulumi-lang-go=\"`safeMode`\" pulumi-lang-python=\"`safe_mode`\" pulumi-lang-yaml=\"`safeMode`\" pulumi-lang-java=\"`safeMode`\"\u003e`safe_mode`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"securityGroupsId":{"type":"string","description":"Security group ID.\n"},"slaveSecurityGroupsId":{"type":"string","description":"Standby security group ID.\n"},"subnetId":{"type":"string","description":"Subnet ID Obtain the subnet ID from the management console as follows: Register an account and log in to the management console. Click Virtual Private Cloud and select Virtual Private Cloud from the left list. On the Virtual Private Cloud page, obtain the subnet ID from the list.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags key/value pairs to associate with the cluster.\n"},"tenantId":{"type":"string","description":"Project ID.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FMrsClusterV1Timeouts:MrsClusterV1Timeouts"},"updateAt":{"type":"string","description":"Cluster update time.\n"},"vnc":{"type":"string","description":"URI address for remote login of the elastic cloud server.\n"},"volumeSize":{"type":"number","description":"Data disk storage space of a Core node Users can add disks to expand storage capacity when creating a cluster. There are the following scenarios: Separation of data storage and computing: Data is stored in the OBS system. Costs of clusters are relatively low but computing performance is poor. The clusters can be deleted at any time. It is recommended when data computing is not frequently performed. Integration of data storage and computing: Data is stored in the HDFS system. Costs of clusters are relatively high but computing performance is good. The clusters cannot be deleted in a short term. It is recommended when data computing is frequently performed. Value range: \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e GB to \u003cspan pulumi-lang-nodejs=\"`32000`\" pulumi-lang-dotnet=\"`32000`\" pulumi-lang-go=\"`32000`\" pulumi-lang-python=\"`32000`\" pulumi-lang-yaml=\"`32000`\" pulumi-lang-java=\"`32000`\"\u003e`32000`\u003c/span\u003e GB.\n"},"volumeType":{"type":"string","description":"Type of disks. Supported values: `SAS` (High I/O), `SSD` (Ultra-high I/O).\n"},"vpcId":{"type":"string","description":"ID of the VPC where the subnet locates Obtain the VPC ID from the management console as follows: Register an account and log in to the management console. Click Virtual Private Cloud and select Virtual Private Cloud from the left list. On the Virtual Private Cloud page, obtain the VPC ID from the list.\n"}},"type":"object","required":["availableZoneId","availableZoneName","billingType","chargingStartTime","clusterAdminSecret","clusterId","clusterName","clusterState","clusterType","clusterVersion","componentLists","coreDataVolumeCount","coreDataVolumeSize","coreDataVolumeType","coreNodeNum","coreNodeProductId","coreNodeSize","coreNodeSpecId","createAt","deploymentId","errorInfo","externalAlternateIp","externalIp","fee","hadoopVersion","instanceId","internalIp","logCollection","masterDataVolumeCount","masterDataVolumeSize","masterDataVolumeType","masterNodeIp","masterNodeNum","masterNodeProductId","masterNodeSize","masterNodeSpecId","mrsClusterV1Id","nodePublicCertName","orderId","privateIpFirst","region","remark","safeMode","securityGroupsId","slaveSecurityGroupsId","subnetId","tenantId","updateAt","vnc","volumeSize","volumeType","vpcId"],"inputProperties":{"addJobs":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FMrsClusterV1AddJob:MrsClusterV1AddJob"},"description":"You can submit a job when you create a cluster to save time and use MRS easily. Only one job can be added.\n"},"availableZoneId":{"type":"string","description":"ID of an available zone. Obtain the value from Regions and Endpoints.\n"},"billingType":{"type":"number","description":"The value is \u003cspan pulumi-lang-nodejs=\"`12`\" pulumi-lang-dotnet=\"`12`\" pulumi-lang-go=\"`12`\" pulumi-lang-python=\"`12`\" pulumi-lang-yaml=\"`12`\" pulumi-lang-java=\"`12`\"\u003e`12`\u003c/span\u003e, indicating on-demand payment.\n"},"bootstrapScripts":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FMrsClusterV1BootstrapScript:MrsClusterV1BootstrapScript"},"description":"Bootstrap action scripts. For details, see\u003cspan pulumi-lang-nodejs=\" bootstrapScripts \" pulumi-lang-dotnet=\" BootstrapScripts \" pulumi-lang-go=\" bootstrapScripts \" pulumi-lang-python=\" bootstrap_scripts \" pulumi-lang-yaml=\" bootstrapScripts \" pulumi-lang-java=\" bootstrapScripts \"\u003e bootstrap_scripts \u003c/span\u003eblock below.\n"},"clusterAdminSecret":{"type":"string","description":"Indicates the password of the MRS Manager administrator. The password must contain \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e characters. Must contain at least two types of the following: Lowercase letters, Uppercase letters, Digits, Special characters `~!@#$%^\u0026*()-_=+\\|[{}];:'\",\u003c.\u003e/?` and spaces.\n"},"clusterName":{"type":"string","description":"Cluster name, which is globally unique and contains only \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e letters, digits, hyphens (-), and underscores (_).\n"},"clusterType":{"type":"number","description":"Type of clusters. \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e: analysis cluster, \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e: streaming cluster The default value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"clusterVersion":{"type":"string","description":"Version of the clusters. Please refer to `Table 1` in the [API document](https://docs.otc.t-systems.com/mapreduce-service/api-ref/apis/cluster_management_apis_v1/creating_a_cluster_and_running_a_job.html) for supported versions.\n"},"componentLists":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FMrsClusterV1ComponentList:MrsClusterV1ComponentList"},"description":"Service component list.\n"},"coreDataVolumeCount":{"type":"number","description":"Number of data disks of the Core node. Value range: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e.\n"},"coreDataVolumeSize":{"type":"number","description":"Data disk size of the Core node. Value range: \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e GB to \u003cspan pulumi-lang-nodejs=\"`32000`\" pulumi-lang-dotnet=\"`32000`\" pulumi-lang-go=\"`32000`\" pulumi-lang-python=\"`32000`\" pulumi-lang-yaml=\"`32000`\" pulumi-lang-java=\"`32000`\"\u003e`32000`\u003c/span\u003e GB.\n"},"coreDataVolumeType":{"type":"string","description":"Data disk storage type of the Core node.  Supported values: `SAS` (High I/O), `SSD` (Ultra-high I/O).\n"},"coreNodeNum":{"type":"number","description":"Number of Core nodes Value range: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`500`\" pulumi-lang-dotnet=\"`500`\" pulumi-lang-go=\"`500`\" pulumi-lang-python=\"`500`\" pulumi-lang-yaml=\"`500`\" pulumi-lang-java=\"`500`\"\u003e`500`\u003c/span\u003e. A maximum of \u003cspan pulumi-lang-nodejs=\"`500`\" pulumi-lang-dotnet=\"`500`\" pulumi-lang-go=\"`500`\" pulumi-lang-python=\"`500`\" pulumi-lang-yaml=\"`500`\" pulumi-lang-java=\"`500`\"\u003e`500`\u003c/span\u003e Core nodes are supported by default. If more than \u003cspan pulumi-lang-nodejs=\"`500`\" pulumi-lang-dotnet=\"`500`\" pulumi-lang-go=\"`500`\" pulumi-lang-python=\"`500`\" pulumi-lang-yaml=\"`500`\" pulumi-lang-java=\"`500`\"\u003e`500`\u003c/span\u003e Core nodes are required, contact technical support engineers or invoke background APIs to modify the database.\n"},"coreNodeSize":{"type":"string","description":"Instance specification of a Core node Configuration method of this parameter is identical to that of \u003cspan pulumi-lang-nodejs=\"`masterNodeSize`\" pulumi-lang-dotnet=\"`MasterNodeSize`\" pulumi-lang-go=\"`masterNodeSize`\" pulumi-lang-python=\"`master_node_size`\" pulumi-lang-yaml=\"`masterNodeSize`\" pulumi-lang-java=\"`masterNodeSize`\"\u003e`master_node_size`\u003c/span\u003e.\n"},"logCollection":{"type":"number","description":"Indicates whether logs are collected when cluster installation fails. \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e: not collected. \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e: collected. The default value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e. If \u003cspan pulumi-lang-nodejs=\"`logCollection`\" pulumi-lang-dotnet=\"`LogCollection`\" pulumi-lang-go=\"`logCollection`\" pulumi-lang-python=\"`log_collection`\" pulumi-lang-yaml=\"`logCollection`\" pulumi-lang-java=\"`logCollection`\"\u003e`log_collection`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, OBS buckets will be created to collect the MRS logs. These buckets will be charged.\n"},"masterDataVolumeCount":{"type":"number","description":"Number of data disks of the Master node. The value can be set to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e only.\n"},"masterDataVolumeSize":{"type":"number","description":"Data disk size of the Master node. Value range: \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e GB to \u003cspan pulumi-lang-nodejs=\"`32000`\" pulumi-lang-dotnet=\"`32000`\" pulumi-lang-go=\"`32000`\" pulumi-lang-python=\"`32000`\" pulumi-lang-yaml=\"`32000`\" pulumi-lang-java=\"`32000`\"\u003e`32000`\u003c/span\u003e GB.\n"},"masterDataVolumeType":{"type":"string","description":"Data disk storage type of the Master node. Supported values: `SAS` (High I/O), `SSD` (Ultra-high I/O).\n"},"masterNodeNum":{"type":"number","description":"Number of Master nodes.\n"},"masterNodeSize":{"type":"string","description":"Instance specifications of the Master node, for example, `c6.4xlarge.4linux.mrs`. MRS supports host specifications determined by CPU, memory, and disk space. For details about instance specifications, see [ECS Specifications Used by MRS](https://docs.otc.t-systems.com/mapreduce-service/api-ref/appendix/ecs_specifications_used_by_mrs.html#mrs-01-9005).\n"},"mrsClusterV1Id":{"type":"string"},"nodePublicCertName":{"type":"string","description":"Name of a key pair You can use a key to log in to the Master node in the cluster.\n"},"region":{"type":"string"},"safeMode":{"type":"number","description":"MRS cluster running mode \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e: common mode. The value indicates that the Kerberos authentication is disabled. Users can use all functions provided by the cluster. \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e: safe mode. The value indicates that the Kerberos authentication is enabled. Common users cannot use the file management or job management functions of an MRS cluster and cannot view cluster resource usage or the job records of Hadoop and Spark. To use these functions, the users must obtain the relevant permissions from the MRS Manager administrator. The request has the \u003cspan pulumi-lang-nodejs=\"`clusterAdminSecret`\" pulumi-lang-dotnet=\"`ClusterAdminSecret`\" pulumi-lang-go=\"`clusterAdminSecret`\" pulumi-lang-python=\"`cluster_admin_secret`\" pulumi-lang-yaml=\"`clusterAdminSecret`\" pulumi-lang-java=\"`clusterAdminSecret`\"\u003e`cluster_admin_secret`\u003c/span\u003e parameter only when \u003cspan pulumi-lang-nodejs=\"`safeMode`\" pulumi-lang-dotnet=\"`SafeMode`\" pulumi-lang-go=\"`safeMode`\" pulumi-lang-python=\"`safe_mode`\" pulumi-lang-yaml=\"`safeMode`\" pulumi-lang-java=\"`safeMode`\"\u003e`safe_mode`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"subnetId":{"type":"string","description":"Subnet ID Obtain the subnet ID from the management console as follows: Register an account and log in to the management console. Click Virtual Private Cloud and select Virtual Private Cloud from the left list. On the Virtual Private Cloud page, obtain the subnet ID from the list.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags key/value pairs to associate with the cluster.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FMrsClusterV1Timeouts:MrsClusterV1Timeouts"},"volumeSize":{"type":"number","description":"Data disk storage space of a Core node Users can add disks to expand storage capacity when creating a cluster. There are the following scenarios: Separation of data storage and computing: Data is stored in the OBS system. Costs of clusters are relatively low but computing performance is poor. The clusters can be deleted at any time. It is recommended when data computing is not frequently performed. Integration of data storage and computing: Data is stored in the HDFS system. Costs of clusters are relatively high but computing performance is good. The clusters cannot be deleted in a short term. It is recommended when data computing is frequently performed. Value range: \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e GB to \u003cspan pulumi-lang-nodejs=\"`32000`\" pulumi-lang-dotnet=\"`32000`\" pulumi-lang-go=\"`32000`\" pulumi-lang-python=\"`32000`\" pulumi-lang-yaml=\"`32000`\" pulumi-lang-java=\"`32000`\"\u003e`32000`\u003c/span\u003e GB.\n"},"volumeType":{"type":"string","description":"Type of disks. Supported values: `SAS` (High I/O), `SSD` (Ultra-high I/O).\n"},"vpcId":{"type":"string","description":"ID of the VPC where the subnet locates Obtain the VPC ID from the management console as follows: Register an account and log in to the management console. Click Virtual Private Cloud and select Virtual Private Cloud from the left list. On the Virtual Private Cloud page, obtain the VPC ID from the list.\n"}},"requiredInputs":["availableZoneId","billingType","clusterName","clusterVersion","componentLists","coreNodeNum","coreNodeSize","masterNodeNum","masterNodeSize","nodePublicCertName","safeMode","subnetId","vpcId"],"stateInputs":{"description":"Input properties used for looking up and filtering MrsClusterV1 resources.\n","properties":{"addJobs":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FMrsClusterV1AddJob:MrsClusterV1AddJob"},"description":"You can submit a job when you create a cluster to save time and use MRS easily. Only one job can be added.\n"},"availableZoneId":{"type":"string","description":"ID of an available zone. Obtain the value from Regions and Endpoints.\n"},"availableZoneName":{"type":"string","description":"Name of an availability zone.\n"},"billingType":{"type":"number","description":"The value is \u003cspan pulumi-lang-nodejs=\"`12`\" pulumi-lang-dotnet=\"`12`\" pulumi-lang-go=\"`12`\" pulumi-lang-python=\"`12`\" pulumi-lang-yaml=\"`12`\" pulumi-lang-java=\"`12`\"\u003e`12`\u003c/span\u003e, indicating on-demand payment.\n"},"bootstrapScripts":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FMrsClusterV1BootstrapScript:MrsClusterV1BootstrapScript"},"description":"Bootstrap action scripts. For details, see\u003cspan pulumi-lang-nodejs=\" bootstrapScripts \" pulumi-lang-dotnet=\" BootstrapScripts \" pulumi-lang-go=\" bootstrapScripts \" pulumi-lang-python=\" bootstrap_scripts \" pulumi-lang-yaml=\" bootstrapScripts \" pulumi-lang-java=\" bootstrapScripts \"\u003e bootstrap_scripts \u003c/span\u003eblock below.\n"},"chargingStartTime":{"type":"string","description":"Time when charging starts.\n"},"clusterAdminSecret":{"type":"string","description":"Indicates the password of the MRS Manager administrator. The password must contain \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e characters. Must contain at least two types of the following: Lowercase letters, Uppercase letters, Digits, Special characters `~!@#$%^\u0026*()-_=+\\|[{}];:'\",\u003c.\u003e/?` and spaces.\n"},"clusterId":{"type":"string","description":"Cluster ID.\n"},"clusterName":{"type":"string","description":"Cluster name, which is globally unique and contains only \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e letters, digits, hyphens (-), and underscores (_).\n"},"clusterState":{"type":"string","description":"Cluster status. Valid values include: existing history: \u003cspan pulumi-lang-nodejs=\"`starting`\" pulumi-lang-dotnet=\"`Starting`\" pulumi-lang-go=\"`starting`\" pulumi-lang-python=\"`starting`\" pulumi-lang-yaml=\"`starting`\" pulumi-lang-java=\"`starting`\"\u003e`starting`\u003c/span\u003e,\n\u003cspan pulumi-lang-nodejs=\"`running`\" pulumi-lang-dotnet=\"`Running`\" pulumi-lang-go=\"`running`\" pulumi-lang-python=\"`running`\" pulumi-lang-yaml=\"`running`\" pulumi-lang-java=\"`running`\"\u003e`running`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`terminated`\" pulumi-lang-dotnet=\"`Terminated`\" pulumi-lang-go=\"`terminated`\" pulumi-lang-python=\"`terminated`\" pulumi-lang-yaml=\"`terminated`\" pulumi-lang-java=\"`terminated`\"\u003e`terminated`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`failed`\" pulumi-lang-dotnet=\"`Failed`\" pulumi-lang-go=\"`failed`\" pulumi-lang-python=\"`failed`\" pulumi-lang-yaml=\"`failed`\" pulumi-lang-java=\"`failed`\"\u003e`failed`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`abnormal`\" pulumi-lang-dotnet=\"`Abnormal`\" pulumi-lang-go=\"`abnormal`\" pulumi-lang-python=\"`abnormal`\" pulumi-lang-yaml=\"`abnormal`\" pulumi-lang-java=\"`abnormal`\"\u003e`abnormal`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`terminating`\" pulumi-lang-dotnet=\"`Terminating`\" pulumi-lang-go=\"`terminating`\" pulumi-lang-python=\"`terminating`\" pulumi-lang-yaml=\"`terminating`\" pulumi-lang-java=\"`terminating`\"\u003e`terminating`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`rebooting`\" pulumi-lang-dotnet=\"`Rebooting`\" pulumi-lang-go=\"`rebooting`\" pulumi-lang-python=\"`rebooting`\" pulumi-lang-yaml=\"`rebooting`\" pulumi-lang-java=\"`rebooting`\"\u003e`rebooting`\u003c/span\u003e,\n\u003cspan pulumi-lang-nodejs=\"`shutdown`\" pulumi-lang-dotnet=\"`Shutdown`\" pulumi-lang-go=\"`shutdown`\" pulumi-lang-python=\"`shutdown`\" pulumi-lang-yaml=\"`shutdown`\" pulumi-lang-java=\"`shutdown`\"\u003e`shutdown`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`frozen`\" pulumi-lang-dotnet=\"`Frozen`\" pulumi-lang-go=\"`frozen`\" pulumi-lang-python=\"`frozen`\" pulumi-lang-yaml=\"`frozen`\" pulumi-lang-java=\"`frozen`\"\u003e`frozen`\u003c/span\u003e, `scaling-out`, `scaling-in`, `scaling-error`.\n"},"clusterType":{"type":"number","description":"Type of clusters. \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e: analysis cluster, \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e: streaming cluster The default value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"clusterVersion":{"type":"string","description":"Version of the clusters. Please refer to `Table 1` in the [API document](https://docs.otc.t-systems.com/mapreduce-service/api-ref/apis/cluster_management_apis_v1/creating_a_cluster_and_running_a_job.html) for supported versions.\n"},"componentLists":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FMrsClusterV1ComponentList:MrsClusterV1ComponentList"},"description":"Service component list.\n"},"coreDataVolumeCount":{"type":"number","description":"Number of data disks of the Core node. Value range: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e.\n"},"coreDataVolumeSize":{"type":"number","description":"Data disk size of the Core node. Value range: \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e GB to \u003cspan pulumi-lang-nodejs=\"`32000`\" pulumi-lang-dotnet=\"`32000`\" pulumi-lang-go=\"`32000`\" pulumi-lang-python=\"`32000`\" pulumi-lang-yaml=\"`32000`\" pulumi-lang-java=\"`32000`\"\u003e`32000`\u003c/span\u003e GB.\n"},"coreDataVolumeType":{"type":"string","description":"Data disk storage type of the Core node.  Supported values: `SAS` (High I/O), `SSD` (Ultra-high I/O).\n"},"coreNodeNum":{"type":"number","description":"Number of Core nodes Value range: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`500`\" pulumi-lang-dotnet=\"`500`\" pulumi-lang-go=\"`500`\" pulumi-lang-python=\"`500`\" pulumi-lang-yaml=\"`500`\" pulumi-lang-java=\"`500`\"\u003e`500`\u003c/span\u003e. A maximum of \u003cspan pulumi-lang-nodejs=\"`500`\" pulumi-lang-dotnet=\"`500`\" pulumi-lang-go=\"`500`\" pulumi-lang-python=\"`500`\" pulumi-lang-yaml=\"`500`\" pulumi-lang-java=\"`500`\"\u003e`500`\u003c/span\u003e Core nodes are supported by default. If more than \u003cspan pulumi-lang-nodejs=\"`500`\" pulumi-lang-dotnet=\"`500`\" pulumi-lang-go=\"`500`\" pulumi-lang-python=\"`500`\" pulumi-lang-yaml=\"`500`\" pulumi-lang-java=\"`500`\"\u003e`500`\u003c/span\u003e Core nodes are required, contact technical support engineers or invoke background APIs to modify the database.\n"},"coreNodeProductId":{"type":"string","description":"Product ID of a Core node.\n"},"coreNodeSize":{"type":"string","description":"Instance specification of a Core node Configuration method of this parameter is identical to that of \u003cspan pulumi-lang-nodejs=\"`masterNodeSize`\" pulumi-lang-dotnet=\"`MasterNodeSize`\" pulumi-lang-go=\"`masterNodeSize`\" pulumi-lang-python=\"`master_node_size`\" pulumi-lang-yaml=\"`masterNodeSize`\" pulumi-lang-java=\"`masterNodeSize`\"\u003e`master_node_size`\u003c/span\u003e.\n"},"coreNodeSpecId":{"type":"string","description":"Specification ID of a Core node.\n"},"createAt":{"type":"string","description":"Cluster creation time.\n"},"deploymentId":{"type":"string","description":"Deployment ID of a cluster.\n"},"errorInfo":{"type":"string","description":"Error information.\n"},"externalAlternateIp":{"type":"string","description":"Backup external IP address.\n"},"externalIp":{"type":"string","description":"External IP address.\n"},"fee":{"type":"string","description":"Cluster creation fee, which is automatically calculated.\n"},"hadoopVersion":{"type":"string","description":"Hadoop version.\n"},"instanceId":{"type":"string","description":"Instance ID.\n"},"internalIp":{"type":"string"},"logCollection":{"type":"number","description":"Indicates whether logs are collected when cluster installation fails. \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e: not collected. \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e: collected. The default value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e. If \u003cspan pulumi-lang-nodejs=\"`logCollection`\" pulumi-lang-dotnet=\"`LogCollection`\" pulumi-lang-go=\"`logCollection`\" pulumi-lang-python=\"`log_collection`\" pulumi-lang-yaml=\"`logCollection`\" pulumi-lang-java=\"`logCollection`\"\u003e`log_collection`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, OBS buckets will be created to collect the MRS logs. These buckets will be charged.\n"},"masterDataVolumeCount":{"type":"number","description":"Number of data disks of the Master node. The value can be set to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e only.\n"},"masterDataVolumeSize":{"type":"number","description":"Data disk size of the Master node. Value range: \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e GB to \u003cspan pulumi-lang-nodejs=\"`32000`\" pulumi-lang-dotnet=\"`32000`\" pulumi-lang-go=\"`32000`\" pulumi-lang-python=\"`32000`\" pulumi-lang-yaml=\"`32000`\" pulumi-lang-java=\"`32000`\"\u003e`32000`\u003c/span\u003e GB.\n"},"masterDataVolumeType":{"type":"string","description":"Data disk storage type of the Master node. Supported values: `SAS` (High I/O), `SSD` (Ultra-high I/O).\n"},"masterNodeIp":{"type":"string","description":"IP address of a Master node.\n"},"masterNodeNum":{"type":"number","description":"Number of Master nodes.\n"},"masterNodeProductId":{"type":"string","description":"Product ID of a Master node.\n"},"masterNodeSize":{"type":"string","description":"Instance specifications of the Master node, for example, `c6.4xlarge.4linux.mrs`. MRS supports host specifications determined by CPU, memory, and disk space. For details about instance specifications, see [ECS Specifications Used by MRS](https://docs.otc.t-systems.com/mapreduce-service/api-ref/appendix/ecs_specifications_used_by_mrs.html#mrs-01-9005).\n"},"masterNodeSpecId":{"type":"string","description":"Specification ID of a Master node.\n"},"mrsClusterV1Id":{"type":"string"},"nodePublicCertName":{"type":"string","description":"Name of a key pair You can use a key to log in to the Master node in the cluster.\n"},"orderId":{"type":"string","description":"Order ID for creating clusters.\n"},"privateIpFirst":{"type":"string","description":"Primary private IP address.\n"},"region":{"type":"string"},"remark":{"type":"string","description":"Remarks of a cluster.\n"},"safeMode":{"type":"number","description":"MRS cluster running mode \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e: common mode. The value indicates that the Kerberos authentication is disabled. Users can use all functions provided by the cluster. \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e: safe mode. The value indicates that the Kerberos authentication is enabled. Common users cannot use the file management or job management functions of an MRS cluster and cannot view cluster resource usage or the job records of Hadoop and Spark. To use these functions, the users must obtain the relevant permissions from the MRS Manager administrator. The request has the \u003cspan pulumi-lang-nodejs=\"`clusterAdminSecret`\" pulumi-lang-dotnet=\"`ClusterAdminSecret`\" pulumi-lang-go=\"`clusterAdminSecret`\" pulumi-lang-python=\"`cluster_admin_secret`\" pulumi-lang-yaml=\"`clusterAdminSecret`\" pulumi-lang-java=\"`clusterAdminSecret`\"\u003e`cluster_admin_secret`\u003c/span\u003e parameter only when \u003cspan pulumi-lang-nodejs=\"`safeMode`\" pulumi-lang-dotnet=\"`SafeMode`\" pulumi-lang-go=\"`safeMode`\" pulumi-lang-python=\"`safe_mode`\" pulumi-lang-yaml=\"`safeMode`\" pulumi-lang-java=\"`safeMode`\"\u003e`safe_mode`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"securityGroupsId":{"type":"string","description":"Security group ID.\n"},"slaveSecurityGroupsId":{"type":"string","description":"Standby security group ID.\n"},"subnetId":{"type":"string","description":"Subnet ID Obtain the subnet ID from the management console as follows: Register an account and log in to the management console. Click Virtual Private Cloud and select Virtual Private Cloud from the left list. On the Virtual Private Cloud page, obtain the subnet ID from the list.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags key/value pairs to associate with the cluster.\n"},"tenantId":{"type":"string","description":"Project ID.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FMrsClusterV1Timeouts:MrsClusterV1Timeouts"},"updateAt":{"type":"string","description":"Cluster update time.\n"},"vnc":{"type":"string","description":"URI address for remote login of the elastic cloud server.\n"},"volumeSize":{"type":"number","description":"Data disk storage space of a Core node Users can add disks to expand storage capacity when creating a cluster. There are the following scenarios: Separation of data storage and computing: Data is stored in the OBS system. Costs of clusters are relatively low but computing performance is poor. The clusters can be deleted at any time. It is recommended when data computing is not frequently performed. Integration of data storage and computing: Data is stored in the HDFS system. Costs of clusters are relatively high but computing performance is good. The clusters cannot be deleted in a short term. It is recommended when data computing is frequently performed. Value range: \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e GB to \u003cspan pulumi-lang-nodejs=\"`32000`\" pulumi-lang-dotnet=\"`32000`\" pulumi-lang-go=\"`32000`\" pulumi-lang-python=\"`32000`\" pulumi-lang-yaml=\"`32000`\" pulumi-lang-java=\"`32000`\"\u003e`32000`\u003c/span\u003e GB.\n"},"volumeType":{"type":"string","description":"Type of disks. Supported values: `SAS` (High I/O), `SSD` (Ultra-high I/O).\n"},"vpcId":{"type":"string","description":"ID of the VPC where the subnet locates Obtain the VPC ID from the management console as follows: Register an account and log in to the management console. Click Virtual Private Cloud and select Virtual Private Cloud from the left list. On the Virtual Private Cloud page, obtain the VPC ID from the list.\n"}},"type":"object"}},"opentelekomcloud:index/mrsJobV1:MrsJobV1":{"description":"Up-to-date reference of API arguments for MRS job you can get at\n[documentation portal](https://docs.otc.t-systems.com/mapreduce-service/api-ref/apis/job_object_apis_v1_not_recommended)\n\nManages resource job within OpenTelekomCloud MRS.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst job1 = new opentelekomcloud.MrsJobV1(\"job1\", {\n    jobType: 1,\n    jobName: \"test_mapreduce_job1\",\n    clusterId: \"ef43d2ff-1ecf-4f13-bd0c-0004c429a058\",\n    jarPath: \"s3a://wordcount/program/hadoop-mapreduce-examples-2.7.5.jar\",\n    input: \"s3a://wordcount/input/\",\n    output: \"s3a://wordcount/output/\",\n    jobLog: \"s3a://wordcount/log/\",\n    arguments: \"wordcount\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\njob1 = opentelekomcloud.MrsJobV1(\"job1\",\n    job_type=1,\n    job_name=\"test_mapreduce_job1\",\n    cluster_id=\"ef43d2ff-1ecf-4f13-bd0c-0004c429a058\",\n    jar_path=\"s3a://wordcount/program/hadoop-mapreduce-examples-2.7.5.jar\",\n    input=\"s3a://wordcount/input/\",\n    output=\"s3a://wordcount/output/\",\n    job_log=\"s3a://wordcount/log/\",\n    arguments=\"wordcount\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var job1 = new Opentelekomcloud.MrsJobV1(\"job1\", new()\n    {\n        JobType = 1,\n        JobName = \"test_mapreduce_job1\",\n        ClusterId = \"ef43d2ff-1ecf-4f13-bd0c-0004c429a058\",\n        JarPath = \"s3a://wordcount/program/hadoop-mapreduce-examples-2.7.5.jar\",\n        Input = \"s3a://wordcount/input/\",\n        Output = \"s3a://wordcount/output/\",\n        JobLog = \"s3a://wordcount/log/\",\n        Arguments = \"wordcount\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewMrsJobV1(ctx, \"job1\", \u0026opentelekomcloud.MrsJobV1Args{\n\t\t\tJobType:   pulumi.Float64(1),\n\t\t\tJobName:   pulumi.String(\"test_mapreduce_job1\"),\n\t\t\tClusterId: pulumi.String(\"ef43d2ff-1ecf-4f13-bd0c-0004c429a058\"),\n\t\t\tJarPath:   pulumi.String(\"s3a://wordcount/program/hadoop-mapreduce-examples-2.7.5.jar\"),\n\t\t\tInput:     pulumi.String(\"s3a://wordcount/input/\"),\n\t\t\tOutput:    pulumi.String(\"s3a://wordcount/output/\"),\n\t\t\tJobLog:    pulumi.String(\"s3a://wordcount/log/\"),\n\t\t\tArguments: pulumi.String(\"wordcount\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.MrsJobV1;\nimport com.pulumi.opentelekomcloud.MrsJobV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var job1 = new MrsJobV1(\"job1\", MrsJobV1Args.builder()\n            .jobType(1.0)\n            .jobName(\"test_mapreduce_job1\")\n            .clusterId(\"ef43d2ff-1ecf-4f13-bd0c-0004c429a058\")\n            .jarPath(\"s3a://wordcount/program/hadoop-mapreduce-examples-2.7.5.jar\")\n            .input(\"s3a://wordcount/input/\")\n            .output(\"s3a://wordcount/output/\")\n            .jobLog(\"s3a://wordcount/log/\")\n            .arguments(\"wordcount\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  job1:\n    type: opentelekomcloud:MrsJobV1\n    properties:\n      jobType: 1\n      jobName: test_mapreduce_job1\n      clusterId: ef43d2ff-1ecf-4f13-bd0c-0004c429a058\n      jarPath: s3a://wordcount/program/hadoop-mapreduce-examples-2.7.5.jar\n      input: s3a://wordcount/input/\n      output: s3a://wordcount/output/\n      jobLog: s3a://wordcount/log/\n      arguments: wordcount\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"arguments":{"type":"string","description":"Key parameter for program execution. The parameter\nis specified by the function of the user's program. MRS is only responsible\nfor loading the parameter. The parameter contains a maximum of 2047 characters,\nexcluding special characters such as ;|\u0026\u003e'\u003c$, and can be empty.\n"},"clusterId":{"type":"string","description":"Cluster ID\n"},"hiveScriptPath":{"type":"string","description":"SQL program path This parameter is needed\nby Spark Script and Hive Script jobs only and must meet the following requirements:\nContains a maximum of 1023 characters, excluding special characters such as\n;|\u0026\u003e\u003c'$. The address cannot be empty or full of spaces. Starts with / or s3a://.\nEnds with .sql. sql is case-insensitive.\n"},"input":{"type":"string","description":"Path for inputting data, which must start with / or s3a://.\nA correct OBS path is required. The parameter contains a maximum of 1023 characters,\nexcluding special characters such as ;|\u0026\u003e'\u003c$, and can be empty.\n"},"isProtected":{"type":"boolean","description":"Whether a job is protected true false The current\nversion does not support this function.\n"},"isPublic":{"type":"boolean","description":"Whether a job is public true false The current version\ndoes not support this function.\n"},"jarPath":{"type":"string","description":"Path of the .jar package or .sql file for program\nexecution The parameter must meet the following requirements: Contains a maximum\nof 1023 characters, excluding special characters such as ;|\u0026\u003e\u003c'$. The address\ncannot be empty or full of spaces. Starts with / or s3a://. Spark Script must\nend with .sql; while MapReduce and Spark Jar must end with .jar. sql and jar\nare case-insensitive.\n"},"jobLog":{"type":"string","description":"Path for storing job logs that record job running status.\nThis path must start with / or s3a://. A correct OBS path is required. The parameter\ncontains a maximum of 1023 characters, excluding special characters such as\n;|\u0026\u003e'\u003c$, and can be empty.\n"},"jobName":{"type":"string","description":"Job name Contains only 1 to 64 letters, digits, hyphens\n(-), and underscores (_).\n\n\u003e **Note:** Identical job names are allowed but not recommended.\n"},"jobState":{"type":"string"},"jobType":{"type":"number","description":"Job type\n* 1: MapReduce\n* 2: Spark\n* 3: Hive Script\n* 4: HiveQL (not supported currently)\n* 5: DistCp, importing and exporting data.\n* 6: Spark Script\n* 7: Spark SQL, submitting Spark SQL statements. (not supported in this  API currently)\n\n\u003e **Note:** Spark and Hive jobs can be added to only clusters including Spark and Hive components.\n"},"mrsJobV1Id":{"type":"string"},"output":{"type":"string","description":"Path for outputting data, which must start with / or\ns3a://. A correct OBS path is required. If the path does not exist, the system\nautomatically creates it. The parameter contains a maximum of 1023 characters,\nexcluding special characters such as ;|\u0026\u003e'\u003c$, and can be empty.\n"},"region":{"type":"string"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FMrsJobV1Timeouts:MrsJobV1Timeouts"}},"type":"object","required":["arguments","clusterId","hiveScriptPath","input","isProtected","isPublic","jarPath","jobLog","jobName","jobState","jobType","mrsJobV1Id","output","region"],"inputProperties":{"arguments":{"type":"string","description":"Key parameter for program execution. The parameter\nis specified by the function of the user's program. MRS is only responsible\nfor loading the parameter. The parameter contains a maximum of 2047 characters,\nexcluding special characters such as ;|\u0026\u003e'\u003c$, and can be empty.\n"},"clusterId":{"type":"string","description":"Cluster ID\n"},"hiveScriptPath":{"type":"string","description":"SQL program path This parameter is needed\nby Spark Script and Hive Script jobs only and must meet the following requirements:\nContains a maximum of 1023 characters, excluding special characters such as\n;|\u0026\u003e\u003c'$. The address cannot be empty or full of spaces. Starts with / or s3a://.\nEnds with .sql. sql is case-insensitive.\n"},"input":{"type":"string","description":"Path for inputting data, which must start with / or s3a://.\nA correct OBS path is required. The parameter contains a maximum of 1023 characters,\nexcluding special characters such as ;|\u0026\u003e'\u003c$, and can be empty.\n"},"isProtected":{"type":"boolean","description":"Whether a job is protected true false The current\nversion does not support this function.\n"},"isPublic":{"type":"boolean","description":"Whether a job is public true false The current version\ndoes not support this function.\n"},"jarPath":{"type":"string","description":"Path of the .jar package or .sql file for program\nexecution The parameter must meet the following requirements: Contains a maximum\nof 1023 characters, excluding special characters such as ;|\u0026\u003e\u003c'$. The address\ncannot be empty or full of spaces. Starts with / or s3a://. Spark Script must\nend with .sql; while MapReduce and Spark Jar must end with .jar. sql and jar\nare case-insensitive.\n"},"jobLog":{"type":"string","description":"Path for storing job logs that record job running status.\nThis path must start with / or s3a://. A correct OBS path is required. The parameter\ncontains a maximum of 1023 characters, excluding special characters such as\n;|\u0026\u003e'\u003c$, and can be empty.\n"},"jobName":{"type":"string","description":"Job name Contains only 1 to 64 letters, digits, hyphens\n(-), and underscores (_).\n\n\u003e **Note:** Identical job names are allowed but not recommended.\n"},"jobType":{"type":"number","description":"Job type\n* 1: MapReduce\n* 2: Spark\n* 3: Hive Script\n* 4: HiveQL (not supported currently)\n* 5: DistCp, importing and exporting data.\n* 6: Spark Script\n* 7: Spark SQL, submitting Spark SQL statements. (not supported in this  API currently)\n\n\u003e **Note:** Spark and Hive jobs can be added to only clusters including Spark and Hive components.\n"},"mrsJobV1Id":{"type":"string"},"output":{"type":"string","description":"Path for outputting data, which must start with / or\ns3a://. A correct OBS path is required. If the path does not exist, the system\nautomatically creates it. The parameter contains a maximum of 1023 characters,\nexcluding special characters such as ;|\u0026\u003e'\u003c$, and can be empty.\n"},"region":{"type":"string"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FMrsJobV1Timeouts:MrsJobV1Timeouts"}},"requiredInputs":["clusterId","jarPath","jobName","jobType"],"stateInputs":{"description":"Input properties used for looking up and filtering MrsJobV1 resources.\n","properties":{"arguments":{"type":"string","description":"Key parameter for program execution. The parameter\nis specified by the function of the user's program. MRS is only responsible\nfor loading the parameter. The parameter contains a maximum of 2047 characters,\nexcluding special characters such as ;|\u0026\u003e'\u003c$, and can be empty.\n"},"clusterId":{"type":"string","description":"Cluster ID\n"},"hiveScriptPath":{"type":"string","description":"SQL program path This parameter is needed\nby Spark Script and Hive Script jobs only and must meet the following requirements:\nContains a maximum of 1023 characters, excluding special characters such as\n;|\u0026\u003e\u003c'$. The address cannot be empty or full of spaces. Starts with / or s3a://.\nEnds with .sql. sql is case-insensitive.\n"},"input":{"type":"string","description":"Path for inputting data, which must start with / or s3a://.\nA correct OBS path is required. The parameter contains a maximum of 1023 characters,\nexcluding special characters such as ;|\u0026\u003e'\u003c$, and can be empty.\n"},"isProtected":{"type":"boolean","description":"Whether a job is protected true false The current\nversion does not support this function.\n"},"isPublic":{"type":"boolean","description":"Whether a job is public true false The current version\ndoes not support this function.\n"},"jarPath":{"type":"string","description":"Path of the .jar package or .sql file for program\nexecution The parameter must meet the following requirements: Contains a maximum\nof 1023 characters, excluding special characters such as ;|\u0026\u003e\u003c'$. The address\ncannot be empty or full of spaces. Starts with / or s3a://. Spark Script must\nend with .sql; while MapReduce and Spark Jar must end with .jar. sql and jar\nare case-insensitive.\n"},"jobLog":{"type":"string","description":"Path for storing job logs that record job running status.\nThis path must start with / or s3a://. A correct OBS path is required. The parameter\ncontains a maximum of 1023 characters, excluding special characters such as\n;|\u0026\u003e'\u003c$, and can be empty.\n"},"jobName":{"type":"string","description":"Job name Contains only 1 to 64 letters, digits, hyphens\n(-), and underscores (_).\n\n\u003e **Note:** Identical job names are allowed but not recommended.\n"},"jobState":{"type":"string"},"jobType":{"type":"number","description":"Job type\n* 1: MapReduce\n* 2: Spark\n* 3: Hive Script\n* 4: HiveQL (not supported currently)\n* 5: DistCp, importing and exporting data.\n* 6: Spark Script\n* 7: Spark SQL, submitting Spark SQL statements. (not supported in this  API currently)\n\n\u003e **Note:** Spark and Hive jobs can be added to only clusters including Spark and Hive components.\n"},"mrsJobV1Id":{"type":"string"},"output":{"type":"string","description":"Path for outputting data, which must start with / or\ns3a://. A correct OBS path is required. If the path does not exist, the system\nautomatically creates it. The parameter contains a maximum of 1023 characters,\nexcluding special characters such as ;|\u0026\u003e'\u003c$, and can be empty.\n"},"region":{"type":"string"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FMrsJobV1Timeouts:MrsJobV1Timeouts"}},"type":"object"}},"opentelekomcloud:index/natDnatRuleV2:NatDnatRuleV2":{"description":"Up-to-date reference of API arguments for NAT DNAT you can get at\n[documentation portal](https://docs.otc.t-systems.com/nat-gateway/api-ref/api_v2.0/dnat_rules)\n\nManages a V2 DNAT rule resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst natGwId = config.requireObject\u003cany\u003e(\"natGwId\");\nconst floatingIpId = config.requireObject\u003cany\u003e(\"floatingIpId\");\nconst privateIp = config.requireObject\u003cany\u003e(\"privateIp\");\nconst dnat1 = new opentelekomcloud.NatDnatRuleV2(\"dnat_1\", {\n    floatingIpId: floatingIpId,\n    natGatewayId: natGwId,\n    privateIp: privateId,\n    internalServicePort: 993,\n    protocol: \"tcp\",\n    externalServicePort: 242,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nnat_gw_id = config.require_object(\"natGwId\")\nfloating_ip_id = config.require_object(\"floatingIpId\")\nprivate_ip = config.require_object(\"privateIp\")\ndnat1 = opentelekomcloud.NatDnatRuleV2(\"dnat_1\",\n    floating_ip_id=floating_ip_id,\n    nat_gateway_id=nat_gw_id,\n    private_ip=private_id,\n    internal_service_port=993,\n    protocol=\"tcp\",\n    external_service_port=242)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var natGwId = config.RequireObject\u003cdynamic\u003e(\"natGwId\");\n    var floatingIpId = config.RequireObject\u003cdynamic\u003e(\"floatingIpId\");\n    var privateIp = config.RequireObject\u003cdynamic\u003e(\"privateIp\");\n    var dnat1 = new Opentelekomcloud.NatDnatRuleV2(\"dnat_1\", new()\n    {\n        FloatingIpId = floatingIpId,\n        NatGatewayId = natGwId,\n        PrivateIp = privateId,\n        InternalServicePort = 993,\n        Protocol = \"tcp\",\n        ExternalServicePort = 242,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tnatGwId := cfg.RequireObject(\"natGwId\")\n\t\tfloatingIpId := cfg.RequireObject(\"floatingIpId\")\n\t\tprivateIp := cfg.RequireObject(\"privateIp\")\n\t\t_, err := opentelekomcloud.NewNatDnatRuleV2(ctx, \"dnat_1\", \u0026opentelekomcloud.NatDnatRuleV2Args{\n\t\t\tFloatingIpId:        pulumi.Any(floatingIpId),\n\t\t\tNatGatewayId:        pulumi.Any(natGwId),\n\t\t\tPrivateIp:           pulumi.Any(privateId),\n\t\t\tInternalServicePort: pulumi.Float64(993),\n\t\t\tProtocol:            pulumi.String(\"tcp\"),\n\t\t\tExternalServicePort: pulumi.Float64(242),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.NatDnatRuleV2;\nimport com.pulumi.opentelekomcloud.NatDnatRuleV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var natGwId = config.get(\"natGwId\");\n        final var floatingIpId = config.get(\"floatingIpId\");\n        final var privateIp = config.get(\"privateIp\");\n        var dnat1 = new NatDnatRuleV2(\"dnat1\", NatDnatRuleV2Args.builder()\n            .floatingIpId(floatingIpId)\n            .natGatewayId(natGwId)\n            .privateIp(privateId)\n            .internalServicePort(993.0)\n            .protocol(\"tcp\")\n            .externalServicePort(242.0)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  natGwId:\n    type: dynamic\n  floatingIpId:\n    type: dynamic\n  privateIp:\n    type: dynamic\nresources:\n  dnat1:\n    type: opentelekomcloud:NatDnatRuleV2\n    name: dnat_1\n    properties:\n      floatingIpId: ${floatingIpId}\n      natGatewayId: ${natGwId}\n      privateIp: ${privateId}\n      internalServicePort: 993\n      protocol: tcp\n      externalServicePort: 242\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDNAT can be imported using the following format:\n\n```sh\n$ pulumi import opentelekomcloud:index/natDnatRuleV2:NatDnatRuleV2 dnat_1 f4f783a7-b908-4215-b018-724960e5df4a\n```\n\n","properties":{"createdAt":{"type":"string","description":"DNAT rule creation time.\n"},"description":{"type":"string","description":"Provides supplementary information about the DNAT rule.\nChanging this creates a new DNAT rule.\n"},"externalServicePort":{"type":"number","description":"Specifies port used by ECSs or\nBMSs to provide services for external systems. Changing this creates a new DNAT rule.\n"},"floatingIpAddress":{"type":"string","description":"The actual floating IP address.\n"},"floatingIpId":{"type":"string","description":"Specifies the ID of the floating IP address.\nChanging this creates a new resource.\n"},"internalServicePort":{"type":"number","description":"Specifies port used by ECSs or BMSs\nto provide services for external systems. Changing this creates a new resource.\n"},"natDnatRuleV2Id":{"type":"string"},"natGatewayId":{"type":"string","description":"ID of the NAT gateway this DNAT rule belongs to.\nChanging this creates a new DNAT rule.\n\n\u003e You can create a DNAT rule only when status of the NAT gateway is set to `ACTIVE`\nand \u003cspan pulumi-lang-nodejs=\"`adminStateUp`\" pulumi-lang-dotnet=\"`AdminStateUp`\" pulumi-lang-go=\"`adminStateUp`\" pulumi-lang-python=\"`admin_state_up`\" pulumi-lang-yaml=\"`adminStateUp`\" pulumi-lang-java=\"`adminStateUp`\"\u003e`admin_state_up`\u003c/span\u003e of the NAT gateway administrator to `True`.\n"},"portId":{"type":"string","description":"Specifies the port ID of an ECS or a BMS.\nThis parameter and \u003cspan pulumi-lang-nodejs=\"`privateIp`\" pulumi-lang-dotnet=\"`PrivateIp`\" pulumi-lang-go=\"`privateIp`\" pulumi-lang-python=\"`private_ip`\" pulumi-lang-yaml=\"`privateIp`\" pulumi-lang-java=\"`privateIp`\"\u003e`private_ip`\u003c/span\u003e are alternative. Changing this creates a\nnew DNAT rule.\n\n-\u003e\nWhen the DNAT rule is used in the **VPC** scenario, use \u003cspan pulumi-lang-nodejs=\"`portId`\" pulumi-lang-dotnet=\"`PortId`\" pulumi-lang-go=\"`portId`\" pulumi-lang-python=\"`port_id`\" pulumi-lang-yaml=\"`portId`\" pulumi-lang-java=\"`portId`\"\u003e`port_id`\u003c/span\u003e parameter.\n"},"privateIp":{"type":"string","description":"Specifies the private IP address of a\nuser, for example, the IP address of a VPC for dedicated connection.\nThis parameter and \u003cspan pulumi-lang-nodejs=\"`portId`\" pulumi-lang-dotnet=\"`PortId`\" pulumi-lang-go=\"`portId`\" pulumi-lang-python=\"`port_id`\" pulumi-lang-yaml=\"`portId`\" pulumi-lang-java=\"`portId`\"\u003e`port_id`\u003c/span\u003e are alternative. Changing this creates a new DNAT rule.\n\n-\u003e\nWhen the DNAT rule is used in the **Direct Connect** scenario, use \u003cspan pulumi-lang-nodejs=\"`privateIp`\" pulumi-lang-dotnet=\"`PrivateIp`\" pulumi-lang-go=\"`privateIp`\" pulumi-lang-python=\"`private_ip`\" pulumi-lang-yaml=\"`privateIp`\" pulumi-lang-java=\"`privateIp`\"\u003e`private_ip`\u003c/span\u003e parameter.\n"},"protocol":{"type":"string","description":"Specifies the protocol type. Currently,\n\u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\"\u003e`tcp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`udp`\" pulumi-lang-dotnet=\"`Udp`\" pulumi-lang-go=\"`udp`\" pulumi-lang-python=\"`udp`\" pulumi-lang-yaml=\"`udp`\" pulumi-lang-java=\"`udp`\"\u003e`udp`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\"\u003e`any`\u003c/span\u003e are supported. Changing this creates a new DNAT rule.\n\n\u003e If you create a rule that applies to all port types, set \u003cspan pulumi-lang-nodejs=\"`internalServicePort`\" pulumi-lang-dotnet=\"`InternalServicePort`\" pulumi-lang-go=\"`internalServicePort`\" pulumi-lang-python=\"`internal_service_port`\" pulumi-lang-yaml=\"`internalServicePort`\" pulumi-lang-java=\"`internalServicePort`\"\u003e`internal_service_port`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e,\n\u003cspan pulumi-lang-nodejs=\"`externalServicePort`\" pulumi-lang-dotnet=\"`ExternalServicePort`\" pulumi-lang-go=\"`externalServicePort`\" pulumi-lang-python=\"`external_service_port`\" pulumi-lang-yaml=\"`externalServicePort`\" pulumi-lang-java=\"`externalServicePort`\"\u003e`external_service_port`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`protocol`\" pulumi-lang-dotnet=\"`Protocol`\" pulumi-lang-go=\"`protocol`\" pulumi-lang-python=\"`protocol`\" pulumi-lang-yaml=\"`protocol`\" pulumi-lang-java=\"`protocol`\"\u003e`protocol`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\"\u003e`any`\u003c/span\u003e.\n"},"status":{"type":"string","description":"DNAT rule status.\n"},"tenantId":{"type":"string"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FNatDnatRuleV2Timeouts:NatDnatRuleV2Timeouts"}},"type":"object","required":["createdAt","externalServicePort","floatingIpAddress","floatingIpId","internalServicePort","natDnatRuleV2Id","natGatewayId","protocol","status","tenantId"],"inputProperties":{"description":{"type":"string","description":"Provides supplementary information about the DNAT rule.\nChanging this creates a new DNAT rule.\n"},"externalServicePort":{"type":"number","description":"Specifies port used by ECSs or\nBMSs to provide services for external systems. Changing this creates a new DNAT rule.\n"},"floatingIpId":{"type":"string","description":"Specifies the ID of the floating IP address.\nChanging this creates a new resource.\n"},"internalServicePort":{"type":"number","description":"Specifies port used by ECSs or BMSs\nto provide services for external systems. Changing this creates a new resource.\n"},"natDnatRuleV2Id":{"type":"string"},"natGatewayId":{"type":"string","description":"ID of the NAT gateway this DNAT rule belongs to.\nChanging this creates a new DNAT rule.\n\n\u003e You can create a DNAT rule only when status of the NAT gateway is set to `ACTIVE`\nand \u003cspan pulumi-lang-nodejs=\"`adminStateUp`\" pulumi-lang-dotnet=\"`AdminStateUp`\" pulumi-lang-go=\"`adminStateUp`\" pulumi-lang-python=\"`admin_state_up`\" pulumi-lang-yaml=\"`adminStateUp`\" pulumi-lang-java=\"`adminStateUp`\"\u003e`admin_state_up`\u003c/span\u003e of the NAT gateway administrator to `True`.\n"},"portId":{"type":"string","description":"Specifies the port ID of an ECS or a BMS.\nThis parameter and \u003cspan pulumi-lang-nodejs=\"`privateIp`\" pulumi-lang-dotnet=\"`PrivateIp`\" pulumi-lang-go=\"`privateIp`\" pulumi-lang-python=\"`private_ip`\" pulumi-lang-yaml=\"`privateIp`\" pulumi-lang-java=\"`privateIp`\"\u003e`private_ip`\u003c/span\u003e are alternative. Changing this creates a\nnew DNAT rule.\n\n-\u003e\nWhen the DNAT rule is used in the **VPC** scenario, use \u003cspan pulumi-lang-nodejs=\"`portId`\" pulumi-lang-dotnet=\"`PortId`\" pulumi-lang-go=\"`portId`\" pulumi-lang-python=\"`port_id`\" pulumi-lang-yaml=\"`portId`\" pulumi-lang-java=\"`portId`\"\u003e`port_id`\u003c/span\u003e parameter.\n"},"privateIp":{"type":"string","description":"Specifies the private IP address of a\nuser, for example, the IP address of a VPC for dedicated connection.\nThis parameter and \u003cspan pulumi-lang-nodejs=\"`portId`\" pulumi-lang-dotnet=\"`PortId`\" pulumi-lang-go=\"`portId`\" pulumi-lang-python=\"`port_id`\" pulumi-lang-yaml=\"`portId`\" pulumi-lang-java=\"`portId`\"\u003e`port_id`\u003c/span\u003e are alternative. Changing this creates a new DNAT rule.\n\n-\u003e\nWhen the DNAT rule is used in the **Direct Connect** scenario, use \u003cspan pulumi-lang-nodejs=\"`privateIp`\" pulumi-lang-dotnet=\"`PrivateIp`\" pulumi-lang-go=\"`privateIp`\" pulumi-lang-python=\"`private_ip`\" pulumi-lang-yaml=\"`privateIp`\" pulumi-lang-java=\"`privateIp`\"\u003e`private_ip`\u003c/span\u003e parameter.\n"},"protocol":{"type":"string","description":"Specifies the protocol type. Currently,\n\u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\"\u003e`tcp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`udp`\" pulumi-lang-dotnet=\"`Udp`\" pulumi-lang-go=\"`udp`\" pulumi-lang-python=\"`udp`\" pulumi-lang-yaml=\"`udp`\" pulumi-lang-java=\"`udp`\"\u003e`udp`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\"\u003e`any`\u003c/span\u003e are supported. Changing this creates a new DNAT rule.\n\n\u003e If you create a rule that applies to all port types, set \u003cspan pulumi-lang-nodejs=\"`internalServicePort`\" pulumi-lang-dotnet=\"`InternalServicePort`\" pulumi-lang-go=\"`internalServicePort`\" pulumi-lang-python=\"`internal_service_port`\" pulumi-lang-yaml=\"`internalServicePort`\" pulumi-lang-java=\"`internalServicePort`\"\u003e`internal_service_port`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e,\n\u003cspan pulumi-lang-nodejs=\"`externalServicePort`\" pulumi-lang-dotnet=\"`ExternalServicePort`\" pulumi-lang-go=\"`externalServicePort`\" pulumi-lang-python=\"`external_service_port`\" pulumi-lang-yaml=\"`externalServicePort`\" pulumi-lang-java=\"`externalServicePort`\"\u003e`external_service_port`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`protocol`\" pulumi-lang-dotnet=\"`Protocol`\" pulumi-lang-go=\"`protocol`\" pulumi-lang-python=\"`protocol`\" pulumi-lang-yaml=\"`protocol`\" pulumi-lang-java=\"`protocol`\"\u003e`protocol`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\"\u003e`any`\u003c/span\u003e.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FNatDnatRuleV2Timeouts:NatDnatRuleV2Timeouts"}},"requiredInputs":["externalServicePort","floatingIpId","internalServicePort","natGatewayId","protocol"],"stateInputs":{"description":"Input properties used for looking up and filtering NatDnatRuleV2 resources.\n","properties":{"createdAt":{"type":"string","description":"DNAT rule creation time.\n"},"description":{"type":"string","description":"Provides supplementary information about the DNAT rule.\nChanging this creates a new DNAT rule.\n"},"externalServicePort":{"type":"number","description":"Specifies port used by ECSs or\nBMSs to provide services for external systems. Changing this creates a new DNAT rule.\n"},"floatingIpAddress":{"type":"string","description":"The actual floating IP address.\n"},"floatingIpId":{"type":"string","description":"Specifies the ID of the floating IP address.\nChanging this creates a new resource.\n"},"internalServicePort":{"type":"number","description":"Specifies port used by ECSs or BMSs\nto provide services for external systems. Changing this creates a new resource.\n"},"natDnatRuleV2Id":{"type":"string"},"natGatewayId":{"type":"string","description":"ID of the NAT gateway this DNAT rule belongs to.\nChanging this creates a new DNAT rule.\n\n\u003e You can create a DNAT rule only when status of the NAT gateway is set to `ACTIVE`\nand \u003cspan pulumi-lang-nodejs=\"`adminStateUp`\" pulumi-lang-dotnet=\"`AdminStateUp`\" pulumi-lang-go=\"`adminStateUp`\" pulumi-lang-python=\"`admin_state_up`\" pulumi-lang-yaml=\"`adminStateUp`\" pulumi-lang-java=\"`adminStateUp`\"\u003e`admin_state_up`\u003c/span\u003e of the NAT gateway administrator to `True`.\n"},"portId":{"type":"string","description":"Specifies the port ID of an ECS or a BMS.\nThis parameter and \u003cspan pulumi-lang-nodejs=\"`privateIp`\" pulumi-lang-dotnet=\"`PrivateIp`\" pulumi-lang-go=\"`privateIp`\" pulumi-lang-python=\"`private_ip`\" pulumi-lang-yaml=\"`privateIp`\" pulumi-lang-java=\"`privateIp`\"\u003e`private_ip`\u003c/span\u003e are alternative. Changing this creates a\nnew DNAT rule.\n\n-\u003e\nWhen the DNAT rule is used in the **VPC** scenario, use \u003cspan pulumi-lang-nodejs=\"`portId`\" pulumi-lang-dotnet=\"`PortId`\" pulumi-lang-go=\"`portId`\" pulumi-lang-python=\"`port_id`\" pulumi-lang-yaml=\"`portId`\" pulumi-lang-java=\"`portId`\"\u003e`port_id`\u003c/span\u003e parameter.\n"},"privateIp":{"type":"string","description":"Specifies the private IP address of a\nuser, for example, the IP address of a VPC for dedicated connection.\nThis parameter and \u003cspan pulumi-lang-nodejs=\"`portId`\" pulumi-lang-dotnet=\"`PortId`\" pulumi-lang-go=\"`portId`\" pulumi-lang-python=\"`port_id`\" pulumi-lang-yaml=\"`portId`\" pulumi-lang-java=\"`portId`\"\u003e`port_id`\u003c/span\u003e are alternative. Changing this creates a new DNAT rule.\n\n-\u003e\nWhen the DNAT rule is used in the **Direct Connect** scenario, use \u003cspan pulumi-lang-nodejs=\"`privateIp`\" pulumi-lang-dotnet=\"`PrivateIp`\" pulumi-lang-go=\"`privateIp`\" pulumi-lang-python=\"`private_ip`\" pulumi-lang-yaml=\"`privateIp`\" pulumi-lang-java=\"`privateIp`\"\u003e`private_ip`\u003c/span\u003e parameter.\n"},"protocol":{"type":"string","description":"Specifies the protocol type. Currently,\n\u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\"\u003e`tcp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`udp`\" pulumi-lang-dotnet=\"`Udp`\" pulumi-lang-go=\"`udp`\" pulumi-lang-python=\"`udp`\" pulumi-lang-yaml=\"`udp`\" pulumi-lang-java=\"`udp`\"\u003e`udp`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\"\u003e`any`\u003c/span\u003e are supported. Changing this creates a new DNAT rule.\n\n\u003e If you create a rule that applies to all port types, set \u003cspan pulumi-lang-nodejs=\"`internalServicePort`\" pulumi-lang-dotnet=\"`InternalServicePort`\" pulumi-lang-go=\"`internalServicePort`\" pulumi-lang-python=\"`internal_service_port`\" pulumi-lang-yaml=\"`internalServicePort`\" pulumi-lang-java=\"`internalServicePort`\"\u003e`internal_service_port`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e,\n\u003cspan pulumi-lang-nodejs=\"`externalServicePort`\" pulumi-lang-dotnet=\"`ExternalServicePort`\" pulumi-lang-go=\"`externalServicePort`\" pulumi-lang-python=\"`external_service_port`\" pulumi-lang-yaml=\"`externalServicePort`\" pulumi-lang-java=\"`externalServicePort`\"\u003e`external_service_port`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`protocol`\" pulumi-lang-dotnet=\"`Protocol`\" pulumi-lang-go=\"`protocol`\" pulumi-lang-python=\"`protocol`\" pulumi-lang-yaml=\"`protocol`\" pulumi-lang-java=\"`protocol`\"\u003e`protocol`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\"\u003e`any`\u003c/span\u003e.\n"},"status":{"type":"string","description":"DNAT rule status.\n"},"tenantId":{"type":"string"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FNatDnatRuleV2Timeouts:NatDnatRuleV2Timeouts"}},"type":"object"}},"opentelekomcloud:index/natGatewayV2:NatGatewayV2":{"description":"Up-to-date reference of API arguments for NAT gateway you can get at\n[documentation portal](https://docs.otc.t-systems.com/nat-gateway/api-ref/api_v2.0/nat_gateway_service)\n\nManages a V2 NAT Gateway resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst routerId = config.requireObject\u003cany\u003e(\"routerId\");\nconst internalNetworkId = config.requireObject\u003cany\u003e(\"internalNetworkId\");\nconst _this = new opentelekomcloud.NatGatewayV2(\"this\", {\n    name: \"tf_nat\",\n    description: \"NAT GW created by terraform\",\n    spec: \"0\",\n    routerId: routerId,\n    internalNetworkId: internalNetworkId,\n    tags: {\n        muh: \"kuh\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nrouter_id = config.require_object(\"routerId\")\ninternal_network_id = config.require_object(\"internalNetworkId\")\nthis = opentelekomcloud.NatGatewayV2(\"this\",\n    name=\"tf_nat\",\n    description=\"NAT GW created by terraform\",\n    spec=\"0\",\n    router_id=router_id,\n    internal_network_id=internal_network_id,\n    tags={\n        \"muh\": \"kuh\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var routerId = config.RequireObject\u003cdynamic\u003e(\"routerId\");\n    var internalNetworkId = config.RequireObject\u003cdynamic\u003e(\"internalNetworkId\");\n    var @this = new Opentelekomcloud.NatGatewayV2(\"this\", new()\n    {\n        Name = \"tf_nat\",\n        Description = \"NAT GW created by terraform\",\n        Spec = \"0\",\n        RouterId = routerId,\n        InternalNetworkId = internalNetworkId,\n        Tags = \n        {\n            { \"muh\", \"kuh\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\trouterId := cfg.RequireObject(\"routerId\")\n\t\tinternalNetworkId := cfg.RequireObject(\"internalNetworkId\")\n\t\t_, err := opentelekomcloud.NewNatGatewayV2(ctx, \"this\", \u0026opentelekomcloud.NatGatewayV2Args{\n\t\t\tName:              pulumi.String(\"tf_nat\"),\n\t\t\tDescription:       pulumi.String(\"NAT GW created by terraform\"),\n\t\t\tSpec:              pulumi.String(\"0\"),\n\t\t\tRouterId:          pulumi.Any(routerId),\n\t\t\tInternalNetworkId: pulumi.Any(internalNetworkId),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"muh\": pulumi.String(\"kuh\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.NatGatewayV2;\nimport com.pulumi.opentelekomcloud.NatGatewayV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var routerId = config.get(\"routerId\");\n        final var internalNetworkId = config.get(\"internalNetworkId\");\n        var this_ = new NatGatewayV2(\"this\", NatGatewayV2Args.builder()\n            .name(\"tf_nat\")\n            .description(\"NAT GW created by terraform\")\n            .spec(\"0\")\n            .routerId(routerId)\n            .internalNetworkId(internalNetworkId)\n            .tags(Map.of(\"muh\", \"kuh\"))\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  routerId:\n    type: dynamic\n  internalNetworkId:\n    type: dynamic\nresources:\n  this:\n    type: opentelekomcloud:NatGatewayV2\n    properties:\n      name: tf_nat\n      description: NAT GW created by terraform\n      spec: '0'\n      routerId: ${routerId}\n      internalNetworkId: ${internalNetworkId}\n      tags:\n        muh: kuh\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"description":{"type":"string","description":"The description of the NAT Gateway.\n"},"internalNetworkId":{"type":"string","description":"ID of the network this NAT Gateway connects to.\nChanging this creates a new NAT Gateway.\n"},"name":{"type":"string","description":"The name of the NAT Gateway.\n"},"natGatewayV2Id":{"type":"string"},"region":{"type":"string"},"routerId":{"type":"string","description":"ID of the router (or VPC) this NAT Gateway belongs to. Changing\nthis creates a new NAT Gateway.\n"},"spec":{"type":"string","description":"The specification of the NAT Gateway, valid values are `\"0\"`,`\"1\"`, `\"2\"`, `\"3\"`, `\"4\"`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags key/value pairs to associate with the NAT Gateway.\n"},"tenantId":{"type":"string","description":"The target tenant ID in which to allocate the NAT\nGateway. Changing this creates a new NAT Gateway.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FNatGatewayV2Timeouts:NatGatewayV2Timeouts"}},"type":"object","required":["description","internalNetworkId","name","natGatewayV2Id","region","routerId","spec","tenantId"],"inputProperties":{"description":{"type":"string","description":"The description of the NAT Gateway.\n"},"internalNetworkId":{"type":"string","description":"ID of the network this NAT Gateway connects to.\nChanging this creates a new NAT Gateway.\n"},"name":{"type":"string","description":"The name of the NAT Gateway.\n"},"natGatewayV2Id":{"type":"string"},"region":{"type":"string"},"routerId":{"type":"string","description":"ID of the router (or VPC) this NAT Gateway belongs to. Changing\nthis creates a new NAT Gateway.\n"},"spec":{"type":"string","description":"The specification of the NAT Gateway, valid values are `\"0\"`,`\"1\"`, `\"2\"`, `\"3\"`, `\"4\"`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags key/value pairs to associate with the NAT Gateway.\n"},"tenantId":{"type":"string","description":"The target tenant ID in which to allocate the NAT\nGateway. Changing this creates a new NAT Gateway.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FNatGatewayV2Timeouts:NatGatewayV2Timeouts"}},"requiredInputs":["internalNetworkId","routerId","spec"],"stateInputs":{"description":"Input properties used for looking up and filtering NatGatewayV2 resources.\n","properties":{"description":{"type":"string","description":"The description of the NAT Gateway.\n"},"internalNetworkId":{"type":"string","description":"ID of the network this NAT Gateway connects to.\nChanging this creates a new NAT Gateway.\n"},"name":{"type":"string","description":"The name of the NAT Gateway.\n"},"natGatewayV2Id":{"type":"string"},"region":{"type":"string"},"routerId":{"type":"string","description":"ID of the router (or VPC) this NAT Gateway belongs to. Changing\nthis creates a new NAT Gateway.\n"},"spec":{"type":"string","description":"The specification of the NAT Gateway, valid values are `\"0\"`,`\"1\"`, `\"2\"`, `\"3\"`, `\"4\"`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags key/value pairs to associate with the NAT Gateway.\n"},"tenantId":{"type":"string","description":"The target tenant ID in which to allocate the NAT\nGateway. Changing this creates a new NAT Gateway.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FNatGatewayV2Timeouts:NatGatewayV2Timeouts"}},"type":"object"}},"opentelekomcloud:index/natSnatRuleV2:NatSnatRuleV2":{"description":"Up-to-date reference of API arguments for NAT SNAT you can get at\n[documentation portal](https://docs.otc.t-systems.com/nat-gateway/api-ref/api_v2.0/snat_rules)\n\nManages a V2 snat rule resource within OpenTelekomCloud Nat.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst networkId = config.requireObject\u003cany\u003e(\"networkId\");\nconst vpcId = config.requireObject\u003cany\u003e(\"vpcId\");\nconst fip1 = new opentelekomcloud.NetworkingFloatingipV2(\"fip_1\", {});\nconst nat1 = new opentelekomcloud.NatGatewayV2(\"nat_1\", {\n    name: \"nat_1\",\n    description: \"test for terraform\",\n    spec: \"1\",\n    internalNetworkId: networkId,\n    routerId: vpcId,\n});\nconst snat1 = new opentelekomcloud.NatSnatRuleV2(\"snat_1\", {\n    natGatewayId: nat1.natGatewayV2Id,\n    floatingIpId: fip1.networkingFloatingipV2Id,\n    cidr: \"192.168.0.0/24\",\n    sourceType: 0,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nnetwork_id = config.require_object(\"networkId\")\nvpc_id = config.require_object(\"vpcId\")\nfip1 = opentelekomcloud.NetworkingFloatingipV2(\"fip_1\")\nnat1 = opentelekomcloud.NatGatewayV2(\"nat_1\",\n    name=\"nat_1\",\n    description=\"test for terraform\",\n    spec=\"1\",\n    internal_network_id=network_id,\n    router_id=vpc_id)\nsnat1 = opentelekomcloud.NatSnatRuleV2(\"snat_1\",\n    nat_gateway_id=nat1.nat_gateway_v2_id,\n    floating_ip_id=fip1.networking_floatingip_v2_id,\n    cidr=\"192.168.0.0/24\",\n    source_type=0)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var networkId = config.RequireObject\u003cdynamic\u003e(\"networkId\");\n    var vpcId = config.RequireObject\u003cdynamic\u003e(\"vpcId\");\n    var fip1 = new Opentelekomcloud.NetworkingFloatingipV2(\"fip_1\");\n\n    var nat1 = new Opentelekomcloud.NatGatewayV2(\"nat_1\", new()\n    {\n        Name = \"nat_1\",\n        Description = \"test for terraform\",\n        Spec = \"1\",\n        InternalNetworkId = networkId,\n        RouterId = vpcId,\n    });\n\n    var snat1 = new Opentelekomcloud.NatSnatRuleV2(\"snat_1\", new()\n    {\n        NatGatewayId = nat1.NatGatewayV2Id,\n        FloatingIpId = fip1.NetworkingFloatingipV2Id,\n        Cidr = \"192.168.0.0/24\",\n        SourceType = 0,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tnetworkId := cfg.RequireObject(\"networkId\")\n\t\tvpcId := cfg.RequireObject(\"vpcId\")\n\t\tfip1, err := opentelekomcloud.NewNetworkingFloatingipV2(ctx, \"fip_1\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tnat1, err := opentelekomcloud.NewNatGatewayV2(ctx, \"nat_1\", \u0026opentelekomcloud.NatGatewayV2Args{\n\t\t\tName:              pulumi.String(\"nat_1\"),\n\t\t\tDescription:       pulumi.String(\"test for terraform\"),\n\t\t\tSpec:              pulumi.String(\"1\"),\n\t\t\tInternalNetworkId: pulumi.Any(networkId),\n\t\t\tRouterId:          pulumi.Any(vpcId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewNatSnatRuleV2(ctx, \"snat_1\", \u0026opentelekomcloud.NatSnatRuleV2Args{\n\t\t\tNatGatewayId: nat1.NatGatewayV2Id,\n\t\t\tFloatingIpId: fip1.NetworkingFloatingipV2Id,\n\t\t\tCidr:         pulumi.String(\"192.168.0.0/24\"),\n\t\t\tSourceType:   pulumi.Float64(0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.NetworkingFloatingipV2;\nimport com.pulumi.opentelekomcloud.NatGatewayV2;\nimport com.pulumi.opentelekomcloud.NatGatewayV2Args;\nimport com.pulumi.opentelekomcloud.NatSnatRuleV2;\nimport com.pulumi.opentelekomcloud.NatSnatRuleV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var networkId = config.get(\"networkId\");\n        final var vpcId = config.get(\"vpcId\");\n        var fip1 = new NetworkingFloatingipV2(\"fip1\");\n\n        var nat1 = new NatGatewayV2(\"nat1\", NatGatewayV2Args.builder()\n            .name(\"nat_1\")\n            .description(\"test for terraform\")\n            .spec(\"1\")\n            .internalNetworkId(networkId)\n            .routerId(vpcId)\n            .build());\n\n        var snat1 = new NatSnatRuleV2(\"snat1\", NatSnatRuleV2Args.builder()\n            .natGatewayId(nat1.natGatewayV2Id())\n            .floatingIpId(fip1.networkingFloatingipV2Id())\n            .cidr(\"192.168.0.0/24\")\n            .sourceType(0.0)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  networkId:\n    type: dynamic\n  vpcId:\n    type: dynamic\nresources:\n  fip1:\n    type: opentelekomcloud:NetworkingFloatingipV2\n    name: fip_1\n  nat1:\n    type: opentelekomcloud:NatGatewayV2\n    name: nat_1\n    properties:\n      name: nat_1\n      description: test for terraform\n      spec: '1'\n      internalNetworkId: ${networkId}\n      routerId: ${vpcId}\n  snat1:\n    type: opentelekomcloud:NatSnatRuleV2\n    name: snat_1\n    properties:\n      natGatewayId: ${nat1.natGatewayV2Id}\n      floatingIpId: ${fip1.networkingFloatingipV2Id}\n      cidr: 192.168.0.0/24\n      sourceType: 0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSNAT can be imported using the following format:\n\n```sh\n$ pulumi import opentelekomcloud:index/natSnatRuleV2:NatSnatRuleV2 snat_1 f4f783a7-b908-4215-b018-724960e5df4b\n```\n\n","properties":{"cidr":{"type":"string","description":"Specifies CIDR, which can be in the format of a network segment or\na host IP address. This parameter and \u003cspan pulumi-lang-nodejs=\"`networkId`\" pulumi-lang-dotnet=\"`NetworkId`\" pulumi-lang-go=\"`networkId`\" pulumi-lang-python=\"`network_id`\" pulumi-lang-yaml=\"`networkId`\" pulumi-lang-java=\"`networkId`\"\u003e`network_id`\u003c/span\u003e are alternative. If the value of\n\u003cspan pulumi-lang-nodejs=\"`sourceType`\" pulumi-lang-dotnet=\"`SourceType`\" pulumi-lang-go=\"`sourceType`\" pulumi-lang-python=\"`source_type`\" pulumi-lang-yaml=\"`sourceType`\" pulumi-lang-java=\"`sourceType`\"\u003e`source_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e, the CIDR block must be a subset of the VPC subnet CIDR block. If\nthe value of \u003cspan pulumi-lang-nodejs=\"`sourceType`\" pulumi-lang-dotnet=\"`SourceType`\" pulumi-lang-go=\"`sourceType`\" pulumi-lang-python=\"`source_type`\" pulumi-lang-yaml=\"`sourceType`\" pulumi-lang-java=\"`sourceType`\"\u003e`source_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, the CIDR block must be a CIDR block of Direct Connect\nand cannot conflict with the VPC CIDR blocks. Changing this creates a new snat rule.\n"},"description":{"type":"string","description":"Provides supplementary information about the SNAT rule.\nChanging this creates a new snat rule.\n"},"floatingIpId":{"type":"string","description":"ID of the floating ip this snat rule connects to.\nChanging this creates a new snat rule.\n"},"natGatewayId":{"type":"string","description":"ID of the nat gateway this snat rule belongs to.\nChanging this creates a new snat rule.\n"},"natSnatRuleV2Id":{"type":"string"},"networkId":{"type":"string","description":"ID of the network this snat rule connects to. This parameter\nand \u003cspan pulumi-lang-nodejs=\"`cidr`\" pulumi-lang-dotnet=\"`Cidr`\" pulumi-lang-go=\"`cidr`\" pulumi-lang-python=\"`cidr`\" pulumi-lang-yaml=\"`cidr`\" pulumi-lang-java=\"`cidr`\"\u003e`cidr`\u003c/span\u003e are alternative. Changing this creates a new snat rule.\n"},"region":{"type":"string"},"sourceType":{"type":"number","description":"\u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e: Either \u003cspan pulumi-lang-nodejs=\"`networkId`\" pulumi-lang-dotnet=\"`NetworkId`\" pulumi-lang-go=\"`networkId`\" pulumi-lang-python=\"`network_id`\" pulumi-lang-yaml=\"`networkId`\" pulumi-lang-java=\"`networkId`\"\u003e`network_id`\u003c/span\u003e or cidr can be specified in a VPC. \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e:\nOnly \u003cspan pulumi-lang-nodejs=\"`cidr`\" pulumi-lang-dotnet=\"`Cidr`\" pulumi-lang-go=\"`cidr`\" pulumi-lang-python=\"`cidr`\" pulumi-lang-yaml=\"`cidr`\" pulumi-lang-java=\"`cidr`\"\u003e`cidr`\u003c/span\u003e can be specified over a dedicated network. Changing this creates a new snat rule.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FNatSnatRuleV2Timeouts:NatSnatRuleV2Timeouts"}},"type":"object","required":["floatingIpId","natGatewayId","natSnatRuleV2Id","region"],"inputProperties":{"cidr":{"type":"string","description":"Specifies CIDR, which can be in the format of a network segment or\na host IP address. This parameter and \u003cspan pulumi-lang-nodejs=\"`networkId`\" pulumi-lang-dotnet=\"`NetworkId`\" pulumi-lang-go=\"`networkId`\" pulumi-lang-python=\"`network_id`\" pulumi-lang-yaml=\"`networkId`\" pulumi-lang-java=\"`networkId`\"\u003e`network_id`\u003c/span\u003e are alternative. If the value of\n\u003cspan pulumi-lang-nodejs=\"`sourceType`\" pulumi-lang-dotnet=\"`SourceType`\" pulumi-lang-go=\"`sourceType`\" pulumi-lang-python=\"`source_type`\" pulumi-lang-yaml=\"`sourceType`\" pulumi-lang-java=\"`sourceType`\"\u003e`source_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e, the CIDR block must be a subset of the VPC subnet CIDR block. If\nthe value of \u003cspan pulumi-lang-nodejs=\"`sourceType`\" pulumi-lang-dotnet=\"`SourceType`\" pulumi-lang-go=\"`sourceType`\" pulumi-lang-python=\"`source_type`\" pulumi-lang-yaml=\"`sourceType`\" pulumi-lang-java=\"`sourceType`\"\u003e`source_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, the CIDR block must be a CIDR block of Direct Connect\nand cannot conflict with the VPC CIDR blocks. Changing this creates a new snat rule.\n"},"description":{"type":"string","description":"Provides supplementary information about the SNAT rule.\nChanging this creates a new snat rule.\n"},"floatingIpId":{"type":"string","description":"ID of the floating ip this snat rule connects to.\nChanging this creates a new snat rule.\n"},"natGatewayId":{"type":"string","description":"ID of the nat gateway this snat rule belongs to.\nChanging this creates a new snat rule.\n"},"natSnatRuleV2Id":{"type":"string"},"networkId":{"type":"string","description":"ID of the network this snat rule connects to. This parameter\nand \u003cspan pulumi-lang-nodejs=\"`cidr`\" pulumi-lang-dotnet=\"`Cidr`\" pulumi-lang-go=\"`cidr`\" pulumi-lang-python=\"`cidr`\" pulumi-lang-yaml=\"`cidr`\" pulumi-lang-java=\"`cidr`\"\u003e`cidr`\u003c/span\u003e are alternative. Changing this creates a new snat rule.\n"},"region":{"type":"string"},"sourceType":{"type":"number","description":"\u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e: Either \u003cspan pulumi-lang-nodejs=\"`networkId`\" pulumi-lang-dotnet=\"`NetworkId`\" pulumi-lang-go=\"`networkId`\" pulumi-lang-python=\"`network_id`\" pulumi-lang-yaml=\"`networkId`\" pulumi-lang-java=\"`networkId`\"\u003e`network_id`\u003c/span\u003e or cidr can be specified in a VPC. \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e:\nOnly \u003cspan pulumi-lang-nodejs=\"`cidr`\" pulumi-lang-dotnet=\"`Cidr`\" pulumi-lang-go=\"`cidr`\" pulumi-lang-python=\"`cidr`\" pulumi-lang-yaml=\"`cidr`\" pulumi-lang-java=\"`cidr`\"\u003e`cidr`\u003c/span\u003e can be specified over a dedicated network. Changing this creates a new snat rule.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FNatSnatRuleV2Timeouts:NatSnatRuleV2Timeouts"}},"requiredInputs":["floatingIpId","natGatewayId"],"stateInputs":{"description":"Input properties used for looking up and filtering NatSnatRuleV2 resources.\n","properties":{"cidr":{"type":"string","description":"Specifies CIDR, which can be in the format of a network segment or\na host IP address. This parameter and \u003cspan pulumi-lang-nodejs=\"`networkId`\" pulumi-lang-dotnet=\"`NetworkId`\" pulumi-lang-go=\"`networkId`\" pulumi-lang-python=\"`network_id`\" pulumi-lang-yaml=\"`networkId`\" pulumi-lang-java=\"`networkId`\"\u003e`network_id`\u003c/span\u003e are alternative. If the value of\n\u003cspan pulumi-lang-nodejs=\"`sourceType`\" pulumi-lang-dotnet=\"`SourceType`\" pulumi-lang-go=\"`sourceType`\" pulumi-lang-python=\"`source_type`\" pulumi-lang-yaml=\"`sourceType`\" pulumi-lang-java=\"`sourceType`\"\u003e`source_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e, the CIDR block must be a subset of the VPC subnet CIDR block. If\nthe value of \u003cspan pulumi-lang-nodejs=\"`sourceType`\" pulumi-lang-dotnet=\"`SourceType`\" pulumi-lang-go=\"`sourceType`\" pulumi-lang-python=\"`source_type`\" pulumi-lang-yaml=\"`sourceType`\" pulumi-lang-java=\"`sourceType`\"\u003e`source_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, the CIDR block must be a CIDR block of Direct Connect\nand cannot conflict with the VPC CIDR blocks. Changing this creates a new snat rule.\n"},"description":{"type":"string","description":"Provides supplementary information about the SNAT rule.\nChanging this creates a new snat rule.\n"},"floatingIpId":{"type":"string","description":"ID of the floating ip this snat rule connects to.\nChanging this creates a new snat rule.\n"},"natGatewayId":{"type":"string","description":"ID of the nat gateway this snat rule belongs to.\nChanging this creates a new snat rule.\n"},"natSnatRuleV2Id":{"type":"string"},"networkId":{"type":"string","description":"ID of the network this snat rule connects to. This parameter\nand \u003cspan pulumi-lang-nodejs=\"`cidr`\" pulumi-lang-dotnet=\"`Cidr`\" pulumi-lang-go=\"`cidr`\" pulumi-lang-python=\"`cidr`\" pulumi-lang-yaml=\"`cidr`\" pulumi-lang-java=\"`cidr`\"\u003e`cidr`\u003c/span\u003e are alternative. Changing this creates a new snat rule.\n"},"region":{"type":"string"},"sourceType":{"type":"number","description":"\u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e: Either \u003cspan pulumi-lang-nodejs=\"`networkId`\" pulumi-lang-dotnet=\"`NetworkId`\" pulumi-lang-go=\"`networkId`\" pulumi-lang-python=\"`network_id`\" pulumi-lang-yaml=\"`networkId`\" pulumi-lang-java=\"`networkId`\"\u003e`network_id`\u003c/span\u003e or cidr can be specified in a VPC. \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e:\nOnly \u003cspan pulumi-lang-nodejs=\"`cidr`\" pulumi-lang-dotnet=\"`Cidr`\" pulumi-lang-go=\"`cidr`\" pulumi-lang-python=\"`cidr`\" pulumi-lang-yaml=\"`cidr`\" pulumi-lang-java=\"`cidr`\"\u003e`cidr`\u003c/span\u003e can be specified over a dedicated network. Changing this creates a new snat rule.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FNatSnatRuleV2Timeouts:NatSnatRuleV2Timeouts"}},"type":"object"}},"opentelekomcloud:index/networkingFloatingipAssociateV2:NetworkingFloatingipAssociateV2":{"description":"Up-to-date reference of API arguments for VPC floating ip association you can get at\n[documentation portal](https://docs.otc.t-systems.com/virtual-private-cloud/api-ref/native_openstack_neutron_apis_v2.0/floating_ip_address)\n\nAssociates a floating IP to a port. This is useful for situations\nwhere you have a pre-allocated floating IP or are unable to use the\n`resource/opentelekomcloud_networking_floatingip_v2` to create a floating IP.\n\n## Example Usage\n\n### Basic FloatingIP associate\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst port1 = new opentelekomcloud.NetworkingPortV2(\"port_1\", {networkId: \"a5bbd213-e1d3-49b6-aed1-9df60ea94b9a\"});\nconst fip1 = new opentelekomcloud.NetworkingFloatingipAssociateV2(\"fip_1\", {\n    floatingIp: \"1.2.3.4\",\n    portId: port1.networkingPortV2Id,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nport1 = opentelekomcloud.NetworkingPortV2(\"port_1\", network_id=\"a5bbd213-e1d3-49b6-aed1-9df60ea94b9a\")\nfip1 = opentelekomcloud.NetworkingFloatingipAssociateV2(\"fip_1\",\n    floating_ip=\"1.2.3.4\",\n    port_id=port1.networking_port_v2_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var port1 = new Opentelekomcloud.NetworkingPortV2(\"port_1\", new()\n    {\n        NetworkId = \"a5bbd213-e1d3-49b6-aed1-9df60ea94b9a\",\n    });\n\n    var fip1 = new Opentelekomcloud.NetworkingFloatingipAssociateV2(\"fip_1\", new()\n    {\n        FloatingIp = \"1.2.3.4\",\n        PortId = port1.NetworkingPortV2Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tport1, err := opentelekomcloud.NewNetworkingPortV2(ctx, \"port_1\", \u0026opentelekomcloud.NetworkingPortV2Args{\n\t\t\tNetworkId: pulumi.String(\"a5bbd213-e1d3-49b6-aed1-9df60ea94b9a\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewNetworkingFloatingipAssociateV2(ctx, \"fip_1\", \u0026opentelekomcloud.NetworkingFloatingipAssociateV2Args{\n\t\t\tFloatingIp: pulumi.String(\"1.2.3.4\"),\n\t\t\tPortId:     port1.NetworkingPortV2Id,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.NetworkingPortV2;\nimport com.pulumi.opentelekomcloud.NetworkingPortV2Args;\nimport com.pulumi.opentelekomcloud.NetworkingFloatingipAssociateV2;\nimport com.pulumi.opentelekomcloud.NetworkingFloatingipAssociateV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var port1 = new NetworkingPortV2(\"port1\", NetworkingPortV2Args.builder()\n            .networkId(\"a5bbd213-e1d3-49b6-aed1-9df60ea94b9a\")\n            .build());\n\n        var fip1 = new NetworkingFloatingipAssociateV2(\"fip1\", NetworkingFloatingipAssociateV2Args.builder()\n            .floatingIp(\"1.2.3.4\")\n            .portId(port1.networkingPortV2Id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  port1:\n    type: opentelekomcloud:NetworkingPortV2\n    name: port_1\n    properties:\n      networkId: a5bbd213-e1d3-49b6-aed1-9df60ea94b9a\n  fip1:\n    type: opentelekomcloud:NetworkingFloatingipAssociateV2\n    name: fip_1\n    properties:\n      floatingIp: 1.2.3.4\n      portId: ${port1.networkingPortV2Id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Associate an instance with \u003cspan pulumi-lang-nodejs=\"`portId`\" pulumi-lang-dotnet=\"`PortId`\" pulumi-lang-go=\"`portId`\" pulumi-lang-python=\"`port_id`\" pulumi-lang-yaml=\"`portId`\" pulumi-lang-java=\"`portId`\"\u003e`port_id`\u003c/span\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst keypair = config.requireObject\u003cany\u003e(\"keypair\");\nconst imageId = config.requireObject\u003cany\u003e(\"imageId\");\nconst networkName = config.requireObject\u003cany\u003e(\"networkName\");\nconst _this = new opentelekomcloud.NetworkingFloatingipV2(\"this\", {pool: \"admin_external_net\"});\nconst thisComputeInstanceV2 = new opentelekomcloud.ComputeInstanceV2(\"this\", {\n    name: \"example-instance\",\n    imageId: imageId,\n    flavorId: \"s2.large.4\",\n    keyPair: keypair,\n    securityGroups: [\"default\"],\n    networks: [{\n        name: networkName,\n    }],\n});\nconst thisNetworkingFloatingipAssociateV2 = new opentelekomcloud.NetworkingFloatingipAssociateV2(\"this\", {\n    floatingIp: _this.address,\n    portId: thisComputeInstanceV2.networks.apply(networks =\u003e networks?.[0]?.port),\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nkeypair = config.require_object(\"keypair\")\nimage_id = config.require_object(\"imageId\")\nnetwork_name = config.require_object(\"networkName\")\nthis = opentelekomcloud.NetworkingFloatingipV2(\"this\", pool=\"admin_external_net\")\nthis_compute_instance_v2 = opentelekomcloud.ComputeInstanceV2(\"this\",\n    name=\"example-instance\",\n    image_id=image_id,\n    flavor_id=\"s2.large.4\",\n    key_pair=keypair,\n    security_groups=[\"default\"],\n    networks=[{\n        \"name\": network_name,\n    }])\nthis_networking_floatingip_associate_v2 = opentelekomcloud.NetworkingFloatingipAssociateV2(\"this\",\n    floating_ip=this.address,\n    port_id=this_compute_instance_v2.networks[0].port)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var keypair = config.RequireObject\u003cdynamic\u003e(\"keypair\");\n    var imageId = config.RequireObject\u003cdynamic\u003e(\"imageId\");\n    var networkName = config.RequireObject\u003cdynamic\u003e(\"networkName\");\n    var @this = new Opentelekomcloud.NetworkingFloatingipV2(\"this\", new()\n    {\n        Pool = \"admin_external_net\",\n    });\n\n    var thisComputeInstanceV2 = new Opentelekomcloud.ComputeInstanceV2(\"this\", new()\n    {\n        Name = \"example-instance\",\n        ImageId = imageId,\n        FlavorId = \"s2.large.4\",\n        KeyPair = keypair,\n        SecurityGroups = new[]\n        {\n            \"default\",\n        },\n        Networks = new[]\n        {\n            new Opentelekomcloud.Inputs.ComputeInstanceV2NetworkArgs\n            {\n                Name = networkName,\n            },\n        },\n    });\n\n    var thisNetworkingFloatingipAssociateV2 = new Opentelekomcloud.NetworkingFloatingipAssociateV2(\"this\", new()\n    {\n        FloatingIp = @this.Address,\n        PortId = thisComputeInstanceV2.Networks.Apply(networks =\u003e networks[0]?.Port),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tkeypair := cfg.RequireObject(\"keypair\")\n\t\timageId := cfg.RequireObject(\"imageId\")\n\t\tnetworkName := cfg.RequireObject(\"networkName\")\n\t\tthis, err := opentelekomcloud.NewNetworkingFloatingipV2(ctx, \"this\", \u0026opentelekomcloud.NetworkingFloatingipV2Args{\n\t\t\tPool: pulumi.String(\"admin_external_net\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tthisComputeInstanceV2, err := opentelekomcloud.NewComputeInstanceV2(ctx, \"this\", \u0026opentelekomcloud.ComputeInstanceV2Args{\n\t\t\tName:     pulumi.String(\"example-instance\"),\n\t\t\tImageId:  pulumi.Any(imageId),\n\t\t\tFlavorId: pulumi.String(\"s2.large.4\"),\n\t\t\tKeyPair:  pulumi.Any(keypair),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"default\"),\n\t\t\t},\n\t\t\tNetworks: opentelekomcloud.ComputeInstanceV2NetworkArray{\n\t\t\t\t\u0026opentelekomcloud.ComputeInstanceV2NetworkArgs{\n\t\t\t\t\tName: pulumi.Any(networkName),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewNetworkingFloatingipAssociateV2(ctx, \"this\", \u0026opentelekomcloud.NetworkingFloatingipAssociateV2Args{\n\t\t\tFloatingIp: this.Address,\n\t\t\tPortId: pulumi.String(thisComputeInstanceV2.Networks.ApplyT(func(networks []opentelekomcloud.ComputeInstanceV2Network) (*string, error) {\n\t\t\t\treturn \u0026networks[0].Port, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.NetworkingFloatingipV2;\nimport com.pulumi.opentelekomcloud.NetworkingFloatingipV2Args;\nimport com.pulumi.opentelekomcloud.ComputeInstanceV2;\nimport com.pulumi.opentelekomcloud.ComputeInstanceV2Args;\nimport com.pulumi.opentelekomcloud.inputs.ComputeInstanceV2NetworkArgs;\nimport com.pulumi.opentelekomcloud.NetworkingFloatingipAssociateV2;\nimport com.pulumi.opentelekomcloud.NetworkingFloatingipAssociateV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var keypair = config.get(\"keypair\");\n        final var imageId = config.get(\"imageId\");\n        final var networkName = config.get(\"networkName\");\n        var this_ = new NetworkingFloatingipV2(\"this\", NetworkingFloatingipV2Args.builder()\n            .pool(\"admin_external_net\")\n            .build());\n\n        var thisComputeInstanceV2 = new ComputeInstanceV2(\"thisComputeInstanceV2\", ComputeInstanceV2Args.builder()\n            .name(\"example-instance\")\n            .imageId(imageId)\n            .flavorId(\"s2.large.4\")\n            .keyPair(keypair)\n            .securityGroups(\"default\")\n            .networks(ComputeInstanceV2NetworkArgs.builder()\n                .name(networkName)\n                .build())\n            .build());\n\n        var thisNetworkingFloatingipAssociateV2 = new NetworkingFloatingipAssociateV2(\"thisNetworkingFloatingipAssociateV2\", NetworkingFloatingipAssociateV2Args.builder()\n            .floatingIp(this_.address())\n            .portId(thisComputeInstanceV2.networks().applyValue(_networks -\u003e _networks[0].port()))\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  keypair:\n    type: dynamic\n  imageId:\n    type: dynamic\n  networkName:\n    type: dynamic\nresources:\n  this:\n    type: opentelekomcloud:NetworkingFloatingipV2\n    properties:\n      pool: admin_external_net\n  thisComputeInstanceV2:\n    type: opentelekomcloud:ComputeInstanceV2\n    name: this\n    properties:\n      name: example-instance\n      imageId: ${imageId}\n      flavorId: s2.large.4\n      keyPair: ${keypair}\n      securityGroups:\n        - default\n      networks:\n        - name: ${networkName}\n  thisNetworkingFloatingipAssociateV2:\n    type: opentelekomcloud:NetworkingFloatingipAssociateV2\n    name: this\n    properties:\n      floatingIp: ${this.address}\n      portId: ${thisComputeInstanceV2.networks[0].port}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFloating IP associations can be imported using the `id` of the floating IP, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/networkingFloatingipAssociateV2:NetworkingFloatingipAssociateV2 fip 2c7f39f3-702b-48d1-940c-b50384177ee1\n```\n\n","properties":{"floatingIp":{"type":"string","description":"IP Address of an existing floating IP.\n"},"networkingFloatingipAssociateV2Id":{"type":"string"},"portId":{"type":"string","description":"ID of an existing port with at least one IP address to\nassociate with this floating IP.\n"},"region":{"type":"string"}},"type":"object","required":["floatingIp","networkingFloatingipAssociateV2Id","portId","region"],"inputProperties":{"floatingIp":{"type":"string","description":"IP Address of an existing floating IP.\n"},"networkingFloatingipAssociateV2Id":{"type":"string"},"portId":{"type":"string","description":"ID of an existing port with at least one IP address to\nassociate with this floating IP.\n"},"region":{"type":"string"}},"requiredInputs":["floatingIp","portId"],"stateInputs":{"description":"Input properties used for looking up and filtering NetworkingFloatingipAssociateV2 resources.\n","properties":{"floatingIp":{"type":"string","description":"IP Address of an existing floating IP.\n"},"networkingFloatingipAssociateV2Id":{"type":"string"},"portId":{"type":"string","description":"ID of an existing port with at least one IP address to\nassociate with this floating IP.\n"},"region":{"type":"string"}},"type":"object"}},"opentelekomcloud:index/networkingFloatingipV2:NetworkingFloatingipV2":{"description":"Up-to-date reference of API arguments for VPC floating ip you can get at\n[documentation portal](https://docs.otc.t-systems.com/virtual-private-cloud/api-ref/native_openstack_neutron_apis_v2.0/floating_ip_address)\n\nManages a V2 floating IP resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst floatip1 = new opentelekomcloud.NetworkingFloatingipV2(\"floatip_1\", {});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nfloatip1 = opentelekomcloud.NetworkingFloatingipV2(\"floatip_1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var floatip1 = new Opentelekomcloud.NetworkingFloatingipV2(\"floatip_1\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewNetworkingFloatingipV2(ctx, \"floatip_1\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.NetworkingFloatingipV2;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var floatip1 = new NetworkingFloatingipV2(\"floatip1\");\n\n    }\n}\n```\n```yaml\nresources:\n  floatip1:\n    type: opentelekomcloud:NetworkingFloatingipV2\n    name: floatip_1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFloating IPs can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/networkingFloatingipV2:NetworkingFloatingipV2 floatip_1 2c7f39f3-702b-48d1-940c-b50384177ee1\n```\n\n","properties":{"address":{"type":"string","description":"The actual floating IP address itself.\n"},"fixedIp":{"type":"string","description":"Fixed IP of the port to associate with this floating IP. Required if\nthe port has multiple fixed IPs.\n"},"networkingFloatingipV2Id":{"type":"string","description":"The floating IP id.\n"},"pool":{"type":"string","description":"The name of the pool from which to obtain the floating\nIP. Default value is \u003cspan pulumi-lang-nodejs=\"`adminExternalNet`\" pulumi-lang-dotnet=\"`AdminExternalNet`\" pulumi-lang-go=\"`adminExternalNet`\" pulumi-lang-python=\"`admin_external_net`\" pulumi-lang-yaml=\"`adminExternalNet`\" pulumi-lang-java=\"`adminExternalNet`\"\u003e`admin_external_net`\u003c/span\u003e. Changing this creates a new floating IP.\n"},"portId":{"type":"string","description":"ID of an existing port with at least one IP address to\nassociate with this floating IP.\n"},"region":{"type":"string"},"tenantId":{"type":"string","description":"The target tenant ID in which to allocate the floating\nIP, if you specify this together with a \u003cspan pulumi-lang-nodejs=\"`portId`\" pulumi-lang-dotnet=\"`PortId`\" pulumi-lang-go=\"`portId`\" pulumi-lang-python=\"`port_id`\" pulumi-lang-yaml=\"`portId`\" pulumi-lang-java=\"`portId`\"\u003e`port_id`\u003c/span\u003e, make sure the target port\nbelongs to the same tenant. Changing this creates a new floating IP (which\nmay or may not have a different address).\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FNetworkingFloatingipV2Timeouts:NetworkingFloatingipV2Timeouts"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of additional options.\n"}},"type":"object","required":["address","fixedIp","networkingFloatingipV2Id","portId","region","tenantId"],"inputProperties":{"fixedIp":{"type":"string","description":"Fixed IP of the port to associate with this floating IP. Required if\nthe port has multiple fixed IPs.\n"},"networkingFloatingipV2Id":{"type":"string","description":"The floating IP id.\n"},"pool":{"type":"string","description":"The name of the pool from which to obtain the floating\nIP. Default value is \u003cspan pulumi-lang-nodejs=\"`adminExternalNet`\" pulumi-lang-dotnet=\"`AdminExternalNet`\" pulumi-lang-go=\"`adminExternalNet`\" pulumi-lang-python=\"`admin_external_net`\" pulumi-lang-yaml=\"`adminExternalNet`\" pulumi-lang-java=\"`adminExternalNet`\"\u003e`admin_external_net`\u003c/span\u003e. Changing this creates a new floating IP.\n"},"portId":{"type":"string","description":"ID of an existing port with at least one IP address to\nassociate with this floating IP.\n"},"region":{"type":"string"},"tenantId":{"type":"string","description":"The target tenant ID in which to allocate the floating\nIP, if you specify this together with a \u003cspan pulumi-lang-nodejs=\"`portId`\" pulumi-lang-dotnet=\"`PortId`\" pulumi-lang-go=\"`portId`\" pulumi-lang-python=\"`port_id`\" pulumi-lang-yaml=\"`portId`\" pulumi-lang-java=\"`portId`\"\u003e`port_id`\u003c/span\u003e, make sure the target port\nbelongs to the same tenant. Changing this creates a new floating IP (which\nmay or may not have a different address).\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FNetworkingFloatingipV2Timeouts:NetworkingFloatingipV2Timeouts"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of additional options.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering NetworkingFloatingipV2 resources.\n","properties":{"address":{"type":"string","description":"The actual floating IP address itself.\n"},"fixedIp":{"type":"string","description":"Fixed IP of the port to associate with this floating IP. Required if\nthe port has multiple fixed IPs.\n"},"networkingFloatingipV2Id":{"type":"string","description":"The floating IP id.\n"},"pool":{"type":"string","description":"The name of the pool from which to obtain the floating\nIP. Default value is \u003cspan pulumi-lang-nodejs=\"`adminExternalNet`\" pulumi-lang-dotnet=\"`AdminExternalNet`\" pulumi-lang-go=\"`adminExternalNet`\" pulumi-lang-python=\"`admin_external_net`\" pulumi-lang-yaml=\"`adminExternalNet`\" pulumi-lang-java=\"`adminExternalNet`\"\u003e`admin_external_net`\u003c/span\u003e. Changing this creates a new floating IP.\n"},"portId":{"type":"string","description":"ID of an existing port with at least one IP address to\nassociate with this floating IP.\n"},"region":{"type":"string"},"tenantId":{"type":"string","description":"The target tenant ID in which to allocate the floating\nIP, if you specify this together with a \u003cspan pulumi-lang-nodejs=\"`portId`\" pulumi-lang-dotnet=\"`PortId`\" pulumi-lang-go=\"`portId`\" pulumi-lang-python=\"`port_id`\" pulumi-lang-yaml=\"`portId`\" pulumi-lang-java=\"`portId`\"\u003e`port_id`\u003c/span\u003e, make sure the target port\nbelongs to the same tenant. Changing this creates a new floating IP (which\nmay or may not have a different address).\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FNetworkingFloatingipV2Timeouts:NetworkingFloatingipV2Timeouts"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of additional options.\n"}},"type":"object"}},"opentelekomcloud:index/networkingNetworkV2:NetworkingNetworkV2":{"description":"Up-to-date reference of API arguments for VPC network you can get at\n[documentation portal](https://docs.otc.t-systems.com/virtual-private-cloud/api-ref/native_openstack_neutron_apis_v2.0/network)\n\nManages a V2 Neutron network resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst network1 = new opentelekomcloud.NetworkingNetworkV2(\"network_1\", {\n    name: \"network_1\",\n    adminStateUp: \"true\",\n});\nconst subnet1 = new opentelekomcloud.NetworkingSubnetV2(\"subnet_1\", {\n    name: \"subnet_1\",\n    networkId: network1.networkingNetworkV2Id,\n    cidr: \"192.168.199.0/24\",\n    ipVersion: 4,\n});\nconst secgroup1 = new opentelekomcloud.ComputeSecgroupV2(\"secgroup_1\", {\n    name: \"secgroup_1\",\n    description: \"a security group\",\n    rules: [{\n        fromPort: 22,\n        toPort: 22,\n        ipProtocol: \"tcp\",\n        cidr: \"0.0.0.0/0\",\n    }],\n});\nconst port1 = new opentelekomcloud.NetworkingPortV2(\"port_1\", {\n    name: \"port_1\",\n    networkId: network1.networkingNetworkV2Id,\n    adminStateUp: true,\n    securityGroupIds: [secgroup1.computeSecgroupV2Id],\n    fixedIp: {\n        subnetId: subnet1.networkingSubnetV2Id,\n        ipAddress: \"192.168.199.10\",\n    },\n});\nconst instance1 = new opentelekomcloud.ComputeInstanceV2(\"instance_1\", {\n    name: \"instance_1\",\n    securityGroups: [secgroup1.name],\n    networks: [{\n        port: port1.networkingPortV2Id,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nnetwork1 = opentelekomcloud.NetworkingNetworkV2(\"network_1\",\n    name=\"network_1\",\n    admin_state_up=\"true\")\nsubnet1 = opentelekomcloud.NetworkingSubnetV2(\"subnet_1\",\n    name=\"subnet_1\",\n    network_id=network1.networking_network_v2_id,\n    cidr=\"192.168.199.0/24\",\n    ip_version=4)\nsecgroup1 = opentelekomcloud.ComputeSecgroupV2(\"secgroup_1\",\n    name=\"secgroup_1\",\n    description=\"a security group\",\n    rules=[{\n        \"from_port\": 22,\n        \"to_port\": 22,\n        \"ip_protocol\": \"tcp\",\n        \"cidr\": \"0.0.0.0/0\",\n    }])\nport1 = opentelekomcloud.NetworkingPortV2(\"port_1\",\n    name=\"port_1\",\n    network_id=network1.networking_network_v2_id,\n    admin_state_up=True,\n    security_group_ids=[secgroup1.compute_secgroup_v2_id],\n    fixed_ip={\n        \"subnet_id\": subnet1.networking_subnet_v2_id,\n        \"ip_address\": \"192.168.199.10\",\n    })\ninstance1 = opentelekomcloud.ComputeInstanceV2(\"instance_1\",\n    name=\"instance_1\",\n    security_groups=[secgroup1.name],\n    networks=[{\n        \"port\": port1.networking_port_v2_id,\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var network1 = new Opentelekomcloud.NetworkingNetworkV2(\"network_1\", new()\n    {\n        Name = \"network_1\",\n        AdminStateUp = \"true\",\n    });\n\n    var subnet1 = new Opentelekomcloud.NetworkingSubnetV2(\"subnet_1\", new()\n    {\n        Name = \"subnet_1\",\n        NetworkId = network1.NetworkingNetworkV2Id,\n        Cidr = \"192.168.199.0/24\",\n        IpVersion = 4,\n    });\n\n    var secgroup1 = new Opentelekomcloud.ComputeSecgroupV2(\"secgroup_1\", new()\n    {\n        Name = \"secgroup_1\",\n        Description = \"a security group\",\n        Rules = new[]\n        {\n            new Opentelekomcloud.Inputs.ComputeSecgroupV2RuleArgs\n            {\n                FromPort = 22,\n                ToPort = 22,\n                IpProtocol = \"tcp\",\n                Cidr = \"0.0.0.0/0\",\n            },\n        },\n    });\n\n    var port1 = new Opentelekomcloud.NetworkingPortV2(\"port_1\", new()\n    {\n        Name = \"port_1\",\n        NetworkId = network1.NetworkingNetworkV2Id,\n        AdminStateUp = true,\n        SecurityGroupIds = new[]\n        {\n            secgroup1.ComputeSecgroupV2Id,\n        },\n        FixedIp = new Opentelekomcloud.Inputs.NetworkingPortV2FixedIpArgs\n        {\n            SubnetId = subnet1.NetworkingSubnetV2Id,\n            IpAddress = \"192.168.199.10\",\n        },\n    });\n\n    var instance1 = new Opentelekomcloud.ComputeInstanceV2(\"instance_1\", new()\n    {\n        Name = \"instance_1\",\n        SecurityGroups = new[]\n        {\n            secgroup1.Name,\n        },\n        Networks = new[]\n        {\n            new Opentelekomcloud.Inputs.ComputeInstanceV2NetworkArgs\n            {\n                Port = port1.NetworkingPortV2Id,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tnetwork1, err := opentelekomcloud.NewNetworkingNetworkV2(ctx, \"network_1\", \u0026opentelekomcloud.NetworkingNetworkV2Args{\n\t\t\tName:         pulumi.String(\"network_1\"),\n\t\t\tAdminStateUp: pulumi.String(\"true\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsubnet1, err := opentelekomcloud.NewNetworkingSubnetV2(ctx, \"subnet_1\", \u0026opentelekomcloud.NetworkingSubnetV2Args{\n\t\t\tName:      pulumi.String(\"subnet_1\"),\n\t\t\tNetworkId: network1.NetworkingNetworkV2Id,\n\t\t\tCidr:      pulumi.String(\"192.168.199.0/24\"),\n\t\t\tIpVersion: pulumi.Float64(4),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsecgroup1, err := opentelekomcloud.NewComputeSecgroupV2(ctx, \"secgroup_1\", \u0026opentelekomcloud.ComputeSecgroupV2Args{\n\t\t\tName:        pulumi.String(\"secgroup_1\"),\n\t\t\tDescription: pulumi.String(\"a security group\"),\n\t\t\tRules: opentelekomcloud.ComputeSecgroupV2RuleArray{\n\t\t\t\t\u0026opentelekomcloud.ComputeSecgroupV2RuleArgs{\n\t\t\t\t\tFromPort:   pulumi.Float64(22),\n\t\t\t\t\tToPort:     pulumi.Float64(22),\n\t\t\t\t\tIpProtocol: pulumi.String(\"tcp\"),\n\t\t\t\t\tCidr:       pulumi.String(\"0.0.0.0/0\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tport1, err := opentelekomcloud.NewNetworkingPortV2(ctx, \"port_1\", \u0026opentelekomcloud.NetworkingPortV2Args{\n\t\t\tName:         pulumi.String(\"port_1\"),\n\t\t\tNetworkId:    network1.NetworkingNetworkV2Id,\n\t\t\tAdminStateUp: pulumi.Bool(true),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tsecgroup1.ComputeSecgroupV2Id,\n\t\t\t},\n\t\t\tFixedIp: \u0026opentelekomcloud.NetworkingPortV2FixedIpArgs{\n\t\t\t\tSubnetId:  subnet1.NetworkingSubnetV2Id,\n\t\t\t\tIpAddress: pulumi.String(\"192.168.199.10\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewComputeInstanceV2(ctx, \"instance_1\", \u0026opentelekomcloud.ComputeInstanceV2Args{\n\t\t\tName: pulumi.String(\"instance_1\"),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tsecgroup1.Name,\n\t\t\t},\n\t\t\tNetworks: opentelekomcloud.ComputeInstanceV2NetworkArray{\n\t\t\t\t\u0026opentelekomcloud.ComputeInstanceV2NetworkArgs{\n\t\t\t\t\tPort: port1.NetworkingPortV2Id,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.NetworkingNetworkV2;\nimport com.pulumi.opentelekomcloud.NetworkingNetworkV2Args;\nimport com.pulumi.opentelekomcloud.NetworkingSubnetV2;\nimport com.pulumi.opentelekomcloud.NetworkingSubnetV2Args;\nimport com.pulumi.opentelekomcloud.ComputeSecgroupV2;\nimport com.pulumi.opentelekomcloud.ComputeSecgroupV2Args;\nimport com.pulumi.opentelekomcloud.inputs.ComputeSecgroupV2RuleArgs;\nimport com.pulumi.opentelekomcloud.NetworkingPortV2;\nimport com.pulumi.opentelekomcloud.NetworkingPortV2Args;\nimport com.pulumi.opentelekomcloud.inputs.NetworkingPortV2FixedIpArgs;\nimport com.pulumi.opentelekomcloud.ComputeInstanceV2;\nimport com.pulumi.opentelekomcloud.ComputeInstanceV2Args;\nimport com.pulumi.opentelekomcloud.inputs.ComputeInstanceV2NetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var network1 = new NetworkingNetworkV2(\"network1\", NetworkingNetworkV2Args.builder()\n            .name(\"network_1\")\n            .adminStateUp(\"true\")\n            .build());\n\n        var subnet1 = new NetworkingSubnetV2(\"subnet1\", NetworkingSubnetV2Args.builder()\n            .name(\"subnet_1\")\n            .networkId(network1.networkingNetworkV2Id())\n            .cidr(\"192.168.199.0/24\")\n            .ipVersion(4.0)\n            .build());\n\n        var secgroup1 = new ComputeSecgroupV2(\"secgroup1\", ComputeSecgroupV2Args.builder()\n            .name(\"secgroup_1\")\n            .description(\"a security group\")\n            .rules(ComputeSecgroupV2RuleArgs.builder()\n                .fromPort(22.0)\n                .toPort(22.0)\n                .ipProtocol(\"tcp\")\n                .cidr(\"0.0.0.0/0\")\n                .build())\n            .build());\n\n        var port1 = new NetworkingPortV2(\"port1\", NetworkingPortV2Args.builder()\n            .name(\"port_1\")\n            .networkId(network1.networkingNetworkV2Id())\n            .adminStateUp(true)\n            .securityGroupIds(secgroup1.computeSecgroupV2Id())\n            .fixedIp(NetworkingPortV2FixedIpArgs.builder()\n                .subnetId(subnet1.networkingSubnetV2Id())\n                .ipAddress(\"192.168.199.10\")\n                .build())\n            .build());\n\n        var instance1 = new ComputeInstanceV2(\"instance1\", ComputeInstanceV2Args.builder()\n            .name(\"instance_1\")\n            .securityGroups(secgroup1.name())\n            .networks(ComputeInstanceV2NetworkArgs.builder()\n                .port(port1.networkingPortV2Id())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  network1:\n    type: opentelekomcloud:NetworkingNetworkV2\n    name: network_1\n    properties:\n      name: network_1\n      adminStateUp: 'true'\n  subnet1:\n    type: opentelekomcloud:NetworkingSubnetV2\n    name: subnet_1\n    properties:\n      name: subnet_1\n      networkId: ${network1.networkingNetworkV2Id}\n      cidr: 192.168.199.0/24\n      ipVersion: 4\n  secgroup1:\n    type: opentelekomcloud:ComputeSecgroupV2\n    name: secgroup_1\n    properties:\n      name: secgroup_1\n      description: a security group\n      rules:\n        - fromPort: 22\n          toPort: 22\n          ipProtocol: tcp\n          cidr: 0.0.0.0/0\n  port1:\n    type: opentelekomcloud:NetworkingPortV2\n    name: port_1\n    properties:\n      name: port_1\n      networkId: ${network1.networkingNetworkV2Id}\n      adminStateUp: 'true'\n      securityGroupIds:\n        - ${secgroup1.computeSecgroupV2Id}\n      fixedIp:\n        subnetId: ${subnet1.networkingSubnetV2Id}\n        ipAddress: 192.168.199.10\n  instance1:\n    type: opentelekomcloud:ComputeInstanceV2\n    name: instance_1\n    properties:\n      name: instance_1\n      securityGroups:\n        - ${secgroup1.name}\n      networks:\n        - port: ${port1.networkingPortV2Id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nNetworks can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/networkingNetworkV2:NetworkingNetworkV2 network_1 d90ce693-5ccf-4136-a0ed-152ce412b6b9\n```\n\n","properties":{"adminStateUp":{"type":"string","description":"The administrative state of the network.\nAcceptable values are \"true\" and \"false\". Changing this value updates the\nstate of the existing network.\n"},"name":{"type":"string","description":"The name of the network. Changing this updates the name of\nthe existing network.\n"},"networkingNetworkV2Id":{"type":"string"},"region":{"type":"string"},"segments":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FNetworkingNetworkV2Segment:NetworkingNetworkV2Segment"},"description":"An array of one or more provider segment objects.\n"},"shared":{"type":"string","description":"Specifies whether the network resource can be accessed\nby any tenant or not. Changing this updates the sharing capabilities of the\nexisting network. Shared SNAT only available in eu-de region.\n"},"tenantId":{"type":"string","description":"The owner of the network. Required if admin wants to\ncreate a network for another tenant. Changing this creates a new network.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FNetworkingNetworkV2Timeouts:NetworkingNetworkV2Timeouts"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of additional options.\n"}},"type":"object","required":["adminStateUp","name","networkingNetworkV2Id","region","shared","tenantId"],"inputProperties":{"adminStateUp":{"type":"string","description":"The administrative state of the network.\nAcceptable values are \"true\" and \"false\". Changing this value updates the\nstate of the existing network.\n"},"name":{"type":"string","description":"The name of the network. Changing this updates the name of\nthe existing network.\n"},"networkingNetworkV2Id":{"type":"string"},"region":{"type":"string"},"segments":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FNetworkingNetworkV2Segment:NetworkingNetworkV2Segment"},"description":"An array of one or more provider segment objects.\n"},"shared":{"type":"string","description":"Specifies whether the network resource can be accessed\nby any tenant or not. Changing this updates the sharing capabilities of the\nexisting network. Shared SNAT only available in eu-de region.\n"},"tenantId":{"type":"string","description":"The owner of the network. Required if admin wants to\ncreate a network for another tenant. Changing this creates a new network.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FNetworkingNetworkV2Timeouts:NetworkingNetworkV2Timeouts"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of additional options.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering NetworkingNetworkV2 resources.\n","properties":{"adminStateUp":{"type":"string","description":"The administrative state of the network.\nAcceptable values are \"true\" and \"false\". Changing this value updates the\nstate of the existing network.\n"},"name":{"type":"string","description":"The name of the network. Changing this updates the name of\nthe existing network.\n"},"networkingNetworkV2Id":{"type":"string"},"region":{"type":"string"},"segments":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FNetworkingNetworkV2Segment:NetworkingNetworkV2Segment"},"description":"An array of one or more provider segment objects.\n"},"shared":{"type":"string","description":"Specifies whether the network resource can be accessed\nby any tenant or not. Changing this updates the sharing capabilities of the\nexisting network. Shared SNAT only available in eu-de region.\n"},"tenantId":{"type":"string","description":"The owner of the network. Required if admin wants to\ncreate a network for another tenant. Changing this creates a new network.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FNetworkingNetworkV2Timeouts:NetworkingNetworkV2Timeouts"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of additional options.\n"}},"type":"object"}},"opentelekomcloud:index/networkingPortSecgroupAssociateV2:NetworkingPortSecgroupAssociateV2":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst systemPort = opentelekomcloud.getNetworkingPortV2({\n    fixedIp: \"10.0.0.10\",\n});\nconst secgroup = opentelekomcloud.getNetworkingSecgroupV2({\n    name: \"secgroup\",\n});\nconst port1 = new opentelekomcloud.NetworkingPortSecgroupAssociateV2(\"port_1\", {\n    portId: systemPort.then(systemPort =\u003e systemPort.id),\n    securityGroupIds: [secgroup.then(secgroup =\u003e secgroup.id)],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nsystem_port = opentelekomcloud.get_networking_port_v2(fixed_ip=\"10.0.0.10\")\nsecgroup = opentelekomcloud.get_networking_secgroup_v2(name=\"secgroup\")\nport1 = opentelekomcloud.NetworkingPortSecgroupAssociateV2(\"port_1\",\n    port_id=system_port.id,\n    security_group_ids=[secgroup.id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var systemPort = Opentelekomcloud.GetNetworkingPortV2.Invoke(new()\n    {\n        FixedIp = \"10.0.0.10\",\n    });\n\n    var secgroup = Opentelekomcloud.GetNetworkingSecgroupV2.Invoke(new()\n    {\n        Name = \"secgroup\",\n    });\n\n    var port1 = new Opentelekomcloud.NetworkingPortSecgroupAssociateV2(\"port_1\", new()\n    {\n        PortId = systemPort.Apply(getNetworkingPortV2Result =\u003e getNetworkingPortV2Result.Id),\n        SecurityGroupIds = new[]\n        {\n            secgroup.Apply(getNetworkingSecgroupV2Result =\u003e getNetworkingSecgroupV2Result.Id),\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsystemPort, err := opentelekomcloud.LookupNetworkingPortV2(ctx, \u0026opentelekomcloud.LookupNetworkingPortV2Args{\n\t\t\tFixedIp: pulumi.StringRef(\"10.0.0.10\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsecgroup, err := opentelekomcloud.LookupNetworkingSecgroupV2(ctx, \u0026opentelekomcloud.LookupNetworkingSecgroupV2Args{\n\t\t\tName: pulumi.StringRef(\"secgroup\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewNetworkingPortSecgroupAssociateV2(ctx, \"port_1\", \u0026opentelekomcloud.NetworkingPortSecgroupAssociateV2Args{\n\t\t\tPortId: pulumi.String(systemPort.Id),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(secgroup.Id),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetNetworkingPortV2Args;\nimport com.pulumi.opentelekomcloud.inputs.GetNetworkingSecgroupV2Args;\nimport com.pulumi.opentelekomcloud.NetworkingPortSecgroupAssociateV2;\nimport com.pulumi.opentelekomcloud.NetworkingPortSecgroupAssociateV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var systemPort = OpentelekomcloudFunctions.getNetworkingPortV2(GetNetworkingPortV2Args.builder()\n            .fixedIp(\"10.0.0.10\")\n            .build());\n\n        final var secgroup = OpentelekomcloudFunctions.getNetworkingSecgroupV2(GetNetworkingSecgroupV2Args.builder()\n            .name(\"secgroup\")\n            .build());\n\n        var port1 = new NetworkingPortSecgroupAssociateV2(\"port1\", NetworkingPortSecgroupAssociateV2Args.builder()\n            .portId(systemPort.id())\n            .securityGroupIds(secgroup.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  port1:\n    type: opentelekomcloud:NetworkingPortSecgroupAssociateV2\n    name: port_1\n    properties:\n      portId: ${systemPort.id}\n      securityGroupIds:\n        - ${secgroup.id}\nvariables:\n  systemPort:\n    fn::invoke:\n      function: opentelekomcloud:getNetworkingPortV2\n      arguments:\n        fixedIp: 10.0.0.10\n  secgroup:\n    fn::invoke:\n      function: opentelekomcloud:getNetworkingSecgroupV2\n      arguments:\n        name: secgroup\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPort security group association can be imported using the `id` of the port, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/networkingPortSecgroupAssociateV2:NetworkingPortSecgroupAssociateV2 port_1 eae26a3e-1c33-4cc1-9c31-5ght78rdf12\n```\n\n  lifecycle {\n\n    ignore_changes = [\n\n      force,\n\n      security_group_ids,\n\n    ]\n\n  }\n\n","properties":{"allSecurityGroupIds":{"type":"array","items":{"type":"string"},"description":"The collection of Security Group IDs on the port\nwhich have been explicitly and implicitly added.\n"},"force":{"type":"boolean","description":"Whether to replace or append the list of security\ngroups, specified in the \u003cspan pulumi-lang-nodejs=\"`securityGroupIds`\" pulumi-lang-dotnet=\"`SecurityGroupIds`\" pulumi-lang-go=\"`securityGroupIds`\" pulumi-lang-python=\"`security_group_ids`\" pulumi-lang-yaml=\"`securityGroupIds`\" pulumi-lang-java=\"`securityGroupIds`\"\u003e`security_group_ids`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"networkingPortSecgroupAssociateV2Id":{"type":"string"},"portId":{"type":"string","description":"An UUID of the port to apply security groups to.\n"},"region":{"type":"string","description":"The region in which to obtain the V2 networking client.\nA networking client is needed to manage a port. If omitted, the\n\u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e argument of the provider is used. Changing this creates a new\nresource.\n"},"securityGroupIds":{"type":"array","items":{"type":"string"},"description":"A list of security group IDs to apply to\nthe port. The security groups must be specified by ID and not name (as\nopposed to how they are configured with the Compute Instance).\n"}},"type":"object","required":["allSecurityGroupIds","networkingPortSecgroupAssociateV2Id","portId","region","securityGroupIds"],"inputProperties":{"force":{"type":"boolean","description":"Whether to replace or append the list of security\ngroups, specified in the \u003cspan pulumi-lang-nodejs=\"`securityGroupIds`\" pulumi-lang-dotnet=\"`SecurityGroupIds`\" pulumi-lang-go=\"`securityGroupIds`\" pulumi-lang-python=\"`security_group_ids`\" pulumi-lang-yaml=\"`securityGroupIds`\" pulumi-lang-java=\"`securityGroupIds`\"\u003e`security_group_ids`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"networkingPortSecgroupAssociateV2Id":{"type":"string"},"portId":{"type":"string","description":"An UUID of the port to apply security groups to.\n"},"region":{"type":"string","description":"The region in which to obtain the V2 networking client.\nA networking client is needed to manage a port. If omitted, the\n\u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e argument of the provider is used. Changing this creates a new\nresource.\n"},"securityGroupIds":{"type":"array","items":{"type":"string"},"description":"A list of security group IDs to apply to\nthe port. The security groups must be specified by ID and not name (as\nopposed to how they are configured with the Compute Instance).\n"}},"requiredInputs":["portId","securityGroupIds"],"stateInputs":{"description":"Input properties used for looking up and filtering NetworkingPortSecgroupAssociateV2 resources.\n","properties":{"allSecurityGroupIds":{"type":"array","items":{"type":"string"},"description":"The collection of Security Group IDs on the port\nwhich have been explicitly and implicitly added.\n"},"force":{"type":"boolean","description":"Whether to replace or append the list of security\ngroups, specified in the \u003cspan pulumi-lang-nodejs=\"`securityGroupIds`\" pulumi-lang-dotnet=\"`SecurityGroupIds`\" pulumi-lang-go=\"`securityGroupIds`\" pulumi-lang-python=\"`security_group_ids`\" pulumi-lang-yaml=\"`securityGroupIds`\" pulumi-lang-java=\"`securityGroupIds`\"\u003e`security_group_ids`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"networkingPortSecgroupAssociateV2Id":{"type":"string"},"portId":{"type":"string","description":"An UUID of the port to apply security groups to.\n"},"region":{"type":"string","description":"The region in which to obtain the V2 networking client.\nA networking client is needed to manage a port. If omitted, the\n\u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e argument of the provider is used. Changing this creates a new\nresource.\n"},"securityGroupIds":{"type":"array","items":{"type":"string"},"description":"A list of security group IDs to apply to\nthe port. The security groups must be specified by ID and not name (as\nopposed to how they are configured with the Compute Instance).\n"}},"type":"object"}},"opentelekomcloud:index/networkingPortV2:NetworkingPortV2":{"description":"Up-to-date reference of API arguments for VPC port you can get at\n[documentation portal](https://docs.otc.t-systems.com/virtual-private-cloud/api-ref/native_openstack_neutron_apis_v2.0/port)\n\nManages a V2 port resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst network1 = new opentelekomcloud.NetworkingNetworkV2(\"network_1\", {\n    name: \"network_1\",\n    adminStateUp: \"true\",\n});\nconst subnet1 = new opentelekomcloud.NetworkingSubnetV2(\"subnet_1\", {\n    name: \"subnet_1\",\n    cidr: \"192.168.199.0/24\",\n    ipVersion: 4,\n    networkId: network1.networkingNetworkV2Id,\n});\nconst port1 = new opentelekomcloud.NetworkingPortV2(\"port_1\", {\n    name: \"port_1\",\n    adminStateUp: true,\n    networkId: network1.networkingNetworkV2Id,\n    fixedIp: {\n        subnetId: subnet1.networkingSubnetV2Id,\n        ipAddress: \"192.168.199.23\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nnetwork1 = opentelekomcloud.NetworkingNetworkV2(\"network_1\",\n    name=\"network_1\",\n    admin_state_up=\"true\")\nsubnet1 = opentelekomcloud.NetworkingSubnetV2(\"subnet_1\",\n    name=\"subnet_1\",\n    cidr=\"192.168.199.0/24\",\n    ip_version=4,\n    network_id=network1.networking_network_v2_id)\nport1 = opentelekomcloud.NetworkingPortV2(\"port_1\",\n    name=\"port_1\",\n    admin_state_up=True,\n    network_id=network1.networking_network_v2_id,\n    fixed_ip={\n        \"subnet_id\": subnet1.networking_subnet_v2_id,\n        \"ip_address\": \"192.168.199.23\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var network1 = new Opentelekomcloud.NetworkingNetworkV2(\"network_1\", new()\n    {\n        Name = \"network_1\",\n        AdminStateUp = \"true\",\n    });\n\n    var subnet1 = new Opentelekomcloud.NetworkingSubnetV2(\"subnet_1\", new()\n    {\n        Name = \"subnet_1\",\n        Cidr = \"192.168.199.0/24\",\n        IpVersion = 4,\n        NetworkId = network1.NetworkingNetworkV2Id,\n    });\n\n    var port1 = new Opentelekomcloud.NetworkingPortV2(\"port_1\", new()\n    {\n        Name = \"port_1\",\n        AdminStateUp = true,\n        NetworkId = network1.NetworkingNetworkV2Id,\n        FixedIp = new Opentelekomcloud.Inputs.NetworkingPortV2FixedIpArgs\n        {\n            SubnetId = subnet1.NetworkingSubnetV2Id,\n            IpAddress = \"192.168.199.23\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tnetwork1, err := opentelekomcloud.NewNetworkingNetworkV2(ctx, \"network_1\", \u0026opentelekomcloud.NetworkingNetworkV2Args{\n\t\t\tName:         pulumi.String(\"network_1\"),\n\t\t\tAdminStateUp: pulumi.String(\"true\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsubnet1, err := opentelekomcloud.NewNetworkingSubnetV2(ctx, \"subnet_1\", \u0026opentelekomcloud.NetworkingSubnetV2Args{\n\t\t\tName:      pulumi.String(\"subnet_1\"),\n\t\t\tCidr:      pulumi.String(\"192.168.199.0/24\"),\n\t\t\tIpVersion: pulumi.Float64(4),\n\t\t\tNetworkId: network1.NetworkingNetworkV2Id,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewNetworkingPortV2(ctx, \"port_1\", \u0026opentelekomcloud.NetworkingPortV2Args{\n\t\t\tName:         pulumi.String(\"port_1\"),\n\t\t\tAdminStateUp: pulumi.Bool(true),\n\t\t\tNetworkId:    network1.NetworkingNetworkV2Id,\n\t\t\tFixedIp: \u0026opentelekomcloud.NetworkingPortV2FixedIpArgs{\n\t\t\t\tSubnetId:  subnet1.NetworkingSubnetV2Id,\n\t\t\t\tIpAddress: pulumi.String(\"192.168.199.23\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.NetworkingNetworkV2;\nimport com.pulumi.opentelekomcloud.NetworkingNetworkV2Args;\nimport com.pulumi.opentelekomcloud.NetworkingSubnetV2;\nimport com.pulumi.opentelekomcloud.NetworkingSubnetV2Args;\nimport com.pulumi.opentelekomcloud.NetworkingPortV2;\nimport com.pulumi.opentelekomcloud.NetworkingPortV2Args;\nimport com.pulumi.opentelekomcloud.inputs.NetworkingPortV2FixedIpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var network1 = new NetworkingNetworkV2(\"network1\", NetworkingNetworkV2Args.builder()\n            .name(\"network_1\")\n            .adminStateUp(\"true\")\n            .build());\n\n        var subnet1 = new NetworkingSubnetV2(\"subnet1\", NetworkingSubnetV2Args.builder()\n            .name(\"subnet_1\")\n            .cidr(\"192.168.199.0/24\")\n            .ipVersion(4.0)\n            .networkId(network1.networkingNetworkV2Id())\n            .build());\n\n        var port1 = new NetworkingPortV2(\"port1\", NetworkingPortV2Args.builder()\n            .name(\"port_1\")\n            .adminStateUp(true)\n            .networkId(network1.networkingNetworkV2Id())\n            .fixedIp(NetworkingPortV2FixedIpArgs.builder()\n                .subnetId(subnet1.networkingSubnetV2Id())\n                .ipAddress(\"192.168.199.23\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  port1:\n    type: opentelekomcloud:NetworkingPortV2\n    name: port_1\n    properties:\n      name: port_1\n      adminStateUp: 'true'\n      networkId: ${network1.networkingNetworkV2Id}\n      fixedIp:\n        subnetId: ${subnet1.networkingSubnetV2Id}\n        ipAddress: 192.168.199.23\n  network1:\n    type: opentelekomcloud:NetworkingNetworkV2\n    name: network_1\n    properties:\n      name: network_1\n      adminStateUp: 'true'\n  subnet1:\n    type: opentelekomcloud:NetworkingSubnetV2\n    name: subnet_1\n    properties:\n      name: subnet_1\n      cidr: 192.168.199.0/24\n      ipVersion: 4\n      networkId: ${network1.networkingNetworkV2Id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Notes\n\n\u003e The arguments \u003cspan pulumi-lang-nodejs=\"`macAddress`\" pulumi-lang-dotnet=\"`MacAddress`\" pulumi-lang-go=\"`macAddress`\" pulumi-lang-python=\"`mac_address`\" pulumi-lang-yaml=\"`macAddress`\" pulumi-lang-java=\"`macAddress`\"\u003e`mac_address`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`tenantId`\" pulumi-lang-dotnet=\"`TenantId`\" pulumi-lang-go=\"`tenantId`\" pulumi-lang-python=\"`tenant_id`\" pulumi-lang-yaml=\"`tenantId`\" pulumi-lang-java=\"`tenantId`\"\u003e`tenant_id`\u003c/span\u003e are no longer supported as input and are therefore removed from the argument reference.\n\n### Ports and Instances\n\nThere are some notes to consider when connecting Instances to networks using\nPorts. Please see the \u003cspan pulumi-lang-nodejs=\"`opentelekomcloud.ComputeInstanceV2`\" pulumi-lang-dotnet=\"`opentelekomcloud.ComputeInstanceV2`\" pulumi-lang-go=\"`ComputeInstanceV2`\" pulumi-lang-python=\"`ComputeInstanceV2`\" pulumi-lang-yaml=\"`opentelekomcloud.ComputeInstanceV2`\" pulumi-lang-java=\"`opentelekomcloud.ComputeInstanceV2`\"\u003e`opentelekomcloud.ComputeInstanceV2`\u003c/span\u003e documentation for further\ndocumentation.\n\n## Import\n\nPorts can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/networkingPortV2:NetworkingPortV2 port_1 eae26a3e-1c33-4cc1-9c31-0cd729c438a1\n```\n\n","properties":{"adminStateUp":{"type":"boolean","description":"Administrative up/down status for the port\n(must be \"true\" or \"false\" if provided). Changing this updates the\n\u003cspan pulumi-lang-nodejs=\"`adminStateUp`\" pulumi-lang-dotnet=\"`AdminStateUp`\" pulumi-lang-go=\"`adminStateUp`\" pulumi-lang-python=\"`admin_state_up`\" pulumi-lang-yaml=\"`adminStateUp`\" pulumi-lang-java=\"`adminStateUp`\"\u003e`admin_state_up`\u003c/span\u003e of an existing port.\n"},"allFixedIps":{"type":"array","items":{"type":"string"}},"allowedAddressPairs":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FNetworkingPortV2AllowedAddressPair:NetworkingPortV2AllowedAddressPair"},"description":"An IP/MAC Address pair of additional IP\naddresses that can be active on this port. The structure is described below.\nThe \u003cspan pulumi-lang-nodejs=\"`allowedAddressPairs`\" pulumi-lang-dotnet=\"`AllowedAddressPairs`\" pulumi-lang-go=\"`allowedAddressPairs`\" pulumi-lang-python=\"`allowed_address_pairs`\" pulumi-lang-yaml=\"`allowedAddressPairs`\" pulumi-lang-java=\"`allowedAddressPairs`\"\u003e`allowed_address_pairs`\u003c/span\u003e block supports:\n"},"deviceId":{"type":"string","description":"The ID of the device attached to the port. Changing this\ncreates a new port.\n"},"deviceOwner":{"type":"string","description":"The device owner of the Port. Changing this creates\na new port.\n"},"extraDhcpOptions":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FNetworkingPortV2ExtraDhcpOption:NetworkingPortV2ExtraDhcpOption"},"description":"Specifies the extended DHCP option. This is an extended attribute.\nThe \u003cspan pulumi-lang-nodejs=\"`extraDhcpOption`\" pulumi-lang-dotnet=\"`ExtraDhcpOption`\" pulumi-lang-go=\"`extraDhcpOption`\" pulumi-lang-python=\"`extra_dhcp_option`\" pulumi-lang-yaml=\"`extraDhcpOption`\" pulumi-lang-java=\"`extraDhcpOption`\"\u003e`extra_dhcp_option`\u003c/span\u003e block supports:\n"},"fixedIp":{"$ref":"#/types/opentelekomcloud:index%2FNetworkingPortV2FixedIp:NetworkingPortV2FixedIp","description":"An array of desired IPs for this port. The structure is\ndescribed below. A single \u003cspan pulumi-lang-nodejs=\"`fixedIp`\" pulumi-lang-dotnet=\"`FixedIp`\" pulumi-lang-go=\"`fixedIp`\" pulumi-lang-python=\"`fixed_ip`\" pulumi-lang-yaml=\"`fixedIp`\" pulumi-lang-java=\"`fixedIp`\"\u003e`fixed_ip`\u003c/span\u003e entry is allowed for a port.\nThe \u003cspan pulumi-lang-nodejs=\"`fixedIp`\" pulumi-lang-dotnet=\"`FixedIp`\" pulumi-lang-go=\"`fixedIp`\" pulumi-lang-python=\"`fixed_ip`\" pulumi-lang-yaml=\"`fixedIp`\" pulumi-lang-java=\"`fixedIp`\"\u003e`fixed_ip`\u003c/span\u003e block supports:\n"},"macAddress":{"type":"string","description":"Specifies the port MAC address.\n"},"name":{"type":"string","description":"A unique name for the port. Changing this\nupdates the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e of an existing port.\n"},"networkId":{"type":"string","description":"The ID of the network to attach the port to. Changing\nthis creates a new port.\n"},"networkingPortV2Id":{"type":"string"},"noSecurityGroups":{"type":"boolean","description":"If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, then no security groups\nare applied to the port. If set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e and no \u003cspan pulumi-lang-nodejs=\"`securityGroupIds`\" pulumi-lang-dotnet=\"`SecurityGroupIds`\" pulumi-lang-go=\"`securityGroupIds`\" pulumi-lang-python=\"`security_group_ids`\" pulumi-lang-yaml=\"`securityGroupIds`\" pulumi-lang-java=\"`securityGroupIds`\"\u003e`security_group_ids`\u003c/span\u003e are specified,\nthen the port will yield to the default behavior of the Networking service,\nwhich is to usually apply the `\"default\"` security group.\n"},"portSecurityEnabled":{"type":"boolean","description":"Whether to explicitly enable or disable\nport security on the port. Port Security is usually enabled by default, so\nomitting argument will usually result in a value of \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Setting this\nexplicitly to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e will disable port security. In order to disable port\nsecurity, the port must not have any security groups. Valid values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e\nand \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"region":{"type":"string"},"securityGroupIds":{"type":"array","items":{"type":"string"},"description":"A list of security group IDs to apply to the\nport. The security groups must be specified by ID and not name (as opposed\nto how they are configured with the Compute Instance).\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FNetworkingPortV2Timeouts:NetworkingPortV2Timeouts"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of additional options.\n"}},"type":"object","required":["adminStateUp","allFixedIps","deviceId","deviceOwner","macAddress","name","networkId","networkingPortV2Id","region","securityGroupIds"],"inputProperties":{"adminStateUp":{"type":"boolean","description":"Administrative up/down status for the port\n(must be \"true\" or \"false\" if provided). Changing this updates the\n\u003cspan pulumi-lang-nodejs=\"`adminStateUp`\" pulumi-lang-dotnet=\"`AdminStateUp`\" pulumi-lang-go=\"`adminStateUp`\" pulumi-lang-python=\"`admin_state_up`\" pulumi-lang-yaml=\"`adminStateUp`\" pulumi-lang-java=\"`adminStateUp`\"\u003e`admin_state_up`\u003c/span\u003e of an existing port.\n"},"allowedAddressPairs":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FNetworkingPortV2AllowedAddressPair:NetworkingPortV2AllowedAddressPair"},"description":"An IP/MAC Address pair of additional IP\naddresses that can be active on this port. The structure is described below.\nThe \u003cspan pulumi-lang-nodejs=\"`allowedAddressPairs`\" pulumi-lang-dotnet=\"`AllowedAddressPairs`\" pulumi-lang-go=\"`allowedAddressPairs`\" pulumi-lang-python=\"`allowed_address_pairs`\" pulumi-lang-yaml=\"`allowedAddressPairs`\" pulumi-lang-java=\"`allowedAddressPairs`\"\u003e`allowed_address_pairs`\u003c/span\u003e block supports:\n"},"deviceId":{"type":"string","description":"The ID of the device attached to the port. Changing this\ncreates a new port.\n"},"deviceOwner":{"type":"string","description":"The device owner of the Port. Changing this creates\na new port.\n"},"extraDhcpOptions":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FNetworkingPortV2ExtraDhcpOption:NetworkingPortV2ExtraDhcpOption"},"description":"Specifies the extended DHCP option. This is an extended attribute.\nThe \u003cspan pulumi-lang-nodejs=\"`extraDhcpOption`\" pulumi-lang-dotnet=\"`ExtraDhcpOption`\" pulumi-lang-go=\"`extraDhcpOption`\" pulumi-lang-python=\"`extra_dhcp_option`\" pulumi-lang-yaml=\"`extraDhcpOption`\" pulumi-lang-java=\"`extraDhcpOption`\"\u003e`extra_dhcp_option`\u003c/span\u003e block supports:\n"},"fixedIp":{"$ref":"#/types/opentelekomcloud:index%2FNetworkingPortV2FixedIp:NetworkingPortV2FixedIp","description":"An array of desired IPs for this port. The structure is\ndescribed below. A single \u003cspan pulumi-lang-nodejs=\"`fixedIp`\" pulumi-lang-dotnet=\"`FixedIp`\" pulumi-lang-go=\"`fixedIp`\" pulumi-lang-python=\"`fixed_ip`\" pulumi-lang-yaml=\"`fixedIp`\" pulumi-lang-java=\"`fixedIp`\"\u003e`fixed_ip`\u003c/span\u003e entry is allowed for a port.\nThe \u003cspan pulumi-lang-nodejs=\"`fixedIp`\" pulumi-lang-dotnet=\"`FixedIp`\" pulumi-lang-go=\"`fixedIp`\" pulumi-lang-python=\"`fixed_ip`\" pulumi-lang-yaml=\"`fixedIp`\" pulumi-lang-java=\"`fixedIp`\"\u003e`fixed_ip`\u003c/span\u003e block supports:\n"},"name":{"type":"string","description":"A unique name for the port. Changing this\nupdates the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e of an existing port.\n"},"networkId":{"type":"string","description":"The ID of the network to attach the port to. Changing\nthis creates a new port.\n"},"networkingPortV2Id":{"type":"string"},"noSecurityGroups":{"type":"boolean","description":"If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, then no security groups\nare applied to the port. If set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e and no \u003cspan pulumi-lang-nodejs=\"`securityGroupIds`\" pulumi-lang-dotnet=\"`SecurityGroupIds`\" pulumi-lang-go=\"`securityGroupIds`\" pulumi-lang-python=\"`security_group_ids`\" pulumi-lang-yaml=\"`securityGroupIds`\" pulumi-lang-java=\"`securityGroupIds`\"\u003e`security_group_ids`\u003c/span\u003e are specified,\nthen the port will yield to the default behavior of the Networking service,\nwhich is to usually apply the `\"default\"` security group.\n"},"portSecurityEnabled":{"type":"boolean","description":"Whether to explicitly enable or disable\nport security on the port. Port Security is usually enabled by default, so\nomitting argument will usually result in a value of \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Setting this\nexplicitly to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e will disable port security. In order to disable port\nsecurity, the port must not have any security groups. Valid values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e\nand \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"region":{"type":"string"},"securityGroupIds":{"type":"array","items":{"type":"string"},"description":"A list of security group IDs to apply to the\nport. The security groups must be specified by ID and not name (as opposed\nto how they are configured with the Compute Instance).\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FNetworkingPortV2Timeouts:NetworkingPortV2Timeouts"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of additional options.\n"}},"requiredInputs":["networkId"],"stateInputs":{"description":"Input properties used for looking up and filtering NetworkingPortV2 resources.\n","properties":{"adminStateUp":{"type":"boolean","description":"Administrative up/down status for the port\n(must be \"true\" or \"false\" if provided). Changing this updates the\n\u003cspan pulumi-lang-nodejs=\"`adminStateUp`\" pulumi-lang-dotnet=\"`AdminStateUp`\" pulumi-lang-go=\"`adminStateUp`\" pulumi-lang-python=\"`admin_state_up`\" pulumi-lang-yaml=\"`adminStateUp`\" pulumi-lang-java=\"`adminStateUp`\"\u003e`admin_state_up`\u003c/span\u003e of an existing port.\n"},"allFixedIps":{"type":"array","items":{"type":"string"}},"allowedAddressPairs":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FNetworkingPortV2AllowedAddressPair:NetworkingPortV2AllowedAddressPair"},"description":"An IP/MAC Address pair of additional IP\naddresses that can be active on this port. The structure is described below.\nThe \u003cspan pulumi-lang-nodejs=\"`allowedAddressPairs`\" pulumi-lang-dotnet=\"`AllowedAddressPairs`\" pulumi-lang-go=\"`allowedAddressPairs`\" pulumi-lang-python=\"`allowed_address_pairs`\" pulumi-lang-yaml=\"`allowedAddressPairs`\" pulumi-lang-java=\"`allowedAddressPairs`\"\u003e`allowed_address_pairs`\u003c/span\u003e block supports:\n"},"deviceId":{"type":"string","description":"The ID of the device attached to the port. Changing this\ncreates a new port.\n"},"deviceOwner":{"type":"string","description":"The device owner of the Port. Changing this creates\na new port.\n"},"extraDhcpOptions":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FNetworkingPortV2ExtraDhcpOption:NetworkingPortV2ExtraDhcpOption"},"description":"Specifies the extended DHCP option. This is an extended attribute.\nThe \u003cspan pulumi-lang-nodejs=\"`extraDhcpOption`\" pulumi-lang-dotnet=\"`ExtraDhcpOption`\" pulumi-lang-go=\"`extraDhcpOption`\" pulumi-lang-python=\"`extra_dhcp_option`\" pulumi-lang-yaml=\"`extraDhcpOption`\" pulumi-lang-java=\"`extraDhcpOption`\"\u003e`extra_dhcp_option`\u003c/span\u003e block supports:\n"},"fixedIp":{"$ref":"#/types/opentelekomcloud:index%2FNetworkingPortV2FixedIp:NetworkingPortV2FixedIp","description":"An array of desired IPs for this port. The structure is\ndescribed below. A single \u003cspan pulumi-lang-nodejs=\"`fixedIp`\" pulumi-lang-dotnet=\"`FixedIp`\" pulumi-lang-go=\"`fixedIp`\" pulumi-lang-python=\"`fixed_ip`\" pulumi-lang-yaml=\"`fixedIp`\" pulumi-lang-java=\"`fixedIp`\"\u003e`fixed_ip`\u003c/span\u003e entry is allowed for a port.\nThe \u003cspan pulumi-lang-nodejs=\"`fixedIp`\" pulumi-lang-dotnet=\"`FixedIp`\" pulumi-lang-go=\"`fixedIp`\" pulumi-lang-python=\"`fixed_ip`\" pulumi-lang-yaml=\"`fixedIp`\" pulumi-lang-java=\"`fixedIp`\"\u003e`fixed_ip`\u003c/span\u003e block supports:\n"},"macAddress":{"type":"string","description":"Specifies the port MAC address.\n"},"name":{"type":"string","description":"A unique name for the port. Changing this\nupdates the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e of an existing port.\n"},"networkId":{"type":"string","description":"The ID of the network to attach the port to. Changing\nthis creates a new port.\n"},"networkingPortV2Id":{"type":"string"},"noSecurityGroups":{"type":"boolean","description":"If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, then no security groups\nare applied to the port. If set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e and no \u003cspan pulumi-lang-nodejs=\"`securityGroupIds`\" pulumi-lang-dotnet=\"`SecurityGroupIds`\" pulumi-lang-go=\"`securityGroupIds`\" pulumi-lang-python=\"`security_group_ids`\" pulumi-lang-yaml=\"`securityGroupIds`\" pulumi-lang-java=\"`securityGroupIds`\"\u003e`security_group_ids`\u003c/span\u003e are specified,\nthen the port will yield to the default behavior of the Networking service,\nwhich is to usually apply the `\"default\"` security group.\n"},"portSecurityEnabled":{"type":"boolean","description":"Whether to explicitly enable or disable\nport security on the port. Port Security is usually enabled by default, so\nomitting argument will usually result in a value of \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Setting this\nexplicitly to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e will disable port security. In order to disable port\nsecurity, the port must not have any security groups. Valid values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e\nand \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"region":{"type":"string"},"securityGroupIds":{"type":"array","items":{"type":"string"},"description":"A list of security group IDs to apply to the\nport. The security groups must be specified by ID and not name (as opposed\nto how they are configured with the Compute Instance).\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FNetworkingPortV2Timeouts:NetworkingPortV2Timeouts"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of additional options.\n"}},"type":"object"}},"opentelekomcloud:index/networkingRouterInterfaceV2:NetworkingRouterInterfaceV2":{"description":"Up-to-date reference of API arguments for VPC router interface you can get at\n[documentation portal](https://docs.otc.t-systems.com/virtual-private-cloud/api-ref/native_openstack_neutron_apis_v2.0/router)\n\nManages a V2 router interface resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst network1 = new opentelekomcloud.NetworkingNetworkV2(\"network_1\", {\n    name: \"tf_test_network\",\n    adminStateUp: \"true\",\n});\nconst subnet1 = new opentelekomcloud.NetworkingSubnetV2(\"subnet_1\", {\n    networkId: network1.networkingNetworkV2Id,\n    cidr: \"192.168.199.0/24\",\n    ipVersion: 4,\n});\nconst router1 = new opentelekomcloud.NetworkingRouterV2(\"router_1\", {\n    name: \"my_router\",\n    externalGateway: \"f67f0d72-0ddf-11e4-9d95-e1f29f417e2f\",\n});\nconst routerInterface1 = new opentelekomcloud.NetworkingRouterInterfaceV2(\"router_interface_1\", {\n    routerId: router1.networkingRouterV2Id,\n    subnetId: subnet1.networkingSubnetV2Id,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nnetwork1 = opentelekomcloud.NetworkingNetworkV2(\"network_1\",\n    name=\"tf_test_network\",\n    admin_state_up=\"true\")\nsubnet1 = opentelekomcloud.NetworkingSubnetV2(\"subnet_1\",\n    network_id=network1.networking_network_v2_id,\n    cidr=\"192.168.199.0/24\",\n    ip_version=4)\nrouter1 = opentelekomcloud.NetworkingRouterV2(\"router_1\",\n    name=\"my_router\",\n    external_gateway=\"f67f0d72-0ddf-11e4-9d95-e1f29f417e2f\")\nrouter_interface1 = opentelekomcloud.NetworkingRouterInterfaceV2(\"router_interface_1\",\n    router_id=router1.networking_router_v2_id,\n    subnet_id=subnet1.networking_subnet_v2_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var network1 = new Opentelekomcloud.NetworkingNetworkV2(\"network_1\", new()\n    {\n        Name = \"tf_test_network\",\n        AdminStateUp = \"true\",\n    });\n\n    var subnet1 = new Opentelekomcloud.NetworkingSubnetV2(\"subnet_1\", new()\n    {\n        NetworkId = network1.NetworkingNetworkV2Id,\n        Cidr = \"192.168.199.0/24\",\n        IpVersion = 4,\n    });\n\n    var router1 = new Opentelekomcloud.NetworkingRouterV2(\"router_1\", new()\n    {\n        Name = \"my_router\",\n        ExternalGateway = \"f67f0d72-0ddf-11e4-9d95-e1f29f417e2f\",\n    });\n\n    var routerInterface1 = new Opentelekomcloud.NetworkingRouterInterfaceV2(\"router_interface_1\", new()\n    {\n        RouterId = router1.NetworkingRouterV2Id,\n        SubnetId = subnet1.NetworkingSubnetV2Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tnetwork1, err := opentelekomcloud.NewNetworkingNetworkV2(ctx, \"network_1\", \u0026opentelekomcloud.NetworkingNetworkV2Args{\n\t\t\tName:         pulumi.String(\"tf_test_network\"),\n\t\t\tAdminStateUp: pulumi.String(\"true\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsubnet1, err := opentelekomcloud.NewNetworkingSubnetV2(ctx, \"subnet_1\", \u0026opentelekomcloud.NetworkingSubnetV2Args{\n\t\t\tNetworkId: network1.NetworkingNetworkV2Id,\n\t\t\tCidr:      pulumi.String(\"192.168.199.0/24\"),\n\t\t\tIpVersion: pulumi.Float64(4),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trouter1, err := opentelekomcloud.NewNetworkingRouterV2(ctx, \"router_1\", \u0026opentelekomcloud.NetworkingRouterV2Args{\n\t\t\tName:            pulumi.String(\"my_router\"),\n\t\t\tExternalGateway: pulumi.String(\"f67f0d72-0ddf-11e4-9d95-e1f29f417e2f\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewNetworkingRouterInterfaceV2(ctx, \"router_interface_1\", \u0026opentelekomcloud.NetworkingRouterInterfaceV2Args{\n\t\t\tRouterId: router1.NetworkingRouterV2Id,\n\t\t\tSubnetId: subnet1.NetworkingSubnetV2Id,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.NetworkingNetworkV2;\nimport com.pulumi.opentelekomcloud.NetworkingNetworkV2Args;\nimport com.pulumi.opentelekomcloud.NetworkingSubnetV2;\nimport com.pulumi.opentelekomcloud.NetworkingSubnetV2Args;\nimport com.pulumi.opentelekomcloud.NetworkingRouterV2;\nimport com.pulumi.opentelekomcloud.NetworkingRouterV2Args;\nimport com.pulumi.opentelekomcloud.NetworkingRouterInterfaceV2;\nimport com.pulumi.opentelekomcloud.NetworkingRouterInterfaceV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var network1 = new NetworkingNetworkV2(\"network1\", NetworkingNetworkV2Args.builder()\n            .name(\"tf_test_network\")\n            .adminStateUp(\"true\")\n            .build());\n\n        var subnet1 = new NetworkingSubnetV2(\"subnet1\", NetworkingSubnetV2Args.builder()\n            .networkId(network1.networkingNetworkV2Id())\n            .cidr(\"192.168.199.0/24\")\n            .ipVersion(4.0)\n            .build());\n\n        var router1 = new NetworkingRouterV2(\"router1\", NetworkingRouterV2Args.builder()\n            .name(\"my_router\")\n            .externalGateway(\"f67f0d72-0ddf-11e4-9d95-e1f29f417e2f\")\n            .build());\n\n        var routerInterface1 = new NetworkingRouterInterfaceV2(\"routerInterface1\", NetworkingRouterInterfaceV2Args.builder()\n            .routerId(router1.networkingRouterV2Id())\n            .subnetId(subnet1.networkingSubnetV2Id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  network1:\n    type: opentelekomcloud:NetworkingNetworkV2\n    name: network_1\n    properties:\n      name: tf_test_network\n      adminStateUp: 'true'\n  subnet1:\n    type: opentelekomcloud:NetworkingSubnetV2\n    name: subnet_1\n    properties:\n      networkId: ${network1.networkingNetworkV2Id}\n      cidr: 192.168.199.0/24\n      ipVersion: 4\n  router1:\n    type: opentelekomcloud:NetworkingRouterV2\n    name: router_1\n    properties:\n      name: my_router\n      externalGateway: f67f0d72-0ddf-11e4-9d95-e1f29f417e2f\n  routerInterface1:\n    type: opentelekomcloud:NetworkingRouterInterfaceV2\n    name: router_interface_1\n    properties:\n      routerId: ${router1.networkingRouterV2Id}\n      subnetId: ${subnet1.networkingSubnetV2Id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"networkingRouterInterfaceV2Id":{"type":"string"},"portId":{"type":"string","description":"ID of the port this interface connects to. Changing\nthis creates a new router interface.\n"},"region":{"type":"string"},"routerId":{"type":"string","description":"ID of the router this interface belongs to. Changing\nthis creates a new router interface.\n"},"subnetId":{"type":"string","description":"ID of the subnet this interface connects to. Changing\nthis creates a new router interface.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FNetworkingRouterInterfaceV2Timeouts:NetworkingRouterInterfaceV2Timeouts"}},"type":"object","required":["networkingRouterInterfaceV2Id","region","routerId"],"inputProperties":{"networkingRouterInterfaceV2Id":{"type":"string"},"portId":{"type":"string","description":"ID of the port this interface connects to. Changing\nthis creates a new router interface.\n"},"region":{"type":"string"},"routerId":{"type":"string","description":"ID of the router this interface belongs to. Changing\nthis creates a new router interface.\n"},"subnetId":{"type":"string","description":"ID of the subnet this interface connects to. Changing\nthis creates a new router interface.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FNetworkingRouterInterfaceV2Timeouts:NetworkingRouterInterfaceV2Timeouts"}},"requiredInputs":["routerId"],"stateInputs":{"description":"Input properties used for looking up and filtering NetworkingRouterInterfaceV2 resources.\n","properties":{"networkingRouterInterfaceV2Id":{"type":"string"},"portId":{"type":"string","description":"ID of the port this interface connects to. Changing\nthis creates a new router interface.\n"},"region":{"type":"string"},"routerId":{"type":"string","description":"ID of the router this interface belongs to. Changing\nthis creates a new router interface.\n"},"subnetId":{"type":"string","description":"ID of the subnet this interface connects to. Changing\nthis creates a new router interface.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FNetworkingRouterInterfaceV2Timeouts:NetworkingRouterInterfaceV2Timeouts"}},"type":"object"}},"opentelekomcloud:index/networkingRouterRouteV2:NetworkingRouterRouteV2":{"description":"Up-to-date reference of API arguments for VPC router route you can get at\n[documentation portal](https://docs.otc.t-systems.com/virtual-private-cloud/api-ref/native_openstack_neutron_apis_v2.0/router)\n\n**DEPRECATED**\nCreates a routing entry on a OpenTelekomCloud V2 router.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst router1 = new opentelekomcloud.NetworkingRouterV2(\"router_1\", {\n    name: \"router_1\",\n    adminStateUp: true,\n});\nconst network1 = new opentelekomcloud.NetworkingNetworkV2(\"network_1\", {\n    name: \"network_1\",\n    adminStateUp: \"true\",\n});\nconst subnet1 = new opentelekomcloud.NetworkingSubnetV2(\"subnet_1\", {\n    networkId: network1.networkingNetworkV2Id,\n    cidr: \"192.168.199.0/24\",\n    ipVersion: 4,\n});\nconst int1 = new opentelekomcloud.NetworkingRouterInterfaceV2(\"int_1\", {\n    routerId: router1.networkingRouterV2Id,\n    subnetId: subnet1.networkingSubnetV2Id,\n});\nconst routerRoute1 = new opentelekomcloud.NetworkingRouterRouteV2(\"router_route_1\", {\n    routerId: router1.networkingRouterV2Id,\n    destinationCidr: \"10.0.1.0/24\",\n    nextHop: \"192.168.199.254\",\n}, {\n    dependsOn: [int1],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nrouter1 = opentelekomcloud.NetworkingRouterV2(\"router_1\",\n    name=\"router_1\",\n    admin_state_up=True)\nnetwork1 = opentelekomcloud.NetworkingNetworkV2(\"network_1\",\n    name=\"network_1\",\n    admin_state_up=\"true\")\nsubnet1 = opentelekomcloud.NetworkingSubnetV2(\"subnet_1\",\n    network_id=network1.networking_network_v2_id,\n    cidr=\"192.168.199.0/24\",\n    ip_version=4)\nint1 = opentelekomcloud.NetworkingRouterInterfaceV2(\"int_1\",\n    router_id=router1.networking_router_v2_id,\n    subnet_id=subnet1.networking_subnet_v2_id)\nrouter_route1 = opentelekomcloud.NetworkingRouterRouteV2(\"router_route_1\",\n    router_id=router1.networking_router_v2_id,\n    destination_cidr=\"10.0.1.0/24\",\n    next_hop=\"192.168.199.254\",\n    opts = pulumi.ResourceOptions(depends_on=[int1]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var router1 = new Opentelekomcloud.NetworkingRouterV2(\"router_1\", new()\n    {\n        Name = \"router_1\",\n        AdminStateUp = true,\n    });\n\n    var network1 = new Opentelekomcloud.NetworkingNetworkV2(\"network_1\", new()\n    {\n        Name = \"network_1\",\n        AdminStateUp = \"true\",\n    });\n\n    var subnet1 = new Opentelekomcloud.NetworkingSubnetV2(\"subnet_1\", new()\n    {\n        NetworkId = network1.NetworkingNetworkV2Id,\n        Cidr = \"192.168.199.0/24\",\n        IpVersion = 4,\n    });\n\n    var int1 = new Opentelekomcloud.NetworkingRouterInterfaceV2(\"int_1\", new()\n    {\n        RouterId = router1.NetworkingRouterV2Id,\n        SubnetId = subnet1.NetworkingSubnetV2Id,\n    });\n\n    var routerRoute1 = new Opentelekomcloud.NetworkingRouterRouteV2(\"router_route_1\", new()\n    {\n        RouterId = router1.NetworkingRouterV2Id,\n        DestinationCidr = \"10.0.1.0/24\",\n        NextHop = \"192.168.199.254\",\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            int1,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\trouter1, err := opentelekomcloud.NewNetworkingRouterV2(ctx, \"router_1\", \u0026opentelekomcloud.NetworkingRouterV2Args{\n\t\t\tName:         pulumi.String(\"router_1\"),\n\t\t\tAdminStateUp: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tnetwork1, err := opentelekomcloud.NewNetworkingNetworkV2(ctx, \"network_1\", \u0026opentelekomcloud.NetworkingNetworkV2Args{\n\t\t\tName:         pulumi.String(\"network_1\"),\n\t\t\tAdminStateUp: pulumi.String(\"true\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsubnet1, err := opentelekomcloud.NewNetworkingSubnetV2(ctx, \"subnet_1\", \u0026opentelekomcloud.NetworkingSubnetV2Args{\n\t\t\tNetworkId: network1.NetworkingNetworkV2Id,\n\t\t\tCidr:      pulumi.String(\"192.168.199.0/24\"),\n\t\t\tIpVersion: pulumi.Float64(4),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tint1, err := opentelekomcloud.NewNetworkingRouterInterfaceV2(ctx, \"int_1\", \u0026opentelekomcloud.NetworkingRouterInterfaceV2Args{\n\t\t\tRouterId: router1.NetworkingRouterV2Id,\n\t\t\tSubnetId: subnet1.NetworkingSubnetV2Id,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewNetworkingRouterRouteV2(ctx, \"router_route_1\", \u0026opentelekomcloud.NetworkingRouterRouteV2Args{\n\t\t\tRouterId:        router1.NetworkingRouterV2Id,\n\t\t\tDestinationCidr: pulumi.String(\"10.0.1.0/24\"),\n\t\t\tNextHop:         pulumi.String(\"192.168.199.254\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tint1,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.NetworkingRouterV2;\nimport com.pulumi.opentelekomcloud.NetworkingRouterV2Args;\nimport com.pulumi.opentelekomcloud.NetworkingNetworkV2;\nimport com.pulumi.opentelekomcloud.NetworkingNetworkV2Args;\nimport com.pulumi.opentelekomcloud.NetworkingSubnetV2;\nimport com.pulumi.opentelekomcloud.NetworkingSubnetV2Args;\nimport com.pulumi.opentelekomcloud.NetworkingRouterInterfaceV2;\nimport com.pulumi.opentelekomcloud.NetworkingRouterInterfaceV2Args;\nimport com.pulumi.opentelekomcloud.NetworkingRouterRouteV2;\nimport com.pulumi.opentelekomcloud.NetworkingRouterRouteV2Args;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var router1 = new NetworkingRouterV2(\"router1\", NetworkingRouterV2Args.builder()\n            .name(\"router_1\")\n            .adminStateUp(true)\n            .build());\n\n        var network1 = new NetworkingNetworkV2(\"network1\", NetworkingNetworkV2Args.builder()\n            .name(\"network_1\")\n            .adminStateUp(\"true\")\n            .build());\n\n        var subnet1 = new NetworkingSubnetV2(\"subnet1\", NetworkingSubnetV2Args.builder()\n            .networkId(network1.networkingNetworkV2Id())\n            .cidr(\"192.168.199.0/24\")\n            .ipVersion(4.0)\n            .build());\n\n        var int1 = new NetworkingRouterInterfaceV2(\"int1\", NetworkingRouterInterfaceV2Args.builder()\n            .routerId(router1.networkingRouterV2Id())\n            .subnetId(subnet1.networkingSubnetV2Id())\n            .build());\n\n        var routerRoute1 = new NetworkingRouterRouteV2(\"routerRoute1\", NetworkingRouterRouteV2Args.builder()\n            .routerId(router1.networkingRouterV2Id())\n            .destinationCidr(\"10.0.1.0/24\")\n            .nextHop(\"192.168.199.254\")\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(int1)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  router1:\n    type: opentelekomcloud:NetworkingRouterV2\n    name: router_1\n    properties:\n      name: router_1\n      adminStateUp: 'true'\n  network1:\n    type: opentelekomcloud:NetworkingNetworkV2\n    name: network_1\n    properties:\n      name: network_1\n      adminStateUp: 'true'\n  subnet1:\n    type: opentelekomcloud:NetworkingSubnetV2\n    name: subnet_1\n    properties:\n      networkId: ${network1.networkingNetworkV2Id}\n      cidr: 192.168.199.0/24\n      ipVersion: 4\n  int1:\n    type: opentelekomcloud:NetworkingRouterInterfaceV2\n    name: int_1\n    properties:\n      routerId: ${router1.networkingRouterV2Id}\n      subnetId: ${subnet1.networkingSubnetV2Id}\n  routerRoute1:\n    type: opentelekomcloud:NetworkingRouterRouteV2\n    name: router_route_1\n    properties:\n      routerId: ${router1.networkingRouterV2Id}\n      destinationCidr: 10.0.1.0/24\n      nextHop: 192.168.199.254\n    options:\n      dependsOn:\n        - ${int1}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"destinationCidr":{"type":"string","description":"CIDR block to match on the packet’s destination IP. Changing\nthis creates a new routing entry.\n"},"networkingRouterRouteV2Id":{"type":"string"},"nextHop":{"type":"string","description":"IP address of the next hop gateway.  Changing\nthis creates a new routing entry.\n"},"region":{"type":"string"},"routerId":{"type":"string","description":"ID of the router this routing entry belongs to. Changing\nthis creates a new routing entry.\n"}},"type":"object","required":["destinationCidr","networkingRouterRouteV2Id","nextHop","region","routerId"],"inputProperties":{"destinationCidr":{"type":"string","description":"CIDR block to match on the packet’s destination IP. Changing\nthis creates a new routing entry.\n"},"networkingRouterRouteV2Id":{"type":"string"},"nextHop":{"type":"string","description":"IP address of the next hop gateway.  Changing\nthis creates a new routing entry.\n"},"region":{"type":"string"},"routerId":{"type":"string","description":"ID of the router this routing entry belongs to. Changing\nthis creates a new routing entry.\n"}},"requiredInputs":["destinationCidr","nextHop","routerId"],"stateInputs":{"description":"Input properties used for looking up and filtering NetworkingRouterRouteV2 resources.\n","properties":{"destinationCidr":{"type":"string","description":"CIDR block to match on the packet’s destination IP. Changing\nthis creates a new routing entry.\n"},"networkingRouterRouteV2Id":{"type":"string"},"nextHop":{"type":"string","description":"IP address of the next hop gateway.  Changing\nthis creates a new routing entry.\n"},"region":{"type":"string"},"routerId":{"type":"string","description":"ID of the router this routing entry belongs to. Changing\nthis creates a new routing entry.\n"}},"type":"object"}},"opentelekomcloud:index/networkingRouterV2:NetworkingRouterV2":{"description":"Up-to-date reference of API arguments for VPC router you can get at\n[documentation portal](https://docs.otc.t-systems.com/virtual-private-cloud/api-ref/native_openstack_neutron_apis_v2.0/router)\n\nManages a V2 router resource within OpenTelekomCloud. The router is the top-level resource for the VPC within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst router1 = new opentelekomcloud.NetworkingRouterV2(\"router_1\", {\n    name: \"my_router\",\n    externalGateway: \"f67f0d72-0ddf-11e4-9d95-e1f29f417e2f\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nrouter1 = opentelekomcloud.NetworkingRouterV2(\"router_1\",\n    name=\"my_router\",\n    external_gateway=\"f67f0d72-0ddf-11e4-9d95-e1f29f417e2f\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var router1 = new Opentelekomcloud.NetworkingRouterV2(\"router_1\", new()\n    {\n        Name = \"my_router\",\n        ExternalGateway = \"f67f0d72-0ddf-11e4-9d95-e1f29f417e2f\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewNetworkingRouterV2(ctx, \"router_1\", \u0026opentelekomcloud.NetworkingRouterV2Args{\n\t\t\tName:            pulumi.String(\"my_router\"),\n\t\t\tExternalGateway: pulumi.String(\"f67f0d72-0ddf-11e4-9d95-e1f29f417e2f\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.NetworkingRouterV2;\nimport com.pulumi.opentelekomcloud.NetworkingRouterV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var router1 = new NetworkingRouterV2(\"router1\", NetworkingRouterV2Args.builder()\n            .name(\"my_router\")\n            .externalGateway(\"f67f0d72-0ddf-11e4-9d95-e1f29f417e2f\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  router1:\n    type: opentelekomcloud:NetworkingRouterV2\n    name: router_1\n    properties:\n      name: my_router\n      externalGateway: f67f0d72-0ddf-11e4-9d95-e1f29f417e2f\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Enable SNAT\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst adminExternalNet = opentelekomcloud.getNetworkingNetworkV2({\n    name: \"admin_external_net\",\n});\nconst router1 = new opentelekomcloud.NetworkingRouterV2(\"router_1\", {\n    name: \"my_router\",\n    adminStateUp: true,\n    distributed: false,\n    externalGateway: adminExternalNet.then(adminExternalNet =\u003e adminExternalNet.id),\n    enableSnat: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nadmin_external_net = opentelekomcloud.get_networking_network_v2(name=\"admin_external_net\")\nrouter1 = opentelekomcloud.NetworkingRouterV2(\"router_1\",\n    name=\"my_router\",\n    admin_state_up=True,\n    distributed=False,\n    external_gateway=admin_external_net.id,\n    enable_snat=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var adminExternalNet = Opentelekomcloud.GetNetworkingNetworkV2.Invoke(new()\n    {\n        Name = \"admin_external_net\",\n    });\n\n    var router1 = new Opentelekomcloud.NetworkingRouterV2(\"router_1\", new()\n    {\n        Name = \"my_router\",\n        AdminStateUp = true,\n        Distributed = false,\n        ExternalGateway = adminExternalNet.Apply(getNetworkingNetworkV2Result =\u003e getNetworkingNetworkV2Result.Id),\n        EnableSnat = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tadminExternalNet, err := opentelekomcloud.LookupNetworkingNetworkV2(ctx, \u0026opentelekomcloud.LookupNetworkingNetworkV2Args{\n\t\t\tName: pulumi.StringRef(\"admin_external_net\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewNetworkingRouterV2(ctx, \"router_1\", \u0026opentelekomcloud.NetworkingRouterV2Args{\n\t\t\tName:            pulumi.String(\"my_router\"),\n\t\t\tAdminStateUp:    pulumi.Bool(true),\n\t\t\tDistributed:     pulumi.Bool(false),\n\t\t\tExternalGateway: pulumi.String(adminExternalNet.Id),\n\t\t\tEnableSnat:      pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetNetworkingNetworkV2Args;\nimport com.pulumi.opentelekomcloud.NetworkingRouterV2;\nimport com.pulumi.opentelekomcloud.NetworkingRouterV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var adminExternalNet = OpentelekomcloudFunctions.getNetworkingNetworkV2(GetNetworkingNetworkV2Args.builder()\n            .name(\"admin_external_net\")\n            .build());\n\n        var router1 = new NetworkingRouterV2(\"router1\", NetworkingRouterV2Args.builder()\n            .name(\"my_router\")\n            .adminStateUp(true)\n            .distributed(false)\n            .externalGateway(adminExternalNet.id())\n            .enableSnat(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  router1:\n    type: opentelekomcloud:NetworkingRouterV2\n    name: router_1\n    properties:\n      name: my_router\n      adminStateUp: true\n      distributed: false\n      externalGateway: ${adminExternalNet.id}\n      enableSnat: true\nvariables:\n  adminExternalNet:\n    fn::invoke:\n      function: opentelekomcloud:getNetworkingNetworkV2\n      arguments:\n        name: admin_external_net\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"adminStateUp":{"type":"boolean","description":"Administrative up/down status for the router\n(must be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e if provided). Changing this updates the\n\u003cspan pulumi-lang-nodejs=\"`adminStateUp`\" pulumi-lang-dotnet=\"`AdminStateUp`\" pulumi-lang-go=\"`adminStateUp`\" pulumi-lang-python=\"`admin_state_up`\" pulumi-lang-yaml=\"`adminStateUp`\" pulumi-lang-java=\"`adminStateUp`\"\u003e`admin_state_up`\u003c/span\u003e of an existing router.\n"},"distributed":{"type":"boolean","description":"Indicates whether or not to create a\ndistributed router. The default policy setting in Neutron restricts\nusage of this property to administrative users only.\n"},"enableSnat":{"type":"boolean","description":"Enable Source NAT for the router. Valid values are\n\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. An \u003cspan pulumi-lang-nodejs=\"`externalGateway`\" pulumi-lang-dotnet=\"`ExternalGateway`\" pulumi-lang-go=\"`externalGateway`\" pulumi-lang-python=\"`external_gateway`\" pulumi-lang-yaml=\"`externalGateway`\" pulumi-lang-java=\"`externalGateway`\"\u003e`external_gateway`\u003c/span\u003e has to be set in order to set this\nproperty. Changing this updates the \u003cspan pulumi-lang-nodejs=\"`enableSnat`\" pulumi-lang-dotnet=\"`EnableSnat`\" pulumi-lang-go=\"`enableSnat`\" pulumi-lang-python=\"`enable_snat`\" pulumi-lang-yaml=\"`enableSnat`\" pulumi-lang-java=\"`enableSnat`\"\u003e`enable_snat`\u003c/span\u003e of the router.\n"},"externalGateway":{"type":"string","description":"The network UUID of an external gateway for\nthe router. A router with an external gateway is required if any compute\ninstances or load balancers will be using floating IPs. Changing this\nupdates the \u003cspan pulumi-lang-nodejs=\"`externalGateway`\" pulumi-lang-dotnet=\"`ExternalGateway`\" pulumi-lang-go=\"`externalGateway`\" pulumi-lang-python=\"`external_gateway`\" pulumi-lang-yaml=\"`externalGateway`\" pulumi-lang-java=\"`externalGateway`\"\u003e`external_gateway`\u003c/span\u003e of an existing router.\n"},"name":{"type":"string","description":"A unique name for the router. Changing this\nupdates the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e of an existing router.\n"},"networkingRouterV2Id":{"type":"string","description":"ID of the router.\n"},"region":{"type":"string"},"tenantId":{"type":"string","description":"The owner of the floating IP. Required if admin wants\nto create a router for another tenant. Changing this creates a new router.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FNetworkingRouterV2Timeouts:NetworkingRouterV2Timeouts"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of additional driver-specific options.\n"}},"type":"object","required":["adminStateUp","distributed","enableSnat","name","networkingRouterV2Id","region","tenantId"],"inputProperties":{"adminStateUp":{"type":"boolean","description":"Administrative up/down status for the router\n(must be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e if provided). Changing this updates the\n\u003cspan pulumi-lang-nodejs=\"`adminStateUp`\" pulumi-lang-dotnet=\"`AdminStateUp`\" pulumi-lang-go=\"`adminStateUp`\" pulumi-lang-python=\"`admin_state_up`\" pulumi-lang-yaml=\"`adminStateUp`\" pulumi-lang-java=\"`adminStateUp`\"\u003e`admin_state_up`\u003c/span\u003e of an existing router.\n"},"distributed":{"type":"boolean","description":"Indicates whether or not to create a\ndistributed router. The default policy setting in Neutron restricts\nusage of this property to administrative users only.\n"},"enableSnat":{"type":"boolean","description":"Enable Source NAT for the router. Valid values are\n\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. An \u003cspan pulumi-lang-nodejs=\"`externalGateway`\" pulumi-lang-dotnet=\"`ExternalGateway`\" pulumi-lang-go=\"`externalGateway`\" pulumi-lang-python=\"`external_gateway`\" pulumi-lang-yaml=\"`externalGateway`\" pulumi-lang-java=\"`externalGateway`\"\u003e`external_gateway`\u003c/span\u003e has to be set in order to set this\nproperty. Changing this updates the \u003cspan pulumi-lang-nodejs=\"`enableSnat`\" pulumi-lang-dotnet=\"`EnableSnat`\" pulumi-lang-go=\"`enableSnat`\" pulumi-lang-python=\"`enable_snat`\" pulumi-lang-yaml=\"`enableSnat`\" pulumi-lang-java=\"`enableSnat`\"\u003e`enable_snat`\u003c/span\u003e of the router.\n"},"externalGateway":{"type":"string","description":"The network UUID of an external gateway for\nthe router. A router with an external gateway is required if any compute\ninstances or load balancers will be using floating IPs. Changing this\nupdates the \u003cspan pulumi-lang-nodejs=\"`externalGateway`\" pulumi-lang-dotnet=\"`ExternalGateway`\" pulumi-lang-go=\"`externalGateway`\" pulumi-lang-python=\"`external_gateway`\" pulumi-lang-yaml=\"`externalGateway`\" pulumi-lang-java=\"`externalGateway`\"\u003e`external_gateway`\u003c/span\u003e of an existing router.\n"},"name":{"type":"string","description":"A unique name for the router. Changing this\nupdates the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e of an existing router.\n"},"networkingRouterV2Id":{"type":"string","description":"ID of the router.\n"},"region":{"type":"string"},"tenantId":{"type":"string","description":"The owner of the floating IP. Required if admin wants\nto create a router for another tenant. Changing this creates a new router.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FNetworkingRouterV2Timeouts:NetworkingRouterV2Timeouts"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of additional driver-specific options.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering NetworkingRouterV2 resources.\n","properties":{"adminStateUp":{"type":"boolean","description":"Administrative up/down status for the router\n(must be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e if provided). Changing this updates the\n\u003cspan pulumi-lang-nodejs=\"`adminStateUp`\" pulumi-lang-dotnet=\"`AdminStateUp`\" pulumi-lang-go=\"`adminStateUp`\" pulumi-lang-python=\"`admin_state_up`\" pulumi-lang-yaml=\"`adminStateUp`\" pulumi-lang-java=\"`adminStateUp`\"\u003e`admin_state_up`\u003c/span\u003e of an existing router.\n"},"distributed":{"type":"boolean","description":"Indicates whether or not to create a\ndistributed router. The default policy setting in Neutron restricts\nusage of this property to administrative users only.\n"},"enableSnat":{"type":"boolean","description":"Enable Source NAT for the router. Valid values are\n\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. An \u003cspan pulumi-lang-nodejs=\"`externalGateway`\" pulumi-lang-dotnet=\"`ExternalGateway`\" pulumi-lang-go=\"`externalGateway`\" pulumi-lang-python=\"`external_gateway`\" pulumi-lang-yaml=\"`externalGateway`\" pulumi-lang-java=\"`externalGateway`\"\u003e`external_gateway`\u003c/span\u003e has to be set in order to set this\nproperty. Changing this updates the \u003cspan pulumi-lang-nodejs=\"`enableSnat`\" pulumi-lang-dotnet=\"`EnableSnat`\" pulumi-lang-go=\"`enableSnat`\" pulumi-lang-python=\"`enable_snat`\" pulumi-lang-yaml=\"`enableSnat`\" pulumi-lang-java=\"`enableSnat`\"\u003e`enable_snat`\u003c/span\u003e of the router.\n"},"externalGateway":{"type":"string","description":"The network UUID of an external gateway for\nthe router. A router with an external gateway is required if any compute\ninstances or load balancers will be using floating IPs. Changing this\nupdates the \u003cspan pulumi-lang-nodejs=\"`externalGateway`\" pulumi-lang-dotnet=\"`ExternalGateway`\" pulumi-lang-go=\"`externalGateway`\" pulumi-lang-python=\"`external_gateway`\" pulumi-lang-yaml=\"`externalGateway`\" pulumi-lang-java=\"`externalGateway`\"\u003e`external_gateway`\u003c/span\u003e of an existing router.\n"},"name":{"type":"string","description":"A unique name for the router. Changing this\nupdates the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e of an existing router.\n"},"networkingRouterV2Id":{"type":"string","description":"ID of the router.\n"},"region":{"type":"string"},"tenantId":{"type":"string","description":"The owner of the floating IP. Required if admin wants\nto create a router for another tenant. Changing this creates a new router.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FNetworkingRouterV2Timeouts:NetworkingRouterV2Timeouts"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of additional driver-specific options.\n"}},"type":"object"}},"opentelekomcloud:index/networkingSecgroupRuleV2:NetworkingSecgroupRuleV2":{"description":"Up-to-date reference of API arguments for VPC security group rule you can get at\n[documentation portal](https://docs.otc.t-systems.com/virtual-private-cloud/api-ref/native_openstack_neutron_apis_v2.0/security_group)\n\nManages a V2 neutron security group rule resource within OpenTelekomCloud.\nUnlike Nova security groups, neutron separates the group from the rules\nand also allows an admin to target a specific tenant_id.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst secgroup1 = new opentelekomcloud.NetworkingSecgroupV2(\"secgroup_1\", {\n    name: \"secgroup_1\",\n    description: \"My neutron security group\",\n});\nconst secgroupRule1 = new opentelekomcloud.NetworkingSecgroupRuleV2(\"secgroup_rule_1\", {\n    direction: \"ingress\",\n    ethertype: \"IPv4\",\n    protocol: \"tcp\",\n    portRangeMin: 22,\n    portRangeMax: 22,\n    remoteIpPrefix: \"0.0.0.0/0\",\n    securityGroupId: secgroup1.networkingSecgroupV2Id,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nsecgroup1 = opentelekomcloud.NetworkingSecgroupV2(\"secgroup_1\",\n    name=\"secgroup_1\",\n    description=\"My neutron security group\")\nsecgroup_rule1 = opentelekomcloud.NetworkingSecgroupRuleV2(\"secgroup_rule_1\",\n    direction=\"ingress\",\n    ethertype=\"IPv4\",\n    protocol=\"tcp\",\n    port_range_min=22,\n    port_range_max=22,\n    remote_ip_prefix=\"0.0.0.0/0\",\n    security_group_id=secgroup1.networking_secgroup_v2_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var secgroup1 = new Opentelekomcloud.NetworkingSecgroupV2(\"secgroup_1\", new()\n    {\n        Name = \"secgroup_1\",\n        Description = \"My neutron security group\",\n    });\n\n    var secgroupRule1 = new Opentelekomcloud.NetworkingSecgroupRuleV2(\"secgroup_rule_1\", new()\n    {\n        Direction = \"ingress\",\n        Ethertype = \"IPv4\",\n        Protocol = \"tcp\",\n        PortRangeMin = 22,\n        PortRangeMax = 22,\n        RemoteIpPrefix = \"0.0.0.0/0\",\n        SecurityGroupId = secgroup1.NetworkingSecgroupV2Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsecgroup1, err := opentelekomcloud.NewNetworkingSecgroupV2(ctx, \"secgroup_1\", \u0026opentelekomcloud.NetworkingSecgroupV2Args{\n\t\t\tName:        pulumi.String(\"secgroup_1\"),\n\t\t\tDescription: pulumi.String(\"My neutron security group\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewNetworkingSecgroupRuleV2(ctx, \"secgroup_rule_1\", \u0026opentelekomcloud.NetworkingSecgroupRuleV2Args{\n\t\t\tDirection:       pulumi.String(\"ingress\"),\n\t\t\tEthertype:       pulumi.String(\"IPv4\"),\n\t\t\tProtocol:        pulumi.String(\"tcp\"),\n\t\t\tPortRangeMin:    pulumi.Float64(22),\n\t\t\tPortRangeMax:    pulumi.Float64(22),\n\t\t\tRemoteIpPrefix:  pulumi.String(\"0.0.0.0/0\"),\n\t\t\tSecurityGroupId: secgroup1.NetworkingSecgroupV2Id,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.NetworkingSecgroupV2;\nimport com.pulumi.opentelekomcloud.NetworkingSecgroupV2Args;\nimport com.pulumi.opentelekomcloud.NetworkingSecgroupRuleV2;\nimport com.pulumi.opentelekomcloud.NetworkingSecgroupRuleV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var secgroup1 = new NetworkingSecgroupV2(\"secgroup1\", NetworkingSecgroupV2Args.builder()\n            .name(\"secgroup_1\")\n            .description(\"My neutron security group\")\n            .build());\n\n        var secgroupRule1 = new NetworkingSecgroupRuleV2(\"secgroupRule1\", NetworkingSecgroupRuleV2Args.builder()\n            .direction(\"ingress\")\n            .ethertype(\"IPv4\")\n            .protocol(\"tcp\")\n            .portRangeMin(22.0)\n            .portRangeMax(22.0)\n            .remoteIpPrefix(\"0.0.0.0/0\")\n            .securityGroupId(secgroup1.networkingSecgroupV2Id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  secgroup1:\n    type: opentelekomcloud:NetworkingSecgroupV2\n    name: secgroup_1\n    properties:\n      name: secgroup_1\n      description: My neutron security group\n  secgroupRule1:\n    type: opentelekomcloud:NetworkingSecgroupRuleV2\n    name: secgroup_rule_1\n    properties:\n      direction: ingress\n      ethertype: IPv4\n      protocol: tcp\n      portRangeMin: 22\n      portRangeMax: 22\n      remoteIpPrefix: 0.0.0.0/0\n      securityGroupId: ${secgroup1.networkingSecgroupV2Id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Example ICMP\n\nICMP port codes you can get at:\n`https://docs.otc.t-systems.com/virtual-private-cloud/api-ref/appendix/icmp-port_range_relationship_table.html`.\n\nBut for `Any` values must be:\n* \u003cspan pulumi-lang-nodejs=\"`portRangeMin`\" pulumi-lang-dotnet=\"`PortRangeMin`\" pulumi-lang-go=\"`portRangeMin`\" pulumi-lang-python=\"`port_range_min`\" pulumi-lang-yaml=\"`portRangeMin`\" pulumi-lang-java=\"`portRangeMin`\"\u003e`port_range_min`\u003c/span\u003e = 0\n* \u003cspan pulumi-lang-nodejs=\"`portRangeMax`\" pulumi-lang-dotnet=\"`PortRangeMax`\" pulumi-lang-go=\"`portRangeMax`\" pulumi-lang-python=\"`port_range_max`\" pulumi-lang-yaml=\"`portRangeMax`\" pulumi-lang-java=\"`portRangeMax`\"\u003e`port_range_max`\u003c/span\u003e = 255\n\n### Echo\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst secgroup1 = new opentelekomcloud.NetworkingSecgroupV2(\"secgroup_1\", {\n    name: \"secgroup_1\",\n    description: \"My neutron security group\",\n});\nconst secgroupRuleIcmpEchoReply = new opentelekomcloud.NetworkingSecgroupRuleV2(\"secgroup_rule_icmp_echo_reply\", {\n    direction: \"ingress\",\n    ethertype: \"IPv4\",\n    protocol: \"icmp\",\n    portRangeMin: 0,\n    portRangeMax: 0,\n    remoteIpPrefix: \"0.0.0.0/0\",\n    securityGroupId: secgroup1.networkingSecgroupV2Id,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nsecgroup1 = opentelekomcloud.NetworkingSecgroupV2(\"secgroup_1\",\n    name=\"secgroup_1\",\n    description=\"My neutron security group\")\nsecgroup_rule_icmp_echo_reply = opentelekomcloud.NetworkingSecgroupRuleV2(\"secgroup_rule_icmp_echo_reply\",\n    direction=\"ingress\",\n    ethertype=\"IPv4\",\n    protocol=\"icmp\",\n    port_range_min=0,\n    port_range_max=0,\n    remote_ip_prefix=\"0.0.0.0/0\",\n    security_group_id=secgroup1.networking_secgroup_v2_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var secgroup1 = new Opentelekomcloud.NetworkingSecgroupV2(\"secgroup_1\", new()\n    {\n        Name = \"secgroup_1\",\n        Description = \"My neutron security group\",\n    });\n\n    var secgroupRuleIcmpEchoReply = new Opentelekomcloud.NetworkingSecgroupRuleV2(\"secgroup_rule_icmp_echo_reply\", new()\n    {\n        Direction = \"ingress\",\n        Ethertype = \"IPv4\",\n        Protocol = \"icmp\",\n        PortRangeMin = 0,\n        PortRangeMax = 0,\n        RemoteIpPrefix = \"0.0.0.0/0\",\n        SecurityGroupId = secgroup1.NetworkingSecgroupV2Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsecgroup1, err := opentelekomcloud.NewNetworkingSecgroupV2(ctx, \"secgroup_1\", \u0026opentelekomcloud.NetworkingSecgroupV2Args{\n\t\t\tName:        pulumi.String(\"secgroup_1\"),\n\t\t\tDescription: pulumi.String(\"My neutron security group\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewNetworkingSecgroupRuleV2(ctx, \"secgroup_rule_icmp_echo_reply\", \u0026opentelekomcloud.NetworkingSecgroupRuleV2Args{\n\t\t\tDirection:       pulumi.String(\"ingress\"),\n\t\t\tEthertype:       pulumi.String(\"IPv4\"),\n\t\t\tProtocol:        pulumi.String(\"icmp\"),\n\t\t\tPortRangeMin:    pulumi.Float64(0),\n\t\t\tPortRangeMax:    pulumi.Float64(0),\n\t\t\tRemoteIpPrefix:  pulumi.String(\"0.0.0.0/0\"),\n\t\t\tSecurityGroupId: secgroup1.NetworkingSecgroupV2Id,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.NetworkingSecgroupV2;\nimport com.pulumi.opentelekomcloud.NetworkingSecgroupV2Args;\nimport com.pulumi.opentelekomcloud.NetworkingSecgroupRuleV2;\nimport com.pulumi.opentelekomcloud.NetworkingSecgroupRuleV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var secgroup1 = new NetworkingSecgroupV2(\"secgroup1\", NetworkingSecgroupV2Args.builder()\n            .name(\"secgroup_1\")\n            .description(\"My neutron security group\")\n            .build());\n\n        var secgroupRuleIcmpEchoReply = new NetworkingSecgroupRuleV2(\"secgroupRuleIcmpEchoReply\", NetworkingSecgroupRuleV2Args.builder()\n            .direction(\"ingress\")\n            .ethertype(\"IPv4\")\n            .protocol(\"icmp\")\n            .portRangeMin(0.0)\n            .portRangeMax(0.0)\n            .remoteIpPrefix(\"0.0.0.0/0\")\n            .securityGroupId(secgroup1.networkingSecgroupV2Id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  secgroup1:\n    type: opentelekomcloud:NetworkingSecgroupV2\n    name: secgroup_1\n    properties:\n      name: secgroup_1\n      description: My neutron security group\n  secgroupRuleIcmpEchoReply:\n    type: opentelekomcloud:NetworkingSecgroupRuleV2\n    name: secgroup_rule_icmp_echo_reply\n    properties:\n      direction: ingress\n      ethertype: IPv4\n      protocol: icmp\n      portRangeMin: 0\n      portRangeMax: 0\n      remoteIpPrefix: 0.0.0.0/0\n      securityGroupId: ${secgroup1.networkingSecgroupV2Id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Any\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst secgroup1 = new opentelekomcloud.NetworkingSecgroupV2(\"secgroup_1\", {\n    name: \"secgroup_1\",\n    description: \"My neutron security group\",\n});\nconst secgroupRuleIcmpAny = new opentelekomcloud.NetworkingSecgroupRuleV2(\"secgroup_rule_icmp_any\", {\n    direction: \"ingress\",\n    ethertype: \"IPv4\",\n    protocol: \"icmp\",\n    portRangeMin: 0,\n    portRangeMax: 255,\n    remoteIpPrefix: \"0.0.0.0/0\",\n    securityGroupId: secgroup1.networkingSecgroupV2Id,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nsecgroup1 = opentelekomcloud.NetworkingSecgroupV2(\"secgroup_1\",\n    name=\"secgroup_1\",\n    description=\"My neutron security group\")\nsecgroup_rule_icmp_any = opentelekomcloud.NetworkingSecgroupRuleV2(\"secgroup_rule_icmp_any\",\n    direction=\"ingress\",\n    ethertype=\"IPv4\",\n    protocol=\"icmp\",\n    port_range_min=0,\n    port_range_max=255,\n    remote_ip_prefix=\"0.0.0.0/0\",\n    security_group_id=secgroup1.networking_secgroup_v2_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var secgroup1 = new Opentelekomcloud.NetworkingSecgroupV2(\"secgroup_1\", new()\n    {\n        Name = \"secgroup_1\",\n        Description = \"My neutron security group\",\n    });\n\n    var secgroupRuleIcmpAny = new Opentelekomcloud.NetworkingSecgroupRuleV2(\"secgroup_rule_icmp_any\", new()\n    {\n        Direction = \"ingress\",\n        Ethertype = \"IPv4\",\n        Protocol = \"icmp\",\n        PortRangeMin = 0,\n        PortRangeMax = 255,\n        RemoteIpPrefix = \"0.0.0.0/0\",\n        SecurityGroupId = secgroup1.NetworkingSecgroupV2Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsecgroup1, err := opentelekomcloud.NewNetworkingSecgroupV2(ctx, \"secgroup_1\", \u0026opentelekomcloud.NetworkingSecgroupV2Args{\n\t\t\tName:        pulumi.String(\"secgroup_1\"),\n\t\t\tDescription: pulumi.String(\"My neutron security group\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewNetworkingSecgroupRuleV2(ctx, \"secgroup_rule_icmp_any\", \u0026opentelekomcloud.NetworkingSecgroupRuleV2Args{\n\t\t\tDirection:       pulumi.String(\"ingress\"),\n\t\t\tEthertype:       pulumi.String(\"IPv4\"),\n\t\t\tProtocol:        pulumi.String(\"icmp\"),\n\t\t\tPortRangeMin:    pulumi.Float64(0),\n\t\t\tPortRangeMax:    pulumi.Float64(255),\n\t\t\tRemoteIpPrefix:  pulumi.String(\"0.0.0.0/0\"),\n\t\t\tSecurityGroupId: secgroup1.NetworkingSecgroupV2Id,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.NetworkingSecgroupV2;\nimport com.pulumi.opentelekomcloud.NetworkingSecgroupV2Args;\nimport com.pulumi.opentelekomcloud.NetworkingSecgroupRuleV2;\nimport com.pulumi.opentelekomcloud.NetworkingSecgroupRuleV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var secgroup1 = new NetworkingSecgroupV2(\"secgroup1\", NetworkingSecgroupV2Args.builder()\n            .name(\"secgroup_1\")\n            .description(\"My neutron security group\")\n            .build());\n\n        var secgroupRuleIcmpAny = new NetworkingSecgroupRuleV2(\"secgroupRuleIcmpAny\", NetworkingSecgroupRuleV2Args.builder()\n            .direction(\"ingress\")\n            .ethertype(\"IPv4\")\n            .protocol(\"icmp\")\n            .portRangeMin(0.0)\n            .portRangeMax(255.0)\n            .remoteIpPrefix(\"0.0.0.0/0\")\n            .securityGroupId(secgroup1.networkingSecgroupV2Id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  secgroup1:\n    type: opentelekomcloud:NetworkingSecgroupV2\n    name: secgroup_1\n    properties:\n      name: secgroup_1\n      description: My neutron security group\n  secgroupRuleIcmpAny:\n    type: opentelekomcloud:NetworkingSecgroupRuleV2\n    name: secgroup_rule_icmp_any\n    properties:\n      direction: ingress\n      ethertype: IPv4\n      protocol: icmp\n      portRangeMin: 0\n      portRangeMax: 255\n      remoteIpPrefix: 0.0.0.0/0\n      securityGroupId: ${secgroup1.networkingSecgroupV2Id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Ipv6\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst secgroup1 = new opentelekomcloud.NetworkingSecgroupV2(\"secgroup_1\", {\n    name: \"secgroup_1\",\n    description: \"My neutron security group\",\n});\nconst secgroupRuleV6 = new opentelekomcloud.NetworkingSecgroupRuleV2(\"secgroup_rule_v6\", {\n    direction: \"ingress\",\n    ethertype: \"IPv6\",\n    portRangeMax: 8080,\n    portRangeMin: 8080,\n    protocol: \"tcp\",\n    remoteGroupId: secgroup1.networkingSecgroupV2Id,\n    securityGroupId: secgroup2.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nsecgroup1 = opentelekomcloud.NetworkingSecgroupV2(\"secgroup_1\",\n    name=\"secgroup_1\",\n    description=\"My neutron security group\")\nsecgroup_rule_v6 = opentelekomcloud.NetworkingSecgroupRuleV2(\"secgroup_rule_v6\",\n    direction=\"ingress\",\n    ethertype=\"IPv6\",\n    port_range_max=8080,\n    port_range_min=8080,\n    protocol=\"tcp\",\n    remote_group_id=secgroup1.networking_secgroup_v2_id,\n    security_group_id=secgroup2[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var secgroup1 = new Opentelekomcloud.NetworkingSecgroupV2(\"secgroup_1\", new()\n    {\n        Name = \"secgroup_1\",\n        Description = \"My neutron security group\",\n    });\n\n    var secgroupRuleV6 = new Opentelekomcloud.NetworkingSecgroupRuleV2(\"secgroup_rule_v6\", new()\n    {\n        Direction = \"ingress\",\n        Ethertype = \"IPv6\",\n        PortRangeMax = 8080,\n        PortRangeMin = 8080,\n        Protocol = \"tcp\",\n        RemoteGroupId = secgroup1.NetworkingSecgroupV2Id,\n        SecurityGroupId = secgroup2.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsecgroup1, err := opentelekomcloud.NewNetworkingSecgroupV2(ctx, \"secgroup_1\", \u0026opentelekomcloud.NetworkingSecgroupV2Args{\n\t\t\tName:        pulumi.String(\"secgroup_1\"),\n\t\t\tDescription: pulumi.String(\"My neutron security group\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewNetworkingSecgroupRuleV2(ctx, \"secgroup_rule_v6\", \u0026opentelekomcloud.NetworkingSecgroupRuleV2Args{\n\t\t\tDirection:       pulumi.String(\"ingress\"),\n\t\t\tEthertype:       pulumi.String(\"IPv6\"),\n\t\t\tPortRangeMax:    pulumi.Float64(8080),\n\t\t\tPortRangeMin:    pulumi.Float64(8080),\n\t\t\tProtocol:        pulumi.String(\"tcp\"),\n\t\t\tRemoteGroupId:   secgroup1.NetworkingSecgroupV2Id,\n\t\t\tSecurityGroupId: pulumi.Any(secgroup2.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.NetworkingSecgroupV2;\nimport com.pulumi.opentelekomcloud.NetworkingSecgroupV2Args;\nimport com.pulumi.opentelekomcloud.NetworkingSecgroupRuleV2;\nimport com.pulumi.opentelekomcloud.NetworkingSecgroupRuleV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var secgroup1 = new NetworkingSecgroupV2(\"secgroup1\", NetworkingSecgroupV2Args.builder()\n            .name(\"secgroup_1\")\n            .description(\"My neutron security group\")\n            .build());\n\n        var secgroupRuleV6 = new NetworkingSecgroupRuleV2(\"secgroupRuleV6\", NetworkingSecgroupRuleV2Args.builder()\n            .direction(\"ingress\")\n            .ethertype(\"IPv6\")\n            .portRangeMax(8080.0)\n            .portRangeMin(8080.0)\n            .protocol(\"tcp\")\n            .remoteGroupId(secgroup1.networkingSecgroupV2Id())\n            .securityGroupId(secgroup2.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  secgroup1:\n    type: opentelekomcloud:NetworkingSecgroupV2\n    name: secgroup_1\n    properties:\n      name: secgroup_1\n      description: My neutron security group\n  secgroupRuleV6:\n    type: opentelekomcloud:NetworkingSecgroupRuleV2\n    name: secgroup_rule_v6\n    properties:\n      direction: ingress\n      ethertype: IPv6\n      portRangeMax: 8080\n      portRangeMin: 8080\n      protocol: tcp\n      remoteGroupId: ${secgroup1.networkingSecgroupV2Id}\n      securityGroupId: ${secgroup2.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSecurity Group Rules can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/networkingSecgroupRuleV2:NetworkingSecgroupRuleV2 secgroup_rule_1 aeb68ee3-6e9d-4256-955c-9584a6212745\n```\n\n","properties":{"description":{"type":"string","description":"A description of the rule. Changing this creates a new security group rule.\n"},"direction":{"type":"string","description":"The direction of the rule, valid values are \u003cspan pulumi-lang-nodejs=\"`ingress`\" pulumi-lang-dotnet=\"`Ingress`\" pulumi-lang-go=\"`ingress`\" pulumi-lang-python=\"`ingress`\" pulumi-lang-yaml=\"`ingress`\" pulumi-lang-java=\"`ingress`\"\u003e`ingress`\u003c/span\u003e\nor \u003cspan pulumi-lang-nodejs=\"`egress`\" pulumi-lang-dotnet=\"`Egress`\" pulumi-lang-go=\"`egress`\" pulumi-lang-python=\"`egress`\" pulumi-lang-yaml=\"`egress`\" pulumi-lang-java=\"`egress`\"\u003e`egress`\u003c/span\u003e. Changing this creates a new security group rule.\n"},"ethertype":{"type":"string","description":"The layer 3 protocol type, valid values are `IPv4`\nor `IPv6`. Changing this creates a new security group rule.\n"},"networkingSecgroupRuleV2Id":{"type":"string"},"portRangeMax":{"type":"number","description":"The higher part of the allowed port range, valid\ninteger value needs to be between 1 and 65535. Changing this creates a new\nsecurity group rule. When ICMP is used, the value is the ICMP code\n(The value ranges from 0 to 255 when it indicates the code).\n"},"portRangeMin":{"type":"number","description":"The lower part of the allowed port range, valid\ninteger value needs to be between 1 and 65535. Changing this creates a new\nsecurity group rule. When ICMP is used, the value is the ICMP code\n(The value ranges from 0 to 255 when it indicates the code).\n"},"protocol":{"type":"string","description":"The layer 4 protocol type, valid values are following. Changing this creates a new security group rule.\nThis is required if you want to specify a port range.\n"},"region":{"type":"string"},"remoteGroupId":{"type":"string","description":"The remote group id, the value needs to be an\nOpenTelekomCloud ID of a security group in the same tenant. Changing this creates\na new security group rule.\n"},"remoteIpPrefix":{"type":"string","description":"The remote CIDR, the value needs to be a valid\nCIDR (i.e. 192.168.0.0/16). Changing this creates a new security group rule.\n"},"securityGroupId":{"type":"string","description":"The security group id the rule should belong\nto, the value needs to be an OpenTelekomCloud ID of a security group in the same\ntenant. Changing this creates a new security group rule.\n"},"tenantId":{"type":"string","description":"The owner of the security group. Required if admin\nwants to create a port for another tenant. Changing this creates a new\nsecurity group rule.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FNetworkingSecgroupRuleV2Timeouts:NetworkingSecgroupRuleV2Timeouts"}},"type":"object","required":["direction","ethertype","networkingSecgroupRuleV2Id","region","remoteGroupId","remoteIpPrefix","securityGroupId","tenantId"],"inputProperties":{"description":{"type":"string","description":"A description of the rule. Changing this creates a new security group rule.\n"},"direction":{"type":"string","description":"The direction of the rule, valid values are \u003cspan pulumi-lang-nodejs=\"`ingress`\" pulumi-lang-dotnet=\"`Ingress`\" pulumi-lang-go=\"`ingress`\" pulumi-lang-python=\"`ingress`\" pulumi-lang-yaml=\"`ingress`\" pulumi-lang-java=\"`ingress`\"\u003e`ingress`\u003c/span\u003e\nor \u003cspan pulumi-lang-nodejs=\"`egress`\" pulumi-lang-dotnet=\"`Egress`\" pulumi-lang-go=\"`egress`\" pulumi-lang-python=\"`egress`\" pulumi-lang-yaml=\"`egress`\" pulumi-lang-java=\"`egress`\"\u003e`egress`\u003c/span\u003e. Changing this creates a new security group rule.\n"},"ethertype":{"type":"string","description":"The layer 3 protocol type, valid values are `IPv4`\nor `IPv6`. Changing this creates a new security group rule.\n"},"networkingSecgroupRuleV2Id":{"type":"string"},"portRangeMax":{"type":"number","description":"The higher part of the allowed port range, valid\ninteger value needs to be between 1 and 65535. Changing this creates a new\nsecurity group rule. When ICMP is used, the value is the ICMP code\n(The value ranges from 0 to 255 when it indicates the code).\n"},"portRangeMin":{"type":"number","description":"The lower part of the allowed port range, valid\ninteger value needs to be between 1 and 65535. Changing this creates a new\nsecurity group rule. When ICMP is used, the value is the ICMP code\n(The value ranges from 0 to 255 when it indicates the code).\n"},"protocol":{"type":"string","description":"The layer 4 protocol type, valid values are following. Changing this creates a new security group rule.\nThis is required if you want to specify a port range.\n"},"region":{"type":"string"},"remoteGroupId":{"type":"string","description":"The remote group id, the value needs to be an\nOpenTelekomCloud ID of a security group in the same tenant. Changing this creates\na new security group rule.\n"},"remoteIpPrefix":{"type":"string","description":"The remote CIDR, the value needs to be a valid\nCIDR (i.e. 192.168.0.0/16). Changing this creates a new security group rule.\n"},"securityGroupId":{"type":"string","description":"The security group id the rule should belong\nto, the value needs to be an OpenTelekomCloud ID of a security group in the same\ntenant. Changing this creates a new security group rule.\n"},"tenantId":{"type":"string","description":"The owner of the security group. Required if admin\nwants to create a port for another tenant. Changing this creates a new\nsecurity group rule.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FNetworkingSecgroupRuleV2Timeouts:NetworkingSecgroupRuleV2Timeouts"}},"requiredInputs":["direction","ethertype","securityGroupId"],"stateInputs":{"description":"Input properties used for looking up and filtering NetworkingSecgroupRuleV2 resources.\n","properties":{"description":{"type":"string","description":"A description of the rule. Changing this creates a new security group rule.\n"},"direction":{"type":"string","description":"The direction of the rule, valid values are \u003cspan pulumi-lang-nodejs=\"`ingress`\" pulumi-lang-dotnet=\"`Ingress`\" pulumi-lang-go=\"`ingress`\" pulumi-lang-python=\"`ingress`\" pulumi-lang-yaml=\"`ingress`\" pulumi-lang-java=\"`ingress`\"\u003e`ingress`\u003c/span\u003e\nor \u003cspan pulumi-lang-nodejs=\"`egress`\" pulumi-lang-dotnet=\"`Egress`\" pulumi-lang-go=\"`egress`\" pulumi-lang-python=\"`egress`\" pulumi-lang-yaml=\"`egress`\" pulumi-lang-java=\"`egress`\"\u003e`egress`\u003c/span\u003e. Changing this creates a new security group rule.\n"},"ethertype":{"type":"string","description":"The layer 3 protocol type, valid values are `IPv4`\nor `IPv6`. Changing this creates a new security group rule.\n"},"networkingSecgroupRuleV2Id":{"type":"string"},"portRangeMax":{"type":"number","description":"The higher part of the allowed port range, valid\ninteger value needs to be between 1 and 65535. Changing this creates a new\nsecurity group rule. When ICMP is used, the value is the ICMP code\n(The value ranges from 0 to 255 when it indicates the code).\n"},"portRangeMin":{"type":"number","description":"The lower part of the allowed port range, valid\ninteger value needs to be between 1 and 65535. Changing this creates a new\nsecurity group rule. When ICMP is used, the value is the ICMP code\n(The value ranges from 0 to 255 when it indicates the code).\n"},"protocol":{"type":"string","description":"The layer 4 protocol type, valid values are following. Changing this creates a new security group rule.\nThis is required if you want to specify a port range.\n"},"region":{"type":"string"},"remoteGroupId":{"type":"string","description":"The remote group id, the value needs to be an\nOpenTelekomCloud ID of a security group in the same tenant. Changing this creates\na new security group rule.\n"},"remoteIpPrefix":{"type":"string","description":"The remote CIDR, the value needs to be a valid\nCIDR (i.e. 192.168.0.0/16). Changing this creates a new security group rule.\n"},"securityGroupId":{"type":"string","description":"The security group id the rule should belong\nto, the value needs to be an OpenTelekomCloud ID of a security group in the same\ntenant. Changing this creates a new security group rule.\n"},"tenantId":{"type":"string","description":"The owner of the security group. Required if admin\nwants to create a port for another tenant. Changing this creates a new\nsecurity group rule.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FNetworkingSecgroupRuleV2Timeouts:NetworkingSecgroupRuleV2Timeouts"}},"type":"object"}},"opentelekomcloud:index/networkingSecgroupV2:NetworkingSecgroupV2":{"description":"\n\n## Import\n\nSecurity Groups can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/networkingSecgroupV2:NetworkingSecgroupV2 secgroup_1 38809219-5e8a-4852-9139-6f461c90e8bc\n```\n\n","properties":{"deleteDefaultRules":{"type":"boolean","description":"Whether or not to delete the default\negress security rules. This is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e by default.\n"},"description":{"type":"string","description":"A unique name for the security group.\n"},"name":{"type":"string","description":"A unique name for the security group.\n"},"networkingSecgroupV2Id":{"type":"string"},"region":{"type":"string"},"tenantId":{"type":"string","description":"The owner of the security group. Required if admin\nwants to create a port for another tenant. Changing this creates a new\nsecurity group.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FNetworkingSecgroupV2Timeouts:NetworkingSecgroupV2Timeouts"}},"type":"object","required":["description","name","networkingSecgroupV2Id","region","tenantId"],"inputProperties":{"deleteDefaultRules":{"type":"boolean","description":"Whether or not to delete the default\negress security rules. This is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e by default.\n"},"description":{"type":"string","description":"A unique name for the security group.\n"},"name":{"type":"string","description":"A unique name for the security group.\n"},"networkingSecgroupV2Id":{"type":"string"},"region":{"type":"string"},"tenantId":{"type":"string","description":"The owner of the security group. Required if admin\nwants to create a port for another tenant. Changing this creates a new\nsecurity group.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FNetworkingSecgroupV2Timeouts:NetworkingSecgroupV2Timeouts"}},"stateInputs":{"description":"Input properties used for looking up and filtering NetworkingSecgroupV2 resources.\n","properties":{"deleteDefaultRules":{"type":"boolean","description":"Whether or not to delete the default\negress security rules. This is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e by default.\n"},"description":{"type":"string","description":"A unique name for the security group.\n"},"name":{"type":"string","description":"A unique name for the security group.\n"},"networkingSecgroupV2Id":{"type":"string"},"region":{"type":"string"},"tenantId":{"type":"string","description":"The owner of the security group. Required if admin\nwants to create a port for another tenant. Changing this creates a new\nsecurity group.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FNetworkingSecgroupV2Timeouts:NetworkingSecgroupV2Timeouts"}},"type":"object"}},"opentelekomcloud:index/networkingSubnetV2:NetworkingSubnetV2":{"description":"Up-to-date reference of API arguments for VPC subnet you can get at\n[documentation portal](https://docs.otc.t-systems.com/virtual-private-cloud/api-ref/native_openstack_neutron_apis_v2.0/subnet)\n\nManages a V2 Neutron subnet resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst network1 = new opentelekomcloud.NetworkingNetworkV2(\"network_1\", {\n    name: \"tf_test_network\",\n    adminStateUp: \"true\",\n});\nconst subnet1 = new opentelekomcloud.NetworkingSubnetV2(\"subnet_1\", {\n    networkId: network1.networkingNetworkV2Id,\n    cidr: \"192.168.199.0/24\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nnetwork1 = opentelekomcloud.NetworkingNetworkV2(\"network_1\",\n    name=\"tf_test_network\",\n    admin_state_up=\"true\")\nsubnet1 = opentelekomcloud.NetworkingSubnetV2(\"subnet_1\",\n    network_id=network1.networking_network_v2_id,\n    cidr=\"192.168.199.0/24\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var network1 = new Opentelekomcloud.NetworkingNetworkV2(\"network_1\", new()\n    {\n        Name = \"tf_test_network\",\n        AdminStateUp = \"true\",\n    });\n\n    var subnet1 = new Opentelekomcloud.NetworkingSubnetV2(\"subnet_1\", new()\n    {\n        NetworkId = network1.NetworkingNetworkV2Id,\n        Cidr = \"192.168.199.0/24\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tnetwork1, err := opentelekomcloud.NewNetworkingNetworkV2(ctx, \"network_1\", \u0026opentelekomcloud.NetworkingNetworkV2Args{\n\t\t\tName:         pulumi.String(\"tf_test_network\"),\n\t\t\tAdminStateUp: pulumi.String(\"true\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewNetworkingSubnetV2(ctx, \"subnet_1\", \u0026opentelekomcloud.NetworkingSubnetV2Args{\n\t\t\tNetworkId: network1.NetworkingNetworkV2Id,\n\t\t\tCidr:      pulumi.String(\"192.168.199.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.NetworkingNetworkV2;\nimport com.pulumi.opentelekomcloud.NetworkingNetworkV2Args;\nimport com.pulumi.opentelekomcloud.NetworkingSubnetV2;\nimport com.pulumi.opentelekomcloud.NetworkingSubnetV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var network1 = new NetworkingNetworkV2(\"network1\", NetworkingNetworkV2Args.builder()\n            .name(\"tf_test_network\")\n            .adminStateUp(\"true\")\n            .build());\n\n        var subnet1 = new NetworkingSubnetV2(\"subnet1\", NetworkingSubnetV2Args.builder()\n            .networkId(network1.networkingNetworkV2Id())\n            .cidr(\"192.168.199.0/24\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  network1:\n    type: opentelekomcloud:NetworkingNetworkV2\n    name: network_1\n    properties:\n      name: tf_test_network\n      adminStateUp: 'true'\n  subnet1:\n    type: opentelekomcloud:NetworkingSubnetV2\n    name: subnet_1\n    properties:\n      networkId: ${network1.networkingNetworkV2Id}\n      cidr: 192.168.199.0/24\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSubnets can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/networkingSubnetV2:NetworkingSubnetV2 subnet_1 da4faf16-5546-41e4-8330-4d0002b74048\n```\n\n","properties":{"allocationPools":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FNetworkingSubnetV2AllocationPool:NetworkingSubnetV2AllocationPool"},"description":"An array of sub-ranges of CIDR available for\ndynamic allocation to ports. The\u003cspan pulumi-lang-nodejs=\" allocationPool \" pulumi-lang-dotnet=\" AllocationPool \" pulumi-lang-go=\" allocationPool \" pulumi-lang-python=\" allocation_pool \" pulumi-lang-yaml=\" allocationPool \" pulumi-lang-java=\" allocationPool \"\u003e allocation_pool \u003c/span\u003eobject structure is\ndocumented below. Changing this creates a new subnet.\n"},"cidr":{"type":"string","description":"CIDR representing IP range for this subnet, based on IP\nversion. Changing this creates a new subnet.\n"},"dnsNameservers":{"type":"array","items":{"type":"string"},"description":"An array of DNS name server names used by hosts\nin this subnet. Changing this updates the DNS name servers for the existing\nsubnet. Default value is `[\"100.125.4.25\", \"100.125.129.199\"]`\n"},"enableDhcp":{"type":"boolean","description":"The administrative state of the network.\nAcceptable values are \"true\" and \"false\". Changing this value enables or\ndisables the DHCP capabilities of the existing subnet. Defaults to true.\n"},"gatewayIp":{"type":"string","description":"Default gateway used by devices in this subnet.\nLeaving this blank and not setting \u003cspan pulumi-lang-nodejs=\"`noGateway`\" pulumi-lang-dotnet=\"`NoGateway`\" pulumi-lang-go=\"`noGateway`\" pulumi-lang-python=\"`no_gateway`\" pulumi-lang-yaml=\"`noGateway`\" pulumi-lang-java=\"`noGateway`\"\u003e`no_gateway`\u003c/span\u003e will cause a default\ngateway of `.1` to be used. Changing this updates the gateway IP of the\nexisting subnet.\n"},"hostRoutes":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FNetworkingSubnetV2HostRoute:NetworkingSubnetV2HostRoute"},"description":"An array of routes that should be used by devices\nwith IPs from this subnet (not including local subnet route). The\u003cspan pulumi-lang-nodejs=\" hostRoute\n\" pulumi-lang-dotnet=\" HostRoute\n\" pulumi-lang-go=\" hostRoute\n\" pulumi-lang-python=\" host_route\n\" pulumi-lang-yaml=\" hostRoute\n\" pulumi-lang-java=\" hostRoute\n\"\u003e host_route\n\u003c/span\u003eobject structure is documented below. Changing this updates the host routes\nfor the existing subnet.\n"},"ipVersion":{"type":"number","description":"IP version, either 4 (default) or 6. Changing this creates a\nnew subnet.\n"},"name":{"type":"string","description":"The name of the subnet. Changing this updates the name of\nthe existing subnet.\n"},"networkId":{"type":"string","description":"The UUID of the parent network. Changing this\ncreates a new subnet.\n"},"networkingSubnetV2Id":{"type":"string"},"noGateway":{"type":"boolean","description":"Do not set a gateway IP on this subnet. Changing\nthis removes or adds a default gateway IP of the existing subnet.\n"},"region":{"type":"string"},"tenantId":{"type":"string","description":"The owner of the subnet. Required if admin wants to\ncreate a subnet for another tenant. Changing this creates a new subnet.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FNetworkingSubnetV2Timeouts:NetworkingSubnetV2Timeouts"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of additional options.\n"}},"type":"object","required":["cidr","gatewayIp","name","networkId","networkingSubnetV2Id","region","tenantId"],"inputProperties":{"allocationPools":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FNetworkingSubnetV2AllocationPool:NetworkingSubnetV2AllocationPool"},"description":"An array of sub-ranges of CIDR available for\ndynamic allocation to ports. The\u003cspan pulumi-lang-nodejs=\" allocationPool \" pulumi-lang-dotnet=\" AllocationPool \" pulumi-lang-go=\" allocationPool \" pulumi-lang-python=\" allocation_pool \" pulumi-lang-yaml=\" allocationPool \" pulumi-lang-java=\" allocationPool \"\u003e allocation_pool \u003c/span\u003eobject structure is\ndocumented below. Changing this creates a new subnet.\n"},"cidr":{"type":"string","description":"CIDR representing IP range for this subnet, based on IP\nversion. Changing this creates a new subnet.\n"},"dnsNameservers":{"type":"array","items":{"type":"string"},"description":"An array of DNS name server names used by hosts\nin this subnet. Changing this updates the DNS name servers for the existing\nsubnet. Default value is `[\"100.125.4.25\", \"100.125.129.199\"]`\n"},"enableDhcp":{"type":"boolean","description":"The administrative state of the network.\nAcceptable values are \"true\" and \"false\". Changing this value enables or\ndisables the DHCP capabilities of the existing subnet. Defaults to true.\n"},"gatewayIp":{"type":"string","description":"Default gateway used by devices in this subnet.\nLeaving this blank and not setting \u003cspan pulumi-lang-nodejs=\"`noGateway`\" pulumi-lang-dotnet=\"`NoGateway`\" pulumi-lang-go=\"`noGateway`\" pulumi-lang-python=\"`no_gateway`\" pulumi-lang-yaml=\"`noGateway`\" pulumi-lang-java=\"`noGateway`\"\u003e`no_gateway`\u003c/span\u003e will cause a default\ngateway of `.1` to be used. Changing this updates the gateway IP of the\nexisting subnet.\n"},"hostRoutes":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FNetworkingSubnetV2HostRoute:NetworkingSubnetV2HostRoute"},"description":"An array of routes that should be used by devices\nwith IPs from this subnet (not including local subnet route). The\u003cspan pulumi-lang-nodejs=\" hostRoute\n\" pulumi-lang-dotnet=\" HostRoute\n\" pulumi-lang-go=\" hostRoute\n\" pulumi-lang-python=\" host_route\n\" pulumi-lang-yaml=\" hostRoute\n\" pulumi-lang-java=\" hostRoute\n\"\u003e host_route\n\u003c/span\u003eobject structure is documented below. Changing this updates the host routes\nfor the existing subnet.\n"},"ipVersion":{"type":"number","description":"IP version, either 4 (default) or 6. Changing this creates a\nnew subnet.\n"},"name":{"type":"string","description":"The name of the subnet. Changing this updates the name of\nthe existing subnet.\n"},"networkId":{"type":"string","description":"The UUID of the parent network. Changing this\ncreates a new subnet.\n"},"networkingSubnetV2Id":{"type":"string"},"noGateway":{"type":"boolean","description":"Do not set a gateway IP on this subnet. Changing\nthis removes or adds a default gateway IP of the existing subnet.\n"},"region":{"type":"string"},"tenantId":{"type":"string","description":"The owner of the subnet. Required if admin wants to\ncreate a subnet for another tenant. Changing this creates a new subnet.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FNetworkingSubnetV2Timeouts:NetworkingSubnetV2Timeouts"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of additional options.\n"}},"requiredInputs":["cidr","networkId"],"stateInputs":{"description":"Input properties used for looking up and filtering NetworkingSubnetV2 resources.\n","properties":{"allocationPools":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FNetworkingSubnetV2AllocationPool:NetworkingSubnetV2AllocationPool"},"description":"An array of sub-ranges of CIDR available for\ndynamic allocation to ports. The\u003cspan pulumi-lang-nodejs=\" allocationPool \" pulumi-lang-dotnet=\" AllocationPool \" pulumi-lang-go=\" allocationPool \" pulumi-lang-python=\" allocation_pool \" pulumi-lang-yaml=\" allocationPool \" pulumi-lang-java=\" allocationPool \"\u003e allocation_pool \u003c/span\u003eobject structure is\ndocumented below. Changing this creates a new subnet.\n"},"cidr":{"type":"string","description":"CIDR representing IP range for this subnet, based on IP\nversion. Changing this creates a new subnet.\n"},"dnsNameservers":{"type":"array","items":{"type":"string"},"description":"An array of DNS name server names used by hosts\nin this subnet. Changing this updates the DNS name servers for the existing\nsubnet. Default value is `[\"100.125.4.25\", \"100.125.129.199\"]`\n"},"enableDhcp":{"type":"boolean","description":"The administrative state of the network.\nAcceptable values are \"true\" and \"false\". Changing this value enables or\ndisables the DHCP capabilities of the existing subnet. Defaults to true.\n"},"gatewayIp":{"type":"string","description":"Default gateway used by devices in this subnet.\nLeaving this blank and not setting \u003cspan pulumi-lang-nodejs=\"`noGateway`\" pulumi-lang-dotnet=\"`NoGateway`\" pulumi-lang-go=\"`noGateway`\" pulumi-lang-python=\"`no_gateway`\" pulumi-lang-yaml=\"`noGateway`\" pulumi-lang-java=\"`noGateway`\"\u003e`no_gateway`\u003c/span\u003e will cause a default\ngateway of `.1` to be used. Changing this updates the gateway IP of the\nexisting subnet.\n"},"hostRoutes":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FNetworkingSubnetV2HostRoute:NetworkingSubnetV2HostRoute"},"description":"An array of routes that should be used by devices\nwith IPs from this subnet (not including local subnet route). The\u003cspan pulumi-lang-nodejs=\" hostRoute\n\" pulumi-lang-dotnet=\" HostRoute\n\" pulumi-lang-go=\" hostRoute\n\" pulumi-lang-python=\" host_route\n\" pulumi-lang-yaml=\" hostRoute\n\" pulumi-lang-java=\" hostRoute\n\"\u003e host_route\n\u003c/span\u003eobject structure is documented below. Changing this updates the host routes\nfor the existing subnet.\n"},"ipVersion":{"type":"number","description":"IP version, either 4 (default) or 6. Changing this creates a\nnew subnet.\n"},"name":{"type":"string","description":"The name of the subnet. Changing this updates the name of\nthe existing subnet.\n"},"networkId":{"type":"string","description":"The UUID of the parent network. Changing this\ncreates a new subnet.\n"},"networkingSubnetV2Id":{"type":"string"},"noGateway":{"type":"boolean","description":"Do not set a gateway IP on this subnet. Changing\nthis removes or adds a default gateway IP of the existing subnet.\n"},"region":{"type":"string"},"tenantId":{"type":"string","description":"The owner of the subnet. Required if admin wants to\ncreate a subnet for another tenant. Changing this creates a new subnet.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FNetworkingSubnetV2Timeouts:NetworkingSubnetV2Timeouts"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of additional options.\n"}},"type":"object"}},"opentelekomcloud:index/networkingVipAssociateV2:NetworkingVipAssociateV2":{"description":"Manages a V2 vip associate resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst network1 = new opentelekomcloud.NetworkingNetworkV2(\"network_1\", {\n    name: \"network_1\",\n    adminStateUp: \"true\",\n});\nconst subnet1 = new opentelekomcloud.NetworkingSubnetV2(\"subnet_1\", {\n    name: \"subnet_1\",\n    cidr: \"192.168.199.0/24\",\n    ipVersion: 4,\n    networkId: network1.networkingNetworkV2Id,\n});\nconst router1 = new opentelekomcloud.NetworkingRouterV2(\"router_1\", {\n    name: \"router_1\",\n    externalGateway: \"0a2228f2-7f8a-45f1-8e09-9039e1d09975\",\n});\nconst routerInterface1 = new opentelekomcloud.NetworkingRouterInterfaceV2(\"router_interface_1\", {\n    routerId: router1.networkingRouterV2Id,\n    subnetId: subnet1.networkingSubnetV2Id,\n});\nconst port1 = new opentelekomcloud.NetworkingPortV2(\"port_1\", {\n    name: \"port_1\",\n    adminStateUp: true,\n    networkId: network1.networkingNetworkV2Id,\n    fixedIp: {\n        subnetId: subnet1.networkingSubnetV2Id,\n    },\n});\nconst instance1 = new opentelekomcloud.ComputeInstanceV2(\"instance_1\", {\n    name: \"instance_1\",\n    securityGroups: [\"default\"],\n    networks: [{\n        port: port1.networkingPortV2Id,\n    }],\n});\nconst port2 = new opentelekomcloud.NetworkingPortV2(\"port_2\", {\n    name: \"port_2\",\n    adminStateUp: true,\n    networkId: network1.networkingNetworkV2Id,\n    fixedIp: {\n        subnetId: subnet1.networkingSubnetV2Id,\n    },\n});\nconst instance2 = new opentelekomcloud.ComputeInstanceV2(\"instance_2\", {\n    name: \"instance_2\",\n    securityGroups: [\"default\"],\n    networks: [{\n        port: port1.networkingPortV2Id,\n    }],\n});\nconst vip1 = new opentelekomcloud.NetworkingVipV2(\"vip_1\", {\n    networkId: network1.networkingNetworkV2Id,\n    subnetId: subnet1.networkingSubnetV2Id,\n});\nconst vipAssociate1 = new opentelekomcloud.NetworkingVipAssociateV2(\"vip_associate_1\", {\n    vipId: vip1.networkingVipV2Id,\n    portIds: [\n        port1.networkingPortV2Id,\n        port2.networkingPortV2Id,\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nnetwork1 = opentelekomcloud.NetworkingNetworkV2(\"network_1\",\n    name=\"network_1\",\n    admin_state_up=\"true\")\nsubnet1 = opentelekomcloud.NetworkingSubnetV2(\"subnet_1\",\n    name=\"subnet_1\",\n    cidr=\"192.168.199.0/24\",\n    ip_version=4,\n    network_id=network1.networking_network_v2_id)\nrouter1 = opentelekomcloud.NetworkingRouterV2(\"router_1\",\n    name=\"router_1\",\n    external_gateway=\"0a2228f2-7f8a-45f1-8e09-9039e1d09975\")\nrouter_interface1 = opentelekomcloud.NetworkingRouterInterfaceV2(\"router_interface_1\",\n    router_id=router1.networking_router_v2_id,\n    subnet_id=subnet1.networking_subnet_v2_id)\nport1 = opentelekomcloud.NetworkingPortV2(\"port_1\",\n    name=\"port_1\",\n    admin_state_up=True,\n    network_id=network1.networking_network_v2_id,\n    fixed_ip={\n        \"subnet_id\": subnet1.networking_subnet_v2_id,\n    })\ninstance1 = opentelekomcloud.ComputeInstanceV2(\"instance_1\",\n    name=\"instance_1\",\n    security_groups=[\"default\"],\n    networks=[{\n        \"port\": port1.networking_port_v2_id,\n    }])\nport2 = opentelekomcloud.NetworkingPortV2(\"port_2\",\n    name=\"port_2\",\n    admin_state_up=True,\n    network_id=network1.networking_network_v2_id,\n    fixed_ip={\n        \"subnet_id\": subnet1.networking_subnet_v2_id,\n    })\ninstance2 = opentelekomcloud.ComputeInstanceV2(\"instance_2\",\n    name=\"instance_2\",\n    security_groups=[\"default\"],\n    networks=[{\n        \"port\": port1.networking_port_v2_id,\n    }])\nvip1 = opentelekomcloud.NetworkingVipV2(\"vip_1\",\n    network_id=network1.networking_network_v2_id,\n    subnet_id=subnet1.networking_subnet_v2_id)\nvip_associate1 = opentelekomcloud.NetworkingVipAssociateV2(\"vip_associate_1\",\n    vip_id=vip1.networking_vip_v2_id,\n    port_ids=[\n        port1.networking_port_v2_id,\n        port2.networking_port_v2_id,\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var network1 = new Opentelekomcloud.NetworkingNetworkV2(\"network_1\", new()\n    {\n        Name = \"network_1\",\n        AdminStateUp = \"true\",\n    });\n\n    var subnet1 = new Opentelekomcloud.NetworkingSubnetV2(\"subnet_1\", new()\n    {\n        Name = \"subnet_1\",\n        Cidr = \"192.168.199.0/24\",\n        IpVersion = 4,\n        NetworkId = network1.NetworkingNetworkV2Id,\n    });\n\n    var router1 = new Opentelekomcloud.NetworkingRouterV2(\"router_1\", new()\n    {\n        Name = \"router_1\",\n        ExternalGateway = \"0a2228f2-7f8a-45f1-8e09-9039e1d09975\",\n    });\n\n    var routerInterface1 = new Opentelekomcloud.NetworkingRouterInterfaceV2(\"router_interface_1\", new()\n    {\n        RouterId = router1.NetworkingRouterV2Id,\n        SubnetId = subnet1.NetworkingSubnetV2Id,\n    });\n\n    var port1 = new Opentelekomcloud.NetworkingPortV2(\"port_1\", new()\n    {\n        Name = \"port_1\",\n        AdminStateUp = true,\n        NetworkId = network1.NetworkingNetworkV2Id,\n        FixedIp = new Opentelekomcloud.Inputs.NetworkingPortV2FixedIpArgs\n        {\n            SubnetId = subnet1.NetworkingSubnetV2Id,\n        },\n    });\n\n    var instance1 = new Opentelekomcloud.ComputeInstanceV2(\"instance_1\", new()\n    {\n        Name = \"instance_1\",\n        SecurityGroups = new[]\n        {\n            \"default\",\n        },\n        Networks = new[]\n        {\n            new Opentelekomcloud.Inputs.ComputeInstanceV2NetworkArgs\n            {\n                Port = port1.NetworkingPortV2Id,\n            },\n        },\n    });\n\n    var port2 = new Opentelekomcloud.NetworkingPortV2(\"port_2\", new()\n    {\n        Name = \"port_2\",\n        AdminStateUp = true,\n        NetworkId = network1.NetworkingNetworkV2Id,\n        FixedIp = new Opentelekomcloud.Inputs.NetworkingPortV2FixedIpArgs\n        {\n            SubnetId = subnet1.NetworkingSubnetV2Id,\n        },\n    });\n\n    var instance2 = new Opentelekomcloud.ComputeInstanceV2(\"instance_2\", new()\n    {\n        Name = \"instance_2\",\n        SecurityGroups = new[]\n        {\n            \"default\",\n        },\n        Networks = new[]\n        {\n            new Opentelekomcloud.Inputs.ComputeInstanceV2NetworkArgs\n            {\n                Port = port1.NetworkingPortV2Id,\n            },\n        },\n    });\n\n    var vip1 = new Opentelekomcloud.NetworkingVipV2(\"vip_1\", new()\n    {\n        NetworkId = network1.NetworkingNetworkV2Id,\n        SubnetId = subnet1.NetworkingSubnetV2Id,\n    });\n\n    var vipAssociate1 = new Opentelekomcloud.NetworkingVipAssociateV2(\"vip_associate_1\", new()\n    {\n        VipId = vip1.NetworkingVipV2Id,\n        PortIds = new[]\n        {\n            port1.NetworkingPortV2Id,\n            port2.NetworkingPortV2Id,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tnetwork1, err := opentelekomcloud.NewNetworkingNetworkV2(ctx, \"network_1\", \u0026opentelekomcloud.NetworkingNetworkV2Args{\n\t\t\tName:         pulumi.String(\"network_1\"),\n\t\t\tAdminStateUp: pulumi.String(\"true\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsubnet1, err := opentelekomcloud.NewNetworkingSubnetV2(ctx, \"subnet_1\", \u0026opentelekomcloud.NetworkingSubnetV2Args{\n\t\t\tName:      pulumi.String(\"subnet_1\"),\n\t\t\tCidr:      pulumi.String(\"192.168.199.0/24\"),\n\t\t\tIpVersion: pulumi.Float64(4),\n\t\t\tNetworkId: network1.NetworkingNetworkV2Id,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trouter1, err := opentelekomcloud.NewNetworkingRouterV2(ctx, \"router_1\", \u0026opentelekomcloud.NetworkingRouterV2Args{\n\t\t\tName:            pulumi.String(\"router_1\"),\n\t\t\tExternalGateway: pulumi.String(\"0a2228f2-7f8a-45f1-8e09-9039e1d09975\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewNetworkingRouterInterfaceV2(ctx, \"router_interface_1\", \u0026opentelekomcloud.NetworkingRouterInterfaceV2Args{\n\t\t\tRouterId: router1.NetworkingRouterV2Id,\n\t\t\tSubnetId: subnet1.NetworkingSubnetV2Id,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tport1, err := opentelekomcloud.NewNetworkingPortV2(ctx, \"port_1\", \u0026opentelekomcloud.NetworkingPortV2Args{\n\t\t\tName:         pulumi.String(\"port_1\"),\n\t\t\tAdminStateUp: pulumi.Bool(true),\n\t\t\tNetworkId:    network1.NetworkingNetworkV2Id,\n\t\t\tFixedIp: \u0026opentelekomcloud.NetworkingPortV2FixedIpArgs{\n\t\t\t\tSubnetId: subnet1.NetworkingSubnetV2Id,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewComputeInstanceV2(ctx, \"instance_1\", \u0026opentelekomcloud.ComputeInstanceV2Args{\n\t\t\tName: pulumi.String(\"instance_1\"),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"default\"),\n\t\t\t},\n\t\t\tNetworks: opentelekomcloud.ComputeInstanceV2NetworkArray{\n\t\t\t\t\u0026opentelekomcloud.ComputeInstanceV2NetworkArgs{\n\t\t\t\t\tPort: port1.NetworkingPortV2Id,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tport2, err := opentelekomcloud.NewNetworkingPortV2(ctx, \"port_2\", \u0026opentelekomcloud.NetworkingPortV2Args{\n\t\t\tName:         pulumi.String(\"port_2\"),\n\t\t\tAdminStateUp: pulumi.Bool(true),\n\t\t\tNetworkId:    network1.NetworkingNetworkV2Id,\n\t\t\tFixedIp: \u0026opentelekomcloud.NetworkingPortV2FixedIpArgs{\n\t\t\t\tSubnetId: subnet1.NetworkingSubnetV2Id,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewComputeInstanceV2(ctx, \"instance_2\", \u0026opentelekomcloud.ComputeInstanceV2Args{\n\t\t\tName: pulumi.String(\"instance_2\"),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"default\"),\n\t\t\t},\n\t\t\tNetworks: opentelekomcloud.ComputeInstanceV2NetworkArray{\n\t\t\t\t\u0026opentelekomcloud.ComputeInstanceV2NetworkArgs{\n\t\t\t\t\tPort: port1.NetworkingPortV2Id,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvip1, err := opentelekomcloud.NewNetworkingVipV2(ctx, \"vip_1\", \u0026opentelekomcloud.NetworkingVipV2Args{\n\t\t\tNetworkId: network1.NetworkingNetworkV2Id,\n\t\t\tSubnetId:  subnet1.NetworkingSubnetV2Id,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewNetworkingVipAssociateV2(ctx, \"vip_associate_1\", \u0026opentelekomcloud.NetworkingVipAssociateV2Args{\n\t\t\tVipId: vip1.NetworkingVipV2Id,\n\t\t\tPortIds: pulumi.StringArray{\n\t\t\t\tport1.NetworkingPortV2Id,\n\t\t\t\tport2.NetworkingPortV2Id,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.NetworkingNetworkV2;\nimport com.pulumi.opentelekomcloud.NetworkingNetworkV2Args;\nimport com.pulumi.opentelekomcloud.NetworkingSubnetV2;\nimport com.pulumi.opentelekomcloud.NetworkingSubnetV2Args;\nimport com.pulumi.opentelekomcloud.NetworkingRouterV2;\nimport com.pulumi.opentelekomcloud.NetworkingRouterV2Args;\nimport com.pulumi.opentelekomcloud.NetworkingRouterInterfaceV2;\nimport com.pulumi.opentelekomcloud.NetworkingRouterInterfaceV2Args;\nimport com.pulumi.opentelekomcloud.NetworkingPortV2;\nimport com.pulumi.opentelekomcloud.NetworkingPortV2Args;\nimport com.pulumi.opentelekomcloud.inputs.NetworkingPortV2FixedIpArgs;\nimport com.pulumi.opentelekomcloud.ComputeInstanceV2;\nimport com.pulumi.opentelekomcloud.ComputeInstanceV2Args;\nimport com.pulumi.opentelekomcloud.inputs.ComputeInstanceV2NetworkArgs;\nimport com.pulumi.opentelekomcloud.NetworkingVipV2;\nimport com.pulumi.opentelekomcloud.NetworkingVipV2Args;\nimport com.pulumi.opentelekomcloud.NetworkingVipAssociateV2;\nimport com.pulumi.opentelekomcloud.NetworkingVipAssociateV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var network1 = new NetworkingNetworkV2(\"network1\", NetworkingNetworkV2Args.builder()\n            .name(\"network_1\")\n            .adminStateUp(\"true\")\n            .build());\n\n        var subnet1 = new NetworkingSubnetV2(\"subnet1\", NetworkingSubnetV2Args.builder()\n            .name(\"subnet_1\")\n            .cidr(\"192.168.199.0/24\")\n            .ipVersion(4.0)\n            .networkId(network1.networkingNetworkV2Id())\n            .build());\n\n        var router1 = new NetworkingRouterV2(\"router1\", NetworkingRouterV2Args.builder()\n            .name(\"router_1\")\n            .externalGateway(\"0a2228f2-7f8a-45f1-8e09-9039e1d09975\")\n            .build());\n\n        var routerInterface1 = new NetworkingRouterInterfaceV2(\"routerInterface1\", NetworkingRouterInterfaceV2Args.builder()\n            .routerId(router1.networkingRouterV2Id())\n            .subnetId(subnet1.networkingSubnetV2Id())\n            .build());\n\n        var port1 = new NetworkingPortV2(\"port1\", NetworkingPortV2Args.builder()\n            .name(\"port_1\")\n            .adminStateUp(true)\n            .networkId(network1.networkingNetworkV2Id())\n            .fixedIp(NetworkingPortV2FixedIpArgs.builder()\n                .subnetId(subnet1.networkingSubnetV2Id())\n                .build())\n            .build());\n\n        var instance1 = new ComputeInstanceV2(\"instance1\", ComputeInstanceV2Args.builder()\n            .name(\"instance_1\")\n            .securityGroups(\"default\")\n            .networks(ComputeInstanceV2NetworkArgs.builder()\n                .port(port1.networkingPortV2Id())\n                .build())\n            .build());\n\n        var port2 = new NetworkingPortV2(\"port2\", NetworkingPortV2Args.builder()\n            .name(\"port_2\")\n            .adminStateUp(true)\n            .networkId(network1.networkingNetworkV2Id())\n            .fixedIp(NetworkingPortV2FixedIpArgs.builder()\n                .subnetId(subnet1.networkingSubnetV2Id())\n                .build())\n            .build());\n\n        var instance2 = new ComputeInstanceV2(\"instance2\", ComputeInstanceV2Args.builder()\n            .name(\"instance_2\")\n            .securityGroups(\"default\")\n            .networks(ComputeInstanceV2NetworkArgs.builder()\n                .port(port1.networkingPortV2Id())\n                .build())\n            .build());\n\n        var vip1 = new NetworkingVipV2(\"vip1\", NetworkingVipV2Args.builder()\n            .networkId(network1.networkingNetworkV2Id())\n            .subnetId(subnet1.networkingSubnetV2Id())\n            .build());\n\n        var vipAssociate1 = new NetworkingVipAssociateV2(\"vipAssociate1\", NetworkingVipAssociateV2Args.builder()\n            .vipId(vip1.networkingVipV2Id())\n            .portIds(            \n                port1.networkingPortV2Id(),\n                port2.networkingPortV2Id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  network1:\n    type: opentelekomcloud:NetworkingNetworkV2\n    name: network_1\n    properties:\n      name: network_1\n      adminStateUp: 'true'\n  subnet1:\n    type: opentelekomcloud:NetworkingSubnetV2\n    name: subnet_1\n    properties:\n      name: subnet_1\n      cidr: 192.168.199.0/24\n      ipVersion: 4\n      networkId: ${network1.networkingNetworkV2Id}\n  routerInterface1:\n    type: opentelekomcloud:NetworkingRouterInterfaceV2\n    name: router_interface_1\n    properties:\n      routerId: ${router1.networkingRouterV2Id}\n      subnetId: ${subnet1.networkingSubnetV2Id}\n  router1:\n    type: opentelekomcloud:NetworkingRouterV2\n    name: router_1\n    properties:\n      name: router_1\n      externalGateway: 0a2228f2-7f8a-45f1-8e09-9039e1d09975\n  port1:\n    type: opentelekomcloud:NetworkingPortV2\n    name: port_1\n    properties:\n      name: port_1\n      adminStateUp: 'true'\n      networkId: ${network1.networkingNetworkV2Id}\n      fixedIp:\n        subnetId: ${subnet1.networkingSubnetV2Id}\n  instance1:\n    type: opentelekomcloud:ComputeInstanceV2\n    name: instance_1\n    properties:\n      name: instance_1\n      securityGroups:\n        - default\n      networks:\n        - port: ${port1.networkingPortV2Id}\n  port2:\n    type: opentelekomcloud:NetworkingPortV2\n    name: port_2\n    properties:\n      name: port_2\n      adminStateUp: 'true'\n      networkId: ${network1.networkingNetworkV2Id}\n      fixedIp:\n        subnetId: ${subnet1.networkingSubnetV2Id}\n  instance2:\n    type: opentelekomcloud:ComputeInstanceV2\n    name: instance_2\n    properties:\n      name: instance_2\n      securityGroups:\n        - default\n      networks:\n        - port: ${port1.networkingPortV2Id}\n  vip1:\n    type: opentelekomcloud:NetworkingVipV2\n    name: vip_1\n    properties:\n      networkId: ${network1.networkingNetworkV2Id}\n      subnetId: ${subnet1.networkingSubnetV2Id}\n  vipAssociate1:\n    type: opentelekomcloud:NetworkingVipAssociateV2\n    name: vip_associate_1\n    properties:\n      vipId: ${vip1.networkingVipV2Id}\n      portIds:\n        - ${port1.networkingPortV2Id}\n        - ${port2.networkingPortV2Id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Example VIP-EIP association\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst sharedSubnet = opentelekomcloud.getVpcSubnetV1({\n    name: \"my-shared-subnet\",\n});\nconst latestImage = opentelekomcloud.getImagesImageV2({\n    name: \"Standard_Debian_11_latest\",\n    mostRecent: true,\n});\nconst port1 = new opentelekomcloud.NetworkingPortV2(\"port_1\", {\n    name: \"port_1\",\n    adminStateUp: true,\n    networkId: sharedSubnet.then(sharedSubnet =\u003e sharedSubnet.networkId),\n    fixedIp: {\n        subnetId: sharedSubnet.then(sharedSubnet =\u003e sharedSubnet.subnetId),\n    },\n});\nconst instance1 = new opentelekomcloud.ComputeInstanceV2(\"instance_1\", {\n    name: \"instance_vip_ass_1\",\n    securityGroups: [\"default\"],\n    imageId: latestImage.then(latestImage =\u003e latestImage.id),\n    networks: [{\n        port: port1.networkingPortV2Id,\n    }],\n});\nconst port2 = new opentelekomcloud.NetworkingPortV2(\"port_2\", {\n    name: \"port_2\",\n    adminStateUp: true,\n    networkId: sharedSubnet.then(sharedSubnet =\u003e sharedSubnet.networkId),\n    fixedIp: {\n        subnetId: sharedSubnet.then(sharedSubnet =\u003e sharedSubnet.subnetId),\n    },\n});\nconst instance2 = new opentelekomcloud.ComputeInstanceV2(\"instance_2\", {\n    name: \"instance_vip_ass_2\",\n    securityGroups: [\"default\"],\n    imageId: latestImage.then(latestImage =\u003e latestImage.id),\n    networks: [{\n        port: port2.networkingPortV2Id,\n    }],\n});\nconst vipEip1 = new opentelekomcloud.VpcEipV1(\"vip_eip_1\", {\n    publicip: {\n        type: \"5_bgp\",\n        name: \"eip-vip\",\n    },\n    bandwidth: {\n        name: \"eip-bandwidth-vip\",\n        size: 10,\n        shareType: \"PER\",\n        chargeMode: \"traffic\",\n    },\n});\nconst vip1 = new opentelekomcloud.NetworkingVipV2(\"vip_1\", {\n    networkId: sharedSubnet.then(sharedSubnet =\u003e sharedSubnet.networkId),\n    subnetId: sharedSubnet.then(sharedSubnet =\u003e sharedSubnet.subnetId),\n});\nconst vipAssociate1 = new opentelekomcloud.NetworkingVipAssociateV2(\"vip_associate_1\", {\n    vipId: vip1.networkingVipV2Id,\n    portIds: [\n        port1.networkingPortV2Id,\n        port2.networkingPortV2Id,\n    ],\n});\nconst vipEipAssociate1 = new opentelekomcloud.NetworkingFloatingipAssociateV2(\"vip_eip_associate_1\", {\n    floatingIp: vipEip1.publicip.apply(publicip =\u003e publicip.ipAddress),\n    portId: vip1.networkingVipV2Id,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nshared_subnet = opentelekomcloud.get_vpc_subnet_v1(name=\"my-shared-subnet\")\nlatest_image = opentelekomcloud.get_images_image_v2(name=\"Standard_Debian_11_latest\",\n    most_recent=True)\nport1 = opentelekomcloud.NetworkingPortV2(\"port_1\",\n    name=\"port_1\",\n    admin_state_up=True,\n    network_id=shared_subnet.network_id,\n    fixed_ip={\n        \"subnet_id\": shared_subnet.subnet_id,\n    })\ninstance1 = opentelekomcloud.ComputeInstanceV2(\"instance_1\",\n    name=\"instance_vip_ass_1\",\n    security_groups=[\"default\"],\n    image_id=latest_image.id,\n    networks=[{\n        \"port\": port1.networking_port_v2_id,\n    }])\nport2 = opentelekomcloud.NetworkingPortV2(\"port_2\",\n    name=\"port_2\",\n    admin_state_up=True,\n    network_id=shared_subnet.network_id,\n    fixed_ip={\n        \"subnet_id\": shared_subnet.subnet_id,\n    })\ninstance2 = opentelekomcloud.ComputeInstanceV2(\"instance_2\",\n    name=\"instance_vip_ass_2\",\n    security_groups=[\"default\"],\n    image_id=latest_image.id,\n    networks=[{\n        \"port\": port2.networking_port_v2_id,\n    }])\nvip_eip1 = opentelekomcloud.VpcEipV1(\"vip_eip_1\",\n    publicip={\n        \"type\": \"5_bgp\",\n        \"name\": \"eip-vip\",\n    },\n    bandwidth={\n        \"name\": \"eip-bandwidth-vip\",\n        \"size\": 10,\n        \"share_type\": \"PER\",\n        \"charge_mode\": \"traffic\",\n    })\nvip1 = opentelekomcloud.NetworkingVipV2(\"vip_1\",\n    network_id=shared_subnet.network_id,\n    subnet_id=shared_subnet.subnet_id)\nvip_associate1 = opentelekomcloud.NetworkingVipAssociateV2(\"vip_associate_1\",\n    vip_id=vip1.networking_vip_v2_id,\n    port_ids=[\n        port1.networking_port_v2_id,\n        port2.networking_port_v2_id,\n    ])\nvip_eip_associate1 = opentelekomcloud.NetworkingFloatingipAssociateV2(\"vip_eip_associate_1\",\n    floating_ip=vip_eip1.publicip.ip_address,\n    port_id=vip1.networking_vip_v2_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var sharedSubnet = Opentelekomcloud.GetVpcSubnetV1.Invoke(new()\n    {\n        Name = \"my-shared-subnet\",\n    });\n\n    var latestImage = Opentelekomcloud.GetImagesImageV2.Invoke(new()\n    {\n        Name = \"Standard_Debian_11_latest\",\n        MostRecent = true,\n    });\n\n    var port1 = new Opentelekomcloud.NetworkingPortV2(\"port_1\", new()\n    {\n        Name = \"port_1\",\n        AdminStateUp = true,\n        NetworkId = sharedSubnet.Apply(getVpcSubnetV1Result =\u003e getVpcSubnetV1Result.NetworkId),\n        FixedIp = new Opentelekomcloud.Inputs.NetworkingPortV2FixedIpArgs\n        {\n            SubnetId = sharedSubnet.Apply(getVpcSubnetV1Result =\u003e getVpcSubnetV1Result.SubnetId),\n        },\n    });\n\n    var instance1 = new Opentelekomcloud.ComputeInstanceV2(\"instance_1\", new()\n    {\n        Name = \"instance_vip_ass_1\",\n        SecurityGroups = new[]\n        {\n            \"default\",\n        },\n        ImageId = latestImage.Apply(getImagesImageV2Result =\u003e getImagesImageV2Result.Id),\n        Networks = new[]\n        {\n            new Opentelekomcloud.Inputs.ComputeInstanceV2NetworkArgs\n            {\n                Port = port1.NetworkingPortV2Id,\n            },\n        },\n    });\n\n    var port2 = new Opentelekomcloud.NetworkingPortV2(\"port_2\", new()\n    {\n        Name = \"port_2\",\n        AdminStateUp = true,\n        NetworkId = sharedSubnet.Apply(getVpcSubnetV1Result =\u003e getVpcSubnetV1Result.NetworkId),\n        FixedIp = new Opentelekomcloud.Inputs.NetworkingPortV2FixedIpArgs\n        {\n            SubnetId = sharedSubnet.Apply(getVpcSubnetV1Result =\u003e getVpcSubnetV1Result.SubnetId),\n        },\n    });\n\n    var instance2 = new Opentelekomcloud.ComputeInstanceV2(\"instance_2\", new()\n    {\n        Name = \"instance_vip_ass_2\",\n        SecurityGroups = new[]\n        {\n            \"default\",\n        },\n        ImageId = latestImage.Apply(getImagesImageV2Result =\u003e getImagesImageV2Result.Id),\n        Networks = new[]\n        {\n            new Opentelekomcloud.Inputs.ComputeInstanceV2NetworkArgs\n            {\n                Port = port2.NetworkingPortV2Id,\n            },\n        },\n    });\n\n    var vipEip1 = new Opentelekomcloud.VpcEipV1(\"vip_eip_1\", new()\n    {\n        Publicip = new Opentelekomcloud.Inputs.VpcEipV1PublicipArgs\n        {\n            Type = \"5_bgp\",\n            Name = \"eip-vip\",\n        },\n        Bandwidth = new Opentelekomcloud.Inputs.VpcEipV1BandwidthArgs\n        {\n            Name = \"eip-bandwidth-vip\",\n            Size = 10,\n            ShareType = \"PER\",\n            ChargeMode = \"traffic\",\n        },\n    });\n\n    var vip1 = new Opentelekomcloud.NetworkingVipV2(\"vip_1\", new()\n    {\n        NetworkId = sharedSubnet.Apply(getVpcSubnetV1Result =\u003e getVpcSubnetV1Result.NetworkId),\n        SubnetId = sharedSubnet.Apply(getVpcSubnetV1Result =\u003e getVpcSubnetV1Result.SubnetId),\n    });\n\n    var vipAssociate1 = new Opentelekomcloud.NetworkingVipAssociateV2(\"vip_associate_1\", new()\n    {\n        VipId = vip1.NetworkingVipV2Id,\n        PortIds = new[]\n        {\n            port1.NetworkingPortV2Id,\n            port2.NetworkingPortV2Id,\n        },\n    });\n\n    var vipEipAssociate1 = new Opentelekomcloud.NetworkingFloatingipAssociateV2(\"vip_eip_associate_1\", new()\n    {\n        FloatingIp = vipEip1.Publicip.Apply(publicip =\u003e publicip.IpAddress),\n        PortId = vip1.NetworkingVipV2Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsharedSubnet, err := opentelekomcloud.LookupVpcSubnetV1(ctx, \u0026opentelekomcloud.LookupVpcSubnetV1Args{\n\t\t\tName: pulumi.StringRef(\"my-shared-subnet\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlatestImage, err := opentelekomcloud.LookupImagesImageV2(ctx, \u0026opentelekomcloud.LookupImagesImageV2Args{\n\t\t\tName:       pulumi.StringRef(\"Standard_Debian_11_latest\"),\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tport1, err := opentelekomcloud.NewNetworkingPortV2(ctx, \"port_1\", \u0026opentelekomcloud.NetworkingPortV2Args{\n\t\t\tName:         pulumi.String(\"port_1\"),\n\t\t\tAdminStateUp: pulumi.Bool(true),\n\t\t\tNetworkId:    pulumi.String(sharedSubnet.NetworkId),\n\t\t\tFixedIp: \u0026opentelekomcloud.NetworkingPortV2FixedIpArgs{\n\t\t\t\tSubnetId: pulumi.String(sharedSubnet.SubnetId),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewComputeInstanceV2(ctx, \"instance_1\", \u0026opentelekomcloud.ComputeInstanceV2Args{\n\t\t\tName: pulumi.String(\"instance_vip_ass_1\"),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"default\"),\n\t\t\t},\n\t\t\tImageId: pulumi.String(latestImage.Id),\n\t\t\tNetworks: opentelekomcloud.ComputeInstanceV2NetworkArray{\n\t\t\t\t\u0026opentelekomcloud.ComputeInstanceV2NetworkArgs{\n\t\t\t\t\tPort: port1.NetworkingPortV2Id,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tport2, err := opentelekomcloud.NewNetworkingPortV2(ctx, \"port_2\", \u0026opentelekomcloud.NetworkingPortV2Args{\n\t\t\tName:         pulumi.String(\"port_2\"),\n\t\t\tAdminStateUp: pulumi.Bool(true),\n\t\t\tNetworkId:    pulumi.String(sharedSubnet.NetworkId),\n\t\t\tFixedIp: \u0026opentelekomcloud.NetworkingPortV2FixedIpArgs{\n\t\t\t\tSubnetId: pulumi.String(sharedSubnet.SubnetId),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewComputeInstanceV2(ctx, \"instance_2\", \u0026opentelekomcloud.ComputeInstanceV2Args{\n\t\t\tName: pulumi.String(\"instance_vip_ass_2\"),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"default\"),\n\t\t\t},\n\t\t\tImageId: pulumi.String(latestImage.Id),\n\t\t\tNetworks: opentelekomcloud.ComputeInstanceV2NetworkArray{\n\t\t\t\t\u0026opentelekomcloud.ComputeInstanceV2NetworkArgs{\n\t\t\t\t\tPort: port2.NetworkingPortV2Id,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvipEip1, err := opentelekomcloud.NewVpcEipV1(ctx, \"vip_eip_1\", \u0026opentelekomcloud.VpcEipV1Args{\n\t\t\tPublicip: \u0026opentelekomcloud.VpcEipV1PublicipArgs{\n\t\t\t\tType: pulumi.String(\"5_bgp\"),\n\t\t\t\tName: pulumi.String(\"eip-vip\"),\n\t\t\t},\n\t\t\tBandwidth: \u0026opentelekomcloud.VpcEipV1BandwidthArgs{\n\t\t\t\tName:       pulumi.String(\"eip-bandwidth-vip\"),\n\t\t\t\tSize:       pulumi.Float64(10),\n\t\t\t\tShareType:  pulumi.String(\"PER\"),\n\t\t\t\tChargeMode: pulumi.String(\"traffic\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvip1, err := opentelekomcloud.NewNetworkingVipV2(ctx, \"vip_1\", \u0026opentelekomcloud.NetworkingVipV2Args{\n\t\t\tNetworkId: pulumi.String(sharedSubnet.NetworkId),\n\t\t\tSubnetId:  pulumi.String(sharedSubnet.SubnetId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewNetworkingVipAssociateV2(ctx, \"vip_associate_1\", \u0026opentelekomcloud.NetworkingVipAssociateV2Args{\n\t\t\tVipId: vip1.NetworkingVipV2Id,\n\t\t\tPortIds: pulumi.StringArray{\n\t\t\t\tport1.NetworkingPortV2Id,\n\t\t\t\tport2.NetworkingPortV2Id,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewNetworkingFloatingipAssociateV2(ctx, \"vip_eip_associate_1\", \u0026opentelekomcloud.NetworkingFloatingipAssociateV2Args{\n\t\t\tFloatingIp: pulumi.String(vipEip1.Publicip.ApplyT(func(publicip opentelekomcloud.VpcEipV1Publicip) (*string, error) {\n\t\t\t\treturn \u0026publicip.IpAddress, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tPortId: vip1.NetworkingVipV2Id,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetVpcSubnetV1Args;\nimport com.pulumi.opentelekomcloud.inputs.GetImagesImageV2Args;\nimport com.pulumi.opentelekomcloud.NetworkingPortV2;\nimport com.pulumi.opentelekomcloud.NetworkingPortV2Args;\nimport com.pulumi.opentelekomcloud.inputs.NetworkingPortV2FixedIpArgs;\nimport com.pulumi.opentelekomcloud.ComputeInstanceV2;\nimport com.pulumi.opentelekomcloud.ComputeInstanceV2Args;\nimport com.pulumi.opentelekomcloud.inputs.ComputeInstanceV2NetworkArgs;\nimport com.pulumi.opentelekomcloud.VpcEipV1;\nimport com.pulumi.opentelekomcloud.VpcEipV1Args;\nimport com.pulumi.opentelekomcloud.inputs.VpcEipV1PublicipArgs;\nimport com.pulumi.opentelekomcloud.inputs.VpcEipV1BandwidthArgs;\nimport com.pulumi.opentelekomcloud.NetworkingVipV2;\nimport com.pulumi.opentelekomcloud.NetworkingVipV2Args;\nimport com.pulumi.opentelekomcloud.NetworkingVipAssociateV2;\nimport com.pulumi.opentelekomcloud.NetworkingVipAssociateV2Args;\nimport com.pulumi.opentelekomcloud.NetworkingFloatingipAssociateV2;\nimport com.pulumi.opentelekomcloud.NetworkingFloatingipAssociateV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var sharedSubnet = OpentelekomcloudFunctions.getVpcSubnetV1(GetVpcSubnetV1Args.builder()\n            .name(\"my-shared-subnet\")\n            .build());\n\n        final var latestImage = OpentelekomcloudFunctions.getImagesImageV2(GetImagesImageV2Args.builder()\n            .name(\"Standard_Debian_11_latest\")\n            .mostRecent(true)\n            .build());\n\n        var port1 = new NetworkingPortV2(\"port1\", NetworkingPortV2Args.builder()\n            .name(\"port_1\")\n            .adminStateUp(true)\n            .networkId(sharedSubnet.networkId())\n            .fixedIp(NetworkingPortV2FixedIpArgs.builder()\n                .subnetId(sharedSubnet.subnetId())\n                .build())\n            .build());\n\n        var instance1 = new ComputeInstanceV2(\"instance1\", ComputeInstanceV2Args.builder()\n            .name(\"instance_vip_ass_1\")\n            .securityGroups(\"default\")\n            .imageId(latestImage.id())\n            .networks(ComputeInstanceV2NetworkArgs.builder()\n                .port(port1.networkingPortV2Id())\n                .build())\n            .build());\n\n        var port2 = new NetworkingPortV2(\"port2\", NetworkingPortV2Args.builder()\n            .name(\"port_2\")\n            .adminStateUp(true)\n            .networkId(sharedSubnet.networkId())\n            .fixedIp(NetworkingPortV2FixedIpArgs.builder()\n                .subnetId(sharedSubnet.subnetId())\n                .build())\n            .build());\n\n        var instance2 = new ComputeInstanceV2(\"instance2\", ComputeInstanceV2Args.builder()\n            .name(\"instance_vip_ass_2\")\n            .securityGroups(\"default\")\n            .imageId(latestImage.id())\n            .networks(ComputeInstanceV2NetworkArgs.builder()\n                .port(port2.networkingPortV2Id())\n                .build())\n            .build());\n\n        var vipEip1 = new VpcEipV1(\"vipEip1\", VpcEipV1Args.builder()\n            .publicip(VpcEipV1PublicipArgs.builder()\n                .type(\"5_bgp\")\n                .name(\"eip-vip\")\n                .build())\n            .bandwidth(VpcEipV1BandwidthArgs.builder()\n                .name(\"eip-bandwidth-vip\")\n                .size(10.0)\n                .shareType(\"PER\")\n                .chargeMode(\"traffic\")\n                .build())\n            .build());\n\n        var vip1 = new NetworkingVipV2(\"vip1\", NetworkingVipV2Args.builder()\n            .networkId(sharedSubnet.networkId())\n            .subnetId(sharedSubnet.subnetId())\n            .build());\n\n        var vipAssociate1 = new NetworkingVipAssociateV2(\"vipAssociate1\", NetworkingVipAssociateV2Args.builder()\n            .vipId(vip1.networkingVipV2Id())\n            .portIds(            \n                port1.networkingPortV2Id(),\n                port2.networkingPortV2Id())\n            .build());\n\n        var vipEipAssociate1 = new NetworkingFloatingipAssociateV2(\"vipEipAssociate1\", NetworkingFloatingipAssociateV2Args.builder()\n            .floatingIp(vipEip1.publicip().applyValue(_publicip -\u003e _publicip.ipAddress()))\n            .portId(vip1.networkingVipV2Id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  port1:\n    type: opentelekomcloud:NetworkingPortV2\n    name: port_1\n    properties:\n      name: port_1\n      adminStateUp: 'true'\n      networkId: ${sharedSubnet.networkId}\n      fixedIp:\n        subnetId: ${sharedSubnet.subnetId}\n  instance1:\n    type: opentelekomcloud:ComputeInstanceV2\n    name: instance_1\n    properties:\n      name: instance_vip_ass_1\n      securityGroups:\n        - default\n      imageId: ${latestImage.id}\n      networks:\n        - port: ${port1.networkingPortV2Id}\n  port2:\n    type: opentelekomcloud:NetworkingPortV2\n    name: port_2\n    properties:\n      name: port_2\n      adminStateUp: 'true'\n      networkId: ${sharedSubnet.networkId}\n      fixedIp:\n        subnetId: ${sharedSubnet.subnetId}\n  instance2:\n    type: opentelekomcloud:ComputeInstanceV2\n    name: instance_2\n    properties:\n      name: instance_vip_ass_2\n      securityGroups:\n        - default\n      imageId: ${latestImage.id}\n      networks:\n        - port: ${port2.networkingPortV2Id}\n  vipEip1:\n    type: opentelekomcloud:VpcEipV1\n    name: vip_eip_1\n    properties:\n      publicip:\n        type: 5_bgp\n        name: eip-vip\n      bandwidth:\n        name: eip-bandwidth-vip\n        size: 10\n        shareType: PER\n        chargeMode: traffic\n  vip1:\n    type: opentelekomcloud:NetworkingVipV2\n    name: vip_1\n    properties:\n      networkId: ${sharedSubnet.networkId}\n      subnetId: ${sharedSubnet.subnetId}\n  vipAssociate1:\n    type: opentelekomcloud:NetworkingVipAssociateV2\n    name: vip_associate_1\n    properties:\n      vipId: ${vip1.networkingVipV2Id}\n      portIds:\n        - ${port1.networkingPortV2Id}\n        - ${port2.networkingPortV2Id}\n  vipEipAssociate1:\n    type: opentelekomcloud:NetworkingFloatingipAssociateV2\n    name: vip_eip_associate_1\n    properties:\n      floatingIp: ${vipEip1.publicip.ipAddress}\n      portId: ${vip1.networkingVipV2Id}\nvariables:\n  sharedSubnet:\n    fn::invoke:\n      function: opentelekomcloud:getVpcSubnetV1\n      arguments:\n        name: my-shared-subnet\n  latestImage:\n    fn::invoke:\n      function: opentelekomcloud:getImagesImageV2\n      arguments:\n        name: Standard_Debian_11_latest\n        mostRecent: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"networkingVipAssociateV2Id":{"type":"string"},"portIds":{"type":"array","items":{"type":"string"},"description":"An array of one or more IDs of the ports to attach the vip to.\nChanging this creates a new vip associate.\n"},"vipId":{"type":"string","description":"The ID of vip to attach the port to.\nChanging this creates a new vip associate.\n"},"vipIpAddress":{"type":"string","description":"The IP address in the subnet for this vip.\n"},"vipSubnetId":{"type":"string","description":"The ID of the subnet this vip connects to.\n"}},"type":"object","required":["networkingVipAssociateV2Id","portIds","vipId","vipIpAddress","vipSubnetId"],"inputProperties":{"networkingVipAssociateV2Id":{"type":"string"},"portIds":{"type":"array","items":{"type":"string"},"description":"An array of one or more IDs of the ports to attach the vip to.\nChanging this creates a new vip associate.\n"},"vipId":{"type":"string","description":"The ID of vip to attach the port to.\nChanging this creates a new vip associate.\n"}},"requiredInputs":["portIds","vipId"],"stateInputs":{"description":"Input properties used for looking up and filtering NetworkingVipAssociateV2 resources.\n","properties":{"networkingVipAssociateV2Id":{"type":"string"},"portIds":{"type":"array","items":{"type":"string"},"description":"An array of one or more IDs of the ports to attach the vip to.\nChanging this creates a new vip associate.\n"},"vipId":{"type":"string","description":"The ID of vip to attach the port to.\nChanging this creates a new vip associate.\n"},"vipIpAddress":{"type":"string","description":"The IP address in the subnet for this vip.\n"},"vipSubnetId":{"type":"string","description":"The ID of the subnet this vip connects to.\n"}},"type":"object"}},"opentelekomcloud:index/networkingVipV2:NetworkingVipV2":{"description":"Manages a V2 vip resource within OpenTelekomCloud.\n\n\u003e **Note:** Corresponding data source for V2 vip resource is `data_source/networking_port_v2` where\n\u003cspan pulumi-lang-nodejs=\"`vipId`\" pulumi-lang-dotnet=\"`VipId`\" pulumi-lang-go=\"`vipId`\" pulumi-lang-python=\"`vip_id`\" pulumi-lang-yaml=\"`vipId`\" pulumi-lang-java=\"`vipId`\"\u003e`vip_id`\u003c/span\u003e can be provided to \u003cspan pulumi-lang-nodejs=\"`portId`\" pulumi-lang-dotnet=\"`PortId`\" pulumi-lang-go=\"`portId`\" pulumi-lang-python=\"`port_id`\" pulumi-lang-yaml=\"`portId`\" pulumi-lang-java=\"`portId`\"\u003e`port_id`\u003c/span\u003e along with other arguments.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst network1 = new opentelekomcloud.NetworkingNetworkV2(\"network_1\", {\n    name: \"network_1\",\n    adminStateUp: \"true\",\n});\nconst subnet1 = new opentelekomcloud.NetworkingSubnetV2(\"subnet_1\", {\n    name: \"subnet_1\",\n    cidr: \"192.168.199.0/24\",\n    ipVersion: 4,\n    networkId: network1.networkingNetworkV2Id,\n});\nconst router1 = new opentelekomcloud.NetworkingRouterV2(\"router_1\", {\n    name: \"router_1\",\n    externalGateway: \"0a2228f2-7f8a-45f1-8e09-9039e1d09975\",\n});\nconst routerInterface1 = new opentelekomcloud.NetworkingRouterInterfaceV2(\"router_interface_1\", {\n    routerId: router1.networkingRouterV2Id,\n    subnetId: subnet1.networkingSubnetV2Id,\n});\nconst vip1 = new opentelekomcloud.NetworkingVipV2(\"vip_1\", {\n    networkId: network1.networkingNetworkV2Id,\n    subnetId: subnet1.networkingSubnetV2Id,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nnetwork1 = opentelekomcloud.NetworkingNetworkV2(\"network_1\",\n    name=\"network_1\",\n    admin_state_up=\"true\")\nsubnet1 = opentelekomcloud.NetworkingSubnetV2(\"subnet_1\",\n    name=\"subnet_1\",\n    cidr=\"192.168.199.0/24\",\n    ip_version=4,\n    network_id=network1.networking_network_v2_id)\nrouter1 = opentelekomcloud.NetworkingRouterV2(\"router_1\",\n    name=\"router_1\",\n    external_gateway=\"0a2228f2-7f8a-45f1-8e09-9039e1d09975\")\nrouter_interface1 = opentelekomcloud.NetworkingRouterInterfaceV2(\"router_interface_1\",\n    router_id=router1.networking_router_v2_id,\n    subnet_id=subnet1.networking_subnet_v2_id)\nvip1 = opentelekomcloud.NetworkingVipV2(\"vip_1\",\n    network_id=network1.networking_network_v2_id,\n    subnet_id=subnet1.networking_subnet_v2_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var network1 = new Opentelekomcloud.NetworkingNetworkV2(\"network_1\", new()\n    {\n        Name = \"network_1\",\n        AdminStateUp = \"true\",\n    });\n\n    var subnet1 = new Opentelekomcloud.NetworkingSubnetV2(\"subnet_1\", new()\n    {\n        Name = \"subnet_1\",\n        Cidr = \"192.168.199.0/24\",\n        IpVersion = 4,\n        NetworkId = network1.NetworkingNetworkV2Id,\n    });\n\n    var router1 = new Opentelekomcloud.NetworkingRouterV2(\"router_1\", new()\n    {\n        Name = \"router_1\",\n        ExternalGateway = \"0a2228f2-7f8a-45f1-8e09-9039e1d09975\",\n    });\n\n    var routerInterface1 = new Opentelekomcloud.NetworkingRouterInterfaceV2(\"router_interface_1\", new()\n    {\n        RouterId = router1.NetworkingRouterV2Id,\n        SubnetId = subnet1.NetworkingSubnetV2Id,\n    });\n\n    var vip1 = new Opentelekomcloud.NetworkingVipV2(\"vip_1\", new()\n    {\n        NetworkId = network1.NetworkingNetworkV2Id,\n        SubnetId = subnet1.NetworkingSubnetV2Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tnetwork1, err := opentelekomcloud.NewNetworkingNetworkV2(ctx, \"network_1\", \u0026opentelekomcloud.NetworkingNetworkV2Args{\n\t\t\tName:         pulumi.String(\"network_1\"),\n\t\t\tAdminStateUp: pulumi.String(\"true\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsubnet1, err := opentelekomcloud.NewNetworkingSubnetV2(ctx, \"subnet_1\", \u0026opentelekomcloud.NetworkingSubnetV2Args{\n\t\t\tName:      pulumi.String(\"subnet_1\"),\n\t\t\tCidr:      pulumi.String(\"192.168.199.0/24\"),\n\t\t\tIpVersion: pulumi.Float64(4),\n\t\t\tNetworkId: network1.NetworkingNetworkV2Id,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trouter1, err := opentelekomcloud.NewNetworkingRouterV2(ctx, \"router_1\", \u0026opentelekomcloud.NetworkingRouterV2Args{\n\t\t\tName:            pulumi.String(\"router_1\"),\n\t\t\tExternalGateway: pulumi.String(\"0a2228f2-7f8a-45f1-8e09-9039e1d09975\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewNetworkingRouterInterfaceV2(ctx, \"router_interface_1\", \u0026opentelekomcloud.NetworkingRouterInterfaceV2Args{\n\t\t\tRouterId: router1.NetworkingRouterV2Id,\n\t\t\tSubnetId: subnet1.NetworkingSubnetV2Id,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewNetworkingVipV2(ctx, \"vip_1\", \u0026opentelekomcloud.NetworkingVipV2Args{\n\t\t\tNetworkId: network1.NetworkingNetworkV2Id,\n\t\t\tSubnetId:  subnet1.NetworkingSubnetV2Id,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.NetworkingNetworkV2;\nimport com.pulumi.opentelekomcloud.NetworkingNetworkV2Args;\nimport com.pulumi.opentelekomcloud.NetworkingSubnetV2;\nimport com.pulumi.opentelekomcloud.NetworkingSubnetV2Args;\nimport com.pulumi.opentelekomcloud.NetworkingRouterV2;\nimport com.pulumi.opentelekomcloud.NetworkingRouterV2Args;\nimport com.pulumi.opentelekomcloud.NetworkingRouterInterfaceV2;\nimport com.pulumi.opentelekomcloud.NetworkingRouterInterfaceV2Args;\nimport com.pulumi.opentelekomcloud.NetworkingVipV2;\nimport com.pulumi.opentelekomcloud.NetworkingVipV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var network1 = new NetworkingNetworkV2(\"network1\", NetworkingNetworkV2Args.builder()\n            .name(\"network_1\")\n            .adminStateUp(\"true\")\n            .build());\n\n        var subnet1 = new NetworkingSubnetV2(\"subnet1\", NetworkingSubnetV2Args.builder()\n            .name(\"subnet_1\")\n            .cidr(\"192.168.199.0/24\")\n            .ipVersion(4.0)\n            .networkId(network1.networkingNetworkV2Id())\n            .build());\n\n        var router1 = new NetworkingRouterV2(\"router1\", NetworkingRouterV2Args.builder()\n            .name(\"router_1\")\n            .externalGateway(\"0a2228f2-7f8a-45f1-8e09-9039e1d09975\")\n            .build());\n\n        var routerInterface1 = new NetworkingRouterInterfaceV2(\"routerInterface1\", NetworkingRouterInterfaceV2Args.builder()\n            .routerId(router1.networkingRouterV2Id())\n            .subnetId(subnet1.networkingSubnetV2Id())\n            .build());\n\n        var vip1 = new NetworkingVipV2(\"vip1\", NetworkingVipV2Args.builder()\n            .networkId(network1.networkingNetworkV2Id())\n            .subnetId(subnet1.networkingSubnetV2Id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  network1:\n    type: opentelekomcloud:NetworkingNetworkV2\n    name: network_1\n    properties:\n      name: network_1\n      adminStateUp: 'true'\n  subnet1:\n    type: opentelekomcloud:NetworkingSubnetV2\n    name: subnet_1\n    properties:\n      name: subnet_1\n      cidr: 192.168.199.0/24\n      ipVersion: 4\n      networkId: ${network1.networkingNetworkV2Id}\n  routerInterface1:\n    type: opentelekomcloud:NetworkingRouterInterfaceV2\n    name: router_interface_1\n    properties:\n      routerId: ${router1.networkingRouterV2Id}\n      subnetId: ${subnet1.networkingSubnetV2Id}\n  router1:\n    type: opentelekomcloud:NetworkingRouterV2\n    name: router_1\n    properties:\n      name: router_1\n      externalGateway: 0a2228f2-7f8a-45f1-8e09-9039e1d09975\n  vip1:\n    type: opentelekomcloud:NetworkingVipV2\n    name: vip_1\n    properties:\n      networkId: ${network1.networkingNetworkV2Id}\n      subnetId: ${subnet1.networkingSubnetV2Id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"deviceOwner":{"type":"string","description":"The device owner of the vip.\n"},"ipAddress":{"type":"string","description":"IP address desired in the subnet for this vip.\nIf you don't specify \u003cspan pulumi-lang-nodejs=\"`ipAddress`\" pulumi-lang-dotnet=\"`IpAddress`\" pulumi-lang-go=\"`ipAddress`\" pulumi-lang-python=\"`ip_address`\" pulumi-lang-yaml=\"`ipAddress`\" pulumi-lang-java=\"`ipAddress`\"\u003e`ip_address`\u003c/span\u003e, an available IP address from\nthe specified subnet will be allocated to this vip.\n"},"name":{"type":"string","description":"A unique name for the vip.\n"},"networkId":{"type":"string","description":"The ID of the network to attach the vip to.\nChanging this creates a new vip.\n"},"networkingVipV2Id":{"type":"string","description":"The ID of the vip.\n"},"status":{"type":"string","description":"The status of vip.\n"},"subnetId":{"type":"string","description":"Subnet in which to allocate IP address for this vip.\nChanging this creates a new vip.\n"},"tenantId":{"type":"string","description":"The tenant ID of the vip.\n"}},"type":"object","required":["deviceOwner","ipAddress","name","networkId","networkingVipV2Id","status","subnetId","tenantId"],"inputProperties":{"ipAddress":{"type":"string","description":"IP address desired in the subnet for this vip.\nIf you don't specify \u003cspan pulumi-lang-nodejs=\"`ipAddress`\" pulumi-lang-dotnet=\"`IpAddress`\" pulumi-lang-go=\"`ipAddress`\" pulumi-lang-python=\"`ip_address`\" pulumi-lang-yaml=\"`ipAddress`\" pulumi-lang-java=\"`ipAddress`\"\u003e`ip_address`\u003c/span\u003e, an available IP address from\nthe specified subnet will be allocated to this vip.\n"},"name":{"type":"string","description":"A unique name for the vip.\n"},"networkId":{"type":"string","description":"The ID of the network to attach the vip to.\nChanging this creates a new vip.\n"},"networkingVipV2Id":{"type":"string","description":"The ID of the vip.\n"},"subnetId":{"type":"string","description":"Subnet in which to allocate IP address for this vip.\nChanging this creates a new vip.\n"}},"requiredInputs":["networkId","subnetId"],"stateInputs":{"description":"Input properties used for looking up and filtering NetworkingVipV2 resources.\n","properties":{"deviceOwner":{"type":"string","description":"The device owner of the vip.\n"},"ipAddress":{"type":"string","description":"IP address desired in the subnet for this vip.\nIf you don't specify \u003cspan pulumi-lang-nodejs=\"`ipAddress`\" pulumi-lang-dotnet=\"`IpAddress`\" pulumi-lang-go=\"`ipAddress`\" pulumi-lang-python=\"`ip_address`\" pulumi-lang-yaml=\"`ipAddress`\" pulumi-lang-java=\"`ipAddress`\"\u003e`ip_address`\u003c/span\u003e, an available IP address from\nthe specified subnet will be allocated to this vip.\n"},"name":{"type":"string","description":"A unique name for the vip.\n"},"networkId":{"type":"string","description":"The ID of the network to attach the vip to.\nChanging this creates a new vip.\n"},"networkingVipV2Id":{"type":"string","description":"The ID of the vip.\n"},"status":{"type":"string","description":"The status of vip.\n"},"subnetId":{"type":"string","description":"Subnet in which to allocate IP address for this vip.\nChanging this creates a new vip.\n"},"tenantId":{"type":"string","description":"The tenant ID of the vip.\n"}},"type":"object"}},"opentelekomcloud:index/obsBucket:ObsBucket":{"description":"Up-to-date reference of API arguments for OBS bucket you can get at\n[documentation portal](https://docs.otc.t-systems.com/object-storage-service/api-ref/apis/operations_on_buckets)\n\nProvides an OBS bucket resource within OpenTelekomCloud.\nNow respects HTTP_PROXY, HTTPS_PROXY environment variables.\n\n## Example Usage\n\n### Private Bucket with Tags\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst b = new opentelekomcloud.ObsBucket(\"b\", {\n    bucket: \"my-tf-test-bucket\",\n    acl: \"private\",\n    tags: {\n        foo: \"bar\",\n        Env: \"Test\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nb = opentelekomcloud.ObsBucket(\"b\",\n    bucket=\"my-tf-test-bucket\",\n    acl=\"private\",\n    tags={\n        \"foo\": \"bar\",\n        \"Env\": \"Test\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var b = new Opentelekomcloud.ObsBucket(\"b\", new()\n    {\n        Bucket = \"my-tf-test-bucket\",\n        Acl = \"private\",\n        Tags = \n        {\n            { \"foo\", \"bar\" },\n            { \"Env\", \"Test\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewObsBucket(ctx, \"b\", \u0026opentelekomcloud.ObsBucketArgs{\n\t\t\tBucket: pulumi.String(\"my-tf-test-bucket\"),\n\t\t\tAcl:    pulumi.String(\"private\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t\t\"Env\": pulumi.String(\"Test\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ObsBucket;\nimport com.pulumi.opentelekomcloud.ObsBucketArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var b = new ObsBucket(\"b\", ObsBucketArgs.builder()\n            .bucket(\"my-tf-test-bucket\")\n            .acl(\"private\")\n            .tags(Map.ofEntries(\n                Map.entry(\"foo\", \"bar\"),\n                Map.entry(\"Env\", \"Test\")\n            ))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  b:\n    type: opentelekomcloud:ObsBucket\n    properties:\n      bucket: my-tf-test-bucket\n      acl: private\n      tags:\n        foo: bar\n        Env: Test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Parallel file system bucket\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst b = new opentelekomcloud.ObsBucket(\"b\", {\n    bucket: \"my-tf-test-bucket\",\n    parallelFs: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nb = opentelekomcloud.ObsBucket(\"b\",\n    bucket=\"my-tf-test-bucket\",\n    parallel_fs=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var b = new Opentelekomcloud.ObsBucket(\"b\", new()\n    {\n        Bucket = \"my-tf-test-bucket\",\n        ParallelFs = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewObsBucket(ctx, \"b\", \u0026opentelekomcloud.ObsBucketArgs{\n\t\t\tBucket:     pulumi.String(\"my-tf-test-bucket\"),\n\t\t\tParallelFs: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ObsBucket;\nimport com.pulumi.opentelekomcloud.ObsBucketArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var b = new ObsBucket(\"b\", ObsBucketArgs.builder()\n            .bucket(\"my-tf-test-bucket\")\n            .parallelFs(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  b:\n    type: opentelekomcloud:ObsBucket\n    properties:\n      bucket: my-tf-test-bucket\n      parallelFs: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Enable versioning\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst b = new opentelekomcloud.ObsBucket(\"b\", {\n    bucket: \"my-tf-test-bucket\",\n    acl: \"private\",\n    versioning: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nb = opentelekomcloud.ObsBucket(\"b\",\n    bucket=\"my-tf-test-bucket\",\n    acl=\"private\",\n    versioning=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var b = new Opentelekomcloud.ObsBucket(\"b\", new()\n    {\n        Bucket = \"my-tf-test-bucket\",\n        Acl = \"private\",\n        Versioning = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewObsBucket(ctx, \"b\", \u0026opentelekomcloud.ObsBucketArgs{\n\t\t\tBucket:     pulumi.String(\"my-tf-test-bucket\"),\n\t\t\tAcl:        pulumi.String(\"private\"),\n\t\t\tVersioning: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ObsBucket;\nimport com.pulumi.opentelekomcloud.ObsBucketArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var b = new ObsBucket(\"b\", ObsBucketArgs.builder()\n            .bucket(\"my-tf-test-bucket\")\n            .acl(\"private\")\n            .versioning(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  b:\n    type: opentelekomcloud:ObsBucket\n    properties:\n      bucket: my-tf-test-bucket\n      acl: private\n      versioning: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Suspend versioning\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst b = new opentelekomcloud.ObsBucket(\"b\", {\n    bucket: \"my-tf-test-bucket\",\n    acl: \"private\",\n    versioning: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nb = opentelekomcloud.ObsBucket(\"b\",\n    bucket=\"my-tf-test-bucket\",\n    acl=\"private\",\n    versioning=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var b = new Opentelekomcloud.ObsBucket(\"b\", new()\n    {\n        Bucket = \"my-tf-test-bucket\",\n        Acl = \"private\",\n        Versioning = false,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewObsBucket(ctx, \"b\", \u0026opentelekomcloud.ObsBucketArgs{\n\t\t\tBucket:     pulumi.String(\"my-tf-test-bucket\"),\n\t\t\tAcl:        pulumi.String(\"private\"),\n\t\t\tVersioning: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ObsBucket;\nimport com.pulumi.opentelekomcloud.ObsBucketArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var b = new ObsBucket(\"b\", ObsBucketArgs.builder()\n            .bucket(\"my-tf-test-bucket\")\n            .acl(\"private\")\n            .versioning(false)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  b:\n    type: opentelekomcloud:ObsBucket\n    properties:\n      bucket: my-tf-test-bucket\n      acl: private\n      versioning: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### WORM policy with versioning enabled\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst b = new opentelekomcloud.ObsBucket(\"b\", {\n    bucket: \"my-tf-test-bucket\",\n    versioning: true,\n    wormPolicy: {\n        years: 1,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nb = opentelekomcloud.ObsBucket(\"b\",\n    bucket=\"my-tf-test-bucket\",\n    versioning=True,\n    worm_policy={\n        \"years\": 1,\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var b = new Opentelekomcloud.ObsBucket(\"b\", new()\n    {\n        Bucket = \"my-tf-test-bucket\",\n        Versioning = true,\n        WormPolicy = new Opentelekomcloud.Inputs.ObsBucketWormPolicyArgs\n        {\n            Years = 1,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewObsBucket(ctx, \"b\", \u0026opentelekomcloud.ObsBucketArgs{\n\t\t\tBucket:     pulumi.String(\"my-tf-test-bucket\"),\n\t\t\tVersioning: pulumi.Bool(true),\n\t\t\tWormPolicy: \u0026opentelekomcloud.ObsBucketWormPolicyArgs{\n\t\t\t\tYears: pulumi.Float64(1),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ObsBucket;\nimport com.pulumi.opentelekomcloud.ObsBucketArgs;\nimport com.pulumi.opentelekomcloud.inputs.ObsBucketWormPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var b = new ObsBucket(\"b\", ObsBucketArgs.builder()\n            .bucket(\"my-tf-test-bucket\")\n            .versioning(true)\n            .wormPolicy(ObsBucketWormPolicyArgs.builder()\n                .years(1.0)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  b:\n    type: opentelekomcloud:ObsBucket\n    properties:\n      bucket: my-tf-test-bucket\n      versioning: true\n      wormPolicy:\n        years: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Enable Logging\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst logBucket = new opentelekomcloud.ObsBucket(\"log_bucket\", {\n    bucket: \"my-tf-log-bucket\",\n    acl: \"log-delivery-write\",\n});\nconst b = new opentelekomcloud.ObsBucket(\"b\", {\n    bucket: \"my-tf-test-bucket\",\n    acl: \"private\",\n    loggings: [{\n        targetBucket: logBucket.obsBucketId,\n        targetPrefix: \"log/\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nlog_bucket = opentelekomcloud.ObsBucket(\"log_bucket\",\n    bucket=\"my-tf-log-bucket\",\n    acl=\"log-delivery-write\")\nb = opentelekomcloud.ObsBucket(\"b\",\n    bucket=\"my-tf-test-bucket\",\n    acl=\"private\",\n    loggings=[{\n        \"target_bucket\": log_bucket.obs_bucket_id,\n        \"target_prefix\": \"log/\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var logBucket = new Opentelekomcloud.ObsBucket(\"log_bucket\", new()\n    {\n        Bucket = \"my-tf-log-bucket\",\n        Acl = \"log-delivery-write\",\n    });\n\n    var b = new Opentelekomcloud.ObsBucket(\"b\", new()\n    {\n        Bucket = \"my-tf-test-bucket\",\n        Acl = \"private\",\n        Loggings = new[]\n        {\n            new Opentelekomcloud.Inputs.ObsBucketLoggingArgs\n            {\n                TargetBucket = logBucket.ObsBucketId,\n                TargetPrefix = \"log/\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tlogBucket, err := opentelekomcloud.NewObsBucket(ctx, \"log_bucket\", \u0026opentelekomcloud.ObsBucketArgs{\n\t\t\tBucket: pulumi.String(\"my-tf-log-bucket\"),\n\t\t\tAcl:    pulumi.String(\"log-delivery-write\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewObsBucket(ctx, \"b\", \u0026opentelekomcloud.ObsBucketArgs{\n\t\t\tBucket: pulumi.String(\"my-tf-test-bucket\"),\n\t\t\tAcl:    pulumi.String(\"private\"),\n\t\t\tLoggings: opentelekomcloud.ObsBucketLoggingArray{\n\t\t\t\t\u0026opentelekomcloud.ObsBucketLoggingArgs{\n\t\t\t\t\tTargetBucket: logBucket.ObsBucketId,\n\t\t\t\t\tTargetPrefix: pulumi.String(\"log/\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ObsBucket;\nimport com.pulumi.opentelekomcloud.ObsBucketArgs;\nimport com.pulumi.opentelekomcloud.inputs.ObsBucketLoggingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var logBucket = new ObsBucket(\"logBucket\", ObsBucketArgs.builder()\n            .bucket(\"my-tf-log-bucket\")\n            .acl(\"log-delivery-write\")\n            .build());\n\n        var b = new ObsBucket(\"b\", ObsBucketArgs.builder()\n            .bucket(\"my-tf-test-bucket\")\n            .acl(\"private\")\n            .loggings(ObsBucketLoggingArgs.builder()\n                .targetBucket(logBucket.obsBucketId())\n                .targetPrefix(\"log/\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  logBucket:\n    type: opentelekomcloud:ObsBucket\n    name: log_bucket\n    properties:\n      bucket: my-tf-log-bucket\n      acl: log-delivery-write\n  b:\n    type: opentelekomcloud:ObsBucket\n    properties:\n      bucket: my-tf-test-bucket\n      acl: private\n      loggings:\n        - targetBucket: ${logBucket.obsBucketId}\n          targetPrefix: log/\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Static Website Hosting\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst b = new opentelekomcloud.ObsBucket(\"b\", {\n    bucket: \"obs-website-test.hashicorp.com\",\n    acl: \"public-read\",\n    website: {\n        indexDocument: \"index.html\",\n        errorDocument: \"error.html\",\n        routingRules: `[{\n    \\\\\"Condition\\\\\": {\n        \\\\\"KeyPrefixEquals\\\\\": \\\\\"docs/\\\\\"\n    },\n    \\\\\"Redirect\\\\\": {\n        \\\\\"ReplaceKeyPrefixWith\\\\\": \\\\\"documents/\\\\\"\n    }\n}]\n`,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nb = opentelekomcloud.ObsBucket(\"b\",\n    bucket=\"obs-website-test.hashicorp.com\",\n    acl=\"public-read\",\n    website={\n        \"index_document\": \"index.html\",\n        \"error_document\": \"error.html\",\n        \"routing_rules\": \"\"\"[{\n    \\\"Condition\\\": {\n        \\\"KeyPrefixEquals\\\": \\\"docs/\\\"\n    },\n    \\\"Redirect\\\": {\n        \\\"ReplaceKeyPrefixWith\\\": \\\"documents/\\\"\n    }\n}]\n\"\"\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var b = new Opentelekomcloud.ObsBucket(\"b\", new()\n    {\n        Bucket = \"obs-website-test.hashicorp.com\",\n        Acl = \"public-read\",\n        Website = new Opentelekomcloud.Inputs.ObsBucketWebsiteArgs\n        {\n            IndexDocument = \"index.html\",\n            ErrorDocument = \"error.html\",\n            RoutingRules = @\"[{\n    \\\"\"Condition\\\"\": {\n        \\\"\"KeyPrefixEquals\\\"\": \\\"\"docs/\\\"\"\n    },\n    \\\"\"Redirect\\\"\": {\n        \\\"\"ReplaceKeyPrefixWith\\\"\": \\\"\"documents/\\\"\"\n    }\n}]\n\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewObsBucket(ctx, \"b\", \u0026opentelekomcloud.ObsBucketArgs{\n\t\t\tBucket: pulumi.String(\"obs-website-test.hashicorp.com\"),\n\t\t\tAcl:    pulumi.String(\"public-read\"),\n\t\t\tWebsite: \u0026opentelekomcloud.ObsBucketWebsiteArgs{\n\t\t\t\tIndexDocument: pulumi.String(\"index.html\"),\n\t\t\t\tErrorDocument: pulumi.String(\"error.html\"),\n\t\t\t\tRoutingRules: pulumi.String(`[{\n    \\\"Condition\\\": {\n        \\\"KeyPrefixEquals\\\": \\\"docs/\\\"\n    },\n    \\\"Redirect\\\": {\n        \\\"ReplaceKeyPrefixWith\\\": \\\"documents/\\\"\n    }\n}]\n`),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ObsBucket;\nimport com.pulumi.opentelekomcloud.ObsBucketArgs;\nimport com.pulumi.opentelekomcloud.inputs.ObsBucketWebsiteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var b = new ObsBucket(\"b\", ObsBucketArgs.builder()\n            .bucket(\"obs-website-test.hashicorp.com\")\n            .acl(\"public-read\")\n            .website(ObsBucketWebsiteArgs.builder()\n                .indexDocument(\"index.html\")\n                .errorDocument(\"error.html\")\n                .routingRules(\"\"\"\n[{\n    \\\"Condition\\\": {\n        \\\"KeyPrefixEquals\\\": \\\"docs/\\\"\n    },\n    \\\"Redirect\\\": {\n        \\\"ReplaceKeyPrefixWith\\\": \\\"documents/\\\"\n    }\n}]\n                \"\"\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  b:\n    type: opentelekomcloud:ObsBucket\n    properties:\n      bucket: obs-website-test.hashicorp.com\n      acl: public-read\n      website:\n        indexDocument: index.html\n        errorDocument: error.html\n        routingRules: |\n          [{\n              \\\"Condition\\\": {\n                  \\\"KeyPrefixEquals\\\": \\\"docs/\\\"\n              },\n              \\\"Redirect\\\": {\n                  \\\"ReplaceKeyPrefixWith\\\": \\\"documents/\\\"\n              }\n          }]\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using CORS\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst b = new opentelekomcloud.ObsBucket(\"b\", {\n    bucket: \"obs-website-test.hashicorp.com\",\n    acl: \"public-read\",\n    corsRules: [{\n        allowedOrigins: [\"https://obs-website-test.hashicorp.com\"],\n        allowedMethods: [\n            \"PUT\",\n            \"POST\",\n        ],\n        allowedHeaders: [\"*\"],\n        exposeHeaders: [\"ETag\"],\n        maxAgeSeconds: 3000,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nb = opentelekomcloud.ObsBucket(\"b\",\n    bucket=\"obs-website-test.hashicorp.com\",\n    acl=\"public-read\",\n    cors_rules=[{\n        \"allowed_origins\": [\"https://obs-website-test.hashicorp.com\"],\n        \"allowed_methods\": [\n            \"PUT\",\n            \"POST\",\n        ],\n        \"allowed_headers\": [\"*\"],\n        \"expose_headers\": [\"ETag\"],\n        \"max_age_seconds\": 3000,\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var b = new Opentelekomcloud.ObsBucket(\"b\", new()\n    {\n        Bucket = \"obs-website-test.hashicorp.com\",\n        Acl = \"public-read\",\n        CorsRules = new[]\n        {\n            new Opentelekomcloud.Inputs.ObsBucketCorsRuleArgs\n            {\n                AllowedOrigins = new[]\n                {\n                    \"https://obs-website-test.hashicorp.com\",\n                },\n                AllowedMethods = new[]\n                {\n                    \"PUT\",\n                    \"POST\",\n                },\n                AllowedHeaders = new[]\n                {\n                    \"*\",\n                },\n                ExposeHeaders = new[]\n                {\n                    \"ETag\",\n                },\n                MaxAgeSeconds = 3000,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewObsBucket(ctx, \"b\", \u0026opentelekomcloud.ObsBucketArgs{\n\t\t\tBucket: pulumi.String(\"obs-website-test.hashicorp.com\"),\n\t\t\tAcl:    pulumi.String(\"public-read\"),\n\t\t\tCorsRules: opentelekomcloud.ObsBucketCorsRuleArray{\n\t\t\t\t\u0026opentelekomcloud.ObsBucketCorsRuleArgs{\n\t\t\t\t\tAllowedOrigins: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"https://obs-website-test.hashicorp.com\"),\n\t\t\t\t\t},\n\t\t\t\t\tAllowedMethods: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"PUT\"),\n\t\t\t\t\t\tpulumi.String(\"POST\"),\n\t\t\t\t\t},\n\t\t\t\t\tAllowedHeaders: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t},\n\t\t\t\t\tExposeHeaders: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"ETag\"),\n\t\t\t\t\t},\n\t\t\t\t\tMaxAgeSeconds: pulumi.Float64(3000),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ObsBucket;\nimport com.pulumi.opentelekomcloud.ObsBucketArgs;\nimport com.pulumi.opentelekomcloud.inputs.ObsBucketCorsRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var b = new ObsBucket(\"b\", ObsBucketArgs.builder()\n            .bucket(\"obs-website-test.hashicorp.com\")\n            .acl(\"public-read\")\n            .corsRules(ObsBucketCorsRuleArgs.builder()\n                .allowedOrigins(\"https://obs-website-test.hashicorp.com\")\n                .allowedMethods(                \n                    \"PUT\",\n                    \"POST\")\n                .allowedHeaders(\"*\")\n                .exposeHeaders(\"ETag\")\n                .maxAgeSeconds(3000.0)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  b:\n    type: opentelekomcloud:ObsBucket\n    properties:\n      bucket: obs-website-test.hashicorp.com\n      acl: public-read\n      corsRules:\n        - allowedOrigins:\n            - https://obs-website-test.hashicorp.com\n          allowedMethods:\n            - PUT\n            - POST\n          allowedHeaders:\n            - '*'\n          exposeHeaders:\n            - ETag\n          maxAgeSeconds: 3000\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using server side encryption for the bucket\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst bucket = new opentelekomcloud.ObsBucket(\"bucket\", {\n    bucket: \"my-bucket\",\n    storageClass: \"WARM\",\n    acl: \"public-read\",\n    serverSideEncryption: {\n        algorithm: \"kms\",\n        kmsKeyId: kmsMasterKeyId,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nbucket = opentelekomcloud.ObsBucket(\"bucket\",\n    bucket=\"my-bucket\",\n    storage_class=\"WARM\",\n    acl=\"public-read\",\n    server_side_encryption={\n        \"algorithm\": \"kms\",\n        \"kms_key_id\": kms_master_key_id,\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var bucket = new Opentelekomcloud.ObsBucket(\"bucket\", new()\n    {\n        Bucket = \"my-bucket\",\n        StorageClass = \"WARM\",\n        Acl = \"public-read\",\n        ServerSideEncryption = new Opentelekomcloud.Inputs.ObsBucketServerSideEncryptionArgs\n        {\n            Algorithm = \"kms\",\n            KmsKeyId = kmsMasterKeyId,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewObsBucket(ctx, \"bucket\", \u0026opentelekomcloud.ObsBucketArgs{\n\t\t\tBucket:       pulumi.String(\"my-bucket\"),\n\t\t\tStorageClass: pulumi.String(\"WARM\"),\n\t\t\tAcl:          pulumi.String(\"public-read\"),\n\t\t\tServerSideEncryption: \u0026opentelekomcloud.ObsBucketServerSideEncryptionArgs{\n\t\t\t\tAlgorithm: pulumi.String(\"kms\"),\n\t\t\t\tKmsKeyId:  pulumi.Any(kmsMasterKeyId),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ObsBucket;\nimport com.pulumi.opentelekomcloud.ObsBucketArgs;\nimport com.pulumi.opentelekomcloud.inputs.ObsBucketServerSideEncryptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var bucket = new ObsBucket(\"bucket\", ObsBucketArgs.builder()\n            .bucket(\"my-bucket\")\n            .storageClass(\"WARM\")\n            .acl(\"public-read\")\n            .serverSideEncryption(ObsBucketServerSideEncryptionArgs.builder()\n                .algorithm(\"kms\")\n                .kmsKeyId(kmsMasterKeyId)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  bucket:\n    type: opentelekomcloud:ObsBucket\n    properties:\n      bucket: my-bucket\n      storageClass: WARM\n      acl: public-read\n      serverSideEncryption:\n        algorithm: kms\n        kmsKeyId: ${kmsMasterKeyId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using server side encryption with the least amount of required KMS privileges\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst thisKmsKeyV1 = new opentelekomcloud.KmsKeyV1(\"this\", {\n    keyAlias: kmsAlias,\n    pendingDays: \"7\",\n    keyDescription: kmsDesc,\n    realm: region,\n    isEnabled: true,\n});\nconst thisKms = new opentelekomcloud.IdentityRoleV3(\"this_kms\", {\n    description: roleKmsDesc,\n    displayName: roleKmsDisplayName,\n    displayLayer: \"project\",\n    statements: [\n        {\n            effect: \"Allow\",\n            actions: [\n                \"kms:cmk:list\",\n                \"kms:cmk:get\",\n            ],\n        },\n        {\n            effect: \"Allow\",\n            resources: [pulumi.interpolate`KMS:*:*:KeyId:${thisKmsKeyV1.kmsKeyV1Id}`],\n            actions: [\n                \"kms:cmk:generate\",\n                \"kms:dek:create\",\n                \"kms:cmk:crypto\",\n                \"kms:dek:crypto\",\n            ],\n        },\n    ],\n});\nconst thisObsBucket = new opentelekomcloud.ObsBucket(\"this\", {\n    bucket: bucketName,\n    acl: \"private\",\n    serverSideEncryption: {\n        algorithm: \"kms\",\n        kmsKeyId: thisKmsKeyV1.kmsKeyV1Id,\n    },\n});\nconst thisObs = new opentelekomcloud.IdentityRoleV3(\"this_obs\", {\n    description: roleObsDesc,\n    displayName: roleObsDisplayName,\n    displayLayer: \"domain\",\n    statements: [{\n        effect: \"Allow\",\n        resources: [\n            pulumi.interpolate`OBS:*:*:bucket:${thisObsBucket.obsBucketId}`,\n            \"OBS:*:*:object:*\",\n        ],\n        actions: [\n            \"obs:object:DeleteObject\",\n            \"obs:object:PutObject\",\n            \"obs:object:GetObject\",\n            \"obs:bucket:ListBucket\",\n            \"obs:bucket:GetEncryptionConfiguration\",\n        ],\n    }],\n});\nconst _this = new opentelekomcloud.IdentityUserV3(\"this\", {\n    name: userName,\n    description: userDesc,\n    accessType: \"programmatic\",\n});\nconst thisIdentityGroupV3 = new opentelekomcloud.IdentityGroupV3(\"this\", {\n    name: userGroupName,\n    description: userGroupDesc,\n});\nconst thisKmsIdentityRoleAssignmentV3 = new opentelekomcloud.IdentityRoleAssignmentV3(\"this_kms\", {\n    groupId: thisIdentityGroupV3.identityGroupV3Id,\n    domainId: domainId,\n    roleId: thisKms.identityRoleV3Id,\n    allProjects: true,\n});\nconst thisObsIdentityRoleAssignmentV3 = new opentelekomcloud.IdentityRoleAssignmentV3(\"this_obs\", {\n    groupId: thisIdentityGroupV3.identityGroupV3Id,\n    domainId: domainId,\n    roleId: thisObs.identityRoleV3Id,\n    allProjects: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nthis_kms_key_v1 = opentelekomcloud.KmsKeyV1(\"this\",\n    key_alias=kms_alias,\n    pending_days=\"7\",\n    key_description=kms_desc,\n    realm=region,\n    is_enabled=True)\nthis_kms = opentelekomcloud.IdentityRoleV3(\"this_kms\",\n    description=role_kms_desc,\n    display_name=role_kms_display_name,\n    display_layer=\"project\",\n    statements=[\n        {\n            \"effect\": \"Allow\",\n            \"actions\": [\n                \"kms:cmk:list\",\n                \"kms:cmk:get\",\n            ],\n        },\n        {\n            \"effect\": \"Allow\",\n            \"resources\": [this_kms_key_v1.kms_key_v1_id.apply(lambda kms_key_v1_id: f\"KMS:*:*:KeyId:{kms_key_v1_id}\")],\n            \"actions\": [\n                \"kms:cmk:generate\",\n                \"kms:dek:create\",\n                \"kms:cmk:crypto\",\n                \"kms:dek:crypto\",\n            ],\n        },\n    ])\nthis_obs_bucket = opentelekomcloud.ObsBucket(\"this\",\n    bucket=bucket_name,\n    acl=\"private\",\n    server_side_encryption={\n        \"algorithm\": \"kms\",\n        \"kms_key_id\": this_kms_key_v1.kms_key_v1_id,\n    })\nthis_obs = opentelekomcloud.IdentityRoleV3(\"this_obs\",\n    description=role_obs_desc,\n    display_name=role_obs_display_name,\n    display_layer=\"domain\",\n    statements=[{\n        \"effect\": \"Allow\",\n        \"resources\": [\n            this_obs_bucket.obs_bucket_id.apply(lambda obs_bucket_id: f\"OBS:*:*:bucket:{obs_bucket_id}\"),\n            \"OBS:*:*:object:*\",\n        ],\n        \"actions\": [\n            \"obs:object:DeleteObject\",\n            \"obs:object:PutObject\",\n            \"obs:object:GetObject\",\n            \"obs:bucket:ListBucket\",\n            \"obs:bucket:GetEncryptionConfiguration\",\n        ],\n    }])\nthis = opentelekomcloud.IdentityUserV3(\"this\",\n    name=user_name,\n    description=user_desc,\n    access_type=\"programmatic\")\nthis_identity_group_v3 = opentelekomcloud.IdentityGroupV3(\"this\",\n    name=user_group_name,\n    description=user_group_desc)\nthis_kms_identity_role_assignment_v3 = opentelekomcloud.IdentityRoleAssignmentV3(\"this_kms\",\n    group_id=this_identity_group_v3.identity_group_v3_id,\n    domain_id=domain_id,\n    role_id=this_kms.identity_role_v3_id,\n    all_projects=True)\nthis_obs_identity_role_assignment_v3 = opentelekomcloud.IdentityRoleAssignmentV3(\"this_obs\",\n    group_id=this_identity_group_v3.identity_group_v3_id,\n    domain_id=domain_id,\n    role_id=this_obs.identity_role_v3_id,\n    all_projects=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var thisKmsKeyV1 = new Opentelekomcloud.KmsKeyV1(\"this\", new()\n    {\n        KeyAlias = kmsAlias,\n        PendingDays = \"7\",\n        KeyDescription = kmsDesc,\n        Realm = region,\n        IsEnabled = true,\n    });\n\n    var thisKms = new Opentelekomcloud.IdentityRoleV3(\"this_kms\", new()\n    {\n        Description = roleKmsDesc,\n        DisplayName = roleKmsDisplayName,\n        DisplayLayer = \"project\",\n        Statements = new[]\n        {\n            new Opentelekomcloud.Inputs.IdentityRoleV3StatementArgs\n            {\n                Effect = \"Allow\",\n                Actions = new[]\n                {\n                    \"kms:cmk:list\",\n                    \"kms:cmk:get\",\n                },\n            },\n            new Opentelekomcloud.Inputs.IdentityRoleV3StatementArgs\n            {\n                Effect = \"Allow\",\n                Resources = new[]\n                {\n                    thisKmsKeyV1.KmsKeyV1Id.Apply(kmsKeyV1Id =\u003e $\"KMS:*:*:KeyId:{kmsKeyV1Id}\"),\n                },\n                Actions = new[]\n                {\n                    \"kms:cmk:generate\",\n                    \"kms:dek:create\",\n                    \"kms:cmk:crypto\",\n                    \"kms:dek:crypto\",\n                },\n            },\n        },\n    });\n\n    var thisObsBucket = new Opentelekomcloud.ObsBucket(\"this\", new()\n    {\n        Bucket = bucketName,\n        Acl = \"private\",\n        ServerSideEncryption = new Opentelekomcloud.Inputs.ObsBucketServerSideEncryptionArgs\n        {\n            Algorithm = \"kms\",\n            KmsKeyId = thisKmsKeyV1.KmsKeyV1Id,\n        },\n    });\n\n    var thisObs = new Opentelekomcloud.IdentityRoleV3(\"this_obs\", new()\n    {\n        Description = roleObsDesc,\n        DisplayName = roleObsDisplayName,\n        DisplayLayer = \"domain\",\n        Statements = new[]\n        {\n            new Opentelekomcloud.Inputs.IdentityRoleV3StatementArgs\n            {\n                Effect = \"Allow\",\n                Resources = new[]\n                {\n                    thisObsBucket.ObsBucketId.Apply(obsBucketId =\u003e $\"OBS:*:*:bucket:{obsBucketId}\"),\n                    \"OBS:*:*:object:*\",\n                },\n                Actions = new[]\n                {\n                    \"obs:object:DeleteObject\",\n                    \"obs:object:PutObject\",\n                    \"obs:object:GetObject\",\n                    \"obs:bucket:ListBucket\",\n                    \"obs:bucket:GetEncryptionConfiguration\",\n                },\n            },\n        },\n    });\n\n    var @this = new Opentelekomcloud.IdentityUserV3(\"this\", new()\n    {\n        Name = userName,\n        Description = userDesc,\n        AccessType = \"programmatic\",\n    });\n\n    var thisIdentityGroupV3 = new Opentelekomcloud.IdentityGroupV3(\"this\", new()\n    {\n        Name = userGroupName,\n        Description = userGroupDesc,\n    });\n\n    var thisKmsIdentityRoleAssignmentV3 = new Opentelekomcloud.IdentityRoleAssignmentV3(\"this_kms\", new()\n    {\n        GroupId = thisIdentityGroupV3.IdentityGroupV3Id,\n        DomainId = domainId,\n        RoleId = thisKms.IdentityRoleV3Id,\n        AllProjects = true,\n    });\n\n    var thisObsIdentityRoleAssignmentV3 = new Opentelekomcloud.IdentityRoleAssignmentV3(\"this_obs\", new()\n    {\n        GroupId = thisIdentityGroupV3.IdentityGroupV3Id,\n        DomainId = domainId,\n        RoleId = thisObs.IdentityRoleV3Id,\n        AllProjects = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tthisKmsKeyV1, err := opentelekomcloud.NewKmsKeyV1(ctx, \"this\", \u0026opentelekomcloud.KmsKeyV1Args{\n\t\t\tKeyAlias:       pulumi.Any(kmsAlias),\n\t\t\tPendingDays:    pulumi.String(\"7\"),\n\t\t\tKeyDescription: pulumi.Any(kmsDesc),\n\t\t\tRealm:          pulumi.Any(region),\n\t\t\tIsEnabled:      pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tthisKms, err := opentelekomcloud.NewIdentityRoleV3(ctx, \"this_kms\", \u0026opentelekomcloud.IdentityRoleV3Args{\n\t\t\tDescription:  pulumi.Any(roleKmsDesc),\n\t\t\tDisplayName:  pulumi.Any(roleKmsDisplayName),\n\t\t\tDisplayLayer: pulumi.String(\"project\"),\n\t\t\tStatements: opentelekomcloud.IdentityRoleV3StatementArray{\n\t\t\t\t\u0026opentelekomcloud.IdentityRoleV3StatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"kms:cmk:list\"),\n\t\t\t\t\t\tpulumi.String(\"kms:cmk:get\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026opentelekomcloud.IdentityRoleV3StatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tthisKmsKeyV1.KmsKeyV1Id.ApplyT(func(kmsKeyV1Id string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"KMS:*:*:KeyId:%v\", kmsKeyV1Id), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"kms:cmk:generate\"),\n\t\t\t\t\t\tpulumi.String(\"kms:dek:create\"),\n\t\t\t\t\t\tpulumi.String(\"kms:cmk:crypto\"),\n\t\t\t\t\t\tpulumi.String(\"kms:dek:crypto\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tthisObsBucket, err := opentelekomcloud.NewObsBucket(ctx, \"this\", \u0026opentelekomcloud.ObsBucketArgs{\n\t\t\tBucket: pulumi.Any(bucketName),\n\t\t\tAcl:    pulumi.String(\"private\"),\n\t\t\tServerSideEncryption: \u0026opentelekomcloud.ObsBucketServerSideEncryptionArgs{\n\t\t\t\tAlgorithm: pulumi.String(\"kms\"),\n\t\t\t\tKmsKeyId:  thisKmsKeyV1.KmsKeyV1Id,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tthisObs, err := opentelekomcloud.NewIdentityRoleV3(ctx, \"this_obs\", \u0026opentelekomcloud.IdentityRoleV3Args{\n\t\t\tDescription:  pulumi.Any(roleObsDesc),\n\t\t\tDisplayName:  pulumi.Any(roleObsDisplayName),\n\t\t\tDisplayLayer: pulumi.String(\"domain\"),\n\t\t\tStatements: opentelekomcloud.IdentityRoleV3StatementArray{\n\t\t\t\t\u0026opentelekomcloud.IdentityRoleV3StatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tthisObsBucket.ObsBucketId.ApplyT(func(obsBucketId string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"OBS:*:*:bucket:%v\", obsBucketId), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t\tpulumi.String(\"OBS:*:*:object:*\"),\n\t\t\t\t\t},\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"obs:object:DeleteObject\"),\n\t\t\t\t\t\tpulumi.String(\"obs:object:PutObject\"),\n\t\t\t\t\t\tpulumi.String(\"obs:object:GetObject\"),\n\t\t\t\t\t\tpulumi.String(\"obs:bucket:ListBucket\"),\n\t\t\t\t\t\tpulumi.String(\"obs:bucket:GetEncryptionConfiguration\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewIdentityUserV3(ctx, \"this\", \u0026opentelekomcloud.IdentityUserV3Args{\n\t\t\tName:        pulumi.Any(userName),\n\t\t\tDescription: pulumi.Any(userDesc),\n\t\t\tAccessType:  pulumi.String(\"programmatic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tthisIdentityGroupV3, err := opentelekomcloud.NewIdentityGroupV3(ctx, \"this\", \u0026opentelekomcloud.IdentityGroupV3Args{\n\t\t\tName:        pulumi.Any(userGroupName),\n\t\t\tDescription: pulumi.Any(userGroupDesc),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewIdentityRoleAssignmentV3(ctx, \"this_kms\", \u0026opentelekomcloud.IdentityRoleAssignmentV3Args{\n\t\t\tGroupId:     thisIdentityGroupV3.IdentityGroupV3Id,\n\t\t\tDomainId:    pulumi.Any(domainId),\n\t\t\tRoleId:      thisKms.IdentityRoleV3Id,\n\t\t\tAllProjects: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewIdentityRoleAssignmentV3(ctx, \"this_obs\", \u0026opentelekomcloud.IdentityRoleAssignmentV3Args{\n\t\t\tGroupId:     thisIdentityGroupV3.IdentityGroupV3Id,\n\t\t\tDomainId:    pulumi.Any(domainId),\n\t\t\tRoleId:      thisObs.IdentityRoleV3Id,\n\t\t\tAllProjects: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.KmsKeyV1;\nimport com.pulumi.opentelekomcloud.KmsKeyV1Args;\nimport com.pulumi.opentelekomcloud.IdentityRoleV3;\nimport com.pulumi.opentelekomcloud.IdentityRoleV3Args;\nimport com.pulumi.opentelekomcloud.inputs.IdentityRoleV3StatementArgs;\nimport com.pulumi.opentelekomcloud.ObsBucket;\nimport com.pulumi.opentelekomcloud.ObsBucketArgs;\nimport com.pulumi.opentelekomcloud.inputs.ObsBucketServerSideEncryptionArgs;\nimport com.pulumi.opentelekomcloud.IdentityUserV3;\nimport com.pulumi.opentelekomcloud.IdentityUserV3Args;\nimport com.pulumi.opentelekomcloud.IdentityGroupV3;\nimport com.pulumi.opentelekomcloud.IdentityGroupV3Args;\nimport com.pulumi.opentelekomcloud.IdentityRoleAssignmentV3;\nimport com.pulumi.opentelekomcloud.IdentityRoleAssignmentV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var thisKmsKeyV1 = new KmsKeyV1(\"thisKmsKeyV1\", KmsKeyV1Args.builder()\n            .keyAlias(kmsAlias)\n            .pendingDays(\"7\")\n            .keyDescription(kmsDesc)\n            .realm(region)\n            .isEnabled(true)\n            .build());\n\n        var thisKms = new IdentityRoleV3(\"thisKms\", IdentityRoleV3Args.builder()\n            .description(roleKmsDesc)\n            .displayName(roleKmsDisplayName)\n            .displayLayer(\"project\")\n            .statements(            \n                IdentityRoleV3StatementArgs.builder()\n                    .effect(\"Allow\")\n                    .actions(                    \n                        \"kms:cmk:list\",\n                        \"kms:cmk:get\")\n                    .build(),\n                IdentityRoleV3StatementArgs.builder()\n                    .effect(\"Allow\")\n                    .resources(thisKmsKeyV1.kmsKeyV1Id().applyValue(_kmsKeyV1Id -\u003e String.format(\"KMS:*:*:KeyId:%s\", _kmsKeyV1Id)))\n                    .actions(                    \n                        \"kms:cmk:generate\",\n                        \"kms:dek:create\",\n                        \"kms:cmk:crypto\",\n                        \"kms:dek:crypto\")\n                    .build())\n            .build());\n\n        var thisObsBucket = new ObsBucket(\"thisObsBucket\", ObsBucketArgs.builder()\n            .bucket(bucketName)\n            .acl(\"private\")\n            .serverSideEncryption(ObsBucketServerSideEncryptionArgs.builder()\n                .algorithm(\"kms\")\n                .kmsKeyId(thisKmsKeyV1.kmsKeyV1Id())\n                .build())\n            .build());\n\n        var thisObs = new IdentityRoleV3(\"thisObs\", IdentityRoleV3Args.builder()\n            .description(roleObsDesc)\n            .displayName(roleObsDisplayName)\n            .displayLayer(\"domain\")\n            .statements(IdentityRoleV3StatementArgs.builder()\n                .effect(\"Allow\")\n                .resources(                \n                    thisObsBucket.obsBucketId().applyValue(_obsBucketId -\u003e String.format(\"OBS:*:*:bucket:%s\", _obsBucketId)),\n                    \"OBS:*:*:object:*\")\n                .actions(                \n                    \"obs:object:DeleteObject\",\n                    \"obs:object:PutObject\",\n                    \"obs:object:GetObject\",\n                    \"obs:bucket:ListBucket\",\n                    \"obs:bucket:GetEncryptionConfiguration\")\n                .build())\n            .build());\n\n        var this_ = new IdentityUserV3(\"this\", IdentityUserV3Args.builder()\n            .name(userName)\n            .description(userDesc)\n            .accessType(\"programmatic\")\n            .build());\n\n        var thisIdentityGroupV3 = new IdentityGroupV3(\"thisIdentityGroupV3\", IdentityGroupV3Args.builder()\n            .name(userGroupName)\n            .description(userGroupDesc)\n            .build());\n\n        var thisKmsIdentityRoleAssignmentV3 = new IdentityRoleAssignmentV3(\"thisKmsIdentityRoleAssignmentV3\", IdentityRoleAssignmentV3Args.builder()\n            .groupId(thisIdentityGroupV3.identityGroupV3Id())\n            .domainId(domainId)\n            .roleId(thisKms.identityRoleV3Id())\n            .allProjects(true)\n            .build());\n\n        var thisObsIdentityRoleAssignmentV3 = new IdentityRoleAssignmentV3(\"thisObsIdentityRoleAssignmentV3\", IdentityRoleAssignmentV3Args.builder()\n            .groupId(thisIdentityGroupV3.identityGroupV3Id())\n            .domainId(domainId)\n            .roleId(thisObs.identityRoleV3Id())\n            .allProjects(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  thisKms:\n    type: opentelekomcloud:IdentityRoleV3\n    name: this_kms\n    properties:\n      description: ${roleKmsDesc}\n      displayName: ${roleKmsDisplayName}\n      displayLayer: project\n      statements:\n        - effect: Allow\n          actions:\n            - kms:cmk:list\n            - kms:cmk:get\n        - effect: Allow\n          resources:\n            - KMS:*:*:KeyId:${thisKmsKeyV1.kmsKeyV1Id}\n          actions:\n            - kms:cmk:generate\n            - kms:dek:create\n            - kms:cmk:crypto\n            - kms:dek:crypto\n  thisObs:\n    type: opentelekomcloud:IdentityRoleV3\n    name: this_obs\n    properties:\n      description: ${roleObsDesc}\n      displayName: ${roleObsDisplayName}\n      displayLayer: domain\n      statements:\n        - effect: Allow\n          resources:\n            - OBS:*:*:bucket:${thisObsBucket.obsBucketId}\n            - OBS:*:*:object:*\n          actions:\n            - obs:object:DeleteObject\n            - obs:object:PutObject\n            - obs:object:GetObject\n            - obs:bucket:ListBucket\n            - obs:bucket:GetEncryptionConfiguration\n  this:\n    type: opentelekomcloud:IdentityUserV3\n    properties:\n      name: ${userName}\n      description: ${userDesc}\n      accessType: programmatic\n  thisIdentityGroupV3:\n    type: opentelekomcloud:IdentityGroupV3\n    name: this\n    properties:\n      name: ${userGroupName}\n      description: ${userGroupDesc}\n  thisKmsIdentityRoleAssignmentV3:\n    type: opentelekomcloud:IdentityRoleAssignmentV3\n    name: this_kms\n    properties:\n      groupId: ${thisIdentityGroupV3.identityGroupV3Id}\n      domainId: ${domainId}\n      roleId: ${thisKms.identityRoleV3Id}\n      allProjects: true\n  thisObsIdentityRoleAssignmentV3:\n    type: opentelekomcloud:IdentityRoleAssignmentV3\n    name: this_obs\n    properties:\n      groupId: ${thisIdentityGroupV3.identityGroupV3Id}\n      domainId: ${domainId}\n      roleId: ${thisObs.identityRoleV3Id}\n      allProjects: true\n  thisKmsKeyV1:\n    type: opentelekomcloud:KmsKeyV1\n    name: this\n    properties:\n      keyAlias: ${kmsAlias}\n      pendingDays: '7'\n      keyDescription: ${kmsDesc}\n      realm: ${region}\n      isEnabled: true\n  thisObsBucket:\n    type: opentelekomcloud:ObsBucket\n    name: this\n    properties:\n      bucket: ${bucketName}\n      acl: private\n      serverSideEncryption:\n        algorithm: kms\n        kmsKeyId: ${thisKmsKeyV1.kmsKeyV1Id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using object lifecycle\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst bucket = new opentelekomcloud.ObsBucket(\"bucket\", {\n    bucket: \"my-bucket\",\n    acl: \"private\",\n    versioning: true,\n    lifecycleRules: [\n        {\n            name: \"log\",\n            prefix: \"log/\",\n            enabled: true,\n            expirations: [{\n                days: 365,\n            }],\n            transitions: [\n                {\n                    days: 60,\n                    storageClass: \"WARM\",\n                },\n                {\n                    days: 180,\n                    storageClass: \"COLD\",\n                },\n            ],\n            abortIncompleteMultipartUploads: [{\n                days: 360,\n            }],\n        },\n        {\n            name: \"tmp\",\n            prefix: \"tmp/\",\n            enabled: true,\n            tags: [\n                {\n                    key: \"key1\",\n                    value: \"value1\",\n                },\n                {\n                    key: \"key2\",\n                    value: \"value2\",\n                },\n            ],\n            noncurrentVersionExpirations: [{\n                days: 180,\n            }],\n            noncurrentVersionTransitions: [\n                {\n                    days: 30,\n                    storageClass: \"WARM\",\n                },\n                {\n                    days: 60,\n                    storageClass: \"COLD\",\n                },\n            ],\n            abortIncompleteMultipartUploads: [{\n                days: 180,\n            }],\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nbucket = opentelekomcloud.ObsBucket(\"bucket\",\n    bucket=\"my-bucket\",\n    acl=\"private\",\n    versioning=True,\n    lifecycle_rules=[\n        {\n            \"name\": \"log\",\n            \"prefix\": \"log/\",\n            \"enabled\": True,\n            \"expirations\": [{\n                \"days\": 365,\n            }],\n            \"transitions\": [\n                {\n                    \"days\": 60,\n                    \"storage_class\": \"WARM\",\n                },\n                {\n                    \"days\": 180,\n                    \"storage_class\": \"COLD\",\n                },\n            ],\n            \"abort_incomplete_multipart_uploads\": [{\n                \"days\": 360,\n            }],\n        },\n        {\n            \"name\": \"tmp\",\n            \"prefix\": \"tmp/\",\n            \"enabled\": True,\n            \"tags\": [\n                {\n                    \"key\": \"key1\",\n                    \"value\": \"value1\",\n                },\n                {\n                    \"key\": \"key2\",\n                    \"value\": \"value2\",\n                },\n            ],\n            \"noncurrent_version_expirations\": [{\n                \"days\": 180,\n            }],\n            \"noncurrent_version_transitions\": [\n                {\n                    \"days\": 30,\n                    \"storage_class\": \"WARM\",\n                },\n                {\n                    \"days\": 60,\n                    \"storage_class\": \"COLD\",\n                },\n            ],\n            \"abort_incomplete_multipart_uploads\": [{\n                \"days\": 180,\n            }],\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var bucket = new Opentelekomcloud.ObsBucket(\"bucket\", new()\n    {\n        Bucket = \"my-bucket\",\n        Acl = \"private\",\n        Versioning = true,\n        LifecycleRules = new[]\n        {\n            new Opentelekomcloud.Inputs.ObsBucketLifecycleRuleArgs\n            {\n                Name = \"log\",\n                Prefix = \"log/\",\n                Enabled = true,\n                Expirations = new[]\n                {\n                    new Opentelekomcloud.Inputs.ObsBucketLifecycleRuleExpirationArgs\n                    {\n                        Days = 365,\n                    },\n                },\n                Transitions = new[]\n                {\n                    new Opentelekomcloud.Inputs.ObsBucketLifecycleRuleTransitionArgs\n                    {\n                        Days = 60,\n                        StorageClass = \"WARM\",\n                    },\n                    new Opentelekomcloud.Inputs.ObsBucketLifecycleRuleTransitionArgs\n                    {\n                        Days = 180,\n                        StorageClass = \"COLD\",\n                    },\n                },\n                AbortIncompleteMultipartUploads = new[]\n                {\n                    new Opentelekomcloud.Inputs.ObsBucketLifecycleRuleAbortIncompleteMultipartUploadArgs\n                    {\n                        Days = 360,\n                    },\n                },\n            },\n            new Opentelekomcloud.Inputs.ObsBucketLifecycleRuleArgs\n            {\n                Name = \"tmp\",\n                Prefix = \"tmp/\",\n                Enabled = true,\n                Tags = new[]\n                {\n                    new Opentelekomcloud.Inputs.ObsBucketLifecycleRuleTagArgs\n                    {\n                        Key = \"key1\",\n                        Value = \"value1\",\n                    },\n                    new Opentelekomcloud.Inputs.ObsBucketLifecycleRuleTagArgs\n                    {\n                        Key = \"key2\",\n                        Value = \"value2\",\n                    },\n                },\n                NoncurrentVersionExpirations = new[]\n                {\n                    new Opentelekomcloud.Inputs.ObsBucketLifecycleRuleNoncurrentVersionExpirationArgs\n                    {\n                        Days = 180,\n                    },\n                },\n                NoncurrentVersionTransitions = new[]\n                {\n                    new Opentelekomcloud.Inputs.ObsBucketLifecycleRuleNoncurrentVersionTransitionArgs\n                    {\n                        Days = 30,\n                        StorageClass = \"WARM\",\n                    },\n                    new Opentelekomcloud.Inputs.ObsBucketLifecycleRuleNoncurrentVersionTransitionArgs\n                    {\n                        Days = 60,\n                        StorageClass = \"COLD\",\n                    },\n                },\n                AbortIncompleteMultipartUploads = new[]\n                {\n                    new Opentelekomcloud.Inputs.ObsBucketLifecycleRuleAbortIncompleteMultipartUploadArgs\n                    {\n                        Days = 180,\n                    },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewObsBucket(ctx, \"bucket\", \u0026opentelekomcloud.ObsBucketArgs{\n\t\t\tBucket:     pulumi.String(\"my-bucket\"),\n\t\t\tAcl:        pulumi.String(\"private\"),\n\t\t\tVersioning: pulumi.Bool(true),\n\t\t\tLifecycleRules: opentelekomcloud.ObsBucketLifecycleRuleArray{\n\t\t\t\t\u0026opentelekomcloud.ObsBucketLifecycleRuleArgs{\n\t\t\t\t\tName:    pulumi.String(\"log\"),\n\t\t\t\t\tPrefix:  pulumi.String(\"log/\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tExpirations: opentelekomcloud.ObsBucketLifecycleRuleExpirationArray{\n\t\t\t\t\t\t\u0026opentelekomcloud.ObsBucketLifecycleRuleExpirationArgs{\n\t\t\t\t\t\t\tDays: pulumi.Float64(365),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tTransitions: opentelekomcloud.ObsBucketLifecycleRuleTransitionArray{\n\t\t\t\t\t\t\u0026opentelekomcloud.ObsBucketLifecycleRuleTransitionArgs{\n\t\t\t\t\t\t\tDays:         pulumi.Float64(60),\n\t\t\t\t\t\t\tStorageClass: pulumi.String(\"WARM\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026opentelekomcloud.ObsBucketLifecycleRuleTransitionArgs{\n\t\t\t\t\t\t\tDays:         pulumi.Float64(180),\n\t\t\t\t\t\t\tStorageClass: pulumi.String(\"COLD\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tAbortIncompleteMultipartUploads: opentelekomcloud.ObsBucketLifecycleRuleAbortIncompleteMultipartUploadArray{\n\t\t\t\t\t\t\u0026opentelekomcloud.ObsBucketLifecycleRuleAbortIncompleteMultipartUploadArgs{\n\t\t\t\t\t\t\tDays: pulumi.Float64(360),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026opentelekomcloud.ObsBucketLifecycleRuleArgs{\n\t\t\t\t\tName:    pulumi.String(\"tmp\"),\n\t\t\t\t\tPrefix:  pulumi.String(\"tmp/\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tTags: opentelekomcloud.ObsBucketLifecycleRuleTagArray{\n\t\t\t\t\t\t\u0026opentelekomcloud.ObsBucketLifecycleRuleTagArgs{\n\t\t\t\t\t\t\tKey:   pulumi.String(\"key1\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"value1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026opentelekomcloud.ObsBucketLifecycleRuleTagArgs{\n\t\t\t\t\t\t\tKey:   pulumi.String(\"key2\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"value2\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tNoncurrentVersionExpirations: opentelekomcloud.ObsBucketLifecycleRuleNoncurrentVersionExpirationArray{\n\t\t\t\t\t\t\u0026opentelekomcloud.ObsBucketLifecycleRuleNoncurrentVersionExpirationArgs{\n\t\t\t\t\t\t\tDays: pulumi.Float64(180),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tNoncurrentVersionTransitions: opentelekomcloud.ObsBucketLifecycleRuleNoncurrentVersionTransitionArray{\n\t\t\t\t\t\t\u0026opentelekomcloud.ObsBucketLifecycleRuleNoncurrentVersionTransitionArgs{\n\t\t\t\t\t\t\tDays:         pulumi.Float64(30),\n\t\t\t\t\t\t\tStorageClass: pulumi.String(\"WARM\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026opentelekomcloud.ObsBucketLifecycleRuleNoncurrentVersionTransitionArgs{\n\t\t\t\t\t\t\tDays:         pulumi.Float64(60),\n\t\t\t\t\t\t\tStorageClass: pulumi.String(\"COLD\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tAbortIncompleteMultipartUploads: opentelekomcloud.ObsBucketLifecycleRuleAbortIncompleteMultipartUploadArray{\n\t\t\t\t\t\t\u0026opentelekomcloud.ObsBucketLifecycleRuleAbortIncompleteMultipartUploadArgs{\n\t\t\t\t\t\t\tDays: pulumi.Float64(180),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ObsBucket;\nimport com.pulumi.opentelekomcloud.ObsBucketArgs;\nimport com.pulumi.opentelekomcloud.inputs.ObsBucketLifecycleRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var bucket = new ObsBucket(\"bucket\", ObsBucketArgs.builder()\n            .bucket(\"my-bucket\")\n            .acl(\"private\")\n            .versioning(true)\n            .lifecycleRules(            \n                ObsBucketLifecycleRuleArgs.builder()\n                    .name(\"log\")\n                    .prefix(\"log/\")\n                    .enabled(true)\n                    .expirations(ObsBucketLifecycleRuleExpirationArgs.builder()\n                        .days(365.0)\n                        .build())\n                    .transitions(                    \n                        ObsBucketLifecycleRuleTransitionArgs.builder()\n                            .days(60.0)\n                            .storageClass(\"WARM\")\n                            .build(),\n                        ObsBucketLifecycleRuleTransitionArgs.builder()\n                            .days(180.0)\n                            .storageClass(\"COLD\")\n                            .build())\n                    .abortIncompleteMultipartUploads(ObsBucketLifecycleRuleAbortIncompleteMultipartUploadArgs.builder()\n                        .days(360.0)\n                        .build())\n                    .build(),\n                ObsBucketLifecycleRuleArgs.builder()\n                    .name(\"tmp\")\n                    .prefix(\"tmp/\")\n                    .enabled(true)\n                    .tags(                    \n                        ObsBucketLifecycleRuleTagArgs.builder()\n                            .key(\"key1\")\n                            .value(\"value1\")\n                            .build(),\n                        ObsBucketLifecycleRuleTagArgs.builder()\n                            .key(\"key2\")\n                            .value(\"value2\")\n                            .build())\n                    .noncurrentVersionExpirations(ObsBucketLifecycleRuleNoncurrentVersionExpirationArgs.builder()\n                        .days(180.0)\n                        .build())\n                    .noncurrentVersionTransitions(                    \n                        ObsBucketLifecycleRuleNoncurrentVersionTransitionArgs.builder()\n                            .days(30.0)\n                            .storageClass(\"WARM\")\n                            .build(),\n                        ObsBucketLifecycleRuleNoncurrentVersionTransitionArgs.builder()\n                            .days(60.0)\n                            .storageClass(\"COLD\")\n                            .build())\n                    .abortIncompleteMultipartUploads(ObsBucketLifecycleRuleAbortIncompleteMultipartUploadArgs.builder()\n                        .days(180.0)\n                        .build())\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  bucket:\n    type: opentelekomcloud:ObsBucket\n    properties:\n      bucket: my-bucket\n      acl: private\n      versioning: true\n      lifecycleRules:\n        - name: log\n          prefix: log/\n          enabled: true\n          expirations:\n            - days: 365\n          transitions:\n            - days: 60\n              storageClass: WARM\n            - days: 180\n              storageClass: COLD\n          abortIncompleteMultipartUploads:\n            - days: 360\n        - name: tmp\n          prefix: tmp/\n          enabled: true\n          tags:\n            - key: key1\n              value: value1\n            - key: key2\n              value: value2\n          noncurrentVersionExpirations:\n            - days: 180\n          noncurrentVersionTransitions:\n            - days: 30\n              storageClass: WARM\n            - days: 60\n              storageClass: COLD\n          abortIncompleteMultipartUploads:\n            - days: 180\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using event notifications\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst topic = new opentelekomcloud.SmnTopicV2(\"topic\", {\n    name: \"obs-notifications\",\n    displayName: \"The display name of topic_1\",\n});\nconst policy = new opentelekomcloud.SmnTopicAttributeV2(\"policy\", {\n    topicUrn: topic.smnTopicV2Id,\n    attributeName: \"access_policy\",\n    topicAttribute: pulumi.interpolate`{\n  \\\"Version\\\": \\\"2016-09-07\\\",\n  \\\"Id\\\": \\\"__default_policy_ID\\\",\n  \\\"Statement\\\": [\n    {\n      \\\"Sid\\\": \\\"__service_pub_0\\\",\n      \\\"Effect\\\": \\\"Allow\\\",\n      \\\"Principal\\\": {\n        \\\"Service\\\": [\n          \\\"obs\\\",\n          \\\"s3\\\"\n        ]\n      },\n      \\\"Action\\\": [\n        \\\"SMN:Publish\\\",\n        \\\"SMN:QueryTopicDetail\\\"\n      ],\n      \\\"Resource\\\": \\\"${topic.smnTopicV2Id}\\\"\n    }\n  ]\n}\n`,\n});\nconst bucket = new opentelekomcloud.ObsBucket(\"bucket\", {\n    bucket: \"tf-test-bucket-%[1]d\",\n    acl: \"private\",\n    eventNotifications: [{\n        topic: topic.smnTopicV2Id,\n        events: [\n            \"ObjectCreated:*\",\n            \"ObjectRemoved:*\",\n        ],\n        filterRules: [\n            {\n                name: \"prefix\",\n                value: \"smn\",\n            },\n            {\n                name: \"suffix\",\n                value: \".jpg\",\n            },\n        ],\n    }],\n}, {\n    dependsOn: [policy],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ntopic = opentelekomcloud.SmnTopicV2(\"topic\",\n    name=\"obs-notifications\",\n    display_name=\"The display name of topic_1\")\npolicy = opentelekomcloud.SmnTopicAttributeV2(\"policy\",\n    topic_urn=topic.smn_topic_v2_id,\n    attribute_name=\"access_policy\",\n    topic_attribute=topic.smn_topic_v2_id.apply(lambda smn_topic_v2_id: f\"\"\"{{\n  \\\"Version\\\": \\\"2016-09-07\\\",\n  \\\"Id\\\": \\\"__default_policy_ID\\\",\n  \\\"Statement\\\": [\n    {{\n      \\\"Sid\\\": \\\"__service_pub_0\\\",\n      \\\"Effect\\\": \\\"Allow\\\",\n      \\\"Principal\\\": {{\n        \\\"Service\\\": [\n          \\\"obs\\\",\n          \\\"s3\\\"\n        ]\n      }},\n      \\\"Action\\\": [\n        \\\"SMN:Publish\\\",\n        \\\"SMN:QueryTopicDetail\\\"\n      ],\n      \\\"Resource\\\": \\\"{smn_topic_v2_id}\\\"\n    }}\n  ]\n}}\n\"\"\"))\nbucket = opentelekomcloud.ObsBucket(\"bucket\",\n    bucket=\"tf-test-bucket-%[1]d\",\n    acl=\"private\",\n    event_notifications=[{\n        \"topic\": topic.smn_topic_v2_id,\n        \"events\": [\n            \"ObjectCreated:*\",\n            \"ObjectRemoved:*\",\n        ],\n        \"filter_rules\": [\n            {\n                \"name\": \"prefix\",\n                \"value\": \"smn\",\n            },\n            {\n                \"name\": \"suffix\",\n                \"value\": \".jpg\",\n            },\n        ],\n    }],\n    opts = pulumi.ResourceOptions(depends_on=[policy]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var topic = new Opentelekomcloud.SmnTopicV2(\"topic\", new()\n    {\n        Name = \"obs-notifications\",\n        DisplayName = \"The display name of topic_1\",\n    });\n\n    var policy = new Opentelekomcloud.SmnTopicAttributeV2(\"policy\", new()\n    {\n        TopicUrn = topic.SmnTopicV2Id,\n        AttributeName = \"access_policy\",\n        TopicAttribute = topic.SmnTopicV2Id.Apply(smnTopicV2Id =\u003e @$\"{{\n  \\\"\"Version\\\"\": \\\"\"2016-09-07\\\"\",\n  \\\"\"Id\\\"\": \\\"\"__default_policy_ID\\\"\",\n  \\\"\"Statement\\\"\": [\n    {{\n      \\\"\"Sid\\\"\": \\\"\"__service_pub_0\\\"\",\n      \\\"\"Effect\\\"\": \\\"\"Allow\\\"\",\n      \\\"\"Principal\\\"\": {{\n        \\\"\"Service\\\"\": [\n          \\\"\"obs\\\"\",\n          \\\"\"s3\\\"\"\n        ]\n      }},\n      \\\"\"Action\\\"\": [\n        \\\"\"SMN:Publish\\\"\",\n        \\\"\"SMN:QueryTopicDetail\\\"\"\n      ],\n      \\\"\"Resource\\\"\": \\\"\"{smnTopicV2Id}\\\"\"\n    }}\n  ]\n}}\n\"),\n    });\n\n    var bucket = new Opentelekomcloud.ObsBucket(\"bucket\", new()\n    {\n        Bucket = \"tf-test-bucket-%[1]d\",\n        Acl = \"private\",\n        EventNotifications = new[]\n        {\n            new Opentelekomcloud.Inputs.ObsBucketEventNotificationArgs\n            {\n                Topic = topic.SmnTopicV2Id,\n                Events = new[]\n                {\n                    \"ObjectCreated:*\",\n                    \"ObjectRemoved:*\",\n                },\n                FilterRules = new[]\n                {\n                    new Opentelekomcloud.Inputs.ObsBucketEventNotificationFilterRuleArgs\n                    {\n                        Name = \"prefix\",\n                        Value = \"smn\",\n                    },\n                    new Opentelekomcloud.Inputs.ObsBucketEventNotificationFilterRuleArgs\n                    {\n                        Name = \"suffix\",\n                        Value = \".jpg\",\n                    },\n                },\n            },\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            policy,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttopic, err := opentelekomcloud.NewSmnTopicV2(ctx, \"topic\", \u0026opentelekomcloud.SmnTopicV2Args{\n\t\t\tName:        pulumi.String(\"obs-notifications\"),\n\t\t\tDisplayName: pulumi.String(\"The display name of topic_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpolicy, err := opentelekomcloud.NewSmnTopicAttributeV2(ctx, \"policy\", \u0026opentelekomcloud.SmnTopicAttributeV2Args{\n\t\t\tTopicUrn:      topic.SmnTopicV2Id,\n\t\t\tAttributeName: pulumi.String(\"access_policy\"),\n\t\t\tTopicAttribute: topic.SmnTopicV2Id.ApplyT(func(smnTopicV2Id string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(`{\n  \\\"Version\\\": \\\"2016-09-07\\\",\n  \\\"Id\\\": \\\"__default_policy_ID\\\",\n  \\\"Statement\\\": [\n    {\n      \\\"Sid\\\": \\\"__service_pub_0\\\",\n      \\\"Effect\\\": \\\"Allow\\\",\n      \\\"Principal\\\": {\n        \\\"Service\\\": [\n          \\\"obs\\\",\n          \\\"s3\\\"\n        ]\n      },\n      \\\"Action\\\": [\n        \\\"SMN:Publish\\\",\n        \\\"SMN:QueryTopicDetail\\\"\n      ],\n      \\\"Resource\\\": \\\"%v\\\"\n    }\n  ]\n}\n`, smnTopicV2Id), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewObsBucket(ctx, \"bucket\", \u0026opentelekomcloud.ObsBucketArgs{\n\t\t\tBucket: pulumi.String(\"tf-test-bucket-%[1]d\"),\n\t\t\tAcl:    pulumi.String(\"private\"),\n\t\t\tEventNotifications: opentelekomcloud.ObsBucketEventNotificationArray{\n\t\t\t\t\u0026opentelekomcloud.ObsBucketEventNotificationArgs{\n\t\t\t\t\tTopic: topic.SmnTopicV2Id,\n\t\t\t\t\tEvents: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"ObjectCreated:*\"),\n\t\t\t\t\t\tpulumi.String(\"ObjectRemoved:*\"),\n\t\t\t\t\t},\n\t\t\t\t\tFilterRules: opentelekomcloud.ObsBucketEventNotificationFilterRuleArray{\n\t\t\t\t\t\t\u0026opentelekomcloud.ObsBucketEventNotificationFilterRuleArgs{\n\t\t\t\t\t\t\tName:  pulumi.String(\"prefix\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"smn\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026opentelekomcloud.ObsBucketEventNotificationFilterRuleArgs{\n\t\t\t\t\t\t\tName:  pulumi.String(\"suffix\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\".jpg\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tpolicy,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.SmnTopicV2;\nimport com.pulumi.opentelekomcloud.SmnTopicV2Args;\nimport com.pulumi.opentelekomcloud.SmnTopicAttributeV2;\nimport com.pulumi.opentelekomcloud.SmnTopicAttributeV2Args;\nimport com.pulumi.opentelekomcloud.ObsBucket;\nimport com.pulumi.opentelekomcloud.ObsBucketArgs;\nimport com.pulumi.opentelekomcloud.inputs.ObsBucketEventNotificationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var topic = new SmnTopicV2(\"topic\", SmnTopicV2Args.builder()\n            .name(\"obs-notifications\")\n            .displayName(\"The display name of topic_1\")\n            .build());\n\n        var policy = new SmnTopicAttributeV2(\"policy\", SmnTopicAttributeV2Args.builder()\n            .topicUrn(topic.smnTopicV2Id())\n            .attributeName(\"access_policy\")\n            .topicAttribute(topic.smnTopicV2Id().applyValue(_smnTopicV2Id -\u003e \"\"\"\n{\n  \\\"Version\\\": \\\"2016-09-07\\\",\n  \\\"Id\\\": \\\"__default_policy_ID\\\",\n  \\\"Statement\\\": [\n    {\n      \\\"Sid\\\": \\\"__service_pub_0\\\",\n      \\\"Effect\\\": \\\"Allow\\\",\n      \\\"Principal\\\": {\n        \\\"Service\\\": [\n          \\\"obs\\\",\n          \\\"s3\\\"\n        ]\n      },\n      \\\"Action\\\": [\n        \\\"SMN:Publish\\\",\n        \\\"SMN:QueryTopicDetail\\\"\n      ],\n      \\\"Resource\\\": \\\"%s\\\"\n    }\n  ]\n}\n\", _smnTopicV2Id)))\n            .build());\n\n        var bucket = new ObsBucket(\"bucket\", ObsBucketArgs.builder()\n            .bucket(\"tf-test-bucket-%[1]d\")\n            .acl(\"private\")\n            .eventNotifications(ObsBucketEventNotificationArgs.builder()\n                .topic(topic.smnTopicV2Id())\n                .events(                \n                    \"ObjectCreated:*\",\n                    \"ObjectRemoved:*\")\n                .filterRules(                \n                    ObsBucketEventNotificationFilterRuleArgs.builder()\n                        .name(\"prefix\")\n                        .value(\"smn\")\n                        .build(),\n                    ObsBucketEventNotificationFilterRuleArgs.builder()\n                        .name(\"suffix\")\n                        .value(\".jpg\")\n                        .build())\n                .build())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(policy)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  topic:\n    type: opentelekomcloud:SmnTopicV2\n    properties:\n      name: obs-notifications\n      displayName: The display name of topic_1\n  policy:\n    type: opentelekomcloud:SmnTopicAttributeV2\n    properties:\n      topicUrn: ${topic.smnTopicV2Id}\n      attributeName: access_policy\n      topicAttribute: |\n        {\n          \\\"Version\\\": \\\"2016-09-07\\\",\n          \\\"Id\\\": \\\"__default_policy_ID\\\",\n          \\\"Statement\\\": [\n            {\n              \\\"Sid\\\": \\\"__service_pub_0\\\",\n              \\\"Effect\\\": \\\"Allow\\\",\n              \\\"Principal\\\": {\n                \\\"Service\\\": [\n                  \\\"obs\\\",\n                  \\\"s3\\\"\n                ]\n              },\n              \\\"Action\\\": [\n                \\\"SMN:Publish\\\",\n                \\\"SMN:QueryTopicDetail\\\"\n              ],\n              \\\"Resource\\\": \\\"${topic.smnTopicV2Id}\\\"\n            }\n          ]\n        }\n  bucket:\n    type: opentelekomcloud:ObsBucket\n    properties:\n      bucket: tf-test-bucket-%[1]d\n      acl: private\n      eventNotifications:\n        - topic: ${topic.smnTopicV2Id}\n          events:\n            - ObjectCreated:*\n            - ObjectRemoved:*\n          filterRules:\n            - name: prefix\n              value: smn\n            - name: suffix\n              value: .jpg\n    options:\n      dependsOn:\n        - ${policy}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Bucket with set user domain names\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst b = new opentelekomcloud.ObsBucket(\"b\", {\n    bucket: \"my-tf-test-bucket\",\n    userDomainNames: [\n        domain1,\n        domain2,\n        domain3,\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nb = opentelekomcloud.ObsBucket(\"b\",\n    bucket=\"my-tf-test-bucket\",\n    user_domain_names=[\n        domain1,\n        domain2,\n        domain3,\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var b = new Opentelekomcloud.ObsBucket(\"b\", new()\n    {\n        Bucket = \"my-tf-test-bucket\",\n        UserDomainNames = new[]\n        {\n            domain1,\n            domain2,\n            domain3,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewObsBucket(ctx, \"b\", \u0026opentelekomcloud.ObsBucketArgs{\n\t\t\tBucket: pulumi.String(\"my-tf-test-bucket\"),\n\t\t\tUserDomainNames: pulumi.StringArray{\n\t\t\t\tdomain1,\n\t\t\t\tdomain2,\n\t\t\t\tdomain3,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ObsBucket;\nimport com.pulumi.opentelekomcloud.ObsBucketArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var b = new ObsBucket(\"b\", ObsBucketArgs.builder()\n            .bucket(\"my-tf-test-bucket\")\n            .userDomainNames(            \n                domain1,\n                domain2,\n                domain3)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  b:\n    type: opentelekomcloud:ObsBucket\n    properties:\n      bucket: my-tf-test-bucket\n      userDomainNames:\n        - ${domain1}\n        - ${domain2}\n        - ${domain3}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nOBS bucket can be imported using the `bucket`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/obsBucket:ObsBucket bucket bucket-name\n```\n\n","properties":{"acl":{"type":"string","description":"Specifies the ACL policy for a bucket. The predefined common policies are as follows:\n\u003cspan pulumi-lang-nodejs=\"`private`\" pulumi-lang-dotnet=\"`Private`\" pulumi-lang-go=\"`private`\" pulumi-lang-python=\"`private`\" pulumi-lang-yaml=\"`private`\" pulumi-lang-java=\"`private`\"\u003e`private`\u003c/span\u003e, `public-read`, `public-read-write` and `log-delivery-write`. Defaults to \u003cspan pulumi-lang-nodejs=\"`private`\" pulumi-lang-dotnet=\"`Private`\" pulumi-lang-go=\"`private`\" pulumi-lang-python=\"`private`\" pulumi-lang-yaml=\"`private`\" pulumi-lang-java=\"`private`\"\u003e`private`\u003c/span\u003e.\n"},"bucket":{"type":"string","description":"Specifies the name of the bucket. Changing this parameter will create a new resource.\nA bucket must be named according to the globally applied DNS naming regulations as follows:\n* The name must be globally unique in OBS.\n* The name must contain 3 to 63 characters. Only lowercase letters, digits, hyphens (-), and periods (.) are allowed.\n* The name cannot start or end with a period (.) or hyphen (-), and cannot contain two consecutive periods (.)\nor contain a period (.) and a hyphen (-) adjacent to each other.\n* The name cannot be an IP address.\n* If the name contains any periods (.), a security certificate verification message may appear when you access\nthe bucket or its objects by entering a domain name.\n"},"bucketDomainName":{"type":"string","description":"The bucket domain name. Will be of format `bucketname.obs.region.otc.t-systems.com`.\n"},"bucketVersion":{"type":"string","description":"The OBS version of the bucket.\n"},"corsRules":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FObsBucketCorsRule:ObsBucketCorsRule"},"description":"A rule of Cross-Origin Resource Sharing (documented below).\n"},"eventNotifications":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FObsBucketEventNotification:ObsBucketEventNotification"},"description":"A configuration of bucket event notifications (documented below).\n"},"forceDestroy":{"type":"boolean","description":"A boolean that indicates all objects should be deleted from the bucket so that the\nbucket can be destroyed without error. Default to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"lifecycleRules":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FObsBucketLifecycleRule:ObsBucketLifecycleRule"},"description":"A configuration of object lifecycle management (documented below).\n"},"loggings":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FObsBucketLogging:ObsBucketLogging"},"description":"A settings of bucket logging (documented below).\n"},"obsBucketId":{"type":"string","description":"The name of the bucket.\n"},"parallelFs":{"type":"boolean","description":"Whether enable a bucket as a parallel file system.\n"},"region":{"type":"string","description":"If specified, the region this bucket should reside in. Otherwise,\nthe region used by the provider.\n"},"serverSideEncryption":{"$ref":"#/types/opentelekomcloud:index%2FObsBucketServerSideEncryption:ObsBucketServerSideEncryption","description":"A configuration of server side encryption (documented below).\n"},"storageClass":{"type":"string","description":"Specifies the storage class of the bucket. OBS provides three storage classes:\n`STANDARD`, `WARM` (Infrequent Access) and `COLD` (Archive). Defaults to `STANDARD`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the bucket. Each tag is represented by one key-value pair.\n"},"userDomainNames":{"type":"array","items":{"type":"string"},"description":"Specifies the user domain names. The restriction requirements for this field\nare as follows:\n+ Each value must meet the domain name rules.\n+ The maximum length of a domain name is 256 characters.\n+ A custom domain name can only be used by one bucket.\n\n\u003e When creating or updating the OBS bucket user domain names, the original user domain names will be overwritten.\n"},"versioning":{"type":"boolean","description":"Set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e to enable versioning. Once you version-enable a bucket, it can never return to an\nunversioned state. You can, however, suspend versioning on that bucket. If omitted, during bucket\ncreation it will be in `Disabled` state.\n"},"website":{"$ref":"#/types/opentelekomcloud:index%2FObsBucketWebsite:ObsBucketWebsite","description":"A website object (documented below).\n"},"wormPolicy":{"$ref":"#/types/opentelekomcloud:index%2FObsBucketWormPolicy:ObsBucketWormPolicy","description":"A settings of bucket default WORM policy and a retention period (documented below).\n\u003cspan pulumi-lang-nodejs=\"`wormPolicy`\" pulumi-lang-dotnet=\"`WormPolicy`\" pulumi-lang-go=\"`wormPolicy`\" pulumi-lang-python=\"`worm_policy`\" pulumi-lang-yaml=\"`wormPolicy`\" pulumi-lang-java=\"`wormPolicy`\"\u003e`worm_policy`\u003c/span\u003e requires \u003cspan pulumi-lang-nodejs=\"`versioning`\" pulumi-lang-dotnet=\"`Versioning`\" pulumi-lang-go=\"`versioning`\" pulumi-lang-python=\"`versioning`\" pulumi-lang-yaml=\"`versioning`\" pulumi-lang-java=\"`versioning`\"\u003e`versioning`\u003c/span\u003e to be enabled.\n"}},"type":"object","required":["bucket","bucketDomainName","bucketVersion","obsBucketId","region","userDomainNames"],"inputProperties":{"acl":{"type":"string","description":"Specifies the ACL policy for a bucket. The predefined common policies are as follows:\n\u003cspan pulumi-lang-nodejs=\"`private`\" pulumi-lang-dotnet=\"`Private`\" pulumi-lang-go=\"`private`\" pulumi-lang-python=\"`private`\" pulumi-lang-yaml=\"`private`\" pulumi-lang-java=\"`private`\"\u003e`private`\u003c/span\u003e, `public-read`, `public-read-write` and `log-delivery-write`. Defaults to \u003cspan pulumi-lang-nodejs=\"`private`\" pulumi-lang-dotnet=\"`Private`\" pulumi-lang-go=\"`private`\" pulumi-lang-python=\"`private`\" pulumi-lang-yaml=\"`private`\" pulumi-lang-java=\"`private`\"\u003e`private`\u003c/span\u003e.\n"},"bucket":{"type":"string","description":"Specifies the name of the bucket. Changing this parameter will create a new resource.\nA bucket must be named according to the globally applied DNS naming regulations as follows:\n* The name must be globally unique in OBS.\n* The name must contain 3 to 63 characters. Only lowercase letters, digits, hyphens (-), and periods (.) are allowed.\n* The name cannot start or end with a period (.) or hyphen (-), and cannot contain two consecutive periods (.)\nor contain a period (.) and a hyphen (-) adjacent to each other.\n* The name cannot be an IP address.\n* If the name contains any periods (.), a security certificate verification message may appear when you access\nthe bucket or its objects by entering a domain name.\n"},"corsRules":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FObsBucketCorsRule:ObsBucketCorsRule"},"description":"A rule of Cross-Origin Resource Sharing (documented below).\n"},"eventNotifications":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FObsBucketEventNotification:ObsBucketEventNotification"},"description":"A configuration of bucket event notifications (documented below).\n"},"forceDestroy":{"type":"boolean","description":"A boolean that indicates all objects should be deleted from the bucket so that the\nbucket can be destroyed without error. Default to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"lifecycleRules":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FObsBucketLifecycleRule:ObsBucketLifecycleRule"},"description":"A configuration of object lifecycle management (documented below).\n"},"loggings":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FObsBucketLogging:ObsBucketLogging"},"description":"A settings of bucket logging (documented below).\n"},"obsBucketId":{"type":"string","description":"The name of the bucket.\n"},"parallelFs":{"type":"boolean","description":"Whether enable a bucket as a parallel file system.\n"},"region":{"type":"string","description":"If specified, the region this bucket should reside in. Otherwise,\nthe region used by the provider.\n"},"serverSideEncryption":{"$ref":"#/types/opentelekomcloud:index%2FObsBucketServerSideEncryption:ObsBucketServerSideEncryption","description":"A configuration of server side encryption (documented below).\n"},"storageClass":{"type":"string","description":"Specifies the storage class of the bucket. OBS provides three storage classes:\n`STANDARD`, `WARM` (Infrequent Access) and `COLD` (Archive). Defaults to `STANDARD`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the bucket. Each tag is represented by one key-value pair.\n"},"userDomainNames":{"type":"array","items":{"type":"string"},"description":"Specifies the user domain names. The restriction requirements for this field\nare as follows:\n+ Each value must meet the domain name rules.\n+ The maximum length of a domain name is 256 characters.\n+ A custom domain name can only be used by one bucket.\n\n\u003e When creating or updating the OBS bucket user domain names, the original user domain names will be overwritten.\n"},"versioning":{"type":"boolean","description":"Set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e to enable versioning. Once you version-enable a bucket, it can never return to an\nunversioned state. You can, however, suspend versioning on that bucket. If omitted, during bucket\ncreation it will be in `Disabled` state.\n"},"website":{"$ref":"#/types/opentelekomcloud:index%2FObsBucketWebsite:ObsBucketWebsite","description":"A website object (documented below).\n"},"wormPolicy":{"$ref":"#/types/opentelekomcloud:index%2FObsBucketWormPolicy:ObsBucketWormPolicy","description":"A settings of bucket default WORM policy and a retention period (documented below).\n\u003cspan pulumi-lang-nodejs=\"`wormPolicy`\" pulumi-lang-dotnet=\"`WormPolicy`\" pulumi-lang-go=\"`wormPolicy`\" pulumi-lang-python=\"`worm_policy`\" pulumi-lang-yaml=\"`wormPolicy`\" pulumi-lang-java=\"`wormPolicy`\"\u003e`worm_policy`\u003c/span\u003e requires \u003cspan pulumi-lang-nodejs=\"`versioning`\" pulumi-lang-dotnet=\"`Versioning`\" pulumi-lang-go=\"`versioning`\" pulumi-lang-python=\"`versioning`\" pulumi-lang-yaml=\"`versioning`\" pulumi-lang-java=\"`versioning`\"\u003e`versioning`\u003c/span\u003e to be enabled.\n"}},"requiredInputs":["bucket"],"stateInputs":{"description":"Input properties used for looking up and filtering ObsBucket resources.\n","properties":{"acl":{"type":"string","description":"Specifies the ACL policy for a bucket. The predefined common policies are as follows:\n\u003cspan pulumi-lang-nodejs=\"`private`\" pulumi-lang-dotnet=\"`Private`\" pulumi-lang-go=\"`private`\" pulumi-lang-python=\"`private`\" pulumi-lang-yaml=\"`private`\" pulumi-lang-java=\"`private`\"\u003e`private`\u003c/span\u003e, `public-read`, `public-read-write` and `log-delivery-write`. Defaults to \u003cspan pulumi-lang-nodejs=\"`private`\" pulumi-lang-dotnet=\"`Private`\" pulumi-lang-go=\"`private`\" pulumi-lang-python=\"`private`\" pulumi-lang-yaml=\"`private`\" pulumi-lang-java=\"`private`\"\u003e`private`\u003c/span\u003e.\n"},"bucket":{"type":"string","description":"Specifies the name of the bucket. Changing this parameter will create a new resource.\nA bucket must be named according to the globally applied DNS naming regulations as follows:\n* The name must be globally unique in OBS.\n* The name must contain 3 to 63 characters. Only lowercase letters, digits, hyphens (-), and periods (.) are allowed.\n* The name cannot start or end with a period (.) or hyphen (-), and cannot contain two consecutive periods (.)\nor contain a period (.) and a hyphen (-) adjacent to each other.\n* The name cannot be an IP address.\n* If the name contains any periods (.), a security certificate verification message may appear when you access\nthe bucket or its objects by entering a domain name.\n"},"bucketDomainName":{"type":"string","description":"The bucket domain name. Will be of format `bucketname.obs.region.otc.t-systems.com`.\n"},"bucketVersion":{"type":"string","description":"The OBS version of the bucket.\n"},"corsRules":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FObsBucketCorsRule:ObsBucketCorsRule"},"description":"A rule of Cross-Origin Resource Sharing (documented below).\n"},"eventNotifications":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FObsBucketEventNotification:ObsBucketEventNotification"},"description":"A configuration of bucket event notifications (documented below).\n"},"forceDestroy":{"type":"boolean","description":"A boolean that indicates all objects should be deleted from the bucket so that the\nbucket can be destroyed without error. Default to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"lifecycleRules":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FObsBucketLifecycleRule:ObsBucketLifecycleRule"},"description":"A configuration of object lifecycle management (documented below).\n"},"loggings":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FObsBucketLogging:ObsBucketLogging"},"description":"A settings of bucket logging (documented below).\n"},"obsBucketId":{"type":"string","description":"The name of the bucket.\n"},"parallelFs":{"type":"boolean","description":"Whether enable a bucket as a parallel file system.\n"},"region":{"type":"string","description":"If specified, the region this bucket should reside in. Otherwise,\nthe region used by the provider.\n"},"serverSideEncryption":{"$ref":"#/types/opentelekomcloud:index%2FObsBucketServerSideEncryption:ObsBucketServerSideEncryption","description":"A configuration of server side encryption (documented below).\n"},"storageClass":{"type":"string","description":"Specifies the storage class of the bucket. OBS provides three storage classes:\n`STANDARD`, `WARM` (Infrequent Access) and `COLD` (Archive). Defaults to `STANDARD`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the bucket. Each tag is represented by one key-value pair.\n"},"userDomainNames":{"type":"array","items":{"type":"string"},"description":"Specifies the user domain names. The restriction requirements for this field\nare as follows:\n+ Each value must meet the domain name rules.\n+ The maximum length of a domain name is 256 characters.\n+ A custom domain name can only be used by one bucket.\n\n\u003e When creating or updating the OBS bucket user domain names, the original user domain names will be overwritten.\n"},"versioning":{"type":"boolean","description":"Set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e to enable versioning. Once you version-enable a bucket, it can never return to an\nunversioned state. You can, however, suspend versioning on that bucket. If omitted, during bucket\ncreation it will be in `Disabled` state.\n"},"website":{"$ref":"#/types/opentelekomcloud:index%2FObsBucketWebsite:ObsBucketWebsite","description":"A website object (documented below).\n"},"wormPolicy":{"$ref":"#/types/opentelekomcloud:index%2FObsBucketWormPolicy:ObsBucketWormPolicy","description":"A settings of bucket default WORM policy and a retention period (documented below).\n\u003cspan pulumi-lang-nodejs=\"`wormPolicy`\" pulumi-lang-dotnet=\"`WormPolicy`\" pulumi-lang-go=\"`wormPolicy`\" pulumi-lang-python=\"`worm_policy`\" pulumi-lang-yaml=\"`wormPolicy`\" pulumi-lang-java=\"`wormPolicy`\"\u003e`worm_policy`\u003c/span\u003e requires \u003cspan pulumi-lang-nodejs=\"`versioning`\" pulumi-lang-dotnet=\"`Versioning`\" pulumi-lang-go=\"`versioning`\" pulumi-lang-python=\"`versioning`\" pulumi-lang-yaml=\"`versioning`\" pulumi-lang-java=\"`versioning`\"\u003e`versioning`\u003c/span\u003e to be enabled.\n"}},"type":"object"}},"opentelekomcloud:index/obsBucketAcl:ObsBucketAcl":{"description":"Manages an OBS bucket acl resource within OpenTelekomCloud.\n\n\u003e **NOTE:** When creating or updating the OBS bucket acl, the original bucket acl will be overwritten. When deleting\nthe OBS bucket acl, the full permissions of the bucket owner will be set, and the other permissions will be removed.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst bucket = config.requireObject\u003cany\u003e(\"bucket\");\nconst account1 = config.requireObject\u003cany\u003e(\"account1\");\nconst account2 = config.requireObject\u003cany\u003e(\"account2\");\nconst test = new opentelekomcloud.ObsBucketAcl(\"test\", {\n    bucket: bucket,\n    ownerPermission: {\n        accessToBuckets: [\n            \"READ\",\n            \"WRITE\",\n        ],\n        accessToAcls: [\n            \"READ_ACP\",\n            \"WRITE_ACP\",\n        ],\n    },\n    accountPermissions: [\n        {\n            accessToBuckets: [\n                \"READ\",\n                \"WRITE\",\n            ],\n            accessToAcls: [\n                \"READ_ACP\",\n                \"WRITE_ACP\",\n            ],\n            accountId: account1,\n        },\n        {\n            accessToBuckets: [\"READ\"],\n            accessToAcls: [\n                \"READ_ACP\",\n                \"WRITE_ACP\",\n            ],\n            accountId: account2,\n        },\n    ],\n    publicPermission: {\n        accessToBuckets: [\n            \"READ\",\n            \"WRITE\",\n        ],\n    },\n    logDeliveryUserPermission: {\n        accessToBuckets: [\n            \"READ\",\n            \"WRITE\",\n        ],\n        accessToAcls: [\n            \"READ_ACP\",\n            \"WRITE_ACP\",\n        ],\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nbucket = config.require_object(\"bucket\")\naccount1 = config.require_object(\"account1\")\naccount2 = config.require_object(\"account2\")\ntest = opentelekomcloud.ObsBucketAcl(\"test\",\n    bucket=bucket,\n    owner_permission={\n        \"access_to_buckets\": [\n            \"READ\",\n            \"WRITE\",\n        ],\n        \"access_to_acls\": [\n            \"READ_ACP\",\n            \"WRITE_ACP\",\n        ],\n    },\n    account_permissions=[\n        {\n            \"access_to_buckets\": [\n                \"READ\",\n                \"WRITE\",\n            ],\n            \"access_to_acls\": [\n                \"READ_ACP\",\n                \"WRITE_ACP\",\n            ],\n            \"account_id\": account1,\n        },\n        {\n            \"access_to_buckets\": [\"READ\"],\n            \"access_to_acls\": [\n                \"READ_ACP\",\n                \"WRITE_ACP\",\n            ],\n            \"account_id\": account2,\n        },\n    ],\n    public_permission={\n        \"access_to_buckets\": [\n            \"READ\",\n            \"WRITE\",\n        ],\n    },\n    log_delivery_user_permission={\n        \"access_to_buckets\": [\n            \"READ\",\n            \"WRITE\",\n        ],\n        \"access_to_acls\": [\n            \"READ_ACP\",\n            \"WRITE_ACP\",\n        ],\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var bucket = config.RequireObject\u003cdynamic\u003e(\"bucket\");\n    var account1 = config.RequireObject\u003cdynamic\u003e(\"account1\");\n    var account2 = config.RequireObject\u003cdynamic\u003e(\"account2\");\n    var test = new Opentelekomcloud.ObsBucketAcl(\"test\", new()\n    {\n        Bucket = bucket,\n        OwnerPermission = new Opentelekomcloud.Inputs.ObsBucketAclOwnerPermissionArgs\n        {\n            AccessToBuckets = new[]\n            {\n                \"READ\",\n                \"WRITE\",\n            },\n            AccessToAcls = new[]\n            {\n                \"READ_ACP\",\n                \"WRITE_ACP\",\n            },\n        },\n        AccountPermissions = new[]\n        {\n            new Opentelekomcloud.Inputs.ObsBucketAclAccountPermissionArgs\n            {\n                AccessToBuckets = new[]\n                {\n                    \"READ\",\n                    \"WRITE\",\n                },\n                AccessToAcls = new[]\n                {\n                    \"READ_ACP\",\n                    \"WRITE_ACP\",\n                },\n                AccountId = account1,\n            },\n            new Opentelekomcloud.Inputs.ObsBucketAclAccountPermissionArgs\n            {\n                AccessToBuckets = new[]\n                {\n                    \"READ\",\n                },\n                AccessToAcls = new[]\n                {\n                    \"READ_ACP\",\n                    \"WRITE_ACP\",\n                },\n                AccountId = account2,\n            },\n        },\n        PublicPermission = new Opentelekomcloud.Inputs.ObsBucketAclPublicPermissionArgs\n        {\n            AccessToBuckets = new[]\n            {\n                \"READ\",\n                \"WRITE\",\n            },\n        },\n        LogDeliveryUserPermission = new Opentelekomcloud.Inputs.ObsBucketAclLogDeliveryUserPermissionArgs\n        {\n            AccessToBuckets = new[]\n            {\n                \"READ\",\n                \"WRITE\",\n            },\n            AccessToAcls = new[]\n            {\n                \"READ_ACP\",\n                \"WRITE_ACP\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tbucket := cfg.RequireObject(\"bucket\")\n\t\taccount1 := cfg.RequireObject(\"account1\")\n\t\taccount2 := cfg.RequireObject(\"account2\")\n\t\t_, err := opentelekomcloud.NewObsBucketAcl(ctx, \"test\", \u0026opentelekomcloud.ObsBucketAclArgs{\n\t\t\tBucket: pulumi.Any(bucket),\n\t\t\tOwnerPermission: \u0026opentelekomcloud.ObsBucketAclOwnerPermissionArgs{\n\t\t\t\tAccessToBuckets: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"READ\"),\n\t\t\t\t\tpulumi.String(\"WRITE\"),\n\t\t\t\t},\n\t\t\t\tAccessToAcls: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"READ_ACP\"),\n\t\t\t\t\tpulumi.String(\"WRITE_ACP\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAccountPermissions: opentelekomcloud.ObsBucketAclAccountPermissionArray{\n\t\t\t\t\u0026opentelekomcloud.ObsBucketAclAccountPermissionArgs{\n\t\t\t\t\tAccessToBuckets: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"READ\"),\n\t\t\t\t\t\tpulumi.String(\"WRITE\"),\n\t\t\t\t\t},\n\t\t\t\t\tAccessToAcls: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"READ_ACP\"),\n\t\t\t\t\t\tpulumi.String(\"WRITE_ACP\"),\n\t\t\t\t\t},\n\t\t\t\t\tAccountId: pulumi.Any(account1),\n\t\t\t\t},\n\t\t\t\t\u0026opentelekomcloud.ObsBucketAclAccountPermissionArgs{\n\t\t\t\t\tAccessToBuckets: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"READ\"),\n\t\t\t\t\t},\n\t\t\t\t\tAccessToAcls: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"READ_ACP\"),\n\t\t\t\t\t\tpulumi.String(\"WRITE_ACP\"),\n\t\t\t\t\t},\n\t\t\t\t\tAccountId: pulumi.Any(account2),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPublicPermission: \u0026opentelekomcloud.ObsBucketAclPublicPermissionArgs{\n\t\t\t\tAccessToBuckets: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"READ\"),\n\t\t\t\t\tpulumi.String(\"WRITE\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLogDeliveryUserPermission: \u0026opentelekomcloud.ObsBucketAclLogDeliveryUserPermissionArgs{\n\t\t\t\tAccessToBuckets: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"READ\"),\n\t\t\t\t\tpulumi.String(\"WRITE\"),\n\t\t\t\t},\n\t\t\t\tAccessToAcls: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"READ_ACP\"),\n\t\t\t\t\tpulumi.String(\"WRITE_ACP\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ObsBucketAcl;\nimport com.pulumi.opentelekomcloud.ObsBucketAclArgs;\nimport com.pulumi.opentelekomcloud.inputs.ObsBucketAclOwnerPermissionArgs;\nimport com.pulumi.opentelekomcloud.inputs.ObsBucketAclAccountPermissionArgs;\nimport com.pulumi.opentelekomcloud.inputs.ObsBucketAclPublicPermissionArgs;\nimport com.pulumi.opentelekomcloud.inputs.ObsBucketAclLogDeliveryUserPermissionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var bucket = config.get(\"bucket\");\n        final var account1 = config.get(\"account1\");\n        final var account2 = config.get(\"account2\");\n        var test = new ObsBucketAcl(\"test\", ObsBucketAclArgs.builder()\n            .bucket(bucket)\n            .ownerPermission(ObsBucketAclOwnerPermissionArgs.builder()\n                .accessToBuckets(                \n                    \"READ\",\n                    \"WRITE\")\n                .accessToAcls(                \n                    \"READ_ACP\",\n                    \"WRITE_ACP\")\n                .build())\n            .accountPermissions(            \n                ObsBucketAclAccountPermissionArgs.builder()\n                    .accessToBuckets(                    \n                        \"READ\",\n                        \"WRITE\")\n                    .accessToAcls(                    \n                        \"READ_ACP\",\n                        \"WRITE_ACP\")\n                    .accountId(account1)\n                    .build(),\n                ObsBucketAclAccountPermissionArgs.builder()\n                    .accessToBuckets(\"READ\")\n                    .accessToAcls(                    \n                        \"READ_ACP\",\n                        \"WRITE_ACP\")\n                    .accountId(account2)\n                    .build())\n            .publicPermission(ObsBucketAclPublicPermissionArgs.builder()\n                .accessToBuckets(                \n                    \"READ\",\n                    \"WRITE\")\n                .build())\n            .logDeliveryUserPermission(ObsBucketAclLogDeliveryUserPermissionArgs.builder()\n                .accessToBuckets(                \n                    \"READ\",\n                    \"WRITE\")\n                .accessToAcls(                \n                    \"READ_ACP\",\n                    \"WRITE_ACP\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  bucket:\n    type: dynamic\n  account1:\n    type: dynamic\n  account2:\n    type: dynamic\nresources:\n  test:\n    type: opentelekomcloud:ObsBucketAcl\n    properties:\n      bucket: ${bucket}\n      ownerPermission:\n        accessToBuckets:\n          - READ\n          - WRITE\n        accessToAcls:\n          - READ_ACP\n          - WRITE_ACP\n      accountPermissions:\n        - accessToBuckets:\n            - READ\n            - WRITE\n          accessToAcls:\n            - READ_ACP\n            - WRITE_ACP\n          accountId: ${account1}\n        - accessToBuckets:\n            - READ\n          accessToAcls:\n            - READ_ACP\n            - WRITE_ACP\n          accountId: ${account2}\n      publicPermission:\n        accessToBuckets:\n          - READ\n          - WRITE\n      logDeliveryUserPermission:\n        accessToBuckets:\n          - READ\n          - WRITE\n        accessToAcls:\n          - READ_ACP\n          - WRITE_ACP\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe obs bucket acl can be imported using the `bucket`, e.g.\n\nbash\n\n```sh\n$ pulumi import opentelekomcloud:index/obsBucketAcl:ObsBucketAcl test \u003cbucket-name\u003e\n```\n\n","properties":{"accountPermissions":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FObsBucketAclAccountPermission:ObsBucketAclAccountPermission"},"description":"Specifies the account permissions.\nThe\u003cspan pulumi-lang-nodejs=\" accountPermissionStruct \" pulumi-lang-dotnet=\" AccountPermissionStruct \" pulumi-lang-go=\" accountPermissionStruct \" pulumi-lang-python=\" account_permission_struct \" pulumi-lang-yaml=\" accountPermissionStruct \" pulumi-lang-java=\" accountPermissionStruct \"\u003e account_permission_struct \u003c/span\u003estructure is documented below.\n\n\u003ca name=\"OBSBucketAcl_permission_struct\"\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`permissionStruct`\" pulumi-lang-dotnet=\"`PermissionStruct`\" pulumi-lang-go=\"`permissionStruct`\" pulumi-lang-python=\"`permission_struct`\" pulumi-lang-yaml=\"`permissionStruct`\" pulumi-lang-java=\"`permissionStruct`\"\u003e`permission_struct`\u003c/span\u003e block supports:\n"},"bucket":{"type":"string","description":"Specifies the name of the bucket to which to set the acl.\n\nChanging this parameter will create a new resource.\n"},"logDeliveryUserPermission":{"$ref":"#/types/opentelekomcloud:index%2FObsBucketAclLogDeliveryUserPermission:ObsBucketAclLogDeliveryUserPermission","description":"Specifies the log delivery user permission.\nThe\u003cspan pulumi-lang-nodejs=\" permissionStruct \" pulumi-lang-dotnet=\" PermissionStruct \" pulumi-lang-go=\" permissionStruct \" pulumi-lang-python=\" permission_struct \" pulumi-lang-yaml=\" permissionStruct \" pulumi-lang-java=\" permissionStruct \"\u003e permission_struct \u003c/span\u003estructure is documented below.\n"},"obsBucketAclId":{"type":"string","description":"The name of the bucket.\n"},"ownerPermission":{"$ref":"#/types/opentelekomcloud:index%2FObsBucketAclOwnerPermission:ObsBucketAclOwnerPermission","description":"Specifies the bucket owner permission. If omitted, the current obs bucket acl\nowner permission will not be changed.\nThe\u003cspan pulumi-lang-nodejs=\" permissionStruct \" pulumi-lang-dotnet=\" PermissionStruct \" pulumi-lang-go=\" permissionStruct \" pulumi-lang-python=\" permission_struct \" pulumi-lang-yaml=\" permissionStruct \" pulumi-lang-java=\" permissionStruct \"\u003e permission_struct \u003c/span\u003estructure is documented below.\n"},"publicPermission":{"$ref":"#/types/opentelekomcloud:index%2FObsBucketAclPublicPermission:ObsBucketAclPublicPermission","description":"Specifies the public permission.\nThe\u003cspan pulumi-lang-nodejs=\" permissionStruct \" pulumi-lang-dotnet=\" PermissionStruct \" pulumi-lang-go=\" permissionStruct \" pulumi-lang-python=\" permission_struct \" pulumi-lang-yaml=\" permissionStruct \" pulumi-lang-java=\" permissionStruct \"\u003e permission_struct \u003c/span\u003estructure is documented below.\n"},"region":{"type":"string","description":"The region in which resource is created.\n"}},"type":"object","required":["bucket","obsBucketAclId","region"],"inputProperties":{"accountPermissions":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FObsBucketAclAccountPermission:ObsBucketAclAccountPermission"},"description":"Specifies the account permissions.\nThe\u003cspan pulumi-lang-nodejs=\" accountPermissionStruct \" pulumi-lang-dotnet=\" AccountPermissionStruct \" pulumi-lang-go=\" accountPermissionStruct \" pulumi-lang-python=\" account_permission_struct \" pulumi-lang-yaml=\" accountPermissionStruct \" pulumi-lang-java=\" accountPermissionStruct \"\u003e account_permission_struct \u003c/span\u003estructure is documented below.\n\n\u003ca name=\"OBSBucketAcl_permission_struct\"\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`permissionStruct`\" pulumi-lang-dotnet=\"`PermissionStruct`\" pulumi-lang-go=\"`permissionStruct`\" pulumi-lang-python=\"`permission_struct`\" pulumi-lang-yaml=\"`permissionStruct`\" pulumi-lang-java=\"`permissionStruct`\"\u003e`permission_struct`\u003c/span\u003e block supports:\n"},"bucket":{"type":"string","description":"Specifies the name of the bucket to which to set the acl.\n\nChanging this parameter will create a new resource.\n"},"logDeliveryUserPermission":{"$ref":"#/types/opentelekomcloud:index%2FObsBucketAclLogDeliveryUserPermission:ObsBucketAclLogDeliveryUserPermission","description":"Specifies the log delivery user permission.\nThe\u003cspan pulumi-lang-nodejs=\" permissionStruct \" pulumi-lang-dotnet=\" PermissionStruct \" pulumi-lang-go=\" permissionStruct \" pulumi-lang-python=\" permission_struct \" pulumi-lang-yaml=\" permissionStruct \" pulumi-lang-java=\" permissionStruct \"\u003e permission_struct \u003c/span\u003estructure is documented below.\n"},"obsBucketAclId":{"type":"string","description":"The name of the bucket.\n"},"ownerPermission":{"$ref":"#/types/opentelekomcloud:index%2FObsBucketAclOwnerPermission:ObsBucketAclOwnerPermission","description":"Specifies the bucket owner permission. If omitted, the current obs bucket acl\nowner permission will not be changed.\nThe\u003cspan pulumi-lang-nodejs=\" permissionStruct \" pulumi-lang-dotnet=\" PermissionStruct \" pulumi-lang-go=\" permissionStruct \" pulumi-lang-python=\" permission_struct \" pulumi-lang-yaml=\" permissionStruct \" pulumi-lang-java=\" permissionStruct \"\u003e permission_struct \u003c/span\u003estructure is documented below.\n"},"publicPermission":{"$ref":"#/types/opentelekomcloud:index%2FObsBucketAclPublicPermission:ObsBucketAclPublicPermission","description":"Specifies the public permission.\nThe\u003cspan pulumi-lang-nodejs=\" permissionStruct \" pulumi-lang-dotnet=\" PermissionStruct \" pulumi-lang-go=\" permissionStruct \" pulumi-lang-python=\" permission_struct \" pulumi-lang-yaml=\" permissionStruct \" pulumi-lang-java=\" permissionStruct \"\u003e permission_struct \u003c/span\u003estructure is documented below.\n"}},"requiredInputs":["bucket"],"stateInputs":{"description":"Input properties used for looking up and filtering ObsBucketAcl resources.\n","properties":{"accountPermissions":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FObsBucketAclAccountPermission:ObsBucketAclAccountPermission"},"description":"Specifies the account permissions.\nThe\u003cspan pulumi-lang-nodejs=\" accountPermissionStruct \" pulumi-lang-dotnet=\" AccountPermissionStruct \" pulumi-lang-go=\" accountPermissionStruct \" pulumi-lang-python=\" account_permission_struct \" pulumi-lang-yaml=\" accountPermissionStruct \" pulumi-lang-java=\" accountPermissionStruct \"\u003e account_permission_struct \u003c/span\u003estructure is documented below.\n\n\u003ca name=\"OBSBucketAcl_permission_struct\"\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`permissionStruct`\" pulumi-lang-dotnet=\"`PermissionStruct`\" pulumi-lang-go=\"`permissionStruct`\" pulumi-lang-python=\"`permission_struct`\" pulumi-lang-yaml=\"`permissionStruct`\" pulumi-lang-java=\"`permissionStruct`\"\u003e`permission_struct`\u003c/span\u003e block supports:\n"},"bucket":{"type":"string","description":"Specifies the name of the bucket to which to set the acl.\n\nChanging this parameter will create a new resource.\n"},"logDeliveryUserPermission":{"$ref":"#/types/opentelekomcloud:index%2FObsBucketAclLogDeliveryUserPermission:ObsBucketAclLogDeliveryUserPermission","description":"Specifies the log delivery user permission.\nThe\u003cspan pulumi-lang-nodejs=\" permissionStruct \" pulumi-lang-dotnet=\" PermissionStruct \" pulumi-lang-go=\" permissionStruct \" pulumi-lang-python=\" permission_struct \" pulumi-lang-yaml=\" permissionStruct \" pulumi-lang-java=\" permissionStruct \"\u003e permission_struct \u003c/span\u003estructure is documented below.\n"},"obsBucketAclId":{"type":"string","description":"The name of the bucket.\n"},"ownerPermission":{"$ref":"#/types/opentelekomcloud:index%2FObsBucketAclOwnerPermission:ObsBucketAclOwnerPermission","description":"Specifies the bucket owner permission. If omitted, the current obs bucket acl\nowner permission will not be changed.\nThe\u003cspan pulumi-lang-nodejs=\" permissionStruct \" pulumi-lang-dotnet=\" PermissionStruct \" pulumi-lang-go=\" permissionStruct \" pulumi-lang-python=\" permission_struct \" pulumi-lang-yaml=\" permissionStruct \" pulumi-lang-java=\" permissionStruct \"\u003e permission_struct \u003c/span\u003estructure is documented below.\n"},"publicPermission":{"$ref":"#/types/opentelekomcloud:index%2FObsBucketAclPublicPermission:ObsBucketAclPublicPermission","description":"Specifies the public permission.\nThe\u003cspan pulumi-lang-nodejs=\" permissionStruct \" pulumi-lang-dotnet=\" PermissionStruct \" pulumi-lang-go=\" permissionStruct \" pulumi-lang-python=\" permission_struct \" pulumi-lang-yaml=\" permissionStruct \" pulumi-lang-java=\" permissionStruct \"\u003e permission_struct \u003c/span\u003estructure is documented below.\n"},"region":{"type":"string","description":"The region in which resource is created.\n"}},"type":"object"}},"opentelekomcloud:index/obsBucketInventory:ObsBucketInventory":{"description":"Up-to-date reference of API arguments for OBS bucket inventory you can get at\n[documentation portal](https://docs.otc.t-systems.com/object-storage-service/api-ref/apis/advanced_bucket_settings/configuring_bucket_inventories.html)\n\nConfigures OBS bucket inventory resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst bucket = new opentelekomcloud.ObsBucket(\"bucket\", {bucket: \"my-tf-test-bucket\"});\nconst inventory = new opentelekomcloud.ObsBucketInventory(\"inventory\", {\n    bucket: bucket.bucket,\n    configurationId: \"test-id\",\n    isEnabled: true,\n    frequency: \"Weekly\",\n    destination: {\n        bucket: bucket.bucket,\n        format: \"CSV\",\n        prefix: \"test-\",\n    },\n    filterPrefix: \"test-filter-prefix\",\n    includedObjectVersions: \"Current\",\n    optionalFields: [\n        \"Size\",\n        \"LastModifiedDate\",\n        \"ReplicationStatus\",\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nbucket = opentelekomcloud.ObsBucket(\"bucket\", bucket=\"my-tf-test-bucket\")\ninventory = opentelekomcloud.ObsBucketInventory(\"inventory\",\n    bucket=bucket.bucket,\n    configuration_id=\"test-id\",\n    is_enabled=True,\n    frequency=\"Weekly\",\n    destination={\n        \"bucket\": bucket.bucket,\n        \"format\": \"CSV\",\n        \"prefix\": \"test-\",\n    },\n    filter_prefix=\"test-filter-prefix\",\n    included_object_versions=\"Current\",\n    optional_fields=[\n        \"Size\",\n        \"LastModifiedDate\",\n        \"ReplicationStatus\",\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var bucket = new Opentelekomcloud.ObsBucket(\"bucket\", new()\n    {\n        Bucket = \"my-tf-test-bucket\",\n    });\n\n    var inventory = new Opentelekomcloud.ObsBucketInventory(\"inventory\", new()\n    {\n        Bucket = bucket.Bucket,\n        ConfigurationId = \"test-id\",\n        IsEnabled = true,\n        Frequency = \"Weekly\",\n        Destination = new Opentelekomcloud.Inputs.ObsBucketInventoryDestinationArgs\n        {\n            Bucket = bucket.Bucket,\n            Format = \"CSV\",\n            Prefix = \"test-\",\n        },\n        FilterPrefix = \"test-filter-prefix\",\n        IncludedObjectVersions = \"Current\",\n        OptionalFields = new[]\n        {\n            \"Size\",\n            \"LastModifiedDate\",\n            \"ReplicationStatus\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tbucket, err := opentelekomcloud.NewObsBucket(ctx, \"bucket\", \u0026opentelekomcloud.ObsBucketArgs{\n\t\t\tBucket: pulumi.String(\"my-tf-test-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewObsBucketInventory(ctx, \"inventory\", \u0026opentelekomcloud.ObsBucketInventoryArgs{\n\t\t\tBucket:          bucket.Bucket,\n\t\t\tConfigurationId: pulumi.String(\"test-id\"),\n\t\t\tIsEnabled:       pulumi.Bool(true),\n\t\t\tFrequency:       pulumi.String(\"Weekly\"),\n\t\t\tDestination: \u0026opentelekomcloud.ObsBucketInventoryDestinationArgs{\n\t\t\t\tBucket: bucket.Bucket,\n\t\t\t\tFormat: pulumi.String(\"CSV\"),\n\t\t\t\tPrefix: pulumi.String(\"test-\"),\n\t\t\t},\n\t\t\tFilterPrefix:           pulumi.String(\"test-filter-prefix\"),\n\t\t\tIncludedObjectVersions: pulumi.String(\"Current\"),\n\t\t\tOptionalFields: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Size\"),\n\t\t\t\tpulumi.String(\"LastModifiedDate\"),\n\t\t\t\tpulumi.String(\"ReplicationStatus\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ObsBucket;\nimport com.pulumi.opentelekomcloud.ObsBucketArgs;\nimport com.pulumi.opentelekomcloud.ObsBucketInventory;\nimport com.pulumi.opentelekomcloud.ObsBucketInventoryArgs;\nimport com.pulumi.opentelekomcloud.inputs.ObsBucketInventoryDestinationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var bucket = new ObsBucket(\"bucket\", ObsBucketArgs.builder()\n            .bucket(\"my-tf-test-bucket\")\n            .build());\n\n        var inventory = new ObsBucketInventory(\"inventory\", ObsBucketInventoryArgs.builder()\n            .bucket(bucket.bucket())\n            .configurationId(\"test-id\")\n            .isEnabled(true)\n            .frequency(\"Weekly\")\n            .destination(ObsBucketInventoryDestinationArgs.builder()\n                .bucket(bucket.bucket())\n                .format(\"CSV\")\n                .prefix(\"test-\")\n                .build())\n            .filterPrefix(\"test-filter-prefix\")\n            .includedObjectVersions(\"Current\")\n            .optionalFields(            \n                \"Size\",\n                \"LastModifiedDate\",\n                \"ReplicationStatus\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  bucket:\n    type: opentelekomcloud:ObsBucket\n    properties:\n      bucket: my-tf-test-bucket\n  inventory:\n    type: opentelekomcloud:ObsBucketInventory\n    properties:\n      bucket: ${bucket.bucket}\n      configurationId: test-id\n      isEnabled: true\n      frequency: Weekly\n      destination:\n        bucket: ${bucket.bucket}\n        format: CSV\n        prefix: test-\n      filterPrefix: test-filter-prefix\n      includedObjectVersions: Current\n      optionalFields:\n        - Size\n        - LastModifiedDate\n        - ReplicationStatus\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nInventories can be imported using related `bucket` and their `configuration_id` separated by the slashes, e.g.\n\nbash\n\n```sh\n$ pulumi import opentelekomcloud:index/obsBucketInventory:ObsBucketInventory inv \u003cbucket\u003e/\u003cconfiguration_id\u003e\n```\n\n","properties":{"bucket":{"type":"string","description":"Name of the bucket for saving inventories.\n"},"configurationId":{"type":"string","description":"ID of the inventory configuration. Valid characters: letters, digits, hyphens (-),\nperiods (.) and underscores (_).\n"},"destination":{"$ref":"#/types/opentelekomcloud:index%2FObsBucketInventoryDestination:ObsBucketInventoryDestination","description":"Destination bucket settings of an inventory.\nThe structure is documented below.\n"},"filterPrefix":{"type":"string","description":"Filtering by name prefix. Only objects with the specified name prefix are included in the inventory.\n"},"frequency":{"type":"string","description":"Intervals when inventories are generated.\nAn inventory is generated within one hour after it is configured for the first time. Then it is generated at the specified intervals.\nPossible values:\n* `Daily`\n* `Weekly`\n"},"includedObjectVersions":{"type":"string","description":"Indicates whether versions of objects are included in an inventory.\nPossible values:\n* `All`\n* `Current`\n"},"isEnabled":{"type":"boolean","description":"Indicates whether the rule is enabled. If this parameter is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the inventory is generated.\n"},"obsBucketInventoryId":{"type":"string"},"optionalFields":{"type":"array","items":{"type":"string"},"description":"Extra metadata fields that can be added to an inventory. If this parameter is configured,\nfields specified in this parameter are contained in the inventory.\nPossible values:\n* `Size`\n* `LastModifiedDate`\n* `ETag`\n* `StorageClass`\n* `IsMultipartUploaded`\n* `ReplicationStatus`\n* `EncryptionStatus`\n"},"region":{"type":"string","description":"Specifies the bucket region.\n"}},"type":"object","required":["bucket","configurationId","destination","filterPrefix","frequency","includedObjectVersions","isEnabled","obsBucketInventoryId","optionalFields","region"],"inputProperties":{"bucket":{"type":"string","description":"Name of the bucket for saving inventories.\n"},"configurationId":{"type":"string","description":"ID of the inventory configuration. Valid characters: letters, digits, hyphens (-),\nperiods (.) and underscores (_).\n"},"destination":{"$ref":"#/types/opentelekomcloud:index%2FObsBucketInventoryDestination:ObsBucketInventoryDestination","description":"Destination bucket settings of an inventory.\nThe structure is documented below.\n"},"filterPrefix":{"type":"string","description":"Filtering by name prefix. Only objects with the specified name prefix are included in the inventory.\n"},"frequency":{"type":"string","description":"Intervals when inventories are generated.\nAn inventory is generated within one hour after it is configured for the first time. Then it is generated at the specified intervals.\nPossible values:\n* `Daily`\n* `Weekly`\n"},"includedObjectVersions":{"type":"string","description":"Indicates whether versions of objects are included in an inventory.\nPossible values:\n* `All`\n* `Current`\n"},"isEnabled":{"type":"boolean","description":"Indicates whether the rule is enabled. If this parameter is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the inventory is generated.\n"},"obsBucketInventoryId":{"type":"string"},"optionalFields":{"type":"array","items":{"type":"string"},"description":"Extra metadata fields that can be added to an inventory. If this parameter is configured,\nfields specified in this parameter are contained in the inventory.\nPossible values:\n* `Size`\n* `LastModifiedDate`\n* `ETag`\n* `StorageClass`\n* `IsMultipartUploaded`\n* `ReplicationStatus`\n* `EncryptionStatus`\n"}},"requiredInputs":["bucket","configurationId","destination","frequency","includedObjectVersions","isEnabled"],"stateInputs":{"description":"Input properties used for looking up and filtering ObsBucketInventory resources.\n","properties":{"bucket":{"type":"string","description":"Name of the bucket for saving inventories.\n"},"configurationId":{"type":"string","description":"ID of the inventory configuration. Valid characters: letters, digits, hyphens (-),\nperiods (.) and underscores (_).\n"},"destination":{"$ref":"#/types/opentelekomcloud:index%2FObsBucketInventoryDestination:ObsBucketInventoryDestination","description":"Destination bucket settings of an inventory.\nThe structure is documented below.\n"},"filterPrefix":{"type":"string","description":"Filtering by name prefix. Only objects with the specified name prefix are included in the inventory.\n"},"frequency":{"type":"string","description":"Intervals when inventories are generated.\nAn inventory is generated within one hour after it is configured for the first time. Then it is generated at the specified intervals.\nPossible values:\n* `Daily`\n* `Weekly`\n"},"includedObjectVersions":{"type":"string","description":"Indicates whether versions of objects are included in an inventory.\nPossible values:\n* `All`\n* `Current`\n"},"isEnabled":{"type":"boolean","description":"Indicates whether the rule is enabled. If this parameter is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the inventory is generated.\n"},"obsBucketInventoryId":{"type":"string"},"optionalFields":{"type":"array","items":{"type":"string"},"description":"Extra metadata fields that can be added to an inventory. If this parameter is configured,\nfields specified in this parameter are contained in the inventory.\nPossible values:\n* `Size`\n* `LastModifiedDate`\n* `ETag`\n* `StorageClass`\n* `IsMultipartUploaded`\n* `ReplicationStatus`\n* `EncryptionStatus`\n"},"region":{"type":"string","description":"Specifies the bucket region.\n"}},"type":"object"}},"opentelekomcloud:index/obsBucketObject:ObsBucketObject":{"description":"Up-to-date reference of API arguments for OBS bucket object you can get at\n[documentation portal](https://docs.otc.t-systems.com/object-storage-service/api-ref/apis/operations_on_objects)\n\nProvides an OBS bucket object resource within OpenTelekomCloud.\nNow respects HTTP_PROXY, HTTPS_PROXY environment variables.\n\n## Example Usage\n\n### Uploading to a bucket\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst object = new opentelekomcloud.ObsBucketObject(\"object\", {\n    bucket: \"your_bucket_name\",\n    key: \"new_key_from_content\",\n    content: \"some object content\",\n    contentType: \"application/xml\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nobject = opentelekomcloud.ObsBucketObject(\"object\",\n    bucket=\"your_bucket_name\",\n    key=\"new_key_from_content\",\n    content=\"some object content\",\n    content_type=\"application/xml\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @object = new Opentelekomcloud.ObsBucketObject(\"object\", new()\n    {\n        Bucket = \"your_bucket_name\",\n        Key = \"new_key_from_content\",\n        Content = \"some object content\",\n        ContentType = \"application/xml\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewObsBucketObject(ctx, \"object\", \u0026opentelekomcloud.ObsBucketObjectArgs{\n\t\t\tBucket:      pulumi.String(\"your_bucket_name\"),\n\t\t\tKey:         pulumi.String(\"new_key_from_content\"),\n\t\t\tContent:     pulumi.String(\"some object content\"),\n\t\t\tContentType: pulumi.String(\"application/xml\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ObsBucketObject;\nimport com.pulumi.opentelekomcloud.ObsBucketObjectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var object = new ObsBucketObject(\"object\", ObsBucketObjectArgs.builder()\n            .bucket(\"your_bucket_name\")\n            .key(\"new_key_from_content\")\n            .content(\"some object content\")\n            .contentType(\"application/xml\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  object:\n    type: opentelekomcloud:ObsBucketObject\n    properties:\n      bucket: your_bucket_name\n      key: new_key_from_content\n      content: some object content\n      contentType: application/xml\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Uploading a file to a bucket\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst examplebucket = new opentelekomcloud.ObsBucket(\"examplebucket\", {\n    bucket: \"examplebuckettftest\",\n    acl: \"private\",\n});\nconst object = new opentelekomcloud.ObsBucketObject(\"object\", {\n    bucket: examplebucket.bucket,\n    key: \"new_key_from_file\",\n    source: \"index.html\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nexamplebucket = opentelekomcloud.ObsBucket(\"examplebucket\",\n    bucket=\"examplebuckettftest\",\n    acl=\"private\")\nobject = opentelekomcloud.ObsBucketObject(\"object\",\n    bucket=examplebucket.bucket,\n    key=\"new_key_from_file\",\n    source=\"index.html\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var examplebucket = new Opentelekomcloud.ObsBucket(\"examplebucket\", new()\n    {\n        Bucket = \"examplebuckettftest\",\n        Acl = \"private\",\n    });\n\n    var @object = new Opentelekomcloud.ObsBucketObject(\"object\", new()\n    {\n        Bucket = examplebucket.Bucket,\n        Key = \"new_key_from_file\",\n        Source = \"index.html\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texamplebucket, err := opentelekomcloud.NewObsBucket(ctx, \"examplebucket\", \u0026opentelekomcloud.ObsBucketArgs{\n\t\t\tBucket: pulumi.String(\"examplebuckettftest\"),\n\t\t\tAcl:    pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewObsBucketObject(ctx, \"object\", \u0026opentelekomcloud.ObsBucketObjectArgs{\n\t\t\tBucket: examplebucket.Bucket,\n\t\t\tKey:    pulumi.String(\"new_key_from_file\"),\n\t\t\tSource: pulumi.String(\"index.html\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ObsBucket;\nimport com.pulumi.opentelekomcloud.ObsBucketArgs;\nimport com.pulumi.opentelekomcloud.ObsBucketObject;\nimport com.pulumi.opentelekomcloud.ObsBucketObjectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var examplebucket = new ObsBucket(\"examplebucket\", ObsBucketArgs.builder()\n            .bucket(\"examplebuckettftest\")\n            .acl(\"private\")\n            .build());\n\n        var object = new ObsBucketObject(\"object\", ObsBucketObjectArgs.builder()\n            .bucket(examplebucket.bucket())\n            .key(\"new_key_from_file\")\n            .source(\"index.html\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  examplebucket:\n    type: opentelekomcloud:ObsBucket\n    properties:\n      bucket: examplebuckettftest\n      acl: private\n  object:\n    type: opentelekomcloud:ObsBucketObject\n    properties:\n      bucket: ${examplebucket.bucket}\n      key: new_key_from_file\n      source: index.html\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Server Side Encryption with OBS Default Master Key\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst examplebucketObject = new opentelekomcloud.ObsBucketObject(\"examplebucket_object\", {\n    bucket: \"your_bucket_name\",\n    key: \"someobject\",\n    source: \"index.html\",\n    encryption: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nexamplebucket_object = opentelekomcloud.ObsBucketObject(\"examplebucket_object\",\n    bucket=\"your_bucket_name\",\n    key=\"someobject\",\n    source=\"index.html\",\n    encryption=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var examplebucketObject = new Opentelekomcloud.ObsBucketObject(\"examplebucket_object\", new()\n    {\n        Bucket = \"your_bucket_name\",\n        Key = \"someobject\",\n        Source = \"index.html\",\n        Encryption = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewObsBucketObject(ctx, \"examplebucket_object\", \u0026opentelekomcloud.ObsBucketObjectArgs{\n\t\t\tBucket:     pulumi.String(\"your_bucket_name\"),\n\t\t\tKey:        pulumi.String(\"someobject\"),\n\t\t\tSource:     pulumi.String(\"index.html\"),\n\t\t\tEncryption: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ObsBucketObject;\nimport com.pulumi.opentelekomcloud.ObsBucketObjectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var examplebucketObject = new ObsBucketObject(\"examplebucketObject\", ObsBucketObjectArgs.builder()\n            .bucket(\"your_bucket_name\")\n            .key(\"someobject\")\n            .source(\"index.html\")\n            .encryption(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  examplebucketObject:\n    type: opentelekomcloud:ObsBucketObject\n    name: examplebucket_object\n    properties:\n      bucket: your_bucket_name\n      key: someobject\n      source: index.html\n      encryption: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"acl":{"type":"string","description":"The ACL policy to apply. Defaults to \u003cspan pulumi-lang-nodejs=\"`private`\" pulumi-lang-dotnet=\"`Private`\" pulumi-lang-go=\"`private`\" pulumi-lang-python=\"`private`\" pulumi-lang-yaml=\"`private`\" pulumi-lang-java=\"`private`\"\u003e`private`\u003c/span\u003e.\n"},"bucket":{"type":"string","description":"The name of the bucket to put the file in.\n"},"content":{"type":"string","description":"The literal content being uploaded to the bucket.\n"},"contentType":{"type":"string","description":"A standard MIME type describing the format of the object data, e.g. application/octet-stream.\nAll Valid MIME Types are valid for this input.\n"},"encryption":{"type":"boolean","description":"Whether enable server-side encryption of the object in SSE-KMS mode.\n"},"etag":{"type":"string","description":"Specifies the unique identifier of the object content. It can be used to trigger updates.\nThe only meaningful value is `md5(file(\u003cspan pulumi-lang-nodejs=\"\"pathToFile\"\" pulumi-lang-dotnet=\"\"PathToFile\"\" pulumi-lang-go=\"\"pathToFile\"\" pulumi-lang-python=\"\"path_to_file\"\" pulumi-lang-yaml=\"\"pathToFile\"\" pulumi-lang-java=\"\"pathToFile\"\"\u003e\"path_to_file\"\u003c/span\u003e))`.\n\nEither \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`content`\" pulumi-lang-dotnet=\"`Content`\" pulumi-lang-go=\"`content`\" pulumi-lang-python=\"`content`\" pulumi-lang-yaml=\"`content`\" pulumi-lang-java=\"`content`\"\u003e`content`\u003c/span\u003e must be provided to specify the bucket content.\nThese two arguments are mutually-exclusive.\n"},"key":{"type":"string","description":"The name of the object once it is in the bucket.\n"},"kmsKeyId":{"type":"string"},"obsBucketObjectId":{"type":"string","description":"the \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\"\u003e`key`\u003c/span\u003e of the resource supplied above.\n"},"size":{"type":"number","description":"the size of the object in bytes.\n"},"source":{"type":"string","description":"The path to the source file being uploaded to the bucket.\n"},"storageClass":{"type":"string","description":"Specifies the storage class of the object. Defaults to `STANDARD`.\n"},"versionId":{"type":"string","description":"A unique version ID value for the object, if bucket versioning is enabled.\n"}},"type":"object","required":["bucket","etag","key","obsBucketObjectId","size","storageClass","versionId"],"inputProperties":{"acl":{"type":"string","description":"The ACL policy to apply. Defaults to \u003cspan pulumi-lang-nodejs=\"`private`\" pulumi-lang-dotnet=\"`Private`\" pulumi-lang-go=\"`private`\" pulumi-lang-python=\"`private`\" pulumi-lang-yaml=\"`private`\" pulumi-lang-java=\"`private`\"\u003e`private`\u003c/span\u003e.\n"},"bucket":{"type":"string","description":"The name of the bucket to put the file in.\n"},"content":{"type":"string","description":"The literal content being uploaded to the bucket.\n"},"contentType":{"type":"string","description":"A standard MIME type describing the format of the object data, e.g. application/octet-stream.\nAll Valid MIME Types are valid for this input.\n"},"encryption":{"type":"boolean","description":"Whether enable server-side encryption of the object in SSE-KMS mode.\n"},"etag":{"type":"string","description":"Specifies the unique identifier of the object content. It can be used to trigger updates.\nThe only meaningful value is `md5(file(\u003cspan pulumi-lang-nodejs=\"\"pathToFile\"\" pulumi-lang-dotnet=\"\"PathToFile\"\" pulumi-lang-go=\"\"pathToFile\"\" pulumi-lang-python=\"\"path_to_file\"\" pulumi-lang-yaml=\"\"pathToFile\"\" pulumi-lang-java=\"\"pathToFile\"\"\u003e\"path_to_file\"\u003c/span\u003e))`.\n\nEither \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`content`\" pulumi-lang-dotnet=\"`Content`\" pulumi-lang-go=\"`content`\" pulumi-lang-python=\"`content`\" pulumi-lang-yaml=\"`content`\" pulumi-lang-java=\"`content`\"\u003e`content`\u003c/span\u003e must be provided to specify the bucket content.\nThese two arguments are mutually-exclusive.\n"},"key":{"type":"string","description":"The name of the object once it is in the bucket.\n"},"kmsKeyId":{"type":"string"},"obsBucketObjectId":{"type":"string","description":"the \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\"\u003e`key`\u003c/span\u003e of the resource supplied above.\n"},"source":{"type":"string","description":"The path to the source file being uploaded to the bucket.\n"},"storageClass":{"type":"string","description":"Specifies the storage class of the object. Defaults to `STANDARD`.\n"}},"requiredInputs":["bucket","key"],"stateInputs":{"description":"Input properties used for looking up and filtering ObsBucketObject resources.\n","properties":{"acl":{"type":"string","description":"The ACL policy to apply. Defaults to \u003cspan pulumi-lang-nodejs=\"`private`\" pulumi-lang-dotnet=\"`Private`\" pulumi-lang-go=\"`private`\" pulumi-lang-python=\"`private`\" pulumi-lang-yaml=\"`private`\" pulumi-lang-java=\"`private`\"\u003e`private`\u003c/span\u003e.\n"},"bucket":{"type":"string","description":"The name of the bucket to put the file in.\n"},"content":{"type":"string","description":"The literal content being uploaded to the bucket.\n"},"contentType":{"type":"string","description":"A standard MIME type describing the format of the object data, e.g. application/octet-stream.\nAll Valid MIME Types are valid for this input.\n"},"encryption":{"type":"boolean","description":"Whether enable server-side encryption of the object in SSE-KMS mode.\n"},"etag":{"type":"string","description":"Specifies the unique identifier of the object content. It can be used to trigger updates.\nThe only meaningful value is `md5(file(\u003cspan pulumi-lang-nodejs=\"\"pathToFile\"\" pulumi-lang-dotnet=\"\"PathToFile\"\" pulumi-lang-go=\"\"pathToFile\"\" pulumi-lang-python=\"\"path_to_file\"\" pulumi-lang-yaml=\"\"pathToFile\"\" pulumi-lang-java=\"\"pathToFile\"\"\u003e\"path_to_file\"\u003c/span\u003e))`.\n\nEither \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`content`\" pulumi-lang-dotnet=\"`Content`\" pulumi-lang-go=\"`content`\" pulumi-lang-python=\"`content`\" pulumi-lang-yaml=\"`content`\" pulumi-lang-java=\"`content`\"\u003e`content`\u003c/span\u003e must be provided to specify the bucket content.\nThese two arguments are mutually-exclusive.\n"},"key":{"type":"string","description":"The name of the object once it is in the bucket.\n"},"kmsKeyId":{"type":"string"},"obsBucketObjectId":{"type":"string","description":"the \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\"\u003e`key`\u003c/span\u003e of the resource supplied above.\n"},"size":{"type":"number","description":"the size of the object in bytes.\n"},"source":{"type":"string","description":"The path to the source file being uploaded to the bucket.\n"},"storageClass":{"type":"string","description":"Specifies the storage class of the object. Defaults to `STANDARD`.\n"},"versionId":{"type":"string","description":"A unique version ID value for the object, if bucket versioning is enabled.\n"}},"type":"object"}},"opentelekomcloud:index/obsBucketObjectAcl:ObsBucketObjectAcl":{"description":"Up-to-date reference of API arguments for OBS bucket object you can get at\n[documentation portal](https://docs.otc.t-systems.com/object-storage-service/api-ref/apis/operations_on_objects)\n\nManages an OBS bucket object acl resource within OpenTelekomCloud.\n\n\u003e **NOTE:** When creating or updating the OBS bucket object acl, the original object acl will be overwritten. When\ndeleting the OBS bucket object acl, only the owner permissions will be retained, and the other permissions will be\nremoved.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nconfiguration:\n  bucket:\n    type: dynamic\n  key:\n    type: dynamic\n  account1:\n    type: dynamic\n  account2:\n    type: dynamic\nresources:\n  test:\n    type: opentelekomcloud:ObsBucketAcl\n    properties:\n      bucket: ${bucket}\n      key: ${key}\n      accountPermissions:\n        - accessToObject:\n            - READ\n          accessToAcls:\n            - READ_ACP\n            - WRITE_ACP\n          accountId: ${account1}\n        - accessToObject:\n            - READ\n          accessToAcls:\n            - READ_ACP\n          accountId: ${account2}\n      publicPermission:\n        accessToAcls:\n          - READ_ACP\n          - WRITE_ACP\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe obs bucket object acl can be imported using `bucket` and `key`, separated by a slash, e.g.\n\nbash\n\n```sh\n$ pulumi import opentelekomcloud:index/obsBucketObjectAcl:ObsBucketObjectAcl test \u003cbucket\u003e/\u003ckey\u003e\n```\n\n","properties":{"accountPermissions":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FObsBucketObjectAclAccountPermission:ObsBucketObjectAclAccountPermission"},"description":"Specifies the object account permissions.\nThe\u003cspan pulumi-lang-nodejs=\" accountPermissionStruct \" pulumi-lang-dotnet=\" AccountPermissionStruct \" pulumi-lang-go=\" accountPermissionStruct \" pulumi-lang-python=\" account_permission_struct \" pulumi-lang-yaml=\" accountPermissionStruct \" pulumi-lang-java=\" accountPermissionStruct \"\u003e account_permission_struct \u003c/span\u003estructure is documented below.\n\n\u003ca name=\"OBSBucketObjectAcl_permission_struct\"\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`permissionStruct`\" pulumi-lang-dotnet=\"`PermissionStruct`\" pulumi-lang-go=\"`permissionStruct`\" pulumi-lang-python=\"`permission_struct`\" pulumi-lang-yaml=\"`permissionStruct`\" pulumi-lang-java=\"`permissionStruct`\"\u003e`permission_struct`\u003c/span\u003e block supports:\n"},"bucket":{"type":"string","description":"Specifies the name of the bucket which the object belongs to.\n\nChanging this parameter will create a new resource.\n"},"key":{"type":"string","description":"Specifies the name of the object to which to set the acl.\n\nChanging this parameter will create a new resource.\n"},"obsBucketObjectAclId":{"type":"string","description":"The name of the bucket object key.\n"},"ownerPermissions":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FObsBucketObjectAclOwnerPermission:ObsBucketObjectAclOwnerPermission"},"description":"The object owner permission information.\nThe\u003cspan pulumi-lang-nodejs=\" ownerPermissionStruct \" pulumi-lang-dotnet=\" OwnerPermissionStruct \" pulumi-lang-go=\" ownerPermissionStruct \" pulumi-lang-python=\" owner_permission_struct \" pulumi-lang-yaml=\" ownerPermissionStruct \" pulumi-lang-java=\" ownerPermissionStruct \"\u003e owner_permission_struct \u003c/span\u003estructure is documented below.\n"},"publicPermission":{"$ref":"#/types/opentelekomcloud:index%2FObsBucketObjectAclPublicPermission:ObsBucketObjectAclPublicPermission","description":"Specifies the object public permission.\nThe\u003cspan pulumi-lang-nodejs=\" permissionStruct \" pulumi-lang-dotnet=\" PermissionStruct \" pulumi-lang-go=\" permissionStruct \" pulumi-lang-python=\" permission_struct \" pulumi-lang-yaml=\" permissionStruct \" pulumi-lang-java=\" permissionStruct \"\u003e permission_struct \u003c/span\u003estructure is documented below.\n"},"region":{"type":"string","description":"The region of the bucket.\n"}},"type":"object","required":["bucket","key","obsBucketObjectAclId","ownerPermissions","region"],"inputProperties":{"accountPermissions":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FObsBucketObjectAclAccountPermission:ObsBucketObjectAclAccountPermission"},"description":"Specifies the object account permissions.\nThe\u003cspan pulumi-lang-nodejs=\" accountPermissionStruct \" pulumi-lang-dotnet=\" AccountPermissionStruct \" pulumi-lang-go=\" accountPermissionStruct \" pulumi-lang-python=\" account_permission_struct \" pulumi-lang-yaml=\" accountPermissionStruct \" pulumi-lang-java=\" accountPermissionStruct \"\u003e account_permission_struct \u003c/span\u003estructure is documented below.\n\n\u003ca name=\"OBSBucketObjectAcl_permission_struct\"\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`permissionStruct`\" pulumi-lang-dotnet=\"`PermissionStruct`\" pulumi-lang-go=\"`permissionStruct`\" pulumi-lang-python=\"`permission_struct`\" pulumi-lang-yaml=\"`permissionStruct`\" pulumi-lang-java=\"`permissionStruct`\"\u003e`permission_struct`\u003c/span\u003e block supports:\n"},"bucket":{"type":"string","description":"Specifies the name of the bucket which the object belongs to.\n\nChanging this parameter will create a new resource.\n"},"key":{"type":"string","description":"Specifies the name of the object to which to set the acl.\n\nChanging this parameter will create a new resource.\n"},"obsBucketObjectAclId":{"type":"string","description":"The name of the bucket object key.\n"},"publicPermission":{"$ref":"#/types/opentelekomcloud:index%2FObsBucketObjectAclPublicPermission:ObsBucketObjectAclPublicPermission","description":"Specifies the object public permission.\nThe\u003cspan pulumi-lang-nodejs=\" permissionStruct \" pulumi-lang-dotnet=\" PermissionStruct \" pulumi-lang-go=\" permissionStruct \" pulumi-lang-python=\" permission_struct \" pulumi-lang-yaml=\" permissionStruct \" pulumi-lang-java=\" permissionStruct \"\u003e permission_struct \u003c/span\u003estructure is documented below.\n"}},"requiredInputs":["bucket","key"],"stateInputs":{"description":"Input properties used for looking up and filtering ObsBucketObjectAcl resources.\n","properties":{"accountPermissions":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FObsBucketObjectAclAccountPermission:ObsBucketObjectAclAccountPermission"},"description":"Specifies the object account permissions.\nThe\u003cspan pulumi-lang-nodejs=\" accountPermissionStruct \" pulumi-lang-dotnet=\" AccountPermissionStruct \" pulumi-lang-go=\" accountPermissionStruct \" pulumi-lang-python=\" account_permission_struct \" pulumi-lang-yaml=\" accountPermissionStruct \" pulumi-lang-java=\" accountPermissionStruct \"\u003e account_permission_struct \u003c/span\u003estructure is documented below.\n\n\u003ca name=\"OBSBucketObjectAcl_permission_struct\"\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`permissionStruct`\" pulumi-lang-dotnet=\"`PermissionStruct`\" pulumi-lang-go=\"`permissionStruct`\" pulumi-lang-python=\"`permission_struct`\" pulumi-lang-yaml=\"`permissionStruct`\" pulumi-lang-java=\"`permissionStruct`\"\u003e`permission_struct`\u003c/span\u003e block supports:\n"},"bucket":{"type":"string","description":"Specifies the name of the bucket which the object belongs to.\n\nChanging this parameter will create a new resource.\n"},"key":{"type":"string","description":"Specifies the name of the object to which to set the acl.\n\nChanging this parameter will create a new resource.\n"},"obsBucketObjectAclId":{"type":"string","description":"The name of the bucket object key.\n"},"ownerPermissions":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FObsBucketObjectAclOwnerPermission:ObsBucketObjectAclOwnerPermission"},"description":"The object owner permission information.\nThe\u003cspan pulumi-lang-nodejs=\" ownerPermissionStruct \" pulumi-lang-dotnet=\" OwnerPermissionStruct \" pulumi-lang-go=\" ownerPermissionStruct \" pulumi-lang-python=\" owner_permission_struct \" pulumi-lang-yaml=\" ownerPermissionStruct \" pulumi-lang-java=\" ownerPermissionStruct \"\u003e owner_permission_struct \u003c/span\u003estructure is documented below.\n"},"publicPermission":{"$ref":"#/types/opentelekomcloud:index%2FObsBucketObjectAclPublicPermission:ObsBucketObjectAclPublicPermission","description":"Specifies the object public permission.\nThe\u003cspan pulumi-lang-nodejs=\" permissionStruct \" pulumi-lang-dotnet=\" PermissionStruct \" pulumi-lang-go=\" permissionStruct \" pulumi-lang-python=\" permission_struct \" pulumi-lang-yaml=\" permissionStruct \" pulumi-lang-java=\" permissionStruct \"\u003e permission_struct \u003c/span\u003estructure is documented below.\n"},"region":{"type":"string","description":"The region of the bucket.\n"}},"type":"object"}},"opentelekomcloud:index/obsBucketPolicy:ObsBucketPolicy":{"description":"Up-to-date reference of API arguments for OBS bucket policy you can get at\n[documentation portal](https://docs.otc.t-systems.com/object-storage-service/api-ref/apis/advanced_bucket_settings)\n\nAttaches a policy to an OBS bucket resource within OpenTelekomCloud.\nNow respects HTTP_PROXY, HTTPS_PROXY environment variables.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst bucket = new opentelekomcloud.ObsBucket(\"bucket\", {bucket: \"my-tf-test-bucket\"});\nconst policy = new opentelekomcloud.ObsBucketPolicy(\"policy\", {\n    bucket: bucket.obsBucketId,\n    policy: pulumi.interpolate`{\n  \\\"Statement\\\": [{\n    \\\"Effect\\\": \\\"Allow\\\",\n    \\\"Principal\\\": {\n      \\\"ID\\\": [\\\"*\\\"]\n    },\n    \\\"Action\\\": [\n      \\\"GetObject\\\",\n      \\\"PutObject\\\"\n    ],\n    \\\"Resource\\\": [\n      \\\"${bucket.bucket}/*\\\"\n    ]\n  }]\n}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nbucket = opentelekomcloud.ObsBucket(\"bucket\", bucket=\"my-tf-test-bucket\")\npolicy = opentelekomcloud.ObsBucketPolicy(\"policy\",\n    bucket=bucket.obs_bucket_id,\n    policy=bucket.bucket.apply(lambda bucket: f\"\"\"{{\n  \\\"Statement\\\": [{{\n    \\\"Effect\\\": \\\"Allow\\\",\n    \\\"Principal\\\": {{\n      \\\"ID\\\": [\\\"*\\\"]\n    }},\n    \\\"Action\\\": [\n      \\\"GetObject\\\",\n      \\\"PutObject\\\"\n    ],\n    \\\"Resource\\\": [\n      \\\"{bucket}/*\\\"\n    ]\n  }}]\n}}\n\"\"\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var bucket = new Opentelekomcloud.ObsBucket(\"bucket\", new()\n    {\n        Bucket = \"my-tf-test-bucket\",\n    });\n\n    var policy = new Opentelekomcloud.ObsBucketPolicy(\"policy\", new()\n    {\n        Bucket = bucket.ObsBucketId,\n        Policy = bucket.Bucket.Apply(bucket =\u003e @$\"{{\n  \\\"\"Statement\\\"\": [{{\n    \\\"\"Effect\\\"\": \\\"\"Allow\\\"\",\n    \\\"\"Principal\\\"\": {{\n      \\\"\"ID\\\"\": [\\\"\"*\\\"\"]\n    }},\n    \\\"\"Action\\\"\": [\n      \\\"\"GetObject\\\"\",\n      \\\"\"PutObject\\\"\"\n    ],\n    \\\"\"Resource\\\"\": [\n      \\\"\"{bucket}/*\\\"\"\n    ]\n  }}]\n}}\n\"),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tbucket, err := opentelekomcloud.NewObsBucket(ctx, \"bucket\", \u0026opentelekomcloud.ObsBucketArgs{\n\t\t\tBucket: pulumi.String(\"my-tf-test-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewObsBucketPolicy(ctx, \"policy\", \u0026opentelekomcloud.ObsBucketPolicyArgs{\n\t\t\tBucket: bucket.ObsBucketId,\n\t\t\tPolicy: bucket.Bucket.ApplyT(func(bucket string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(`{\n  \\\"Statement\\\": [{\n    \\\"Effect\\\": \\\"Allow\\\",\n    \\\"Principal\\\": {\n      \\\"ID\\\": [\\\"*\\\"]\n    },\n    \\\"Action\\\": [\n      \\\"GetObject\\\",\n      \\\"PutObject\\\"\n    ],\n    \\\"Resource\\\": [\n      \\\"%v/*\\\"\n    ]\n  }]\n}\n`, bucket), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ObsBucket;\nimport com.pulumi.opentelekomcloud.ObsBucketArgs;\nimport com.pulumi.opentelekomcloud.ObsBucketPolicy;\nimport com.pulumi.opentelekomcloud.ObsBucketPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var bucket = new ObsBucket(\"bucket\", ObsBucketArgs.builder()\n            .bucket(\"my-tf-test-bucket\")\n            .build());\n\n        var policy = new ObsBucketPolicy(\"policy\", ObsBucketPolicyArgs.builder()\n            .bucket(bucket.obsBucketId())\n            .policy(bucket.bucket().applyValue(_bucket -\u003e \"\"\"\n{\n  \\\"Statement\\\": [{\n    \\\"Effect\\\": \\\"Allow\\\",\n    \\\"Principal\\\": {\n      \\\"ID\\\": [\\\"*\\\"]\n    },\n    \\\"Action\\\": [\n      \\\"GetObject\\\",\n      \\\"PutObject\\\"\n    ],\n    \\\"Resource\\\": [\n      \\\"%s/*\\\"\n    ]\n  }]\n}\n\", _bucket)))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  bucket:\n    type: opentelekomcloud:ObsBucket\n    properties:\n      bucket: my-tf-test-bucket\n  policy:\n    type: opentelekomcloud:ObsBucketPolicy\n    properties:\n      bucket: ${bucket.obsBucketId}\n      policy: |\n        {\n          \\\"Statement\\\": [{\n            \\\"Effect\\\": \\\"Allow\\\",\n            \\\"Principal\\\": {\n              \\\"ID\\\": [\\\"*\\\"]\n            },\n            \\\"Action\\\": [\n              \\\"GetObject\\\",\n              \\\"PutObject\\\"\n            ],\n            \\\"Resource\\\": [\n              \\\"${bucket.bucket}/*\\\"\n            ]\n          }]\n        }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n~\u003e\n  Please note that used policy syntax is OBS-specific. For s3-compatible policies check\n  \u003cspan pulumi-lang-nodejs=\"`opentelekomcloud.S3BucketPolicy`\" pulumi-lang-dotnet=\"`opentelekomcloud.S3BucketPolicy`\" pulumi-lang-go=\"`S3BucketPolicy`\" pulumi-lang-python=\"`S3BucketPolicy`\" pulumi-lang-yaml=\"`opentelekomcloud.S3BucketPolicy`\" pulumi-lang-java=\"`opentelekomcloud.S3BucketPolicy`\"\u003e`opentelekomcloud.S3BucketPolicy`\u003c/span\u003e resource.\n","properties":{"bucket":{"type":"string","description":"The name of the bucket to which to apply the policy.\n"},"obsBucketPolicyId":{"type":"string"},"policy":{"type":"string","description":"The text of the policy.\n"}},"type":"object","required":["bucket","obsBucketPolicyId","policy"],"inputProperties":{"bucket":{"type":"string","description":"The name of the bucket to which to apply the policy.\n"},"obsBucketPolicyId":{"type":"string"},"policy":{"type":"string","description":"The text of the policy.\n"}},"requiredInputs":["bucket","policy"],"stateInputs":{"description":"Input properties used for looking up and filtering ObsBucketPolicy resources.\n","properties":{"bucket":{"type":"string","description":"The name of the bucket to which to apply the policy.\n"},"obsBucketPolicyId":{"type":"string"},"policy":{"type":"string","description":"The text of the policy.\n"}},"type":"object"}},"opentelekomcloud:index/obsBucketReplication:ObsBucketReplication":{"description":"Up-to-date reference of API arguments for OBS bucket cross-region replication you can get at\n[documentation portal](https://docs.otc.t-systems.com/object-storage-service/api-ref/apis/advanced_bucket_settings/configuring_cross-region_replication_for_a_bucket.html)\n\nManages an OBS bucket **Cross-Region Replication** resource within OpenTelekomCloud.\n\n\u003e **NOTE:** The source bucket and destination bucket must belong to the same account. More cross-Region replication\nconstraints see [Cross-Region replication](https://docs.otc.t-systems.com/object-storage-service/api-ref/apis/advanced_bucket_settings/configuring_cross-region_replication_for_a_bucket.html#obs-04-0046)\n\n## Example Usage\n\n### Replicate all objects\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst bucket = config.requireObject\u003cany\u003e(\"bucket\");\nconst destinationBucket = config.requireObject\u003cany\u003e(\"destinationBucket\");\nconst agency = config.requireObject\u003cany\u003e(\"agency\");\nconst test = new opentelekomcloud.ObsBucketReplication(\"test\", {\n    bucket: bucket,\n    destinationBucket: destinationBucket,\n    agency: agency,\n    rules: [{\n        historyEnabled: false,\n        deleteData: false,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nbucket = config.require_object(\"bucket\")\ndestination_bucket = config.require_object(\"destinationBucket\")\nagency = config.require_object(\"agency\")\ntest = opentelekomcloud.ObsBucketReplication(\"test\",\n    bucket=bucket,\n    destination_bucket=destination_bucket,\n    agency=agency,\n    rules=[{\n        \"history_enabled\": False,\n        \"delete_data\": False,\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var bucket = config.RequireObject\u003cdynamic\u003e(\"bucket\");\n    var destinationBucket = config.RequireObject\u003cdynamic\u003e(\"destinationBucket\");\n    var agency = config.RequireObject\u003cdynamic\u003e(\"agency\");\n    var test = new Opentelekomcloud.ObsBucketReplication(\"test\", new()\n    {\n        Bucket = bucket,\n        DestinationBucket = destinationBucket,\n        Agency = agency,\n        Rules = new[]\n        {\n            new Opentelekomcloud.Inputs.ObsBucketReplicationRuleArgs\n            {\n                HistoryEnabled = false,\n                DeleteData = false,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tbucket := cfg.RequireObject(\"bucket\")\n\t\tdestinationBucket := cfg.RequireObject(\"destinationBucket\")\n\t\tagency := cfg.RequireObject(\"agency\")\n\t\t_, err := opentelekomcloud.NewObsBucketReplication(ctx, \"test\", \u0026opentelekomcloud.ObsBucketReplicationArgs{\n\t\t\tBucket:            pulumi.Any(bucket),\n\t\t\tDestinationBucket: pulumi.Any(destinationBucket),\n\t\t\tAgency:            pulumi.Any(agency),\n\t\t\tRules: opentelekomcloud.ObsBucketReplicationRuleArray{\n\t\t\t\t\u0026opentelekomcloud.ObsBucketReplicationRuleArgs{\n\t\t\t\t\tHistoryEnabled: pulumi.Bool(false),\n\t\t\t\t\tDeleteData:     pulumi.Bool(false),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ObsBucketReplication;\nimport com.pulumi.opentelekomcloud.ObsBucketReplicationArgs;\nimport com.pulumi.opentelekomcloud.inputs.ObsBucketReplicationRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var bucket = config.get(\"bucket\");\n        final var destinationBucket = config.get(\"destinationBucket\");\n        final var agency = config.get(\"agency\");\n        var test = new ObsBucketReplication(\"test\", ObsBucketReplicationArgs.builder()\n            .bucket(bucket)\n            .destinationBucket(destinationBucket)\n            .agency(agency)\n            .rules(ObsBucketReplicationRuleArgs.builder()\n                .historyEnabled(false)\n                .deleteData(false)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  bucket:\n    type: dynamic\n  destinationBucket:\n    type: dynamic\n  agency:\n    type: dynamic\nresources:\n  test:\n    type: opentelekomcloud:ObsBucketReplication\n    properties:\n      bucket: ${bucket}\n      destinationBucket: ${destinationBucket}\n      agency: ${agency}\n      rules:\n        - historyEnabled: false\n          deleteData: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Replicate objects matched by prefix\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst bucket = config.requireObject\u003cany\u003e(\"bucket\");\nconst destinationBucket = config.requireObject\u003cany\u003e(\"destinationBucket\");\nconst agency = config.requireObject\u003cany\u003e(\"agency\");\nconst test = new opentelekomcloud.ObsBucketReplication(\"test\", {\n    bucket: bucket,\n    destinationBucket: destinationBucket,\n    agency: agency,\n    rules: [\n        {\n            prefix: \"log\",\n        },\n        {\n            prefix: \"imgs/\",\n            storageClass: \"COLD\",\n            enabled: true,\n            historyEnabled: false,\n            deleteData: true,\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nbucket = config.require_object(\"bucket\")\ndestination_bucket = config.require_object(\"destinationBucket\")\nagency = config.require_object(\"agency\")\ntest = opentelekomcloud.ObsBucketReplication(\"test\",\n    bucket=bucket,\n    destination_bucket=destination_bucket,\n    agency=agency,\n    rules=[\n        {\n            \"prefix\": \"log\",\n        },\n        {\n            \"prefix\": \"imgs/\",\n            \"storage_class\": \"COLD\",\n            \"enabled\": True,\n            \"history_enabled\": False,\n            \"delete_data\": True,\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var bucket = config.RequireObject\u003cdynamic\u003e(\"bucket\");\n    var destinationBucket = config.RequireObject\u003cdynamic\u003e(\"destinationBucket\");\n    var agency = config.RequireObject\u003cdynamic\u003e(\"agency\");\n    var test = new Opentelekomcloud.ObsBucketReplication(\"test\", new()\n    {\n        Bucket = bucket,\n        DestinationBucket = destinationBucket,\n        Agency = agency,\n        Rules = new[]\n        {\n            new Opentelekomcloud.Inputs.ObsBucketReplicationRuleArgs\n            {\n                Prefix = \"log\",\n            },\n            new Opentelekomcloud.Inputs.ObsBucketReplicationRuleArgs\n            {\n                Prefix = \"imgs/\",\n                StorageClass = \"COLD\",\n                Enabled = true,\n                HistoryEnabled = false,\n                DeleteData = true,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tbucket := cfg.RequireObject(\"bucket\")\n\t\tdestinationBucket := cfg.RequireObject(\"destinationBucket\")\n\t\tagency := cfg.RequireObject(\"agency\")\n\t\t_, err := opentelekomcloud.NewObsBucketReplication(ctx, \"test\", \u0026opentelekomcloud.ObsBucketReplicationArgs{\n\t\t\tBucket:            pulumi.Any(bucket),\n\t\t\tDestinationBucket: pulumi.Any(destinationBucket),\n\t\t\tAgency:            pulumi.Any(agency),\n\t\t\tRules: opentelekomcloud.ObsBucketReplicationRuleArray{\n\t\t\t\t\u0026opentelekomcloud.ObsBucketReplicationRuleArgs{\n\t\t\t\t\tPrefix: pulumi.String(\"log\"),\n\t\t\t\t},\n\t\t\t\t\u0026opentelekomcloud.ObsBucketReplicationRuleArgs{\n\t\t\t\t\tPrefix:         pulumi.String(\"imgs/\"),\n\t\t\t\t\tStorageClass:   pulumi.String(\"COLD\"),\n\t\t\t\t\tEnabled:        pulumi.Bool(true),\n\t\t\t\t\tHistoryEnabled: pulumi.Bool(false),\n\t\t\t\t\tDeleteData:     pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ObsBucketReplication;\nimport com.pulumi.opentelekomcloud.ObsBucketReplicationArgs;\nimport com.pulumi.opentelekomcloud.inputs.ObsBucketReplicationRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var bucket = config.get(\"bucket\");\n        final var destinationBucket = config.get(\"destinationBucket\");\n        final var agency = config.get(\"agency\");\n        var test = new ObsBucketReplication(\"test\", ObsBucketReplicationArgs.builder()\n            .bucket(bucket)\n            .destinationBucket(destinationBucket)\n            .agency(agency)\n            .rules(            \n                ObsBucketReplicationRuleArgs.builder()\n                    .prefix(\"log\")\n                    .build(),\n                ObsBucketReplicationRuleArgs.builder()\n                    .prefix(\"imgs/\")\n                    .storageClass(\"COLD\")\n                    .enabled(true)\n                    .historyEnabled(false)\n                    .deleteData(true)\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  bucket:\n    type: dynamic\n  destinationBucket:\n    type: dynamic\n  agency:\n    type: dynamic\nresources:\n  test:\n    type: opentelekomcloud:ObsBucketReplication\n    properties:\n      bucket: ${bucket}\n      destinationBucket: ${destinationBucket}\n      agency: ${agency}\n      rules:\n        - prefix: log\n        - prefix: imgs/\n          storageClass: COLD\n          enabled: true\n          historyEnabled: false\n          deleteData: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe obs bucket cross-region replication can be imported using the `bucket`, e.g.\n\nbash\n\n```sh\n$ pulumi import opentelekomcloud:index/obsBucketReplication:ObsBucketReplication test \u003cbucket-name\u003e\n```\n\n","properties":{"agency":{"type":"string","description":"Specifies the IAM agency name applied to the cross-region replication.\n\n\u003e **NOTE:** The IAM agency is a cloud service agency of OBS. Which must has the **OBS Administrator** permission.\n"},"bucket":{"type":"string","description":"Specifies the name of the source bucket.\n\nChanging this parameter will create a new resource.\n"},"destinationBucket":{"type":"string","description":"Specifies the name of the destination bucket.\n\n\u003e **NOTE:** The destination bucket cannot be in the region where the source bucket resides.\nSome regions do not support cross regional replication. More constraints information see:\n[Cross-Region replication](https://docs.otc.t-systems.com/object-storage-service/api-ref/apis/advanced_bucket_settings/configuring_cross-region_replication_for_a_bucket.html#obs-04-0046)\n"},"obsBucketReplicationId":{"type":"string","description":"The name of the bucket.\n* `rule/id` - The ID of a rule in UUID format.\n"},"region":{"type":"string","description":"Specifies the region in which to create the resource.\nIf omitted, the provider-level region will be used.\n\nChanging this parameter will create a new resource.\n"},"rules":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FObsBucketReplicationRule:ObsBucketReplicationRule"},"description":"Specifies the configurations of object cross-region replication management.\nThe structure is documented below.\n"}},"type":"object","required":["agency","bucket","destinationBucket","obsBucketReplicationId","region"],"inputProperties":{"agency":{"type":"string","description":"Specifies the IAM agency name applied to the cross-region replication.\n\n\u003e **NOTE:** The IAM agency is a cloud service agency of OBS. Which must has the **OBS Administrator** permission.\n"},"bucket":{"type":"string","description":"Specifies the name of the source bucket.\n\nChanging this parameter will create a new resource.\n"},"destinationBucket":{"type":"string","description":"Specifies the name of the destination bucket.\n\n\u003e **NOTE:** The destination bucket cannot be in the region where the source bucket resides.\nSome regions do not support cross regional replication. More constraints information see:\n[Cross-Region replication](https://docs.otc.t-systems.com/object-storage-service/api-ref/apis/advanced_bucket_settings/configuring_cross-region_replication_for_a_bucket.html#obs-04-0046)\n"},"obsBucketReplicationId":{"type":"string","description":"The name of the bucket.\n* `rule/id` - The ID of a rule in UUID format.\n"},"region":{"type":"string","description":"Specifies the region in which to create the resource.\nIf omitted, the provider-level region will be used.\n\nChanging this parameter will create a new resource.\n"},"rules":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FObsBucketReplicationRule:ObsBucketReplicationRule"},"description":"Specifies the configurations of object cross-region replication management.\nThe structure is documented below.\n"}},"requiredInputs":["agency","bucket","destinationBucket"],"stateInputs":{"description":"Input properties used for looking up and filtering ObsBucketReplication resources.\n","properties":{"agency":{"type":"string","description":"Specifies the IAM agency name applied to the cross-region replication.\n\n\u003e **NOTE:** The IAM agency is a cloud service agency of OBS. Which must has the **OBS Administrator** permission.\n"},"bucket":{"type":"string","description":"Specifies the name of the source bucket.\n\nChanging this parameter will create a new resource.\n"},"destinationBucket":{"type":"string","description":"Specifies the name of the destination bucket.\n\n\u003e **NOTE:** The destination bucket cannot be in the region where the source bucket resides.\nSome regions do not support cross regional replication. More constraints information see:\n[Cross-Region replication](https://docs.otc.t-systems.com/object-storage-service/api-ref/apis/advanced_bucket_settings/configuring_cross-region_replication_for_a_bucket.html#obs-04-0046)\n"},"obsBucketReplicationId":{"type":"string","description":"The name of the bucket.\n* `rule/id` - The ID of a rule in UUID format.\n"},"region":{"type":"string","description":"Specifies the region in which to create the resource.\nIf omitted, the provider-level region will be used.\n\nChanging this parameter will create a new resource.\n"},"rules":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FObsBucketReplicationRule:ObsBucketReplicationRule"},"description":"Specifies the configurations of object cross-region replication management.\nThe structure is documented below.\n"}},"type":"object"}},"opentelekomcloud:index/privateNatDnatRuleV3:PrivateNatDnatRuleV3":{"description":"Up-to-date reference of API arguments for Private NAT DNAT rule you can get at\n[documentation portal](https://docs.otc.t-systems.com/nat-gateway/api-ref/apis_for_private_nat_gateways_v3.0/dnat_rules/index.html)\n\nManages a V3 Private NAT DNAT rule resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst transitIpId = config.requireObject\u003cany\u003e(\"transitIpId\");\nconst networkInterfaceId = config.requireObject\u003cany\u003e(\"networkInterfaceId\");\nconst gatewayId = config.requireObject\u003cany\u003e(\"gatewayId\");\nconst rule1 = new opentelekomcloud.PrivateNatDnatRuleV3(\"rule_1\", {\n    description: \"created\",\n    transitIpId: transitIpId,\n    networkInterfaceId: networkInterfaceId,\n    gatewayId: gatewayId,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ntransit_ip_id = config.require_object(\"transitIpId\")\nnetwork_interface_id = config.require_object(\"networkInterfaceId\")\ngateway_id = config.require_object(\"gatewayId\")\nrule1 = opentelekomcloud.PrivateNatDnatRuleV3(\"rule_1\",\n    description=\"created\",\n    transit_ip_id=transit_ip_id,\n    network_interface_id=network_interface_id,\n    gateway_id=gateway_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var transitIpId = config.RequireObject\u003cdynamic\u003e(\"transitIpId\");\n    var networkInterfaceId = config.RequireObject\u003cdynamic\u003e(\"networkInterfaceId\");\n    var gatewayId = config.RequireObject\u003cdynamic\u003e(\"gatewayId\");\n    var rule1 = new Opentelekomcloud.PrivateNatDnatRuleV3(\"rule_1\", new()\n    {\n        Description = \"created\",\n        TransitIpId = transitIpId,\n        NetworkInterfaceId = networkInterfaceId,\n        GatewayId = gatewayId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\ttransitIpId := cfg.RequireObject(\"transitIpId\")\n\t\tnetworkInterfaceId := cfg.RequireObject(\"networkInterfaceId\")\n\t\tgatewayId := cfg.RequireObject(\"gatewayId\")\n\t\t_, err := opentelekomcloud.NewPrivateNatDnatRuleV3(ctx, \"rule_1\", \u0026opentelekomcloud.PrivateNatDnatRuleV3Args{\n\t\t\tDescription:        pulumi.String(\"created\"),\n\t\t\tTransitIpId:        pulumi.Any(transitIpId),\n\t\t\tNetworkInterfaceId: pulumi.Any(networkInterfaceId),\n\t\t\tGatewayId:          pulumi.Any(gatewayId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.PrivateNatDnatRuleV3;\nimport com.pulumi.opentelekomcloud.PrivateNatDnatRuleV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var transitIpId = config.get(\"transitIpId\");\n        final var networkInterfaceId = config.get(\"networkInterfaceId\");\n        final var gatewayId = config.get(\"gatewayId\");\n        var rule1 = new PrivateNatDnatRuleV3(\"rule1\", PrivateNatDnatRuleV3Args.builder()\n            .description(\"created\")\n            .transitIpId(transitIpId)\n            .networkInterfaceId(networkInterfaceId)\n            .gatewayId(gatewayId)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  transitIpId:\n    type: dynamic\n  networkInterfaceId:\n    type: dynamic\n  gatewayId:\n    type: dynamic\nresources:\n  rule1:\n    type: opentelekomcloud:PrivateNatDnatRuleV3\n    name: rule_1\n    properties:\n      description: created\n      transitIpId: ${transitIpId}\n      networkInterfaceId: ${networkInterfaceId}\n      gatewayId: ${gatewayId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPrivate NAT DNAT rule V3 resource can be imported using the DNAT rule ID, `id`.\n\n```sh\n$ pulumi import opentelekomcloud:index/privateNatDnatRuleV3:PrivateNatDnatRuleV3 rule_1 \u003cid\u003e\n```\n\n","properties":{"createdAt":{"type":"string","description":"Indicates the time when the private NAT DNAT rule was created. It is a UTC time in yyyy-mm-ddThh:mm:ssZ format.\n"},"description":{"type":"string","description":"Provides supplementary information about the DNAT rule. The description can contain up to 255 characters and cannot contain angle brackets (\u003c\u003e).\n"},"enterpriseProjectId":{"type":"string","description":"Indicates the ID of the enterprise project that is associated with the DNAT rule when the DNAT rule is created.\n"},"gatewayId":{"type":"string","description":"Specifies the private NAT gateway ID.\n"},"internalServicePort":{"type":"string","description":"Specifies the port number of the resource, which can be a compute instance, load balancer (v2 or v3), or virtual IP address. Value range: `0-65535`. Default value: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"networkInterfaceId":{"type":"string","description":"Specifies the port ID of the resource that the NAT gateway is bound to. The resource can be a compute instance, load balancer (v2 or v3), or virtual IP address. Either this parameter or \u003cspan pulumi-lang-nodejs=\"`privateIpAddress`\" pulumi-lang-dotnet=\"`PrivateIpAddress`\" pulumi-lang-go=\"`privateIpAddress`\" pulumi-lang-python=\"`private_ip_address`\" pulumi-lang-yaml=\"`privateIpAddress`\" pulumi-lang-java=\"`privateIpAddress`\"\u003e`private_ip_address`\u003c/span\u003e must be specified. Otherwise, an error will be reported.\n"},"privateIpAddress":{"type":"string","description":"Specifies the port IP address that the NAT gateway uses. The resource can be a compute instance, load balancer (v2 or v3), or virtual IP address. Either this parameter or \u003cspan pulumi-lang-nodejs=\"`networkInterfaceId`\" pulumi-lang-dotnet=\"`NetworkInterfaceId`\" pulumi-lang-go=\"`networkInterfaceId`\" pulumi-lang-python=\"`network_interface_id`\" pulumi-lang-yaml=\"`networkInterfaceId`\" pulumi-lang-java=\"`networkInterfaceId`\"\u003e`network_interface_id`\u003c/span\u003e must be specified. Otherwise, an error will be reported.\n"},"projectId":{"type":"string","description":"Indicates the project ID.\n"},"protocol":{"type":"string","description":"Specifies the protocol type. Supported values: \u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\"\u003e`tcp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`udp`\" pulumi-lang-dotnet=\"`Udp`\" pulumi-lang-go=\"`udp`\" pulumi-lang-python=\"`udp`\" pulumi-lang-yaml=\"`udp`\" pulumi-lang-java=\"`udp`\"\u003e`udp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\"\u003e`any`\u003c/span\u003e.\n"},"status":{"type":"string","description":"Indicates the private NAT DNAT rule status. The value can be: `ACTIVE` (The DNAT rule is running properly) or `FROZEN` (The DNAT rule is frozen).\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FPrivateNatDnatRuleV3Timeouts:PrivateNatDnatRuleV3Timeouts"},"transitIpId":{"type":"string","description":"Specifies the ID of the transit IP address.\n"},"transitServicePort":{"type":"string","description":"Specifies the port number of the transit IP address. Value range: `0-65535`. Default value: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"type":{"type":"string","description":"Indicates the backend resource type of the DNAT rule. The type can be: `COMPUTE`, `VIP`, `ELB`, `ELBv3`, `CUSTOMIZE`.\n"},"updatedAt":{"type":"string","description":"Indicates the time when the private NAT DNAT rule was updated. It is a UTC time in yyyy-mm-ddThh:mm:ssZ format.\n"}},"type":"object","required":["createdAt","enterpriseProjectId","gatewayId","internalServicePort","privateIpAddress","projectId","protocol","status","transitIpId","transitServicePort","type","updatedAt"],"inputProperties":{"description":{"type":"string","description":"Provides supplementary information about the DNAT rule. The description can contain up to 255 characters and cannot contain angle brackets (\u003c\u003e).\n"},"gatewayId":{"type":"string","description":"Specifies the private NAT gateway ID.\n"},"internalServicePort":{"type":"string","description":"Specifies the port number of the resource, which can be a compute instance, load balancer (v2 or v3), or virtual IP address. Value range: `0-65535`. Default value: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"networkInterfaceId":{"type":"string","description":"Specifies the port ID of the resource that the NAT gateway is bound to. The resource can be a compute instance, load balancer (v2 or v3), or virtual IP address. Either this parameter or \u003cspan pulumi-lang-nodejs=\"`privateIpAddress`\" pulumi-lang-dotnet=\"`PrivateIpAddress`\" pulumi-lang-go=\"`privateIpAddress`\" pulumi-lang-python=\"`private_ip_address`\" pulumi-lang-yaml=\"`privateIpAddress`\" pulumi-lang-java=\"`privateIpAddress`\"\u003e`private_ip_address`\u003c/span\u003e must be specified. Otherwise, an error will be reported.\n"},"privateIpAddress":{"type":"string","description":"Specifies the port IP address that the NAT gateway uses. The resource can be a compute instance, load balancer (v2 or v3), or virtual IP address. Either this parameter or \u003cspan pulumi-lang-nodejs=\"`networkInterfaceId`\" pulumi-lang-dotnet=\"`NetworkInterfaceId`\" pulumi-lang-go=\"`networkInterfaceId`\" pulumi-lang-python=\"`network_interface_id`\" pulumi-lang-yaml=\"`networkInterfaceId`\" pulumi-lang-java=\"`networkInterfaceId`\"\u003e`network_interface_id`\u003c/span\u003e must be specified. Otherwise, an error will be reported.\n"},"protocol":{"type":"string","description":"Specifies the protocol type. Supported values: \u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\"\u003e`tcp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`udp`\" pulumi-lang-dotnet=\"`Udp`\" pulumi-lang-go=\"`udp`\" pulumi-lang-python=\"`udp`\" pulumi-lang-yaml=\"`udp`\" pulumi-lang-java=\"`udp`\"\u003e`udp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\"\u003e`any`\u003c/span\u003e.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FPrivateNatDnatRuleV3Timeouts:PrivateNatDnatRuleV3Timeouts"},"transitIpId":{"type":"string","description":"Specifies the ID of the transit IP address.\n"},"transitServicePort":{"type":"string","description":"Specifies the port number of the transit IP address. Value range: `0-65535`. Default value: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"}},"requiredInputs":["gatewayId","transitIpId"],"stateInputs":{"description":"Input properties used for looking up and filtering PrivateNatDnatRuleV3 resources.\n","properties":{"createdAt":{"type":"string","description":"Indicates the time when the private NAT DNAT rule was created. It is a UTC time in yyyy-mm-ddThh:mm:ssZ format.\n"},"description":{"type":"string","description":"Provides supplementary information about the DNAT rule. The description can contain up to 255 characters and cannot contain angle brackets (\u003c\u003e).\n"},"enterpriseProjectId":{"type":"string","description":"Indicates the ID of the enterprise project that is associated with the DNAT rule when the DNAT rule is created.\n"},"gatewayId":{"type":"string","description":"Specifies the private NAT gateway ID.\n"},"internalServicePort":{"type":"string","description":"Specifies the port number of the resource, which can be a compute instance, load balancer (v2 or v3), or virtual IP address. Value range: `0-65535`. Default value: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"networkInterfaceId":{"type":"string","description":"Specifies the port ID of the resource that the NAT gateway is bound to. The resource can be a compute instance, load balancer (v2 or v3), or virtual IP address. Either this parameter or \u003cspan pulumi-lang-nodejs=\"`privateIpAddress`\" pulumi-lang-dotnet=\"`PrivateIpAddress`\" pulumi-lang-go=\"`privateIpAddress`\" pulumi-lang-python=\"`private_ip_address`\" pulumi-lang-yaml=\"`privateIpAddress`\" pulumi-lang-java=\"`privateIpAddress`\"\u003e`private_ip_address`\u003c/span\u003e must be specified. Otherwise, an error will be reported.\n"},"privateIpAddress":{"type":"string","description":"Specifies the port IP address that the NAT gateway uses. The resource can be a compute instance, load balancer (v2 or v3), or virtual IP address. Either this parameter or \u003cspan pulumi-lang-nodejs=\"`networkInterfaceId`\" pulumi-lang-dotnet=\"`NetworkInterfaceId`\" pulumi-lang-go=\"`networkInterfaceId`\" pulumi-lang-python=\"`network_interface_id`\" pulumi-lang-yaml=\"`networkInterfaceId`\" pulumi-lang-java=\"`networkInterfaceId`\"\u003e`network_interface_id`\u003c/span\u003e must be specified. Otherwise, an error will be reported.\n"},"projectId":{"type":"string","description":"Indicates the project ID.\n"},"protocol":{"type":"string","description":"Specifies the protocol type. Supported values: \u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\"\u003e`tcp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`udp`\" pulumi-lang-dotnet=\"`Udp`\" pulumi-lang-go=\"`udp`\" pulumi-lang-python=\"`udp`\" pulumi-lang-yaml=\"`udp`\" pulumi-lang-java=\"`udp`\"\u003e`udp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\"\u003e`any`\u003c/span\u003e.\n"},"status":{"type":"string","description":"Indicates the private NAT DNAT rule status. The value can be: `ACTIVE` (The DNAT rule is running properly) or `FROZEN` (The DNAT rule is frozen).\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FPrivateNatDnatRuleV3Timeouts:PrivateNatDnatRuleV3Timeouts"},"transitIpId":{"type":"string","description":"Specifies the ID of the transit IP address.\n"},"transitServicePort":{"type":"string","description":"Specifies the port number of the transit IP address. Value range: `0-65535`. Default value: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"type":{"type":"string","description":"Indicates the backend resource type of the DNAT rule. The type can be: `COMPUTE`, `VIP`, `ELB`, `ELBv3`, `CUSTOMIZE`.\n"},"updatedAt":{"type":"string","description":"Indicates the time when the private NAT DNAT rule was updated. It is a UTC time in yyyy-mm-ddThh:mm:ssZ format.\n"}},"type":"object"}},"opentelekomcloud:index/privateNatGatewayV3:PrivateNatGatewayV3":{"description":"Up-to-date reference of API arguments for Private NAT gateway you can get at\n[documentation portal](https://docs.otc.t-systems.com/nat-gateway/api-ref/apis_for_private_nat_gateways_v3.0/private_nat_gateways/index.html)\n\nManages a V3 Private NAT Gateway resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst networkId = config.requireObject\u003cany\u003e(\"networkId\");\nconst gateway1 = new opentelekomcloud.PrivateNatGatewayV3(\"gateway_1\", {\n    name: \"test-acc-nat-gateway\",\n    description: \"created\",\n    spec: \"Small\",\n    downlinkVpcs: [{\n        virsubnetId: networkId,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nnetwork_id = config.require_object(\"networkId\")\ngateway1 = opentelekomcloud.PrivateNatGatewayV3(\"gateway_1\",\n    name=\"test-acc-nat-gateway\",\n    description=\"created\",\n    spec=\"Small\",\n    downlink_vpcs=[{\n        \"virsubnet_id\": network_id,\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var networkId = config.RequireObject\u003cdynamic\u003e(\"networkId\");\n    var gateway1 = new Opentelekomcloud.PrivateNatGatewayV3(\"gateway_1\", new()\n    {\n        Name = \"test-acc-nat-gateway\",\n        Description = \"created\",\n        Spec = \"Small\",\n        DownlinkVpcs = new[]\n        {\n            new Opentelekomcloud.Inputs.PrivateNatGatewayV3DownlinkVpcArgs\n            {\n                VirsubnetId = networkId,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tnetworkId := cfg.RequireObject(\"networkId\")\n\t\t_, err := opentelekomcloud.NewPrivateNatGatewayV3(ctx, \"gateway_1\", \u0026opentelekomcloud.PrivateNatGatewayV3Args{\n\t\t\tName:        pulumi.String(\"test-acc-nat-gateway\"),\n\t\t\tDescription: pulumi.String(\"created\"),\n\t\t\tSpec:        pulumi.String(\"Small\"),\n\t\t\tDownlinkVpcs: opentelekomcloud.PrivateNatGatewayV3DownlinkVpcArray{\n\t\t\t\t\u0026opentelekomcloud.PrivateNatGatewayV3DownlinkVpcArgs{\n\t\t\t\t\tVirsubnetId: pulumi.Any(networkId),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.PrivateNatGatewayV3;\nimport com.pulumi.opentelekomcloud.PrivateNatGatewayV3Args;\nimport com.pulumi.opentelekomcloud.inputs.PrivateNatGatewayV3DownlinkVpcArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var networkId = config.get(\"networkId\");\n        var gateway1 = new PrivateNatGatewayV3(\"gateway1\", PrivateNatGatewayV3Args.builder()\n            .name(\"test-acc-nat-gateway\")\n            .description(\"created\")\n            .spec(\"Small\")\n            .downlinkVpcs(PrivateNatGatewayV3DownlinkVpcArgs.builder()\n                .virsubnetId(networkId)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  networkId:\n    type: dynamic\nresources:\n  gateway1:\n    type: opentelekomcloud:PrivateNatGatewayV3\n    name: gateway_1\n    properties:\n      name: test-acc-nat-gateway\n      description: created\n      spec: Small\n      downlinkVpcs:\n        - virsubnetId: ${networkId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPrivate NAT Gateway V3 resource can be imported using the gateway ID, `id`.\n\n```sh\n$ pulumi import opentelekomcloud:index/privateNatGatewayV3:PrivateNatGatewayV3 gw_1 \u003cid\u003e\n```\n\n","properties":{"createdAt":{"type":"string","description":"Indicates the time when the private NAT gateway was created. It is a UTC time in yyyy-mm-ddThh:mm:ssZ format.\n"},"description":{"type":"string","description":"Provides supplementary information about the private NAT gateway. The description can contain up to 255 characters and cannot contain angle brackets (\u003c\u003e).\n"},"downlinkVpcs":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FPrivateNatGatewayV3DownlinkVpc:PrivateNatGatewayV3DownlinkVpc"},"description":"Specifies the VPC where the private NAT gateway works. The\u003cspan pulumi-lang-nodejs=\" downlinkVpcs \" pulumi-lang-dotnet=\" DownlinkVpcs \" pulumi-lang-go=\" downlinkVpcs \" pulumi-lang-python=\" downlink_vpcs \" pulumi-lang-yaml=\" downlinkVpcs \" pulumi-lang-java=\" downlinkVpcs \"\u003e downlink_vpcs \u003c/span\u003estructure is documented below.\n"},"enterpriseProjectId":{"type":"string","description":"Specifies the ID of the enterprise project that is associated with the private NAT gateway when the private NAT gateway is created.\n"},"name":{"type":"string","description":"Specifies the private NAT gateway name. Only digits, letters, underscores (_), and hyphens (-) are allowed.\n"},"projectId":{"type":"string","description":"Indicates the project ID.\n"},"ruleMax":{"type":"number","description":"Indicates Specifies the maximum number of rules. Value range: `0-65535`\n"},"spec":{"type":"string","description":"Specifies the private NAT gateway specifications. The value can be: `Small`, `Medium`, `Large`, `Extra-large`. Default value: `Small`.\n"},"status":{"type":"string","description":"Indicates the private NAT gateway status. The value can be: `ACTIVE` (The private NAT gateway is running properly) or `FROZEN` (The private NAT gateway is frozen).\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the tag list in key/value format.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"downlinkVpcs\"\" pulumi-lang-dotnet=\"\"DownlinkVpcs\"\" pulumi-lang-go=\"\"downlinkVpcs\"\" pulumi-lang-python=\"\"downlink_vpcs\"\" pulumi-lang-yaml=\"\"downlinkVpcs\"\" pulumi-lang-java=\"\"downlinkVpcs\"\"\u003e\"downlink_vpcs\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`downlinkVpcs`\" pulumi-lang-dotnet=\"`DownlinkVpcs`\" pulumi-lang-go=\"`downlinkVpcs`\" pulumi-lang-python=\"`downlink_vpcs`\" pulumi-lang-yaml=\"`downlinkVpcs`\" pulumi-lang-java=\"`downlinkVpcs`\"\u003e`downlink_vpcs`\u003c/span\u003e block supports:\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FPrivateNatGatewayV3Timeouts:PrivateNatGatewayV3Timeouts"},"transitIpPoolSizeMax":{"type":"number","description":"Specifies the maximum number of transit IP addresses in a transit IP address pool. Value range: `0-100`\n"},"updatedAt":{"type":"string","description":"Indicates the time when the private NAT gateway was updated. It is a UTC time in yyyy-mm-ddThh:mm:ssZ format.\n"}},"type":"object","required":["createdAt","downlinkVpcs","enterpriseProjectId","name","projectId","ruleMax","status","transitIpPoolSizeMax","updatedAt"],"inputProperties":{"description":{"type":"string","description":"Provides supplementary information about the private NAT gateway. The description can contain up to 255 characters and cannot contain angle brackets (\u003c\u003e).\n"},"downlinkVpcs":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FPrivateNatGatewayV3DownlinkVpc:PrivateNatGatewayV3DownlinkVpc"},"description":"Specifies the VPC where the private NAT gateway works. The\u003cspan pulumi-lang-nodejs=\" downlinkVpcs \" pulumi-lang-dotnet=\" DownlinkVpcs \" pulumi-lang-go=\" downlinkVpcs \" pulumi-lang-python=\" downlink_vpcs \" pulumi-lang-yaml=\" downlinkVpcs \" pulumi-lang-java=\" downlinkVpcs \"\u003e downlink_vpcs \u003c/span\u003estructure is documented below.\n"},"enterpriseProjectId":{"type":"string","description":"Specifies the ID of the enterprise project that is associated with the private NAT gateway when the private NAT gateway is created.\n"},"name":{"type":"string","description":"Specifies the private NAT gateway name. Only digits, letters, underscores (_), and hyphens (-) are allowed.\n"},"spec":{"type":"string","description":"Specifies the private NAT gateway specifications. The value can be: `Small`, `Medium`, `Large`, `Extra-large`. Default value: `Small`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the tag list in key/value format.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"downlinkVpcs\"\" pulumi-lang-dotnet=\"\"DownlinkVpcs\"\" pulumi-lang-go=\"\"downlinkVpcs\"\" pulumi-lang-python=\"\"downlink_vpcs\"\" pulumi-lang-yaml=\"\"downlinkVpcs\"\" pulumi-lang-java=\"\"downlinkVpcs\"\"\u003e\"downlink_vpcs\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`downlinkVpcs`\" pulumi-lang-dotnet=\"`DownlinkVpcs`\" pulumi-lang-go=\"`downlinkVpcs`\" pulumi-lang-python=\"`downlink_vpcs`\" pulumi-lang-yaml=\"`downlinkVpcs`\" pulumi-lang-java=\"`downlinkVpcs`\"\u003e`downlink_vpcs`\u003c/span\u003e block supports:\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FPrivateNatGatewayV3Timeouts:PrivateNatGatewayV3Timeouts"}},"requiredInputs":["downlinkVpcs"],"stateInputs":{"description":"Input properties used for looking up and filtering PrivateNatGatewayV3 resources.\n","properties":{"createdAt":{"type":"string","description":"Indicates the time when the private NAT gateway was created. It is a UTC time in yyyy-mm-ddThh:mm:ssZ format.\n"},"description":{"type":"string","description":"Provides supplementary information about the private NAT gateway. The description can contain up to 255 characters and cannot contain angle brackets (\u003c\u003e).\n"},"downlinkVpcs":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FPrivateNatGatewayV3DownlinkVpc:PrivateNatGatewayV3DownlinkVpc"},"description":"Specifies the VPC where the private NAT gateway works. The\u003cspan pulumi-lang-nodejs=\" downlinkVpcs \" pulumi-lang-dotnet=\" DownlinkVpcs \" pulumi-lang-go=\" downlinkVpcs \" pulumi-lang-python=\" downlink_vpcs \" pulumi-lang-yaml=\" downlinkVpcs \" pulumi-lang-java=\" downlinkVpcs \"\u003e downlink_vpcs \u003c/span\u003estructure is documented below.\n"},"enterpriseProjectId":{"type":"string","description":"Specifies the ID of the enterprise project that is associated with the private NAT gateway when the private NAT gateway is created.\n"},"name":{"type":"string","description":"Specifies the private NAT gateway name. Only digits, letters, underscores (_), and hyphens (-) are allowed.\n"},"projectId":{"type":"string","description":"Indicates the project ID.\n"},"ruleMax":{"type":"number","description":"Indicates Specifies the maximum number of rules. Value range: `0-65535`\n"},"spec":{"type":"string","description":"Specifies the private NAT gateway specifications. The value can be: `Small`, `Medium`, `Large`, `Extra-large`. Default value: `Small`.\n"},"status":{"type":"string","description":"Indicates the private NAT gateway status. The value can be: `ACTIVE` (The private NAT gateway is running properly) or `FROZEN` (The private NAT gateway is frozen).\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the tag list in key/value format.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"downlinkVpcs\"\" pulumi-lang-dotnet=\"\"DownlinkVpcs\"\" pulumi-lang-go=\"\"downlinkVpcs\"\" pulumi-lang-python=\"\"downlink_vpcs\"\" pulumi-lang-yaml=\"\"downlinkVpcs\"\" pulumi-lang-java=\"\"downlinkVpcs\"\"\u003e\"downlink_vpcs\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`downlinkVpcs`\" pulumi-lang-dotnet=\"`DownlinkVpcs`\" pulumi-lang-go=\"`downlinkVpcs`\" pulumi-lang-python=\"`downlink_vpcs`\" pulumi-lang-yaml=\"`downlinkVpcs`\" pulumi-lang-java=\"`downlinkVpcs`\"\u003e`downlink_vpcs`\u003c/span\u003e block supports:\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FPrivateNatGatewayV3Timeouts:PrivateNatGatewayV3Timeouts"},"transitIpPoolSizeMax":{"type":"number","description":"Specifies the maximum number of transit IP addresses in a transit IP address pool. Value range: `0-100`\n"},"updatedAt":{"type":"string","description":"Indicates the time when the private NAT gateway was updated. It is a UTC time in yyyy-mm-ddThh:mm:ssZ format.\n"}},"type":"object"}},"opentelekomcloud:index/privateNatSnatRuleV3:PrivateNatSnatRuleV3":{"description":"Up-to-date reference of API arguments for Private NAT SNAT rule you can get at\n[documentation portal](https://docs.otc.t-systems.com/nat-gateway/api-ref/apis_for_private_nat_gateways_v3.0/snat_rules/index.html)\n\nManages a V3 Private NAT SNAT rule resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst transitIpId = config.requireObject\u003cany\u003e(\"transitIpId\");\nconst networkId = config.requireObject\u003cany\u003e(\"networkId\");\nconst gatewayId = config.requireObject\u003cany\u003e(\"gatewayId\");\nconst rule1 = new opentelekomcloud.PrivateNatSnatRuleV3(\"rule_1\", {\n    description: \"created\",\n    transitIpIds: [\"var.transit_ip_id\"],\n    virsubnetId: networkId,\n    gatewayId: gatewayId,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ntransit_ip_id = config.require_object(\"transitIpId\")\nnetwork_id = config.require_object(\"networkId\")\ngateway_id = config.require_object(\"gatewayId\")\nrule1 = opentelekomcloud.PrivateNatSnatRuleV3(\"rule_1\",\n    description=\"created\",\n    transit_ip_ids=[\"var.transit_ip_id\"],\n    virsubnet_id=network_id,\n    gateway_id=gateway_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var transitIpId = config.RequireObject\u003cdynamic\u003e(\"transitIpId\");\n    var networkId = config.RequireObject\u003cdynamic\u003e(\"networkId\");\n    var gatewayId = config.RequireObject\u003cdynamic\u003e(\"gatewayId\");\n    var rule1 = new Opentelekomcloud.PrivateNatSnatRuleV3(\"rule_1\", new()\n    {\n        Description = \"created\",\n        TransitIpIds = new[]\n        {\n            \"var.transit_ip_id\",\n        },\n        VirsubnetId = networkId,\n        GatewayId = gatewayId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\ttransitIpId := cfg.RequireObject(\"transitIpId\")\n\t\tnetworkId := cfg.RequireObject(\"networkId\")\n\t\tgatewayId := cfg.RequireObject(\"gatewayId\")\n\t\t_, err := opentelekomcloud.NewPrivateNatSnatRuleV3(ctx, \"rule_1\", \u0026opentelekomcloud.PrivateNatSnatRuleV3Args{\n\t\t\tDescription: pulumi.String(\"created\"),\n\t\t\tTransitIpIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"var.transit_ip_id\"),\n\t\t\t},\n\t\t\tVirsubnetId: pulumi.Any(networkId),\n\t\t\tGatewayId:   pulumi.Any(gatewayId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.PrivateNatSnatRuleV3;\nimport com.pulumi.opentelekomcloud.PrivateNatSnatRuleV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var transitIpId = config.get(\"transitIpId\");\n        final var networkId = config.get(\"networkId\");\n        final var gatewayId = config.get(\"gatewayId\");\n        var rule1 = new PrivateNatSnatRuleV3(\"rule1\", PrivateNatSnatRuleV3Args.builder()\n            .description(\"created\")\n            .transitIpIds(\"var.transit_ip_id\")\n            .virsubnetId(networkId)\n            .gatewayId(gatewayId)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  transitIpId:\n    type: dynamic\n  networkId:\n    type: dynamic\n  gatewayId:\n    type: dynamic\nresources:\n  rule1:\n    type: opentelekomcloud:PrivateNatSnatRuleV3\n    name: rule_1\n    properties:\n      description: created\n      transitIpIds:\n        - var.transit_ip_id\n      virsubnetId: ${networkId}\n      gatewayId: ${gatewayId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPrivate NAT SNAT rule V3 resource can be imported using the SNAT rule ID, `id`.\n\n```sh\n$ pulumi import opentelekomcloud:index/privateNatSnatRuleV3:PrivateNatSnatRuleV3 rule_1 \u003cid\u003e\n```\n\n","properties":{"cidr":{"type":"string","description":"Specifies the CIDR block that matches the SNAT rule. Either this parameter or \u003cspan pulumi-lang-nodejs=\"`virsubnetId`\" pulumi-lang-dotnet=\"`VirsubnetId`\" pulumi-lang-go=\"`virsubnetId`\" pulumi-lang-python=\"`virsubnet_id`\" pulumi-lang-yaml=\"`virsubnetId`\" pulumi-lang-java=\"`virsubnetId`\"\u003e`virsubnet_id`\u003c/span\u003e must be specified.\n"},"createdAt":{"type":"string","description":"Indicates the time when the private NAT SNAT rule was created. It is a UTC time in yyyy-mm-ddThh:mm:ssZ format.\n"},"description":{"type":"string","description":"Provides supplementary information about the SNAT rule. The description can contain up to 255 characters and cannot contain angle brackets (\u003c\u003e).\n"},"enterpriseProjectId":{"type":"string","description":"Indicates the ID of the enterprise project that is associated with the SNAT rule when the SNAT rule is created.\n"},"gatewayId":{"type":"string","description":"Specifies the private NAT gateway ID.\n"},"privateNatSnatRuleV3Id":{"type":"string","description":"Private NAT SNAT rule ID.\n"},"projectId":{"type":"string","description":"Indicates the project ID.\n"},"status":{"type":"string","description":"Indicates the private NAT SNAT rule status. The value can be: `ACTIVE` (The SNAT rule is running properly) or `FROZEN` (The SNAT rule is frozen).\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FPrivateNatSnatRuleV3Timeouts:PrivateNatSnatRuleV3Timeouts"},"transitIpAssociations":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FPrivateNatSnatRuleV3TransitIpAssociation:PrivateNatSnatRuleV3TransitIpAssociation"},"description":"Indicates the list of details of associated transit IP addresses. The structure is described below.\n"},"transitIpIds":{"type":"array","items":{"type":"string"},"description":"Specifies the IDs of the transit IP addresses. A maximum number of \u003cspan pulumi-lang-nodejs=\"`20`\" pulumi-lang-dotnet=\"`20`\" pulumi-lang-go=\"`20`\" pulumi-lang-python=\"`20`\" pulumi-lang-yaml=\"`20`\" pulumi-lang-java=\"`20`\"\u003e`20`\u003c/span\u003e IDs is allowed.\n"},"updatedAt":{"type":"string","description":"Indicates the time when the private NAT SNAT rule was updated. It is a UTC time in yyyy-mm-ddThh:mm:ssZ format.\n"},"virsubnetId":{"type":"string","description":"Specifies the ID of the subnet that matches the SNAT rule. Either this parameter or \u003cspan pulumi-lang-nodejs=\"`cidr`\" pulumi-lang-dotnet=\"`Cidr`\" pulumi-lang-go=\"`cidr`\" pulumi-lang-python=\"`cidr`\" pulumi-lang-yaml=\"`cidr`\" pulumi-lang-java=\"`cidr`\"\u003e`cidr`\u003c/span\u003e must be specified.\n"}},"type":"object","required":["cidr","createdAt","enterpriseProjectId","gatewayId","privateNatSnatRuleV3Id","projectId","status","transitIpAssociations","transitIpIds","updatedAt","virsubnetId"],"inputProperties":{"cidr":{"type":"string","description":"Specifies the CIDR block that matches the SNAT rule. Either this parameter or \u003cspan pulumi-lang-nodejs=\"`virsubnetId`\" pulumi-lang-dotnet=\"`VirsubnetId`\" pulumi-lang-go=\"`virsubnetId`\" pulumi-lang-python=\"`virsubnet_id`\" pulumi-lang-yaml=\"`virsubnetId`\" pulumi-lang-java=\"`virsubnetId`\"\u003e`virsubnet_id`\u003c/span\u003e must be specified.\n"},"description":{"type":"string","description":"Provides supplementary information about the SNAT rule. The description can contain up to 255 characters and cannot contain angle brackets (\u003c\u003e).\n"},"gatewayId":{"type":"string","description":"Specifies the private NAT gateway ID.\n"},"privateNatSnatRuleV3Id":{"type":"string","description":"Private NAT SNAT rule ID.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FPrivateNatSnatRuleV3Timeouts:PrivateNatSnatRuleV3Timeouts"},"transitIpIds":{"type":"array","items":{"type":"string"},"description":"Specifies the IDs of the transit IP addresses. A maximum number of \u003cspan pulumi-lang-nodejs=\"`20`\" pulumi-lang-dotnet=\"`20`\" pulumi-lang-go=\"`20`\" pulumi-lang-python=\"`20`\" pulumi-lang-yaml=\"`20`\" pulumi-lang-java=\"`20`\"\u003e`20`\u003c/span\u003e IDs is allowed.\n"},"virsubnetId":{"type":"string","description":"Specifies the ID of the subnet that matches the SNAT rule. Either this parameter or \u003cspan pulumi-lang-nodejs=\"`cidr`\" pulumi-lang-dotnet=\"`Cidr`\" pulumi-lang-go=\"`cidr`\" pulumi-lang-python=\"`cidr`\" pulumi-lang-yaml=\"`cidr`\" pulumi-lang-java=\"`cidr`\"\u003e`cidr`\u003c/span\u003e must be specified.\n"}},"requiredInputs":["gatewayId","transitIpIds"],"stateInputs":{"description":"Input properties used for looking up and filtering PrivateNatSnatRuleV3 resources.\n","properties":{"cidr":{"type":"string","description":"Specifies the CIDR block that matches the SNAT rule. Either this parameter or \u003cspan pulumi-lang-nodejs=\"`virsubnetId`\" pulumi-lang-dotnet=\"`VirsubnetId`\" pulumi-lang-go=\"`virsubnetId`\" pulumi-lang-python=\"`virsubnet_id`\" pulumi-lang-yaml=\"`virsubnetId`\" pulumi-lang-java=\"`virsubnetId`\"\u003e`virsubnet_id`\u003c/span\u003e must be specified.\n"},"createdAt":{"type":"string","description":"Indicates the time when the private NAT SNAT rule was created. It is a UTC time in yyyy-mm-ddThh:mm:ssZ format.\n"},"description":{"type":"string","description":"Provides supplementary information about the SNAT rule. The description can contain up to 255 characters and cannot contain angle brackets (\u003c\u003e).\n"},"enterpriseProjectId":{"type":"string","description":"Indicates the ID of the enterprise project that is associated with the SNAT rule when the SNAT rule is created.\n"},"gatewayId":{"type":"string","description":"Specifies the private NAT gateway ID.\n"},"privateNatSnatRuleV3Id":{"type":"string","description":"Private NAT SNAT rule ID.\n"},"projectId":{"type":"string","description":"Indicates the project ID.\n"},"status":{"type":"string","description":"Indicates the private NAT SNAT rule status. The value can be: `ACTIVE` (The SNAT rule is running properly) or `FROZEN` (The SNAT rule is frozen).\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FPrivateNatSnatRuleV3Timeouts:PrivateNatSnatRuleV3Timeouts"},"transitIpAssociations":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FPrivateNatSnatRuleV3TransitIpAssociation:PrivateNatSnatRuleV3TransitIpAssociation"},"description":"Indicates the list of details of associated transit IP addresses. The structure is described below.\n"},"transitIpIds":{"type":"array","items":{"type":"string"},"description":"Specifies the IDs of the transit IP addresses. A maximum number of \u003cspan pulumi-lang-nodejs=\"`20`\" pulumi-lang-dotnet=\"`20`\" pulumi-lang-go=\"`20`\" pulumi-lang-python=\"`20`\" pulumi-lang-yaml=\"`20`\" pulumi-lang-java=\"`20`\"\u003e`20`\u003c/span\u003e IDs is allowed.\n"},"updatedAt":{"type":"string","description":"Indicates the time when the private NAT SNAT rule was updated. It is a UTC time in yyyy-mm-ddThh:mm:ssZ format.\n"},"virsubnetId":{"type":"string","description":"Specifies the ID of the subnet that matches the SNAT rule. Either this parameter or \u003cspan pulumi-lang-nodejs=\"`cidr`\" pulumi-lang-dotnet=\"`Cidr`\" pulumi-lang-go=\"`cidr`\" pulumi-lang-python=\"`cidr`\" pulumi-lang-yaml=\"`cidr`\" pulumi-lang-java=\"`cidr`\"\u003e`cidr`\u003c/span\u003e must be specified.\n"}},"type":"object"}},"opentelekomcloud:index/privateNatTransitIpV3:PrivateNatTransitIpV3":{"description":"Up-to-date reference of API arguments for Private NAT Transit IP you can get at\n[documentation portal](https://docs.otc.t-systems.com/nat-gateway/api-ref/apis_for_private_nat_gateways_v3.0/transit_ip_addresses/index.html)\n\nManages a V3 Private NAT Transit IP resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst networkId = config.requireObject\u003cany\u003e(\"networkId\");\nconst transitIp1 = new opentelekomcloud.PrivateNatTransitIpV3(\"transit_ip_1\", {\n    virsubnetId: networkId,\n    tags: {\n        kuh: \"muh\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nnetwork_id = config.require_object(\"networkId\")\ntransit_ip1 = opentelekomcloud.PrivateNatTransitIpV3(\"transit_ip_1\",\n    virsubnet_id=network_id,\n    tags={\n        \"kuh\": \"muh\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var networkId = config.RequireObject\u003cdynamic\u003e(\"networkId\");\n    var transitIp1 = new Opentelekomcloud.PrivateNatTransitIpV3(\"transit_ip_1\", new()\n    {\n        VirsubnetId = networkId,\n        Tags = \n        {\n            { \"kuh\", \"muh\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tnetworkId := cfg.RequireObject(\"networkId\")\n\t\t_, err := opentelekomcloud.NewPrivateNatTransitIpV3(ctx, \"transit_ip_1\", \u0026opentelekomcloud.PrivateNatTransitIpV3Args{\n\t\t\tVirsubnetId: pulumi.Any(networkId),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"kuh\": pulumi.String(\"muh\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.PrivateNatTransitIpV3;\nimport com.pulumi.opentelekomcloud.PrivateNatTransitIpV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var networkId = config.get(\"networkId\");\n        var transitIp1 = new PrivateNatTransitIpV3(\"transitIp1\", PrivateNatTransitIpV3Args.builder()\n            .virsubnetId(networkId)\n            .tags(Map.of(\"kuh\", \"muh\"))\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  networkId:\n    type: dynamic\nresources:\n  transitIp1:\n    type: opentelekomcloud:PrivateNatTransitIpV3\n    name: transit_ip_1\n    properties:\n      virsubnetId: ${networkId}\n      tags:\n        kuh: muh\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPrivate NAT Transit IP V3 resource can be imported using the Transit IP ID, `id`.\n\n```sh\n$ pulumi import opentelekomcloud:index/privateNatTransitIpV3:PrivateNatTransitIpV3 ip_1 \u003cid\u003e\n```\n\n","properties":{"createdAt":{"type":"string","description":"Indicates the time when the private NAT Transit IP was created. It is a UTC time in yyyy-mm-ddThh:mm:ssZ format.\n"},"enterpriseProjectId":{"type":"string","description":"Specifies the ID of the enterprise project that is associated with the transit IP address when the transit IP address is being assigned. Default: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"gatewayId":{"type":"string","description":"Indicates the ID of the private NAT gateway associated with the transit IP address.\n"},"ipAddress":{"type":"string","description":"Specifies the transit IP address.\n"},"networkInterfaceId":{"type":"string","description":"Indicates the network interface ID of the transit IP address.\n"},"projectId":{"type":"string","description":"Indicates the project ID.\n"},"status":{"type":"string","description":"Indicates the private NAT transit IP status. The value can be: `ACTIVE` (The Transit IP is running properly) or `FROZEN` (The Transit IP is frozen).\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the tag list in key/value format.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FPrivateNatTransitIpV3Timeouts:PrivateNatTransitIpV3Timeouts"},"updatedAt":{"type":"string","description":"Indicates the time when the private NAT Transit IP was updated. It is a UTC time in yyyy-mm-ddThh:mm:ssZ format.\n"},"virsubnetId":{"type":"string","description":"Specifies the subnet ID of the current project.\n"}},"type":"object","required":["createdAt","enterpriseProjectId","gatewayId","ipAddress","networkInterfaceId","projectId","status","updatedAt","virsubnetId"],"inputProperties":{"enterpriseProjectId":{"type":"string","description":"Specifies the ID of the enterprise project that is associated with the transit IP address when the transit IP address is being assigned. Default: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"ipAddress":{"type":"string","description":"Specifies the transit IP address.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the tag list in key/value format.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FPrivateNatTransitIpV3Timeouts:PrivateNatTransitIpV3Timeouts"},"virsubnetId":{"type":"string","description":"Specifies the subnet ID of the current project.\n"}},"requiredInputs":["virsubnetId"],"stateInputs":{"description":"Input properties used for looking up and filtering PrivateNatTransitIpV3 resources.\n","properties":{"createdAt":{"type":"string","description":"Indicates the time when the private NAT Transit IP was created. It is a UTC time in yyyy-mm-ddThh:mm:ssZ format.\n"},"enterpriseProjectId":{"type":"string","description":"Specifies the ID of the enterprise project that is associated with the transit IP address when the transit IP address is being assigned. Default: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"gatewayId":{"type":"string","description":"Indicates the ID of the private NAT gateway associated with the transit IP address.\n"},"ipAddress":{"type":"string","description":"Specifies the transit IP address.\n"},"networkInterfaceId":{"type":"string","description":"Indicates the network interface ID of the transit IP address.\n"},"projectId":{"type":"string","description":"Indicates the project ID.\n"},"status":{"type":"string","description":"Indicates the private NAT transit IP status. The value can be: `ACTIVE` (The Transit IP is running properly) or `FROZEN` (The Transit IP is frozen).\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the tag list in key/value format.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FPrivateNatTransitIpV3Timeouts:PrivateNatTransitIpV3Timeouts"},"updatedAt":{"type":"string","description":"Indicates the time when the private NAT Transit IP was updated. It is a UTC time in yyyy-mm-ddThh:mm:ssZ format.\n"},"virsubnetId":{"type":"string","description":"Specifies the subnet ID of the current project.\n"}},"type":"object"}},"opentelekomcloud:index/rdsBackupV3:RdsBackupV3":{"description":"Up-to-date reference of API arguments for RDS backup rule you can get at\n[documentation portal](https://docs.otc.t-systems.com/relational-database-service/api-ref/api_v3_recommended/backup_and_restoration)\n\nManages a manual RDS backup.\n\n## Example Usage\n\n### Create a basic RDS backup\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst test = new opentelekomcloud.RdsBackupV3(\"test\", {\n    instanceId: instance.id,\n    name: \"rds-backup-test-01\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ntest = opentelekomcloud.RdsBackupV3(\"test\",\n    instance_id=instance[\"id\"],\n    name=\"rds-backup-test-01\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = new Opentelekomcloud.RdsBackupV3(\"test\", new()\n    {\n        InstanceId = instance.Id,\n        Name = \"rds-backup-test-01\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewRdsBackupV3(ctx, \"test\", \u0026opentelekomcloud.RdsBackupV3Args{\n\t\t\tInstanceId: pulumi.Any(instance.Id),\n\t\t\tName:       pulumi.String(\"rds-backup-test-01\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.RdsBackupV3;\nimport com.pulumi.opentelekomcloud.RdsBackupV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test = new RdsBackupV3(\"test\", RdsBackupV3Args.builder()\n            .instanceId(instance.id())\n            .name(\"rds-backup-test-01\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test:\n    type: opentelekomcloud:RdsBackupV3\n    properties:\n      instanceId: ${instance.id}\n      name: rds-backup-test-01\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a specific RDS databases backup for Microsoft SQL Server\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst test = new opentelekomcloud.RdsBackupV3(\"test\", {\n    instanceId: instance.id,\n    name: \"rds-backup-test-01\",\n    databases: [\n        \"test\",\n        \"test2\",\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ntest = opentelekomcloud.RdsBackupV3(\"test\",\n    instance_id=instance[\"id\"],\n    name=\"rds-backup-test-01\",\n    databases=[\n        \"test\",\n        \"test2\",\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = new Opentelekomcloud.RdsBackupV3(\"test\", new()\n    {\n        InstanceId = instance.Id,\n        Name = \"rds-backup-test-01\",\n        Databases = new[]\n        {\n            \"test\",\n            \"test2\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewRdsBackupV3(ctx, \"test\", \u0026opentelekomcloud.RdsBackupV3Args{\n\t\t\tInstanceId: pulumi.Any(instance.Id),\n\t\t\tName:       pulumi.String(\"rds-backup-test-01\"),\n\t\t\tDatabases: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"test\"),\n\t\t\t\tpulumi.String(\"test2\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.RdsBackupV3;\nimport com.pulumi.opentelekomcloud.RdsBackupV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test = new RdsBackupV3(\"test\", RdsBackupV3Args.builder()\n            .instanceId(instance.id())\n            .name(\"rds-backup-test-01\")\n            .databases(            \n                \"test\",\n                \"test2\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test:\n    type: opentelekomcloud:RdsBackupV3\n    properties:\n      instanceId: ${instance.id}\n      name: rds-backup-test-01\n      databases:\n        - test\n        - test2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRDS backup can be imported using related RDS `instance_id` and their `backup_id`, separated by the slashes, e.g.\n\nbash\n\n```sh\n$ pulumi import opentelekomcloud:index/rdsBackupV3:RdsBackupV3 backup \u003cinstance_id\u003e/\u003cbackup_id\u003e\n```\n\n","properties":{"backupId":{"type":"string"},"beginTime":{"type":"string","description":"Indicates the backup start time in the \"yyyy-mm-ddThh:mm:ssZ\" format,\nwhere \"T\" indicates the start time of the time field, and \"Z\" indicates the time zone offset.\n"},"databases":{"type":"array","items":{"type":"string"},"description":"Specifies a list of self-built Microsoft SQL Server databases that are partially backed up.\n(Only Microsoft SQL Server support partial backups.)\n"},"instanceId":{"type":"string","description":"The ID of the RDS instance to which the backup belongs.\n"},"name":{"type":"string","description":"The name of the backup.\n"},"rdsBackupV3Id":{"type":"string","description":"The ID of the backup.\n"},"size":{"type":"number"},"status":{"type":"string","description":"Indicates the backup status. Values:\n- BUILDING: Backup in progress\n- COMPLETED: Backup completed\n- FAILED: Backup failed\n- DELETING: Backup being deleted\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FRdsBackupV3Timeouts:RdsBackupV3Timeouts"},"type":{"type":"string","description":"Indicates the backup type. Values:\n- auto: automated full backup\n- manual: manual full backup\n- fragment: differential full backup\n- incremental: automated incremental backup\n"}},"type":"object","required":["backupId","beginTime","instanceId","name","rdsBackupV3Id","size","status","type"],"inputProperties":{"databases":{"type":"array","items":{"type":"string"},"description":"Specifies a list of self-built Microsoft SQL Server databases that are partially backed up.\n(Only Microsoft SQL Server support partial backups.)\n"},"instanceId":{"type":"string","description":"The ID of the RDS instance to which the backup belongs.\n"},"name":{"type":"string","description":"The name of the backup.\n"},"rdsBackupV3Id":{"type":"string","description":"The ID of the backup.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FRdsBackupV3Timeouts:RdsBackupV3Timeouts"}},"requiredInputs":["instanceId"],"stateInputs":{"description":"Input properties used for looking up and filtering RdsBackupV3 resources.\n","properties":{"backupId":{"type":"string"},"beginTime":{"type":"string","description":"Indicates the backup start time in the \"yyyy-mm-ddThh:mm:ssZ\" format,\nwhere \"T\" indicates the start time of the time field, and \"Z\" indicates the time zone offset.\n"},"databases":{"type":"array","items":{"type":"string"},"description":"Specifies a list of self-built Microsoft SQL Server databases that are partially backed up.\n(Only Microsoft SQL Server support partial backups.)\n"},"instanceId":{"type":"string","description":"The ID of the RDS instance to which the backup belongs.\n"},"name":{"type":"string","description":"The name of the backup.\n"},"rdsBackupV3Id":{"type":"string","description":"The ID of the backup.\n"},"size":{"type":"number"},"status":{"type":"string","description":"Indicates the backup status. Values:\n- BUILDING: Backup in progress\n- COMPLETED: Backup completed\n- FAILED: Backup failed\n- DELETING: Backup being deleted\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FRdsBackupV3Timeouts:RdsBackupV3Timeouts"},"type":{"type":"string","description":"Indicates the backup type. Values:\n- auto: automated full backup\n- manual: manual full backup\n- fragment: differential full backup\n- incremental: automated incremental backup\n"}},"type":"object"}},"opentelekomcloud:index/rdsInstanceMinorVersionUpgradeV3:RdsInstanceMinorVersionUpgradeV3":{"description":"Up-to-date reference of API arguments for RDS instance minor version upgrade you can get at\n[documentation portal](https://docs.otc.t-systems.com/relational-database-service/api-ref/api_v3_recommended/db_instance_management/upgrading_a_minor_version.html#rds-05-0024)\n\nManages an RDSv3 instance minor version upgrade resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst instanceId = config.requireObject\u003cany\u003e(\"instanceId\");\nconst test = new opentelekomcloud.RdsInstanceMinorVersionUpgradeV3(\"test\", {instanceId: instanceId});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ninstance_id = config.require_object(\"instanceId\")\ntest = opentelekomcloud.RdsInstanceMinorVersionUpgradeV3(\"test\", instance_id=instance_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var instanceId = config.RequireObject\u003cdynamic\u003e(\"instanceId\");\n    var test = new Opentelekomcloud.RdsInstanceMinorVersionUpgradeV3(\"test\", new()\n    {\n        InstanceId = instanceId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tinstanceId := cfg.RequireObject(\"instanceId\")\n\t\t_, err := opentelekomcloud.NewRdsInstanceMinorVersionUpgradeV3(ctx, \"test\", \u0026opentelekomcloud.RdsInstanceMinorVersionUpgradeV3Args{\n\t\t\tInstanceId: pulumi.Any(instanceId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.RdsInstanceMinorVersionUpgradeV3;\nimport com.pulumi.opentelekomcloud.RdsInstanceMinorVersionUpgradeV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var instanceId = config.get(\"instanceId\");\n        var test = new RdsInstanceMinorVersionUpgradeV3(\"test\", RdsInstanceMinorVersionUpgradeV3Args.builder()\n            .instanceId(instanceId)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  instanceId:\n    type: dynamic\nresources:\n  test:\n    type: opentelekomcloud:RdsInstanceMinorVersionUpgradeV3\n    properties:\n      instanceId: ${instanceId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"delay":{"type":"boolean","description":"Specifies whether the upgrade is delayed to the maintenance window.\nDefaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n+ **true**: The upgrade is delayed and performed within the maintenance window.\n+ **false**: The upgrade is performed immediately.\n"},"instanceId":{"type":"string","description":"Specifies the ID of the RDS instance to upgrade.\n"},"rdsInstanceMinorVersionUpgradeV3Id":{"type":"string","description":"The resource ID, which is the instance ID.\n"}},"type":"object","required":["instanceId","rdsInstanceMinorVersionUpgradeV3Id"],"inputProperties":{"delay":{"type":"boolean","description":"Specifies whether the upgrade is delayed to the maintenance window.\nDefaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n+ **true**: The upgrade is delayed and performed within the maintenance window.\n+ **false**: The upgrade is performed immediately.\n"},"instanceId":{"type":"string","description":"Specifies the ID of the RDS instance to upgrade.\n"},"rdsInstanceMinorVersionUpgradeV3Id":{"type":"string","description":"The resource ID, which is the instance ID.\n"}},"requiredInputs":["instanceId"],"stateInputs":{"description":"Input properties used for looking up and filtering RdsInstanceMinorVersionUpgradeV3 resources.\n","properties":{"delay":{"type":"boolean","description":"Specifies whether the upgrade is delayed to the maintenance window.\nDefaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n+ **true**: The upgrade is delayed and performed within the maintenance window.\n+ **false**: The upgrade is performed immediately.\n"},"instanceId":{"type":"string","description":"Specifies the ID of the RDS instance to upgrade.\n"},"rdsInstanceMinorVersionUpgradeV3Id":{"type":"string","description":"The resource ID, which is the instance ID.\n"}},"type":"object"}},"opentelekomcloud:index/rdsInstanceV1:RdsInstanceV1":{"description":"Up-to-date reference of API arguments for RDS instance you can get at\n[documentation portal](https://docs.otc.t-systems.com/relational-database-service/api-ref/api_v1_to_be_discarded/db_instance_management)\n\n**DEPRECATED**\nManages RDS instance v1 resource within OpenTelekomCloud.\n\n## Example Usage\n\n### Creating a PostgreSQL RDS instance\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst flavor = opentelekomcloud.getRdsFlavorsV1({\n    datastoreName: \"PostgreSQL\",\n    datastoreVersion: \"16\",\n    speccode: \"rds.pg.x1.xlarge.4\",\n});\nconst secgrpRds = new opentelekomcloud.ComputeSecgroupV2(\"secgrp_rds\", {\n    name: \"secgrp-rds-instance\",\n    description: \"Rds Security Group\",\n});\nconst instance = new opentelekomcloud.RdsInstanceV1(\"instance\", {\n    name: \"rds-instance\",\n    availabilityzone: \"eu-de-01\",\n    datastore: {\n        type: \"PostgreSQL\",\n        version: \"16\",\n    },\n    flavorref: flavor.then(flavor =\u003e flavor.id),\n    volume: {\n        type: \"CLOUDSSD\",\n        size: 200,\n    },\n    vpc: \"c1095fe7-03df-4205-ad2d-6f4c181d436e\",\n    dbrtpd: \"P@ssw0rd1!9851\",\n    dbport: \"8635\",\n    nics: {\n        subnetid: \"b65f8d25-c533-47e2-8601-cfaa265a3e3e\",\n    },\n    securitygroup: {\n        id: secgrpRds.computeSecgroupV2Id,\n    },\n    backupstrategy: {\n        starttime: \"04:00:00\",\n        keepdays: 4,\n    },\n    ha: {\n        enable: true,\n        replicationmode: \"async\",\n    },\n    tag: {\n        foo: \"bar\",\n        key: \"value\",\n    },\n}, {\n    dependsOn: [secgrpRds],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nflavor = opentelekomcloud.get_rds_flavors_v1(datastore_name=\"PostgreSQL\",\n    datastore_version=\"16\",\n    speccode=\"rds.pg.x1.xlarge.4\")\nsecgrp_rds = opentelekomcloud.ComputeSecgroupV2(\"secgrp_rds\",\n    name=\"secgrp-rds-instance\",\n    description=\"Rds Security Group\")\ninstance = opentelekomcloud.RdsInstanceV1(\"instance\",\n    name=\"rds-instance\",\n    availabilityzone=\"eu-de-01\",\n    datastore={\n        \"type\": \"PostgreSQL\",\n        \"version\": \"16\",\n    },\n    flavorref=flavor.id,\n    volume={\n        \"type\": \"CLOUDSSD\",\n        \"size\": 200,\n    },\n    vpc=\"c1095fe7-03df-4205-ad2d-6f4c181d436e\",\n    dbrtpd=\"P@ssw0rd1!9851\",\n    dbport=\"8635\",\n    nics={\n        \"subnetid\": \"b65f8d25-c533-47e2-8601-cfaa265a3e3e\",\n    },\n    securitygroup={\n        \"id\": secgrp_rds.compute_secgroup_v2_id,\n    },\n    backupstrategy={\n        \"starttime\": \"04:00:00\",\n        \"keepdays\": 4,\n    },\n    ha={\n        \"enable\": True,\n        \"replicationmode\": \"async\",\n    },\n    tag={\n        \"foo\": \"bar\",\n        \"key\": \"value\",\n    },\n    opts = pulumi.ResourceOptions(depends_on=[secgrp_rds]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var flavor = Opentelekomcloud.GetRdsFlavorsV1.Invoke(new()\n    {\n        DatastoreName = \"PostgreSQL\",\n        DatastoreVersion = \"16\",\n        Speccode = \"rds.pg.x1.xlarge.4\",\n    });\n\n    var secgrpRds = new Opentelekomcloud.ComputeSecgroupV2(\"secgrp_rds\", new()\n    {\n        Name = \"secgrp-rds-instance\",\n        Description = \"Rds Security Group\",\n    });\n\n    var instance = new Opentelekomcloud.RdsInstanceV1(\"instance\", new()\n    {\n        Name = \"rds-instance\",\n        Availabilityzone = \"eu-de-01\",\n        Datastore = new Opentelekomcloud.Inputs.RdsInstanceV1DatastoreArgs\n        {\n            Type = \"PostgreSQL\",\n            Version = \"16\",\n        },\n        Flavorref = flavor.Apply(getRdsFlavorsV1Result =\u003e getRdsFlavorsV1Result.Id),\n        Volume = new Opentelekomcloud.Inputs.RdsInstanceV1VolumeArgs\n        {\n            Type = \"CLOUDSSD\",\n            Size = 200,\n        },\n        Vpc = \"c1095fe7-03df-4205-ad2d-6f4c181d436e\",\n        Dbrtpd = \"P@ssw0rd1!9851\",\n        Dbport = \"8635\",\n        Nics = new Opentelekomcloud.Inputs.RdsInstanceV1NicsArgs\n        {\n            Subnetid = \"b65f8d25-c533-47e2-8601-cfaa265a3e3e\",\n        },\n        Securitygroup = new Opentelekomcloud.Inputs.RdsInstanceV1SecuritygroupArgs\n        {\n            Id = secgrpRds.ComputeSecgroupV2Id,\n        },\n        Backupstrategy = new Opentelekomcloud.Inputs.RdsInstanceV1BackupstrategyArgs\n        {\n            Starttime = \"04:00:00\",\n            Keepdays = 4,\n        },\n        Ha = new Opentelekomcloud.Inputs.RdsInstanceV1HaArgs\n        {\n            Enable = true,\n            Replicationmode = \"async\",\n        },\n        Tag = \n        {\n            { \"foo\", \"bar\" },\n            { \"key\", \"value\" },\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            secgrpRds,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tflavor, err := opentelekomcloud.GetRdsFlavorsV1(ctx, \u0026opentelekomcloud.GetRdsFlavorsV1Args{\n\t\t\tDatastoreName:    \"PostgreSQL\",\n\t\t\tDatastoreVersion: \"16\",\n\t\t\tSpeccode:         pulumi.StringRef(\"rds.pg.x1.xlarge.4\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsecgrpRds, err := opentelekomcloud.NewComputeSecgroupV2(ctx, \"secgrp_rds\", \u0026opentelekomcloud.ComputeSecgroupV2Args{\n\t\t\tName:        pulumi.String(\"secgrp-rds-instance\"),\n\t\t\tDescription: pulumi.String(\"Rds Security Group\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewRdsInstanceV1(ctx, \"instance\", \u0026opentelekomcloud.RdsInstanceV1Args{\n\t\t\tName:             pulumi.String(\"rds-instance\"),\n\t\t\tAvailabilityzone: pulumi.String(\"eu-de-01\"),\n\t\t\tDatastore: \u0026opentelekomcloud.RdsInstanceV1DatastoreArgs{\n\t\t\t\tType:    pulumi.String(\"PostgreSQL\"),\n\t\t\t\tVersion: pulumi.String(\"16\"),\n\t\t\t},\n\t\t\tFlavorref: pulumi.String(flavor.Id),\n\t\t\tVolume: \u0026opentelekomcloud.RdsInstanceV1VolumeArgs{\n\t\t\t\tType: pulumi.String(\"CLOUDSSD\"),\n\t\t\t\tSize: pulumi.Float64(200),\n\t\t\t},\n\t\t\tVpc:    pulumi.String(\"c1095fe7-03df-4205-ad2d-6f4c181d436e\"),\n\t\t\tDbrtpd: pulumi.String(\"P@ssw0rd1!9851\"),\n\t\t\tDbport: pulumi.String(\"8635\"),\n\t\t\tNics: \u0026opentelekomcloud.RdsInstanceV1NicsArgs{\n\t\t\t\tSubnetid: pulumi.String(\"b65f8d25-c533-47e2-8601-cfaa265a3e3e\"),\n\t\t\t},\n\t\t\tSecuritygroup: \u0026opentelekomcloud.RdsInstanceV1SecuritygroupArgs{\n\t\t\t\tId: secgrpRds.ComputeSecgroupV2Id,\n\t\t\t},\n\t\t\tBackupstrategy: \u0026opentelekomcloud.RdsInstanceV1BackupstrategyArgs{\n\t\t\t\tStarttime: pulumi.String(\"04:00:00\"),\n\t\t\t\tKeepdays:  pulumi.Float64(4),\n\t\t\t},\n\t\t\tHa: \u0026opentelekomcloud.RdsInstanceV1HaArgs{\n\t\t\t\tEnable:          pulumi.Bool(true),\n\t\t\t\tReplicationmode: pulumi.String(\"async\"),\n\t\t\t},\n\t\t\tTag: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t\t\"key\": pulumi.String(\"value\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tsecgrpRds,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetRdsFlavorsV1Args;\nimport com.pulumi.opentelekomcloud.ComputeSecgroupV2;\nimport com.pulumi.opentelekomcloud.ComputeSecgroupV2Args;\nimport com.pulumi.opentelekomcloud.RdsInstanceV1;\nimport com.pulumi.opentelekomcloud.RdsInstanceV1Args;\nimport com.pulumi.opentelekomcloud.inputs.RdsInstanceV1DatastoreArgs;\nimport com.pulumi.opentelekomcloud.inputs.RdsInstanceV1VolumeArgs;\nimport com.pulumi.opentelekomcloud.inputs.RdsInstanceV1NicsArgs;\nimport com.pulumi.opentelekomcloud.inputs.RdsInstanceV1SecuritygroupArgs;\nimport com.pulumi.opentelekomcloud.inputs.RdsInstanceV1BackupstrategyArgs;\nimport com.pulumi.opentelekomcloud.inputs.RdsInstanceV1HaArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var flavor = OpentelekomcloudFunctions.getRdsFlavorsV1(GetRdsFlavorsV1Args.builder()\n            .datastoreName(\"PostgreSQL\")\n            .datastoreVersion(\"16\")\n            .speccode(\"rds.pg.x1.xlarge.4\")\n            .build());\n\n        var secgrpRds = new ComputeSecgroupV2(\"secgrpRds\", ComputeSecgroupV2Args.builder()\n            .name(\"secgrp-rds-instance\")\n            .description(\"Rds Security Group\")\n            .build());\n\n        var instance = new RdsInstanceV1(\"instance\", RdsInstanceV1Args.builder()\n            .name(\"rds-instance\")\n            .availabilityzone(\"eu-de-01\")\n            .datastore(RdsInstanceV1DatastoreArgs.builder()\n                .type(\"PostgreSQL\")\n                .version(\"16\")\n                .build())\n            .flavorref(flavor.id())\n            .volume(RdsInstanceV1VolumeArgs.builder()\n                .type(\"CLOUDSSD\")\n                .size(200.0)\n                .build())\n            .vpc(\"c1095fe7-03df-4205-ad2d-6f4c181d436e\")\n            .dbrtpd(\"P@ssw0rd1!9851\")\n            .dbport(\"8635\")\n            .nics(RdsInstanceV1NicsArgs.builder()\n                .subnetid(\"b65f8d25-c533-47e2-8601-cfaa265a3e3e\")\n                .build())\n            .securitygroup(RdsInstanceV1SecuritygroupArgs.builder()\n                .id(secgrpRds.computeSecgroupV2Id())\n                .build())\n            .backupstrategy(RdsInstanceV1BackupstrategyArgs.builder()\n                .starttime(\"04:00:00\")\n                .keepdays(4.0)\n                .build())\n            .ha(RdsInstanceV1HaArgs.builder()\n                .enable(true)\n                .replicationmode(\"async\")\n                .build())\n            .tag(Map.ofEntries(\n                Map.entry(\"foo\", \"bar\"),\n                Map.entry(\"key\", \"value\")\n            ))\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(secgrpRds)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  secgrpRds:\n    type: opentelekomcloud:ComputeSecgroupV2\n    name: secgrp_rds\n    properties:\n      name: secgrp-rds-instance\n      description: Rds Security Group\n  instance:\n    type: opentelekomcloud:RdsInstanceV1\n    properties:\n      name: rds-instance\n      availabilityzone: eu-de-01\n      datastore:\n        type: PostgreSQL\n        version: '16'\n      flavorref: ${flavor.id}\n      volume:\n        type: CLOUDSSD\n        size: 200\n      vpc: c1095fe7-03df-4205-ad2d-6f4c181d436e\n      dbrtpd: P@ssw0rd1!9851\n      dbport: '8635'\n      nics:\n        subnetid: b65f8d25-c533-47e2-8601-cfaa265a3e3e\n      securitygroup:\n        id: ${secgrpRds.computeSecgroupV2Id}\n      backupstrategy:\n        starttime: 04:00:00\n        keepdays: 4\n      ha:\n        enable: true\n        replicationmode: async\n      tag:\n        foo: bar\n        key: value\n    options:\n      dependsOn:\n        - ${secgrpRds}\nvariables:\n  flavor:\n    fn::invoke:\n      function: opentelekomcloud:getRdsFlavorsV1\n      arguments:\n        datastoreName: PostgreSQL\n        datastoreVersion: '16'\n        speccode: rds.pg.x1.xlarge.4\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Creating a SQLServer RDS instance\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst flavor = opentelekomcloud.getRdsFlavorsV1({\n    datastoreName: \"SQLServer\",\n    datastoreVersion: \"2022_SE\",\n    speccode: \"rds.mssql.c2.xlarge\",\n});\nconst secgrpRds = new opentelekomcloud.ComputeSecgroupV2(\"secgrp_rds\", {\n    name: \"secgrp-rds-instance\",\n    description: \"Rds Security Group\",\n});\nconst instance = new opentelekomcloud.RdsInstanceV1(\"instance\", {\n    name: \"rds-instance\",\n    availabilityzone: \"eu-de-01\",\n    flavorref: flavor.then(flavor =\u003e flavor.id),\n    vpc: \"c1095fe7-03df-4205-ad2d-6f4c181d436e\",\n    dbport: \"8635\",\n    dbrtpd: \"P@ssw0rd1!9851\",\n    datastore: {\n        type: \"SQLServer\",\n        version: \"2022_SE\",\n    },\n    volume: {\n        type: \"COMMON\",\n        size: 200,\n    },\n    nics: {\n        subnetid: \"b65f8d25-c533-47e2-8601-cfaa265a3e3e\",\n    },\n    securitygroup: {\n        id: secgrpRds.computeSecgroupV2Id,\n    },\n    backupstrategy: {\n        starttime: \"04:00:00\",\n        keepdays: 4,\n    },\n}, {\n    dependsOn: [secgrpRds],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nflavor = opentelekomcloud.get_rds_flavors_v1(datastore_name=\"SQLServer\",\n    datastore_version=\"2022_SE\",\n    speccode=\"rds.mssql.c2.xlarge\")\nsecgrp_rds = opentelekomcloud.ComputeSecgroupV2(\"secgrp_rds\",\n    name=\"secgrp-rds-instance\",\n    description=\"Rds Security Group\")\ninstance = opentelekomcloud.RdsInstanceV1(\"instance\",\n    name=\"rds-instance\",\n    availabilityzone=\"eu-de-01\",\n    flavorref=flavor.id,\n    vpc=\"c1095fe7-03df-4205-ad2d-6f4c181d436e\",\n    dbport=\"8635\",\n    dbrtpd=\"P@ssw0rd1!9851\",\n    datastore={\n        \"type\": \"SQLServer\",\n        \"version\": \"2022_SE\",\n    },\n    volume={\n        \"type\": \"COMMON\",\n        \"size\": 200,\n    },\n    nics={\n        \"subnetid\": \"b65f8d25-c533-47e2-8601-cfaa265a3e3e\",\n    },\n    securitygroup={\n        \"id\": secgrp_rds.compute_secgroup_v2_id,\n    },\n    backupstrategy={\n        \"starttime\": \"04:00:00\",\n        \"keepdays\": 4,\n    },\n    opts = pulumi.ResourceOptions(depends_on=[secgrp_rds]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var flavor = Opentelekomcloud.GetRdsFlavorsV1.Invoke(new()\n    {\n        DatastoreName = \"SQLServer\",\n        DatastoreVersion = \"2022_SE\",\n        Speccode = \"rds.mssql.c2.xlarge\",\n    });\n\n    var secgrpRds = new Opentelekomcloud.ComputeSecgroupV2(\"secgrp_rds\", new()\n    {\n        Name = \"secgrp-rds-instance\",\n        Description = \"Rds Security Group\",\n    });\n\n    var instance = new Opentelekomcloud.RdsInstanceV1(\"instance\", new()\n    {\n        Name = \"rds-instance\",\n        Availabilityzone = \"eu-de-01\",\n        Flavorref = flavor.Apply(getRdsFlavorsV1Result =\u003e getRdsFlavorsV1Result.Id),\n        Vpc = \"c1095fe7-03df-4205-ad2d-6f4c181d436e\",\n        Dbport = \"8635\",\n        Dbrtpd = \"P@ssw0rd1!9851\",\n        Datastore = new Opentelekomcloud.Inputs.RdsInstanceV1DatastoreArgs\n        {\n            Type = \"SQLServer\",\n            Version = \"2022_SE\",\n        },\n        Volume = new Opentelekomcloud.Inputs.RdsInstanceV1VolumeArgs\n        {\n            Type = \"COMMON\",\n            Size = 200,\n        },\n        Nics = new Opentelekomcloud.Inputs.RdsInstanceV1NicsArgs\n        {\n            Subnetid = \"b65f8d25-c533-47e2-8601-cfaa265a3e3e\",\n        },\n        Securitygroup = new Opentelekomcloud.Inputs.RdsInstanceV1SecuritygroupArgs\n        {\n            Id = secgrpRds.ComputeSecgroupV2Id,\n        },\n        Backupstrategy = new Opentelekomcloud.Inputs.RdsInstanceV1BackupstrategyArgs\n        {\n            Starttime = \"04:00:00\",\n            Keepdays = 4,\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            secgrpRds,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tflavor, err := opentelekomcloud.GetRdsFlavorsV1(ctx, \u0026opentelekomcloud.GetRdsFlavorsV1Args{\n\t\t\tDatastoreName:    \"SQLServer\",\n\t\t\tDatastoreVersion: \"2022_SE\",\n\t\t\tSpeccode:         pulumi.StringRef(\"rds.mssql.c2.xlarge\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsecgrpRds, err := opentelekomcloud.NewComputeSecgroupV2(ctx, \"secgrp_rds\", \u0026opentelekomcloud.ComputeSecgroupV2Args{\n\t\t\tName:        pulumi.String(\"secgrp-rds-instance\"),\n\t\t\tDescription: pulumi.String(\"Rds Security Group\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewRdsInstanceV1(ctx, \"instance\", \u0026opentelekomcloud.RdsInstanceV1Args{\n\t\t\tName:             pulumi.String(\"rds-instance\"),\n\t\t\tAvailabilityzone: pulumi.String(\"eu-de-01\"),\n\t\t\tFlavorref:        pulumi.String(flavor.Id),\n\t\t\tVpc:              pulumi.String(\"c1095fe7-03df-4205-ad2d-6f4c181d436e\"),\n\t\t\tDbport:           pulumi.String(\"8635\"),\n\t\t\tDbrtpd:           pulumi.String(\"P@ssw0rd1!9851\"),\n\t\t\tDatastore: \u0026opentelekomcloud.RdsInstanceV1DatastoreArgs{\n\t\t\t\tType:    pulumi.String(\"SQLServer\"),\n\t\t\t\tVersion: pulumi.String(\"2022_SE\"),\n\t\t\t},\n\t\t\tVolume: \u0026opentelekomcloud.RdsInstanceV1VolumeArgs{\n\t\t\t\tType: pulumi.String(\"COMMON\"),\n\t\t\t\tSize: pulumi.Float64(200),\n\t\t\t},\n\t\t\tNics: \u0026opentelekomcloud.RdsInstanceV1NicsArgs{\n\t\t\t\tSubnetid: pulumi.String(\"b65f8d25-c533-47e2-8601-cfaa265a3e3e\"),\n\t\t\t},\n\t\t\tSecuritygroup: \u0026opentelekomcloud.RdsInstanceV1SecuritygroupArgs{\n\t\t\t\tId: secgrpRds.ComputeSecgroupV2Id,\n\t\t\t},\n\t\t\tBackupstrategy: \u0026opentelekomcloud.RdsInstanceV1BackupstrategyArgs{\n\t\t\t\tStarttime: pulumi.String(\"04:00:00\"),\n\t\t\t\tKeepdays:  pulumi.Float64(4),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tsecgrpRds,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetRdsFlavorsV1Args;\nimport com.pulumi.opentelekomcloud.ComputeSecgroupV2;\nimport com.pulumi.opentelekomcloud.ComputeSecgroupV2Args;\nimport com.pulumi.opentelekomcloud.RdsInstanceV1;\nimport com.pulumi.opentelekomcloud.RdsInstanceV1Args;\nimport com.pulumi.opentelekomcloud.inputs.RdsInstanceV1DatastoreArgs;\nimport com.pulumi.opentelekomcloud.inputs.RdsInstanceV1VolumeArgs;\nimport com.pulumi.opentelekomcloud.inputs.RdsInstanceV1NicsArgs;\nimport com.pulumi.opentelekomcloud.inputs.RdsInstanceV1SecuritygroupArgs;\nimport com.pulumi.opentelekomcloud.inputs.RdsInstanceV1BackupstrategyArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var flavor = OpentelekomcloudFunctions.getRdsFlavorsV1(GetRdsFlavorsV1Args.builder()\n            .datastoreName(\"SQLServer\")\n            .datastoreVersion(\"2022_SE\")\n            .speccode(\"rds.mssql.c2.xlarge\")\n            .build());\n\n        var secgrpRds = new ComputeSecgroupV2(\"secgrpRds\", ComputeSecgroupV2Args.builder()\n            .name(\"secgrp-rds-instance\")\n            .description(\"Rds Security Group\")\n            .build());\n\n        var instance = new RdsInstanceV1(\"instance\", RdsInstanceV1Args.builder()\n            .name(\"rds-instance\")\n            .availabilityzone(\"eu-de-01\")\n            .flavorref(flavor.id())\n            .vpc(\"c1095fe7-03df-4205-ad2d-6f4c181d436e\")\n            .dbport(\"8635\")\n            .dbrtpd(\"P@ssw0rd1!9851\")\n            .datastore(RdsInstanceV1DatastoreArgs.builder()\n                .type(\"SQLServer\")\n                .version(\"2022_SE\")\n                .build())\n            .volume(RdsInstanceV1VolumeArgs.builder()\n                .type(\"COMMON\")\n                .size(200.0)\n                .build())\n            .nics(RdsInstanceV1NicsArgs.builder()\n                .subnetid(\"b65f8d25-c533-47e2-8601-cfaa265a3e3e\")\n                .build())\n            .securitygroup(RdsInstanceV1SecuritygroupArgs.builder()\n                .id(secgrpRds.computeSecgroupV2Id())\n                .build())\n            .backupstrategy(RdsInstanceV1BackupstrategyArgs.builder()\n                .starttime(\"04:00:00\")\n                .keepdays(4.0)\n                .build())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(secgrpRds)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  secgrpRds:\n    type: opentelekomcloud:ComputeSecgroupV2\n    name: secgrp_rds\n    properties:\n      name: secgrp-rds-instance\n      description: Rds Security Group\n  instance:\n    type: opentelekomcloud:RdsInstanceV1\n    properties:\n      name: rds-instance\n      availabilityzone: eu-de-01\n      flavorref: ${flavor.id}\n      vpc: c1095fe7-03df-4205-ad2d-6f4c181d436e\n      dbport: '8635'\n      dbrtpd: P@ssw0rd1!9851\n      datastore:\n        type: SQLServer\n        version: 2022_SE\n      volume:\n        type: COMMON\n        size: 200\n      nics:\n        subnetid: b65f8d25-c533-47e2-8601-cfaa265a3e3e\n      securitygroup:\n        id: ${secgrpRds.computeSecgroupV2Id}\n      backupstrategy:\n        starttime: 04:00:00\n        keepdays: 4\n    options:\n      dependsOn:\n        - ${secgrpRds}\nvariables:\n  flavor:\n    fn::invoke:\n      function: opentelekomcloud:getRdsFlavorsV1\n      arguments:\n        datastoreName: SQLServer\n        datastoreVersion: 2022_SE\n        speccode: rds.mssql.c2.xlarge\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Creating a MySQL RDS instance\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst flavor = opentelekomcloud.getRdsFlavorsV1({\n    datastoreName: \"MySQL\",\n    datastoreVersion: \"8.0\",\n    speccode: \"rds.mysql.n1.2xlarge.2\",\n});\nconst secgrpRds = new opentelekomcloud.ComputeSecgroupV2(\"secgrp_rds\", {\n    name: \"secgrp-rds-instance\",\n    description: \"Rds Security Group\",\n});\nconst instance = new opentelekomcloud.RdsInstanceV1(\"instance\", {\n    name: \"rds-instance\",\n    availabilityzone: \"eu-de-01\",\n    vpc: \"c1095fe7-03df-4205-ad2d-6f4c181d436e\",\n    dbport: \"8635\",\n    dbrtpd: \"P@ssw0rd1!9851\",\n    flavorref: flavor.then(flavor =\u003e flavor.id),\n    datastore: {\n        type: \"MySQL\",\n        version: \"8.0\",\n    },\n    volume: {\n        type: \"CLOUDSSD\",\n        size: 200,\n    },\n    nics: {\n        subnetid: \"b65f8d25-c533-47e2-8601-cfaa265a3e3e\",\n    },\n    securitygroup: {\n        id: secgrpRds.computeSecgroupV2Id,\n    },\n    backupstrategy: {\n        starttime: \"04:00:00\",\n        keepdays: 4,\n    },\n    ha: {\n        enable: true,\n        replicationmode: \"async\",\n    },\n}, {\n    dependsOn: [secgrpRds],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nflavor = opentelekomcloud.get_rds_flavors_v1(datastore_name=\"MySQL\",\n    datastore_version=\"8.0\",\n    speccode=\"rds.mysql.n1.2xlarge.2\")\nsecgrp_rds = opentelekomcloud.ComputeSecgroupV2(\"secgrp_rds\",\n    name=\"secgrp-rds-instance\",\n    description=\"Rds Security Group\")\ninstance = opentelekomcloud.RdsInstanceV1(\"instance\",\n    name=\"rds-instance\",\n    availabilityzone=\"eu-de-01\",\n    vpc=\"c1095fe7-03df-4205-ad2d-6f4c181d436e\",\n    dbport=\"8635\",\n    dbrtpd=\"P@ssw0rd1!9851\",\n    flavorref=flavor.id,\n    datastore={\n        \"type\": \"MySQL\",\n        \"version\": \"8.0\",\n    },\n    volume={\n        \"type\": \"CLOUDSSD\",\n        \"size\": 200,\n    },\n    nics={\n        \"subnetid\": \"b65f8d25-c533-47e2-8601-cfaa265a3e3e\",\n    },\n    securitygroup={\n        \"id\": secgrp_rds.compute_secgroup_v2_id,\n    },\n    backupstrategy={\n        \"starttime\": \"04:00:00\",\n        \"keepdays\": 4,\n    },\n    ha={\n        \"enable\": True,\n        \"replicationmode\": \"async\",\n    },\n    opts = pulumi.ResourceOptions(depends_on=[secgrp_rds]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var flavor = Opentelekomcloud.GetRdsFlavorsV1.Invoke(new()\n    {\n        DatastoreName = \"MySQL\",\n        DatastoreVersion = \"8.0\",\n        Speccode = \"rds.mysql.n1.2xlarge.2\",\n    });\n\n    var secgrpRds = new Opentelekomcloud.ComputeSecgroupV2(\"secgrp_rds\", new()\n    {\n        Name = \"secgrp-rds-instance\",\n        Description = \"Rds Security Group\",\n    });\n\n    var instance = new Opentelekomcloud.RdsInstanceV1(\"instance\", new()\n    {\n        Name = \"rds-instance\",\n        Availabilityzone = \"eu-de-01\",\n        Vpc = \"c1095fe7-03df-4205-ad2d-6f4c181d436e\",\n        Dbport = \"8635\",\n        Dbrtpd = \"P@ssw0rd1!9851\",\n        Flavorref = flavor.Apply(getRdsFlavorsV1Result =\u003e getRdsFlavorsV1Result.Id),\n        Datastore = new Opentelekomcloud.Inputs.RdsInstanceV1DatastoreArgs\n        {\n            Type = \"MySQL\",\n            Version = \"8.0\",\n        },\n        Volume = new Opentelekomcloud.Inputs.RdsInstanceV1VolumeArgs\n        {\n            Type = \"CLOUDSSD\",\n            Size = 200,\n        },\n        Nics = new Opentelekomcloud.Inputs.RdsInstanceV1NicsArgs\n        {\n            Subnetid = \"b65f8d25-c533-47e2-8601-cfaa265a3e3e\",\n        },\n        Securitygroup = new Opentelekomcloud.Inputs.RdsInstanceV1SecuritygroupArgs\n        {\n            Id = secgrpRds.ComputeSecgroupV2Id,\n        },\n        Backupstrategy = new Opentelekomcloud.Inputs.RdsInstanceV1BackupstrategyArgs\n        {\n            Starttime = \"04:00:00\",\n            Keepdays = 4,\n        },\n        Ha = new Opentelekomcloud.Inputs.RdsInstanceV1HaArgs\n        {\n            Enable = true,\n            Replicationmode = \"async\",\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            secgrpRds,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tflavor, err := opentelekomcloud.GetRdsFlavorsV1(ctx, \u0026opentelekomcloud.GetRdsFlavorsV1Args{\n\t\t\tDatastoreName:    \"MySQL\",\n\t\t\tDatastoreVersion: \"8.0\",\n\t\t\tSpeccode:         pulumi.StringRef(\"rds.mysql.n1.2xlarge.2\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsecgrpRds, err := opentelekomcloud.NewComputeSecgroupV2(ctx, \"secgrp_rds\", \u0026opentelekomcloud.ComputeSecgroupV2Args{\n\t\t\tName:        pulumi.String(\"secgrp-rds-instance\"),\n\t\t\tDescription: pulumi.String(\"Rds Security Group\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewRdsInstanceV1(ctx, \"instance\", \u0026opentelekomcloud.RdsInstanceV1Args{\n\t\t\tName:             pulumi.String(\"rds-instance\"),\n\t\t\tAvailabilityzone: pulumi.String(\"eu-de-01\"),\n\t\t\tVpc:              pulumi.String(\"c1095fe7-03df-4205-ad2d-6f4c181d436e\"),\n\t\t\tDbport:           pulumi.String(\"8635\"),\n\t\t\tDbrtpd:           pulumi.String(\"P@ssw0rd1!9851\"),\n\t\t\tFlavorref:        pulumi.String(flavor.Id),\n\t\t\tDatastore: \u0026opentelekomcloud.RdsInstanceV1DatastoreArgs{\n\t\t\t\tType:    pulumi.String(\"MySQL\"),\n\t\t\t\tVersion: pulumi.String(\"8.0\"),\n\t\t\t},\n\t\t\tVolume: \u0026opentelekomcloud.RdsInstanceV1VolumeArgs{\n\t\t\t\tType: pulumi.String(\"CLOUDSSD\"),\n\t\t\t\tSize: pulumi.Float64(200),\n\t\t\t},\n\t\t\tNics: \u0026opentelekomcloud.RdsInstanceV1NicsArgs{\n\t\t\t\tSubnetid: pulumi.String(\"b65f8d25-c533-47e2-8601-cfaa265a3e3e\"),\n\t\t\t},\n\t\t\tSecuritygroup: \u0026opentelekomcloud.RdsInstanceV1SecuritygroupArgs{\n\t\t\t\tId: secgrpRds.ComputeSecgroupV2Id,\n\t\t\t},\n\t\t\tBackupstrategy: \u0026opentelekomcloud.RdsInstanceV1BackupstrategyArgs{\n\t\t\t\tStarttime: pulumi.String(\"04:00:00\"),\n\t\t\t\tKeepdays:  pulumi.Float64(4),\n\t\t\t},\n\t\t\tHa: \u0026opentelekomcloud.RdsInstanceV1HaArgs{\n\t\t\t\tEnable:          pulumi.Bool(true),\n\t\t\t\tReplicationmode: pulumi.String(\"async\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tsecgrpRds,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetRdsFlavorsV1Args;\nimport com.pulumi.opentelekomcloud.ComputeSecgroupV2;\nimport com.pulumi.opentelekomcloud.ComputeSecgroupV2Args;\nimport com.pulumi.opentelekomcloud.RdsInstanceV1;\nimport com.pulumi.opentelekomcloud.RdsInstanceV1Args;\nimport com.pulumi.opentelekomcloud.inputs.RdsInstanceV1DatastoreArgs;\nimport com.pulumi.opentelekomcloud.inputs.RdsInstanceV1VolumeArgs;\nimport com.pulumi.opentelekomcloud.inputs.RdsInstanceV1NicsArgs;\nimport com.pulumi.opentelekomcloud.inputs.RdsInstanceV1SecuritygroupArgs;\nimport com.pulumi.opentelekomcloud.inputs.RdsInstanceV1BackupstrategyArgs;\nimport com.pulumi.opentelekomcloud.inputs.RdsInstanceV1HaArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var flavor = OpentelekomcloudFunctions.getRdsFlavorsV1(GetRdsFlavorsV1Args.builder()\n            .datastoreName(\"MySQL\")\n            .datastoreVersion(\"8.0\")\n            .speccode(\"rds.mysql.n1.2xlarge.2\")\n            .build());\n\n        var secgrpRds = new ComputeSecgroupV2(\"secgrpRds\", ComputeSecgroupV2Args.builder()\n            .name(\"secgrp-rds-instance\")\n            .description(\"Rds Security Group\")\n            .build());\n\n        var instance = new RdsInstanceV1(\"instance\", RdsInstanceV1Args.builder()\n            .name(\"rds-instance\")\n            .availabilityzone(\"eu-de-01\")\n            .vpc(\"c1095fe7-03df-4205-ad2d-6f4c181d436e\")\n            .dbport(\"8635\")\n            .dbrtpd(\"P@ssw0rd1!9851\")\n            .flavorref(flavor.id())\n            .datastore(RdsInstanceV1DatastoreArgs.builder()\n                .type(\"MySQL\")\n                .version(\"8.0\")\n                .build())\n            .volume(RdsInstanceV1VolumeArgs.builder()\n                .type(\"CLOUDSSD\")\n                .size(200.0)\n                .build())\n            .nics(RdsInstanceV1NicsArgs.builder()\n                .subnetid(\"b65f8d25-c533-47e2-8601-cfaa265a3e3e\")\n                .build())\n            .securitygroup(RdsInstanceV1SecuritygroupArgs.builder()\n                .id(secgrpRds.computeSecgroupV2Id())\n                .build())\n            .backupstrategy(RdsInstanceV1BackupstrategyArgs.builder()\n                .starttime(\"04:00:00\")\n                .keepdays(4.0)\n                .build())\n            .ha(RdsInstanceV1HaArgs.builder()\n                .enable(true)\n                .replicationmode(\"async\")\n                .build())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(secgrpRds)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  secgrpRds:\n    type: opentelekomcloud:ComputeSecgroupV2\n    name: secgrp_rds\n    properties:\n      name: secgrp-rds-instance\n      description: Rds Security Group\n  instance:\n    type: opentelekomcloud:RdsInstanceV1\n    properties:\n      name: rds-instance\n      availabilityzone: eu-de-01\n      vpc: c1095fe7-03df-4205-ad2d-6f4c181d436e\n      dbport: '8635'\n      dbrtpd: P@ssw0rd1!9851\n      flavorref: ${flavor.id}\n      datastore:\n        type: MySQL\n        version: '8.0'\n      volume:\n        type: CLOUDSSD\n        size: 200\n      nics:\n        subnetid: b65f8d25-c533-47e2-8601-cfaa265a3e3e\n      securitygroup:\n        id: ${secgrpRds.computeSecgroupV2Id}\n      backupstrategy:\n        starttime: 04:00:00\n        keepdays: 4\n      ha:\n        enable: true\n        replicationmode: async\n    options:\n      dependsOn:\n        - ${secgrpRds}\nvariables:\n  flavor:\n    fn::invoke:\n      function: opentelekomcloud:getRdsFlavorsV1\n      arguments:\n        datastoreName: MySQL\n        datastoreVersion: '8.0'\n        speccode: rds.mysql.n1.2xlarge.2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"availabilityzone":{"type":"string","description":"Specifies the ID of the AZ.\n"},"backupstrategy":{"$ref":"#/types/opentelekomcloud:index%2FRdsInstanceV1Backupstrategy:RdsInstanceV1Backupstrategy","description":"Specifies the advanced backup policy. The structure\nis described below.\n"},"created":{"type":"string","description":"Indicates the creation time in the following format: yyyy-mm-dd Thh:mm:ssZ.\n"},"datastore":{"$ref":"#/types/opentelekomcloud:index%2FRdsInstanceV1Datastore:RdsInstanceV1Datastore","description":"Specifies database information. The structure is\ndescribed below.\n"},"dbport":{"type":"string","description":"Specifies the database port number.\n"},"dbrtpd":{"type":"string","description":"Specifies the password for user root of the database.\n"},"flavorref":{"type":"string","description":"Specifies the specification ID (flavors.id in the\nresponse message in Obtaining All DB Instance Specifications). If you want\nto enable ha for the rds instance, a flavor with ha speccode is required.\n"},"ha":{"$ref":"#/types/opentelekomcloud:index%2FRdsInstanceV1Ha:RdsInstanceV1Ha","description":"Specifies the parameters configured on HA and is used when\ncreating HA DB instances. The structure is described below. NOTICE:\nRDS for Microsoft SQL Server does not support creating HA DB instances and\nthis parameter is not involved.\n"},"hostname":{"type":"string","description":"Indicates the instance connection address. It is a blank string.\n"},"name":{"type":"string","description":"Specifies the DB instance name. The DB instance name of\nthe same type is unique in the same tenant. The changes of the instance name\nwill be suppressed in HA scenario.\n"},"nics":{"$ref":"#/types/opentelekomcloud:index%2FRdsInstanceV1Nics:RdsInstanceV1Nics","description":"Specifies the nics information. For details about how\nto obtain this parameter value, see section \"Subnet\" in the Virtual Private\nCloud API Reference. The structure is described below.\n"},"rdsInstanceV1Id":{"type":"string"},"region":{"type":"string"},"securitygroup":{"$ref":"#/types/opentelekomcloud:index%2FRdsInstanceV1Securitygroup:RdsInstanceV1Securitygroup","description":"Specifies the security group which the RDS DB\ninstance belongs to. The structure is described below.\n"},"status":{"type":"string","description":"Indicates the DB instance status.\n"},"tag":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags key/value pairs to associate with the instance.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FRdsInstanceV1Timeouts:RdsInstanceV1Timeouts"},"type":{"type":"string","description":"Indicates the DB instance type, which can be master or readreplica.\n"},"updated":{"type":"string","description":"Indicates the update time in the following format: yyyy-mm-dd Thh:mm:ssZ.\n"},"volume":{"$ref":"#/types/opentelekomcloud:index%2FRdsInstanceV1Volume:RdsInstanceV1Volume","description":"Specifies the volume information. The structure is described\nbelow.\n"},"vpc":{"type":"string","description":"Specifies the VPC ID. For details about how to obtain this\nparameter value, see section \"Virtual Private Cloud\" in the Virtual Private\nCloud API Reference.\n"}},"type":"object","required":["availabilityzone","created","datastore","dbrtpd","flavorref","hostname","name","nics","rdsInstanceV1Id","region","securitygroup","status","type","updated","volume","vpc"],"inputProperties":{"availabilityzone":{"type":"string","description":"Specifies the ID of the AZ.\n"},"backupstrategy":{"$ref":"#/types/opentelekomcloud:index%2FRdsInstanceV1Backupstrategy:RdsInstanceV1Backupstrategy","description":"Specifies the advanced backup policy. The structure\nis described below.\n"},"datastore":{"$ref":"#/types/opentelekomcloud:index%2FRdsInstanceV1Datastore:RdsInstanceV1Datastore","description":"Specifies database information. The structure is\ndescribed below.\n"},"dbport":{"type":"string","description":"Specifies the database port number.\n"},"dbrtpd":{"type":"string","description":"Specifies the password for user root of the database.\n"},"flavorref":{"type":"string","description":"Specifies the specification ID (flavors.id in the\nresponse message in Obtaining All DB Instance Specifications). If you want\nto enable ha for the rds instance, a flavor with ha speccode is required.\n"},"ha":{"$ref":"#/types/opentelekomcloud:index%2FRdsInstanceV1Ha:RdsInstanceV1Ha","description":"Specifies the parameters configured on HA and is used when\ncreating HA DB instances. The structure is described below. NOTICE:\nRDS for Microsoft SQL Server does not support creating HA DB instances and\nthis parameter is not involved.\n"},"name":{"type":"string","description":"Specifies the DB instance name. The DB instance name of\nthe same type is unique in the same tenant. The changes of the instance name\nwill be suppressed in HA scenario.\n"},"nics":{"$ref":"#/types/opentelekomcloud:index%2FRdsInstanceV1Nics:RdsInstanceV1Nics","description":"Specifies the nics information. For details about how\nto obtain this parameter value, see section \"Subnet\" in the Virtual Private\nCloud API Reference. The structure is described below.\n"},"rdsInstanceV1Id":{"type":"string"},"region":{"type":"string"},"securitygroup":{"$ref":"#/types/opentelekomcloud:index%2FRdsInstanceV1Securitygroup:RdsInstanceV1Securitygroup","description":"Specifies the security group which the RDS DB\ninstance belongs to. The structure is described below.\n"},"tag":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags key/value pairs to associate with the instance.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FRdsInstanceV1Timeouts:RdsInstanceV1Timeouts"},"volume":{"$ref":"#/types/opentelekomcloud:index%2FRdsInstanceV1Volume:RdsInstanceV1Volume","description":"Specifies the volume information. The structure is described\nbelow.\n"},"vpc":{"type":"string","description":"Specifies the VPC ID. For details about how to obtain this\nparameter value, see section \"Virtual Private Cloud\" in the Virtual Private\nCloud API Reference.\n"}},"requiredInputs":["availabilityzone","datastore","dbrtpd","flavorref","nics","securitygroup","volume","vpc"],"stateInputs":{"description":"Input properties used for looking up and filtering RdsInstanceV1 resources.\n","properties":{"availabilityzone":{"type":"string","description":"Specifies the ID of the AZ.\n"},"backupstrategy":{"$ref":"#/types/opentelekomcloud:index%2FRdsInstanceV1Backupstrategy:RdsInstanceV1Backupstrategy","description":"Specifies the advanced backup policy. The structure\nis described below.\n"},"created":{"type":"string","description":"Indicates the creation time in the following format: yyyy-mm-dd Thh:mm:ssZ.\n"},"datastore":{"$ref":"#/types/opentelekomcloud:index%2FRdsInstanceV1Datastore:RdsInstanceV1Datastore","description":"Specifies database information. The structure is\ndescribed below.\n"},"dbport":{"type":"string","description":"Specifies the database port number.\n"},"dbrtpd":{"type":"string","description":"Specifies the password for user root of the database.\n"},"flavorref":{"type":"string","description":"Specifies the specification ID (flavors.id in the\nresponse message in Obtaining All DB Instance Specifications). If you want\nto enable ha for the rds instance, a flavor with ha speccode is required.\n"},"ha":{"$ref":"#/types/opentelekomcloud:index%2FRdsInstanceV1Ha:RdsInstanceV1Ha","description":"Specifies the parameters configured on HA and is used when\ncreating HA DB instances. The structure is described below. NOTICE:\nRDS for Microsoft SQL Server does not support creating HA DB instances and\nthis parameter is not involved.\n"},"hostname":{"type":"string","description":"Indicates the instance connection address. It is a blank string.\n"},"name":{"type":"string","description":"Specifies the DB instance name. The DB instance name of\nthe same type is unique in the same tenant. The changes of the instance name\nwill be suppressed in HA scenario.\n"},"nics":{"$ref":"#/types/opentelekomcloud:index%2FRdsInstanceV1Nics:RdsInstanceV1Nics","description":"Specifies the nics information. For details about how\nto obtain this parameter value, see section \"Subnet\" in the Virtual Private\nCloud API Reference. The structure is described below.\n"},"rdsInstanceV1Id":{"type":"string"},"region":{"type":"string"},"securitygroup":{"$ref":"#/types/opentelekomcloud:index%2FRdsInstanceV1Securitygroup:RdsInstanceV1Securitygroup","description":"Specifies the security group which the RDS DB\ninstance belongs to. The structure is described below.\n"},"status":{"type":"string","description":"Indicates the DB instance status.\n"},"tag":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags key/value pairs to associate with the instance.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FRdsInstanceV1Timeouts:RdsInstanceV1Timeouts"},"type":{"type":"string","description":"Indicates the DB instance type, which can be master or readreplica.\n"},"updated":{"type":"string","description":"Indicates the update time in the following format: yyyy-mm-dd Thh:mm:ssZ.\n"},"volume":{"$ref":"#/types/opentelekomcloud:index%2FRdsInstanceV1Volume:RdsInstanceV1Volume","description":"Specifies the volume information. The structure is described\nbelow.\n"},"vpc":{"type":"string","description":"Specifies the VPC ID. For details about how to obtain this\nparameter value, see section \"Virtual Private Cloud\" in the Virtual Private\nCloud API Reference.\n"}},"type":"object"}},"opentelekomcloud:index/rdsInstanceV3:RdsInstanceV3":{"description":"Up-to-date reference of API arguments for RDS instance rule you can get at\n[documentation portal](https://docs.otc.t-systems.com/relational-database-service/api-ref/api_v3_recommended/db_instance_management)\n\nManages RDS instance v3 resource.\n\n## Example Usage\n\n### Create a single db instance\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nresources:\n  secgroup:\n    type: opentelekomcloud:NetworkingSecgroupV2\n    properties:\n      name: terraform_test_security_group\n      description: terraform security group acceptance test\n  instance:\n    type: opentelekomcloud:RdsInstanceV3\n    properties:\n      name: terraform_test_rds_instance\n      availabilityZones:\n        - ${availabilityZone}\n      db:\n        password: P@ssw0rd1!9851\n        type: PostgreSQL\n        version: '16'\n        port: '8635'\n      securityGroupId: ${secgroup.networkingSecgroupV2Id}\n      subnetId: ${subnetId}\n      vpcId: ${vpcId}\n      flavor: rds.pg.n1.large.4\n      volume:\n        type: CLOUDSSD\n        size: 100\n      backupStrategy:\n        startTime: 08:00-09:00\n        keepDays: 1\n        period: 1,2,3,4,5\n      tags:\n        foo: bar\n        key: value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a primary/standby db instance\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nresources:\n  secgroup:\n    type: opentelekomcloud:NetworkingSecgroupV2\n    properties:\n      name: terraform_test_security_group\n      description: terraform security group acceptance test\n  instance:\n    type: opentelekomcloud:RdsInstanceV3\n    properties:\n      name: terraform_test_rds_instance\n      availabilityZones:\n        - ${availabilityZone1}\n        - ${availabilityZone2}\n      db:\n        password: P@ssw0rd1!9851\n        type: PostgreSQL\n        version: '16'\n        port: '8635'\n      securityGroupId: ${secgroup.networkingSecgroupV2Id}\n      subnetId: ${subnetId}\n      vpcId: ${vpcId}\n      flavor: rds.pg.x1.8xlarge.4.ha\n      haReplicationMode: async\n      volume:\n        type: CLOUDSSD\n        size: 100\n      backupStrategy:\n        startTime: 08:00-09:00\n        keepDays: 1\n      tags:\n        foo: bar\n        key: value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a db instance with public IP\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nresources:\n  secgroup:\n    type: opentelekomcloud:NetworkingSecgroupV2\n    properties:\n      name: terraform_test_security_group\n      description: terraform security group acceptance test\n  ip:\n    type: opentelekomcloud:ComputeFloatingipV2\n  instance:\n    type: opentelekomcloud:RdsInstanceV3\n    properties:\n      availabilityZones:\n        - ${availabilityZone1}\n        - ${availabilityZone2}\n      db:\n        password: Telekom!120521\n        type: PostgreSQL\n        version: '16'\n        port: '8635'\n      name: terraform_test_rds_instance\n      securityGroupId: ${secgroup.networkingSecgroupV2Id}\n      subnetId: ${subnetId}\n      vpcId: ${vpcId}\n      volume:\n        type: CLOUDSSD\n        size: 100\n      flavor: rds.pg.x1.8xlarge.4.ha\n      haReplicationMode: async\n      backupStrategy:\n        startTime: 08:00-09:00\n        keepDays: 1\n      publicIps:\n        - ${ip.address}\n      tags:\n        foo: bar\n        key: value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a single db instance with encrypted volume\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nresources:\n  key:\n    type: opentelekomcloud:KmsKeyV1\n    properties:\n      keyAlias: key_1\n      keyDescription: first test key\n      isEnabled: true\n  secgroup:\n    type: opentelekomcloud:NetworkingSecgroupV2\n    properties:\n      name: terraform_test_security_group\n      description: terraform security group acceptance test\n  instance:\n    type: opentelekomcloud:RdsInstanceV3\n    properties:\n      name: terraform_test_rds_instance\n      availabilityZones:\n        - ${availabilityZone}\n      securityGroupId: ${secgroup.networkingSecgroupV2Id}\n      subnetId: ${subnetId}\n      vpcId: ${vpcId}\n      flavor: rds.pg.n1.xlarge.2\n      db:\n        password: P@ssw0rd1!9851\n        type: PostgreSQL\n        version: '16'\n        port: '8635'\n      volume:\n        diskEncryptionId: ${key.kmsKeyV1Id}\n        type: CLOUDSSD\n        size: 100\n      backupStrategy:\n        startTime: 08:00-09:00\n        keepDays: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Overriding parameters from template\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nresources:\n  sg:\n    type: opentelekomcloud:NetworkingSecgroupV2\n    properties:\n      name: sg-rds-test\n  pg:\n    type: opentelekomcloud:RdsParametergroupV3\n    properties:\n      name: pg-rds-test\n      values:\n        autocommit: OFF\n      datastore:\n        type: postgresql\n        version: '16'\n  instance:\n    type: opentelekomcloud:RdsInstanceV3\n    properties:\n      name: tf_rds_instance_%s\n      availabilityZones:\n        - ${availabilityZone}\n      db:\n        password: Postgres!120521\n        type: PostgreSQL\n        version: '16'\n        port: '8635'\n      securityGroupId: ${sg.networkingSecgroupV2Id}\n      subnetId: ${subnetId}\n      vpcId: ${vpcId}\n      flavor: rds.pg.n1.xlarge.2\n      volume:\n        type: CLOUDSSD\n        size: 40\n      parameters:\n        max_connections: '37'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Restore backup to a new instance\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nresources:\n  fromBackup:\n    type: opentelekomcloud:RdsInstanceV3\n    name: from_backup\n    properties:\n      name: instance-restored\n      availabilityZones: ${instance.availabilityZone}\n      flavor: rds.pg.n1.xlarge.2\n      restorePoint:\n        instanceId: ${backup.instanceId}\n        backupId: ${backup.id}\n      db:\n        password: Postgres!120521\n        type: PostgreSQL\n        version: '16'\n        port: '8635'\n      securityGroupId: ${securityGroupId}\n      subnetId: ${osNetworkId}\n      vpcId: ${osRouterId}\n      volume:\n        type: CLOUDSSD\n        size: 40\n      backupStrategy:\n        startTime: 08:00-09:00\n        keepDays: 1\nvariables:\n  backup:\n    fn::invoke:\n      function: opentelekomcloud:getRdsBackupV3\n      arguments:\n        instanceId: ${rdsInstanceId}\n        type: auto\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Notes\n\nBut due to some attributes missing from the API response, it's required to ignore changes as below.\nAlso, for some MySQL versions the \u003cspan pulumi-lang-nodejs=\"`lowerCaseTableNames`\" pulumi-lang-dotnet=\"`LowerCaseTableNames`\" pulumi-lang-go=\"`lowerCaseTableNames`\" pulumi-lang-python=\"`lower_case_table_names`\" pulumi-lang-yaml=\"`lowerCaseTableNames`\" pulumi-lang-java=\"`lowerCaseTableNames`\"\u003e`lower_case_table_names`\u003c/span\u003e should be also added.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst instance1 = new opentelekomcloud.RdsInstanceV3(\"instance_1\", {});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ninstance1 = opentelekomcloud.RdsInstanceV3(\"instance_1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var instance1 = new Opentelekomcloud.RdsInstanceV3(\"instance_1\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewRdsInstanceV3(ctx, \"instance_1\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.RdsInstanceV3;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var instance1 = new RdsInstanceV3(\"instance1\");\n\n    }\n}\n```\n```yaml\nresources:\n  instance1:\n    type: opentelekomcloud:RdsInstanceV3\n    name: instance_1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRDS instance can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/rdsInstanceV3:RdsInstanceV3 instance_1 7117d38e-4c8f-4624-a505-bd96b97d024c\n```\n\n","properties":{"autoscalingEnabled":{"type":"boolean","description":"Indicates whether autoscaling was enabled for this resource.\n"},"availabilityZone":{"type":"array","items":{"type":"string"},"description":"Specifies the AZ name. Changing this parameter will create a new resource.\n"},"availabilityZones":{"type":"array","items":{"type":"string"},"description":"Indicates the instance AZs.\n"},"backupStrategy":{"$ref":"#/types/opentelekomcloud:index%2FRdsInstanceV3BackupStrategy:RdsInstanceV3BackupStrategy","description":"Specifies the advanced backup policy. Structure is documented below.\n"},"created":{"type":"string","description":"Indicates the creation time.\n"},"db":{"$ref":"#/types/opentelekomcloud:index%2FRdsInstanceV3Db:RdsInstanceV3Db","description":"Specifies the database information. Structure is documented below. Changing this parameter will create a new resource.\n"},"flavor":{"type":"string","description":"Specifies the specification code.\nUse data source\u003cspan pulumi-lang-nodejs=\" opentelekomcloud.getRdsFlavorsV3 \" pulumi-lang-dotnet=\" opentelekomcloud.getRdsFlavorsV3 \" pulumi-lang-go=\" getRdsFlavorsV3 \" pulumi-lang-python=\" get_rds_flavors_v3 \" pulumi-lang-yaml=\" opentelekomcloud.getRdsFlavorsV3 \" pulumi-lang-java=\" opentelekomcloud.getRdsFlavorsV3 \"\u003e opentelekomcloud.getRdsFlavorsV3 \u003c/span\u003eto get a list of available flavor names.\nExamples could be `rds.pg.n1.large.4` or `rds.pg.x1.8xlarge.4.ha` for HA clusters.\n"},"haReplicationMode":{"type":"string","description":"Specifies the replication mode for the standby DB instance. For MySQL, the value\nis async or semisync. For PostgreSQL, the value is async or sync. For Microsoft SQL Server, the value is sync.\nParameter is required for HA clusters.\n\n\u003e \u003cspan pulumi-lang-nodejs=\"`async`\" pulumi-lang-dotnet=\"`Async`\" pulumi-lang-go=\"`async`\" pulumi-lang-python=\"`async`\" pulumi-lang-yaml=\"`async`\" pulumi-lang-java=\"`async`\"\u003e`async`\u003c/span\u003e indicates the asynchronous replication mode. \u003cspan pulumi-lang-nodejs=\"`semisync`\" pulumi-lang-dotnet=\"`Semisync`\" pulumi-lang-go=\"`semisync`\" pulumi-lang-python=\"`semisync`\" pulumi-lang-yaml=\"`semisync`\" pulumi-lang-java=\"`semisync`\"\u003e`semisync`\u003c/span\u003e indicates the\nsemi-synchronous replication mode. \u003cspan pulumi-lang-nodejs=\"`sync`\" pulumi-lang-dotnet=\"`Sync`\" pulumi-lang-go=\"`sync`\" pulumi-lang-python=\"`sync`\" pulumi-lang-yaml=\"`sync`\" pulumi-lang-java=\"`sync`\"\u003e`sync`\u003c/span\u003e indicates the synchronous\nreplication mode.  Changing this parameter will create a new resource.\n"},"lowerCaseTableNames":{"type":"string","description":"Specifies the case-sensitive state of the database table name,\nthe default value is \"1\". Changing this parameter will create a new resource.\n+ 0: Table names are stored as fixed and table names are case-sensitive.\n+ 1: Table names will be stored in lower case and table names are not case-sensitive.\n"},"name":{"type":"string","description":"Specifies the DB instance name. The DB instance name of the same type\nmust be unique for the same tenant. The value must be 4 to 64\ncharacters in length and start with a letter. It is case-sensitive\nand can contain only letters, digits, hyphens (-), and underscores\n(_).\n"},"nodes":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FRdsInstanceV3Node:RdsInstanceV3Node"},"description":"Indicates the instance nodes information. Structure is documented below.\n"},"paramGroupId":{"type":"string","description":"Specifies the parameter group ID.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of additional configuration parameters. Values should be strings. Parameters set here\noverrides values from configuration template (parameter group).\n"},"privateDomainName":{"type":"string","description":"Specifies the prefix of the new domain name. The value contains \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`63`\" pulumi-lang-dotnet=\"`63`\" pulumi-lang-go=\"`63`\" pulumi-lang-python=\"`63`\" pulumi-lang-yaml=\"`63`\" pulumi-lang-java=\"`63`\"\u003e`63`\u003c/span\u003e characters. Only uppercase letters, lowercase letters, and digits are allowed.\n"},"privateFqdn":{"type":"string","description":"Indicates the fully qualified domain name of an RDS instance.\n"},"privateIp":{"type":"string","description":"Specifies the private IP address of a DB instance.\n"},"privateIps":{"type":"array","items":{"type":"string"},"description":"Indicates the private IP address list. It is a blank string until an\nECS is created.\n"},"publicIps":{"type":"array","items":{"type":"string"},"description":"Specifies floating IP to be assigned to the instance.\nThis should be a list with single element only.\n\n\u003e Setting public IP is done with assigning floating IP to internally\ncreated port. So RDS itself doesn't know about this assignment. This assignment\nwon't show on the console.\nThis argument will be ignored in future when RDSv3 API for EIP assignment will be implemented.\n"},"rdsInstanceV3Id":{"type":"string","description":"Indicates the node ID.\n"},"restoreFromBackup":{"$ref":"#/types/opentelekomcloud:index%2FRdsInstanceV3RestoreFromBackup:RdsInstanceV3RestoreFromBackup","description":"**DEPRECATED**  - (Optional) Specifies whether to restore database to an instance described in current resource.\nStructure is documented below.\nPlease use alternative parameter \u003cspan pulumi-lang-nodejs=\"`restorePoint`\" pulumi-lang-dotnet=\"`RestorePoint`\" pulumi-lang-go=\"`restorePoint`\" pulumi-lang-python=\"`restore_point`\" pulumi-lang-yaml=\"`restorePoint`\" pulumi-lang-java=\"`restorePoint`\"\u003e`restore_point`\u003c/span\u003e.\n","deprecationMessage":"Deprecated"},"restorePoint":{"$ref":"#/types/opentelekomcloud:index%2FRdsInstanceV3RestorePoint:RdsInstanceV3RestorePoint","description":"Specifies the restoration information. By selecting this option you can either\ncreate a new RDS instance or restore backup from existing one. Structure is documented below.\n"},"restoredBackupId":{"type":"string","description":"Indicates the backup ID in cases when instance was restored by using\n\u003cspan pulumi-lang-nodejs=\"`restoreFromBackup`\" pulumi-lang-dotnet=\"`RestoreFromBackup`\" pulumi-lang-go=\"`restoreFromBackup`\" pulumi-lang-python=\"`restore_from_backup`\" pulumi-lang-yaml=\"`restoreFromBackup`\" pulumi-lang-java=\"`restoreFromBackup`\"\u003e`restore_from_backup`\u003c/span\u003e block.\n"},"securityGroupId":{"type":"string","description":"Specifies the security group which the RDS DB instance belongs to.\nChanging this parameter will create a new resource.\n"},"sslEnable":{"type":"boolean","description":"Specifies whether SSL should be enabled for MySql instances.\n"},"subnetId":{"type":"string","description":"Specifies the subnet id. Changing this parameter will create a new resource.\n"},"tag":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags key/value pairs to associate with the instance. Deprecated, please use\nthe \u003cspan pulumi-lang-nodejs=\"`tags`\" pulumi-lang-dotnet=\"`Tags`\" pulumi-lang-go=\"`tags`\" pulumi-lang-python=\"`tags`\" pulumi-lang-yaml=\"`tags`\" pulumi-lang-java=\"`tags`\"\u003e`tags`\u003c/span\u003e instead.\n","deprecationMessage":"Deprecated"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags key/value pairs to associate with the instance.\n"},"timeZone":{"type":"string","description":"Specifies the UTC time zone. Changing this parameter will create a new resource.\nIf this parameter is not specified, the time zone of each engine uses UTC by default.\nIf this parameter is specified, the value range is from UTC-12:00 to UTC+12:00 on the hour.\nFor example, the parameter can be UTC+08:00 rather than UTC+08:30.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FRdsInstanceV3Timeouts:RdsInstanceV3Timeouts"},"volume":{"$ref":"#/types/opentelekomcloud:index%2FRdsInstanceV3Volume:RdsInstanceV3Volume","description":"Specifies the volume information. Structure is documented below.\n"},"vpcId":{"type":"string","description":"Specifies the VPC ID. Changing this parameter will create a new resource.\n"}},"type":"object","required":["autoscalingEnabled","availabilityZone","availabilityZones","created","db","flavor","haReplicationMode","name","nodes","parameters","privateDomainName","privateFqdn","privateIps","rdsInstanceV3Id","restoredBackupId","securityGroupId","sslEnable","subnetId","volume","vpcId"],"inputProperties":{"availabilityZone":{"type":"array","items":{"type":"string"},"description":"Specifies the AZ name. Changing this parameter will create a new resource.\n"},"backupStrategy":{"$ref":"#/types/opentelekomcloud:index%2FRdsInstanceV3BackupStrategy:RdsInstanceV3BackupStrategy","description":"Specifies the advanced backup policy. Structure is documented below.\n"},"db":{"$ref":"#/types/opentelekomcloud:index%2FRdsInstanceV3Db:RdsInstanceV3Db","description":"Specifies the database information. Structure is documented below. Changing this parameter will create a new resource.\n"},"flavor":{"type":"string","description":"Specifies the specification code.\nUse data source\u003cspan pulumi-lang-nodejs=\" opentelekomcloud.getRdsFlavorsV3 \" pulumi-lang-dotnet=\" opentelekomcloud.getRdsFlavorsV3 \" pulumi-lang-go=\" getRdsFlavorsV3 \" pulumi-lang-python=\" get_rds_flavors_v3 \" pulumi-lang-yaml=\" opentelekomcloud.getRdsFlavorsV3 \" pulumi-lang-java=\" opentelekomcloud.getRdsFlavorsV3 \"\u003e opentelekomcloud.getRdsFlavorsV3 \u003c/span\u003eto get a list of available flavor names.\nExamples could be `rds.pg.n1.large.4` or `rds.pg.x1.8xlarge.4.ha` for HA clusters.\n"},"haReplicationMode":{"type":"string","description":"Specifies the replication mode for the standby DB instance. For MySQL, the value\nis async or semisync. For PostgreSQL, the value is async or sync. For Microsoft SQL Server, the value is sync.\nParameter is required for HA clusters.\n\n\u003e \u003cspan pulumi-lang-nodejs=\"`async`\" pulumi-lang-dotnet=\"`Async`\" pulumi-lang-go=\"`async`\" pulumi-lang-python=\"`async`\" pulumi-lang-yaml=\"`async`\" pulumi-lang-java=\"`async`\"\u003e`async`\u003c/span\u003e indicates the asynchronous replication mode. \u003cspan pulumi-lang-nodejs=\"`semisync`\" pulumi-lang-dotnet=\"`Semisync`\" pulumi-lang-go=\"`semisync`\" pulumi-lang-python=\"`semisync`\" pulumi-lang-yaml=\"`semisync`\" pulumi-lang-java=\"`semisync`\"\u003e`semisync`\u003c/span\u003e indicates the\nsemi-synchronous replication mode. \u003cspan pulumi-lang-nodejs=\"`sync`\" pulumi-lang-dotnet=\"`Sync`\" pulumi-lang-go=\"`sync`\" pulumi-lang-python=\"`sync`\" pulumi-lang-yaml=\"`sync`\" pulumi-lang-java=\"`sync`\"\u003e`sync`\u003c/span\u003e indicates the synchronous\nreplication mode.  Changing this parameter will create a new resource.\n"},"lowerCaseTableNames":{"type":"string","description":"Specifies the case-sensitive state of the database table name,\nthe default value is \"1\". Changing this parameter will create a new resource.\n+ 0: Table names are stored as fixed and table names are case-sensitive.\n+ 1: Table names will be stored in lower case and table names are not case-sensitive.\n"},"name":{"type":"string","description":"Specifies the DB instance name. The DB instance name of the same type\nmust be unique for the same tenant. The value must be 4 to 64\ncharacters in length and start with a letter. It is case-sensitive\nand can contain only letters, digits, hyphens (-), and underscores\n(_).\n"},"paramGroupId":{"type":"string","description":"Specifies the parameter group ID.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of additional configuration parameters. Values should be strings. Parameters set here\noverrides values from configuration template (parameter group).\n"},"privateDomainName":{"type":"string","description":"Specifies the prefix of the new domain name. The value contains \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`63`\" pulumi-lang-dotnet=\"`63`\" pulumi-lang-go=\"`63`\" pulumi-lang-python=\"`63`\" pulumi-lang-yaml=\"`63`\" pulumi-lang-java=\"`63`\"\u003e`63`\u003c/span\u003e characters. Only uppercase letters, lowercase letters, and digits are allowed.\n"},"privateIp":{"type":"string","description":"Specifies the private IP address of a DB instance.\n"},"publicIps":{"type":"array","items":{"type":"string"},"description":"Specifies floating IP to be assigned to the instance.\nThis should be a list with single element only.\n\n\u003e Setting public IP is done with assigning floating IP to internally\ncreated port. So RDS itself doesn't know about this assignment. This assignment\nwon't show on the console.\nThis argument will be ignored in future when RDSv3 API for EIP assignment will be implemented.\n"},"rdsInstanceV3Id":{"type":"string","description":"Indicates the node ID.\n"},"restoreFromBackup":{"$ref":"#/types/opentelekomcloud:index%2FRdsInstanceV3RestoreFromBackup:RdsInstanceV3RestoreFromBackup","description":"**DEPRECATED**  - (Optional) Specifies whether to restore database to an instance described in current resource.\nStructure is documented below.\nPlease use alternative parameter \u003cspan pulumi-lang-nodejs=\"`restorePoint`\" pulumi-lang-dotnet=\"`RestorePoint`\" pulumi-lang-go=\"`restorePoint`\" pulumi-lang-python=\"`restore_point`\" pulumi-lang-yaml=\"`restorePoint`\" pulumi-lang-java=\"`restorePoint`\"\u003e`restore_point`\u003c/span\u003e.\n","deprecationMessage":"Deprecated"},"restorePoint":{"$ref":"#/types/opentelekomcloud:index%2FRdsInstanceV3RestorePoint:RdsInstanceV3RestorePoint","description":"Specifies the restoration information. By selecting this option you can either\ncreate a new RDS instance or restore backup from existing one. Structure is documented below.\n"},"securityGroupId":{"type":"string","description":"Specifies the security group which the RDS DB instance belongs to.\nChanging this parameter will create a new resource.\n"},"sslEnable":{"type":"boolean","description":"Specifies whether SSL should be enabled for MySql instances.\n"},"subnetId":{"type":"string","description":"Specifies the subnet id. Changing this parameter will create a new resource.\n"},"tag":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags key/value pairs to associate with the instance. Deprecated, please use\nthe \u003cspan pulumi-lang-nodejs=\"`tags`\" pulumi-lang-dotnet=\"`Tags`\" pulumi-lang-go=\"`tags`\" pulumi-lang-python=\"`tags`\" pulumi-lang-yaml=\"`tags`\" pulumi-lang-java=\"`tags`\"\u003e`tags`\u003c/span\u003e instead.\n","deprecationMessage":"Deprecated"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags key/value pairs to associate with the instance.\n"},"timeZone":{"type":"string","description":"Specifies the UTC time zone. Changing this parameter will create a new resource.\nIf this parameter is not specified, the time zone of each engine uses UTC by default.\nIf this parameter is specified, the value range is from UTC-12:00 to UTC+12:00 on the hour.\nFor example, the parameter can be UTC+08:00 rather than UTC+08:30.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FRdsInstanceV3Timeouts:RdsInstanceV3Timeouts"},"volume":{"$ref":"#/types/opentelekomcloud:index%2FRdsInstanceV3Volume:RdsInstanceV3Volume","description":"Specifies the volume information. Structure is documented below.\n"},"vpcId":{"type":"string","description":"Specifies the VPC ID. Changing this parameter will create a new resource.\n"}},"requiredInputs":["availabilityZone","db","flavor","securityGroupId","subnetId","volume","vpcId"],"stateInputs":{"description":"Input properties used for looking up and filtering RdsInstanceV3 resources.\n","properties":{"autoscalingEnabled":{"type":"boolean","description":"Indicates whether autoscaling was enabled for this resource.\n"},"availabilityZone":{"type":"array","items":{"type":"string"},"description":"Specifies the AZ name. Changing this parameter will create a new resource.\n"},"availabilityZones":{"type":"array","items":{"type":"string"},"description":"Indicates the instance AZs.\n"},"backupStrategy":{"$ref":"#/types/opentelekomcloud:index%2FRdsInstanceV3BackupStrategy:RdsInstanceV3BackupStrategy","description":"Specifies the advanced backup policy. Structure is documented below.\n"},"created":{"type":"string","description":"Indicates the creation time.\n"},"db":{"$ref":"#/types/opentelekomcloud:index%2FRdsInstanceV3Db:RdsInstanceV3Db","description":"Specifies the database information. Structure is documented below. Changing this parameter will create a new resource.\n"},"flavor":{"type":"string","description":"Specifies the specification code.\nUse data source\u003cspan pulumi-lang-nodejs=\" opentelekomcloud.getRdsFlavorsV3 \" pulumi-lang-dotnet=\" opentelekomcloud.getRdsFlavorsV3 \" pulumi-lang-go=\" getRdsFlavorsV3 \" pulumi-lang-python=\" get_rds_flavors_v3 \" pulumi-lang-yaml=\" opentelekomcloud.getRdsFlavorsV3 \" pulumi-lang-java=\" opentelekomcloud.getRdsFlavorsV3 \"\u003e opentelekomcloud.getRdsFlavorsV3 \u003c/span\u003eto get a list of available flavor names.\nExamples could be `rds.pg.n1.large.4` or `rds.pg.x1.8xlarge.4.ha` for HA clusters.\n"},"haReplicationMode":{"type":"string","description":"Specifies the replication mode for the standby DB instance. For MySQL, the value\nis async or semisync. For PostgreSQL, the value is async or sync. For Microsoft SQL Server, the value is sync.\nParameter is required for HA clusters.\n\n\u003e \u003cspan pulumi-lang-nodejs=\"`async`\" pulumi-lang-dotnet=\"`Async`\" pulumi-lang-go=\"`async`\" pulumi-lang-python=\"`async`\" pulumi-lang-yaml=\"`async`\" pulumi-lang-java=\"`async`\"\u003e`async`\u003c/span\u003e indicates the asynchronous replication mode. \u003cspan pulumi-lang-nodejs=\"`semisync`\" pulumi-lang-dotnet=\"`Semisync`\" pulumi-lang-go=\"`semisync`\" pulumi-lang-python=\"`semisync`\" pulumi-lang-yaml=\"`semisync`\" pulumi-lang-java=\"`semisync`\"\u003e`semisync`\u003c/span\u003e indicates the\nsemi-synchronous replication mode. \u003cspan pulumi-lang-nodejs=\"`sync`\" pulumi-lang-dotnet=\"`Sync`\" pulumi-lang-go=\"`sync`\" pulumi-lang-python=\"`sync`\" pulumi-lang-yaml=\"`sync`\" pulumi-lang-java=\"`sync`\"\u003e`sync`\u003c/span\u003e indicates the synchronous\nreplication mode.  Changing this parameter will create a new resource.\n"},"lowerCaseTableNames":{"type":"string","description":"Specifies the case-sensitive state of the database table name,\nthe default value is \"1\". Changing this parameter will create a new resource.\n+ 0: Table names are stored as fixed and table names are case-sensitive.\n+ 1: Table names will be stored in lower case and table names are not case-sensitive.\n"},"name":{"type":"string","description":"Specifies the DB instance name. The DB instance name of the same type\nmust be unique for the same tenant. The value must be 4 to 64\ncharacters in length and start with a letter. It is case-sensitive\nand can contain only letters, digits, hyphens (-), and underscores\n(_).\n"},"nodes":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FRdsInstanceV3Node:RdsInstanceV3Node"},"description":"Indicates the instance nodes information. Structure is documented below.\n"},"paramGroupId":{"type":"string","description":"Specifies the parameter group ID.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of additional configuration parameters. Values should be strings. Parameters set here\noverrides values from configuration template (parameter group).\n"},"privateDomainName":{"type":"string","description":"Specifies the prefix of the new domain name. The value contains \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`63`\" pulumi-lang-dotnet=\"`63`\" pulumi-lang-go=\"`63`\" pulumi-lang-python=\"`63`\" pulumi-lang-yaml=\"`63`\" pulumi-lang-java=\"`63`\"\u003e`63`\u003c/span\u003e characters. Only uppercase letters, lowercase letters, and digits are allowed.\n"},"privateFqdn":{"type":"string","description":"Indicates the fully qualified domain name of an RDS instance.\n"},"privateIp":{"type":"string","description":"Specifies the private IP address of a DB instance.\n"},"privateIps":{"type":"array","items":{"type":"string"},"description":"Indicates the private IP address list. It is a blank string until an\nECS is created.\n"},"publicIps":{"type":"array","items":{"type":"string"},"description":"Specifies floating IP to be assigned to the instance.\nThis should be a list with single element only.\n\n\u003e Setting public IP is done with assigning floating IP to internally\ncreated port. So RDS itself doesn't know about this assignment. This assignment\nwon't show on the console.\nThis argument will be ignored in future when RDSv3 API for EIP assignment will be implemented.\n"},"rdsInstanceV3Id":{"type":"string","description":"Indicates the node ID.\n"},"restoreFromBackup":{"$ref":"#/types/opentelekomcloud:index%2FRdsInstanceV3RestoreFromBackup:RdsInstanceV3RestoreFromBackup","description":"**DEPRECATED**  - (Optional) Specifies whether to restore database to an instance described in current resource.\nStructure is documented below.\nPlease use alternative parameter \u003cspan pulumi-lang-nodejs=\"`restorePoint`\" pulumi-lang-dotnet=\"`RestorePoint`\" pulumi-lang-go=\"`restorePoint`\" pulumi-lang-python=\"`restore_point`\" pulumi-lang-yaml=\"`restorePoint`\" pulumi-lang-java=\"`restorePoint`\"\u003e`restore_point`\u003c/span\u003e.\n","deprecationMessage":"Deprecated"},"restorePoint":{"$ref":"#/types/opentelekomcloud:index%2FRdsInstanceV3RestorePoint:RdsInstanceV3RestorePoint","description":"Specifies the restoration information. By selecting this option you can either\ncreate a new RDS instance or restore backup from existing one. Structure is documented below.\n"},"restoredBackupId":{"type":"string","description":"Indicates the backup ID in cases when instance was restored by using\n\u003cspan pulumi-lang-nodejs=\"`restoreFromBackup`\" pulumi-lang-dotnet=\"`RestoreFromBackup`\" pulumi-lang-go=\"`restoreFromBackup`\" pulumi-lang-python=\"`restore_from_backup`\" pulumi-lang-yaml=\"`restoreFromBackup`\" pulumi-lang-java=\"`restoreFromBackup`\"\u003e`restore_from_backup`\u003c/span\u003e block.\n"},"securityGroupId":{"type":"string","description":"Specifies the security group which the RDS DB instance belongs to.\nChanging this parameter will create a new resource.\n"},"sslEnable":{"type":"boolean","description":"Specifies whether SSL should be enabled for MySql instances.\n"},"subnetId":{"type":"string","description":"Specifies the subnet id. Changing this parameter will create a new resource.\n"},"tag":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags key/value pairs to associate with the instance. Deprecated, please use\nthe \u003cspan pulumi-lang-nodejs=\"`tags`\" pulumi-lang-dotnet=\"`Tags`\" pulumi-lang-go=\"`tags`\" pulumi-lang-python=\"`tags`\" pulumi-lang-yaml=\"`tags`\" pulumi-lang-java=\"`tags`\"\u003e`tags`\u003c/span\u003e instead.\n","deprecationMessage":"Deprecated"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags key/value pairs to associate with the instance.\n"},"timeZone":{"type":"string","description":"Specifies the UTC time zone. Changing this parameter will create a new resource.\nIf this parameter is not specified, the time zone of each engine uses UTC by default.\nIf this parameter is specified, the value range is from UTC-12:00 to UTC+12:00 on the hour.\nFor example, the parameter can be UTC+08:00 rather than UTC+08:30.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FRdsInstanceV3Timeouts:RdsInstanceV3Timeouts"},"volume":{"$ref":"#/types/opentelekomcloud:index%2FRdsInstanceV3Volume:RdsInstanceV3Volume","description":"Specifies the volume information. Structure is documented below.\n"},"vpcId":{"type":"string","description":"Specifies the VPC ID. Changing this parameter will create a new resource.\n"}},"type":"object"}},"opentelekomcloud:index/rdsMaintenanceV3:RdsMaintenanceV3":{"description":"Up-to-date reference of API arguments for RDS parameter group rule you can get at\n[documentation portal](https://docs.otc.t-systems.com/relational-database-service/api-ref/api_v3_recommended/db_instance_management/configuring_the_maintenance_window.html)\n\nManages a RDSv3 maintenance windows resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst instanceId = config.requireObject\u003cany\u003e(\"instanceId\");\nconst test = new opentelekomcloud.RdsMaintenanceV3(\"test\", {\n    instanceId: instanceId,\n    startTime: \"12:00\",\n    endTime: \"16:00\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ninstance_id = config.require_object(\"instanceId\")\ntest = opentelekomcloud.RdsMaintenanceV3(\"test\",\n    instance_id=instance_id,\n    start_time=\"12:00\",\n    end_time=\"16:00\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var instanceId = config.RequireObject\u003cdynamic\u003e(\"instanceId\");\n    var test = new Opentelekomcloud.RdsMaintenanceV3(\"test\", new()\n    {\n        InstanceId = instanceId,\n        StartTime = \"12:00\",\n        EndTime = \"16:00\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tinstanceId := cfg.RequireObject(\"instanceId\")\n\t\t_, err := opentelekomcloud.NewRdsMaintenanceV3(ctx, \"test\", \u0026opentelekomcloud.RdsMaintenanceV3Args{\n\t\t\tInstanceId: pulumi.Any(instanceId),\n\t\t\tStartTime:  pulumi.String(\"12:00\"),\n\t\t\tEndTime:    pulumi.String(\"16:00\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.RdsMaintenanceV3;\nimport com.pulumi.opentelekomcloud.RdsMaintenanceV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var instanceId = config.get(\"instanceId\");\n        var test = new RdsMaintenanceV3(\"test\", RdsMaintenanceV3Args.builder()\n            .instanceId(instanceId)\n            .startTime(\"12:00\")\n            .endTime(\"16:00\")\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  instanceId:\n    type: dynamic\nresources:\n  test:\n    type: opentelekomcloud:RdsMaintenanceV3\n    properties:\n      instanceId: ${instanceId}\n      startTime: 12:00\n      endTime: 16:00\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"endTime":{"type":"string","description":"Specifies the end time.\nThe value must be a valid value in the \"HH:MM\" format. The current time is in the UTC format.\n"},"instanceId":{"type":"string","description":"The ID of the RDS instance to which the maintenance window belongs.\n\n\u003e **NOTE:** The interval between the \u003cspan pulumi-lang-nodejs=\"`startTime`\" pulumi-lang-dotnet=\"`StartTime`\" pulumi-lang-go=\"`startTime`\" pulumi-lang-python=\"`start_time`\" pulumi-lang-yaml=\"`startTime`\" pulumi-lang-java=\"`startTime`\"\u003e`start_time`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`endTime`\" pulumi-lang-dotnet=\"`EndTime`\" pulumi-lang-go=\"`endTime`\" pulumi-lang-python=\"`end_time`\" pulumi-lang-yaml=\"`endTime`\" pulumi-lang-java=\"`endTime`\"\u003e`end_time`\u003c/span\u003e must be four hours.\n"},"rdsMaintenanceV3Id":{"type":"string"},"startTime":{"type":"string","description":"Specifies the start time.\nThe value must be a valid value in the \"HH:MM\" format. The current time is in the UTC format.\n"}},"type":"object","required":["endTime","instanceId","rdsMaintenanceV3Id","startTime"],"inputProperties":{"endTime":{"type":"string","description":"Specifies the end time.\nThe value must be a valid value in the \"HH:MM\" format. The current time is in the UTC format.\n"},"instanceId":{"type":"string","description":"The ID of the RDS instance to which the maintenance window belongs.\n\n\u003e **NOTE:** The interval between the \u003cspan pulumi-lang-nodejs=\"`startTime`\" pulumi-lang-dotnet=\"`StartTime`\" pulumi-lang-go=\"`startTime`\" pulumi-lang-python=\"`start_time`\" pulumi-lang-yaml=\"`startTime`\" pulumi-lang-java=\"`startTime`\"\u003e`start_time`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`endTime`\" pulumi-lang-dotnet=\"`EndTime`\" pulumi-lang-go=\"`endTime`\" pulumi-lang-python=\"`end_time`\" pulumi-lang-yaml=\"`endTime`\" pulumi-lang-java=\"`endTime`\"\u003e`end_time`\u003c/span\u003e must be four hours.\n"},"rdsMaintenanceV3Id":{"type":"string"},"startTime":{"type":"string","description":"Specifies the start time.\nThe value must be a valid value in the \"HH:MM\" format. The current time is in the UTC format.\n"}},"requiredInputs":["endTime","instanceId","startTime"],"stateInputs":{"description":"Input properties used for looking up and filtering RdsMaintenanceV3 resources.\n","properties":{"endTime":{"type":"string","description":"Specifies the end time.\nThe value must be a valid value in the \"HH:MM\" format. The current time is in the UTC format.\n"},"instanceId":{"type":"string","description":"The ID of the RDS instance to which the maintenance window belongs.\n\n\u003e **NOTE:** The interval between the \u003cspan pulumi-lang-nodejs=\"`startTime`\" pulumi-lang-dotnet=\"`StartTime`\" pulumi-lang-go=\"`startTime`\" pulumi-lang-python=\"`start_time`\" pulumi-lang-yaml=\"`startTime`\" pulumi-lang-java=\"`startTime`\"\u003e`start_time`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`endTime`\" pulumi-lang-dotnet=\"`EndTime`\" pulumi-lang-go=\"`endTime`\" pulumi-lang-python=\"`end_time`\" pulumi-lang-yaml=\"`endTime`\" pulumi-lang-java=\"`endTime`\"\u003e`end_time`\u003c/span\u003e must be four hours.\n"},"rdsMaintenanceV3Id":{"type":"string"},"startTime":{"type":"string","description":"Specifies the start time.\nThe value must be a valid value in the \"HH:MM\" format. The current time is in the UTC format.\n"}},"type":"object"}},"opentelekomcloud:index/rdsParametergroupV3:RdsParametergroupV3":{"description":"Up-to-date reference of API arguments for RDS parameter group rule you can get at\n[documentation portal](https://docs.otc.t-systems.com/relational-database-service/api-ref/api_v3_recommended/parameter_configuration)\n\nManages a RDSv3 parametergroup resource within OpenTelekomCloud.\n\n\u003e **NOTE:** When you create a PostgreSQL parameter template, some specification parameters do not take effect and are\ninvisible after the parameter template is created. For more information see [Parameter Template Constraints](https://docs.otc.t-systems.com/relational-database-service/api-ref/api_v3_recommended/parameter_configuration/creating_a_parameter_template.html#constraints).\n\nThese parameters can be directly applied in \u003cspan pulumi-lang-nodejs=\"`opentelekomcloud.RdsInstanceV3`\" pulumi-lang-dotnet=\"`opentelekomcloud.RdsInstanceV3`\" pulumi-lang-go=\"`RdsInstanceV3`\" pulumi-lang-python=\"`RdsInstanceV3`\" pulumi-lang-yaml=\"`opentelekomcloud.RdsInstanceV3`\" pulumi-lang-java=\"`opentelekomcloud.RdsInstanceV3`\"\u003e`opentelekomcloud.RdsInstanceV3`\u003c/span\u003e resource by providing a \u003cspan pulumi-lang-nodejs=\"`parameters`\" pulumi-lang-dotnet=\"`Parameters`\" pulumi-lang-go=\"`parameters`\" pulumi-lang-python=\"`parameters`\" pulumi-lang-yaml=\"`parameters`\" pulumi-lang-java=\"`parameters`\"\u003e`parameters`\u003c/span\u003e argument.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst pg1 = new opentelekomcloud.RdsParametergroupV3(\"pg_1\", {\n    name: \"pg_1\",\n    description: \"some description here\",\n    values: {\n        max_connections: \"10\",\n        autocommit: \"OFF\",\n    },\n    datastore: {\n        type: \"mysql\",\n        version: \"8.0\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\npg1 = opentelekomcloud.RdsParametergroupV3(\"pg_1\",\n    name=\"pg_1\",\n    description=\"some description here\",\n    values={\n        \"max_connections\": \"10\",\n        \"autocommit\": \"OFF\",\n    },\n    datastore={\n        \"type\": \"mysql\",\n        \"version\": \"8.0\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var pg1 = new Opentelekomcloud.RdsParametergroupV3(\"pg_1\", new()\n    {\n        Name = \"pg_1\",\n        Description = \"some description here\",\n        Values = \n        {\n            { \"max_connections\", \"10\" },\n            { \"autocommit\", \"OFF\" },\n        },\n        Datastore = new Opentelekomcloud.Inputs.RdsParametergroupV3DatastoreArgs\n        {\n            Type = \"mysql\",\n            Version = \"8.0\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewRdsParametergroupV3(ctx, \"pg_1\", \u0026opentelekomcloud.RdsParametergroupV3Args{\n\t\t\tName:        pulumi.String(\"pg_1\"),\n\t\t\tDescription: pulumi.String(\"some description here\"),\n\t\t\tValues: pulumi.StringMap{\n\t\t\t\t\"max_connections\": pulumi.String(\"10\"),\n\t\t\t\t\"autocommit\":      pulumi.String(\"OFF\"),\n\t\t\t},\n\t\t\tDatastore: \u0026opentelekomcloud.RdsParametergroupV3DatastoreArgs{\n\t\t\t\tType:    pulumi.String(\"mysql\"),\n\t\t\t\tVersion: pulumi.String(\"8.0\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.RdsParametergroupV3;\nimport com.pulumi.opentelekomcloud.RdsParametergroupV3Args;\nimport com.pulumi.opentelekomcloud.inputs.RdsParametergroupV3DatastoreArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var pg1 = new RdsParametergroupV3(\"pg1\", RdsParametergroupV3Args.builder()\n            .name(\"pg_1\")\n            .description(\"some description here\")\n            .values(Map.ofEntries(\n                Map.entry(\"max_connections\", \"10\"),\n                Map.entry(\"autocommit\", \"OFF\")\n            ))\n            .datastore(RdsParametergroupV3DatastoreArgs.builder()\n                .type(\"mysql\")\n                .version(\"8.0\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  pg1:\n    type: opentelekomcloud:RdsParametergroupV3\n    name: pg_1\n    properties:\n      name: pg_1\n      description: some description here\n      values:\n        max_connections: '10'\n        autocommit: OFF\n      datastore:\n        type: mysql\n        version: '8.0'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nParameter groups can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/rdsParametergroupV3:RdsParametergroupV3 pg_1 7117d38e-4c8f-4624-a505-bd96b97d024c\n```\n\n","properties":{"configurationParameters":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FRdsParametergroupV3ConfigurationParameter:RdsParametergroupV3ConfigurationParameter"},"description":"Indicates the parameter configuration defined by users based on the default parameters groups.\n"},"created":{"type":"string","description":"Indicates the creation time in the following format: `yyyy-MM-ddTHH:mm:ssZ`.\n"},"datastore":{"$ref":"#/types/opentelekomcloud:index%2FRdsParametergroupV3Datastore:RdsParametergroupV3Datastore","description":"Database object. The database object structure is documented below. Changing this creates a new parameter group.\n"},"description":{"type":"string","description":"The parameter group description. It contains a maximum of 256 characters\nand cannot contain the following special characters: `\u003e!\u003c\"\u0026'=` the value is left blank by default.\n"},"name":{"type":"string","description":"The parameter group name. It contains a maximum of 64 characters.\n"},"rdsParametergroupV3Id":{"type":"string","description":"ID of the parameter group.\n"},"updated":{"type":"string","description":"Indicates the update time in the following format: `yyyy-MM-ddTHH:mm:ssZ`.\n"},"values":{"type":"object","additionalProperties":{"type":"string"},"description":"Parameter group values key/value pairs defined by users based on the default parameter groups.\n"}},"type":"object","required":["configurationParameters","created","datastore","name","rdsParametergroupV3Id","updated"],"inputProperties":{"datastore":{"$ref":"#/types/opentelekomcloud:index%2FRdsParametergroupV3Datastore:RdsParametergroupV3Datastore","description":"Database object. The database object structure is documented below. Changing this creates a new parameter group.\n"},"description":{"type":"string","description":"The parameter group description. It contains a maximum of 256 characters\nand cannot contain the following special characters: `\u003e!\u003c\"\u0026'=` the value is left blank by default.\n"},"name":{"type":"string","description":"The parameter group name. It contains a maximum of 64 characters.\n"},"rdsParametergroupV3Id":{"type":"string","description":"ID of the parameter group.\n"},"values":{"type":"object","additionalProperties":{"type":"string"},"description":"Parameter group values key/value pairs defined by users based on the default parameter groups.\n"}},"requiredInputs":["datastore"],"stateInputs":{"description":"Input properties used for looking up and filtering RdsParametergroupV3 resources.\n","properties":{"configurationParameters":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FRdsParametergroupV3ConfigurationParameter:RdsParametergroupV3ConfigurationParameter"},"description":"Indicates the parameter configuration defined by users based on the default parameters groups.\n"},"created":{"type":"string","description":"Indicates the creation time in the following format: `yyyy-MM-ddTHH:mm:ssZ`.\n"},"datastore":{"$ref":"#/types/opentelekomcloud:index%2FRdsParametergroupV3Datastore:RdsParametergroupV3Datastore","description":"Database object. The database object structure is documented below. Changing this creates a new parameter group.\n"},"description":{"type":"string","description":"The parameter group description. It contains a maximum of 256 characters\nand cannot contain the following special characters: `\u003e!\u003c\"\u0026'=` the value is left blank by default.\n"},"name":{"type":"string","description":"The parameter group name. It contains a maximum of 64 characters.\n"},"rdsParametergroupV3Id":{"type":"string","description":"ID of the parameter group.\n"},"updated":{"type":"string","description":"Indicates the update time in the following format: `yyyy-MM-ddTHH:mm:ssZ`.\n"},"values":{"type":"object","additionalProperties":{"type":"string"},"description":"Parameter group values key/value pairs defined by users based on the default parameter groups.\n"}},"type":"object"}},"opentelekomcloud:index/rdsPublicIpAssociateV3:RdsPublicIpAssociateV3":{"description":"Up-to-date reference of API arguments for RDS public ip association you can get at\n[documentation portal](https://docs.otc.t-systems.com/relational-database-service/api-ref/api_v3_recommended/db_instance_management/binding_and_unbinding_an_eip.html#rds-05-0009)\n\nAssociates a public IP to an RDS instance.\n\n## Example Usage\n\n### Bind\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst instanceId = config.requireObject\u003cany\u003e(\"instanceId\");\nconst publicIp = new opentelekomcloud.RdsPublicIpAssociateV3(\"public_ip\", {\n    instanceId: instanceId,\n    publicIp: eip2.address,\n    publicIpId: eip2.id,\n});\nconst eip1 = new opentelekomcloud.ComputeFloatingipV2(\"eip_1\", {});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ninstance_id = config.require_object(\"instanceId\")\npublic_ip = opentelekomcloud.RdsPublicIpAssociateV3(\"public_ip\",\n    instance_id=instance_id,\n    public_ip=eip2[\"address\"],\n    public_ip_id=eip2[\"id\"])\neip1 = opentelekomcloud.ComputeFloatingipV2(\"eip_1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var instanceId = config.RequireObject\u003cdynamic\u003e(\"instanceId\");\n    var publicIp = new Opentelekomcloud.RdsPublicIpAssociateV3(\"public_ip\", new()\n    {\n        InstanceId = instanceId,\n        PublicIp = eip2.Address,\n        PublicIpId = eip2.Id,\n    });\n\n    var eip1 = new Opentelekomcloud.ComputeFloatingipV2(\"eip_1\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tinstanceId := cfg.RequireObject(\"instanceId\")\n\t\t_, err := opentelekomcloud.NewRdsPublicIpAssociateV3(ctx, \"public_ip\", \u0026opentelekomcloud.RdsPublicIpAssociateV3Args{\n\t\t\tInstanceId: pulumi.Any(instanceId),\n\t\t\tPublicIp:   pulumi.Any(eip2.Address),\n\t\t\tPublicIpId: pulumi.Any(eip2.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewComputeFloatingipV2(ctx, \"eip_1\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.RdsPublicIpAssociateV3;\nimport com.pulumi.opentelekomcloud.RdsPublicIpAssociateV3Args;\nimport com.pulumi.opentelekomcloud.ComputeFloatingipV2;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var instanceId = config.get(\"instanceId\");\n        var publicIp = new RdsPublicIpAssociateV3(\"publicIp\", RdsPublicIpAssociateV3Args.builder()\n            .instanceId(instanceId)\n            .publicIp(eip2.address())\n            .publicIpId(eip2.id())\n            .build());\n\n        var eip1 = new ComputeFloatingipV2(\"eip1\");\n\n    }\n}\n```\n```yaml\nconfiguration:\n  instanceId:\n    type: dynamic\nresources:\n  publicIp:\n    type: opentelekomcloud:RdsPublicIpAssociateV3\n    name: public_ip\n    properties:\n      instanceId: ${instanceId}\n      publicIp: ${eip2.address}\n      publicIpId: ${eip2.id}\n  eip1:\n    type: opentelekomcloud:ComputeFloatingipV2\n    name: eip_1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"instanceId":{"type":"string","description":"Specifies the RDS instance ID.\n"},"publicIp":{"type":"string","description":"Specifies the EIP to be bound. The value must be in the standard IP address format.\n"},"publicIpId":{"type":"string","description":"Specifies the EIP ID. The value must be in the standard UUID format.\n"},"rdsPublicIpAssociateV3Id":{"type":"string"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FRdsPublicIpAssociateV3Timeouts:RdsPublicIpAssociateV3Timeouts"}},"type":"object","required":["instanceId","publicIp","publicIpId","rdsPublicIpAssociateV3Id"],"inputProperties":{"instanceId":{"type":"string","description":"Specifies the RDS instance ID.\n"},"publicIp":{"type":"string","description":"Specifies the EIP to be bound. The value must be in the standard IP address format.\n"},"publicIpId":{"type":"string","description":"Specifies the EIP ID. The value must be in the standard UUID format.\n"},"rdsPublicIpAssociateV3Id":{"type":"string"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FRdsPublicIpAssociateV3Timeouts:RdsPublicIpAssociateV3Timeouts"}},"requiredInputs":["instanceId","publicIp","publicIpId"],"stateInputs":{"description":"Input properties used for looking up and filtering RdsPublicIpAssociateV3 resources.\n","properties":{"instanceId":{"type":"string","description":"Specifies the RDS instance ID.\n"},"publicIp":{"type":"string","description":"Specifies the EIP to be bound. The value must be in the standard IP address format.\n"},"publicIpId":{"type":"string","description":"Specifies the EIP ID. The value must be in the standard UUID format.\n"},"rdsPublicIpAssociateV3Id":{"type":"string"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FRdsPublicIpAssociateV3Timeouts:RdsPublicIpAssociateV3Timeouts"}},"type":"object"}},"opentelekomcloud:index/rdsReadReplicaV3:RdsReadReplicaV3":{"description":"Up-to-date reference of API arguments for RDS replica you can get at\n[documentation portal](https://docs.otc.t-systems.com/relational-database-service/api-ref/api_v3_recommended/db_instance_management)\n\nManages a RDSv3 read replica resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nresources:\n  instance:\n    type: opentelekomcloud:RdsInstanceV3\n    properties:\n      name: test-instance\n      availabilityZones: ${azMain}\n      db:\n        password: ${dbPassword}\n        type: PostgreSQL\n        version: '16'\n        port: '8635'\n      securityGroupId: ${sgId}\n      subnetId: ${osNetworkId}\n      vpcId: ${osRouterId}\n      flavor: rds.pg.n1.medium.4.rr\n      volume:\n        type: CLOUDSSD\n        size: 40\n      backupStrategy:\n        startTime: 08:00-09:00\n        keepDays: 1\n      tag:\n        created: terraform\n  replica:\n    type: opentelekomcloud:RdsReadReplicaV3\n    properties:\n      name: test-replica\n      replicaOfId: ${instance.rdsInstanceV3Id}\n      flavorRef: ${instance.flavor}.rr\n      availabilityZone: ${azReplica}\n      volume:\n        type: CLOUDSSD\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRead replicas can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/rdsReadReplicaV3:RdsReadReplicaV3 rr_1 1a8efa8c-342a-40f0-bc8f-3d27bd603661\n```\n\n","properties":{"availabilityZone":{"type":"string"},"dbs":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FRdsReadReplicaV3Db:RdsReadReplicaV3Db"},"description":"Indicates the database information. Structure is documented below.\n"},"flavorRef":{"type":"string"},"name":{"type":"string","description":"Specifies the DB replica instance name. The DB instance name of the same type must be unique for the same\ntenant. The value must be \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e characters in length and start with a letter. It is case-sensitive and can\ncontain only letters, digits, hyphens (`-`), and underscores  (`_`). Changing this parameter will create a new\nresource.\n"},"privateIps":{"type":"array","items":{"type":"string"},"description":"Indicates the private IP address list.\n"},"publicIps":{"type":"array","items":{"type":"string"},"description":"Specifies floating IP to be assigned to the instance.\nThis should be a list with single element only.\n"},"rdsReadReplicaV3Id":{"type":"string","description":"ID of the read replica instance.\n"},"region":{"type":"string","description":"Specifies the region of the replica instance. Changing this parameter will create a new\nresource.\n"},"replicaOfId":{"type":"string","description":"Specifies ID of the replicated instance. Changing this parameter will create a new resource.\n"},"securityGroupId":{"type":"string","description":"Indicates the security group which the replica instance belongs to.\n"},"sslEnable":{"type":"boolean","description":"Specifies whether SSL should be enabled for MySql instances.\n"},"subnetId":{"type":"string","description":"Indicates the subnet id (OpenStack network ID).\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FRdsReadReplicaV3Timeouts:RdsReadReplicaV3Timeouts"},"volume":{"$ref":"#/types/opentelekomcloud:index%2FRdsReadReplicaV3Volume:RdsReadReplicaV3Volume","description":"Specifies the volume information. Structure is documented below.\n"},"vpcId":{"type":"string","description":"Indicates the VPC ID (OpenStack router ID).\n"}},"type":"object","required":["availabilityZone","dbs","flavorRef","name","privateIps","publicIps","rdsReadReplicaV3Id","region","replicaOfId","securityGroupId","sslEnable","subnetId","volume","vpcId"],"inputProperties":{"availabilityZone":{"type":"string"},"flavorRef":{"type":"string"},"name":{"type":"string","description":"Specifies the DB replica instance name. The DB instance name of the same type must be unique for the same\ntenant. The value must be \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e characters in length and start with a letter. It is case-sensitive and can\ncontain only letters, digits, hyphens (`-`), and underscores  (`_`). Changing this parameter will create a new\nresource.\n"},"publicIps":{"type":"array","items":{"type":"string"},"description":"Specifies floating IP to be assigned to the instance.\nThis should be a list with single element only.\n"},"rdsReadReplicaV3Id":{"type":"string","description":"ID of the read replica instance.\n"},"region":{"type":"string","description":"Specifies the region of the replica instance. Changing this parameter will create a new\nresource.\n"},"replicaOfId":{"type":"string","description":"Specifies ID of the replicated instance. Changing this parameter will create a new resource.\n"},"sslEnable":{"type":"boolean","description":"Specifies whether SSL should be enabled for MySql instances.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FRdsReadReplicaV3Timeouts:RdsReadReplicaV3Timeouts"},"volume":{"$ref":"#/types/opentelekomcloud:index%2FRdsReadReplicaV3Volume:RdsReadReplicaV3Volume","description":"Specifies the volume information. Structure is documented below.\n"}},"requiredInputs":["flavorRef","replicaOfId","volume"],"stateInputs":{"description":"Input properties used for looking up and filtering RdsReadReplicaV3 resources.\n","properties":{"availabilityZone":{"type":"string"},"dbs":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FRdsReadReplicaV3Db:RdsReadReplicaV3Db"},"description":"Indicates the database information. Structure is documented below.\n"},"flavorRef":{"type":"string"},"name":{"type":"string","description":"Specifies the DB replica instance name. The DB instance name of the same type must be unique for the same\ntenant. The value must be \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e characters in length and start with a letter. It is case-sensitive and can\ncontain only letters, digits, hyphens (`-`), and underscores  (`_`). Changing this parameter will create a new\nresource.\n"},"privateIps":{"type":"array","items":{"type":"string"},"description":"Indicates the private IP address list.\n"},"publicIps":{"type":"array","items":{"type":"string"},"description":"Specifies floating IP to be assigned to the instance.\nThis should be a list with single element only.\n"},"rdsReadReplicaV3Id":{"type":"string","description":"ID of the read replica instance.\n"},"region":{"type":"string","description":"Specifies the region of the replica instance. Changing this parameter will create a new\nresource.\n"},"replicaOfId":{"type":"string","description":"Specifies ID of the replicated instance. Changing this parameter will create a new resource.\n"},"securityGroupId":{"type":"string","description":"Indicates the security group which the replica instance belongs to.\n"},"sslEnable":{"type":"boolean","description":"Specifies whether SSL should be enabled for MySql instances.\n"},"subnetId":{"type":"string","description":"Indicates the subnet id (OpenStack network ID).\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FRdsReadReplicaV3Timeouts:RdsReadReplicaV3Timeouts"},"volume":{"$ref":"#/types/opentelekomcloud:index%2FRdsReadReplicaV3Volume:RdsReadReplicaV3Volume","description":"Specifies the volume information. Structure is documented below.\n"},"vpcId":{"type":"string","description":"Indicates the VPC ID (OpenStack router ID).\n"}},"type":"object"}},"opentelekomcloud:index/rmsAdvancedQueryV1:RmsAdvancedQueryV1":{"description":"Up-to-date reference of API arguments for RDS replica you can get at\n[documentation portal](https://docs.otc.t-systems.com/config/api-ref/apis/advanced_queries/index.html)\n\nManages an RMS advanced query resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst test = new opentelekomcloud.RmsAdvancedQueryV1(\"test\", {\n    name: \"advanced_query_name\",\n    expression: \"select * from table_test\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ntest = opentelekomcloud.RmsAdvancedQueryV1(\"test\",\n    name=\"advanced_query_name\",\n    expression=\"select * from table_test\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = new Opentelekomcloud.RmsAdvancedQueryV1(\"test\", new()\n    {\n        Name = \"advanced_query_name\",\n        Expression = \"select * from table_test\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewRmsAdvancedQueryV1(ctx, \"test\", \u0026opentelekomcloud.RmsAdvancedQueryV1Args{\n\t\t\tName:       pulumi.String(\"advanced_query_name\"),\n\t\t\tExpression: pulumi.String(\"select * from table_test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.RmsAdvancedQueryV1;\nimport com.pulumi.opentelekomcloud.RmsAdvancedQueryV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test = new RmsAdvancedQueryV1(\"test\", RmsAdvancedQueryV1Args.builder()\n            .name(\"advanced_query_name\")\n            .expression(\"select * from table_test\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test:\n    type: opentelekomcloud:RmsAdvancedQueryV1\n    properties:\n      name: advanced_query_name\n      expression: select * from table_test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe RMS advanced query can be imported using the `id`, e.g.\n\nbash\n\n```sh\n$ pulumi import opentelekomcloud:index/rmsAdvancedQueryV1:RmsAdvancedQueryV1 test \u003cid\u003e\n```\n\n","properties":{"createdAt":{"type":"string","description":"The resource creation time.\n"},"description":{"type":"string","description":"Specifies the advanced query description. It contains 1 to 512 characters.\n"},"expression":{"type":"string","description":"Specifies the advanced query expression. It contains 1 to 4096 characters.\n"},"name":{"type":"string","description":"Specifies the advanced query name. It contains 1 to 64 characters.\n\nChanging this parameter will create a new resource.\n"},"rmsAdvancedQueryV1Id":{"type":"string","description":"The resource ID.\n"},"type":{"type":"string","description":"The resource type.\n"},"updatedAt":{"type":"string","description":"The resource update time.\n"}},"type":"object","required":["createdAt","expression","name","rmsAdvancedQueryV1Id","type","updatedAt"],"inputProperties":{"description":{"type":"string","description":"Specifies the advanced query description. It contains 1 to 512 characters.\n"},"expression":{"type":"string","description":"Specifies the advanced query expression. It contains 1 to 4096 characters.\n"},"name":{"type":"string","description":"Specifies the advanced query name. It contains 1 to 64 characters.\n\nChanging this parameter will create a new resource.\n"},"rmsAdvancedQueryV1Id":{"type":"string","description":"The resource ID.\n"}},"requiredInputs":["expression"],"stateInputs":{"description":"Input properties used for looking up and filtering RmsAdvancedQueryV1 resources.\n","properties":{"createdAt":{"type":"string","description":"The resource creation time.\n"},"description":{"type":"string","description":"Specifies the advanced query description. It contains 1 to 512 characters.\n"},"expression":{"type":"string","description":"Specifies the advanced query expression. It contains 1 to 4096 characters.\n"},"name":{"type":"string","description":"Specifies the advanced query name. It contains 1 to 64 characters.\n\nChanging this parameter will create a new resource.\n"},"rmsAdvancedQueryV1Id":{"type":"string","description":"The resource ID.\n"},"type":{"type":"string","description":"The resource type.\n"},"updatedAt":{"type":"string","description":"The resource update time.\n"}},"type":"object"}},"opentelekomcloud:index/rmsPolicyAssignmentEvaluateV1:RmsPolicyAssignmentEvaluateV1":{"description":"Up-to-date reference of API arguments for RMS Policy Assignment Evaluate you can get at\n[documentation portal](https://docs.otc.t-systems.com/config/api-ref/apis/compliance/running_a_resource_compliance_evaluation.html#rms-04-0510)\n\nManages a RMS policy assignment evaluate resource within OpenTelekomCloud resources.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst policyAssignmentId = config.requireObject\u003cany\u003e(\"policyAssignmentId\");\nconst test = new opentelekomcloud.RmsPolicyAssignmentEvaluateV1(\"test\", {policyAssignmentId: policyAssignmentId});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\npolicy_assignment_id = config.require_object(\"policyAssignmentId\")\ntest = opentelekomcloud.RmsPolicyAssignmentEvaluateV1(\"test\", policy_assignment_id=policy_assignment_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var policyAssignmentId = config.RequireObject\u003cdynamic\u003e(\"policyAssignmentId\");\n    var test = new Opentelekomcloud.RmsPolicyAssignmentEvaluateV1(\"test\", new()\n    {\n        PolicyAssignmentId = policyAssignmentId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tpolicyAssignmentId := cfg.RequireObject(\"policyAssignmentId\")\n\t\t_, err := opentelekomcloud.NewRmsPolicyAssignmentEvaluateV1(ctx, \"test\", \u0026opentelekomcloud.RmsPolicyAssignmentEvaluateV1Args{\n\t\t\tPolicyAssignmentId: pulumi.Any(policyAssignmentId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.RmsPolicyAssignmentEvaluateV1;\nimport com.pulumi.opentelekomcloud.RmsPolicyAssignmentEvaluateV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var policyAssignmentId = config.get(\"policyAssignmentId\");\n        var test = new RmsPolicyAssignmentEvaluateV1(\"test\", RmsPolicyAssignmentEvaluateV1Args.builder()\n            .policyAssignmentId(policyAssignmentId)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  policyAssignmentId:\n    type: dynamic\nresources:\n  test:\n    type: opentelekomcloud:RmsPolicyAssignmentEvaluateV1\n    properties:\n      policyAssignmentId: ${policyAssignmentId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"policyAssignmentId":{"type":"string","description":"Specifies the ID of the policy assignment to evaluate.\n"},"rmsPolicyAssignmentEvaluateV1Id":{"type":"string","description":"The ID of the policy assignment evaluate.\n"}},"type":"object","required":["policyAssignmentId","rmsPolicyAssignmentEvaluateV1Id"],"inputProperties":{"policyAssignmentId":{"type":"string","description":"Specifies the ID of the policy assignment to evaluate.\n"},"rmsPolicyAssignmentEvaluateV1Id":{"type":"string","description":"The ID of the policy assignment evaluate.\n"}},"requiredInputs":["policyAssignmentId"],"stateInputs":{"description":"Input properties used for looking up and filtering RmsPolicyAssignmentEvaluateV1 resources.\n","properties":{"policyAssignmentId":{"type":"string","description":"Specifies the ID of the policy assignment to evaluate.\n"},"rmsPolicyAssignmentEvaluateV1Id":{"type":"string","description":"The ID of the policy assignment evaluate.\n"}},"type":"object"}},"opentelekomcloud:index/rmsPolicyAssignmentV1:RmsPolicyAssignmentV1":{"description":"Up-to-date reference of API arguments for RMS Policy Assignment you can get at\n[documentation portal](https://docs.otc.t-systems.com/config/api-ref/apis/compliance/index.html)\n\nUsing this resource to assign the policy and evaluate OpenTelekomCloud resources.\n\n## Example Usage\n\n### Assign a custom policy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst policyAssignmentName = config.requireObject\u003cany\u003e(\"policyAssignmentName\");\nconst functionUrn = config.requireObject\u003cany\u003e(\"functionUrn\");\nconst functionVersion = config.requireObject\u003cany\u003e(\"functionVersion\");\nconst rmsAdminTrustAgency = config.requireObject\u003cany\u003e(\"rmsAdminTrustAgency\");\nconst test = new opentelekomcloud.RmsPolicyAssignmentV1(\"test\", {\n    name: policyAssignmentName,\n    description: \"The ECS instances that do not conform to the custom function logic are considered non-compliant.\",\n    status: \"Enabled\",\n    customPolicy: {\n        functionUrn: `${functionUrn}:${functionVersion}`,\n        authType: \"agency\",\n        authValue: {\n            agency_name: `\"${rmsAdminTrustAgency}\"`,\n        },\n    },\n    parameters: {\n        string_example: \"\\\"string_value\\\"\",\n        array_example: \"[\\\"array_element\\\"]\",\n        object_example: \"{\\\"terraform_version\\\":\\\"1.xx.x\\\"}\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\npolicy_assignment_name = config.require_object(\"policyAssignmentName\")\nfunction_urn = config.require_object(\"functionUrn\")\nfunction_version = config.require_object(\"functionVersion\")\nrms_admin_trust_agency = config.require_object(\"rmsAdminTrustAgency\")\ntest = opentelekomcloud.RmsPolicyAssignmentV1(\"test\",\n    name=policy_assignment_name,\n    description=\"The ECS instances that do not conform to the custom function logic are considered non-compliant.\",\n    status=\"Enabled\",\n    custom_policy={\n        \"function_urn\": f\"{function_urn}:{function_version}\",\n        \"auth_type\": \"agency\",\n        \"auth_value\": {\n            \"agency_name\": f\"\\\"{rms_admin_trust_agency}\\\"\",\n        },\n    },\n    parameters={\n        \"string_example\": \"\\\"string_value\\\"\",\n        \"array_example\": \"[\\\"array_element\\\"]\",\n        \"object_example\": \"{\\\"terraform_version\\\":\\\"1.xx.x\\\"}\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var policyAssignmentName = config.RequireObject\u003cdynamic\u003e(\"policyAssignmentName\");\n    var functionUrn = config.RequireObject\u003cdynamic\u003e(\"functionUrn\");\n    var functionVersion = config.RequireObject\u003cdynamic\u003e(\"functionVersion\");\n    var rmsAdminTrustAgency = config.RequireObject\u003cdynamic\u003e(\"rmsAdminTrustAgency\");\n    var test = new Opentelekomcloud.RmsPolicyAssignmentV1(\"test\", new()\n    {\n        Name = policyAssignmentName,\n        Description = \"The ECS instances that do not conform to the custom function logic are considered non-compliant.\",\n        Status = \"Enabled\",\n        CustomPolicy = new Opentelekomcloud.Inputs.RmsPolicyAssignmentV1CustomPolicyArgs\n        {\n            FunctionUrn = $\"{functionUrn}:{functionVersion}\",\n            AuthType = \"agency\",\n            AuthValue = \n            {\n                { \"agency_name\", $\"\\\"{rmsAdminTrustAgency}\\\"\" },\n            },\n        },\n        Parameters = \n        {\n            { \"string_example\", \"\\\"string_value\\\"\" },\n            { \"array_example\", \"[\\\"array_element\\\"]\" },\n            { \"object_example\", \"{\\\"terraform_version\\\":\\\"1.xx.x\\\"}\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tpolicyAssignmentName := cfg.RequireObject(\"policyAssignmentName\")\n\t\tfunctionUrn := cfg.RequireObject(\"functionUrn\")\n\t\tfunctionVersion := cfg.RequireObject(\"functionVersion\")\n\t\trmsAdminTrustAgency := cfg.RequireObject(\"rmsAdminTrustAgency\")\n\t\t_, err := opentelekomcloud.NewRmsPolicyAssignmentV1(ctx, \"test\", \u0026opentelekomcloud.RmsPolicyAssignmentV1Args{\n\t\t\tName:        pulumi.Any(policyAssignmentName),\n\t\t\tDescription: pulumi.String(\"The ECS instances that do not conform to the custom function logic are considered non-compliant.\"),\n\t\t\tStatus:      pulumi.String(\"Enabled\"),\n\t\t\tCustomPolicy: \u0026opentelekomcloud.RmsPolicyAssignmentV1CustomPolicyArgs{\n\t\t\t\tFunctionUrn: pulumi.Sprintf(\"%v:%v\", functionUrn, functionVersion),\n\t\t\t\tAuthType:    pulumi.String(\"agency\"),\n\t\t\t\tAuthValue: pulumi.StringMap{\n\t\t\t\t\t\"agency_name\": pulumi.Sprintf(\"\\\"%v\\\"\", rmsAdminTrustAgency),\n\t\t\t\t},\n\t\t\t},\n\t\t\tParameters: pulumi.StringMap{\n\t\t\t\t\"string_example\": pulumi.String(\"\\\"string_value\\\"\"),\n\t\t\t\t\"array_example\":  pulumi.String(\"[\\\"array_element\\\"]\"),\n\t\t\t\t\"object_example\": pulumi.String(\"{\\\"terraform_version\\\":\\\"1.xx.x\\\"}\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.RmsPolicyAssignmentV1;\nimport com.pulumi.opentelekomcloud.RmsPolicyAssignmentV1Args;\nimport com.pulumi.opentelekomcloud.inputs.RmsPolicyAssignmentV1CustomPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var policyAssignmentName = config.get(\"policyAssignmentName\");\n        final var functionUrn = config.get(\"functionUrn\");\n        final var functionVersion = config.get(\"functionVersion\");\n        final var rmsAdminTrustAgency = config.get(\"rmsAdminTrustAgency\");\n        var test = new RmsPolicyAssignmentV1(\"test\", RmsPolicyAssignmentV1Args.builder()\n            .name(policyAssignmentName)\n            .description(\"The ECS instances that do not conform to the custom function logic are considered non-compliant.\")\n            .status(\"Enabled\")\n            .customPolicy(RmsPolicyAssignmentV1CustomPolicyArgs.builder()\n                .functionUrn(String.format(\"%s:%s\", functionUrn,functionVersion))\n                .authType(\"agency\")\n                .authValue(Map.of(\"agency_name\", String.format(\"\\\"%s\\\"\", rmsAdminTrustAgency)))\n                .build())\n            .parameters(Map.ofEntries(\n                Map.entry(\"string_example\", \"\\\"string_value\\\"\"),\n                Map.entry(\"array_example\", \"[\\\"array_element\\\"]\"),\n                Map.entry(\"object_example\", \"{\\\"terraform_version\\\":\\\"1.xx.x\\\"}\")\n            ))\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  policyAssignmentName:\n    type: dynamic\n  functionUrn:\n    type: dynamic\n  functionVersion:\n    type: dynamic\n  rmsAdminTrustAgency:\n    type: dynamic\nresources:\n  test:\n    type: opentelekomcloud:RmsPolicyAssignmentV1\n    properties:\n      name: ${policyAssignmentName}\n      description: The ECS instances that do not conform to the custom function logic are considered non-compliant.\n      status: Enabled\n      customPolicy:\n        functionUrn: ${functionUrn}:${functionVersion}\n        authType: agency\n        authValue:\n          agency_name: '\"${rmsAdminTrustAgency}\"'\n      parameters:\n        string_example: '\"string_value\"'\n        array_example: '[\"array_element\"]'\n        object_example: '{\"terraform_version\":\"1.xx.x\"}'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPolicy assignments can be imported using their `id`, e.g.\n\nbash\n\n```sh\n$ pulumi import opentelekomcloud:index/rmsPolicyAssignmentV1:RmsPolicyAssignmentV1 test 63f48e3762ce955981ab7e25\n```\n\n","properties":{"createdAt":{"type":"string","description":"The creation time of the policy assignment.\n"},"customPolicy":{"$ref":"#/types/opentelekomcloud:index%2FRmsPolicyAssignmentV1CustomPolicy:RmsPolicyAssignmentV1CustomPolicy","description":"Specifies the configuration of the custom policy.\nThe object structure is documented below.\n"},"description":{"type":"string","description":"Specifies the description of the policy assignment, which contain maximum of\n\u003cspan pulumi-lang-nodejs=\"`512`\" pulumi-lang-dotnet=\"`512`\" pulumi-lang-go=\"`512`\" pulumi-lang-python=\"`512`\" pulumi-lang-yaml=\"`512`\" pulumi-lang-java=\"`512`\"\u003e`512`\u003c/span\u003e characters.\n"},"name":{"type":"string","description":"Specifies the name of the policy assignment.\nThe valid length is limited from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e.\nChange this parameter will create a new resource.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the rule definition of the policy assignment.\n"},"period":{"type":"string","description":"Specifies the period of the policy assignment.\nThe valid values are as follows:\n+ **One_Hour**\n+ **Three_Hours**\n+ **Six_Hours**\n+ **Twelve_Hours**\n+ **TwentyFour_Hours**\n\nMost one of \u003cspan pulumi-lang-nodejs=\"`period`\" pulumi-lang-dotnet=\"`Period`\" pulumi-lang-go=\"`period`\" pulumi-lang-python=\"`period`\" pulumi-lang-yaml=\"`period`\" pulumi-lang-java=\"`period`\"\u003e`period`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`policyFilter`\" pulumi-lang-dotnet=\"`PolicyFilter`\" pulumi-lang-go=\"`policyFilter`\" pulumi-lang-python=\"`policy_filter`\" pulumi-lang-yaml=\"`policyFilter`\" pulumi-lang-java=\"`policyFilter`\"\u003e`policy_filter`\u003c/span\u003e can be configured.\n"},"policyDefinitionId":{"type":"string","description":"Specifies the ID of the built-in policy definition.\nThis parameter and \u003cspan pulumi-lang-nodejs=\"`customPolicy`\" pulumi-lang-dotnet=\"`CustomPolicy`\" pulumi-lang-go=\"`customPolicy`\" pulumi-lang-python=\"`custom_policy`\" pulumi-lang-yaml=\"`customPolicy`\" pulumi-lang-java=\"`customPolicy`\"\u003e`custom_policy`\u003c/span\u003e are alternative.\n"},"policyFilter":{"$ref":"#/types/opentelekomcloud:index%2FRmsPolicyAssignmentV1PolicyFilter:RmsPolicyAssignmentV1PolicyFilter","description":"Specifies the configuration used to filter resources.\nThe object structure is documented below.\n\n\u003e If the \u003cspan pulumi-lang-nodejs=\"`period`\" pulumi-lang-dotnet=\"`Period`\" pulumi-lang-go=\"`period`\" pulumi-lang-python=\"`period`\" pulumi-lang-yaml=\"`period`\" pulumi-lang-java=\"`period`\"\u003e`period`\u003c/span\u003e is configured, it means that the evaluation is performed periodically.\nIf the \u003cspan pulumi-lang-nodejs=\"`policyFilter`\" pulumi-lang-dotnet=\"`PolicyFilter`\" pulumi-lang-go=\"`policyFilter`\" pulumi-lang-python=\"`policy_filter`\" pulumi-lang-yaml=\"`policyFilter`\" pulumi-lang-java=\"`policyFilter`\"\u003e`policy_filter`\u003c/span\u003e is configured, it means that the evaluation is performed on the specified resources through\nthe filter. If neither parameter is configured, it means that the evaluation is performed on all resources under the\naccount.\n"},"rmsPolicyAssignmentV1Id":{"type":"string","description":"The ID of the policy assignment.\n"},"status":{"type":"string","description":"Specifies the expect status of the policy.\nThe valid values are **Enabled** and **Disabled**.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"rmsPolicyFilter\"\" pulumi-lang-dotnet=\"\"RmsPolicyFilter\"\" pulumi-lang-go=\"\"rmsPolicyFilter\"\" pulumi-lang-python=\"\"rms_policy_filter\"\" pulumi-lang-yaml=\"\"rmsPolicyFilter\"\" pulumi-lang-java=\"\"rmsPolicyFilter\"\"\u003e\"rms_policy_filter\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`policyFilter`\" pulumi-lang-dotnet=\"`PolicyFilter`\" pulumi-lang-go=\"`policyFilter`\" pulumi-lang-python=\"`policy_filter`\" pulumi-lang-yaml=\"`policyFilter`\" pulumi-lang-java=\"`policyFilter`\"\u003e`policy_filter`\u003c/span\u003e block supports:\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FRmsPolicyAssignmentV1Timeouts:RmsPolicyAssignmentV1Timeouts"},"type":{"type":"string","description":"The type of the policy assignment.\nThe valid values are as follows:\n+ **builtin**\n+ **custom**\n"},"updatedAt":{"type":"string","description":"The latest update time of the policy assignment.\n"}},"type":"object","required":["createdAt","name","rmsPolicyAssignmentV1Id","status","type","updatedAt"],"inputProperties":{"customPolicy":{"$ref":"#/types/opentelekomcloud:index%2FRmsPolicyAssignmentV1CustomPolicy:RmsPolicyAssignmentV1CustomPolicy","description":"Specifies the configuration of the custom policy.\nThe object structure is documented below.\n"},"description":{"type":"string","description":"Specifies the description of the policy assignment, which contain maximum of\n\u003cspan pulumi-lang-nodejs=\"`512`\" pulumi-lang-dotnet=\"`512`\" pulumi-lang-go=\"`512`\" pulumi-lang-python=\"`512`\" pulumi-lang-yaml=\"`512`\" pulumi-lang-java=\"`512`\"\u003e`512`\u003c/span\u003e characters.\n"},"name":{"type":"string","description":"Specifies the name of the policy assignment.\nThe valid length is limited from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e.\nChange this parameter will create a new resource.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the rule definition of the policy assignment.\n"},"period":{"type":"string","description":"Specifies the period of the policy assignment.\nThe valid values are as follows:\n+ **One_Hour**\n+ **Three_Hours**\n+ **Six_Hours**\n+ **Twelve_Hours**\n+ **TwentyFour_Hours**\n\nMost one of \u003cspan pulumi-lang-nodejs=\"`period`\" pulumi-lang-dotnet=\"`Period`\" pulumi-lang-go=\"`period`\" pulumi-lang-python=\"`period`\" pulumi-lang-yaml=\"`period`\" pulumi-lang-java=\"`period`\"\u003e`period`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`policyFilter`\" pulumi-lang-dotnet=\"`PolicyFilter`\" pulumi-lang-go=\"`policyFilter`\" pulumi-lang-python=\"`policy_filter`\" pulumi-lang-yaml=\"`policyFilter`\" pulumi-lang-java=\"`policyFilter`\"\u003e`policy_filter`\u003c/span\u003e can be configured.\n"},"policyDefinitionId":{"type":"string","description":"Specifies the ID of the built-in policy definition.\nThis parameter and \u003cspan pulumi-lang-nodejs=\"`customPolicy`\" pulumi-lang-dotnet=\"`CustomPolicy`\" pulumi-lang-go=\"`customPolicy`\" pulumi-lang-python=\"`custom_policy`\" pulumi-lang-yaml=\"`customPolicy`\" pulumi-lang-java=\"`customPolicy`\"\u003e`custom_policy`\u003c/span\u003e are alternative.\n"},"policyFilter":{"$ref":"#/types/opentelekomcloud:index%2FRmsPolicyAssignmentV1PolicyFilter:RmsPolicyAssignmentV1PolicyFilter","description":"Specifies the configuration used to filter resources.\nThe object structure is documented below.\n\n\u003e If the \u003cspan pulumi-lang-nodejs=\"`period`\" pulumi-lang-dotnet=\"`Period`\" pulumi-lang-go=\"`period`\" pulumi-lang-python=\"`period`\" pulumi-lang-yaml=\"`period`\" pulumi-lang-java=\"`period`\"\u003e`period`\u003c/span\u003e is configured, it means that the evaluation is performed periodically.\nIf the \u003cspan pulumi-lang-nodejs=\"`policyFilter`\" pulumi-lang-dotnet=\"`PolicyFilter`\" pulumi-lang-go=\"`policyFilter`\" pulumi-lang-python=\"`policy_filter`\" pulumi-lang-yaml=\"`policyFilter`\" pulumi-lang-java=\"`policyFilter`\"\u003e`policy_filter`\u003c/span\u003e is configured, it means that the evaluation is performed on the specified resources through\nthe filter. If neither parameter is configured, it means that the evaluation is performed on all resources under the\naccount.\n"},"rmsPolicyAssignmentV1Id":{"type":"string","description":"The ID of the policy assignment.\n"},"status":{"type":"string","description":"Specifies the expect status of the policy.\nThe valid values are **Enabled** and **Disabled**.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"rmsPolicyFilter\"\" pulumi-lang-dotnet=\"\"RmsPolicyFilter\"\" pulumi-lang-go=\"\"rmsPolicyFilter\"\" pulumi-lang-python=\"\"rms_policy_filter\"\" pulumi-lang-yaml=\"\"rmsPolicyFilter\"\" pulumi-lang-java=\"\"rmsPolicyFilter\"\"\u003e\"rms_policy_filter\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`policyFilter`\" pulumi-lang-dotnet=\"`PolicyFilter`\" pulumi-lang-go=\"`policyFilter`\" pulumi-lang-python=\"`policy_filter`\" pulumi-lang-yaml=\"`policyFilter`\" pulumi-lang-java=\"`policyFilter`\"\u003e`policy_filter`\u003c/span\u003e block supports:\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FRmsPolicyAssignmentV1Timeouts:RmsPolicyAssignmentV1Timeouts"}},"stateInputs":{"description":"Input properties used for looking up and filtering RmsPolicyAssignmentV1 resources.\n","properties":{"createdAt":{"type":"string","description":"The creation time of the policy assignment.\n"},"customPolicy":{"$ref":"#/types/opentelekomcloud:index%2FRmsPolicyAssignmentV1CustomPolicy:RmsPolicyAssignmentV1CustomPolicy","description":"Specifies the configuration of the custom policy.\nThe object structure is documented below.\n"},"description":{"type":"string","description":"Specifies the description of the policy assignment, which contain maximum of\n\u003cspan pulumi-lang-nodejs=\"`512`\" pulumi-lang-dotnet=\"`512`\" pulumi-lang-go=\"`512`\" pulumi-lang-python=\"`512`\" pulumi-lang-yaml=\"`512`\" pulumi-lang-java=\"`512`\"\u003e`512`\u003c/span\u003e characters.\n"},"name":{"type":"string","description":"Specifies the name of the policy assignment.\nThe valid length is limited from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e.\nChange this parameter will create a new resource.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the rule definition of the policy assignment.\n"},"period":{"type":"string","description":"Specifies the period of the policy assignment.\nThe valid values are as follows:\n+ **One_Hour**\n+ **Three_Hours**\n+ **Six_Hours**\n+ **Twelve_Hours**\n+ **TwentyFour_Hours**\n\nMost one of \u003cspan pulumi-lang-nodejs=\"`period`\" pulumi-lang-dotnet=\"`Period`\" pulumi-lang-go=\"`period`\" pulumi-lang-python=\"`period`\" pulumi-lang-yaml=\"`period`\" pulumi-lang-java=\"`period`\"\u003e`period`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`policyFilter`\" pulumi-lang-dotnet=\"`PolicyFilter`\" pulumi-lang-go=\"`policyFilter`\" pulumi-lang-python=\"`policy_filter`\" pulumi-lang-yaml=\"`policyFilter`\" pulumi-lang-java=\"`policyFilter`\"\u003e`policy_filter`\u003c/span\u003e can be configured.\n"},"policyDefinitionId":{"type":"string","description":"Specifies the ID of the built-in policy definition.\nThis parameter and \u003cspan pulumi-lang-nodejs=\"`customPolicy`\" pulumi-lang-dotnet=\"`CustomPolicy`\" pulumi-lang-go=\"`customPolicy`\" pulumi-lang-python=\"`custom_policy`\" pulumi-lang-yaml=\"`customPolicy`\" pulumi-lang-java=\"`customPolicy`\"\u003e`custom_policy`\u003c/span\u003e are alternative.\n"},"policyFilter":{"$ref":"#/types/opentelekomcloud:index%2FRmsPolicyAssignmentV1PolicyFilter:RmsPolicyAssignmentV1PolicyFilter","description":"Specifies the configuration used to filter resources.\nThe object structure is documented below.\n\n\u003e If the \u003cspan pulumi-lang-nodejs=\"`period`\" pulumi-lang-dotnet=\"`Period`\" pulumi-lang-go=\"`period`\" pulumi-lang-python=\"`period`\" pulumi-lang-yaml=\"`period`\" pulumi-lang-java=\"`period`\"\u003e`period`\u003c/span\u003e is configured, it means that the evaluation is performed periodically.\nIf the \u003cspan pulumi-lang-nodejs=\"`policyFilter`\" pulumi-lang-dotnet=\"`PolicyFilter`\" pulumi-lang-go=\"`policyFilter`\" pulumi-lang-python=\"`policy_filter`\" pulumi-lang-yaml=\"`policyFilter`\" pulumi-lang-java=\"`policyFilter`\"\u003e`policy_filter`\u003c/span\u003e is configured, it means that the evaluation is performed on the specified resources through\nthe filter. If neither parameter is configured, it means that the evaluation is performed on all resources under the\naccount.\n"},"rmsPolicyAssignmentV1Id":{"type":"string","description":"The ID of the policy assignment.\n"},"status":{"type":"string","description":"Specifies the expect status of the policy.\nThe valid values are **Enabled** and **Disabled**.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"rmsPolicyFilter\"\" pulumi-lang-dotnet=\"\"RmsPolicyFilter\"\" pulumi-lang-go=\"\"rmsPolicyFilter\"\" pulumi-lang-python=\"\"rms_policy_filter\"\" pulumi-lang-yaml=\"\"rmsPolicyFilter\"\" pulumi-lang-java=\"\"rmsPolicyFilter\"\"\u003e\"rms_policy_filter\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`policyFilter`\" pulumi-lang-dotnet=\"`PolicyFilter`\" pulumi-lang-go=\"`policyFilter`\" pulumi-lang-python=\"`policy_filter`\" pulumi-lang-yaml=\"`policyFilter`\" pulumi-lang-java=\"`policyFilter`\"\u003e`policy_filter`\u003c/span\u003e block supports:\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FRmsPolicyAssignmentV1Timeouts:RmsPolicyAssignmentV1Timeouts"},"type":{"type":"string","description":"The type of the policy assignment.\nThe valid values are as follows:\n+ **builtin**\n+ **custom**\n"},"updatedAt":{"type":"string","description":"The latest update time of the policy assignment.\n"}},"type":"object"}},"opentelekomcloud:index/rmsResourceRecorderV1:RmsResourceRecorderV1":{"description":"Up-to-date reference of API arguments for RMS Resource Recorder you can get at\n[documentation portal](https://docs.otc.t-systems.com/config/api-ref/apis/resource_recorder/index.html#rms-04-0200)\n\nManages a RMS recorder resource within OpenTelekomCloud.\n\n\u003e Only one resource recorder can be configured.\n\n## Example Usage\n\n### Recorder with All Supported Resources\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst topicUrn = config.requireObject\u003cany\u003e(\"topicUrn\");\nconst bucketName = config.requireObject\u003cany\u003e(\"bucketName\");\nconst deliveryRegion = config.requireObject\u003cany\u003e(\"deliveryRegion\");\nconst test = new opentelekomcloud.RmsResourceRecorderV1(\"test\", {\n    agencyName: \"rms_tracker_agency\",\n    selector: {\n        allSupported: true,\n    },\n    obsChannel: {\n        bucket: bucketName,\n        region: deliveryRegion,\n    },\n    smnChannel: {\n        topicUrn: topicUrn,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ntopic_urn = config.require_object(\"topicUrn\")\nbucket_name = config.require_object(\"bucketName\")\ndelivery_region = config.require_object(\"deliveryRegion\")\ntest = opentelekomcloud.RmsResourceRecorderV1(\"test\",\n    agency_name=\"rms_tracker_agency\",\n    selector={\n        \"all_supported\": True,\n    },\n    obs_channel={\n        \"bucket\": bucket_name,\n        \"region\": delivery_region,\n    },\n    smn_channel={\n        \"topic_urn\": topic_urn,\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var topicUrn = config.RequireObject\u003cdynamic\u003e(\"topicUrn\");\n    var bucketName = config.RequireObject\u003cdynamic\u003e(\"bucketName\");\n    var deliveryRegion = config.RequireObject\u003cdynamic\u003e(\"deliveryRegion\");\n    var test = new Opentelekomcloud.RmsResourceRecorderV1(\"test\", new()\n    {\n        AgencyName = \"rms_tracker_agency\",\n        Selector = new Opentelekomcloud.Inputs.RmsResourceRecorderV1SelectorArgs\n        {\n            AllSupported = true,\n        },\n        ObsChannel = new Opentelekomcloud.Inputs.RmsResourceRecorderV1ObsChannelArgs\n        {\n            Bucket = bucketName,\n            Region = deliveryRegion,\n        },\n        SmnChannel = new Opentelekomcloud.Inputs.RmsResourceRecorderV1SmnChannelArgs\n        {\n            TopicUrn = topicUrn,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\ttopicUrn := cfg.RequireObject(\"topicUrn\")\n\t\tbucketName := cfg.RequireObject(\"bucketName\")\n\t\tdeliveryRegion := cfg.RequireObject(\"deliveryRegion\")\n\t\t_, err := opentelekomcloud.NewRmsResourceRecorderV1(ctx, \"test\", \u0026opentelekomcloud.RmsResourceRecorderV1Args{\n\t\t\tAgencyName: pulumi.String(\"rms_tracker_agency\"),\n\t\t\tSelector: \u0026opentelekomcloud.RmsResourceRecorderV1SelectorArgs{\n\t\t\t\tAllSupported: pulumi.Bool(true),\n\t\t\t},\n\t\t\tObsChannel: \u0026opentelekomcloud.RmsResourceRecorderV1ObsChannelArgs{\n\t\t\t\tBucket: pulumi.Any(bucketName),\n\t\t\t\tRegion: pulumi.Any(deliveryRegion),\n\t\t\t},\n\t\t\tSmnChannel: \u0026opentelekomcloud.RmsResourceRecorderV1SmnChannelArgs{\n\t\t\t\tTopicUrn: pulumi.Any(topicUrn),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.RmsResourceRecorderV1;\nimport com.pulumi.opentelekomcloud.RmsResourceRecorderV1Args;\nimport com.pulumi.opentelekomcloud.inputs.RmsResourceRecorderV1SelectorArgs;\nimport com.pulumi.opentelekomcloud.inputs.RmsResourceRecorderV1ObsChannelArgs;\nimport com.pulumi.opentelekomcloud.inputs.RmsResourceRecorderV1SmnChannelArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var topicUrn = config.get(\"topicUrn\");\n        final var bucketName = config.get(\"bucketName\");\n        final var deliveryRegion = config.get(\"deliveryRegion\");\n        var test = new RmsResourceRecorderV1(\"test\", RmsResourceRecorderV1Args.builder()\n            .agencyName(\"rms_tracker_agency\")\n            .selector(RmsResourceRecorderV1SelectorArgs.builder()\n                .allSupported(true)\n                .build())\n            .obsChannel(RmsResourceRecorderV1ObsChannelArgs.builder()\n                .bucket(bucketName)\n                .region(deliveryRegion)\n                .build())\n            .smnChannel(RmsResourceRecorderV1SmnChannelArgs.builder()\n                .topicUrn(topicUrn)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  topicUrn:\n    type: dynamic\n  bucketName:\n    type: dynamic\n  deliveryRegion:\n    type: dynamic\nresources:\n  test:\n    type: opentelekomcloud:RmsResourceRecorderV1\n    properties:\n      agencyName: rms_tracker_agency\n      selector:\n        allSupported: true\n      obsChannel:\n        bucket: ${bucketName}\n        region: ${deliveryRegion}\n      smnChannel:\n        topicUrn: ${topicUrn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Recorder with Specified Resources\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst bucketName = config.requireObject\u003cany\u003e(\"bucketName\");\nconst deliveryRegion = config.requireObject\u003cany\u003e(\"deliveryRegion\");\nconst test = new opentelekomcloud.RmsResourceRecorderV1(\"test\", {\n    agencyName: \"rms_tracker_agency\",\n    selector: {\n        allSupported: false,\n        resourceTypes: [\n            \"vpc.vpcs\",\n            \"rds.instances\",\n            \"dms.kafkas\",\n            \"dms.rabbitmqs\",\n            \"dms.queues\",\n        ],\n    },\n    obsChannel: {\n        bucket: bucketName,\n        region: deliveryRegion,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nbucket_name = config.require_object(\"bucketName\")\ndelivery_region = config.require_object(\"deliveryRegion\")\ntest = opentelekomcloud.RmsResourceRecorderV1(\"test\",\n    agency_name=\"rms_tracker_agency\",\n    selector={\n        \"all_supported\": False,\n        \"resource_types\": [\n            \"vpc.vpcs\",\n            \"rds.instances\",\n            \"dms.kafkas\",\n            \"dms.rabbitmqs\",\n            \"dms.queues\",\n        ],\n    },\n    obs_channel={\n        \"bucket\": bucket_name,\n        \"region\": delivery_region,\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var bucketName = config.RequireObject\u003cdynamic\u003e(\"bucketName\");\n    var deliveryRegion = config.RequireObject\u003cdynamic\u003e(\"deliveryRegion\");\n    var test = new Opentelekomcloud.RmsResourceRecorderV1(\"test\", new()\n    {\n        AgencyName = \"rms_tracker_agency\",\n        Selector = new Opentelekomcloud.Inputs.RmsResourceRecorderV1SelectorArgs\n        {\n            AllSupported = false,\n            ResourceTypes = new[]\n            {\n                \"vpc.vpcs\",\n                \"rds.instances\",\n                \"dms.kafkas\",\n                \"dms.rabbitmqs\",\n                \"dms.queues\",\n            },\n        },\n        ObsChannel = new Opentelekomcloud.Inputs.RmsResourceRecorderV1ObsChannelArgs\n        {\n            Bucket = bucketName,\n            Region = deliveryRegion,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tbucketName := cfg.RequireObject(\"bucketName\")\n\t\tdeliveryRegion := cfg.RequireObject(\"deliveryRegion\")\n\t\t_, err := opentelekomcloud.NewRmsResourceRecorderV1(ctx, \"test\", \u0026opentelekomcloud.RmsResourceRecorderV1Args{\n\t\t\tAgencyName: pulumi.String(\"rms_tracker_agency\"),\n\t\t\tSelector: \u0026opentelekomcloud.RmsResourceRecorderV1SelectorArgs{\n\t\t\t\tAllSupported: pulumi.Bool(false),\n\t\t\t\tResourceTypes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"vpc.vpcs\"),\n\t\t\t\t\tpulumi.String(\"rds.instances\"),\n\t\t\t\t\tpulumi.String(\"dms.kafkas\"),\n\t\t\t\t\tpulumi.String(\"dms.rabbitmqs\"),\n\t\t\t\t\tpulumi.String(\"dms.queues\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tObsChannel: \u0026opentelekomcloud.RmsResourceRecorderV1ObsChannelArgs{\n\t\t\t\tBucket: pulumi.Any(bucketName),\n\t\t\t\tRegion: pulumi.Any(deliveryRegion),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.RmsResourceRecorderV1;\nimport com.pulumi.opentelekomcloud.RmsResourceRecorderV1Args;\nimport com.pulumi.opentelekomcloud.inputs.RmsResourceRecorderV1SelectorArgs;\nimport com.pulumi.opentelekomcloud.inputs.RmsResourceRecorderV1ObsChannelArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var bucketName = config.get(\"bucketName\");\n        final var deliveryRegion = config.get(\"deliveryRegion\");\n        var test = new RmsResourceRecorderV1(\"test\", RmsResourceRecorderV1Args.builder()\n            .agencyName(\"rms_tracker_agency\")\n            .selector(RmsResourceRecorderV1SelectorArgs.builder()\n                .allSupported(false)\n                .resourceTypes(                \n                    \"vpc.vpcs\",\n                    \"rds.instances\",\n                    \"dms.kafkas\",\n                    \"dms.rabbitmqs\",\n                    \"dms.queues\")\n                .build())\n            .obsChannel(RmsResourceRecorderV1ObsChannelArgs.builder()\n                .bucket(bucketName)\n                .region(deliveryRegion)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  bucketName:\n    type: dynamic\n  deliveryRegion:\n    type: dynamic\nresources:\n  test:\n    type: opentelekomcloud:RmsResourceRecorderV1\n    properties:\n      agencyName: rms_tracker_agency\n      selector:\n        allSupported: false\n        resourceTypes:\n          - vpc.vpcs\n          - rds.instances\n          - dms.kafkas\n          - dms.rabbitmqs\n          - dms.queues\n      obsChannel:\n        bucket: ${bucketName}\n        region: ${deliveryRegion}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe recorder can be imported by providing `domain_id` as resource ID, e.g.\n\nbash\n\n```sh\n$ pulumi import opentelekomcloud:index/rmsResourceRecorderV1:RmsResourceRecorderV1 test domain_id\n```\n\n","properties":{"agencyName":{"type":"string","description":"Specifies the IAM agency name which must include permissions\nfor sending notifications through SMN and for writing data into OBS.\n"},"obsChannel":{"$ref":"#/types/opentelekomcloud:index%2FRmsResourceRecorderV1ObsChannel:RmsResourceRecorderV1ObsChannel","description":"Specifies configurations of the OBS bucket used for data dumping.\nThe object structure is documented below.\n"},"retentionPeriod":{"type":"number","description":"The number of days for data storage.\n"},"rmsResourceRecorderV1Id":{"type":"string","description":"The resource ID.\n"},"selector":{"$ref":"#/types/opentelekomcloud:index%2FRmsResourceRecorderV1Selector:RmsResourceRecorderV1Selector","description":"Specifies configurations of resource selector.\nThe object structure is documented below.\n"},"smnChannel":{"$ref":"#/types/opentelekomcloud:index%2FRmsResourceRecorderV1SmnChannel:RmsResourceRecorderV1SmnChannel","description":"Specifies configurations of the SMN channel used to send notifications.\nThe object structure is documented below.\n\n\u003e At least one \u003cspan pulumi-lang-nodejs=\"`obsChannel`\" pulumi-lang-dotnet=\"`ObsChannel`\" pulumi-lang-go=\"`obsChannel`\" pulumi-lang-python=\"`obs_channel`\" pulumi-lang-yaml=\"`obsChannel`\" pulumi-lang-java=\"`obsChannel`\"\u003e`obs_channel`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`smnChannel`\" pulumi-lang-dotnet=\"`SmnChannel`\" pulumi-lang-go=\"`smnChannel`\" pulumi-lang-python=\"`smn_channel`\" pulumi-lang-yaml=\"`smnChannel`\" pulumi-lang-java=\"`smnChannel`\"\u003e`smn_channel`\u003c/span\u003e must be configured.\n\n\u003ca name=\"Recorder_SelectorConfigBody\"\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`selector`\" pulumi-lang-dotnet=\"`Selector`\" pulumi-lang-go=\"`selector`\" pulumi-lang-python=\"`selector`\" pulumi-lang-yaml=\"`selector`\" pulumi-lang-java=\"`selector`\"\u003e`selector`\u003c/span\u003e block supports:\n"}},"type":"object","required":["agencyName","retentionPeriod","rmsResourceRecorderV1Id","selector"],"inputProperties":{"agencyName":{"type":"string","description":"Specifies the IAM agency name which must include permissions\nfor sending notifications through SMN and for writing data into OBS.\n"},"obsChannel":{"$ref":"#/types/opentelekomcloud:index%2FRmsResourceRecorderV1ObsChannel:RmsResourceRecorderV1ObsChannel","description":"Specifies configurations of the OBS bucket used for data dumping.\nThe object structure is documented below.\n"},"rmsResourceRecorderV1Id":{"type":"string","description":"The resource ID.\n"},"selector":{"$ref":"#/types/opentelekomcloud:index%2FRmsResourceRecorderV1Selector:RmsResourceRecorderV1Selector","description":"Specifies configurations of resource selector.\nThe object structure is documented below.\n"},"smnChannel":{"$ref":"#/types/opentelekomcloud:index%2FRmsResourceRecorderV1SmnChannel:RmsResourceRecorderV1SmnChannel","description":"Specifies configurations of the SMN channel used to send notifications.\nThe object structure is documented below.\n\n\u003e At least one \u003cspan pulumi-lang-nodejs=\"`obsChannel`\" pulumi-lang-dotnet=\"`ObsChannel`\" pulumi-lang-go=\"`obsChannel`\" pulumi-lang-python=\"`obs_channel`\" pulumi-lang-yaml=\"`obsChannel`\" pulumi-lang-java=\"`obsChannel`\"\u003e`obs_channel`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`smnChannel`\" pulumi-lang-dotnet=\"`SmnChannel`\" pulumi-lang-go=\"`smnChannel`\" pulumi-lang-python=\"`smn_channel`\" pulumi-lang-yaml=\"`smnChannel`\" pulumi-lang-java=\"`smnChannel`\"\u003e`smn_channel`\u003c/span\u003e must be configured.\n\n\u003ca name=\"Recorder_SelectorConfigBody\"\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`selector`\" pulumi-lang-dotnet=\"`Selector`\" pulumi-lang-go=\"`selector`\" pulumi-lang-python=\"`selector`\" pulumi-lang-yaml=\"`selector`\" pulumi-lang-java=\"`selector`\"\u003e`selector`\u003c/span\u003e block supports:\n"}},"requiredInputs":["agencyName","selector"],"stateInputs":{"description":"Input properties used for looking up and filtering RmsResourceRecorderV1 resources.\n","properties":{"agencyName":{"type":"string","description":"Specifies the IAM agency name which must include permissions\nfor sending notifications through SMN and for writing data into OBS.\n"},"obsChannel":{"$ref":"#/types/opentelekomcloud:index%2FRmsResourceRecorderV1ObsChannel:RmsResourceRecorderV1ObsChannel","description":"Specifies configurations of the OBS bucket used for data dumping.\nThe object structure is documented below.\n"},"retentionPeriod":{"type":"number","description":"The number of days for data storage.\n"},"rmsResourceRecorderV1Id":{"type":"string","description":"The resource ID.\n"},"selector":{"$ref":"#/types/opentelekomcloud:index%2FRmsResourceRecorderV1Selector:RmsResourceRecorderV1Selector","description":"Specifies configurations of resource selector.\nThe object structure is documented below.\n"},"smnChannel":{"$ref":"#/types/opentelekomcloud:index%2FRmsResourceRecorderV1SmnChannel:RmsResourceRecorderV1SmnChannel","description":"Specifies configurations of the SMN channel used to send notifications.\nThe object structure is documented below.\n\n\u003e At least one \u003cspan pulumi-lang-nodejs=\"`obsChannel`\" pulumi-lang-dotnet=\"`ObsChannel`\" pulumi-lang-go=\"`obsChannel`\" pulumi-lang-python=\"`obs_channel`\" pulumi-lang-yaml=\"`obsChannel`\" pulumi-lang-java=\"`obsChannel`\"\u003e`obs_channel`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`smnChannel`\" pulumi-lang-dotnet=\"`SmnChannel`\" pulumi-lang-go=\"`smnChannel`\" pulumi-lang-python=\"`smn_channel`\" pulumi-lang-yaml=\"`smnChannel`\" pulumi-lang-java=\"`smnChannel`\"\u003e`smn_channel`\u003c/span\u003e must be configured.\n\n\u003ca name=\"Recorder_SelectorConfigBody\"\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`selector`\" pulumi-lang-dotnet=\"`Selector`\" pulumi-lang-go=\"`selector`\" pulumi-lang-python=\"`selector`\" pulumi-lang-yaml=\"`selector`\" pulumi-lang-java=\"`selector`\"\u003e`selector`\u003c/span\u003e block supports:\n"}},"type":"object"}},"opentelekomcloud:index/rtsSoftwareConfigV1:RtsSoftwareConfigV1":{"description":"Up-to-date reference of API arguments for RTS config you can get at\n[documentation portal](https://docs.otc.t-systems.com/resource-template-service/api-ref/apis/software_configuration_management)\n\nProvides an RTS software config resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst configName = config.requireObject\u003cany\u003e(\"configName\");\nconst myconfig = new opentelekomcloud.RtsSoftwareConfigV1(\"myconfig\", {name: configName});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nconfig_name = config.require_object(\"configName\")\nmyconfig = opentelekomcloud.RtsSoftwareConfigV1(\"myconfig\", name=config_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var configName = config.RequireObject\u003cdynamic\u003e(\"configName\");\n    var myconfig = new Opentelekomcloud.RtsSoftwareConfigV1(\"myconfig\", new()\n    {\n        Name = configName,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tconfigName := cfg.RequireObject(\"configName\")\n\t\t_, err := opentelekomcloud.NewRtsSoftwareConfigV1(ctx, \"myconfig\", \u0026opentelekomcloud.RtsSoftwareConfigV1Args{\n\t\t\tName: pulumi.Any(configName),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.RtsSoftwareConfigV1;\nimport com.pulumi.opentelekomcloud.RtsSoftwareConfigV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var configName = config.get(\"configName\");\n        var myconfig = new RtsSoftwareConfigV1(\"myconfig\", RtsSoftwareConfigV1Args.builder()\n            .name(configName)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  configName:\n    type: dynamic\nresources:\n  myconfig:\n    type: opentelekomcloud:RtsSoftwareConfigV1\n    properties:\n      name: ${configName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSoftware Config can be imported using the `config id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/rtsSoftwareConfigV1:RtsSoftwareConfigV1 opentelekomcloud_rts_software_config_v1 4779ab1c-7c1a-44b1-a02e-93dfc361b32d\n```\n\n","properties":{"config":{"type":"string","description":"The software configuration code.\n"},"group":{"type":"string","description":"The namespace that groups this software configuration by when it is delivered to a server.\n"},"inputValues":{"type":"array","items":{"type":"object","additionalProperties":{"type":"string"}},"description":"A list of software configuration inputs.\n"},"name":{"type":"string","description":"The name of the software configuration.\n"},"options":{"type":"object","additionalProperties":{"type":"string"},"description":"The software configuration options.\n"},"outputValues":{"type":"array","items":{"type":"object","additionalProperties":{"type":"string"}},"description":"A list of software configuration outputs.\n"},"region":{"type":"string"},"rtsSoftwareConfigV1Id":{"type":"string","description":"The id of the software config.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FRtsSoftwareConfigV1Timeouts:RtsSoftwareConfigV1Timeouts"}},"type":"object","required":["name","region","rtsSoftwareConfigV1Id"],"inputProperties":{"config":{"type":"string","description":"The software configuration code.\n"},"group":{"type":"string","description":"The namespace that groups this software configuration by when it is delivered to a server.\n"},"inputValues":{"type":"array","items":{"type":"object","additionalProperties":{"type":"string"}},"description":"A list of software configuration inputs.\n"},"name":{"type":"string","description":"The name of the software configuration.\n"},"options":{"type":"object","additionalProperties":{"type":"string"},"description":"The software configuration options.\n"},"outputValues":{"type":"array","items":{"type":"object","additionalProperties":{"type":"string"}},"description":"A list of software configuration outputs.\n"},"region":{"type":"string"},"rtsSoftwareConfigV1Id":{"type":"string","description":"The id of the software config.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FRtsSoftwareConfigV1Timeouts:RtsSoftwareConfigV1Timeouts"}},"stateInputs":{"description":"Input properties used for looking up and filtering RtsSoftwareConfigV1 resources.\n","properties":{"config":{"type":"string","description":"The software configuration code.\n"},"group":{"type":"string","description":"The namespace that groups this software configuration by when it is delivered to a server.\n"},"inputValues":{"type":"array","items":{"type":"object","additionalProperties":{"type":"string"}},"description":"A list of software configuration inputs.\n"},"name":{"type":"string","description":"The name of the software configuration.\n"},"options":{"type":"object","additionalProperties":{"type":"string"},"description":"The software configuration options.\n"},"outputValues":{"type":"array","items":{"type":"object","additionalProperties":{"type":"string"}},"description":"A list of software configuration outputs.\n"},"region":{"type":"string"},"rtsSoftwareConfigV1Id":{"type":"string","description":"The id of the software config.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FRtsSoftwareConfigV1Timeouts:RtsSoftwareConfigV1Timeouts"}},"type":"object"}},"opentelekomcloud:index/rtsSoftwareDeploymentV1:RtsSoftwareDeploymentV1":{"description":"Up-to-date reference of API arguments for RTS deployment you can get at\n[documentation portal](https://docs.otc.t-systems.com/resource-template-service/api-ref/apis/software_configuration_management)\n\nProvides an RTS software deployment resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst configId = config.requireObject\u003cany\u003e(\"configId\");\nconst serverId = config.requireObject\u003cany\u003e(\"serverId\");\nconst mydeployment = new opentelekomcloud.RtsSoftwareDeploymentV1(\"mydeployment\", {\n    configId: configId,\n    serverId: serverId,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nconfig_id = config.require_object(\"configId\")\nserver_id = config.require_object(\"serverId\")\nmydeployment = opentelekomcloud.RtsSoftwareDeploymentV1(\"mydeployment\",\n    config_id=config_id,\n    server_id=server_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var configId = config.RequireObject\u003cdynamic\u003e(\"configId\");\n    var serverId = config.RequireObject\u003cdynamic\u003e(\"serverId\");\n    var mydeployment = new Opentelekomcloud.RtsSoftwareDeploymentV1(\"mydeployment\", new()\n    {\n        ConfigId = configId,\n        ServerId = serverId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tconfigId := cfg.RequireObject(\"configId\")\n\t\tserverId := cfg.RequireObject(\"serverId\")\n\t\t_, err := opentelekomcloud.NewRtsSoftwareDeploymentV1(ctx, \"mydeployment\", \u0026opentelekomcloud.RtsSoftwareDeploymentV1Args{\n\t\t\tConfigId: pulumi.Any(configId),\n\t\t\tServerId: pulumi.Any(serverId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.RtsSoftwareDeploymentV1;\nimport com.pulumi.opentelekomcloud.RtsSoftwareDeploymentV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var configId = config.get(\"configId\");\n        final var serverId = config.get(\"serverId\");\n        var mydeployment = new RtsSoftwareDeploymentV1(\"mydeployment\", RtsSoftwareDeploymentV1Args.builder()\n            .configId(configId)\n            .serverId(serverId)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  configId:\n    type: dynamic\n  serverId:\n    type: dynamic\nresources:\n  mydeployment:\n    type: opentelekomcloud:RtsSoftwareDeploymentV1\n    properties:\n      configId: ${configId}\n      serverId: ${serverId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSoftware deployment can be imported using the `deployment id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/rtsSoftwareDeploymentV1:RtsSoftwareDeploymentV1 opentelekomcloud_rts_software_deployment_v1 4779ab1c-7c1a-44b1-a02e-93dfc361b32d\n```\n\n","properties":{"action":{"type":"string","description":"The stack action that triggers this deployment resource.\n"},"configId":{"type":"string","description":"The id of the software configuration resource running on an instance.\n"},"inputValues":{"type":"object","additionalProperties":{"type":"string"},"description":"The input data stored in the form of a key-value pair.\n"},"outputValues":{"type":"object","additionalProperties":{"type":"string"},"description":"The output data stored in the form of a key-value pair.\n"},"region":{"type":"string"},"rtsSoftwareDeploymentV1Id":{"type":"string","description":"The id of the software deployment.\n"},"serverId":{"type":"string","description":"The id of the instance.\n"},"status":{"type":"string","description":"The current status of deployment resources.\n"},"statusReason":{"type":"string","description":"The cause of the current deployment resource status.\n"},"tenantId":{"type":"string","description":"The id of the authenticated tenant who can perform operations on the deployment resources.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FRtsSoftwareDeploymentV1Timeouts:RtsSoftwareDeploymentV1Timeouts"}},"type":"object","required":["action","configId","inputValues","outputValues","region","rtsSoftwareDeploymentV1Id","serverId","status","statusReason"],"inputProperties":{"action":{"type":"string","description":"The stack action that triggers this deployment resource.\n"},"configId":{"type":"string","description":"The id of the software configuration resource running on an instance.\n"},"inputValues":{"type":"object","additionalProperties":{"type":"string"},"description":"The input data stored in the form of a key-value pair.\n"},"outputValues":{"type":"object","additionalProperties":{"type":"string"},"description":"The output data stored in the form of a key-value pair.\n"},"region":{"type":"string"},"rtsSoftwareDeploymentV1Id":{"type":"string","description":"The id of the software deployment.\n"},"serverId":{"type":"string","description":"The id of the instance.\n"},"status":{"type":"string","description":"The current status of deployment resources.\n"},"statusReason":{"type":"string","description":"The cause of the current deployment resource status.\n"},"tenantId":{"type":"string","description":"The id of the authenticated tenant who can perform operations on the deployment resources.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FRtsSoftwareDeploymentV1Timeouts:RtsSoftwareDeploymentV1Timeouts"}},"requiredInputs":["configId","serverId"],"stateInputs":{"description":"Input properties used for looking up and filtering RtsSoftwareDeploymentV1 resources.\n","properties":{"action":{"type":"string","description":"The stack action that triggers this deployment resource.\n"},"configId":{"type":"string","description":"The id of the software configuration resource running on an instance.\n"},"inputValues":{"type":"object","additionalProperties":{"type":"string"},"description":"The input data stored in the form of a key-value pair.\n"},"outputValues":{"type":"object","additionalProperties":{"type":"string"},"description":"The output data stored in the form of a key-value pair.\n"},"region":{"type":"string"},"rtsSoftwareDeploymentV1Id":{"type":"string","description":"The id of the software deployment.\n"},"serverId":{"type":"string","description":"The id of the instance.\n"},"status":{"type":"string","description":"The current status of deployment resources.\n"},"statusReason":{"type":"string","description":"The cause of the current deployment resource status.\n"},"tenantId":{"type":"string","description":"The id of the authenticated tenant who can perform operations on the deployment resources.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FRtsSoftwareDeploymentV1Timeouts:RtsSoftwareDeploymentV1Timeouts"}},"type":"object"}},"opentelekomcloud:index/rtsStackV1:RtsStackV1":{"description":"Up-to-date reference of API arguments for RTS stack you can get at\n[documentation portal](https://docs.otc.t-systems.com/resource-template-service/api-ref/apis/stack_management)\n\nProvides an OpenTelekomCloud Stack.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst name = config.requireObject\u003cany\u003e(\"name\");\nconst networkId = config.requireObject\u003cany\u003e(\"networkId\");\nconst instanceType = config.requireObject\u003cany\u003e(\"instanceType\");\nconst imageId = config.requireObject\u003cany\u003e(\"imageId\");\nconst mystack = new opentelekomcloud.RtsStackV1(\"mystack\", {\n    name: name,\n    disableRollback: true,\n    timeoutMins: 60,\n    parameters: {\n        network_id: networkId,\n        instance_type: instanceType,\n        image_id: imageId,\n    },\n    templateBody: `  {\n    \\\\\"heat_template_version\\\\\": \\\\\"2016-04-08\\\\\",\n    \\\\\"description\\\\\": \\\\\"Simple template to deploy\\\\\",\n    \\\\\"parameters\\\\\": {\n        \\\\\"image_id\\\\\": {\n            \\\\\"type\\\\\": \\\\\"string\\\\\",\n            \\\\\"description\\\\\": \\\\\"Image to be used for compute instance\\\\\",\n            \\\\\"label\\\\\": \\\\\"Image ID\\\\\"\n        },\n        \\\\\"network_id\\\\\": {\n            \\\\\"type\\\\\": \\\\\"string\\\\\",\n            \\\\\"description\\\\\": \\\\\"The Network to be used\\\\\",\n            \\\\\"label\\\\\": \\\\\"Network UUID\\\\\"\n        },\n        \\\\\"instance_type\\\\\": {\n            \\\\\"type\\\\\": \\\\\"string\\\\\",\n            \\\\\"description\\\\\": \\\\\"Type of instance (Flavor) to be used\\\\\",\n            \\\\\"label\\\\\": \\\\\"Instance Type\\\\\"\n        }\n    },\n    \\\\\"resources\\\\\": {\n        \\\\\"my_instance\\\\\": {\n            \\\\\"type\\\\\": \\\\\"OS::Nova::Server\\\\\",\n            \\\\\"properties\\\\\": {\n                \\\\\"image\\\\\": {\n                    \\\\\"get_param\\\\\": \\\\\"image_id\\\\\"\n                },\n                \\\\\"flavor\\\\\": {\n                    \\\\\"get_param\\\\\": \\\\\"instance_type\\\\\"\n                },\n                \\\\\"networks\\\\\": [{\n                    \\\\\"network\\\\\": {\n                        \\\\\"get_param\\\\\": \\\\\"network_id\\\\\"\n                    }\n                }]\n            }\n        }\n    },\n    \\\\\"outputs\\\\\": {\n      \\\\\"InstanceIP\\\\\": {\n        \\\\\"description\\\\\": \\\\\"Instance IP\\\\\",\n        \\\\\"value\\\\\": { \\\\\"get_attr\\\\\": [\\\\\"my_instance\\\\\", \\\\\"first_address\\\\\"] }\n      }\n    }\n  }\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nname = config.require_object(\"name\")\nnetwork_id = config.require_object(\"networkId\")\ninstance_type = config.require_object(\"instanceType\")\nimage_id = config.require_object(\"imageId\")\nmystack = opentelekomcloud.RtsStackV1(\"mystack\",\n    name=name,\n    disable_rollback=True,\n    timeout_mins=60,\n    parameters={\n        \"network_id\": network_id,\n        \"instance_type\": instance_type,\n        \"image_id\": image_id,\n    },\n    template_body=\"\"\"  {\n    \\\"heat_template_version\\\": \\\"2016-04-08\\\",\n    \\\"description\\\": \\\"Simple template to deploy\\\",\n    \\\"parameters\\\": {\n        \\\"image_id\\\": {\n            \\\"type\\\": \\\"string\\\",\n            \\\"description\\\": \\\"Image to be used for compute instance\\\",\n            \\\"label\\\": \\\"Image ID\\\"\n        },\n        \\\"network_id\\\": {\n            \\\"type\\\": \\\"string\\\",\n            \\\"description\\\": \\\"The Network to be used\\\",\n            \\\"label\\\": \\\"Network UUID\\\"\n        },\n        \\\"instance_type\\\": {\n            \\\"type\\\": \\\"string\\\",\n            \\\"description\\\": \\\"Type of instance (Flavor) to be used\\\",\n            \\\"label\\\": \\\"Instance Type\\\"\n        }\n    },\n    \\\"resources\\\": {\n        \\\"my_instance\\\": {\n            \\\"type\\\": \\\"OS::Nova::Server\\\",\n            \\\"properties\\\": {\n                \\\"image\\\": {\n                    \\\"get_param\\\": \\\"image_id\\\"\n                },\n                \\\"flavor\\\": {\n                    \\\"get_param\\\": \\\"instance_type\\\"\n                },\n                \\\"networks\\\": [{\n                    \\\"network\\\": {\n                        \\\"get_param\\\": \\\"network_id\\\"\n                    }\n                }]\n            }\n        }\n    },\n    \\\"outputs\\\": {\n      \\\"InstanceIP\\\": {\n        \\\"description\\\": \\\"Instance IP\\\",\n        \\\"value\\\": { \\\"get_attr\\\": [\\\"my_instance\\\", \\\"first_address\\\"] }\n      }\n    }\n  }\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var name = config.RequireObject\u003cdynamic\u003e(\"name\");\n    var networkId = config.RequireObject\u003cdynamic\u003e(\"networkId\");\n    var instanceType = config.RequireObject\u003cdynamic\u003e(\"instanceType\");\n    var imageId = config.RequireObject\u003cdynamic\u003e(\"imageId\");\n    var mystack = new Opentelekomcloud.RtsStackV1(\"mystack\", new()\n    {\n        Name = name,\n        DisableRollback = true,\n        TimeoutMins = 60,\n        Parameters = \n        {\n            { \"network_id\", networkId },\n            { \"instance_type\", instanceType },\n            { \"image_id\", imageId },\n        },\n        TemplateBody = @\"  {\n    \\\"\"heat_template_version\\\"\": \\\"\"2016-04-08\\\"\",\n    \\\"\"description\\\"\": \\\"\"Simple template to deploy\\\"\",\n    \\\"\"parameters\\\"\": {\n        \\\"\"image_id\\\"\": {\n            \\\"\"type\\\"\": \\\"\"string\\\"\",\n            \\\"\"description\\\"\": \\\"\"Image to be used for compute instance\\\"\",\n            \\\"\"label\\\"\": \\\"\"Image ID\\\"\"\n        },\n        \\\"\"network_id\\\"\": {\n            \\\"\"type\\\"\": \\\"\"string\\\"\",\n            \\\"\"description\\\"\": \\\"\"The Network to be used\\\"\",\n            \\\"\"label\\\"\": \\\"\"Network UUID\\\"\"\n        },\n        \\\"\"instance_type\\\"\": {\n            \\\"\"type\\\"\": \\\"\"string\\\"\",\n            \\\"\"description\\\"\": \\\"\"Type of instance (Flavor) to be used\\\"\",\n            \\\"\"label\\\"\": \\\"\"Instance Type\\\"\"\n        }\n    },\n    \\\"\"resources\\\"\": {\n        \\\"\"my_instance\\\"\": {\n            \\\"\"type\\\"\": \\\"\"OS::Nova::Server\\\"\",\n            \\\"\"properties\\\"\": {\n                \\\"\"image\\\"\": {\n                    \\\"\"get_param\\\"\": \\\"\"image_id\\\"\"\n                },\n                \\\"\"flavor\\\"\": {\n                    \\\"\"get_param\\\"\": \\\"\"instance_type\\\"\"\n                },\n                \\\"\"networks\\\"\": [{\n                    \\\"\"network\\\"\": {\n                        \\\"\"get_param\\\"\": \\\"\"network_id\\\"\"\n                    }\n                }]\n            }\n        }\n    },\n    \\\"\"outputs\\\"\": {\n      \\\"\"InstanceIP\\\"\": {\n        \\\"\"description\\\"\": \\\"\"Instance IP\\\"\",\n        \\\"\"value\\\"\": { \\\"\"get_attr\\\"\": [\\\"\"my_instance\\\"\", \\\"\"first_address\\\"\"] }\n      }\n    }\n  }\n\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := cfg.RequireObject(\"name\")\n\t\tnetworkId := cfg.RequireObject(\"networkId\")\n\t\tinstanceType := cfg.RequireObject(\"instanceType\")\n\t\timageId := cfg.RequireObject(\"imageId\")\n\t\t_, err := opentelekomcloud.NewRtsStackV1(ctx, \"mystack\", \u0026opentelekomcloud.RtsStackV1Args{\n\t\t\tName:            pulumi.Any(name),\n\t\t\tDisableRollback: pulumi.Bool(true),\n\t\t\tTimeoutMins:     pulumi.Float64(60),\n\t\t\tParameters: pulumi.StringMap{\n\t\t\t\t\"network_id\":    pulumi.Any(networkId),\n\t\t\t\t\"instance_type\": pulumi.Any(instanceType),\n\t\t\t\t\"image_id\":      pulumi.Any(imageId),\n\t\t\t},\n\t\t\tTemplateBody: pulumi.String(`  {\n    \\\"heat_template_version\\\": \\\"2016-04-08\\\",\n    \\\"description\\\": \\\"Simple template to deploy\\\",\n    \\\"parameters\\\": {\n        \\\"image_id\\\": {\n            \\\"type\\\": \\\"string\\\",\n            \\\"description\\\": \\\"Image to be used for compute instance\\\",\n            \\\"label\\\": \\\"Image ID\\\"\n        },\n        \\\"network_id\\\": {\n            \\\"type\\\": \\\"string\\\",\n            \\\"description\\\": \\\"The Network to be used\\\",\n            \\\"label\\\": \\\"Network UUID\\\"\n        },\n        \\\"instance_type\\\": {\n            \\\"type\\\": \\\"string\\\",\n            \\\"description\\\": \\\"Type of instance (Flavor) to be used\\\",\n            \\\"label\\\": \\\"Instance Type\\\"\n        }\n    },\n    \\\"resources\\\": {\n        \\\"my_instance\\\": {\n            \\\"type\\\": \\\"OS::Nova::Server\\\",\n            \\\"properties\\\": {\n                \\\"image\\\": {\n                    \\\"get_param\\\": \\\"image_id\\\"\n                },\n                \\\"flavor\\\": {\n                    \\\"get_param\\\": \\\"instance_type\\\"\n                },\n                \\\"networks\\\": [{\n                    \\\"network\\\": {\n                        \\\"get_param\\\": \\\"network_id\\\"\n                    }\n                }]\n            }\n        }\n    },\n    \\\"outputs\\\": {\n      \\\"InstanceIP\\\": {\n        \\\"description\\\": \\\"Instance IP\\\",\n        \\\"value\\\": { \\\"get_attr\\\": [\\\"my_instance\\\", \\\"first_address\\\"] }\n      }\n    }\n  }\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.RtsStackV1;\nimport com.pulumi.opentelekomcloud.RtsStackV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var name = config.get(\"name\");\n        final var networkId = config.get(\"networkId\");\n        final var instanceType = config.get(\"instanceType\");\n        final var imageId = config.get(\"imageId\");\n        var mystack = new RtsStackV1(\"mystack\", RtsStackV1Args.builder()\n            .name(name)\n            .disableRollback(true)\n            .timeoutMins(60.0)\n            .parameters(Map.ofEntries(\n                Map.entry(\"network_id\", networkId),\n                Map.entry(\"instance_type\", instanceType),\n                Map.entry(\"image_id\", imageId)\n            ))\n            .templateBody(\"\"\"\n  {\n    \\\"heat_template_version\\\": \\\"2016-04-08\\\",\n    \\\"description\\\": \\\"Simple template to deploy\\\",\n    \\\"parameters\\\": {\n        \\\"image_id\\\": {\n            \\\"type\\\": \\\"string\\\",\n            \\\"description\\\": \\\"Image to be used for compute instance\\\",\n            \\\"label\\\": \\\"Image ID\\\"\n        },\n        \\\"network_id\\\": {\n            \\\"type\\\": \\\"string\\\",\n            \\\"description\\\": \\\"The Network to be used\\\",\n            \\\"label\\\": \\\"Network UUID\\\"\n        },\n        \\\"instance_type\\\": {\n            \\\"type\\\": \\\"string\\\",\n            \\\"description\\\": \\\"Type of instance (Flavor) to be used\\\",\n            \\\"label\\\": \\\"Instance Type\\\"\n        }\n    },\n    \\\"resources\\\": {\n        \\\"my_instance\\\": {\n            \\\"type\\\": \\\"OS::Nova::Server\\\",\n            \\\"properties\\\": {\n                \\\"image\\\": {\n                    \\\"get_param\\\": \\\"image_id\\\"\n                },\n                \\\"flavor\\\": {\n                    \\\"get_param\\\": \\\"instance_type\\\"\n                },\n                \\\"networks\\\": [{\n                    \\\"network\\\": {\n                        \\\"get_param\\\": \\\"network_id\\\"\n                    }\n                }]\n            }\n        }\n    },\n    \\\"outputs\\\": {\n      \\\"InstanceIP\\\": {\n        \\\"description\\\": \\\"Instance IP\\\",\n        \\\"value\\\": { \\\"get_attr\\\": [\\\"my_instance\\\", \\\"first_address\\\"] }\n      }\n    }\n  }\n            \"\"\")\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  name:\n    type: dynamic\n  networkId:\n    type: dynamic\n  instanceType:\n    type: dynamic\n  imageId:\n    type: dynamic\nresources:\n  mystack:\n    type: opentelekomcloud:RtsStackV1\n    properties:\n      name: ${name}\n      disableRollback: true\n      timeoutMins: 60\n      parameters:\n        network_id: ${networkId}\n        instance_type: ${instanceType}\n        image_id: ${imageId}\n      templateBody: |2\n          {\n            \\\"heat_template_version\\\": \\\"2016-04-08\\\",\n            \\\"description\\\": \\\"Simple template to deploy\\\",\n            \\\"parameters\\\": {\n                \\\"image_id\\\": {\n                    \\\"type\\\": \\\"string\\\",\n                    \\\"description\\\": \\\"Image to be used for compute instance\\\",\n                    \\\"label\\\": \\\"Image ID\\\"\n                },\n                \\\"network_id\\\": {\n                    \\\"type\\\": \\\"string\\\",\n                    \\\"description\\\": \\\"The Network to be used\\\",\n                    \\\"label\\\": \\\"Network UUID\\\"\n                },\n                \\\"instance_type\\\": {\n                    \\\"type\\\": \\\"string\\\",\n                    \\\"description\\\": \\\"Type of instance (Flavor) to be used\\\",\n                    \\\"label\\\": \\\"Instance Type\\\"\n                }\n            },\n            \\\"resources\\\": {\n                \\\"my_instance\\\": {\n                    \\\"type\\\": \\\"OS::Nova::Server\\\",\n                    \\\"properties\\\": {\n                        \\\"image\\\": {\n                            \\\"get_param\\\": \\\"image_id\\\"\n                        },\n                        \\\"flavor\\\": {\n                            \\\"get_param\\\": \\\"instance_type\\\"\n                        },\n                        \\\"networks\\\": [{\n                            \\\"network\\\": {\n                                \\\"get_param\\\": \\\"network_id\\\"\n                            }\n                        }]\n                    }\n                }\n            },\n            \\\"outputs\\\": {\n              \\\"InstanceIP\\\": {\n                \\\"description\\\": \\\"Instance IP\\\",\n                \\\"value\\\": { \\\"get_attr\\\": [\\\"my_instance\\\", \\\"first_address\\\"] }\n              }\n            }\n          }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRTS Stacks can be imported using the `name`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/rtsStackV1:RtsStackV1 mystack rts-stack\n```\n\n","properties":{"capabilities":{"type":"array","items":{"type":"string"},"description":"List of stack capabilities for stack.\n"},"disableRollback":{"type":"boolean","description":"Set to true to disable rollback of the stack if stack creation failed.\n"},"environment":{"type":"string","description":"Tthe environment information about the stack.\n"},"files":{"type":"object","additionalProperties":{"type":"string"},"description":"Files used in the environment.\n"},"name":{"type":"string","description":"A unique name for the stack. The value must meet the regular expression rule (`^[a-zA-Z][a-zA-Z0-9_.-]{0,254}$`). Changing this creates a new stack.\n"},"notificationTopics":{"type":"array","items":{"type":"string"},"description":"List of notification topics for stack.\n"},"outputs":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of outputs from the stack.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A list of Parameter structures that specify input parameters for the stack.\n"},"region":{"type":"string"},"rtsStackV1Id":{"type":"string"},"status":{"type":"string","description":"Specifies the stack status.\n"},"statusReason":{"type":"string"},"templateBody":{"type":"string","description":"Structure containing the template body. The template content must use the yaml syntax.\n"},"templateUrl":{"type":"string","description":"Location of a file containing the template body.\n"},"timeoutMins":{"type":"number","description":"Specifies the timeout duration.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FRtsStackV1Timeouts:RtsStackV1Timeouts"}},"type":"object","required":["capabilities","disableRollback","name","notificationTopics","outputs","parameters","region","rtsStackV1Id","status","statusReason","templateBody","timeoutMins"],"inputProperties":{"disableRollback":{"type":"boolean","description":"Set to true to disable rollback of the stack if stack creation failed.\n"},"environment":{"type":"string","description":"Tthe environment information about the stack.\n"},"files":{"type":"object","additionalProperties":{"type":"string"},"description":"Files used in the environment.\n"},"name":{"type":"string","description":"A unique name for the stack. The value must meet the regular expression rule (`^[a-zA-Z][a-zA-Z0-9_.-]{0,254}$`). Changing this creates a new stack.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A list of Parameter structures that specify input parameters for the stack.\n"},"region":{"type":"string"},"rtsStackV1Id":{"type":"string"},"templateBody":{"type":"string","description":"Structure containing the template body. The template content must use the yaml syntax.\n"},"templateUrl":{"type":"string","description":"Location of a file containing the template body.\n"},"timeoutMins":{"type":"number","description":"Specifies the timeout duration.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FRtsStackV1Timeouts:RtsStackV1Timeouts"}},"stateInputs":{"description":"Input properties used for looking up and filtering RtsStackV1 resources.\n","properties":{"capabilities":{"type":"array","items":{"type":"string"},"description":"List of stack capabilities for stack.\n"},"disableRollback":{"type":"boolean","description":"Set to true to disable rollback of the stack if stack creation failed.\n"},"environment":{"type":"string","description":"Tthe environment information about the stack.\n"},"files":{"type":"object","additionalProperties":{"type":"string"},"description":"Files used in the environment.\n"},"name":{"type":"string","description":"A unique name for the stack. The value must meet the regular expression rule (`^[a-zA-Z][a-zA-Z0-9_.-]{0,254}$`). Changing this creates a new stack.\n"},"notificationTopics":{"type":"array","items":{"type":"string"},"description":"List of notification topics for stack.\n"},"outputs":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of outputs from the stack.\n"},"parameters":{"type":"object","additionalProperties":{"type":"string"},"description":"A list of Parameter structures that specify input parameters for the stack.\n"},"region":{"type":"string"},"rtsStackV1Id":{"type":"string"},"status":{"type":"string","description":"Specifies the stack status.\n"},"statusReason":{"type":"string"},"templateBody":{"type":"string","description":"Structure containing the template body. The template content must use the yaml syntax.\n"},"templateUrl":{"type":"string","description":"Location of a file containing the template body.\n"},"timeoutMins":{"type":"number","description":"Specifies the timeout duration.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FRtsStackV1Timeouts:RtsStackV1Timeouts"}},"type":"object"}},"opentelekomcloud:index/s3Bucket:S3Bucket":{"description":"Provides a S3 bucket resource within OpenTelekomCloud.\n\n## Example Usage\n\n### Private Bucket w/ Tags\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst bucket = new opentelekomcloud.S3Bucket(\"bucket\", {\n    bucket: \"my-tf-test-bucket\",\n    acl: \"private\",\n    tags: {\n        Name: \"My bucket\",\n        Environment: \"Dev\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nbucket = opentelekomcloud.S3Bucket(\"bucket\",\n    bucket=\"my-tf-test-bucket\",\n    acl=\"private\",\n    tags={\n        \"Name\": \"My bucket\",\n        \"Environment\": \"Dev\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var bucket = new Opentelekomcloud.S3Bucket(\"bucket\", new()\n    {\n        Bucket = \"my-tf-test-bucket\",\n        Acl = \"private\",\n        Tags = \n        {\n            { \"Name\", \"My bucket\" },\n            { \"Environment\", \"Dev\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewS3Bucket(ctx, \"bucket\", \u0026opentelekomcloud.S3BucketArgs{\n\t\t\tBucket: pulumi.String(\"my-tf-test-bucket\"),\n\t\t\tAcl:    pulumi.String(\"private\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\":        pulumi.String(\"My bucket\"),\n\t\t\t\t\"Environment\": pulumi.String(\"Dev\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.S3Bucket;\nimport com.pulumi.opentelekomcloud.S3BucketArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var bucket = new S3Bucket(\"bucket\", S3BucketArgs.builder()\n            .bucket(\"my-tf-test-bucket\")\n            .acl(\"private\")\n            .tags(Map.ofEntries(\n                Map.entry(\"Name\", \"My bucket\"),\n                Map.entry(\"Environment\", \"Dev\")\n            ))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  bucket:\n    type: opentelekomcloud:S3Bucket\n    properties:\n      bucket: my-tf-test-bucket\n      acl: private\n      tags:\n        Name: My bucket\n        Environment: Dev\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using CORS\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst bucket = new opentelekomcloud.S3Bucket(\"bucket\", {\n    bucket: \"s3-website-test.hashicorp.com\",\n    acl: \"public-read\",\n    corsRules: [{\n        allowedHeaders: [\"*\"],\n        allowedMethods: [\n            \"PUT\",\n            \"POST\",\n        ],\n        allowedOrigins: [\"https://s3-website-test.hashicorp.com\"],\n        exposeHeaders: [\"ETag\"],\n        maxAgeSeconds: 3000,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nbucket = opentelekomcloud.S3Bucket(\"bucket\",\n    bucket=\"s3-website-test.hashicorp.com\",\n    acl=\"public-read\",\n    cors_rules=[{\n        \"allowed_headers\": [\"*\"],\n        \"allowed_methods\": [\n            \"PUT\",\n            \"POST\",\n        ],\n        \"allowed_origins\": [\"https://s3-website-test.hashicorp.com\"],\n        \"expose_headers\": [\"ETag\"],\n        \"max_age_seconds\": 3000,\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var bucket = new Opentelekomcloud.S3Bucket(\"bucket\", new()\n    {\n        Bucket = \"s3-website-test.hashicorp.com\",\n        Acl = \"public-read\",\n        CorsRules = new[]\n        {\n            new Opentelekomcloud.Inputs.S3BucketCorsRuleArgs\n            {\n                AllowedHeaders = new[]\n                {\n                    \"*\",\n                },\n                AllowedMethods = new[]\n                {\n                    \"PUT\",\n                    \"POST\",\n                },\n                AllowedOrigins = new[]\n                {\n                    \"https://s3-website-test.hashicorp.com\",\n                },\n                ExposeHeaders = new[]\n                {\n                    \"ETag\",\n                },\n                MaxAgeSeconds = 3000,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewS3Bucket(ctx, \"bucket\", \u0026opentelekomcloud.S3BucketArgs{\n\t\t\tBucket: pulumi.String(\"s3-website-test.hashicorp.com\"),\n\t\t\tAcl:    pulumi.String(\"public-read\"),\n\t\t\tCorsRules: opentelekomcloud.S3BucketCorsRuleArray{\n\t\t\t\t\u0026opentelekomcloud.S3BucketCorsRuleArgs{\n\t\t\t\t\tAllowedHeaders: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t},\n\t\t\t\t\tAllowedMethods: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"PUT\"),\n\t\t\t\t\t\tpulumi.String(\"POST\"),\n\t\t\t\t\t},\n\t\t\t\t\tAllowedOrigins: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"https://s3-website-test.hashicorp.com\"),\n\t\t\t\t\t},\n\t\t\t\t\tExposeHeaders: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"ETag\"),\n\t\t\t\t\t},\n\t\t\t\t\tMaxAgeSeconds: pulumi.Float64(3000),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.S3Bucket;\nimport com.pulumi.opentelekomcloud.S3BucketArgs;\nimport com.pulumi.opentelekomcloud.inputs.S3BucketCorsRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var bucket = new S3Bucket(\"bucket\", S3BucketArgs.builder()\n            .bucket(\"s3-website-test.hashicorp.com\")\n            .acl(\"public-read\")\n            .corsRules(S3BucketCorsRuleArgs.builder()\n                .allowedHeaders(\"*\")\n                .allowedMethods(                \n                    \"PUT\",\n                    \"POST\")\n                .allowedOrigins(\"https://s3-website-test.hashicorp.com\")\n                .exposeHeaders(\"ETag\")\n                .maxAgeSeconds(3000.0)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  bucket:\n    type: opentelekomcloud:S3Bucket\n    properties:\n      bucket: s3-website-test.hashicorp.com\n      acl: public-read\n      corsRules:\n        - allowedHeaders:\n            - '*'\n          allowedMethods:\n            - PUT\n            - POST\n          allowedOrigins:\n            - https://s3-website-test.hashicorp.com\n          exposeHeaders:\n            - ETag\n          maxAgeSeconds: 3000\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using versioning\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst bucket = new opentelekomcloud.S3Bucket(\"bucket\", {\n    bucket: \"my-tf-test-bucket\",\n    acl: \"private\",\n    versioning: {\n        enabled: true,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nbucket = opentelekomcloud.S3Bucket(\"bucket\",\n    bucket=\"my-tf-test-bucket\",\n    acl=\"private\",\n    versioning={\n        \"enabled\": True,\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var bucket = new Opentelekomcloud.S3Bucket(\"bucket\", new()\n    {\n        Bucket = \"my-tf-test-bucket\",\n        Acl = \"private\",\n        Versioning = new Opentelekomcloud.Inputs.S3BucketVersioningArgs\n        {\n            Enabled = true,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewS3Bucket(ctx, \"bucket\", \u0026opentelekomcloud.S3BucketArgs{\n\t\t\tBucket: pulumi.String(\"my-tf-test-bucket\"),\n\t\t\tAcl:    pulumi.String(\"private\"),\n\t\t\tVersioning: \u0026opentelekomcloud.S3BucketVersioningArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.S3Bucket;\nimport com.pulumi.opentelekomcloud.S3BucketArgs;\nimport com.pulumi.opentelekomcloud.inputs.S3BucketVersioningArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var bucket = new S3Bucket(\"bucket\", S3BucketArgs.builder()\n            .bucket(\"my-tf-test-bucket\")\n            .acl(\"private\")\n            .versioning(S3BucketVersioningArgs.builder()\n                .enabled(true)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  bucket:\n    type: opentelekomcloud:S3Bucket\n    properties:\n      bucket: my-tf-test-bucket\n      acl: private\n      versioning:\n        enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Enable Logging\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst logBucket = new opentelekomcloud.S3Bucket(\"log_bucket\", {\n    bucket: \"my-tf-log-bucket\",\n    acl: \"log-delivery-write\",\n});\nconst b = new opentelekomcloud.S3Bucket(\"b\", {\n    bucket: \"my-tf-test-bucket\",\n    acl: \"private\",\n    loggings: [{\n        targetBucket: logBucket.s3BucketId,\n        targetPrefix: \"log/\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nlog_bucket = opentelekomcloud.S3Bucket(\"log_bucket\",\n    bucket=\"my-tf-log-bucket\",\n    acl=\"log-delivery-write\")\nb = opentelekomcloud.S3Bucket(\"b\",\n    bucket=\"my-tf-test-bucket\",\n    acl=\"private\",\n    loggings=[{\n        \"target_bucket\": log_bucket.s3_bucket_id,\n        \"target_prefix\": \"log/\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var logBucket = new Opentelekomcloud.S3Bucket(\"log_bucket\", new()\n    {\n        Bucket = \"my-tf-log-bucket\",\n        Acl = \"log-delivery-write\",\n    });\n\n    var b = new Opentelekomcloud.S3Bucket(\"b\", new()\n    {\n        Bucket = \"my-tf-test-bucket\",\n        Acl = \"private\",\n        Loggings = new[]\n        {\n            new Opentelekomcloud.Inputs.S3BucketLoggingArgs\n            {\n                TargetBucket = logBucket.S3BucketId,\n                TargetPrefix = \"log/\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tlogBucket, err := opentelekomcloud.NewS3Bucket(ctx, \"log_bucket\", \u0026opentelekomcloud.S3BucketArgs{\n\t\t\tBucket: pulumi.String(\"my-tf-log-bucket\"),\n\t\t\tAcl:    pulumi.String(\"log-delivery-write\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewS3Bucket(ctx, \"b\", \u0026opentelekomcloud.S3BucketArgs{\n\t\t\tBucket: pulumi.String(\"my-tf-test-bucket\"),\n\t\t\tAcl:    pulumi.String(\"private\"),\n\t\t\tLoggings: opentelekomcloud.S3BucketLoggingArray{\n\t\t\t\t\u0026opentelekomcloud.S3BucketLoggingArgs{\n\t\t\t\t\tTargetBucket: logBucket.S3BucketId,\n\t\t\t\t\tTargetPrefix: pulumi.String(\"log/\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.S3Bucket;\nimport com.pulumi.opentelekomcloud.S3BucketArgs;\nimport com.pulumi.opentelekomcloud.inputs.S3BucketLoggingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var logBucket = new S3Bucket(\"logBucket\", S3BucketArgs.builder()\n            .bucket(\"my-tf-log-bucket\")\n            .acl(\"log-delivery-write\")\n            .build());\n\n        var b = new S3Bucket(\"b\", S3BucketArgs.builder()\n            .bucket(\"my-tf-test-bucket\")\n            .acl(\"private\")\n            .loggings(S3BucketLoggingArgs.builder()\n                .targetBucket(logBucket.s3BucketId())\n                .targetPrefix(\"log/\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  logBucket:\n    type: opentelekomcloud:S3Bucket\n    name: log_bucket\n    properties:\n      bucket: my-tf-log-bucket\n      acl: log-delivery-write\n  b:\n    type: opentelekomcloud:S3Bucket\n    properties:\n      bucket: my-tf-test-bucket\n      acl: private\n      loggings:\n        - targetBucket: ${logBucket.s3BucketId}\n          targetPrefix: log/\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using object lifecycle\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst bucket = new opentelekomcloud.S3Bucket(\"bucket\", {\n    bucket: \"my-bucket\",\n    acl: \"private\",\n    lifecycleRules: [\n        {\n            id: \"log\",\n            enabled: true,\n            prefix: \"log/\",\n            expirations: [{\n                days: 90,\n            }],\n        },\n        {\n            id: \"tmp\",\n            prefix: \"tmp/\",\n            enabled: true,\n            expirations: [{\n                date: \"2016-01-12\",\n            }],\n        },\n    ],\n});\nconst versioningBucket = new opentelekomcloud.S3Bucket(\"versioning_bucket\", {\n    bucket: \"my-versioning-bucket\",\n    acl: \"private\",\n    versioning: {\n        enabled: true,\n    },\n    lifecycleRules: [{\n        prefix: \"config/\",\n        enabled: true,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nbucket = opentelekomcloud.S3Bucket(\"bucket\",\n    bucket=\"my-bucket\",\n    acl=\"private\",\n    lifecycle_rules=[\n        {\n            \"id\": \"log\",\n            \"enabled\": True,\n            \"prefix\": \"log/\",\n            \"expirations\": [{\n                \"days\": 90,\n            }],\n        },\n        {\n            \"id\": \"tmp\",\n            \"prefix\": \"tmp/\",\n            \"enabled\": True,\n            \"expirations\": [{\n                \"date\": \"2016-01-12\",\n            }],\n        },\n    ])\nversioning_bucket = opentelekomcloud.S3Bucket(\"versioning_bucket\",\n    bucket=\"my-versioning-bucket\",\n    acl=\"private\",\n    versioning={\n        \"enabled\": True,\n    },\n    lifecycle_rules=[{\n        \"prefix\": \"config/\",\n        \"enabled\": True,\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var bucket = new Opentelekomcloud.S3Bucket(\"bucket\", new()\n    {\n        Bucket = \"my-bucket\",\n        Acl = \"private\",\n        LifecycleRules = new[]\n        {\n            new Opentelekomcloud.Inputs.S3BucketLifecycleRuleArgs\n            {\n                Id = \"log\",\n                Enabled = true,\n                Prefix = \"log/\",\n                Expirations = new[]\n                {\n                    new Opentelekomcloud.Inputs.S3BucketLifecycleRuleExpirationArgs\n                    {\n                        Days = 90,\n                    },\n                },\n            },\n            new Opentelekomcloud.Inputs.S3BucketLifecycleRuleArgs\n            {\n                Id = \"tmp\",\n                Prefix = \"tmp/\",\n                Enabled = true,\n                Expirations = new[]\n                {\n                    new Opentelekomcloud.Inputs.S3BucketLifecycleRuleExpirationArgs\n                    {\n                        Date = \"2016-01-12\",\n                    },\n                },\n            },\n        },\n    });\n\n    var versioningBucket = new Opentelekomcloud.S3Bucket(\"versioning_bucket\", new()\n    {\n        Bucket = \"my-versioning-bucket\",\n        Acl = \"private\",\n        Versioning = new Opentelekomcloud.Inputs.S3BucketVersioningArgs\n        {\n            Enabled = true,\n        },\n        LifecycleRules = new[]\n        {\n            new Opentelekomcloud.Inputs.S3BucketLifecycleRuleArgs\n            {\n                Prefix = \"config/\",\n                Enabled = true,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewS3Bucket(ctx, \"bucket\", \u0026opentelekomcloud.S3BucketArgs{\n\t\t\tBucket: pulumi.String(\"my-bucket\"),\n\t\t\tAcl:    pulumi.String(\"private\"),\n\t\t\tLifecycleRules: opentelekomcloud.S3BucketLifecycleRuleArray{\n\t\t\t\t\u0026opentelekomcloud.S3BucketLifecycleRuleArgs{\n\t\t\t\t\tId:      pulumi.String(\"log\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tPrefix:  pulumi.String(\"log/\"),\n\t\t\t\t\tExpirations: opentelekomcloud.S3BucketLifecycleRuleExpirationArray{\n\t\t\t\t\t\t\u0026opentelekomcloud.S3BucketLifecycleRuleExpirationArgs{\n\t\t\t\t\t\t\tDays: pulumi.Float64(90),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026opentelekomcloud.S3BucketLifecycleRuleArgs{\n\t\t\t\t\tId:      pulumi.String(\"tmp\"),\n\t\t\t\t\tPrefix:  pulumi.String(\"tmp/\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tExpirations: opentelekomcloud.S3BucketLifecycleRuleExpirationArray{\n\t\t\t\t\t\t\u0026opentelekomcloud.S3BucketLifecycleRuleExpirationArgs{\n\t\t\t\t\t\t\tDate: pulumi.String(\"2016-01-12\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewS3Bucket(ctx, \"versioning_bucket\", \u0026opentelekomcloud.S3BucketArgs{\n\t\t\tBucket: pulumi.String(\"my-versioning-bucket\"),\n\t\t\tAcl:    pulumi.String(\"private\"),\n\t\t\tVersioning: \u0026opentelekomcloud.S3BucketVersioningArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t\tLifecycleRules: opentelekomcloud.S3BucketLifecycleRuleArray{\n\t\t\t\t\u0026opentelekomcloud.S3BucketLifecycleRuleArgs{\n\t\t\t\t\tPrefix:  pulumi.String(\"config/\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.S3Bucket;\nimport com.pulumi.opentelekomcloud.S3BucketArgs;\nimport com.pulumi.opentelekomcloud.inputs.S3BucketLifecycleRuleArgs;\nimport com.pulumi.opentelekomcloud.inputs.S3BucketVersioningArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var bucket = new S3Bucket(\"bucket\", S3BucketArgs.builder()\n            .bucket(\"my-bucket\")\n            .acl(\"private\")\n            .lifecycleRules(            \n                S3BucketLifecycleRuleArgs.builder()\n                    .id(\"log\")\n                    .enabled(true)\n                    .prefix(\"log/\")\n                    .expirations(S3BucketLifecycleRuleExpirationArgs.builder()\n                        .days(90.0)\n                        .build())\n                    .build(),\n                S3BucketLifecycleRuleArgs.builder()\n                    .id(\"tmp\")\n                    .prefix(\"tmp/\")\n                    .enabled(true)\n                    .expirations(S3BucketLifecycleRuleExpirationArgs.builder()\n                        .date(\"2016-01-12\")\n                        .build())\n                    .build())\n            .build());\n\n        var versioningBucket = new S3Bucket(\"versioningBucket\", S3BucketArgs.builder()\n            .bucket(\"my-versioning-bucket\")\n            .acl(\"private\")\n            .versioning(S3BucketVersioningArgs.builder()\n                .enabled(true)\n                .build())\n            .lifecycleRules(S3BucketLifecycleRuleArgs.builder()\n                .prefix(\"config/\")\n                .enabled(true)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  bucket:\n    type: opentelekomcloud:S3Bucket\n    properties:\n      bucket: my-bucket\n      acl: private\n      lifecycleRules:\n        - id: log\n          enabled: true\n          prefix: log/\n          expirations:\n            - days: 90\n        - id: tmp\n          prefix: tmp/\n          enabled: true\n          expirations:\n            - date: 2016-01-12\n  versioningBucket:\n    type: opentelekomcloud:S3Bucket\n    name: versioning_bucket\n    properties:\n      bucket: my-versioning-bucket\n      acl: private\n      versioning:\n        enabled: true\n      lifecycleRules:\n        - prefix: config/\n          enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nS3 bucket can be imported using the `bucket`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/s3Bucket:S3Bucket bucket bucket-name\n```\n\n","properties":{"acl":{"type":"string","description":"The [canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl)\nto apply. Defaults to \u003cspan pulumi-lang-nodejs=\"`private`\" pulumi-lang-dotnet=\"`Private`\" pulumi-lang-go=\"`private`\" pulumi-lang-python=\"`private`\" pulumi-lang-yaml=\"`private`\" pulumi-lang-java=\"`private`\"\u003e`private`\u003c/span\u003e.\n"},"arn":{"type":"string","description":"The ARN of the bucket. Will be of format `arn:aws:s3:::bucketname`.\n"},"bucket":{"type":"string"},"bucketDomainName":{"type":"string","description":"The bucket domain name. Will be of format `bucketname.s3.amazonaws.com`.\n"},"bucketPrefix":{"type":"string","description":"Creates a unique bucket name beginning with the specified prefix.\nConflicts with \u003cspan pulumi-lang-nodejs=\"`bucket`\" pulumi-lang-dotnet=\"`Bucket`\" pulumi-lang-go=\"`bucket`\" pulumi-lang-python=\"`bucket`\" pulumi-lang-yaml=\"`bucket`\" pulumi-lang-java=\"`bucket`\"\u003e`bucket`\u003c/span\u003e.\n"},"corsRules":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FS3BucketCorsRule:S3BucketCorsRule"},"description":"A rule of [Cross-Origin Resource Sharing](https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html) (documented below).\n"},"forceDestroy":{"type":"boolean","description":"A boolean that indicates all objects should be deleted from the bucket\nso that the bucket can be destroyed without error. These objects are *not* recoverable.\n"},"hostedZoneId":{"type":"string","description":"The [Route 53 Hosted Zone ID](https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_website_region_endpoints)\nfor this bucket's region.\n"},"lifecycleRules":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FS3BucketLifecycleRule:S3BucketLifecycleRule"},"description":"A configuration of [object lifecycle management](http://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html)\n"},"loggings":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FS3BucketLogging:S3BucketLogging"},"description":"A settings of [bucket logging](https://docs.aws.amazon.com/AmazonS3/latest/UG/ManagingBucketLogging.html) (documented below).\n"},"policy":{"type":"string"},"region":{"type":"string"},"s3BucketId":{"type":"string","description":"The name of the bucket.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the bucket.\n"},"versioning":{"$ref":"#/types/opentelekomcloud:index%2FS3BucketVersioning:S3BucketVersioning","description":"A state of [versioning](https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html) (documented below)\n"},"website":{"$ref":"#/types/opentelekomcloud:index%2FS3BucketWebsite:S3BucketWebsite","description":"A website object (documented below).\n"},"websiteDomain":{"type":"string","description":"The domain of the website endpoint, if the bucket is configured with a website. If not,\nthis will be an empty string. This is used to create Route 53 alias records.\n"},"websiteEndpoint":{"type":"string","description":"The website endpoint, if the bucket is configured with a website. If not, this will be an empty string.\n"}},"type":"object","required":["arn","bucket","bucketDomainName","hostedZoneId","region","s3BucketId","websiteDomain","websiteEndpoint"],"inputProperties":{"acl":{"type":"string","description":"The [canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl)\nto apply. Defaults to \u003cspan pulumi-lang-nodejs=\"`private`\" pulumi-lang-dotnet=\"`Private`\" pulumi-lang-go=\"`private`\" pulumi-lang-python=\"`private`\" pulumi-lang-yaml=\"`private`\" pulumi-lang-java=\"`private`\"\u003e`private`\u003c/span\u003e.\n"},"arn":{"type":"string","description":"The ARN of the bucket. Will be of format `arn:aws:s3:::bucketname`.\n"},"bucket":{"type":"string"},"bucketPrefix":{"type":"string","description":"Creates a unique bucket name beginning with the specified prefix.\nConflicts with \u003cspan pulumi-lang-nodejs=\"`bucket`\" pulumi-lang-dotnet=\"`Bucket`\" pulumi-lang-go=\"`bucket`\" pulumi-lang-python=\"`bucket`\" pulumi-lang-yaml=\"`bucket`\" pulumi-lang-java=\"`bucket`\"\u003e`bucket`\u003c/span\u003e.\n"},"corsRules":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FS3BucketCorsRule:S3BucketCorsRule"},"description":"A rule of [Cross-Origin Resource Sharing](https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html) (documented below).\n"},"forceDestroy":{"type":"boolean","description":"A boolean that indicates all objects should be deleted from the bucket\nso that the bucket can be destroyed without error. These objects are *not* recoverable.\n"},"hostedZoneId":{"type":"string","description":"The [Route 53 Hosted Zone ID](https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_website_region_endpoints)\nfor this bucket's region.\n"},"lifecycleRules":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FS3BucketLifecycleRule:S3BucketLifecycleRule"},"description":"A configuration of [object lifecycle management](http://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html)\n"},"loggings":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FS3BucketLogging:S3BucketLogging"},"description":"A settings of [bucket logging](https://docs.aws.amazon.com/AmazonS3/latest/UG/ManagingBucketLogging.html) (documented below).\n"},"policy":{"type":"string"},"region":{"type":"string"},"s3BucketId":{"type":"string","description":"The name of the bucket.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the bucket.\n"},"versioning":{"$ref":"#/types/opentelekomcloud:index%2FS3BucketVersioning:S3BucketVersioning","description":"A state of [versioning](https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html) (documented below)\n"},"website":{"$ref":"#/types/opentelekomcloud:index%2FS3BucketWebsite:S3BucketWebsite","description":"A website object (documented below).\n"},"websiteDomain":{"type":"string","description":"The domain of the website endpoint, if the bucket is configured with a website. If not,\nthis will be an empty string. This is used to create Route 53 alias records.\n"},"websiteEndpoint":{"type":"string","description":"The website endpoint, if the bucket is configured with a website. If not, this will be an empty string.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering S3Bucket resources.\n","properties":{"acl":{"type":"string","description":"The [canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl)\nto apply. Defaults to \u003cspan pulumi-lang-nodejs=\"`private`\" pulumi-lang-dotnet=\"`Private`\" pulumi-lang-go=\"`private`\" pulumi-lang-python=\"`private`\" pulumi-lang-yaml=\"`private`\" pulumi-lang-java=\"`private`\"\u003e`private`\u003c/span\u003e.\n"},"arn":{"type":"string","description":"The ARN of the bucket. Will be of format `arn:aws:s3:::bucketname`.\n"},"bucket":{"type":"string"},"bucketDomainName":{"type":"string","description":"The bucket domain name. Will be of format `bucketname.s3.amazonaws.com`.\n"},"bucketPrefix":{"type":"string","description":"Creates a unique bucket name beginning with the specified prefix.\nConflicts with \u003cspan pulumi-lang-nodejs=\"`bucket`\" pulumi-lang-dotnet=\"`Bucket`\" pulumi-lang-go=\"`bucket`\" pulumi-lang-python=\"`bucket`\" pulumi-lang-yaml=\"`bucket`\" pulumi-lang-java=\"`bucket`\"\u003e`bucket`\u003c/span\u003e.\n"},"corsRules":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FS3BucketCorsRule:S3BucketCorsRule"},"description":"A rule of [Cross-Origin Resource Sharing](https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html) (documented below).\n"},"forceDestroy":{"type":"boolean","description":"A boolean that indicates all objects should be deleted from the bucket\nso that the bucket can be destroyed without error. These objects are *not* recoverable.\n"},"hostedZoneId":{"type":"string","description":"The [Route 53 Hosted Zone ID](https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_website_region_endpoints)\nfor this bucket's region.\n"},"lifecycleRules":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FS3BucketLifecycleRule:S3BucketLifecycleRule"},"description":"A configuration of [object lifecycle management](http://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html)\n"},"loggings":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FS3BucketLogging:S3BucketLogging"},"description":"A settings of [bucket logging](https://docs.aws.amazon.com/AmazonS3/latest/UG/ManagingBucketLogging.html) (documented below).\n"},"policy":{"type":"string"},"region":{"type":"string"},"s3BucketId":{"type":"string","description":"The name of the bucket.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the bucket.\n"},"versioning":{"$ref":"#/types/opentelekomcloud:index%2FS3BucketVersioning:S3BucketVersioning","description":"A state of [versioning](https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html) (documented below)\n"},"website":{"$ref":"#/types/opentelekomcloud:index%2FS3BucketWebsite:S3BucketWebsite","description":"A website object (documented below).\n"},"websiteDomain":{"type":"string","description":"The domain of the website endpoint, if the bucket is configured with a website. If not,\nthis will be an empty string. This is used to create Route 53 alias records.\n"},"websiteEndpoint":{"type":"string","description":"The website endpoint, if the bucket is configured with a website. If not, this will be an empty string.\n"}},"type":"object"}},"opentelekomcloud:index/s3BucketObject:S3BucketObject":{"description":"Provides a S3 bucket object resource within OpenTelekomCloud.\n\n## Example Usage\n\n### Server Side Encryption with S3 Default Master Key\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst examplebucket = new opentelekomcloud.S3Bucket(\"examplebucket\", {\n    bucket: \"examplebuckettftest\",\n    acl: \"private\",\n});\nconst examplebucketObject = new opentelekomcloud.S3BucketObject(\"examplebucket_object\", {\n    key: \"someobject\",\n    bucket: examplebucket.bucket,\n    source: \"index.html\",\n    serverSideEncryption: \"aws:kms\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nexamplebucket = opentelekomcloud.S3Bucket(\"examplebucket\",\n    bucket=\"examplebuckettftest\",\n    acl=\"private\")\nexamplebucket_object = opentelekomcloud.S3BucketObject(\"examplebucket_object\",\n    key=\"someobject\",\n    bucket=examplebucket.bucket,\n    source=\"index.html\",\n    server_side_encryption=\"aws:kms\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var examplebucket = new Opentelekomcloud.S3Bucket(\"examplebucket\", new()\n    {\n        Bucket = \"examplebuckettftest\",\n        Acl = \"private\",\n    });\n\n    var examplebucketObject = new Opentelekomcloud.S3BucketObject(\"examplebucket_object\", new()\n    {\n        Key = \"someobject\",\n        Bucket = examplebucket.Bucket,\n        Source = \"index.html\",\n        ServerSideEncryption = \"aws:kms\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texamplebucket, err := opentelekomcloud.NewS3Bucket(ctx, \"examplebucket\", \u0026opentelekomcloud.S3BucketArgs{\n\t\t\tBucket: pulumi.String(\"examplebuckettftest\"),\n\t\t\tAcl:    pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewS3BucketObject(ctx, \"examplebucket_object\", \u0026opentelekomcloud.S3BucketObjectArgs{\n\t\t\tKey:                  pulumi.String(\"someobject\"),\n\t\t\tBucket:               examplebucket.Bucket,\n\t\t\tSource:               pulumi.String(\"index.html\"),\n\t\t\tServerSideEncryption: pulumi.String(\"aws:kms\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.S3Bucket;\nimport com.pulumi.opentelekomcloud.S3BucketArgs;\nimport com.pulumi.opentelekomcloud.S3BucketObject;\nimport com.pulumi.opentelekomcloud.S3BucketObjectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var examplebucket = new S3Bucket(\"examplebucket\", S3BucketArgs.builder()\n            .bucket(\"examplebuckettftest\")\n            .acl(\"private\")\n            .build());\n\n        var examplebucketObject = new S3BucketObject(\"examplebucketObject\", S3BucketObjectArgs.builder()\n            .key(\"someobject\")\n            .bucket(examplebucket.bucket())\n            .source(\"index.html\")\n            .serverSideEncryption(\"aws:kms\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  examplebucket:\n    type: opentelekomcloud:S3Bucket\n    properties:\n      bucket: examplebuckettftest\n      acl: private\n  examplebucketObject:\n    type: opentelekomcloud:S3BucketObject\n    name: examplebucket_object\n    properties:\n      key: someobject\n      bucket: ${examplebucket.bucket}\n      source: index.html\n      serverSideEncryption: aws:kms\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"acl":{"type":"string","description":"The [canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl) to apply. Defaults to \"private\".\n"},"bucket":{"type":"string","description":"The name of the bucket to put the file in.\n"},"cacheControl":{"type":"string","description":"Specifies caching behavior along the request/reply chain.\nRead [w3c\u003cspan pulumi-lang-nodejs=\" cacheControl]\" pulumi-lang-dotnet=\" CacheControl]\" pulumi-lang-go=\" cacheControl]\" pulumi-lang-python=\" cache_control]\" pulumi-lang-yaml=\" cacheControl]\" pulumi-lang-java=\" cacheControl]\"\u003e cache_control]\u003c/span\u003e(http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9) for further details.\n"},"content":{"type":"string","description":"The literal content being uploaded to the bucket.\n"},"contentDisposition":{"type":"string","description":"Specifies presentational information for the object.\nRead [wc3\u003cspan pulumi-lang-nodejs=\" contentDisposition]\" pulumi-lang-dotnet=\" ContentDisposition]\" pulumi-lang-go=\" contentDisposition]\" pulumi-lang-python=\" content_disposition]\" pulumi-lang-yaml=\" contentDisposition]\" pulumi-lang-java=\" contentDisposition]\"\u003e content_disposition]\u003c/span\u003e(http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1) for further information.\n"},"contentEncoding":{"type":"string","description":"Specifies what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field. Read [w3c content encoding](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11) for further information.\n"},"contentLanguage":{"type":"string","description":"The language the content is in e.g. en-US or en-GB.\n"},"contentType":{"type":"string","description":"A standard MIME type describing the format of the object data, e.g. application/octet-stream. All Valid MIME Types are valid for this input.\n"},"etag":{"type":"string","description":"Used to trigger updates. The only meaningful value is `${md5(file(\"path/to/file\"))}`.\nThis attribute is not compatible with \u003cspan pulumi-lang-nodejs=\"`kmsKeyId`\" pulumi-lang-dotnet=\"`KmsKeyId`\" pulumi-lang-go=\"`kmsKeyId`\" pulumi-lang-python=\"`kms_key_id`\" pulumi-lang-yaml=\"`kmsKeyId`\" pulumi-lang-java=\"`kmsKeyId`\"\u003e`kms_key_id`\u003c/span\u003e.\n"},"key":{"type":"string","description":"The name of the object once it is in the bucket.\n"},"s3BucketObjectId":{"type":"string","description":"the \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\"\u003e`key`\u003c/span\u003e of the resource supplied above\n"},"serverSideEncryption":{"type":"string","description":"Specifies server-side encryption of the object in S3. Valid values are \"`AES256`\" and \"`aws:kms`\".\n\nEither \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`content`\" pulumi-lang-dotnet=\"`Content`\" pulumi-lang-go=\"`content`\" pulumi-lang-python=\"`content`\" pulumi-lang-yaml=\"`content`\" pulumi-lang-java=\"`content`\"\u003e`content`\u003c/span\u003e must be provided to specify the bucket content. These two arguments are mutually-exclusive.\n"},"source":{"type":"string","description":"The path to the source file being uploaded to the bucket.\n"},"sseKmsKeyId":{"type":"string"},"versionId":{"type":"string","description":"A unique version ID value for the object, if bucket versioning is enabled.\n"},"websiteRedirect":{"type":"string","description":"Specifies a target URL for [website redirect](http://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html).\n"}},"type":"object","required":["bucket","contentType","etag","key","s3BucketObjectId","serverSideEncryption","sseKmsKeyId","versionId"],"inputProperties":{"acl":{"type":"string","description":"The [canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl) to apply. Defaults to \"private\".\n"},"bucket":{"type":"string","description":"The name of the bucket to put the file in.\n"},"cacheControl":{"type":"string","description":"Specifies caching behavior along the request/reply chain.\nRead [w3c\u003cspan pulumi-lang-nodejs=\" cacheControl]\" pulumi-lang-dotnet=\" CacheControl]\" pulumi-lang-go=\" cacheControl]\" pulumi-lang-python=\" cache_control]\" pulumi-lang-yaml=\" cacheControl]\" pulumi-lang-java=\" cacheControl]\"\u003e cache_control]\u003c/span\u003e(http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9) for further details.\n"},"content":{"type":"string","description":"The literal content being uploaded to the bucket.\n"},"contentDisposition":{"type":"string","description":"Specifies presentational information for the object.\nRead [wc3\u003cspan pulumi-lang-nodejs=\" contentDisposition]\" pulumi-lang-dotnet=\" ContentDisposition]\" pulumi-lang-go=\" contentDisposition]\" pulumi-lang-python=\" content_disposition]\" pulumi-lang-yaml=\" contentDisposition]\" pulumi-lang-java=\" contentDisposition]\"\u003e content_disposition]\u003c/span\u003e(http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1) for further information.\n"},"contentEncoding":{"type":"string","description":"Specifies what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field. Read [w3c content encoding](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11) for further information.\n"},"contentLanguage":{"type":"string","description":"The language the content is in e.g. en-US or en-GB.\n"},"contentType":{"type":"string","description":"A standard MIME type describing the format of the object data, e.g. application/octet-stream. All Valid MIME Types are valid for this input.\n"},"etag":{"type":"string","description":"Used to trigger updates. The only meaningful value is `${md5(file(\"path/to/file\"))}`.\nThis attribute is not compatible with \u003cspan pulumi-lang-nodejs=\"`kmsKeyId`\" pulumi-lang-dotnet=\"`KmsKeyId`\" pulumi-lang-go=\"`kmsKeyId`\" pulumi-lang-python=\"`kms_key_id`\" pulumi-lang-yaml=\"`kmsKeyId`\" pulumi-lang-java=\"`kmsKeyId`\"\u003e`kms_key_id`\u003c/span\u003e.\n"},"key":{"type":"string","description":"The name of the object once it is in the bucket.\n"},"s3BucketObjectId":{"type":"string","description":"the \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\"\u003e`key`\u003c/span\u003e of the resource supplied above\n"},"serverSideEncryption":{"type":"string","description":"Specifies server-side encryption of the object in S3. Valid values are \"`AES256`\" and \"`aws:kms`\".\n\nEither \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`content`\" pulumi-lang-dotnet=\"`Content`\" pulumi-lang-go=\"`content`\" pulumi-lang-python=\"`content`\" pulumi-lang-yaml=\"`content`\" pulumi-lang-java=\"`content`\"\u003e`content`\u003c/span\u003e must be provided to specify the bucket content. These two arguments are mutually-exclusive.\n"},"source":{"type":"string","description":"The path to the source file being uploaded to the bucket.\n"},"sseKmsKeyId":{"type":"string"},"websiteRedirect":{"type":"string","description":"Specifies a target URL for [website redirect](http://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html).\n"}},"requiredInputs":["bucket","key"],"stateInputs":{"description":"Input properties used for looking up and filtering S3BucketObject resources.\n","properties":{"acl":{"type":"string","description":"The [canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl) to apply. Defaults to \"private\".\n"},"bucket":{"type":"string","description":"The name of the bucket to put the file in.\n"},"cacheControl":{"type":"string","description":"Specifies caching behavior along the request/reply chain.\nRead [w3c\u003cspan pulumi-lang-nodejs=\" cacheControl]\" pulumi-lang-dotnet=\" CacheControl]\" pulumi-lang-go=\" cacheControl]\" pulumi-lang-python=\" cache_control]\" pulumi-lang-yaml=\" cacheControl]\" pulumi-lang-java=\" cacheControl]\"\u003e cache_control]\u003c/span\u003e(http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9) for further details.\n"},"content":{"type":"string","description":"The literal content being uploaded to the bucket.\n"},"contentDisposition":{"type":"string","description":"Specifies presentational information for the object.\nRead [wc3\u003cspan pulumi-lang-nodejs=\" contentDisposition]\" pulumi-lang-dotnet=\" ContentDisposition]\" pulumi-lang-go=\" contentDisposition]\" pulumi-lang-python=\" content_disposition]\" pulumi-lang-yaml=\" contentDisposition]\" pulumi-lang-java=\" contentDisposition]\"\u003e content_disposition]\u003c/span\u003e(http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1) for further information.\n"},"contentEncoding":{"type":"string","description":"Specifies what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field. Read [w3c content encoding](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11) for further information.\n"},"contentLanguage":{"type":"string","description":"The language the content is in e.g. en-US or en-GB.\n"},"contentType":{"type":"string","description":"A standard MIME type describing the format of the object data, e.g. application/octet-stream. All Valid MIME Types are valid for this input.\n"},"etag":{"type":"string","description":"Used to trigger updates. The only meaningful value is `${md5(file(\"path/to/file\"))}`.\nThis attribute is not compatible with \u003cspan pulumi-lang-nodejs=\"`kmsKeyId`\" pulumi-lang-dotnet=\"`KmsKeyId`\" pulumi-lang-go=\"`kmsKeyId`\" pulumi-lang-python=\"`kms_key_id`\" pulumi-lang-yaml=\"`kmsKeyId`\" pulumi-lang-java=\"`kmsKeyId`\"\u003e`kms_key_id`\u003c/span\u003e.\n"},"key":{"type":"string","description":"The name of the object once it is in the bucket.\n"},"s3BucketObjectId":{"type":"string","description":"the \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\"\u003e`key`\u003c/span\u003e of the resource supplied above\n"},"serverSideEncryption":{"type":"string","description":"Specifies server-side encryption of the object in S3. Valid values are \"`AES256`\" and \"`aws:kms`\".\n\nEither \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`content`\" pulumi-lang-dotnet=\"`Content`\" pulumi-lang-go=\"`content`\" pulumi-lang-python=\"`content`\" pulumi-lang-yaml=\"`content`\" pulumi-lang-java=\"`content`\"\u003e`content`\u003c/span\u003e must be provided to specify the bucket content. These two arguments are mutually-exclusive.\n"},"source":{"type":"string","description":"The path to the source file being uploaded to the bucket.\n"},"sseKmsKeyId":{"type":"string"},"versionId":{"type":"string","description":"A unique version ID value for the object, if bucket versioning is enabled.\n"},"websiteRedirect":{"type":"string","description":"Specifies a target URL for [website redirect](http://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html).\n"}},"type":"object"}},"opentelekomcloud:index/s3BucketPolicy:S3BucketPolicy":{"description":"Attaches a policy to an S3 bucket resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst b = new opentelekomcloud.S3Bucket(\"b\", {bucket: \"my-tf-test-bucket\"});\nconst bS3BucketPolicy = new opentelekomcloud.S3BucketPolicy(\"b\", {\n    bucket: b.s3BucketId,\n    policy: pulumi.interpolate`  {\n  \\\"Id\\\": \\\"MYBUCKETPOLICY\\\",\n  \\\"Statement\\\": [\n    {\n      \\\"Sid\\\": \\\"IPAllow\\\",\n      \\\"Effect\\\": \\\"Deny\\\",\n      \\\"Principal\\\": \\\"*\\\",\n      \\\"Action\\\": \\\"s3:*\\\",\n      \\\"Resource\\\": \\\"arn:aws:s3:::${b.bucket}/*\\\",\n      \\\"Condition\\\": {\n         \\\"IpAddress\\\": {\\\"aws:SourceIp\\\": \\\"8.8.8.8/32\\\"}\n      }\n    }\n  ]}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nb = opentelekomcloud.S3Bucket(\"b\", bucket=\"my-tf-test-bucket\")\nb_s3_bucket_policy = opentelekomcloud.S3BucketPolicy(\"b\",\n    bucket=b.s3_bucket_id,\n    policy=b.bucket.apply(lambda bucket: f\"\"\"  {{\n  \\\"Id\\\": \\\"MYBUCKETPOLICY\\\",\n  \\\"Statement\\\": [\n    {{\n      \\\"Sid\\\": \\\"IPAllow\\\",\n      \\\"Effect\\\": \\\"Deny\\\",\n      \\\"Principal\\\": \\\"*\\\",\n      \\\"Action\\\": \\\"s3:*\\\",\n      \\\"Resource\\\": \\\"arn:aws:s3:::{bucket}/*\\\",\n      \\\"Condition\\\": {{\n         \\\"IpAddress\\\": {{\\\"aws:SourceIp\\\": \\\"8.8.8.8/32\\\"}}\n      }}\n    }}\n  ]}}\n\"\"\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var b = new Opentelekomcloud.S3Bucket(\"b\", new()\n    {\n        Bucket = \"my-tf-test-bucket\",\n    });\n\n    var bS3BucketPolicy = new Opentelekomcloud.S3BucketPolicy(\"b\", new()\n    {\n        Bucket = b.S3BucketId,\n        Policy = b.Bucket.Apply(bucket =\u003e @$\"  {{\n  \\\"\"Id\\\"\": \\\"\"MYBUCKETPOLICY\\\"\",\n  \\\"\"Statement\\\"\": [\n    {{\n      \\\"\"Sid\\\"\": \\\"\"IPAllow\\\"\",\n      \\\"\"Effect\\\"\": \\\"\"Deny\\\"\",\n      \\\"\"Principal\\\"\": \\\"\"*\\\"\",\n      \\\"\"Action\\\"\": \\\"\"s3:*\\\"\",\n      \\\"\"Resource\\\"\": \\\"\"arn:aws:s3:::{bucket}/*\\\"\",\n      \\\"\"Condition\\\"\": {{\n         \\\"\"IpAddress\\\"\": {{\\\"\"aws:SourceIp\\\"\": \\\"\"8.8.8.8/32\\\"\"}}\n      }}\n    }}\n  ]}}\n\"),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tb, err := opentelekomcloud.NewS3Bucket(ctx, \"b\", \u0026opentelekomcloud.S3BucketArgs{\n\t\t\tBucket: pulumi.String(\"my-tf-test-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewS3BucketPolicy(ctx, \"b\", \u0026opentelekomcloud.S3BucketPolicyArgs{\n\t\t\tBucket: b.S3BucketId,\n\t\t\tPolicy: b.Bucket.ApplyT(func(bucket string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(`  {\n  \\\"Id\\\": \\\"MYBUCKETPOLICY\\\",\n  \\\"Statement\\\": [\n    {\n      \\\"Sid\\\": \\\"IPAllow\\\",\n      \\\"Effect\\\": \\\"Deny\\\",\n      \\\"Principal\\\": \\\"*\\\",\n      \\\"Action\\\": \\\"s3:*\\\",\n      \\\"Resource\\\": \\\"arn:aws:s3:::%v/*\\\",\n      \\\"Condition\\\": {\n         \\\"IpAddress\\\": {\\\"aws:SourceIp\\\": \\\"8.8.8.8/32\\\"}\n      }\n    }\n  ]}\n`, bucket), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.S3Bucket;\nimport com.pulumi.opentelekomcloud.S3BucketArgs;\nimport com.pulumi.opentelekomcloud.S3BucketPolicy;\nimport com.pulumi.opentelekomcloud.S3BucketPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var b = new S3Bucket(\"b\", S3BucketArgs.builder()\n            .bucket(\"my-tf-test-bucket\")\n            .build());\n\n        var bS3BucketPolicy = new S3BucketPolicy(\"bS3BucketPolicy\", S3BucketPolicyArgs.builder()\n            .bucket(b.s3BucketId())\n            .policy(b.bucket().applyValue(_bucket -\u003e \"\"\"\n  {\n  \\\"Id\\\": \\\"MYBUCKETPOLICY\\\",\n  \\\"Statement\\\": [\n    {\n      \\\"Sid\\\": \\\"IPAllow\\\",\n      \\\"Effect\\\": \\\"Deny\\\",\n      \\\"Principal\\\": \\\"*\\\",\n      \\\"Action\\\": \\\"s3:*\\\",\n      \\\"Resource\\\": \\\"arn:aws:s3:::%s/*\\\",\n      \\\"Condition\\\": {\n         \\\"IpAddress\\\": {\\\"aws:SourceIp\\\": \\\"8.8.8.8/32\\\"}\n      }\n    }\n  ]}\n\", _bucket)))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  b:\n    type: opentelekomcloud:S3Bucket\n    properties:\n      bucket: my-tf-test-bucket\n  bS3BucketPolicy:\n    type: opentelekomcloud:S3BucketPolicy\n    name: b\n    properties:\n      bucket: ${b.s3BucketId}\n      policy: |2\n          {\n          \\\"Id\\\": \\\"MYBUCKETPOLICY\\\",\n          \\\"Statement\\\": [\n            {\n              \\\"Sid\\\": \\\"IPAllow\\\",\n              \\\"Effect\\\": \\\"Deny\\\",\n              \\\"Principal\\\": \\\"*\\\",\n              \\\"Action\\\": \\\"s3:*\\\",\n              \\\"Resource\\\": \\\"arn:aws:s3:::${b.bucket}/*\\\",\n              \\\"Condition\\\": {\n                 \\\"IpAddress\\\": {\\\"aws:SourceIp\\\": \\\"8.8.8.8/32\\\"}\n              }\n            }\n          ]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"bucket":{"type":"string","description":"The name of the bucket to which to apply the policy.\n"},"policy":{"type":"string","description":"The text of the policy.\n"},"s3BucketPolicyId":{"type":"string"}},"type":"object","required":["bucket","policy","s3BucketPolicyId"],"inputProperties":{"bucket":{"type":"string","description":"The name of the bucket to which to apply the policy.\n"},"policy":{"type":"string","description":"The text of the policy.\n"},"s3BucketPolicyId":{"type":"string"}},"requiredInputs":["bucket","policy"],"stateInputs":{"description":"Input properties used for looking up and filtering S3BucketPolicy resources.\n","properties":{"bucket":{"type":"string","description":"The name of the bucket to which to apply the policy.\n"},"policy":{"type":"string","description":"The text of the policy.\n"},"s3BucketPolicyId":{"type":"string"}},"type":"object"}},"opentelekomcloud:index/sdrsProtectedInstanceV1:SdrsProtectedInstanceV1":{"description":"Up-to-date reference of API arguments for SDRS protected instance you can get at\n[documentation portal](https://docs.otc.t-systems.com/storage-disaster-recovery-service/api-ref/sdrs_apis/protected_instance)\n\nManages a SDRS protected instance resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst group1 = new opentelekomcloud.SdrsProtectiongroupV1(\"group_1\", {\n    name: \"group_1\",\n    sourceAvailabilityZone: \"eu-de-01\",\n    targetAvailabilityZone: \"eu-de-02\",\n    domainId: domainId,\n    sourceVpcId: vpcId,\n    drType: \"migration\",\n});\nconst instance1 = new opentelekomcloud.EcsInstanceV1(\"instance_1\", {\n    name: \"server_1\",\n    imageId: imageId,\n    flavor: flavor,\n    vpcId: vpcId,\n    nics: [{\n        networkId: networkId,\n    }],\n    availabilityZone: \"eu-de-01\",\n});\nconst instance1SdrsProtectedInstanceV1 = new opentelekomcloud.SdrsProtectedInstanceV1(\"instance_1\", {\n    name: \"instance_create\",\n    description: \"some interesting description\",\n    groupId: group1.sdrsProtectiongroupV1Id,\n    serverId: instance1.ecsInstanceV1Id,\n    deleteTargetServer: true,\n    tags: {\n        muh: \"value-create\",\n        kuh: \"value-create\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ngroup1 = opentelekomcloud.SdrsProtectiongroupV1(\"group_1\",\n    name=\"group_1\",\n    source_availability_zone=\"eu-de-01\",\n    target_availability_zone=\"eu-de-02\",\n    domain_id=domain_id,\n    source_vpc_id=vpc_id,\n    dr_type=\"migration\")\ninstance1 = opentelekomcloud.EcsInstanceV1(\"instance_1\",\n    name=\"server_1\",\n    image_id=image_id,\n    flavor=flavor,\n    vpc_id=vpc_id,\n    nics=[{\n        \"network_id\": network_id,\n    }],\n    availability_zone=\"eu-de-01\")\ninstance1_sdrs_protected_instance_v1 = opentelekomcloud.SdrsProtectedInstanceV1(\"instance_1\",\n    name=\"instance_create\",\n    description=\"some interesting description\",\n    group_id=group1.sdrs_protectiongroup_v1_id,\n    server_id=instance1.ecs_instance_v1_id,\n    delete_target_server=True,\n    tags={\n        \"muh\": \"value-create\",\n        \"kuh\": \"value-create\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var group1 = new Opentelekomcloud.SdrsProtectiongroupV1(\"group_1\", new()\n    {\n        Name = \"group_1\",\n        SourceAvailabilityZone = \"eu-de-01\",\n        TargetAvailabilityZone = \"eu-de-02\",\n        DomainId = domainId,\n        SourceVpcId = vpcId,\n        DrType = \"migration\",\n    });\n\n    var instance1 = new Opentelekomcloud.EcsInstanceV1(\"instance_1\", new()\n    {\n        Name = \"server_1\",\n        ImageId = imageId,\n        Flavor = flavor,\n        VpcId = vpcId,\n        Nics = new[]\n        {\n            new Opentelekomcloud.Inputs.EcsInstanceV1NicArgs\n            {\n                NetworkId = networkId,\n            },\n        },\n        AvailabilityZone = \"eu-de-01\",\n    });\n\n    var instance1SdrsProtectedInstanceV1 = new Opentelekomcloud.SdrsProtectedInstanceV1(\"instance_1\", new()\n    {\n        Name = \"instance_create\",\n        Description = \"some interesting description\",\n        GroupId = group1.SdrsProtectiongroupV1Id,\n        ServerId = instance1.EcsInstanceV1Id,\n        DeleteTargetServer = true,\n        Tags = \n        {\n            { \"muh\", \"value-create\" },\n            { \"kuh\", \"value-create\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tgroup1, err := opentelekomcloud.NewSdrsProtectiongroupV1(ctx, \"group_1\", \u0026opentelekomcloud.SdrsProtectiongroupV1Args{\n\t\t\tName:                   pulumi.String(\"group_1\"),\n\t\t\tSourceAvailabilityZone: pulumi.String(\"eu-de-01\"),\n\t\t\tTargetAvailabilityZone: pulumi.String(\"eu-de-02\"),\n\t\t\tDomainId:               pulumi.Any(domainId),\n\t\t\tSourceVpcId:            pulumi.Any(vpcId),\n\t\t\tDrType:                 pulumi.String(\"migration\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinstance1, err := opentelekomcloud.NewEcsInstanceV1(ctx, \"instance_1\", \u0026opentelekomcloud.EcsInstanceV1Args{\n\t\t\tName:    pulumi.String(\"server_1\"),\n\t\t\tImageId: pulumi.Any(imageId),\n\t\t\tFlavor:  pulumi.Any(flavor),\n\t\t\tVpcId:   pulumi.Any(vpcId),\n\t\t\tNics: opentelekomcloud.EcsInstanceV1NicArray{\n\t\t\t\t\u0026opentelekomcloud.EcsInstanceV1NicArgs{\n\t\t\t\t\tNetworkId: pulumi.Any(networkId),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAvailabilityZone: pulumi.String(\"eu-de-01\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewSdrsProtectedInstanceV1(ctx, \"instance_1\", \u0026opentelekomcloud.SdrsProtectedInstanceV1Args{\n\t\t\tName:               pulumi.String(\"instance_create\"),\n\t\t\tDescription:        pulumi.String(\"some interesting description\"),\n\t\t\tGroupId:            group1.SdrsProtectiongroupV1Id,\n\t\t\tServerId:           instance1.EcsInstanceV1Id,\n\t\t\tDeleteTargetServer: pulumi.Bool(true),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"muh\": pulumi.String(\"value-create\"),\n\t\t\t\t\"kuh\": pulumi.String(\"value-create\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.SdrsProtectiongroupV1;\nimport com.pulumi.opentelekomcloud.SdrsProtectiongroupV1Args;\nimport com.pulumi.opentelekomcloud.EcsInstanceV1;\nimport com.pulumi.opentelekomcloud.EcsInstanceV1Args;\nimport com.pulumi.opentelekomcloud.inputs.EcsInstanceV1NicArgs;\nimport com.pulumi.opentelekomcloud.SdrsProtectedInstanceV1;\nimport com.pulumi.opentelekomcloud.SdrsProtectedInstanceV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var group1 = new SdrsProtectiongroupV1(\"group1\", SdrsProtectiongroupV1Args.builder()\n            .name(\"group_1\")\n            .sourceAvailabilityZone(\"eu-de-01\")\n            .targetAvailabilityZone(\"eu-de-02\")\n            .domainId(domainId)\n            .sourceVpcId(vpcId)\n            .drType(\"migration\")\n            .build());\n\n        var instance1 = new EcsInstanceV1(\"instance1\", EcsInstanceV1Args.builder()\n            .name(\"server_1\")\n            .imageId(imageId)\n            .flavor(flavor)\n            .vpcId(vpcId)\n            .nics(EcsInstanceV1NicArgs.builder()\n                .networkId(networkId)\n                .build())\n            .availabilityZone(\"eu-de-01\")\n            .build());\n\n        var instance1SdrsProtectedInstanceV1 = new SdrsProtectedInstanceV1(\"instance1SdrsProtectedInstanceV1\", SdrsProtectedInstanceV1Args.builder()\n            .name(\"instance_create\")\n            .description(\"some interesting description\")\n            .groupId(group1.sdrsProtectiongroupV1Id())\n            .serverId(instance1.ecsInstanceV1Id())\n            .deleteTargetServer(true)\n            .tags(Map.ofEntries(\n                Map.entry(\"muh\", \"value-create\"),\n                Map.entry(\"kuh\", \"value-create\")\n            ))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  group1:\n    type: opentelekomcloud:SdrsProtectiongroupV1\n    name: group_1\n    properties:\n      name: group_1\n      sourceAvailabilityZone: eu-de-01\n      targetAvailabilityZone: eu-de-02\n      domainId: ${domainId}\n      sourceVpcId: ${vpcId}\n      drType: migration\n  instance1:\n    type: opentelekomcloud:EcsInstanceV1\n    name: instance_1\n    properties:\n      name: server_1\n      imageId: ${imageId}\n      flavor: ${flavor}\n      vpcId: ${vpcId}\n      nics:\n        - networkId: ${networkId}\n      availabilityZone: eu-de-01\n  instance1SdrsProtectedInstanceV1:\n    type: opentelekomcloud:SdrsProtectedInstanceV1\n    name: instance_1\n    properties:\n      name: instance_create\n      description: some interesting description\n      groupId: ${group1.sdrsProtectiongroupV1Id}\n      serverId: ${instance1.ecsInstanceV1Id}\n      deleteTargetServer: true\n      tags:\n        muh: value-create\n        kuh: value-create\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nProtected instances can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/sdrsProtectedInstanceV1:SdrsProtectedInstanceV1 instance_1 7117d38e-4c8f-4624-a505-bd96b97d024c\n```\n\n","properties":{"createdAt":{"type":"string","description":"Specifies the time when a protected instance was created.\n"},"deleteTargetEip":{"type":"boolean","description":"Specifies whether to delete the EIP of the DR site server. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"deleteTargetServer":{"type":"boolean","description":"Specifies whether to delete the DR site server. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"description":{"type":"string","description":"The description of a protected instance. Changing this creates a new instance. Changing this will create a new resource.\n"},"groupId":{"type":"string","description":"Specifies the ID of the protection group where a protected instance is added. Changing this will create a new resource.\n"},"ipAddress":{"type":"string","description":"Specifies the IP address of the primary NIC on the DR site server.\nThis parameter is valid only when \u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003e is specified. Changing this will create a new resource.\n"},"name":{"type":"string","description":"The name of a protected instance.\n"},"priorityStation":{"type":"string","description":"Specifies the current production site AZ of the protection group containing the protected instance.\n"},"sdrsProtectedInstanceV1Id":{"type":"string","description":"ID of the protected instance.\n"},"serverId":{"type":"string","description":"Specifies the ID of the protected ECS instance. Changing this will create a new resource.\n\n\u003e When the API is successfully invoked, the disaster recovery instance will be automatically created.\n"},"subnetId":{"type":"string","description":"Specifies the network ID of the subnet. Changing this will create a new resource.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags key/value pairs to associate with the instance.\n"},"targetId":{"type":"string","description":"Specifies the DR site server ID.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FSdrsProtectedInstanceV1Timeouts:SdrsProtectedInstanceV1Timeouts"},"updatedAt":{"type":"string","description":"Specifies the time when a protected instance was updated.\n"}},"type":"object","required":["createdAt","groupId","name","priorityStation","sdrsProtectedInstanceV1Id","serverId","targetId","updatedAt"],"inputProperties":{"deleteTargetEip":{"type":"boolean","description":"Specifies whether to delete the EIP of the DR site server. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"deleteTargetServer":{"type":"boolean","description":"Specifies whether to delete the DR site server. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"description":{"type":"string","description":"The description of a protected instance. Changing this creates a new instance. Changing this will create a new resource.\n"},"groupId":{"type":"string","description":"Specifies the ID of the protection group where a protected instance is added. Changing this will create a new resource.\n"},"ipAddress":{"type":"string","description":"Specifies the IP address of the primary NIC on the DR site server.\nThis parameter is valid only when \u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003e is specified. Changing this will create a new resource.\n"},"name":{"type":"string","description":"The name of a protected instance.\n"},"sdrsProtectedInstanceV1Id":{"type":"string","description":"ID of the protected instance.\n"},"serverId":{"type":"string","description":"Specifies the ID of the protected ECS instance. Changing this will create a new resource.\n\n\u003e When the API is successfully invoked, the disaster recovery instance will be automatically created.\n"},"subnetId":{"type":"string","description":"Specifies the network ID of the subnet. Changing this will create a new resource.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags key/value pairs to associate with the instance.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FSdrsProtectedInstanceV1Timeouts:SdrsProtectedInstanceV1Timeouts"}},"requiredInputs":["groupId","serverId"],"stateInputs":{"description":"Input properties used for looking up and filtering SdrsProtectedInstanceV1 resources.\n","properties":{"createdAt":{"type":"string","description":"Specifies the time when a protected instance was created.\n"},"deleteTargetEip":{"type":"boolean","description":"Specifies whether to delete the EIP of the DR site server. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"deleteTargetServer":{"type":"boolean","description":"Specifies whether to delete the DR site server. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"description":{"type":"string","description":"The description of a protected instance. Changing this creates a new instance. Changing this will create a new resource.\n"},"groupId":{"type":"string","description":"Specifies the ID of the protection group where a protected instance is added. Changing this will create a new resource.\n"},"ipAddress":{"type":"string","description":"Specifies the IP address of the primary NIC on the DR site server.\nThis parameter is valid only when \u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003e is specified. Changing this will create a new resource.\n"},"name":{"type":"string","description":"The name of a protected instance.\n"},"priorityStation":{"type":"string","description":"Specifies the current production site AZ of the protection group containing the protected instance.\n"},"sdrsProtectedInstanceV1Id":{"type":"string","description":"ID of the protected instance.\n"},"serverId":{"type":"string","description":"Specifies the ID of the protected ECS instance. Changing this will create a new resource.\n\n\u003e When the API is successfully invoked, the disaster recovery instance will be automatically created.\n"},"subnetId":{"type":"string","description":"Specifies the network ID of the subnet. Changing this will create a new resource.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags key/value pairs to associate with the instance.\n"},"targetId":{"type":"string","description":"Specifies the DR site server ID.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FSdrsProtectedInstanceV1Timeouts:SdrsProtectedInstanceV1Timeouts"},"updatedAt":{"type":"string","description":"Specifies the time when a protected instance was updated.\n"}},"type":"object"}},"opentelekomcloud:index/sdrsProtectiongroupV1:SdrsProtectiongroupV1":{"description":"Up-to-date reference of API arguments for SDRS protection group you can get at\n[documentation portal](https://docs.otc.t-systems.com/storage-disaster-recovery-service/api-ref/sdrs_apis/protection_group)\n\nManages a SDRS protection group resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst dom1 = opentelekomcloud.getSdrsDomainV1({});\nconst group1 = new opentelekomcloud.SdrsProtectiongroupV1(\"group_1\", {\n    name: \"group_1\",\n    description: \"test description\",\n    sourceAvailabilityZone: \"eu-de-01\",\n    targetAvailabilityZone: \"eu-de-02\",\n    domainId: dom1.then(dom1 =\u003e dom1.id),\n    sourceVpcId: vpcId,\n    drType: \"migration\",\n    enable: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ndom1 = opentelekomcloud.get_sdrs_domain_v1()\ngroup1 = opentelekomcloud.SdrsProtectiongroupV1(\"group_1\",\n    name=\"group_1\",\n    description=\"test description\",\n    source_availability_zone=\"eu-de-01\",\n    target_availability_zone=\"eu-de-02\",\n    domain_id=dom1.id,\n    source_vpc_id=vpc_id,\n    dr_type=\"migration\",\n    enable=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var dom1 = Opentelekomcloud.GetSdrsDomainV1.Invoke();\n\n    var group1 = new Opentelekomcloud.SdrsProtectiongroupV1(\"group_1\", new()\n    {\n        Name = \"group_1\",\n        Description = \"test description\",\n        SourceAvailabilityZone = \"eu-de-01\",\n        TargetAvailabilityZone = \"eu-de-02\",\n        DomainId = dom1.Apply(getSdrsDomainV1Result =\u003e getSdrsDomainV1Result.Id),\n        SourceVpcId = vpcId,\n        DrType = \"migration\",\n        Enable = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdom1, err := opentelekomcloud.GetSdrsDomainV1(ctx, \u0026opentelekomcloud.GetSdrsDomainV1Args{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewSdrsProtectiongroupV1(ctx, \"group_1\", \u0026opentelekomcloud.SdrsProtectiongroupV1Args{\n\t\t\tName:                   pulumi.String(\"group_1\"),\n\t\t\tDescription:            pulumi.String(\"test description\"),\n\t\t\tSourceAvailabilityZone: pulumi.String(\"eu-de-01\"),\n\t\t\tTargetAvailabilityZone: pulumi.String(\"eu-de-02\"),\n\t\t\tDomainId:               pulumi.String(dom1.Id),\n\t\t\tSourceVpcId:            pulumi.Any(vpcId),\n\t\t\tDrType:                 pulumi.String(\"migration\"),\n\t\t\tEnable:                 pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetSdrsDomainV1Args;\nimport com.pulumi.opentelekomcloud.SdrsProtectiongroupV1;\nimport com.pulumi.opentelekomcloud.SdrsProtectiongroupV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var dom1 = OpentelekomcloudFunctions.getSdrsDomainV1(GetSdrsDomainV1Args.builder()\n            .build());\n\n        var group1 = new SdrsProtectiongroupV1(\"group1\", SdrsProtectiongroupV1Args.builder()\n            .name(\"group_1\")\n            .description(\"test description\")\n            .sourceAvailabilityZone(\"eu-de-01\")\n            .targetAvailabilityZone(\"eu-de-02\")\n            .domainId(dom1.id())\n            .sourceVpcId(vpcId)\n            .drType(\"migration\")\n            .enable(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  group1:\n    type: opentelekomcloud:SdrsProtectiongroupV1\n    name: group_1\n    properties:\n      name: group_1\n      description: test description\n      sourceAvailabilityZone: eu-de-01\n      targetAvailabilityZone: eu-de-02\n      domainId: ${dom1.id}\n      sourceVpcId: ${vpcId}\n      drType: migration\n      enable: true\nvariables:\n  dom1:\n    fn::invoke:\n      function: opentelekomcloud:getSdrsDomainV1\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nProtection groups can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/sdrsProtectiongroupV1:SdrsProtectiongroupV1 group_1 7117d38e-4c8f-4624-a505-bd96b97d024c\n```\n\n","properties":{"createdAt":{"type":"string","description":"(String) Time of creation of the protection group.\n"},"description":{"type":"string","description":"The description of a protection group. Changing this creates a new group.\n"},"domainId":{"type":"string","description":"Specifies the ID of an ``active-active domain``. Changing this creates a new group.\nAn ``active-active domain`` id can be extracted from ``data/opentelekomcloud_sdrs_domain_v1`` and shouldn't be confused\nwith tenant `\u003cspan pulumi-lang-nodejs=\"`domain`\" pulumi-lang-dotnet=\"`Domain`\" pulumi-lang-go=\"`domain`\" pulumi-lang-python=\"`domain`\" pulumi-lang-yaml=\"`domain`\" pulumi-lang-java=\"`domain`\"\u003e`domain`\u003c/span\u003e`.\n"},"drType":{"type":"string","description":"Specifies the deployment model. The default value is migration indicating migration within a VPC.\nChanging this creates a new group.\n"},"enable":{"type":"boolean","description":"Enables or disables the Protection group.\n"},"name":{"type":"string","description":"The name of a protection group.\n"},"sdrsProtectiongroupV1Id":{"type":"string","description":"(String) ID of the protection group.\n"},"sourceAvailabilityZone":{"type":"string","description":"Specifies the source AZ of a protection group. Changing this creates a new group.\n"},"sourceVpcId":{"type":"string","description":"Specifies the ID of the source VPC. Changing this creates a new group.\n"},"targetAvailabilityZone":{"type":"string","description":"Specifies the target AZ of a protection group. Changing this creates a new group.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FSdrsProtectiongroupV1Timeouts:SdrsProtectiongroupV1Timeouts"},"updatedAt":{"type":"string","description":"(String) Time of last update of the protection group.\n"}},"type":"object","required":["createdAt","domainId","name","sdrsProtectiongroupV1Id","sourceAvailabilityZone","sourceVpcId","targetAvailabilityZone","updatedAt"],"inputProperties":{"description":{"type":"string","description":"The description of a protection group. Changing this creates a new group.\n"},"domainId":{"type":"string","description":"Specifies the ID of an ``active-active domain``. Changing this creates a new group.\nAn ``active-active domain`` id can be extracted from ``data/opentelekomcloud_sdrs_domain_v1`` and shouldn't be confused\nwith tenant `\u003cspan pulumi-lang-nodejs=\"`domain`\" pulumi-lang-dotnet=\"`Domain`\" pulumi-lang-go=\"`domain`\" pulumi-lang-python=\"`domain`\" pulumi-lang-yaml=\"`domain`\" pulumi-lang-java=\"`domain`\"\u003e`domain`\u003c/span\u003e`.\n"},"drType":{"type":"string","description":"Specifies the deployment model. The default value is migration indicating migration within a VPC.\nChanging this creates a new group.\n"},"enable":{"type":"boolean","description":"Enables or disables the Protection group.\n"},"name":{"type":"string","description":"The name of a protection group.\n"},"sdrsProtectiongroupV1Id":{"type":"string","description":"(String) ID of the protection group.\n"},"sourceAvailabilityZone":{"type":"string","description":"Specifies the source AZ of a protection group. Changing this creates a new group.\n"},"sourceVpcId":{"type":"string","description":"Specifies the ID of the source VPC. Changing this creates a new group.\n"},"targetAvailabilityZone":{"type":"string","description":"Specifies the target AZ of a protection group. Changing this creates a new group.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FSdrsProtectiongroupV1Timeouts:SdrsProtectiongroupV1Timeouts"}},"requiredInputs":["domainId","sourceAvailabilityZone","sourceVpcId","targetAvailabilityZone"],"stateInputs":{"description":"Input properties used for looking up and filtering SdrsProtectiongroupV1 resources.\n","properties":{"createdAt":{"type":"string","description":"(String) Time of creation of the protection group.\n"},"description":{"type":"string","description":"The description of a protection group. Changing this creates a new group.\n"},"domainId":{"type":"string","description":"Specifies the ID of an ``active-active domain``. Changing this creates a new group.\nAn ``active-active domain`` id can be extracted from ``data/opentelekomcloud_sdrs_domain_v1`` and shouldn't be confused\nwith tenant `\u003cspan pulumi-lang-nodejs=\"`domain`\" pulumi-lang-dotnet=\"`Domain`\" pulumi-lang-go=\"`domain`\" pulumi-lang-python=\"`domain`\" pulumi-lang-yaml=\"`domain`\" pulumi-lang-java=\"`domain`\"\u003e`domain`\u003c/span\u003e`.\n"},"drType":{"type":"string","description":"Specifies the deployment model. The default value is migration indicating migration within a VPC.\nChanging this creates a new group.\n"},"enable":{"type":"boolean","description":"Enables or disables the Protection group.\n"},"name":{"type":"string","description":"The name of a protection group.\n"},"sdrsProtectiongroupV1Id":{"type":"string","description":"(String) ID of the protection group.\n"},"sourceAvailabilityZone":{"type":"string","description":"Specifies the source AZ of a protection group. Changing this creates a new group.\n"},"sourceVpcId":{"type":"string","description":"Specifies the ID of the source VPC. Changing this creates a new group.\n"},"targetAvailabilityZone":{"type":"string","description":"Specifies the target AZ of a protection group. Changing this creates a new group.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FSdrsProtectiongroupV1Timeouts:SdrsProtectiongroupV1Timeouts"},"updatedAt":{"type":"string","description":"(String) Time of last update of the protection group.\n"}},"type":"object"}},"opentelekomcloud:index/sdrsReplicationAttachV1:SdrsReplicationAttachV1":{"description":"Up-to-date reference of API arguments for SDRS replication pair attachment you can get at\n[documentation portal](https://docs.otc.t-systems.com/storage-disaster-recovery-service/api-ref/sdrs_apis/protected_instance/index.html)\n\nManages a SDRS replication pair attachment resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst domain1 = opentelekomcloud.getSdrsDomainV1({});\nconst group1 = new opentelekomcloud.SdrsProtectiongroupV1(\"group_1\", {\n    name: \"group_1\",\n    sourceAvailabilityZone: \"eu-de-02\",\n    targetAvailabilityZone: \"eu-de-01\",\n    domainId: domain1.then(domain1 =\u003e domain1.id),\n    sourceVpcId: vpcId,\n    drType: \"migration\",\n});\nconst instance1 = new opentelekomcloud.EcsInstanceV1(\"instance_1\", {\n    name: \"server_1\",\n    imageId: imageId,\n    flavor: \"s3.medium.1\",\n    vpcId: vpcId,\n    nics: [{\n        networkId: networkId,\n    }],\n    availabilityZone: \"eu-de-02\",\n});\nconst instance1SdrsProtectedInstanceV1 = new opentelekomcloud.SdrsProtectedInstanceV1(\"instance_1\", {\n    name: \"instance_create\",\n    groupId: group1.sdrsProtectiongroupV1Id,\n    serverId: instance1.ecsInstanceV1Id,\n    deleteTargetServer: true,\n});\nconst volume1 = new opentelekomcloud.EvsVolumeV3(\"volume_1\", {\n    name: \"volume_1\",\n    description: \"first test volume\",\n    availabilityZone: \"eu-de-02\",\n    volumeType: \"SATA\",\n    size: 12,\n});\nconst pair1 = new opentelekomcloud.SdrsReplicationPairV1(\"pair_1\", {\n    name: \"replication_1\",\n    groupId: group1.sdrsProtectiongroupV1Id,\n    volumeId: volume1.evsVolumeV3Id,\n    deleteTargetVolume: true,\n});\nconst attach1 = new opentelekomcloud.SdrsReplicationAttachV1(\"attach_1\", {\n    instanceId: instance1SdrsProtectedInstanceV1.sdrsProtectedInstanceV1Id,\n    replicationId: pair1.sdrsReplicationPairV1Id,\n    device: \"/dev/vdb\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ndomain1 = opentelekomcloud.get_sdrs_domain_v1()\ngroup1 = opentelekomcloud.SdrsProtectiongroupV1(\"group_1\",\n    name=\"group_1\",\n    source_availability_zone=\"eu-de-02\",\n    target_availability_zone=\"eu-de-01\",\n    domain_id=domain1.id,\n    source_vpc_id=vpc_id,\n    dr_type=\"migration\")\ninstance1 = opentelekomcloud.EcsInstanceV1(\"instance_1\",\n    name=\"server_1\",\n    image_id=image_id,\n    flavor=\"s3.medium.1\",\n    vpc_id=vpc_id,\n    nics=[{\n        \"network_id\": network_id,\n    }],\n    availability_zone=\"eu-de-02\")\ninstance1_sdrs_protected_instance_v1 = opentelekomcloud.SdrsProtectedInstanceV1(\"instance_1\",\n    name=\"instance_create\",\n    group_id=group1.sdrs_protectiongroup_v1_id,\n    server_id=instance1.ecs_instance_v1_id,\n    delete_target_server=True)\nvolume1 = opentelekomcloud.EvsVolumeV3(\"volume_1\",\n    name=\"volume_1\",\n    description=\"first test volume\",\n    availability_zone=\"eu-de-02\",\n    volume_type=\"SATA\",\n    size=12)\npair1 = opentelekomcloud.SdrsReplicationPairV1(\"pair_1\",\n    name=\"replication_1\",\n    group_id=group1.sdrs_protectiongroup_v1_id,\n    volume_id=volume1.evs_volume_v3_id,\n    delete_target_volume=True)\nattach1 = opentelekomcloud.SdrsReplicationAttachV1(\"attach_1\",\n    instance_id=instance1_sdrs_protected_instance_v1.sdrs_protected_instance_v1_id,\n    replication_id=pair1.sdrs_replication_pair_v1_id,\n    device=\"/dev/vdb\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var domain1 = Opentelekomcloud.GetSdrsDomainV1.Invoke();\n\n    var group1 = new Opentelekomcloud.SdrsProtectiongroupV1(\"group_1\", new()\n    {\n        Name = \"group_1\",\n        SourceAvailabilityZone = \"eu-de-02\",\n        TargetAvailabilityZone = \"eu-de-01\",\n        DomainId = domain1.Apply(getSdrsDomainV1Result =\u003e getSdrsDomainV1Result.Id),\n        SourceVpcId = vpcId,\n        DrType = \"migration\",\n    });\n\n    var instance1 = new Opentelekomcloud.EcsInstanceV1(\"instance_1\", new()\n    {\n        Name = \"server_1\",\n        ImageId = imageId,\n        Flavor = \"s3.medium.1\",\n        VpcId = vpcId,\n        Nics = new[]\n        {\n            new Opentelekomcloud.Inputs.EcsInstanceV1NicArgs\n            {\n                NetworkId = networkId,\n            },\n        },\n        AvailabilityZone = \"eu-de-02\",\n    });\n\n    var instance1SdrsProtectedInstanceV1 = new Opentelekomcloud.SdrsProtectedInstanceV1(\"instance_1\", new()\n    {\n        Name = \"instance_create\",\n        GroupId = group1.SdrsProtectiongroupV1Id,\n        ServerId = instance1.EcsInstanceV1Id,\n        DeleteTargetServer = true,\n    });\n\n    var volume1 = new Opentelekomcloud.EvsVolumeV3(\"volume_1\", new()\n    {\n        Name = \"volume_1\",\n        Description = \"first test volume\",\n        AvailabilityZone = \"eu-de-02\",\n        VolumeType = \"SATA\",\n        Size = 12,\n    });\n\n    var pair1 = new Opentelekomcloud.SdrsReplicationPairV1(\"pair_1\", new()\n    {\n        Name = \"replication_1\",\n        GroupId = group1.SdrsProtectiongroupV1Id,\n        VolumeId = volume1.EvsVolumeV3Id,\n        DeleteTargetVolume = true,\n    });\n\n    var attach1 = new Opentelekomcloud.SdrsReplicationAttachV1(\"attach_1\", new()\n    {\n        InstanceId = instance1SdrsProtectedInstanceV1.SdrsProtectedInstanceV1Id,\n        ReplicationId = pair1.SdrsReplicationPairV1Id,\n        Device = \"/dev/vdb\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdomain1, err := opentelekomcloud.GetSdrsDomainV1(ctx, \u0026opentelekomcloud.GetSdrsDomainV1Args{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tgroup1, err := opentelekomcloud.NewSdrsProtectiongroupV1(ctx, \"group_1\", \u0026opentelekomcloud.SdrsProtectiongroupV1Args{\n\t\t\tName:                   pulumi.String(\"group_1\"),\n\t\t\tSourceAvailabilityZone: pulumi.String(\"eu-de-02\"),\n\t\t\tTargetAvailabilityZone: pulumi.String(\"eu-de-01\"),\n\t\t\tDomainId:               pulumi.String(domain1.Id),\n\t\t\tSourceVpcId:            pulumi.Any(vpcId),\n\t\t\tDrType:                 pulumi.String(\"migration\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinstance1, err := opentelekomcloud.NewEcsInstanceV1(ctx, \"instance_1\", \u0026opentelekomcloud.EcsInstanceV1Args{\n\t\t\tName:    pulumi.String(\"server_1\"),\n\t\t\tImageId: pulumi.Any(imageId),\n\t\t\tFlavor:  pulumi.String(\"s3.medium.1\"),\n\t\t\tVpcId:   pulumi.Any(vpcId),\n\t\t\tNics: opentelekomcloud.EcsInstanceV1NicArray{\n\t\t\t\t\u0026opentelekomcloud.EcsInstanceV1NicArgs{\n\t\t\t\t\tNetworkId: pulumi.Any(networkId),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAvailabilityZone: pulumi.String(\"eu-de-02\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinstance1SdrsProtectedInstanceV1, err := opentelekomcloud.NewSdrsProtectedInstanceV1(ctx, \"instance_1\", \u0026opentelekomcloud.SdrsProtectedInstanceV1Args{\n\t\t\tName:               pulumi.String(\"instance_create\"),\n\t\t\tGroupId:            group1.SdrsProtectiongroupV1Id,\n\t\t\tServerId:           instance1.EcsInstanceV1Id,\n\t\t\tDeleteTargetServer: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvolume1, err := opentelekomcloud.NewEvsVolumeV3(ctx, \"volume_1\", \u0026opentelekomcloud.EvsVolumeV3Args{\n\t\t\tName:             pulumi.String(\"volume_1\"),\n\t\t\tDescription:      pulumi.String(\"first test volume\"),\n\t\t\tAvailabilityZone: pulumi.String(\"eu-de-02\"),\n\t\t\tVolumeType:       pulumi.String(\"SATA\"),\n\t\t\tSize:             pulumi.Float64(12),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpair1, err := opentelekomcloud.NewSdrsReplicationPairV1(ctx, \"pair_1\", \u0026opentelekomcloud.SdrsReplicationPairV1Args{\n\t\t\tName:               pulumi.String(\"replication_1\"),\n\t\t\tGroupId:            group1.SdrsProtectiongroupV1Id,\n\t\t\tVolumeId:           volume1.EvsVolumeV3Id,\n\t\t\tDeleteTargetVolume: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewSdrsReplicationAttachV1(ctx, \"attach_1\", \u0026opentelekomcloud.SdrsReplicationAttachV1Args{\n\t\t\tInstanceId:    instance1SdrsProtectedInstanceV1.SdrsProtectedInstanceV1Id,\n\t\t\tReplicationId: pair1.SdrsReplicationPairV1Id,\n\t\t\tDevice:        pulumi.String(\"/dev/vdb\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetSdrsDomainV1Args;\nimport com.pulumi.opentelekomcloud.SdrsProtectiongroupV1;\nimport com.pulumi.opentelekomcloud.SdrsProtectiongroupV1Args;\nimport com.pulumi.opentelekomcloud.EcsInstanceV1;\nimport com.pulumi.opentelekomcloud.EcsInstanceV1Args;\nimport com.pulumi.opentelekomcloud.inputs.EcsInstanceV1NicArgs;\nimport com.pulumi.opentelekomcloud.SdrsProtectedInstanceV1;\nimport com.pulumi.opentelekomcloud.SdrsProtectedInstanceV1Args;\nimport com.pulumi.opentelekomcloud.EvsVolumeV3;\nimport com.pulumi.opentelekomcloud.EvsVolumeV3Args;\nimport com.pulumi.opentelekomcloud.SdrsReplicationPairV1;\nimport com.pulumi.opentelekomcloud.SdrsReplicationPairV1Args;\nimport com.pulumi.opentelekomcloud.SdrsReplicationAttachV1;\nimport com.pulumi.opentelekomcloud.SdrsReplicationAttachV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var domain1 = OpentelekomcloudFunctions.getSdrsDomainV1(GetSdrsDomainV1Args.builder()\n            .build());\n\n        var group1 = new SdrsProtectiongroupV1(\"group1\", SdrsProtectiongroupV1Args.builder()\n            .name(\"group_1\")\n            .sourceAvailabilityZone(\"eu-de-02\")\n            .targetAvailabilityZone(\"eu-de-01\")\n            .domainId(domain1.id())\n            .sourceVpcId(vpcId)\n            .drType(\"migration\")\n            .build());\n\n        var instance1 = new EcsInstanceV1(\"instance1\", EcsInstanceV1Args.builder()\n            .name(\"server_1\")\n            .imageId(imageId)\n            .flavor(\"s3.medium.1\")\n            .vpcId(vpcId)\n            .nics(EcsInstanceV1NicArgs.builder()\n                .networkId(networkId)\n                .build())\n            .availabilityZone(\"eu-de-02\")\n            .build());\n\n        var instance1SdrsProtectedInstanceV1 = new SdrsProtectedInstanceV1(\"instance1SdrsProtectedInstanceV1\", SdrsProtectedInstanceV1Args.builder()\n            .name(\"instance_create\")\n            .groupId(group1.sdrsProtectiongroupV1Id())\n            .serverId(instance1.ecsInstanceV1Id())\n            .deleteTargetServer(true)\n            .build());\n\n        var volume1 = new EvsVolumeV3(\"volume1\", EvsVolumeV3Args.builder()\n            .name(\"volume_1\")\n            .description(\"first test volume\")\n            .availabilityZone(\"eu-de-02\")\n            .volumeType(\"SATA\")\n            .size(12.0)\n            .build());\n\n        var pair1 = new SdrsReplicationPairV1(\"pair1\", SdrsReplicationPairV1Args.builder()\n            .name(\"replication_1\")\n            .groupId(group1.sdrsProtectiongroupV1Id())\n            .volumeId(volume1.evsVolumeV3Id())\n            .deleteTargetVolume(true)\n            .build());\n\n        var attach1 = new SdrsReplicationAttachV1(\"attach1\", SdrsReplicationAttachV1Args.builder()\n            .instanceId(instance1SdrsProtectedInstanceV1.sdrsProtectedInstanceV1Id())\n            .replicationId(pair1.sdrsReplicationPairV1Id())\n            .device(\"/dev/vdb\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  group1:\n    type: opentelekomcloud:SdrsProtectiongroupV1\n    name: group_1\n    properties:\n      name: group_1\n      sourceAvailabilityZone: eu-de-02\n      targetAvailabilityZone: eu-de-01\n      domainId: ${domain1.id}\n      sourceVpcId: ${vpcId}\n      drType: migration\n  instance1:\n    type: opentelekomcloud:EcsInstanceV1\n    name: instance_1\n    properties:\n      name: server_1\n      imageId: ${imageId}\n      flavor: s3.medium.1\n      vpcId: ${vpcId}\n      nics:\n        - networkId: ${networkId}\n      availabilityZone: eu-de-02\n  instance1SdrsProtectedInstanceV1:\n    type: opentelekomcloud:SdrsProtectedInstanceV1\n    name: instance_1\n    properties:\n      name: instance_create\n      groupId: ${group1.sdrsProtectiongroupV1Id}\n      serverId: ${instance1.ecsInstanceV1Id}\n      deleteTargetServer: true\n  volume1:\n    type: opentelekomcloud:EvsVolumeV3\n    name: volume_1\n    properties:\n      name: volume_1\n      description: first test volume\n      availabilityZone: eu-de-02\n      volumeType: SATA\n      size: 12\n  pair1:\n    type: opentelekomcloud:SdrsReplicationPairV1\n    name: pair_1\n    properties:\n      name: replication_1\n      groupId: ${group1.sdrsProtectiongroupV1Id}\n      volumeId: ${volume1.evsVolumeV3Id}\n      deleteTargetVolume: true\n  attach1:\n    type: opentelekomcloud:SdrsReplicationAttachV1\n    name: attach_1\n    properties:\n      instanceId: ${instance1SdrsProtectedInstanceV1.sdrsProtectedInstanceV1Id}\n      replicationId: ${pair1.sdrsReplicationPairV1Id}\n      device: /dev/vdb\nvariables:\n  domain1:\n    fn::invoke:\n      function: opentelekomcloud:getSdrsDomainV1\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe SDRS replication attach can be imported using the `protected_instance_id` and `replication_id`, separated\n\nby a slash , e.g.\n\nbash\n\n```sh\n$ pulumi import opentelekomcloud:index/sdrsReplicationAttachV1:SdrsReplicationAttachV1 test \u003cprotected_instance_id\u003e/\u003creplication_id\u003e\n```\n\n","properties":{"device":{"type":"string","description":"Specifies the disk device name of a replication pair. There are several\nrestrictions on this field as follows：\n\n+ The new disk device name cannot be the same as an existing one.\n\n+ Set the parameter value to /dev/sda for the system disks of protected instances created using Xen servers and to\n/dev/sdx for data disks, where x is a letter in alphabetical order. For example, if there are two data disks, set the\ndevice names of the two data disks to /dev/sdb and /dev/sdc, respectively. If you set a device name starting with\n/dev/vd, the system uses /dev/sd by default.\n\n+ Set the parameter value to /dev/vda for the system disks of protected instances created using KVM servers and\nto /dev/vdx for data disks, where x is a letter in alphabetical order. For example, if there are two data disks,\nset the device names of the two data disks to /dev/vdb and /dev/vdc, respectively. If you set a device name starting\nwith /dev/sd, the system uses /dev/vd by default.\n"},"instanceId":{"type":"string","description":"Specifies the ID of a protected instance.\n"},"region":{"type":"string","description":"The attachment region.\n"},"replicationId":{"type":"string","description":"Specifies the ID of a replication pair.\n"},"sdrsReplicationAttachV1Id":{"type":"string","description":"The resource ID.\n"},"status":{"type":"string","description":"The status of the SDRS protected instance.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FSdrsReplicationAttachV1Timeouts:SdrsReplicationAttachV1Timeouts"}},"type":"object","required":["device","instanceId","region","replicationId","sdrsReplicationAttachV1Id","status"],"inputProperties":{"device":{"type":"string","description":"Specifies the disk device name of a replication pair. There are several\nrestrictions on this field as follows：\n\n+ The new disk device name cannot be the same as an existing one.\n\n+ Set the parameter value to /dev/sda for the system disks of protected instances created using Xen servers and to\n/dev/sdx for data disks, where x is a letter in alphabetical order. For example, if there are two data disks, set the\ndevice names of the two data disks to /dev/sdb and /dev/sdc, respectively. If you set a device name starting with\n/dev/vd, the system uses /dev/sd by default.\n\n+ Set the parameter value to /dev/vda for the system disks of protected instances created using KVM servers and\nto /dev/vdx for data disks, where x is a letter in alphabetical order. For example, if there are two data disks,\nset the device names of the two data disks to /dev/vdb and /dev/vdc, respectively. If you set a device name starting\nwith /dev/sd, the system uses /dev/vd by default.\n"},"instanceId":{"type":"string","description":"Specifies the ID of a protected instance.\n"},"replicationId":{"type":"string","description":"Specifies the ID of a replication pair.\n"},"sdrsReplicationAttachV1Id":{"type":"string","description":"The resource ID.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FSdrsReplicationAttachV1Timeouts:SdrsReplicationAttachV1Timeouts"}},"requiredInputs":["device","instanceId","replicationId"],"stateInputs":{"description":"Input properties used for looking up and filtering SdrsReplicationAttachV1 resources.\n","properties":{"device":{"type":"string","description":"Specifies the disk device name of a replication pair. There are several\nrestrictions on this field as follows：\n\n+ The new disk device name cannot be the same as an existing one.\n\n+ Set the parameter value to /dev/sda for the system disks of protected instances created using Xen servers and to\n/dev/sdx for data disks, where x is a letter in alphabetical order. For example, if there are two data disks, set the\ndevice names of the two data disks to /dev/sdb and /dev/sdc, respectively. If you set a device name starting with\n/dev/vd, the system uses /dev/sd by default.\n\n+ Set the parameter value to /dev/vda for the system disks of protected instances created using KVM servers and\nto /dev/vdx for data disks, where x is a letter in alphabetical order. For example, if there are two data disks,\nset the device names of the two data disks to /dev/vdb and /dev/vdc, respectively. If you set a device name starting\nwith /dev/sd, the system uses /dev/vd by default.\n"},"instanceId":{"type":"string","description":"Specifies the ID of a protected instance.\n"},"region":{"type":"string","description":"The attachment region.\n"},"replicationId":{"type":"string","description":"Specifies the ID of a replication pair.\n"},"sdrsReplicationAttachV1Id":{"type":"string","description":"The resource ID.\n"},"status":{"type":"string","description":"The status of the SDRS protected instance.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FSdrsReplicationAttachV1Timeouts:SdrsReplicationAttachV1Timeouts"}},"type":"object"}},"opentelekomcloud:index/sdrsReplicationPairV1:SdrsReplicationPairV1":{"description":"Up-to-date reference of API arguments for SDRS replication pair you can get at\n[documentation portal](https://docs.otc.t-systems.com/storage-disaster-recovery-service/api-ref/sdrs_apis/replication_pair/)\n\nManages a SDRS replication pair resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst dom1 = opentelekomcloud.getSdrsDomainV1({});\nconst volume1 = new opentelekomcloud.EvsVolumeV3(\"volume_1\", {\n    name: \"volume_1\",\n    description: \"first test volume\",\n    availabilityZone: \"eu-de-02\",\n    volumeType: \"SATA\",\n    size: 12,\n});\nconst group1 = new opentelekomcloud.SdrsProtectiongroupV1(\"group_1\", {\n    name: \"group_1\",\n    description: \"test description\",\n    sourceAvailabilityZone: \"eu-de-01\",\n    targetAvailabilityZone: \"eu-de-02\",\n    domainId: dom1.then(dom1 =\u003e dom1.id),\n    sourceVpcId: vpcId,\n    drType: \"migration\",\n});\nconst pair1 = new opentelekomcloud.SdrsReplicationPairV1(\"pair_1\", {\n    name: \"replication_1\",\n    groupId: group1.sdrsProtectiongroupV1Id,\n    volumeId: volume1.evsVolumeV3Id,\n    description: \"description\",\n    deleteTargetVolume: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ndom1 = opentelekomcloud.get_sdrs_domain_v1()\nvolume1 = opentelekomcloud.EvsVolumeV3(\"volume_1\",\n    name=\"volume_1\",\n    description=\"first test volume\",\n    availability_zone=\"eu-de-02\",\n    volume_type=\"SATA\",\n    size=12)\ngroup1 = opentelekomcloud.SdrsProtectiongroupV1(\"group_1\",\n    name=\"group_1\",\n    description=\"test description\",\n    source_availability_zone=\"eu-de-01\",\n    target_availability_zone=\"eu-de-02\",\n    domain_id=dom1.id,\n    source_vpc_id=vpc_id,\n    dr_type=\"migration\")\npair1 = opentelekomcloud.SdrsReplicationPairV1(\"pair_1\",\n    name=\"replication_1\",\n    group_id=group1.sdrs_protectiongroup_v1_id,\n    volume_id=volume1.evs_volume_v3_id,\n    description=\"description\",\n    delete_target_volume=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var dom1 = Opentelekomcloud.GetSdrsDomainV1.Invoke();\n\n    var volume1 = new Opentelekomcloud.EvsVolumeV3(\"volume_1\", new()\n    {\n        Name = \"volume_1\",\n        Description = \"first test volume\",\n        AvailabilityZone = \"eu-de-02\",\n        VolumeType = \"SATA\",\n        Size = 12,\n    });\n\n    var group1 = new Opentelekomcloud.SdrsProtectiongroupV1(\"group_1\", new()\n    {\n        Name = \"group_1\",\n        Description = \"test description\",\n        SourceAvailabilityZone = \"eu-de-01\",\n        TargetAvailabilityZone = \"eu-de-02\",\n        DomainId = dom1.Apply(getSdrsDomainV1Result =\u003e getSdrsDomainV1Result.Id),\n        SourceVpcId = vpcId,\n        DrType = \"migration\",\n    });\n\n    var pair1 = new Opentelekomcloud.SdrsReplicationPairV1(\"pair_1\", new()\n    {\n        Name = \"replication_1\",\n        GroupId = group1.SdrsProtectiongroupV1Id,\n        VolumeId = volume1.EvsVolumeV3Id,\n        Description = \"description\",\n        DeleteTargetVolume = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdom1, err := opentelekomcloud.GetSdrsDomainV1(ctx, \u0026opentelekomcloud.GetSdrsDomainV1Args{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvolume1, err := opentelekomcloud.NewEvsVolumeV3(ctx, \"volume_1\", \u0026opentelekomcloud.EvsVolumeV3Args{\n\t\t\tName:             pulumi.String(\"volume_1\"),\n\t\t\tDescription:      pulumi.String(\"first test volume\"),\n\t\t\tAvailabilityZone: pulumi.String(\"eu-de-02\"),\n\t\t\tVolumeType:       pulumi.String(\"SATA\"),\n\t\t\tSize:             pulumi.Float64(12),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tgroup1, err := opentelekomcloud.NewSdrsProtectiongroupV1(ctx, \"group_1\", \u0026opentelekomcloud.SdrsProtectiongroupV1Args{\n\t\t\tName:                   pulumi.String(\"group_1\"),\n\t\t\tDescription:            pulumi.String(\"test description\"),\n\t\t\tSourceAvailabilityZone: pulumi.String(\"eu-de-01\"),\n\t\t\tTargetAvailabilityZone: pulumi.String(\"eu-de-02\"),\n\t\t\tDomainId:               pulumi.String(dom1.Id),\n\t\t\tSourceVpcId:            pulumi.Any(vpcId),\n\t\t\tDrType:                 pulumi.String(\"migration\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewSdrsReplicationPairV1(ctx, \"pair_1\", \u0026opentelekomcloud.SdrsReplicationPairV1Args{\n\t\t\tName:               pulumi.String(\"replication_1\"),\n\t\t\tGroupId:            group1.SdrsProtectiongroupV1Id,\n\t\t\tVolumeId:           volume1.EvsVolumeV3Id,\n\t\t\tDescription:        pulumi.String(\"description\"),\n\t\t\tDeleteTargetVolume: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetSdrsDomainV1Args;\nimport com.pulumi.opentelekomcloud.EvsVolumeV3;\nimport com.pulumi.opentelekomcloud.EvsVolumeV3Args;\nimport com.pulumi.opentelekomcloud.SdrsProtectiongroupV1;\nimport com.pulumi.opentelekomcloud.SdrsProtectiongroupV1Args;\nimport com.pulumi.opentelekomcloud.SdrsReplicationPairV1;\nimport com.pulumi.opentelekomcloud.SdrsReplicationPairV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var dom1 = OpentelekomcloudFunctions.getSdrsDomainV1(GetSdrsDomainV1Args.builder()\n            .build());\n\n        var volume1 = new EvsVolumeV3(\"volume1\", EvsVolumeV3Args.builder()\n            .name(\"volume_1\")\n            .description(\"first test volume\")\n            .availabilityZone(\"eu-de-02\")\n            .volumeType(\"SATA\")\n            .size(12.0)\n            .build());\n\n        var group1 = new SdrsProtectiongroupV1(\"group1\", SdrsProtectiongroupV1Args.builder()\n            .name(\"group_1\")\n            .description(\"test description\")\n            .sourceAvailabilityZone(\"eu-de-01\")\n            .targetAvailabilityZone(\"eu-de-02\")\n            .domainId(dom1.id())\n            .sourceVpcId(vpcId)\n            .drType(\"migration\")\n            .build());\n\n        var pair1 = new SdrsReplicationPairV1(\"pair1\", SdrsReplicationPairV1Args.builder()\n            .name(\"replication_1\")\n            .groupId(group1.sdrsProtectiongroupV1Id())\n            .volumeId(volume1.evsVolumeV3Id())\n            .description(\"description\")\n            .deleteTargetVolume(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  volume1:\n    type: opentelekomcloud:EvsVolumeV3\n    name: volume_1\n    properties:\n      name: volume_1\n      description: first test volume\n      availabilityZone: eu-de-02\n      volumeType: SATA\n      size: 12\n  group1:\n    type: opentelekomcloud:SdrsProtectiongroupV1\n    name: group_1\n    properties:\n      name: group_1\n      description: test description\n      sourceAvailabilityZone: eu-de-01\n      targetAvailabilityZone: eu-de-02\n      domainId: ${dom1.id}\n      sourceVpcId: ${vpcId}\n      drType: migration\n  pair1:\n    type: opentelekomcloud:SdrsReplicationPairV1\n    name: pair_1\n    properties:\n      name: replication_1\n      groupId: ${group1.sdrsProtectiongroupV1Id}\n      volumeId: ${volume1.evsVolumeV3Id}\n      description: description\n      deleteTargetVolume: true\nvariables:\n  dom1:\n    fn::invoke:\n      function: opentelekomcloud:getSdrsDomainV1\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe SDRS replication pair can be imported using the `id`, e.g.\n\nbash\n\n```sh\n$ pulumi import opentelekomcloud:index/sdrsReplicationPairV1:SdrsReplicationPairV1 test \u003cid\u003e\n```\n\nNote that the imported state may not be identical to your resource definition, due to some attributes missing from the\n\nAPI response, security or some other reason. The missing attributes include: `delete_target_volume`.\n\nIt is generally recommended running `pulumi preview` after importing a resource.\n\nYou can then decide if changes should be applied to the resource, or the resource definition should be updated to align\n\nwith the resource. Also, you can ignore changes as below.\n\nresource \"opentelekomcloud_sdrs_replication_pair_v1\" \"test\" {\n\n  ...\n\n  lifecycle {\n\n    ignore_changes = [\n\n      delete_target_volume,\n\n    ]\n\n  }\n\n}\n\n","properties":{"deleteTargetVolume":{"type":"boolean","description":"Specifies whether to delete the disaster recovery site disk.\nThe default value is **false**.\n"},"description":{"type":"string","description":"Specifies the description of a replication pair. The value can contain\na maximum of 64 characters and angle brackets (\u003c) and (\u003e) are not allowed.\n"},"faultLevel":{"type":"string","description":"The fault level of a replication pair.\n+ 0: No fault occurs.\n+ 2: The disk of the current production site does not have read/write permissions. In this case, you are advised to\nperform a failover.\n+ 5: The replication link is disconnected. In this case, a failover is not allowed. Contact the customer service to\nobtain service support.\n"},"groupId":{"type":"string","description":"Specifies the ID of a protection group.\n"},"name":{"type":"string","description":"Specifies the name of a replication pair. The name can contain a maximum of 64 characters.\nThe value can contain only letters (a to z and A to Z), digits (0 to 9), dots (.), underscores (_), and hyphens (-).\n"},"region":{"type":"string","description":"The resource region.\n"},"replicationModel":{"type":"string","description":"The replication mode of a replication pair. The default value is **hypermetro**,\nindicating synchronous replication.\n"},"sdrsReplicationPairV1Id":{"type":"string","description":"The resource ID.\n"},"status":{"type":"string","description":"The status of a replication pair.\n"},"targetVolumeId":{"type":"string","description":"The ID of the disk in the protection availability zone.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FSdrsReplicationPairV1Timeouts:SdrsReplicationPairV1Timeouts"},"volumeId":{"type":"string","description":"Specifies the ID of the production site disk.\nWhen the provider is successfully invoked, the disaster recovery site disk will be automatically created.\n"}},"type":"object","required":["description","faultLevel","groupId","name","region","replicationModel","sdrsReplicationPairV1Id","status","targetVolumeId","volumeId"],"inputProperties":{"deleteTargetVolume":{"type":"boolean","description":"Specifies whether to delete the disaster recovery site disk.\nThe default value is **false**.\n"},"description":{"type":"string","description":"Specifies the description of a replication pair. The value can contain\na maximum of 64 characters and angle brackets (\u003c) and (\u003e) are not allowed.\n"},"groupId":{"type":"string","description":"Specifies the ID of a protection group.\n"},"name":{"type":"string","description":"Specifies the name of a replication pair. The name can contain a maximum of 64 characters.\nThe value can contain only letters (a to z and A to Z), digits (0 to 9), dots (.), underscores (_), and hyphens (-).\n"},"sdrsReplicationPairV1Id":{"type":"string","description":"The resource ID.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FSdrsReplicationPairV1Timeouts:SdrsReplicationPairV1Timeouts"},"volumeId":{"type":"string","description":"Specifies the ID of the production site disk.\nWhen the provider is successfully invoked, the disaster recovery site disk will be automatically created.\n"}},"requiredInputs":["groupId","volumeId"],"stateInputs":{"description":"Input properties used for looking up and filtering SdrsReplicationPairV1 resources.\n","properties":{"deleteTargetVolume":{"type":"boolean","description":"Specifies whether to delete the disaster recovery site disk.\nThe default value is **false**.\n"},"description":{"type":"string","description":"Specifies the description of a replication pair. The value can contain\na maximum of 64 characters and angle brackets (\u003c) and (\u003e) are not allowed.\n"},"faultLevel":{"type":"string","description":"The fault level of a replication pair.\n+ 0: No fault occurs.\n+ 2: The disk of the current production site does not have read/write permissions. In this case, you are advised to\nperform a failover.\n+ 5: The replication link is disconnected. In this case, a failover is not allowed. Contact the customer service to\nobtain service support.\n"},"groupId":{"type":"string","description":"Specifies the ID of a protection group.\n"},"name":{"type":"string","description":"Specifies the name of a replication pair. The name can contain a maximum of 64 characters.\nThe value can contain only letters (a to z and A to Z), digits (0 to 9), dots (.), underscores (_), and hyphens (-).\n"},"region":{"type":"string","description":"The resource region.\n"},"replicationModel":{"type":"string","description":"The replication mode of a replication pair. The default value is **hypermetro**,\nindicating synchronous replication.\n"},"sdrsReplicationPairV1Id":{"type":"string","description":"The resource ID.\n"},"status":{"type":"string","description":"The status of a replication pair.\n"},"targetVolumeId":{"type":"string","description":"The ID of the disk in the protection availability zone.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FSdrsReplicationPairV1Timeouts:SdrsReplicationPairV1Timeouts"},"volumeId":{"type":"string","description":"Specifies the ID of the production site disk.\nWhen the provider is successfully invoked, the disaster recovery site disk will be automatically created.\n"}},"type":"object"}},"opentelekomcloud:index/sfsFileSystemV2:SfsFileSystemV2":{"description":"Up-to-date reference of API arguments for SFS file system you can get at\n[documentation portal](https://docs.otc.t-systems.com/scalable-file-service/api-ref/sfs_capacity-oriented_apis/file_systems)\n\nProvides a Scalable File System resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst shareName = config.requireObject\u003cany\u003e(\"shareName\");\nconst shareDescription = config.requireObject\u003cany\u003e(\"shareDescription\");\nconst share_file = new opentelekomcloud.SfsFileSystemV2(\"share-file\", {\n    name: shareName,\n    size: 50,\n    description: shareDescription,\n    shareProto: \"NFS\",\n    tags: {\n        muh: \"kuh\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nshare_name = config.require_object(\"shareName\")\nshare_description = config.require_object(\"shareDescription\")\nshare_file = opentelekomcloud.SfsFileSystemV2(\"share-file\",\n    name=share_name,\n    size=50,\n    description=share_description,\n    share_proto=\"NFS\",\n    tags={\n        \"muh\": \"kuh\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var shareName = config.RequireObject\u003cdynamic\u003e(\"shareName\");\n    var shareDescription = config.RequireObject\u003cdynamic\u003e(\"shareDescription\");\n    var share_file = new Opentelekomcloud.SfsFileSystemV2(\"share-file\", new()\n    {\n        Name = shareName,\n        Size = 50,\n        Description = shareDescription,\n        ShareProto = \"NFS\",\n        Tags = \n        {\n            { \"muh\", \"kuh\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tshareName := cfg.RequireObject(\"shareName\")\n\t\tshareDescription := cfg.RequireObject(\"shareDescription\")\n\t\t_, err := opentelekomcloud.NewSfsFileSystemV2(ctx, \"share-file\", \u0026opentelekomcloud.SfsFileSystemV2Args{\n\t\t\tName:        pulumi.Any(shareName),\n\t\t\tSize:        pulumi.Float64(50),\n\t\t\tDescription: pulumi.Any(shareDescription),\n\t\t\tShareProto:  pulumi.String(\"NFS\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"muh\": pulumi.String(\"kuh\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.SfsFileSystemV2;\nimport com.pulumi.opentelekomcloud.SfsFileSystemV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var shareName = config.get(\"shareName\");\n        final var shareDescription = config.get(\"shareDescription\");\n        var share_file = new SfsFileSystemV2(\"share-file\", SfsFileSystemV2Args.builder()\n            .name(shareName)\n            .size(50.0)\n            .description(shareDescription)\n            .shareProto(\"NFS\")\n            .tags(Map.of(\"muh\", \"kuh\"))\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  shareName:\n    type: dynamic\n  shareDescription:\n    type: dynamic\nresources:\n  share-file:\n    type: opentelekomcloud:SfsFileSystemV2\n    properties:\n      name: ${shareName}\n      size: 50\n      description: ${shareDescription}\n      shareProto: NFS\n      tags:\n        muh: kuh\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSFS can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/sfsFileSystemV2:SfsFileSystemV2 opentelekomcloud_sfs_file_system_v2 4779ab1c-7c1a-44b1-a02e-93dfc361b32d\n```\n\n","properties":{"accessLevel":{"type":"string","description":"The access level of the shared file system. Changing this will create\na new access rule. Deprecated, please use the \u003cspan pulumi-lang-nodejs=\"`opentelekomcloudSfsShareAccessRuleV2`\" pulumi-lang-dotnet=\"`OpentelekomcloudSfsShareAccessRuleV2`\" pulumi-lang-go=\"`opentelekomcloudSfsShareAccessRuleV2`\" pulumi-lang-python=\"`opentelekomcloud_sfs_share_access_rule_v2`\" pulumi-lang-yaml=\"`opentelekomcloudSfsShareAccessRuleV2`\" pulumi-lang-java=\"`opentelekomcloudSfsShareAccessRuleV2`\"\u003e`opentelekomcloud_sfs_share_access_rule_v2`\u003c/span\u003e\nresource instead.\n","deprecationMessage":"Deprecated"},"accessRuleStatus":{"type":"string","description":"The status of the share access rule.\n"},"accessTo":{"type":"string","description":"The access that the back end grants or denies. Changing this will\ncreate new access rule. Deprecated, please use the \u003cspan pulumi-lang-nodejs=\"`opentelekomcloudSfsShareAccessRuleV2`\" pulumi-lang-dotnet=\"`OpentelekomcloudSfsShareAccessRuleV2`\" pulumi-lang-go=\"`opentelekomcloudSfsShareAccessRuleV2`\" pulumi-lang-python=\"`opentelekomcloud_sfs_share_access_rule_v2`\" pulumi-lang-yaml=\"`opentelekomcloudSfsShareAccessRuleV2`\" pulumi-lang-java=\"`opentelekomcloudSfsShareAccessRuleV2`\"\u003e`opentelekomcloud_sfs_share_access_rule_v2`\u003c/span\u003e\nresource instead.\n","deprecationMessage":"Deprecated"},"accessType":{"type":"string","description":"The type of the share access rule. Changing this will create a new\naccess rule. Deprecated, please use the \u003cspan pulumi-lang-nodejs=\"`opentelekomcloudSfsShareAccessRuleV2`\" pulumi-lang-dotnet=\"`OpentelekomcloudSfsShareAccessRuleV2`\" pulumi-lang-go=\"`opentelekomcloudSfsShareAccessRuleV2`\" pulumi-lang-python=\"`opentelekomcloud_sfs_share_access_rule_v2`\" pulumi-lang-yaml=\"`opentelekomcloudSfsShareAccessRuleV2`\" pulumi-lang-java=\"`opentelekomcloudSfsShareAccessRuleV2`\"\u003e`opentelekomcloud_sfs_share_access_rule_v2`\u003c/span\u003e resource instead.\n","deprecationMessage":"Deprecated"},"availabilityZone":{"type":"string","description":"The availability zone name. Changing this parameter will create\na new resource.\n"},"description":{"type":"string","description":"Describes the shared file system.\n"},"exportLocation":{"type":"string","description":"The address for accessing the shared file system.\n"},"host":{"type":"string","description":"The host name of the shared file system.\n"},"isPublic":{"type":"boolean","description":"The level of visibility for the shared file system.\n"},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"Metadata key/value pairs as a dictionary of strings. Changing this will\ncreate a new resource.\n"},"name":{"type":"string","description":"The name of the shared file system.\n"},"region":{"type":"string","description":"The region in which to obtain the V2 SFS client. If omitted, the\n\u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e argument of the provider is used. Changing this creates a new share.\n"},"sfsFileSystemV2Id":{"type":"string","description":"The UUID of the shared file system.\n"},"shareAccessId":{"type":"string","description":"The UUID of the share access rule.\n"},"shareProto":{"type":"string","description":"The protocol for sharing file systems. The default value is `NFS`.\n"},"shareType":{"type":"string","description":"The storage service type assigned for the shared file system, such as\nhigh-performance storage (composed of SSDs) and large-capacity storage (composed of SATA disks).\n"},"size":{"type":"number","description":"The size (GB) of the shared file system.\n"},"status":{"type":"string","description":"The status of the shared file system.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags key/value pairs to associate with the SFS File System.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FSfsFileSystemV2Timeouts:SfsFileSystemV2Timeouts"},"volumeType":{"type":"string","description":"The volume type.\n"}},"type":"object","required":["accessRuleStatus","availabilityZone","description","exportLocation","host","name","region","sfsFileSystemV2Id","shareAccessId","shareType","size","status","volumeType"],"inputProperties":{"accessLevel":{"type":"string","description":"The access level of the shared file system. Changing this will create\na new access rule. Deprecated, please use the \u003cspan pulumi-lang-nodejs=\"`opentelekomcloudSfsShareAccessRuleV2`\" pulumi-lang-dotnet=\"`OpentelekomcloudSfsShareAccessRuleV2`\" pulumi-lang-go=\"`opentelekomcloudSfsShareAccessRuleV2`\" pulumi-lang-python=\"`opentelekomcloud_sfs_share_access_rule_v2`\" pulumi-lang-yaml=\"`opentelekomcloudSfsShareAccessRuleV2`\" pulumi-lang-java=\"`opentelekomcloudSfsShareAccessRuleV2`\"\u003e`opentelekomcloud_sfs_share_access_rule_v2`\u003c/span\u003e\nresource instead.\n","deprecationMessage":"Deprecated"},"accessTo":{"type":"string","description":"The access that the back end grants or denies. Changing this will\ncreate new access rule. Deprecated, please use the \u003cspan pulumi-lang-nodejs=\"`opentelekomcloudSfsShareAccessRuleV2`\" pulumi-lang-dotnet=\"`OpentelekomcloudSfsShareAccessRuleV2`\" pulumi-lang-go=\"`opentelekomcloudSfsShareAccessRuleV2`\" pulumi-lang-python=\"`opentelekomcloud_sfs_share_access_rule_v2`\" pulumi-lang-yaml=\"`opentelekomcloudSfsShareAccessRuleV2`\" pulumi-lang-java=\"`opentelekomcloudSfsShareAccessRuleV2`\"\u003e`opentelekomcloud_sfs_share_access_rule_v2`\u003c/span\u003e\nresource instead.\n","deprecationMessage":"Deprecated"},"accessType":{"type":"string","description":"The type of the share access rule. Changing this will create a new\naccess rule. Deprecated, please use the \u003cspan pulumi-lang-nodejs=\"`opentelekomcloudSfsShareAccessRuleV2`\" pulumi-lang-dotnet=\"`OpentelekomcloudSfsShareAccessRuleV2`\" pulumi-lang-go=\"`opentelekomcloudSfsShareAccessRuleV2`\" pulumi-lang-python=\"`opentelekomcloud_sfs_share_access_rule_v2`\" pulumi-lang-yaml=\"`opentelekomcloudSfsShareAccessRuleV2`\" pulumi-lang-java=\"`opentelekomcloudSfsShareAccessRuleV2`\"\u003e`opentelekomcloud_sfs_share_access_rule_v2`\u003c/span\u003e resource instead.\n","deprecationMessage":"Deprecated"},"availabilityZone":{"type":"string","description":"The availability zone name. Changing this parameter will create\na new resource.\n"},"description":{"type":"string","description":"Describes the shared file system.\n"},"isPublic":{"type":"boolean","description":"The level of visibility for the shared file system.\n"},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"Metadata key/value pairs as a dictionary of strings. Changing this will\ncreate a new resource.\n"},"name":{"type":"string","description":"The name of the shared file system.\n"},"region":{"type":"string","description":"The region in which to obtain the V2 SFS client. If omitted, the\n\u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e argument of the provider is used. Changing this creates a new share.\n"},"sfsFileSystemV2Id":{"type":"string","description":"The UUID of the shared file system.\n"},"shareProto":{"type":"string","description":"The protocol for sharing file systems. The default value is `NFS`.\n"},"size":{"type":"number","description":"The size (GB) of the shared file system.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags key/value pairs to associate with the SFS File System.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FSfsFileSystemV2Timeouts:SfsFileSystemV2Timeouts"}},"requiredInputs":["size"],"stateInputs":{"description":"Input properties used for looking up and filtering SfsFileSystemV2 resources.\n","properties":{"accessLevel":{"type":"string","description":"The access level of the shared file system. Changing this will create\na new access rule. Deprecated, please use the \u003cspan pulumi-lang-nodejs=\"`opentelekomcloudSfsShareAccessRuleV2`\" pulumi-lang-dotnet=\"`OpentelekomcloudSfsShareAccessRuleV2`\" pulumi-lang-go=\"`opentelekomcloudSfsShareAccessRuleV2`\" pulumi-lang-python=\"`opentelekomcloud_sfs_share_access_rule_v2`\" pulumi-lang-yaml=\"`opentelekomcloudSfsShareAccessRuleV2`\" pulumi-lang-java=\"`opentelekomcloudSfsShareAccessRuleV2`\"\u003e`opentelekomcloud_sfs_share_access_rule_v2`\u003c/span\u003e\nresource instead.\n","deprecationMessage":"Deprecated"},"accessRuleStatus":{"type":"string","description":"The status of the share access rule.\n"},"accessTo":{"type":"string","description":"The access that the back end grants or denies. Changing this will\ncreate new access rule. Deprecated, please use the \u003cspan pulumi-lang-nodejs=\"`opentelekomcloudSfsShareAccessRuleV2`\" pulumi-lang-dotnet=\"`OpentelekomcloudSfsShareAccessRuleV2`\" pulumi-lang-go=\"`opentelekomcloudSfsShareAccessRuleV2`\" pulumi-lang-python=\"`opentelekomcloud_sfs_share_access_rule_v2`\" pulumi-lang-yaml=\"`opentelekomcloudSfsShareAccessRuleV2`\" pulumi-lang-java=\"`opentelekomcloudSfsShareAccessRuleV2`\"\u003e`opentelekomcloud_sfs_share_access_rule_v2`\u003c/span\u003e\nresource instead.\n","deprecationMessage":"Deprecated"},"accessType":{"type":"string","description":"The type of the share access rule. Changing this will create a new\naccess rule. Deprecated, please use the \u003cspan pulumi-lang-nodejs=\"`opentelekomcloudSfsShareAccessRuleV2`\" pulumi-lang-dotnet=\"`OpentelekomcloudSfsShareAccessRuleV2`\" pulumi-lang-go=\"`opentelekomcloudSfsShareAccessRuleV2`\" pulumi-lang-python=\"`opentelekomcloud_sfs_share_access_rule_v2`\" pulumi-lang-yaml=\"`opentelekomcloudSfsShareAccessRuleV2`\" pulumi-lang-java=\"`opentelekomcloudSfsShareAccessRuleV2`\"\u003e`opentelekomcloud_sfs_share_access_rule_v2`\u003c/span\u003e resource instead.\n","deprecationMessage":"Deprecated"},"availabilityZone":{"type":"string","description":"The availability zone name. Changing this parameter will create\na new resource.\n"},"description":{"type":"string","description":"Describes the shared file system.\n"},"exportLocation":{"type":"string","description":"The address for accessing the shared file system.\n"},"host":{"type":"string","description":"The host name of the shared file system.\n"},"isPublic":{"type":"boolean","description":"The level of visibility for the shared file system.\n"},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"Metadata key/value pairs as a dictionary of strings. Changing this will\ncreate a new resource.\n"},"name":{"type":"string","description":"The name of the shared file system.\n"},"region":{"type":"string","description":"The region in which to obtain the V2 SFS client. If omitted, the\n\u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e argument of the provider is used. Changing this creates a new share.\n"},"sfsFileSystemV2Id":{"type":"string","description":"The UUID of the shared file system.\n"},"shareAccessId":{"type":"string","description":"The UUID of the share access rule.\n"},"shareProto":{"type":"string","description":"The protocol for sharing file systems. The default value is `NFS`.\n"},"shareType":{"type":"string","description":"The storage service type assigned for the shared file system, such as\nhigh-performance storage (composed of SSDs) and large-capacity storage (composed of SATA disks).\n"},"size":{"type":"number","description":"The size (GB) of the shared file system.\n"},"status":{"type":"string","description":"The status of the shared file system.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags key/value pairs to associate with the SFS File System.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FSfsFileSystemV2Timeouts:SfsFileSystemV2Timeouts"},"volumeType":{"type":"string","description":"The volume type.\n"}},"type":"object"}},"opentelekomcloud:index/sfsShareAccessRulesV2:SfsShareAccessRulesV2":{"description":"Up-to-date reference of API arguments for SFS access rules you can get at\n[documentation portal](https://docs.otc.t-systems.com/scalable-file-service/api-ref/sfs_capacity-oriented_apis/file_system_access_rules)\n\nProvides a possibility to manage access rules of Scalable File System resource.\n\n## Example Usage\n\n### VPC-based Access\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst shareName = config.requireObject\u003cany\u003e(\"shareName\");\nconst shareDescription = config.requireObject\u003cany\u003e(\"shareDescription\");\nconst vpc1 = new opentelekomcloud.VpcV1(\"vpc_1\", {\n    name: \"sfs_share_vpc_1\",\n    cidr: \"192.168.0.0/16\",\n});\nconst vpc2 = new opentelekomcloud.VpcV1(\"vpc_2\", {\n    name: \"sfs_share_vpc_2\",\n    cidr: \"192.168.0.0/16\",\n});\nconst sfs1 = new opentelekomcloud.SfsFileSystemV2(\"sfs_1\", {\n    name: shareName,\n    size: 50,\n    description: shareDescription,\n    shareProto: \"NFS\",\n});\nconst sfsRules = new opentelekomcloud.SfsShareAccessRulesV2(\"sfs_rules\", {\n    shareId: sfs1.sfsFileSystemV2Id,\n    accessRules: [\n        {\n            accessTo: vpc1.vpcV1Id,\n            accessType: \"cert\",\n            accessLevel: \"rw\",\n        },\n        {\n            accessTo: vpc2.vpcV1Id,\n            accessType: \"cert\",\n            accessLevel: \"rw\",\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nshare_name = config.require_object(\"shareName\")\nshare_description = config.require_object(\"shareDescription\")\nvpc1 = opentelekomcloud.VpcV1(\"vpc_1\",\n    name=\"sfs_share_vpc_1\",\n    cidr=\"192.168.0.0/16\")\nvpc2 = opentelekomcloud.VpcV1(\"vpc_2\",\n    name=\"sfs_share_vpc_2\",\n    cidr=\"192.168.0.0/16\")\nsfs1 = opentelekomcloud.SfsFileSystemV2(\"sfs_1\",\n    name=share_name,\n    size=50,\n    description=share_description,\n    share_proto=\"NFS\")\nsfs_rules = opentelekomcloud.SfsShareAccessRulesV2(\"sfs_rules\",\n    share_id=sfs1.sfs_file_system_v2_id,\n    access_rules=[\n        {\n            \"access_to\": vpc1.vpc_v1_id,\n            \"access_type\": \"cert\",\n            \"access_level\": \"rw\",\n        },\n        {\n            \"access_to\": vpc2.vpc_v1_id,\n            \"access_type\": \"cert\",\n            \"access_level\": \"rw\",\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var shareName = config.RequireObject\u003cdynamic\u003e(\"shareName\");\n    var shareDescription = config.RequireObject\u003cdynamic\u003e(\"shareDescription\");\n    var vpc1 = new Opentelekomcloud.VpcV1(\"vpc_1\", new()\n    {\n        Name = \"sfs_share_vpc_1\",\n        Cidr = \"192.168.0.0/16\",\n    });\n\n    var vpc2 = new Opentelekomcloud.VpcV1(\"vpc_2\", new()\n    {\n        Name = \"sfs_share_vpc_2\",\n        Cidr = \"192.168.0.0/16\",\n    });\n\n    var sfs1 = new Opentelekomcloud.SfsFileSystemV2(\"sfs_1\", new()\n    {\n        Name = shareName,\n        Size = 50,\n        Description = shareDescription,\n        ShareProto = \"NFS\",\n    });\n\n    var sfsRules = new Opentelekomcloud.SfsShareAccessRulesV2(\"sfs_rules\", new()\n    {\n        ShareId = sfs1.SfsFileSystemV2Id,\n        AccessRules = new[]\n        {\n            new Opentelekomcloud.Inputs.SfsShareAccessRulesV2AccessRuleArgs\n            {\n                AccessTo = vpc1.VpcV1Id,\n                AccessType = \"cert\",\n                AccessLevel = \"rw\",\n            },\n            new Opentelekomcloud.Inputs.SfsShareAccessRulesV2AccessRuleArgs\n            {\n                AccessTo = vpc2.VpcV1Id,\n                AccessType = \"cert\",\n                AccessLevel = \"rw\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tshareName := cfg.RequireObject(\"shareName\")\n\t\tshareDescription := cfg.RequireObject(\"shareDescription\")\n\t\tvpc1, err := opentelekomcloud.NewVpcV1(ctx, \"vpc_1\", \u0026opentelekomcloud.VpcV1Args{\n\t\t\tName: pulumi.String(\"sfs_share_vpc_1\"),\n\t\t\tCidr: pulumi.String(\"192.168.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvpc2, err := opentelekomcloud.NewVpcV1(ctx, \"vpc_2\", \u0026opentelekomcloud.VpcV1Args{\n\t\t\tName: pulumi.String(\"sfs_share_vpc_2\"),\n\t\t\tCidr: pulumi.String(\"192.168.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsfs1, err := opentelekomcloud.NewSfsFileSystemV2(ctx, \"sfs_1\", \u0026opentelekomcloud.SfsFileSystemV2Args{\n\t\t\tName:        pulumi.Any(shareName),\n\t\t\tSize:        pulumi.Float64(50),\n\t\t\tDescription: pulumi.Any(shareDescription),\n\t\t\tShareProto:  pulumi.String(\"NFS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewSfsShareAccessRulesV2(ctx, \"sfs_rules\", \u0026opentelekomcloud.SfsShareAccessRulesV2Args{\n\t\t\tShareId: sfs1.SfsFileSystemV2Id,\n\t\t\tAccessRules: opentelekomcloud.SfsShareAccessRulesV2AccessRuleArray{\n\t\t\t\t\u0026opentelekomcloud.SfsShareAccessRulesV2AccessRuleArgs{\n\t\t\t\t\tAccessTo:    vpc1.VpcV1Id,\n\t\t\t\t\tAccessType:  pulumi.String(\"cert\"),\n\t\t\t\t\tAccessLevel: pulumi.String(\"rw\"),\n\t\t\t\t},\n\t\t\t\t\u0026opentelekomcloud.SfsShareAccessRulesV2AccessRuleArgs{\n\t\t\t\t\tAccessTo:    vpc2.VpcV1Id,\n\t\t\t\t\tAccessType:  pulumi.String(\"cert\"),\n\t\t\t\t\tAccessLevel: pulumi.String(\"rw\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.VpcV1;\nimport com.pulumi.opentelekomcloud.VpcV1Args;\nimport com.pulumi.opentelekomcloud.SfsFileSystemV2;\nimport com.pulumi.opentelekomcloud.SfsFileSystemV2Args;\nimport com.pulumi.opentelekomcloud.SfsShareAccessRulesV2;\nimport com.pulumi.opentelekomcloud.SfsShareAccessRulesV2Args;\nimport com.pulumi.opentelekomcloud.inputs.SfsShareAccessRulesV2AccessRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var shareName = config.get(\"shareName\");\n        final var shareDescription = config.get(\"shareDescription\");\n        var vpc1 = new VpcV1(\"vpc1\", VpcV1Args.builder()\n            .name(\"sfs_share_vpc_1\")\n            .cidr(\"192.168.0.0/16\")\n            .build());\n\n        var vpc2 = new VpcV1(\"vpc2\", VpcV1Args.builder()\n            .name(\"sfs_share_vpc_2\")\n            .cidr(\"192.168.0.0/16\")\n            .build());\n\n        var sfs1 = new SfsFileSystemV2(\"sfs1\", SfsFileSystemV2Args.builder()\n            .name(shareName)\n            .size(50.0)\n            .description(shareDescription)\n            .shareProto(\"NFS\")\n            .build());\n\n        var sfsRules = new SfsShareAccessRulesV2(\"sfsRules\", SfsShareAccessRulesV2Args.builder()\n            .shareId(sfs1.sfsFileSystemV2Id())\n            .accessRules(            \n                SfsShareAccessRulesV2AccessRuleArgs.builder()\n                    .accessTo(vpc1.vpcV1Id())\n                    .accessType(\"cert\")\n                    .accessLevel(\"rw\")\n                    .build(),\n                SfsShareAccessRulesV2AccessRuleArgs.builder()\n                    .accessTo(vpc2.vpcV1Id())\n                    .accessType(\"cert\")\n                    .accessLevel(\"rw\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  shareName:\n    type: dynamic\n  shareDescription:\n    type: dynamic\nresources:\n  vpc1:\n    type: opentelekomcloud:VpcV1\n    name: vpc_1\n    properties:\n      name: sfs_share_vpc_1\n      cidr: 192.168.0.0/16\n  vpc2:\n    type: opentelekomcloud:VpcV1\n    name: vpc_2\n    properties:\n      name: sfs_share_vpc_2\n      cidr: 192.168.0.0/16\n  sfs1:\n    type: opentelekomcloud:SfsFileSystemV2\n    name: sfs_1\n    properties:\n      name: ${shareName}\n      size: 50\n      description: ${shareDescription}\n      shareProto: NFS\n  sfsRules:\n    type: opentelekomcloud:SfsShareAccessRulesV2\n    name: sfs_rules\n    properties:\n      shareId: ${sfs1.sfsFileSystemV2Id}\n      accessRules:\n        - accessTo: ${vpc1.vpcV1Id}\n          accessType: cert\n          accessLevel: rw\n        - accessTo: ${vpc2.vpcV1Id}\n          accessType: cert\n          accessLevel: rw\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### IP-based Access within VPC\n\nTo grant access to specific IP addresses or CIDR ranges within a VPC, use the extended format for \u003cspan pulumi-lang-nodejs=\"`accessTo`\" pulumi-lang-dotnet=\"`AccessTo`\" pulumi-lang-go=\"`accessTo`\" pulumi-lang-python=\"`access_to`\" pulumi-lang-yaml=\"`accessTo`\" pulumi-lang-java=\"`accessTo`\"\u003e`access_to`\u003c/span\u003e:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst vpc1 = new opentelekomcloud.VpcV1(\"vpc_1\", {\n    name: \"sfs_share_vpc\",\n    cidr: \"192.168.0.0/16\",\n});\nconst sfs1 = new opentelekomcloud.SfsFileSystemV2(\"sfs_1\", {\n    name: \"sfs-with-ip-access\",\n    size: 50,\n    shareProto: \"NFS\",\n});\nconst sfsRules = new opentelekomcloud.SfsShareAccessRulesV2(\"sfs_rules\", {\n    shareId: sfs1.sfsFileSystemV2Id,\n    accessRules: [{\n        accessTo: pulumi.interpolate`${vpc1.vpcV1Id}#192.168.1.0/24#100#all_squash,root_squash`,\n        accessType: \"cert\",\n        accessLevel: \"rw\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nvpc1 = opentelekomcloud.VpcV1(\"vpc_1\",\n    name=\"sfs_share_vpc\",\n    cidr=\"192.168.0.0/16\")\nsfs1 = opentelekomcloud.SfsFileSystemV2(\"sfs_1\",\n    name=\"sfs-with-ip-access\",\n    size=50,\n    share_proto=\"NFS\")\nsfs_rules = opentelekomcloud.SfsShareAccessRulesV2(\"sfs_rules\",\n    share_id=sfs1.sfs_file_system_v2_id,\n    access_rules=[{\n        \"access_to\": vpc1.vpc_v1_id.apply(lambda vpc_v1_id: f\"{vpc_v1_id}#192.168.1.0/24#100#all_squash,root_squash\"),\n        \"access_type\": \"cert\",\n        \"access_level\": \"rw\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var vpc1 = new Opentelekomcloud.VpcV1(\"vpc_1\", new()\n    {\n        Name = \"sfs_share_vpc\",\n        Cidr = \"192.168.0.0/16\",\n    });\n\n    var sfs1 = new Opentelekomcloud.SfsFileSystemV2(\"sfs_1\", new()\n    {\n        Name = \"sfs-with-ip-access\",\n        Size = 50,\n        ShareProto = \"NFS\",\n    });\n\n    var sfsRules = new Opentelekomcloud.SfsShareAccessRulesV2(\"sfs_rules\", new()\n    {\n        ShareId = sfs1.SfsFileSystemV2Id,\n        AccessRules = new[]\n        {\n            new Opentelekomcloud.Inputs.SfsShareAccessRulesV2AccessRuleArgs\n            {\n                AccessTo = vpc1.VpcV1Id.Apply(vpcV1Id =\u003e $\"{vpcV1Id}#192.168.1.0/24#100#all_squash,root_squash\"),\n                AccessType = \"cert\",\n                AccessLevel = \"rw\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tvpc1, err := opentelekomcloud.NewVpcV1(ctx, \"vpc_1\", \u0026opentelekomcloud.VpcV1Args{\n\t\t\tName: pulumi.String(\"sfs_share_vpc\"),\n\t\t\tCidr: pulumi.String(\"192.168.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsfs1, err := opentelekomcloud.NewSfsFileSystemV2(ctx, \"sfs_1\", \u0026opentelekomcloud.SfsFileSystemV2Args{\n\t\t\tName:       pulumi.String(\"sfs-with-ip-access\"),\n\t\t\tSize:       pulumi.Float64(50),\n\t\t\tShareProto: pulumi.String(\"NFS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewSfsShareAccessRulesV2(ctx, \"sfs_rules\", \u0026opentelekomcloud.SfsShareAccessRulesV2Args{\n\t\t\tShareId: sfs1.SfsFileSystemV2Id,\n\t\t\tAccessRules: opentelekomcloud.SfsShareAccessRulesV2AccessRuleArray{\n\t\t\t\t\u0026opentelekomcloud.SfsShareAccessRulesV2AccessRuleArgs{\n\t\t\t\t\tAccessTo: vpc1.VpcV1Id.ApplyT(func(vpcV1Id string) (string, error) {\n\t\t\t\t\t\treturn fmt.Sprintf(\"%v#192.168.1.0/24#100#all_squash,root_squash\", vpcV1Id), nil\n\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\tAccessType:  pulumi.String(\"cert\"),\n\t\t\t\t\tAccessLevel: pulumi.String(\"rw\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.VpcV1;\nimport com.pulumi.opentelekomcloud.VpcV1Args;\nimport com.pulumi.opentelekomcloud.SfsFileSystemV2;\nimport com.pulumi.opentelekomcloud.SfsFileSystemV2Args;\nimport com.pulumi.opentelekomcloud.SfsShareAccessRulesV2;\nimport com.pulumi.opentelekomcloud.SfsShareAccessRulesV2Args;\nimport com.pulumi.opentelekomcloud.inputs.SfsShareAccessRulesV2AccessRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var vpc1 = new VpcV1(\"vpc1\", VpcV1Args.builder()\n            .name(\"sfs_share_vpc\")\n            .cidr(\"192.168.0.0/16\")\n            .build());\n\n        var sfs1 = new SfsFileSystemV2(\"sfs1\", SfsFileSystemV2Args.builder()\n            .name(\"sfs-with-ip-access\")\n            .size(50.0)\n            .shareProto(\"NFS\")\n            .build());\n\n        var sfsRules = new SfsShareAccessRulesV2(\"sfsRules\", SfsShareAccessRulesV2Args.builder()\n            .shareId(sfs1.sfsFileSystemV2Id())\n            .accessRules(SfsShareAccessRulesV2AccessRuleArgs.builder()\n                .accessTo(vpc1.vpcV1Id().applyValue(_vpcV1Id -\u003e String.format(\"%s#192.168.1.0/24#100#all_squash,root_squash\", _vpcV1Id)))\n                .accessType(\"cert\")\n                .accessLevel(\"rw\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  vpc1:\n    type: opentelekomcloud:VpcV1\n    name: vpc_1\n    properties:\n      name: sfs_share_vpc\n      cidr: 192.168.0.0/16\n  sfs1:\n    type: opentelekomcloud:SfsFileSystemV2\n    name: sfs_1\n    properties:\n      name: sfs-with-ip-access\n      size: 50\n      shareProto: NFS\n  sfsRules:\n    type: opentelekomcloud:SfsShareAccessRulesV2\n    name: sfs_rules\n    properties:\n      shareId: ${sfs1.sfsFileSystemV2Id}\n      accessRules:\n        - accessTo: ${vpc1.vpcV1Id}#192.168.1.0/24#100#all_squash,root_squash\n          accessType: cert\n          accessLevel: rw\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSFS access rules can be imported using the `id` of the file share, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/sfsShareAccessRulesV2:SfsShareAccessRulesV2 opentelekomcloud_sfs_share_access_rules_v2 4779ab1c-7c1a-44b1-a02e-93dfc361b32d\n```\n\n","properties":{"accessRules":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FSfsShareAccessRulesV2AccessRule:SfsShareAccessRulesV2AccessRule"},"description":"Specifies the access rules of SFS file share. Structure is documented below.\n"},"sfsShareAccessRulesV2Id":{"type":"string"},"shareId":{"type":"string","description":"The UUID of the shared file system.\n"}},"type":"object","required":["accessRules","sfsShareAccessRulesV2Id","shareId"],"inputProperties":{"accessRules":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FSfsShareAccessRulesV2AccessRule:SfsShareAccessRulesV2AccessRule"},"description":"Specifies the access rules of SFS file share. Structure is documented below.\n"},"sfsShareAccessRulesV2Id":{"type":"string"},"shareId":{"type":"string","description":"The UUID of the shared file system.\n"}},"requiredInputs":["accessRules","shareId"],"stateInputs":{"description":"Input properties used for looking up and filtering SfsShareAccessRulesV2 resources.\n","properties":{"accessRules":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FSfsShareAccessRulesV2AccessRule:SfsShareAccessRulesV2AccessRule"},"description":"Specifies the access rules of SFS file share. Structure is documented below.\n"},"sfsShareAccessRulesV2Id":{"type":"string"},"shareId":{"type":"string","description":"The UUID of the shared file system.\n"}},"type":"object"}},"opentelekomcloud:index/sfsTurboShareV1:SfsTurboShareV1":{"description":"Up-to-date reference of API arguments for SFS turbo share you can get at\n[documentation portal](https://docs.otc.t-systems.com/scalable-file-service/api-ref/sfs_turbo_apis/lifecycle_management)\n\nProvides a Shared File System (SFS) Turbo resource.\n\n## Example Usage\n\n### Basic SFS Turbo share\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst vpcId = config.requireObject\u003cany\u003e(\"vpcId\");\nconst subnetId = config.requireObject\u003cany\u003e(\"subnetId\");\nconst sgId = config.requireObject\u003cany\u003e(\"sgId\");\nconst az = config.requireObject\u003cany\u003e(\"az\");\nconst sfs_turbo = new opentelekomcloud.SfsTurboShareV1(\"sfs-turbo\", {\n    name: \"sfs-turbo\",\n    size: 500,\n    shareProto: \"NFS\",\n    vpcId: vpcId,\n    subnetId: subnetId,\n    securityGroupId: sgId,\n    availabilityZone: az,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nvpc_id = config.require_object(\"vpcId\")\nsubnet_id = config.require_object(\"subnetId\")\nsg_id = config.require_object(\"sgId\")\naz = config.require_object(\"az\")\nsfs_turbo = opentelekomcloud.SfsTurboShareV1(\"sfs-turbo\",\n    name=\"sfs-turbo\",\n    size=500,\n    share_proto=\"NFS\",\n    vpc_id=vpc_id,\n    subnet_id=subnet_id,\n    security_group_id=sg_id,\n    availability_zone=az)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var vpcId = config.RequireObject\u003cdynamic\u003e(\"vpcId\");\n    var subnetId = config.RequireObject\u003cdynamic\u003e(\"subnetId\");\n    var sgId = config.RequireObject\u003cdynamic\u003e(\"sgId\");\n    var az = config.RequireObject\u003cdynamic\u003e(\"az\");\n    var sfs_turbo = new Opentelekomcloud.SfsTurboShareV1(\"sfs-turbo\", new()\n    {\n        Name = \"sfs-turbo\",\n        Size = 500,\n        ShareProto = \"NFS\",\n        VpcId = vpcId,\n        SubnetId = subnetId,\n        SecurityGroupId = sgId,\n        AvailabilityZone = az,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tvpcId := cfg.RequireObject(\"vpcId\")\n\t\tsubnetId := cfg.RequireObject(\"subnetId\")\n\t\tsgId := cfg.RequireObject(\"sgId\")\n\t\taz := cfg.RequireObject(\"az\")\n\t\t_, err := opentelekomcloud.NewSfsTurboShareV1(ctx, \"sfs-turbo\", \u0026opentelekomcloud.SfsTurboShareV1Args{\n\t\t\tName:             pulumi.String(\"sfs-turbo\"),\n\t\t\tSize:             pulumi.Float64(500),\n\t\t\tShareProto:       pulumi.String(\"NFS\"),\n\t\t\tVpcId:            pulumi.Any(vpcId),\n\t\t\tSubnetId:         pulumi.Any(subnetId),\n\t\t\tSecurityGroupId:  pulumi.Any(sgId),\n\t\t\tAvailabilityZone: pulumi.Any(az),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.SfsTurboShareV1;\nimport com.pulumi.opentelekomcloud.SfsTurboShareV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var vpcId = config.get(\"vpcId\");\n        final var subnetId = config.get(\"subnetId\");\n        final var sgId = config.get(\"sgId\");\n        final var az = config.get(\"az\");\n        var sfs_turbo = new SfsTurboShareV1(\"sfs-turbo\", SfsTurboShareV1Args.builder()\n            .name(\"sfs-turbo\")\n            .size(500.0)\n            .shareProto(\"NFS\")\n            .vpcId(vpcId)\n            .subnetId(subnetId)\n            .securityGroupId(sgId)\n            .availabilityZone(az)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  vpcId:\n    type: dynamic\n  subnetId:\n    type: dynamic\n  sgId:\n    type: dynamic\n  az:\n    type: dynamic\nresources:\n  sfs-turbo:\n    type: opentelekomcloud:SfsTurboShareV1\n    properties:\n      name: sfs-turbo\n      size: 500\n      shareProto: NFS\n      vpcId: ${vpcId}\n      subnetId: ${subnetId}\n      securityGroupId: ${sgId}\n      availabilityZone: ${az}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Enhanced SFS Turbo Performance share\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst vpcId = config.requireObject\u003cany\u003e(\"vpcId\");\nconst subnetId = config.requireObject\u003cany\u003e(\"subnetId\");\nconst sgId = config.requireObject\u003cany\u003e(\"sgId\");\nconst az = config.requireObject\u003cany\u003e(\"az\");\nconst sfs_turbo = new opentelekomcloud.SfsTurboShareV1(\"sfs-turbo\", {\n    name: \"sfs-turbo\",\n    size: 500,\n    shareProto: \"NFS\",\n    shareType: \"PERFORMANCE\",\n    expandType: \"bandwidth\",\n    vpcId: vpcId,\n    subnetId: subnetId,\n    securityGroupId: sgId,\n    availabilityZone: az,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nvpc_id = config.require_object(\"vpcId\")\nsubnet_id = config.require_object(\"subnetId\")\nsg_id = config.require_object(\"sgId\")\naz = config.require_object(\"az\")\nsfs_turbo = opentelekomcloud.SfsTurboShareV1(\"sfs-turbo\",\n    name=\"sfs-turbo\",\n    size=500,\n    share_proto=\"NFS\",\n    share_type=\"PERFORMANCE\",\n    expand_type=\"bandwidth\",\n    vpc_id=vpc_id,\n    subnet_id=subnet_id,\n    security_group_id=sg_id,\n    availability_zone=az)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var vpcId = config.RequireObject\u003cdynamic\u003e(\"vpcId\");\n    var subnetId = config.RequireObject\u003cdynamic\u003e(\"subnetId\");\n    var sgId = config.RequireObject\u003cdynamic\u003e(\"sgId\");\n    var az = config.RequireObject\u003cdynamic\u003e(\"az\");\n    var sfs_turbo = new Opentelekomcloud.SfsTurboShareV1(\"sfs-turbo\", new()\n    {\n        Name = \"sfs-turbo\",\n        Size = 500,\n        ShareProto = \"NFS\",\n        ShareType = \"PERFORMANCE\",\n        ExpandType = \"bandwidth\",\n        VpcId = vpcId,\n        SubnetId = subnetId,\n        SecurityGroupId = sgId,\n        AvailabilityZone = az,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tvpcId := cfg.RequireObject(\"vpcId\")\n\t\tsubnetId := cfg.RequireObject(\"subnetId\")\n\t\tsgId := cfg.RequireObject(\"sgId\")\n\t\taz := cfg.RequireObject(\"az\")\n\t\t_, err := opentelekomcloud.NewSfsTurboShareV1(ctx, \"sfs-turbo\", \u0026opentelekomcloud.SfsTurboShareV1Args{\n\t\t\tName:             pulumi.String(\"sfs-turbo\"),\n\t\t\tSize:             pulumi.Float64(500),\n\t\t\tShareProto:       pulumi.String(\"NFS\"),\n\t\t\tShareType:        pulumi.String(\"PERFORMANCE\"),\n\t\t\tExpandType:       pulumi.String(\"bandwidth\"),\n\t\t\tVpcId:            pulumi.Any(vpcId),\n\t\t\tSubnetId:         pulumi.Any(subnetId),\n\t\t\tSecurityGroupId:  pulumi.Any(sgId),\n\t\t\tAvailabilityZone: pulumi.Any(az),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.SfsTurboShareV1;\nimport com.pulumi.opentelekomcloud.SfsTurboShareV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var vpcId = config.get(\"vpcId\");\n        final var subnetId = config.get(\"subnetId\");\n        final var sgId = config.get(\"sgId\");\n        final var az = config.get(\"az\");\n        var sfs_turbo = new SfsTurboShareV1(\"sfs-turbo\", SfsTurboShareV1Args.builder()\n            .name(\"sfs-turbo\")\n            .size(500.0)\n            .shareProto(\"NFS\")\n            .shareType(\"PERFORMANCE\")\n            .expandType(\"bandwidth\")\n            .vpcId(vpcId)\n            .subnetId(subnetId)\n            .securityGroupId(sgId)\n            .availabilityZone(az)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  vpcId:\n    type: dynamic\n  subnetId:\n    type: dynamic\n  sgId:\n    type: dynamic\n  az:\n    type: dynamic\nresources:\n  sfs-turbo:\n    type: opentelekomcloud:SfsTurboShareV1\n    properties:\n      name: sfs-turbo\n      size: 500\n      shareProto: NFS\n      shareType: PERFORMANCE\n      expandType: bandwidth\n      vpcId: ${vpcId}\n      subnetId: ${subnetId}\n      securityGroupId: ${sgId}\n      availabilityZone: ${az}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### SFS Turbo share with 20, 40, 125 or 250 MB/s/TiB file system\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst vpcId = config.requireObject\u003cany\u003e(\"vpcId\");\nconst subnetId = config.requireObject\u003cany\u003e(\"subnetId\");\nconst sgId = config.requireObject\u003cany\u003e(\"sgId\");\nconst az = config.requireObject\u003cany\u003e(\"az\");\nconst sfs_turbo = new opentelekomcloud.SfsTurboShareV1(\"sfs-turbo\", {\n    name: \"sfs-turbo\",\n    size: 3686,\n    shareProto: \"NFS\",\n    expandType: \"hpc\",\n    hpcBw: \"20M\",\n    vpcId: vpcId,\n    subnetId: subnetId,\n    securityGroupId: sgId,\n    availabilityZone: az,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nvpc_id = config.require_object(\"vpcId\")\nsubnet_id = config.require_object(\"subnetId\")\nsg_id = config.require_object(\"sgId\")\naz = config.require_object(\"az\")\nsfs_turbo = opentelekomcloud.SfsTurboShareV1(\"sfs-turbo\",\n    name=\"sfs-turbo\",\n    size=3686,\n    share_proto=\"NFS\",\n    expand_type=\"hpc\",\n    hpc_bw=\"20M\",\n    vpc_id=vpc_id,\n    subnet_id=subnet_id,\n    security_group_id=sg_id,\n    availability_zone=az)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var vpcId = config.RequireObject\u003cdynamic\u003e(\"vpcId\");\n    var subnetId = config.RequireObject\u003cdynamic\u003e(\"subnetId\");\n    var sgId = config.RequireObject\u003cdynamic\u003e(\"sgId\");\n    var az = config.RequireObject\u003cdynamic\u003e(\"az\");\n    var sfs_turbo = new Opentelekomcloud.SfsTurboShareV1(\"sfs-turbo\", new()\n    {\n        Name = \"sfs-turbo\",\n        Size = 3686,\n        ShareProto = \"NFS\",\n        ExpandType = \"hpc\",\n        HpcBw = \"20M\",\n        VpcId = vpcId,\n        SubnetId = subnetId,\n        SecurityGroupId = sgId,\n        AvailabilityZone = az,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tvpcId := cfg.RequireObject(\"vpcId\")\n\t\tsubnetId := cfg.RequireObject(\"subnetId\")\n\t\tsgId := cfg.RequireObject(\"sgId\")\n\t\taz := cfg.RequireObject(\"az\")\n\t\t_, err := opentelekomcloud.NewSfsTurboShareV1(ctx, \"sfs-turbo\", \u0026opentelekomcloud.SfsTurboShareV1Args{\n\t\t\tName:             pulumi.String(\"sfs-turbo\"),\n\t\t\tSize:             pulumi.Float64(3686),\n\t\t\tShareProto:       pulumi.String(\"NFS\"),\n\t\t\tExpandType:       pulumi.String(\"hpc\"),\n\t\t\tHpcBw:            pulumi.String(\"20M\"),\n\t\t\tVpcId:            pulumi.Any(vpcId),\n\t\t\tSubnetId:         pulumi.Any(subnetId),\n\t\t\tSecurityGroupId:  pulumi.Any(sgId),\n\t\t\tAvailabilityZone: pulumi.Any(az),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.SfsTurboShareV1;\nimport com.pulumi.opentelekomcloud.SfsTurboShareV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var vpcId = config.get(\"vpcId\");\n        final var subnetId = config.get(\"subnetId\");\n        final var sgId = config.get(\"sgId\");\n        final var az = config.get(\"az\");\n        var sfs_turbo = new SfsTurboShareV1(\"sfs-turbo\", SfsTurboShareV1Args.builder()\n            .name(\"sfs-turbo\")\n            .size(3686.0)\n            .shareProto(\"NFS\")\n            .expandType(\"hpc\")\n            .hpcBw(\"20M\")\n            .vpcId(vpcId)\n            .subnetId(subnetId)\n            .securityGroupId(sgId)\n            .availabilityZone(az)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  vpcId:\n    type: dynamic\n  subnetId:\n    type: dynamic\n  sgId:\n    type: dynamic\n  az:\n    type: dynamic\nresources:\n  sfs-turbo:\n    type: opentelekomcloud:SfsTurboShareV1\n    properties:\n      name: sfs-turbo\n      size: 3686\n      shareProto: NFS\n      expandType: hpc\n      hpcBw: 20M\n      vpcId: ${vpcId}\n      subnetId: ${subnetId}\n      securityGroupId: ${sgId}\n      availabilityZone: ${az}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSFS Turbo can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/sfsTurboShareV1:SfsTurboShareV1 opentelekomcloud_sfs_turbo_share_v1 9e3dd316-64g9-0245-8456-71e9387d71ab\n```\n\n","properties":{"availabilityZone":{"type":"string","description":"Specifies the availability zone where the file system is located.\nChanging this will create a new resource.\n"},"availableCapacity":{"type":"string","description":"The available capacity of the SFS Turbo file system in the unit of GB.\n"},"cryptKeyId":{"type":"string","description":"Specifies the ID of a KMS key to encrypt the file system.\nChanging this will create a new resource.\n"},"enhanced":{"type":"boolean","deprecationMessage":"Deprecated"},"expandType":{"type":"string","description":"Specifies the extension type. This parameter is mandatory when you are creating an SFS Turbo 250 MB/s/TiB, 125 MB/s/TiB, 40 MB/s/TiB, 20 MB/s/TiB, or Enhanced file system. Accepted values:\n"},"exportLocation":{"type":"string","description":"The mount point of the SFS Turbo file system.\n"},"hpcBw":{"type":"string","description":"Specifies the file system bandwidth. This parameter is mandatory when you are creating an SFS Turbo 250 MB/s/TiB, 125 MB/s/TiB, 40 MB/s/TiB, 20 MB/s/TiB file system. Accepted values: `20M` (for a 20 MB/s/TiB file system), `40M` (for a 40 MB/s/TiB file system), `125M` (for a 125 MB/s/TiB file system), and `250M` (for a 250 MB/s/TiB file system).\n\n\u003e SFS Turbo will create two private IP addresses and one virtual IP address under the subnet you specified.\nTo ensure normal use, SFS Turbo will enable the inbound rules for ports \u003cspan pulumi-lang-nodejs=\"`111`\" pulumi-lang-dotnet=\"`111`\" pulumi-lang-go=\"`111`\" pulumi-lang-python=\"`111`\" pulumi-lang-yaml=\"`111`\" pulumi-lang-java=\"`111`\"\u003e`111`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`445`\" pulumi-lang-dotnet=\"`445`\" pulumi-lang-go=\"`445`\" pulumi-lang-python=\"`445`\" pulumi-lang-yaml=\"`445`\" pulumi-lang-java=\"`445`\"\u003e`445`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2049`\" pulumi-lang-dotnet=\"`2049`\" pulumi-lang-go=\"`2049`\" pulumi-lang-python=\"`2049`\" pulumi-lang-yaml=\"`2049`\" pulumi-lang-java=\"`2049`\"\u003e`2049`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2051`\" pulumi-lang-dotnet=\"`2051`\" pulumi-lang-go=\"`2051`\" pulumi-lang-python=\"`2051`\" pulumi-lang-yaml=\"`2051`\" pulumi-lang-java=\"`2051`\"\u003e`2051`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2052`\" pulumi-lang-dotnet=\"`2052`\" pulumi-lang-go=\"`2052`\" pulumi-lang-python=\"`2052`\" pulumi-lang-yaml=\"`2052`\" pulumi-lang-java=\"`2052`\"\u003e`2052`\u003c/span\u003e,\nand \u003cspan pulumi-lang-nodejs=\"`20048`\" pulumi-lang-dotnet=\"`20048`\" pulumi-lang-go=\"`20048`\" pulumi-lang-python=\"`20048`\" pulumi-lang-yaml=\"`20048`\" pulumi-lang-java=\"`20048`\"\u003e`20048`\u003c/span\u003e in the security group you specified.\n"},"name":{"type":"string","description":"Specifies the name of an SFS Turbo file system. The value contains 4 to 64\ncharacters and must start with a letter. Changing this will create a new resource.\n"},"region":{"type":"string","description":"The region in which to create the SFS Turbo resource. If omitted, the\nprovider-level region will be used. Changing this creates a new SFS Turbo resource.\n"},"securityGroupId":{"type":"string","description":"Specifies the security group ID.\n"},"sfsTurboShareV1Id":{"type":"string","description":"The UUID of the SFS Turbo file system.\n"},"shareProto":{"type":"string","description":"Specifies the protocol for sharing file systems. The valid value is `NFS`.\nChanging this will create a new resource.\n"},"shareType":{"type":"string","description":"Specifies the file system type. The valid values are `STANDARD` and `PERFORMANCE`.\nChanging this will create a new resource.\n"},"size":{"type":"number","description":"Specifies the capacity of a common file system, in GB. The value ranges\nfrom \u003cspan pulumi-lang-nodejs=\"`500`\" pulumi-lang-dotnet=\"`500`\" pulumi-lang-go=\"`500`\" pulumi-lang-python=\"`500`\" pulumi-lang-yaml=\"`500`\" pulumi-lang-java=\"`500`\"\u003e`500`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`32768`\" pulumi-lang-dotnet=\"`32768`\" pulumi-lang-go=\"`32768`\" pulumi-lang-python=\"`32768`\" pulumi-lang-yaml=\"`32768`\" pulumi-lang-java=\"`32768`\"\u003e`32768`\u003c/span\u003e.For an SFS Turbo Enhanced file system, if\u003cspan pulumi-lang-nodejs=\" expandType \" pulumi-lang-dotnet=\" ExpandType \" pulumi-lang-go=\" expandType \" pulumi-lang-python=\" expand_type \" pulumi-lang-yaml=\" expandType \" pulumi-lang-java=\" expandType \"\u003e expand_type \u003c/span\u003eis set to bandwidth in the metadata field, the capacity ranges from 10240 to 327680, in GiB. If \u003cspan pulumi-lang-nodejs=\"`expandType`\" pulumi-lang-dotnet=\"`ExpandType`\" pulumi-lang-go=\"`expandType`\" pulumi-lang-python=\"`expand_type`\" pulumi-lang-yaml=\"`expandType`\" pulumi-lang-java=\"`expandType`\"\u003e`expand_type`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`hpc`\" pulumi-lang-dotnet=\"`Hpc`\" pulumi-lang-go=\"`hpc`\" pulumi-lang-python=\"`hpc`\" pulumi-lang-yaml=\"`hpc`\" pulumi-lang-java=\"`hpc`\"\u003e`hpc`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`hpcBw`\" pulumi-lang-dotnet=\"`HpcBw`\" pulumi-lang-go=\"`hpcBw`\" pulumi-lang-python=\"`hpc_bw`\" pulumi-lang-yaml=\"`hpcBw`\" pulumi-lang-java=\"`hpcBw`\"\u003e`hpc_bw`\u003c/span\u003e is set to `20M` (20MB/s/TiB), `40M` (40MB/s/TiB:), `125M` (125MB/s/TiB), or `250M` (250MB/s/TiB), the capacity ranges from 3686 to 1048576, in GiB. The capacity must be a **multiple of 1.2 TiB**. The value must be rounded down after being converted to GiB. For example, 3.6TiB-\u003e3686GiB, 4.8TiB-\u003e4915GiB, 8.4TiB-\u003e8601GiB.\n"},"subnetId":{"type":"string","description":"Specifies the network ID of the subnet. Changing this will create a new resource.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FSfsTurboShareV1Timeouts:SfsTurboShareV1Timeouts"},"version":{"type":"string","description":"The version ID of the SFS Turbo file system.\n"},"vpcId":{"type":"string","description":"Specifies the VPC ID. Changing this will create a new resource.\n"}},"type":"object","required":["availabilityZone","availableCapacity","enhanced","expandType","exportLocation","hpcBw","name","region","securityGroupId","sfsTurboShareV1Id","size","subnetId","version","vpcId"],"inputProperties":{"availabilityZone":{"type":"string","description":"Specifies the availability zone where the file system is located.\nChanging this will create a new resource.\n"},"cryptKeyId":{"type":"string","description":"Specifies the ID of a KMS key to encrypt the file system.\nChanging this will create a new resource.\n"},"enhanced":{"type":"boolean","deprecationMessage":"Deprecated"},"expandType":{"type":"string","description":"Specifies the extension type. This parameter is mandatory when you are creating an SFS Turbo 250 MB/s/TiB, 125 MB/s/TiB, 40 MB/s/TiB, 20 MB/s/TiB, or Enhanced file system. Accepted values:\n"},"hpcBw":{"type":"string","description":"Specifies the file system bandwidth. This parameter is mandatory when you are creating an SFS Turbo 250 MB/s/TiB, 125 MB/s/TiB, 40 MB/s/TiB, 20 MB/s/TiB file system. Accepted values: `20M` (for a 20 MB/s/TiB file system), `40M` (for a 40 MB/s/TiB file system), `125M` (for a 125 MB/s/TiB file system), and `250M` (for a 250 MB/s/TiB file system).\n\n\u003e SFS Turbo will create two private IP addresses and one virtual IP address under the subnet you specified.\nTo ensure normal use, SFS Turbo will enable the inbound rules for ports \u003cspan pulumi-lang-nodejs=\"`111`\" pulumi-lang-dotnet=\"`111`\" pulumi-lang-go=\"`111`\" pulumi-lang-python=\"`111`\" pulumi-lang-yaml=\"`111`\" pulumi-lang-java=\"`111`\"\u003e`111`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`445`\" pulumi-lang-dotnet=\"`445`\" pulumi-lang-go=\"`445`\" pulumi-lang-python=\"`445`\" pulumi-lang-yaml=\"`445`\" pulumi-lang-java=\"`445`\"\u003e`445`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2049`\" pulumi-lang-dotnet=\"`2049`\" pulumi-lang-go=\"`2049`\" pulumi-lang-python=\"`2049`\" pulumi-lang-yaml=\"`2049`\" pulumi-lang-java=\"`2049`\"\u003e`2049`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2051`\" pulumi-lang-dotnet=\"`2051`\" pulumi-lang-go=\"`2051`\" pulumi-lang-python=\"`2051`\" pulumi-lang-yaml=\"`2051`\" pulumi-lang-java=\"`2051`\"\u003e`2051`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2052`\" pulumi-lang-dotnet=\"`2052`\" pulumi-lang-go=\"`2052`\" pulumi-lang-python=\"`2052`\" pulumi-lang-yaml=\"`2052`\" pulumi-lang-java=\"`2052`\"\u003e`2052`\u003c/span\u003e,\nand \u003cspan pulumi-lang-nodejs=\"`20048`\" pulumi-lang-dotnet=\"`20048`\" pulumi-lang-go=\"`20048`\" pulumi-lang-python=\"`20048`\" pulumi-lang-yaml=\"`20048`\" pulumi-lang-java=\"`20048`\"\u003e`20048`\u003c/span\u003e in the security group you specified.\n"},"name":{"type":"string","description":"Specifies the name of an SFS Turbo file system. The value contains 4 to 64\ncharacters and must start with a letter. Changing this will create a new resource.\n"},"region":{"type":"string","description":"The region in which to create the SFS Turbo resource. If omitted, the\nprovider-level region will be used. Changing this creates a new SFS Turbo resource.\n"},"securityGroupId":{"type":"string","description":"Specifies the security group ID.\n"},"sfsTurboShareV1Id":{"type":"string","description":"The UUID of the SFS Turbo file system.\n"},"shareProto":{"type":"string","description":"Specifies the protocol for sharing file systems. The valid value is `NFS`.\nChanging this will create a new resource.\n"},"shareType":{"type":"string","description":"Specifies the file system type. The valid values are `STANDARD` and `PERFORMANCE`.\nChanging this will create a new resource.\n"},"size":{"type":"number","description":"Specifies the capacity of a common file system, in GB. The value ranges\nfrom \u003cspan pulumi-lang-nodejs=\"`500`\" pulumi-lang-dotnet=\"`500`\" pulumi-lang-go=\"`500`\" pulumi-lang-python=\"`500`\" pulumi-lang-yaml=\"`500`\" pulumi-lang-java=\"`500`\"\u003e`500`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`32768`\" pulumi-lang-dotnet=\"`32768`\" pulumi-lang-go=\"`32768`\" pulumi-lang-python=\"`32768`\" pulumi-lang-yaml=\"`32768`\" pulumi-lang-java=\"`32768`\"\u003e`32768`\u003c/span\u003e.For an SFS Turbo Enhanced file system, if\u003cspan pulumi-lang-nodejs=\" expandType \" pulumi-lang-dotnet=\" ExpandType \" pulumi-lang-go=\" expandType \" pulumi-lang-python=\" expand_type \" pulumi-lang-yaml=\" expandType \" pulumi-lang-java=\" expandType \"\u003e expand_type \u003c/span\u003eis set to bandwidth in the metadata field, the capacity ranges from 10240 to 327680, in GiB. If \u003cspan pulumi-lang-nodejs=\"`expandType`\" pulumi-lang-dotnet=\"`ExpandType`\" pulumi-lang-go=\"`expandType`\" pulumi-lang-python=\"`expand_type`\" pulumi-lang-yaml=\"`expandType`\" pulumi-lang-java=\"`expandType`\"\u003e`expand_type`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`hpc`\" pulumi-lang-dotnet=\"`Hpc`\" pulumi-lang-go=\"`hpc`\" pulumi-lang-python=\"`hpc`\" pulumi-lang-yaml=\"`hpc`\" pulumi-lang-java=\"`hpc`\"\u003e`hpc`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`hpcBw`\" pulumi-lang-dotnet=\"`HpcBw`\" pulumi-lang-go=\"`hpcBw`\" pulumi-lang-python=\"`hpc_bw`\" pulumi-lang-yaml=\"`hpcBw`\" pulumi-lang-java=\"`hpcBw`\"\u003e`hpc_bw`\u003c/span\u003e is set to `20M` (20MB/s/TiB), `40M` (40MB/s/TiB:), `125M` (125MB/s/TiB), or `250M` (250MB/s/TiB), the capacity ranges from 3686 to 1048576, in GiB. The capacity must be a **multiple of 1.2 TiB**. The value must be rounded down after being converted to GiB. For example, 3.6TiB-\u003e3686GiB, 4.8TiB-\u003e4915GiB, 8.4TiB-\u003e8601GiB.\n"},"subnetId":{"type":"string","description":"Specifies the network ID of the subnet. Changing this will create a new resource.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FSfsTurboShareV1Timeouts:SfsTurboShareV1Timeouts"},"vpcId":{"type":"string","description":"Specifies the VPC ID. Changing this will create a new resource.\n"}},"requiredInputs":["availabilityZone","securityGroupId","size","subnetId","vpcId"],"stateInputs":{"description":"Input properties used for looking up and filtering SfsTurboShareV1 resources.\n","properties":{"availabilityZone":{"type":"string","description":"Specifies the availability zone where the file system is located.\nChanging this will create a new resource.\n"},"availableCapacity":{"type":"string","description":"The available capacity of the SFS Turbo file system in the unit of GB.\n"},"cryptKeyId":{"type":"string","description":"Specifies the ID of a KMS key to encrypt the file system.\nChanging this will create a new resource.\n"},"enhanced":{"type":"boolean","deprecationMessage":"Deprecated"},"expandType":{"type":"string","description":"Specifies the extension type. This parameter is mandatory when you are creating an SFS Turbo 250 MB/s/TiB, 125 MB/s/TiB, 40 MB/s/TiB, 20 MB/s/TiB, or Enhanced file system. Accepted values:\n"},"exportLocation":{"type":"string","description":"The mount point of the SFS Turbo file system.\n"},"hpcBw":{"type":"string","description":"Specifies the file system bandwidth. This parameter is mandatory when you are creating an SFS Turbo 250 MB/s/TiB, 125 MB/s/TiB, 40 MB/s/TiB, 20 MB/s/TiB file system. Accepted values: `20M` (for a 20 MB/s/TiB file system), `40M` (for a 40 MB/s/TiB file system), `125M` (for a 125 MB/s/TiB file system), and `250M` (for a 250 MB/s/TiB file system).\n\n\u003e SFS Turbo will create two private IP addresses and one virtual IP address under the subnet you specified.\nTo ensure normal use, SFS Turbo will enable the inbound rules for ports \u003cspan pulumi-lang-nodejs=\"`111`\" pulumi-lang-dotnet=\"`111`\" pulumi-lang-go=\"`111`\" pulumi-lang-python=\"`111`\" pulumi-lang-yaml=\"`111`\" pulumi-lang-java=\"`111`\"\u003e`111`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`445`\" pulumi-lang-dotnet=\"`445`\" pulumi-lang-go=\"`445`\" pulumi-lang-python=\"`445`\" pulumi-lang-yaml=\"`445`\" pulumi-lang-java=\"`445`\"\u003e`445`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2049`\" pulumi-lang-dotnet=\"`2049`\" pulumi-lang-go=\"`2049`\" pulumi-lang-python=\"`2049`\" pulumi-lang-yaml=\"`2049`\" pulumi-lang-java=\"`2049`\"\u003e`2049`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2051`\" pulumi-lang-dotnet=\"`2051`\" pulumi-lang-go=\"`2051`\" pulumi-lang-python=\"`2051`\" pulumi-lang-yaml=\"`2051`\" pulumi-lang-java=\"`2051`\"\u003e`2051`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2052`\" pulumi-lang-dotnet=\"`2052`\" pulumi-lang-go=\"`2052`\" pulumi-lang-python=\"`2052`\" pulumi-lang-yaml=\"`2052`\" pulumi-lang-java=\"`2052`\"\u003e`2052`\u003c/span\u003e,\nand \u003cspan pulumi-lang-nodejs=\"`20048`\" pulumi-lang-dotnet=\"`20048`\" pulumi-lang-go=\"`20048`\" pulumi-lang-python=\"`20048`\" pulumi-lang-yaml=\"`20048`\" pulumi-lang-java=\"`20048`\"\u003e`20048`\u003c/span\u003e in the security group you specified.\n"},"name":{"type":"string","description":"Specifies the name of an SFS Turbo file system. The value contains 4 to 64\ncharacters and must start with a letter. Changing this will create a new resource.\n"},"region":{"type":"string","description":"The region in which to create the SFS Turbo resource. If omitted, the\nprovider-level region will be used. Changing this creates a new SFS Turbo resource.\n"},"securityGroupId":{"type":"string","description":"Specifies the security group ID.\n"},"sfsTurboShareV1Id":{"type":"string","description":"The UUID of the SFS Turbo file system.\n"},"shareProto":{"type":"string","description":"Specifies the protocol for sharing file systems. The valid value is `NFS`.\nChanging this will create a new resource.\n"},"shareType":{"type":"string","description":"Specifies the file system type. The valid values are `STANDARD` and `PERFORMANCE`.\nChanging this will create a new resource.\n"},"size":{"type":"number","description":"Specifies the capacity of a common file system, in GB. The value ranges\nfrom \u003cspan pulumi-lang-nodejs=\"`500`\" pulumi-lang-dotnet=\"`500`\" pulumi-lang-go=\"`500`\" pulumi-lang-python=\"`500`\" pulumi-lang-yaml=\"`500`\" pulumi-lang-java=\"`500`\"\u003e`500`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`32768`\" pulumi-lang-dotnet=\"`32768`\" pulumi-lang-go=\"`32768`\" pulumi-lang-python=\"`32768`\" pulumi-lang-yaml=\"`32768`\" pulumi-lang-java=\"`32768`\"\u003e`32768`\u003c/span\u003e.For an SFS Turbo Enhanced file system, if\u003cspan pulumi-lang-nodejs=\" expandType \" pulumi-lang-dotnet=\" ExpandType \" pulumi-lang-go=\" expandType \" pulumi-lang-python=\" expand_type \" pulumi-lang-yaml=\" expandType \" pulumi-lang-java=\" expandType \"\u003e expand_type \u003c/span\u003eis set to bandwidth in the metadata field, the capacity ranges from 10240 to 327680, in GiB. If \u003cspan pulumi-lang-nodejs=\"`expandType`\" pulumi-lang-dotnet=\"`ExpandType`\" pulumi-lang-go=\"`expandType`\" pulumi-lang-python=\"`expand_type`\" pulumi-lang-yaml=\"`expandType`\" pulumi-lang-java=\"`expandType`\"\u003e`expand_type`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`hpc`\" pulumi-lang-dotnet=\"`Hpc`\" pulumi-lang-go=\"`hpc`\" pulumi-lang-python=\"`hpc`\" pulumi-lang-yaml=\"`hpc`\" pulumi-lang-java=\"`hpc`\"\u003e`hpc`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`hpcBw`\" pulumi-lang-dotnet=\"`HpcBw`\" pulumi-lang-go=\"`hpcBw`\" pulumi-lang-python=\"`hpc_bw`\" pulumi-lang-yaml=\"`hpcBw`\" pulumi-lang-java=\"`hpcBw`\"\u003e`hpc_bw`\u003c/span\u003e is set to `20M` (20MB/s/TiB), `40M` (40MB/s/TiB:), `125M` (125MB/s/TiB), or `250M` (250MB/s/TiB), the capacity ranges from 3686 to 1048576, in GiB. The capacity must be a **multiple of 1.2 TiB**. The value must be rounded down after being converted to GiB. For example, 3.6TiB-\u003e3686GiB, 4.8TiB-\u003e4915GiB, 8.4TiB-\u003e8601GiB.\n"},"subnetId":{"type":"string","description":"Specifies the network ID of the subnet. Changing this will create a new resource.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FSfsTurboShareV1Timeouts:SfsTurboShareV1Timeouts"},"version":{"type":"string","description":"The version ID of the SFS Turbo file system.\n"},"vpcId":{"type":"string","description":"Specifies the VPC ID. Changing this will create a new resource.\n"}},"type":"object"}},"opentelekomcloud:index/smnMessageTemplateV2:SmnMessageTemplateV2":{"description":"Manages a SMN message template resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst name = config.requireObject\u003cany\u003e(\"name\");\nconst protocol = config.requireObject\u003cany\u003e(\"protocol\");\nconst test = new opentelekomcloud.SmnMessageTemplateV2(\"test\", {\n    name: name,\n    protocol: protocol,\n    content: \"this content contains {content1}, {content2}, {content3}\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nname = config.require_object(\"name\")\nprotocol = config.require_object(\"protocol\")\ntest = opentelekomcloud.SmnMessageTemplateV2(\"test\",\n    name=name,\n    protocol=protocol,\n    content=\"this content contains {content1}, {content2}, {content3}\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var name = config.RequireObject\u003cdynamic\u003e(\"name\");\n    var protocol = config.RequireObject\u003cdynamic\u003e(\"protocol\");\n    var test = new Opentelekomcloud.SmnMessageTemplateV2(\"test\", new()\n    {\n        Name = name,\n        Protocol = protocol,\n        Content = \"this content contains {content1}, {content2}, {content3}\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := cfg.RequireObject(\"name\")\n\t\tprotocol := cfg.RequireObject(\"protocol\")\n\t\t_, err := opentelekomcloud.NewSmnMessageTemplateV2(ctx, \"test\", \u0026opentelekomcloud.SmnMessageTemplateV2Args{\n\t\t\tName:     pulumi.Any(name),\n\t\t\tProtocol: pulumi.Any(protocol),\n\t\t\tContent:  pulumi.String(\"this content contains {content1}, {content2}, {content3}\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.SmnMessageTemplateV2;\nimport com.pulumi.opentelekomcloud.SmnMessageTemplateV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var name = config.get(\"name\");\n        final var protocol = config.get(\"protocol\");\n        var test = new SmnMessageTemplateV2(\"test\", SmnMessageTemplateV2Args.builder()\n            .name(name)\n            .protocol(protocol)\n            .content(\"this content contains {content1}, {content2}, {content3}\")\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  name:\n    type: dynamic\n  protocol:\n    type: dynamic\nresources:\n  test:\n    type: opentelekomcloud:SmnMessageTemplateV2\n    properties:\n      name: ${name}\n      protocol: ${protocol}\n      content: this content contains {content1}, {content2}, {content3}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe SMN message template can be imported using the `id`, e.g.\n\nbash\n\n```sh\n$ pulumi import opentelekomcloud:index/smnMessageTemplateV2:SmnMessageTemplateV2 test \u003cmessage_template_id\u003e\n```\n\n","properties":{"content":{"type":"string","description":"Specifies the template content, which supports plain text only.\nThe template content cannot be left blank or larger than 256 KB.\nThe fields within \"{}\" can be replaced based on the actual situation\nwhen you use the template.\n"},"name":{"type":"string","description":"Specifies the message template name.\nA template name starts with a letter or digit, consists of 1 to 64 characters,\nand can contain only letters, digits,  hyphens (-), and underscores (_).\n\nChanging this parameter will create a new resource.\n"},"protocol":{"type":"string","description":"Specifies the protocol supported by the template. Value options:\n+ **default**: the default protocol\n+ **email**: the email protocol\n+ **sms**: the SMS protocol\n+ **http**: the http protocol\n+ **https**: the https protocol\n\nChanging this parameter will create a new resource.\n"},"region":{"type":"string","description":"The resource region.\n"},"smnMessageTemplateV2Id":{"type":"string","description":"The resource ID.\n"},"tagNames":{"type":"array","items":{"type":"string"},"description":"Indicates the variable list. The variable name will be quoted in braces ({}) in the template.\nWhen you use a template to send messages, you can replace the variable with any content.\n"}},"type":"object","required":["content","name","protocol","region","smnMessageTemplateV2Id","tagNames"],"inputProperties":{"content":{"type":"string","description":"Specifies the template content, which supports plain text only.\nThe template content cannot be left blank or larger than 256 KB.\nThe fields within \"{}\" can be replaced based on the actual situation\nwhen you use the template.\n"},"name":{"type":"string","description":"Specifies the message template name.\nA template name starts with a letter or digit, consists of 1 to 64 characters,\nand can contain only letters, digits,  hyphens (-), and underscores (_).\n\nChanging this parameter will create a new resource.\n"},"protocol":{"type":"string","description":"Specifies the protocol supported by the template. Value options:\n+ **default**: the default protocol\n+ **email**: the email protocol\n+ **sms**: the SMS protocol\n+ **http**: the http protocol\n+ **https**: the https protocol\n\nChanging this parameter will create a new resource.\n"},"smnMessageTemplateV2Id":{"type":"string","description":"The resource ID.\n"}},"requiredInputs":["content","protocol"],"stateInputs":{"description":"Input properties used for looking up and filtering SmnMessageTemplateV2 resources.\n","properties":{"content":{"type":"string","description":"Specifies the template content, which supports plain text only.\nThe template content cannot be left blank or larger than 256 KB.\nThe fields within \"{}\" can be replaced based on the actual situation\nwhen you use the template.\n"},"name":{"type":"string","description":"Specifies the message template name.\nA template name starts with a letter or digit, consists of 1 to 64 characters,\nand can contain only letters, digits,  hyphens (-), and underscores (_).\n\nChanging this parameter will create a new resource.\n"},"protocol":{"type":"string","description":"Specifies the protocol supported by the template. Value options:\n+ **default**: the default protocol\n+ **email**: the email protocol\n+ **sms**: the SMS protocol\n+ **http**: the http protocol\n+ **https**: the https protocol\n\nChanging this parameter will create a new resource.\n"},"region":{"type":"string","description":"The resource region.\n"},"smnMessageTemplateV2Id":{"type":"string","description":"The resource ID.\n"},"tagNames":{"type":"array","items":{"type":"string"},"description":"Indicates the variable list. The variable name will be quoted in braces ({}) in the template.\nWhen you use a template to send messages, you can replace the variable with any content.\n"}},"type":"object"}},"opentelekomcloud:index/smnSubscriptionV2:SmnSubscriptionV2":{"description":"Up-to-date reference of API arguments for SMN subscription you can get at\n[documentation portal](https://docs.otc.t-systems.com/simple-message-notification/api-ref/apis/subscription_operations)\n\nManages a V2 subscription resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst topic1 = new opentelekomcloud.SmnTopicV2(\"topic_1\", {\n    name: \"topic_1\",\n    displayName: \"The display name of topic_1\",\n});\nconst subscription1 = new opentelekomcloud.SmnSubscriptionV2(\"subscription_1\", {\n    topicUrn: topic1.smnTopicV2Id,\n    endpoint: \"mailtest@gmail.com\",\n    protocol: \"email\",\n    remark: \"O\u0026M\",\n});\nconst subscription2 = new opentelekomcloud.SmnSubscriptionV2(\"subscription_2\", {\n    topicUrn: topic1.smnTopicV2Id,\n    endpoint: \"13600000000\",\n    protocol: \"sms\",\n    remark: \"O\u0026M\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ntopic1 = opentelekomcloud.SmnTopicV2(\"topic_1\",\n    name=\"topic_1\",\n    display_name=\"The display name of topic_1\")\nsubscription1 = opentelekomcloud.SmnSubscriptionV2(\"subscription_1\",\n    topic_urn=topic1.smn_topic_v2_id,\n    endpoint=\"mailtest@gmail.com\",\n    protocol=\"email\",\n    remark=\"O\u0026M\")\nsubscription2 = opentelekomcloud.SmnSubscriptionV2(\"subscription_2\",\n    topic_urn=topic1.smn_topic_v2_id,\n    endpoint=\"13600000000\",\n    protocol=\"sms\",\n    remark=\"O\u0026M\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var topic1 = new Opentelekomcloud.SmnTopicV2(\"topic_1\", new()\n    {\n        Name = \"topic_1\",\n        DisplayName = \"The display name of topic_1\",\n    });\n\n    var subscription1 = new Opentelekomcloud.SmnSubscriptionV2(\"subscription_1\", new()\n    {\n        TopicUrn = topic1.SmnTopicV2Id,\n        Endpoint = \"mailtest@gmail.com\",\n        Protocol = \"email\",\n        Remark = \"O\u0026M\",\n    });\n\n    var subscription2 = new Opentelekomcloud.SmnSubscriptionV2(\"subscription_2\", new()\n    {\n        TopicUrn = topic1.SmnTopicV2Id,\n        Endpoint = \"13600000000\",\n        Protocol = \"sms\",\n        Remark = \"O\u0026M\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttopic1, err := opentelekomcloud.NewSmnTopicV2(ctx, \"topic_1\", \u0026opentelekomcloud.SmnTopicV2Args{\n\t\t\tName:        pulumi.String(\"topic_1\"),\n\t\t\tDisplayName: pulumi.String(\"The display name of topic_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewSmnSubscriptionV2(ctx, \"subscription_1\", \u0026opentelekomcloud.SmnSubscriptionV2Args{\n\t\t\tTopicUrn: topic1.SmnTopicV2Id,\n\t\t\tEndpoint: pulumi.String(\"mailtest@gmail.com\"),\n\t\t\tProtocol: pulumi.String(\"email\"),\n\t\t\tRemark:   pulumi.String(\"O\u0026M\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewSmnSubscriptionV2(ctx, \"subscription_2\", \u0026opentelekomcloud.SmnSubscriptionV2Args{\n\t\t\tTopicUrn: topic1.SmnTopicV2Id,\n\t\t\tEndpoint: pulumi.String(\"13600000000\"),\n\t\t\tProtocol: pulumi.String(\"sms\"),\n\t\t\tRemark:   pulumi.String(\"O\u0026M\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.SmnTopicV2;\nimport com.pulumi.opentelekomcloud.SmnTopicV2Args;\nimport com.pulumi.opentelekomcloud.SmnSubscriptionV2;\nimport com.pulumi.opentelekomcloud.SmnSubscriptionV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var topic1 = new SmnTopicV2(\"topic1\", SmnTopicV2Args.builder()\n            .name(\"topic_1\")\n            .displayName(\"The display name of topic_1\")\n            .build());\n\n        var subscription1 = new SmnSubscriptionV2(\"subscription1\", SmnSubscriptionV2Args.builder()\n            .topicUrn(topic1.smnTopicV2Id())\n            .endpoint(\"mailtest@gmail.com\")\n            .protocol(\"email\")\n            .remark(\"O\u0026M\")\n            .build());\n\n        var subscription2 = new SmnSubscriptionV2(\"subscription2\", SmnSubscriptionV2Args.builder()\n            .topicUrn(topic1.smnTopicV2Id())\n            .endpoint(\"13600000000\")\n            .protocol(\"sms\")\n            .remark(\"O\u0026M\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  topic1:\n    type: opentelekomcloud:SmnTopicV2\n    name: topic_1\n    properties:\n      name: topic_1\n      displayName: The display name of topic_1\n  subscription1:\n    type: opentelekomcloud:SmnSubscriptionV2\n    name: subscription_1\n    properties:\n      topicUrn: ${topic1.smnTopicV2Id}\n      endpoint: mailtest@gmail.com\n      protocol: email\n      remark: O\u0026M\n  subscription2:\n    type: opentelekomcloud:SmnSubscriptionV2\n    name: subscription_2\n    properties:\n      topicUrn: ${topic1.smnTopicV2Id}\n      endpoint: '13600000000'\n      protocol: sms\n      remark: O\u0026M\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"endpoint":{"type":"string","description":"Specifies the message endpoint.\n* For an HTTP subscription, the endpoint starts with http\\://.\n* For an HTTPS subscription, the endpoint starts with https\\://.\n* For an email subscription, the endpoint is a mail address.\n* For an SMS message subscription, the endpoint is a phone number.\n"},"owner":{"type":"string","description":"The project ID of the topic creator.\n"},"projectName":{"type":"string","deprecationMessage":"Deprecated"},"protocol":{"type":"string","description":"Specifies protocol of the message endpoint. Currently, \u003cspan pulumi-lang-nodejs=\"`email`\" pulumi-lang-dotnet=\"`Email`\" pulumi-lang-go=\"`email`\" pulumi-lang-python=\"`email`\" pulumi-lang-yaml=\"`email`\" pulumi-lang-java=\"`email`\"\u003e`email`\u003c/span\u003e,\n\u003cspan pulumi-lang-nodejs=\"`sms`\" pulumi-lang-dotnet=\"`Sms`\" pulumi-lang-go=\"`sms`\" pulumi-lang-python=\"`sms`\" pulumi-lang-yaml=\"`sms`\" pulumi-lang-java=\"`sms`\"\u003e`sms`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`http`\" pulumi-lang-dotnet=\"`Http`\" pulumi-lang-go=\"`http`\" pulumi-lang-python=\"`http`\" pulumi-lang-yaml=\"`http`\" pulumi-lang-java=\"`http`\"\u003e`http`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`https`\" pulumi-lang-dotnet=\"`Https`\" pulumi-lang-go=\"`https`\" pulumi-lang-python=\"`https`\" pulumi-lang-yaml=\"`https`\" pulumi-lang-java=\"`https`\"\u003e`https`\u003c/span\u003e are supported.\n"},"remark":{"type":"string","description":"Specifies the remark information. The remarks must be a UTF-8-coded\ncharacter string containing 128 bytes.\n"},"smnSubscriptionV2Id":{"type":"string"},"status":{"type":"number","description":"The subscription status.\n"},"subscriptionUrn":{"type":"string","description":"The resource identifier of a subscription.\n"},"topicUrn":{"type":"string","description":"Specifies the resource identifier of a topic, which is unique.\n"}},"type":"object","required":["endpoint","owner","protocol","smnSubscriptionV2Id","status","subscriptionUrn","topicUrn"],"inputProperties":{"endpoint":{"type":"string","description":"Specifies the message endpoint.\n* For an HTTP subscription, the endpoint starts with http\\://.\n* For an HTTPS subscription, the endpoint starts with https\\://.\n* For an email subscription, the endpoint is a mail address.\n* For an SMS message subscription, the endpoint is a phone number.\n"},"projectName":{"type":"string","deprecationMessage":"Deprecated"},"protocol":{"type":"string","description":"Specifies protocol of the message endpoint. Currently, \u003cspan pulumi-lang-nodejs=\"`email`\" pulumi-lang-dotnet=\"`Email`\" pulumi-lang-go=\"`email`\" pulumi-lang-python=\"`email`\" pulumi-lang-yaml=\"`email`\" pulumi-lang-java=\"`email`\"\u003e`email`\u003c/span\u003e,\n\u003cspan pulumi-lang-nodejs=\"`sms`\" pulumi-lang-dotnet=\"`Sms`\" pulumi-lang-go=\"`sms`\" pulumi-lang-python=\"`sms`\" pulumi-lang-yaml=\"`sms`\" pulumi-lang-java=\"`sms`\"\u003e`sms`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`http`\" pulumi-lang-dotnet=\"`Http`\" pulumi-lang-go=\"`http`\" pulumi-lang-python=\"`http`\" pulumi-lang-yaml=\"`http`\" pulumi-lang-java=\"`http`\"\u003e`http`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`https`\" pulumi-lang-dotnet=\"`Https`\" pulumi-lang-go=\"`https`\" pulumi-lang-python=\"`https`\" pulumi-lang-yaml=\"`https`\" pulumi-lang-java=\"`https`\"\u003e`https`\u003c/span\u003e are supported.\n"},"remark":{"type":"string","description":"Specifies the remark information. The remarks must be a UTF-8-coded\ncharacter string containing 128 bytes.\n"},"smnSubscriptionV2Id":{"type":"string"},"topicUrn":{"type":"string","description":"Specifies the resource identifier of a topic, which is unique.\n"}},"requiredInputs":["endpoint","protocol","topicUrn"],"stateInputs":{"description":"Input properties used for looking up and filtering SmnSubscriptionV2 resources.\n","properties":{"endpoint":{"type":"string","description":"Specifies the message endpoint.\n* For an HTTP subscription, the endpoint starts with http\\://.\n* For an HTTPS subscription, the endpoint starts with https\\://.\n* For an email subscription, the endpoint is a mail address.\n* For an SMS message subscription, the endpoint is a phone number.\n"},"owner":{"type":"string","description":"The project ID of the topic creator.\n"},"projectName":{"type":"string","deprecationMessage":"Deprecated"},"protocol":{"type":"string","description":"Specifies protocol of the message endpoint. Currently, \u003cspan pulumi-lang-nodejs=\"`email`\" pulumi-lang-dotnet=\"`Email`\" pulumi-lang-go=\"`email`\" pulumi-lang-python=\"`email`\" pulumi-lang-yaml=\"`email`\" pulumi-lang-java=\"`email`\"\u003e`email`\u003c/span\u003e,\n\u003cspan pulumi-lang-nodejs=\"`sms`\" pulumi-lang-dotnet=\"`Sms`\" pulumi-lang-go=\"`sms`\" pulumi-lang-python=\"`sms`\" pulumi-lang-yaml=\"`sms`\" pulumi-lang-java=\"`sms`\"\u003e`sms`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`http`\" pulumi-lang-dotnet=\"`Http`\" pulumi-lang-go=\"`http`\" pulumi-lang-python=\"`http`\" pulumi-lang-yaml=\"`http`\" pulumi-lang-java=\"`http`\"\u003e`http`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`https`\" pulumi-lang-dotnet=\"`Https`\" pulumi-lang-go=\"`https`\" pulumi-lang-python=\"`https`\" pulumi-lang-yaml=\"`https`\" pulumi-lang-java=\"`https`\"\u003e`https`\u003c/span\u003e are supported.\n"},"remark":{"type":"string","description":"Specifies the remark information. The remarks must be a UTF-8-coded\ncharacter string containing 128 bytes.\n"},"smnSubscriptionV2Id":{"type":"string"},"status":{"type":"number","description":"The subscription status.\n"},"subscriptionUrn":{"type":"string","description":"The resource identifier of a subscription.\n"},"topicUrn":{"type":"string","description":"Specifies the resource identifier of a topic, which is unique.\n"}},"type":"object"}},"opentelekomcloud:index/smnTopicAttributeV2:SmnTopicAttributeV2":{"description":"Up-to-date reference of API arguments for SMN topic attribute you can get at\n[documentation portal](https://docs.otc.t-systems.com/simple-message-notification/api-ref/apis/topic_operations)\n\nManages a V2 Topic Attribute resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst topic1 = new opentelekomcloud.SmnTopicV2(\"topic_1\", {\n    name: \"topic_1\",\n    displayName: \"The display name of topic_1\",\n});\nconst attribute1 = new opentelekomcloud.SmnTopicAttributeV2(\"attribute_1\", {\n    topicUrn: topic1.topicUrn,\n    attributeName: \"access_policy\",\n    topicAttribute: pulumi.interpolate`{\n  \\\"Version\\\": \\\"2016-09-07\\\",\n  \\\"Id\\\": \\\"__default_policy_ID\\\",\n  \\\"Statement\\\": [\n    {\n      \\\"Sid\\\": \\\"__service_pub_0\\\",\n      \\\"Effect\\\": \\\"Allow\\\",\n      \\\"Principal\\\": {\n        \\\"Service\\\": [\n          \\\"OBS\\\"\n        ]\n      },\n      \\\"Action\\\": [\n        \\\"SMN:Publish\\\",\n        \\\"SMN:QueryTopicDetail\\\"\n      ],\n      \\\"Resource\\\": \\\"${topic1.topicUrn}\\\"\n    }\n  ]\n}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ntopic1 = opentelekomcloud.SmnTopicV2(\"topic_1\",\n    name=\"topic_1\",\n    display_name=\"The display name of topic_1\")\nattribute1 = opentelekomcloud.SmnTopicAttributeV2(\"attribute_1\",\n    topic_urn=topic1.topic_urn,\n    attribute_name=\"access_policy\",\n    topic_attribute=topic1.topic_urn.apply(lambda topic_urn: f\"\"\"{{\n  \\\"Version\\\": \\\"2016-09-07\\\",\n  \\\"Id\\\": \\\"__default_policy_ID\\\",\n  \\\"Statement\\\": [\n    {{\n      \\\"Sid\\\": \\\"__service_pub_0\\\",\n      \\\"Effect\\\": \\\"Allow\\\",\n      \\\"Principal\\\": {{\n        \\\"Service\\\": [\n          \\\"OBS\\\"\n        ]\n      }},\n      \\\"Action\\\": [\n        \\\"SMN:Publish\\\",\n        \\\"SMN:QueryTopicDetail\\\"\n      ],\n      \\\"Resource\\\": \\\"{topic_urn}\\\"\n    }}\n  ]\n}}\n\"\"\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var topic1 = new Opentelekomcloud.SmnTopicV2(\"topic_1\", new()\n    {\n        Name = \"topic_1\",\n        DisplayName = \"The display name of topic_1\",\n    });\n\n    var attribute1 = new Opentelekomcloud.SmnTopicAttributeV2(\"attribute_1\", new()\n    {\n        TopicUrn = topic1.TopicUrn,\n        AttributeName = \"access_policy\",\n        TopicAttribute = topic1.TopicUrn.Apply(topicUrn =\u003e @$\"{{\n  \\\"\"Version\\\"\": \\\"\"2016-09-07\\\"\",\n  \\\"\"Id\\\"\": \\\"\"__default_policy_ID\\\"\",\n  \\\"\"Statement\\\"\": [\n    {{\n      \\\"\"Sid\\\"\": \\\"\"__service_pub_0\\\"\",\n      \\\"\"Effect\\\"\": \\\"\"Allow\\\"\",\n      \\\"\"Principal\\\"\": {{\n        \\\"\"Service\\\"\": [\n          \\\"\"OBS\\\"\"\n        ]\n      }},\n      \\\"\"Action\\\"\": [\n        \\\"\"SMN:Publish\\\"\",\n        \\\"\"SMN:QueryTopicDetail\\\"\"\n      ],\n      \\\"\"Resource\\\"\": \\\"\"{topicUrn}\\\"\"\n    }}\n  ]\n}}\n\"),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttopic1, err := opentelekomcloud.NewSmnTopicV2(ctx, \"topic_1\", \u0026opentelekomcloud.SmnTopicV2Args{\n\t\t\tName:        pulumi.String(\"topic_1\"),\n\t\t\tDisplayName: pulumi.String(\"The display name of topic_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewSmnTopicAttributeV2(ctx, \"attribute_1\", \u0026opentelekomcloud.SmnTopicAttributeV2Args{\n\t\t\tTopicUrn:      topic1.TopicUrn,\n\t\t\tAttributeName: pulumi.String(\"access_policy\"),\n\t\t\tTopicAttribute: topic1.TopicUrn.ApplyT(func(topicUrn string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(`{\n  \\\"Version\\\": \\\"2016-09-07\\\",\n  \\\"Id\\\": \\\"__default_policy_ID\\\",\n  \\\"Statement\\\": [\n    {\n      \\\"Sid\\\": \\\"__service_pub_0\\\",\n      \\\"Effect\\\": \\\"Allow\\\",\n      \\\"Principal\\\": {\n        \\\"Service\\\": [\n          \\\"OBS\\\"\n        ]\n      },\n      \\\"Action\\\": [\n        \\\"SMN:Publish\\\",\n        \\\"SMN:QueryTopicDetail\\\"\n      ],\n      \\\"Resource\\\": \\\"%v\\\"\n    }\n  ]\n}\n`, topicUrn), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.SmnTopicV2;\nimport com.pulumi.opentelekomcloud.SmnTopicV2Args;\nimport com.pulumi.opentelekomcloud.SmnTopicAttributeV2;\nimport com.pulumi.opentelekomcloud.SmnTopicAttributeV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var topic1 = new SmnTopicV2(\"topic1\", SmnTopicV2Args.builder()\n            .name(\"topic_1\")\n            .displayName(\"The display name of topic_1\")\n            .build());\n\n        var attribute1 = new SmnTopicAttributeV2(\"attribute1\", SmnTopicAttributeV2Args.builder()\n            .topicUrn(topic1.topicUrn())\n            .attributeName(\"access_policy\")\n            .topicAttribute(topic1.topicUrn().applyValue(_topicUrn -\u003e \"\"\"\n{\n  \\\"Version\\\": \\\"2016-09-07\\\",\n  \\\"Id\\\": \\\"__default_policy_ID\\\",\n  \\\"Statement\\\": [\n    {\n      \\\"Sid\\\": \\\"__service_pub_0\\\",\n      \\\"Effect\\\": \\\"Allow\\\",\n      \\\"Principal\\\": {\n        \\\"Service\\\": [\n          \\\"OBS\\\"\n        ]\n      },\n      \\\"Action\\\": [\n        \\\"SMN:Publish\\\",\n        \\\"SMN:QueryTopicDetail\\\"\n      ],\n      \\\"Resource\\\": \\\"%s\\\"\n    }\n  ]\n}\n\", _topicUrn)))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  topic1:\n    type: opentelekomcloud:SmnTopicV2\n    name: topic_1\n    properties:\n      name: topic_1\n      displayName: The display name of topic_1\n  attribute1:\n    type: opentelekomcloud:SmnTopicAttributeV2\n    name: attribute_1\n    properties:\n      topicUrn: ${topic1.topicUrn}\n      attributeName: access_policy\n      topicAttribute: |\n        {\n          \\\"Version\\\": \\\"2016-09-07\\\",\n          \\\"Id\\\": \\\"__default_policy_ID\\\",\n          \\\"Statement\\\": [\n            {\n              \\\"Sid\\\": \\\"__service_pub_0\\\",\n              \\\"Effect\\\": \\\"Allow\\\",\n              \\\"Principal\\\": {\n                \\\"Service\\\": [\n                  \\\"OBS\\\"\n                ]\n              },\n              \\\"Action\\\": [\n                \\\"SMN:Publish\\\",\n                \\\"SMN:QueryTopicDetail\\\"\n              ],\n              \\\"Resource\\\": \\\"${topic1.topicUrn}\\\"\n            }\n          ]\n        }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSMNv2 Topic Attribute can be imported using the `\u003ctopic_urn\u003e/\u003cattribute_name\u003e`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/smnTopicAttributeV2:SmnTopicAttributeV2 attribute_1 urn:smn:eu-de:5045c215010c440d91b2f7dce1f3753b:example/access_policy\n```\n\n","properties":{"attributeName":{"type":"string","description":"Attribute name. Valid value is \u003cspan pulumi-lang-nodejs=\"`accessPolicy`\" pulumi-lang-dotnet=\"`AccessPolicy`\" pulumi-lang-go=\"`accessPolicy`\" pulumi-lang-python=\"`access_policy`\" pulumi-lang-yaml=\"`accessPolicy`\" pulumi-lang-java=\"`accessPolicy`\"\u003e`access_policy`\u003c/span\u003e.\n"},"smnTopicAttributeV2Id":{"type":"string"},"topicAttribute":{"type":"string","description":"Topic attribute value. The value cannot exceed 30 KB.\n"},"topicUrn":{"type":"string","description":"Resource identifier of a topic, which is unique.\n"}},"type":"object","required":["attributeName","smnTopicAttributeV2Id","topicAttribute","topicUrn"],"inputProperties":{"attributeName":{"type":"string","description":"Attribute name. Valid value is \u003cspan pulumi-lang-nodejs=\"`accessPolicy`\" pulumi-lang-dotnet=\"`AccessPolicy`\" pulumi-lang-go=\"`accessPolicy`\" pulumi-lang-python=\"`access_policy`\" pulumi-lang-yaml=\"`accessPolicy`\" pulumi-lang-java=\"`accessPolicy`\"\u003e`access_policy`\u003c/span\u003e.\n"},"smnTopicAttributeV2Id":{"type":"string"},"topicAttribute":{"type":"string","description":"Topic attribute value. The value cannot exceed 30 KB.\n"},"topicUrn":{"type":"string","description":"Resource identifier of a topic, which is unique.\n"}},"requiredInputs":["attributeName","topicAttribute","topicUrn"],"stateInputs":{"description":"Input properties used for looking up and filtering SmnTopicAttributeV2 resources.\n","properties":{"attributeName":{"type":"string","description":"Attribute name. Valid value is \u003cspan pulumi-lang-nodejs=\"`accessPolicy`\" pulumi-lang-dotnet=\"`AccessPolicy`\" pulumi-lang-go=\"`accessPolicy`\" pulumi-lang-python=\"`access_policy`\" pulumi-lang-yaml=\"`accessPolicy`\" pulumi-lang-java=\"`accessPolicy`\"\u003e`access_policy`\u003c/span\u003e.\n"},"smnTopicAttributeV2Id":{"type":"string"},"topicAttribute":{"type":"string","description":"Topic attribute value. The value cannot exceed 30 KB.\n"},"topicUrn":{"type":"string","description":"Resource identifier of a topic, which is unique.\n"}},"type":"object"}},"opentelekomcloud:index/smnTopicV2:SmnTopicV2":{"description":"Up-to-date reference of API arguments for SMN topic you can get at\n[documentation portal](https://docs.otc.t-systems.com/simple-message-notification/api-ref/apis/topic_operations)\n\nManages a V2 topic resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst topic1 = new opentelekomcloud.SmnTopicV2(\"topic_1\", {\n    name: \"topic_1\",\n    displayName: \"The display name of topic_1\",\n    tags: {\n        foo: \"bar\",\n        key: \"value\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ntopic1 = opentelekomcloud.SmnTopicV2(\"topic_1\",\n    name=\"topic_1\",\n    display_name=\"The display name of topic_1\",\n    tags={\n        \"foo\": \"bar\",\n        \"key\": \"value\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var topic1 = new Opentelekomcloud.SmnTopicV2(\"topic_1\", new()\n    {\n        Name = \"topic_1\",\n        DisplayName = \"The display name of topic_1\",\n        Tags = \n        {\n            { \"foo\", \"bar\" },\n            { \"key\", \"value\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewSmnTopicV2(ctx, \"topic_1\", \u0026opentelekomcloud.SmnTopicV2Args{\n\t\t\tName:        pulumi.String(\"topic_1\"),\n\t\t\tDisplayName: pulumi.String(\"The display name of topic_1\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t\t\"key\": pulumi.String(\"value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.SmnTopicV2;\nimport com.pulumi.opentelekomcloud.SmnTopicV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var topic1 = new SmnTopicV2(\"topic1\", SmnTopicV2Args.builder()\n            .name(\"topic_1\")\n            .displayName(\"The display name of topic_1\")\n            .tags(Map.ofEntries(\n                Map.entry(\"foo\", \"bar\"),\n                Map.entry(\"key\", \"value\")\n            ))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  topic1:\n    type: opentelekomcloud:SmnTopicV2\n    name: topic_1\n    properties:\n      name: topic_1\n      displayName: The display name of topic_1\n      tags:\n        foo: bar\n        key: value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"createTime":{"type":"string","description":"Time when the topic was created.\n"},"displayName":{"type":"string","description":"Topic display name, which is presented as the\nname of the email sender in an email message.\n"},"name":{"type":"string","description":"The name of the topic to be created.\n"},"projectName":{"type":"string","deprecationMessage":"Deprecated"},"pushPolicy":{"type":"number","description":"Message pushing policy. 0 indicates that the message\nsending fails and the message is cached in the queue. 1 indicates that the\nfailed message is discarded.\n"},"smnTopicV2Id":{"type":"string"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags key/value pairs to associate with the instance.\n"},"topicUrn":{"type":"string","description":"Resource identifier of a topic, which is unique.\n"},"updateTime":{"type":"string","description":"Time when the topic was updated.\n"}},"type":"object","required":["createTime","name","pushPolicy","smnTopicV2Id","topicUrn","updateTime"],"inputProperties":{"displayName":{"type":"string","description":"Topic display name, which is presented as the\nname of the email sender in an email message.\n"},"name":{"type":"string","description":"The name of the topic to be created.\n"},"projectName":{"type":"string","deprecationMessage":"Deprecated"},"smnTopicV2Id":{"type":"string"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags key/value pairs to associate with the instance.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering SmnTopicV2 resources.\n","properties":{"createTime":{"type":"string","description":"Time when the topic was created.\n"},"displayName":{"type":"string","description":"Topic display name, which is presented as the\nname of the email sender in an email message.\n"},"name":{"type":"string","description":"The name of the topic to be created.\n"},"projectName":{"type":"string","deprecationMessage":"Deprecated"},"pushPolicy":{"type":"number","description":"Message pushing policy. 0 indicates that the message\nsending fails and the message is cached in the queue. 1 indicates that the\nfailed message is discarded.\n"},"smnTopicV2Id":{"type":"string"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags key/value pairs to associate with the instance.\n"},"topicUrn":{"type":"string","description":"Resource identifier of a topic, which is unique.\n"},"updateTime":{"type":"string","description":"Time when the topic was updated.\n"}},"type":"object"}},"opentelekomcloud:index/swrDomainV2:SwrDomainV2":{"description":"Up-to-date reference of API arguments for SWR domain you can get at\n[documentation portal](https://docs.otc.t-systems.com/software-repository-container/api-ref/api)\n\nManages the SWR image sharing domain resource within Open Telekom Cloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst accessDomain = config.requireObject\u003cany\u003e(\"accessDomain\");\nconst org1 = new opentelekomcloud.SwrOrganizationV2(\"org_1\", {name: \"organization_1\"});\nconst repo1 = new opentelekomcloud.SwrRepositoryV2(\"repo_1\", {\n    organization: org1.name,\n    name: \"repository_1\",\n    description: \"Test repository\",\n    category: \"linux\",\n    isPublic: false,\n});\nconst domain1 = new opentelekomcloud.SwrDomainV2(\"domain_1\", {\n    organization: org1.name,\n    repository: repo1OpentelekomcloudSwrOrganizationV2.name,\n    accessDomain: accessDomain,\n    permission: \"read\",\n    deadline: \"forever\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\naccess_domain = config.require_object(\"accessDomain\")\norg1 = opentelekomcloud.SwrOrganizationV2(\"org_1\", name=\"organization_1\")\nrepo1 = opentelekomcloud.SwrRepositoryV2(\"repo_1\",\n    organization=org1.name,\n    name=\"repository_1\",\n    description=\"Test repository\",\n    category=\"linux\",\n    is_public=False)\ndomain1 = opentelekomcloud.SwrDomainV2(\"domain_1\",\n    organization=org1.name,\n    repository=repo1_opentelekomcloud_swr_organization_v2[\"name\"],\n    access_domain=access_domain,\n    permission=\"read\",\n    deadline=\"forever\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var accessDomain = config.RequireObject\u003cdynamic\u003e(\"accessDomain\");\n    var org1 = new Opentelekomcloud.SwrOrganizationV2(\"org_1\", new()\n    {\n        Name = \"organization_1\",\n    });\n\n    var repo1 = new Opentelekomcloud.SwrRepositoryV2(\"repo_1\", new()\n    {\n        Organization = org1.Name,\n        Name = \"repository_1\",\n        Description = \"Test repository\",\n        Category = \"linux\",\n        IsPublic = false,\n    });\n\n    var domain1 = new Opentelekomcloud.SwrDomainV2(\"domain_1\", new()\n    {\n        Organization = org1.Name,\n        Repository = repo1OpentelekomcloudSwrOrganizationV2.Name,\n        AccessDomain = accessDomain,\n        Permission = \"read\",\n        Deadline = \"forever\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\taccessDomain := cfg.RequireObject(\"accessDomain\")\n\t\torg1, err := opentelekomcloud.NewSwrOrganizationV2(ctx, \"org_1\", \u0026opentelekomcloud.SwrOrganizationV2Args{\n\t\t\tName: pulumi.String(\"organization_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewSwrRepositoryV2(ctx, \"repo_1\", \u0026opentelekomcloud.SwrRepositoryV2Args{\n\t\t\tOrganization: org1.Name,\n\t\t\tName:         pulumi.String(\"repository_1\"),\n\t\t\tDescription:  pulumi.String(\"Test repository\"),\n\t\t\tCategory:     pulumi.String(\"linux\"),\n\t\t\tIsPublic:     pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewSwrDomainV2(ctx, \"domain_1\", \u0026opentelekomcloud.SwrDomainV2Args{\n\t\t\tOrganization: org1.Name,\n\t\t\tRepository:   pulumi.Any(repo1OpentelekomcloudSwrOrganizationV2.Name),\n\t\t\tAccessDomain: pulumi.Any(accessDomain),\n\t\t\tPermission:   pulumi.String(\"read\"),\n\t\t\tDeadline:     pulumi.String(\"forever\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.SwrOrganizationV2;\nimport com.pulumi.opentelekomcloud.SwrOrganizationV2Args;\nimport com.pulumi.opentelekomcloud.SwrRepositoryV2;\nimport com.pulumi.opentelekomcloud.SwrRepositoryV2Args;\nimport com.pulumi.opentelekomcloud.SwrDomainV2;\nimport com.pulumi.opentelekomcloud.SwrDomainV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var accessDomain = config.get(\"accessDomain\");\n        var org1 = new SwrOrganizationV2(\"org1\", SwrOrganizationV2Args.builder()\n            .name(\"organization_1\")\n            .build());\n\n        var repo1 = new SwrRepositoryV2(\"repo1\", SwrRepositoryV2Args.builder()\n            .organization(org1.name())\n            .name(\"repository_1\")\n            .description(\"Test repository\")\n            .category(\"linux\")\n            .isPublic(false)\n            .build());\n\n        var domain1 = new SwrDomainV2(\"domain1\", SwrDomainV2Args.builder()\n            .organization(org1.name())\n            .repository(repo1OpentelekomcloudSwrOrganizationV2.name())\n            .accessDomain(accessDomain)\n            .permission(\"read\")\n            .deadline(\"forever\")\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  accessDomain:\n    type: dynamic\nresources:\n  org1:\n    type: opentelekomcloud:SwrOrganizationV2\n    name: org_1\n    properties:\n      name: organization_1\n  repo1:\n    type: opentelekomcloud:SwrRepositoryV2\n    name: repo_1\n    properties:\n      organization: ${org1.name}\n      name: repository_1\n      description: Test repository\n      category: linux\n      isPublic: false\n  domain1:\n    type: opentelekomcloud:SwrDomainV2\n    name: domain_1\n    properties:\n      organization: ${org1.name}\n      repository: ${repo1OpentelekomcloudSwrOrganizationV2.name}\n      accessDomain: ${accessDomain}\n      permission: read\n      deadline: forever\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"accessDomain":{"type":"string","description":"The name of the domain for image sharing.\n\n\u003e \u003cspan pulumi-lang-nodejs=\"`accessDomain`\" pulumi-lang-dotnet=\"`AccessDomain`\" pulumi-lang-go=\"`accessDomain`\" pulumi-lang-python=\"`access_domain`\" pulumi-lang-yaml=\"`accessDomain`\" pulumi-lang-java=\"`accessDomain`\"\u003e`access_domain`\u003c/span\u003e should be an existing OTC domain.\n"},"created":{"type":"string","description":"Indicates the creation time.\n"},"creatorId":{"type":"string","description":"Username ID of the domain creator.\n"},"creatorName":{"type":"string","description":"Username of the domain creator.\n"},"deadline":{"type":"string","description":"End date of image sharing (UTC). When the value is set to \u003cspan pulumi-lang-nodejs=\"`forever`\" pulumi-lang-dotnet=\"`Forever`\" pulumi-lang-go=\"`forever`\" pulumi-lang-python=\"`forever`\" pulumi-lang-yaml=\"`forever`\" pulumi-lang-java=\"`forever`\"\u003e`forever`\u003c/span\u003e,\nthe image will be permanently available for the domain. The validity period is calculated by day.\nThe shared images expire at `00:00:00` on the day after the end date.\n"},"description":{"type":"string","description":"Specifies SWR domain description.\n"},"organization":{"type":"string","description":"The name of the repository organization.\n"},"permission":{"type":"string","description":"Permission to be granted. Currently, only the \u003cspan pulumi-lang-nodejs=\"`read`\" pulumi-lang-dotnet=\"`Read`\" pulumi-lang-go=\"`read`\" pulumi-lang-python=\"`read`\" pulumi-lang-yaml=\"`read`\" pulumi-lang-java=\"`read`\"\u003e`read`\u003c/span\u003e permission is supported.\n"},"repository":{"type":"string","description":"The name of the repository.\n"},"status":{"type":"boolean","description":"Indicates the domain is valid (\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e) or expired (\u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e).\n"},"swrDomainV2Id":{"type":"string"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FSwrDomainV2Timeouts:SwrDomainV2Timeouts"},"updated":{"type":"string","description":"Indicates the domain when was last updated.\n"}},"type":"object","required":["accessDomain","created","creatorId","creatorName","deadline","organization","permission","repository","status","swrDomainV2Id","updated"],"inputProperties":{"accessDomain":{"type":"string","description":"The name of the domain for image sharing.\n\n\u003e \u003cspan pulumi-lang-nodejs=\"`accessDomain`\" pulumi-lang-dotnet=\"`AccessDomain`\" pulumi-lang-go=\"`accessDomain`\" pulumi-lang-python=\"`access_domain`\" pulumi-lang-yaml=\"`accessDomain`\" pulumi-lang-java=\"`accessDomain`\"\u003e`access_domain`\u003c/span\u003e should be an existing OTC domain.\n"},"deadline":{"type":"string","description":"End date of image sharing (UTC). When the value is set to \u003cspan pulumi-lang-nodejs=\"`forever`\" pulumi-lang-dotnet=\"`Forever`\" pulumi-lang-go=\"`forever`\" pulumi-lang-python=\"`forever`\" pulumi-lang-yaml=\"`forever`\" pulumi-lang-java=\"`forever`\"\u003e`forever`\u003c/span\u003e,\nthe image will be permanently available for the domain. The validity period is calculated by day.\nThe shared images expire at `00:00:00` on the day after the end date.\n"},"description":{"type":"string","description":"Specifies SWR domain description.\n"},"organization":{"type":"string","description":"The name of the repository organization.\n"},"permission":{"type":"string","description":"Permission to be granted. Currently, only the \u003cspan pulumi-lang-nodejs=\"`read`\" pulumi-lang-dotnet=\"`Read`\" pulumi-lang-go=\"`read`\" pulumi-lang-python=\"`read`\" pulumi-lang-yaml=\"`read`\" pulumi-lang-java=\"`read`\"\u003e`read`\u003c/span\u003e permission is supported.\n"},"repository":{"type":"string","description":"The name of the repository.\n"},"swrDomainV2Id":{"type":"string"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FSwrDomainV2Timeouts:SwrDomainV2Timeouts"}},"requiredInputs":["accessDomain","deadline","organization","permission","repository"],"stateInputs":{"description":"Input properties used for looking up and filtering SwrDomainV2 resources.\n","properties":{"accessDomain":{"type":"string","description":"The name of the domain for image sharing.\n\n\u003e \u003cspan pulumi-lang-nodejs=\"`accessDomain`\" pulumi-lang-dotnet=\"`AccessDomain`\" pulumi-lang-go=\"`accessDomain`\" pulumi-lang-python=\"`access_domain`\" pulumi-lang-yaml=\"`accessDomain`\" pulumi-lang-java=\"`accessDomain`\"\u003e`access_domain`\u003c/span\u003e should be an existing OTC domain.\n"},"created":{"type":"string","description":"Indicates the creation time.\n"},"creatorId":{"type":"string","description":"Username ID of the domain creator.\n"},"creatorName":{"type":"string","description":"Username of the domain creator.\n"},"deadline":{"type":"string","description":"End date of image sharing (UTC). When the value is set to \u003cspan pulumi-lang-nodejs=\"`forever`\" pulumi-lang-dotnet=\"`Forever`\" pulumi-lang-go=\"`forever`\" pulumi-lang-python=\"`forever`\" pulumi-lang-yaml=\"`forever`\" pulumi-lang-java=\"`forever`\"\u003e`forever`\u003c/span\u003e,\nthe image will be permanently available for the domain. The validity period is calculated by day.\nThe shared images expire at `00:00:00` on the day after the end date.\n"},"description":{"type":"string","description":"Specifies SWR domain description.\n"},"organization":{"type":"string","description":"The name of the repository organization.\n"},"permission":{"type":"string","description":"Permission to be granted. Currently, only the \u003cspan pulumi-lang-nodejs=\"`read`\" pulumi-lang-dotnet=\"`Read`\" pulumi-lang-go=\"`read`\" pulumi-lang-python=\"`read`\" pulumi-lang-yaml=\"`read`\" pulumi-lang-java=\"`read`\"\u003e`read`\u003c/span\u003e permission is supported.\n"},"repository":{"type":"string","description":"The name of the repository.\n"},"status":{"type":"boolean","description":"Indicates the domain is valid (\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e) or expired (\u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e).\n"},"swrDomainV2Id":{"type":"string"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FSwrDomainV2Timeouts:SwrDomainV2Timeouts"},"updated":{"type":"string","description":"Indicates the domain when was last updated.\n"}},"type":"object"}},"opentelekomcloud:index/swrOrganizationPermissionsV2:SwrOrganizationPermissionsV2":{"description":"Up-to-date reference of API arguments for SWR permission you can get at\n[documentation portal](https://docs.otc.t-systems.com/software-repository-container/api-ref/api)\n\nManages user permissions for the SWR organization resource within Open Telekom Cloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst org1 = new opentelekomcloud.SwrOrganizationV2(\"org_1\", {name: \"organization_1\"});\nconst user1 = new opentelekomcloud.SwrOrganizationPermissionsV2(\"user_1\", {\n    organization: org1.name,\n    userId: userId,\n    username: username,\n    auth: 3,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\norg1 = opentelekomcloud.SwrOrganizationV2(\"org_1\", name=\"organization_1\")\nuser1 = opentelekomcloud.SwrOrganizationPermissionsV2(\"user_1\",\n    organization=org1.name,\n    user_id=user_id,\n    username=username,\n    auth=3)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var org1 = new Opentelekomcloud.SwrOrganizationV2(\"org_1\", new()\n    {\n        Name = \"organization_1\",\n    });\n\n    var user1 = new Opentelekomcloud.SwrOrganizationPermissionsV2(\"user_1\", new()\n    {\n        Organization = org1.Name,\n        UserId = userId,\n        Username = username,\n        Auth = 3,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\torg1, err := opentelekomcloud.NewSwrOrganizationV2(ctx, \"org_1\", \u0026opentelekomcloud.SwrOrganizationV2Args{\n\t\t\tName: pulumi.String(\"organization_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewSwrOrganizationPermissionsV2(ctx, \"user_1\", \u0026opentelekomcloud.SwrOrganizationPermissionsV2Args{\n\t\t\tOrganization: org1.Name,\n\t\t\tUserId:       pulumi.Any(userId),\n\t\t\tUsername:     pulumi.Any(username),\n\t\t\tAuth:         pulumi.Float64(3),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.SwrOrganizationV2;\nimport com.pulumi.opentelekomcloud.SwrOrganizationV2Args;\nimport com.pulumi.opentelekomcloud.SwrOrganizationPermissionsV2;\nimport com.pulumi.opentelekomcloud.SwrOrganizationPermissionsV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var org1 = new SwrOrganizationV2(\"org1\", SwrOrganizationV2Args.builder()\n            .name(\"organization_1\")\n            .build());\n\n        var user1 = new SwrOrganizationPermissionsV2(\"user1\", SwrOrganizationPermissionsV2Args.builder()\n            .organization(org1.name())\n            .userId(userId)\n            .username(username)\n            .auth(3.0)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  org1:\n    type: opentelekomcloud:SwrOrganizationV2\n    name: org_1\n    properties:\n      name: organization_1\n  user1:\n    type: opentelekomcloud:SwrOrganizationPermissionsV2\n    name: user_1\n    properties:\n      organization: ${org1.name}\n      userId: ${userId}\n      username: ${username}\n      auth: 3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"auth":{"type":"number","description":"User permission that is configured.\nThe value can be \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e. \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e ― manage, \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e ―  write, \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e ― read.\n"},"organization":{"type":"string","description":"The name of the organization (namespace) to be accessed.\n"},"swrOrganizationPermissionsV2Id":{"type":"string"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FSwrOrganizationPermissionsV2Timeouts:SwrOrganizationPermissionsV2Timeouts"},"userId":{"type":"string","description":"The ID of the existing Open Telekom Cloud user.\n"},"username":{"type":"string","description":"The username of the existing Open Telekom Cloud user.\n"}},"type":"object","required":["auth","organization","swrOrganizationPermissionsV2Id","userId","username"],"inputProperties":{"auth":{"type":"number","description":"User permission that is configured.\nThe value can be \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e. \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e ― manage, \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e ―  write, \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e ― read.\n"},"organization":{"type":"string","description":"The name of the organization (namespace) to be accessed.\n"},"swrOrganizationPermissionsV2Id":{"type":"string"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FSwrOrganizationPermissionsV2Timeouts:SwrOrganizationPermissionsV2Timeouts"},"userId":{"type":"string","description":"The ID of the existing Open Telekom Cloud user.\n"},"username":{"type":"string","description":"The username of the existing Open Telekom Cloud user.\n"}},"requiredInputs":["auth","organization","userId","username"],"stateInputs":{"description":"Input properties used for looking up and filtering SwrOrganizationPermissionsV2 resources.\n","properties":{"auth":{"type":"number","description":"User permission that is configured.\nThe value can be \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e. \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e ― manage, \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e ―  write, \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e ― read.\n"},"organization":{"type":"string","description":"The name of the organization (namespace) to be accessed.\n"},"swrOrganizationPermissionsV2Id":{"type":"string"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FSwrOrganizationPermissionsV2Timeouts:SwrOrganizationPermissionsV2Timeouts"},"userId":{"type":"string","description":"The ID of the existing Open Telekom Cloud user.\n"},"username":{"type":"string","description":"The username of the existing Open Telekom Cloud user.\n"}},"type":"object"}},"opentelekomcloud:index/swrOrganizationV2:SwrOrganizationV2":{"description":"Up-to-date reference of API arguments for SWR organization you can get at\n[documentation portal](https://docs.otc.t-systems.com/software-repository-container/api-ref/api)\n\nManages the SWR organization resource within Open Telekom Cloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst org1 = new opentelekomcloud.SwrOrganizationV2(\"org_1\", {name: \"organization_1\"});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\norg1 = opentelekomcloud.SwrOrganizationV2(\"org_1\", name=\"organization_1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var org1 = new Opentelekomcloud.SwrOrganizationV2(\"org_1\", new()\n    {\n        Name = \"organization_1\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewSwrOrganizationV2(ctx, \"org_1\", \u0026opentelekomcloud.SwrOrganizationV2Args{\n\t\t\tName: pulumi.String(\"organization_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.SwrOrganizationV2;\nimport com.pulumi.opentelekomcloud.SwrOrganizationV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var org1 = new SwrOrganizationV2(\"org1\", SwrOrganizationV2Args.builder()\n            .name(\"organization_1\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  org1:\n    type: opentelekomcloud:SwrOrganizationV2\n    name: org_1\n    properties:\n      name: organization_1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nOrganizations can be imported using the `name`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/swrOrganizationV2:SwrOrganizationV2 org_1 organization_1\n```\n\n","properties":{"auth":{"type":"number","description":"User permission. The value can be \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e. \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e: manage \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e: write \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e: read\n"},"creatorName":{"type":"string","description":"Username of the organization creator.\n"},"name":{"type":"string","description":"The name of the organization (namespace) to be created.\nEnter \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e characters, starting with a lowercase letter and ending with a lowercase letter or digit.\nOnly lowercase letters, digits, periods (`.`), underscores (`_`), and hyphens (`-`) are allowed.\nPeriods, underscores, and hyphens cannot be placed next to each other.\nA maximum of two consecutive underscores are allowed.\n"},"organizationId":{"type":"number","description":"Numeric ID of the organization.\n"},"swrOrganizationV2Id":{"type":"string"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FSwrOrganizationV2Timeouts:SwrOrganizationV2Timeouts"}},"type":"object","required":["auth","creatorName","name","organizationId","swrOrganizationV2Id"],"inputProperties":{"name":{"type":"string","description":"The name of the organization (namespace) to be created.\nEnter \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e characters, starting with a lowercase letter and ending with a lowercase letter or digit.\nOnly lowercase letters, digits, periods (`.`), underscores (`_`), and hyphens (`-`) are allowed.\nPeriods, underscores, and hyphens cannot be placed next to each other.\nA maximum of two consecutive underscores are allowed.\n"},"swrOrganizationV2Id":{"type":"string"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FSwrOrganizationV2Timeouts:SwrOrganizationV2Timeouts"}},"stateInputs":{"description":"Input properties used for looking up and filtering SwrOrganizationV2 resources.\n","properties":{"auth":{"type":"number","description":"User permission. The value can be \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e. \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e: manage \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e: write \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e: read\n"},"creatorName":{"type":"string","description":"Username of the organization creator.\n"},"name":{"type":"string","description":"The name of the organization (namespace) to be created.\nEnter \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e characters, starting with a lowercase letter and ending with a lowercase letter or digit.\nOnly lowercase letters, digits, periods (`.`), underscores (`_`), and hyphens (`-`) are allowed.\nPeriods, underscores, and hyphens cannot be placed next to each other.\nA maximum of two consecutive underscores are allowed.\n"},"organizationId":{"type":"number","description":"Numeric ID of the organization.\n"},"swrOrganizationV2Id":{"type":"string"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FSwrOrganizationV2Timeouts:SwrOrganizationV2Timeouts"}},"type":"object"}},"opentelekomcloud:index/swrPolicyV2:SwrPolicyV2":{"description":"Up-to-date reference of API arguments for SWR image retention policy you can get at\n[documentation portal](https://docs.otc.t-systems.com/software-repository-container/api-ref/apis/image_retention_policy_management/index.html#swr-02-0094)\n\nManages the SWR image retention policy resource within Open Telekom Cloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst orgName = config.requireObject\u003cany\u003e(\"orgName\");\nconst repoName = config.requireObject\u003cany\u003e(\"repoName\");\nconst policy1 = new opentelekomcloud.SwrPolicyV2(\"policy_1\", {\n    organization: orgName,\n    repository: repoName,\n    algorithm: \"or\",\n    rules: [{\n        template: \"date_rule\",\n        params: {\n            days: \"30\",\n        },\n        tagSelectors: [{\n            kind: \"label\",\n            pattern: \"v1\",\n        }],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\norg_name = config.require_object(\"orgName\")\nrepo_name = config.require_object(\"repoName\")\npolicy1 = opentelekomcloud.SwrPolicyV2(\"policy_1\",\n    organization=org_name,\n    repository=repo_name,\n    algorithm=\"or\",\n    rules=[{\n        \"template\": \"date_rule\",\n        \"params\": {\n            \"days\": \"30\",\n        },\n        \"tag_selectors\": [{\n            \"kind\": \"label\",\n            \"pattern\": \"v1\",\n        }],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var orgName = config.RequireObject\u003cdynamic\u003e(\"orgName\");\n    var repoName = config.RequireObject\u003cdynamic\u003e(\"repoName\");\n    var policy1 = new Opentelekomcloud.SwrPolicyV2(\"policy_1\", new()\n    {\n        Organization = orgName,\n        Repository = repoName,\n        Algorithm = \"or\",\n        Rules = new[]\n        {\n            new Opentelekomcloud.Inputs.SwrPolicyV2RuleArgs\n            {\n                Template = \"date_rule\",\n                Params = \n                {\n                    { \"days\", \"30\" },\n                },\n                TagSelectors = new[]\n                {\n                    new Opentelekomcloud.Inputs.SwrPolicyV2RuleTagSelectorArgs\n                    {\n                        Kind = \"label\",\n                        Pattern = \"v1\",\n                    },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\torgName := cfg.RequireObject(\"orgName\")\n\t\trepoName := cfg.RequireObject(\"repoName\")\n\t\t_, err := opentelekomcloud.NewSwrPolicyV2(ctx, \"policy_1\", \u0026opentelekomcloud.SwrPolicyV2Args{\n\t\t\tOrganization: pulumi.Any(orgName),\n\t\t\tRepository:   pulumi.Any(repoName),\n\t\t\tAlgorithm:    pulumi.String(\"or\"),\n\t\t\tRules: opentelekomcloud.SwrPolicyV2RuleArray{\n\t\t\t\t\u0026opentelekomcloud.SwrPolicyV2RuleArgs{\n\t\t\t\t\tTemplate: pulumi.String(\"date_rule\"),\n\t\t\t\t\tParams: pulumi.StringMap{\n\t\t\t\t\t\t\"days\": pulumi.String(\"30\"),\n\t\t\t\t\t},\n\t\t\t\t\tTagSelectors: opentelekomcloud.SwrPolicyV2RuleTagSelectorArray{\n\t\t\t\t\t\t\u0026opentelekomcloud.SwrPolicyV2RuleTagSelectorArgs{\n\t\t\t\t\t\t\tKind:    pulumi.String(\"label\"),\n\t\t\t\t\t\t\tPattern: pulumi.String(\"v1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.SwrPolicyV2;\nimport com.pulumi.opentelekomcloud.SwrPolicyV2Args;\nimport com.pulumi.opentelekomcloud.inputs.SwrPolicyV2RuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var orgName = config.get(\"orgName\");\n        final var repoName = config.get(\"repoName\");\n        var policy1 = new SwrPolicyV2(\"policy1\", SwrPolicyV2Args.builder()\n            .organization(orgName)\n            .repository(repoName)\n            .algorithm(\"or\")\n            .rules(SwrPolicyV2RuleArgs.builder()\n                .template(\"date_rule\")\n                .params(Map.of(\"days\", \"30\"))\n                .tagSelectors(SwrPolicyV2RuleTagSelectorArgs.builder()\n                    .kind(\"label\")\n                    .pattern(\"v1\")\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  orgName:\n    type: dynamic\n  repoName:\n    type: dynamic\nresources:\n  policy1:\n    type: opentelekomcloud:SwrPolicyV2\n    name: policy_1\n    properties:\n      organization: ${orgName}\n      repository: ${repoName}\n      algorithm: or\n      rules:\n        - template: date_rule\n          params:\n            days: '30'\n          tagSelectors:\n            - kind: label\n              pattern: v1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSWR image retention policy can be imported using the organization name `\u003corg_name\u003e`, repository name `\u003crepo_name\u003e`, and policy ID `\u003cid\u003e`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/swrPolicyV2:SwrPolicyV2 policy_1 \u003corg_name\u003e/\u003crepo_name\u003e/\u003cid\u003e\n```\n\n","properties":{"algorithm":{"type":"string","description":"Specifies the image retention policy matching rule. Accepted value: \u003cspan pulumi-lang-nodejs=\"`or`\" pulumi-lang-dotnet=\"`Or`\" pulumi-lang-go=\"`or`\" pulumi-lang-python=\"`or`\" pulumi-lang-yaml=\"`or`\" pulumi-lang-java=\"`or`\"\u003e`or`\u003c/span\u003e.\n"},"organization":{"type":"string","description":"Specifies the name of the repository organization.\n"},"repository":{"type":"string","description":"Specifies the name of the image repository.\n"},"rules":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FSwrPolicyV2Rule:SwrPolicyV2Rule"},"description":"Specifies the image retention policy. The rules structure is documented below.\n\n\u003ca name=\"rules\"\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`rules`\" pulumi-lang-dotnet=\"`Rules`\" pulumi-lang-go=\"`rules`\" pulumi-lang-python=\"`rules`\" pulumi-lang-yaml=\"`rules`\" pulumi-lang-java=\"`rules`\"\u003e`rules`\u003c/span\u003e block supports:\n"},"scope":{"type":"string"},"swrPolicyV2Id":{"type":"string","description":"ID of the image retention policy.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FSwrPolicyV2Timeouts:SwrPolicyV2Timeouts"}},"type":"object","required":["algorithm","organization","repository","rules","scope","swrPolicyV2Id"],"inputProperties":{"algorithm":{"type":"string","description":"Specifies the image retention policy matching rule. Accepted value: \u003cspan pulumi-lang-nodejs=\"`or`\" pulumi-lang-dotnet=\"`Or`\" pulumi-lang-go=\"`or`\" pulumi-lang-python=\"`or`\" pulumi-lang-yaml=\"`or`\" pulumi-lang-java=\"`or`\"\u003e`or`\u003c/span\u003e.\n"},"organization":{"type":"string","description":"Specifies the name of the repository organization.\n"},"repository":{"type":"string","description":"Specifies the name of the image repository.\n"},"rules":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FSwrPolicyV2Rule:SwrPolicyV2Rule"},"description":"Specifies the image retention policy. The rules structure is documented below.\n\n\u003ca name=\"rules\"\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`rules`\" pulumi-lang-dotnet=\"`Rules`\" pulumi-lang-go=\"`rules`\" pulumi-lang-python=\"`rules`\" pulumi-lang-yaml=\"`rules`\" pulumi-lang-java=\"`rules`\"\u003e`rules`\u003c/span\u003e block supports:\n"},"swrPolicyV2Id":{"type":"string","description":"ID of the image retention policy.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FSwrPolicyV2Timeouts:SwrPolicyV2Timeouts"}},"requiredInputs":["algorithm","organization","repository","rules"],"stateInputs":{"description":"Input properties used for looking up and filtering SwrPolicyV2 resources.\n","properties":{"algorithm":{"type":"string","description":"Specifies the image retention policy matching rule. Accepted value: \u003cspan pulumi-lang-nodejs=\"`or`\" pulumi-lang-dotnet=\"`Or`\" pulumi-lang-go=\"`or`\" pulumi-lang-python=\"`or`\" pulumi-lang-yaml=\"`or`\" pulumi-lang-java=\"`or`\"\u003e`or`\u003c/span\u003e.\n"},"organization":{"type":"string","description":"Specifies the name of the repository organization.\n"},"repository":{"type":"string","description":"Specifies the name of the image repository.\n"},"rules":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FSwrPolicyV2Rule:SwrPolicyV2Rule"},"description":"Specifies the image retention policy. The rules structure is documented below.\n\n\u003ca name=\"rules\"\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`rules`\" pulumi-lang-dotnet=\"`Rules`\" pulumi-lang-go=\"`rules`\" pulumi-lang-python=\"`rules`\" pulumi-lang-yaml=\"`rules`\" pulumi-lang-java=\"`rules`\"\u003e`rules`\u003c/span\u003e block supports:\n"},"scope":{"type":"string"},"swrPolicyV2Id":{"type":"string","description":"ID of the image retention policy.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FSwrPolicyV2Timeouts:SwrPolicyV2Timeouts"}},"type":"object"}},"opentelekomcloud:index/swrRepositoryV2:SwrRepositoryV2":{"description":"Up-to-date reference of API arguments for SWR repository you can get at\n[documentation portal](https://docs.otc.t-systems.com/software-repository-container/api-ref/api)\n\nManages the SWR repository resource within Open Telekom Cloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst org1 = new opentelekomcloud.SwrOrganizationV2(\"org_1\", {name: \"organization_1\"});\nconst repo1 = new opentelekomcloud.SwrRepositoryV2(\"repo_1\", {\n    organization: org1.name,\n    name: \"repository_1\",\n    description: \"Test repository\",\n    category: \"linux\",\n    isPublic: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\norg1 = opentelekomcloud.SwrOrganizationV2(\"org_1\", name=\"organization_1\")\nrepo1 = opentelekomcloud.SwrRepositoryV2(\"repo_1\",\n    organization=org1.name,\n    name=\"repository_1\",\n    description=\"Test repository\",\n    category=\"linux\",\n    is_public=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var org1 = new Opentelekomcloud.SwrOrganizationV2(\"org_1\", new()\n    {\n        Name = \"organization_1\",\n    });\n\n    var repo1 = new Opentelekomcloud.SwrRepositoryV2(\"repo_1\", new()\n    {\n        Organization = org1.Name,\n        Name = \"repository_1\",\n        Description = \"Test repository\",\n        Category = \"linux\",\n        IsPublic = false,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\torg1, err := opentelekomcloud.NewSwrOrganizationV2(ctx, \"org_1\", \u0026opentelekomcloud.SwrOrganizationV2Args{\n\t\t\tName: pulumi.String(\"organization_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewSwrRepositoryV2(ctx, \"repo_1\", \u0026opentelekomcloud.SwrRepositoryV2Args{\n\t\t\tOrganization: org1.Name,\n\t\t\tName:         pulumi.String(\"repository_1\"),\n\t\t\tDescription:  pulumi.String(\"Test repository\"),\n\t\t\tCategory:     pulumi.String(\"linux\"),\n\t\t\tIsPublic:     pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.SwrOrganizationV2;\nimport com.pulumi.opentelekomcloud.SwrOrganizationV2Args;\nimport com.pulumi.opentelekomcloud.SwrRepositoryV2;\nimport com.pulumi.opentelekomcloud.SwrRepositoryV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var org1 = new SwrOrganizationV2(\"org1\", SwrOrganizationV2Args.builder()\n            .name(\"organization_1\")\n            .build());\n\n        var repo1 = new SwrRepositoryV2(\"repo1\", SwrRepositoryV2Args.builder()\n            .organization(org1.name())\n            .name(\"repository_1\")\n            .description(\"Test repository\")\n            .category(\"linux\")\n            .isPublic(false)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  org1:\n    type: opentelekomcloud:SwrOrganizationV2\n    name: org_1\n    properties:\n      name: organization_1\n  repo1:\n    type: opentelekomcloud:SwrRepositoryV2\n    name: repo_1\n    properties:\n      organization: ${org1.name}\n      name: repository_1\n      description: Test repository\n      category: linux\n      isPublic: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRepositories can be imported with `organization/repository`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/swrRepositoryV2:SwrRepositoryV2 repo_1 organization_1/repository_1\n```\n\n","properties":{"category":{"type":"string","description":"Repository category. The value can be \u003cspan pulumi-lang-nodejs=\"`appServer`\" pulumi-lang-dotnet=\"`AppServer`\" pulumi-lang-go=\"`appServer`\" pulumi-lang-python=\"`app_server`\" pulumi-lang-yaml=\"`appServer`\" pulumi-lang-java=\"`appServer`\"\u003e`app_server`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`linux`\" pulumi-lang-dotnet=\"`Linux`\" pulumi-lang-go=\"`linux`\" pulumi-lang-python=\"`linux`\" pulumi-lang-yaml=\"`linux`\" pulumi-lang-java=\"`linux`\"\u003e`linux`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`frameworkApp`\" pulumi-lang-dotnet=\"`FrameworkApp`\" pulumi-lang-go=\"`frameworkApp`\" pulumi-lang-python=\"`framework_app`\" pulumi-lang-yaml=\"`frameworkApp`\" pulumi-lang-java=\"`frameworkApp`\"\u003e`framework_app`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`database`\" pulumi-lang-dotnet=\"`Database`\" pulumi-lang-go=\"`database`\" pulumi-lang-python=\"`database`\" pulumi-lang-yaml=\"`database`\" pulumi-lang-java=\"`database`\"\u003e`database`\u003c/span\u003e,\n\u003cspan pulumi-lang-nodejs=\"`lang`\" pulumi-lang-dotnet=\"`Lang`\" pulumi-lang-go=\"`lang`\" pulumi-lang-python=\"`lang`\" pulumi-lang-yaml=\"`lang`\" pulumi-lang-java=\"`lang`\"\u003e`lang`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`other`\" pulumi-lang-dotnet=\"`Other`\" pulumi-lang-go=\"`other`\" pulumi-lang-python=\"`other`\" pulumi-lang-yaml=\"`other`\" pulumi-lang-java=\"`other`\"\u003e`other`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`windows`\" pulumi-lang-dotnet=\"`Windows`\" pulumi-lang-go=\"`windows`\" pulumi-lang-python=\"`windows`\" pulumi-lang-yaml=\"`windows`\" pulumi-lang-java=\"`windows`\"\u003e`windows`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`arm`\" pulumi-lang-dotnet=\"`Arm`\" pulumi-lang-go=\"`arm`\" pulumi-lang-python=\"`arm`\" pulumi-lang-yaml=\"`arm`\" pulumi-lang-java=\"`arm`\"\u003e`arm`\u003c/span\u003e.\n"},"description":{"type":"string","description":"Repository description.\n"},"internalPath":{"type":"string","description":"Intra-cluster image address for docker pull.\n"},"isPublic":{"type":"boolean","description":"Whether the repository is public.\nWhen the value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, it indicates the repository is public.\nWhen the value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, it indicates the repository is private.\n"},"name":{"type":"string","description":"Enter 1 to 128 characters, starting and ending with a lowercase letter or digit.\nOnly lowercase letters, digits, periods (`.`), slashes (`/`), underscores (`_`), and hyphens (`-`) are allowed.\nPeriods, underscores, and hyphens cannot be placed next to each other.\nA maximum of two consecutive underscores are allowed.\n"},"numImages":{"type":"number","description":"Number of image tags in a repository.\n"},"organization":{"type":"string","description":"The name of the repository organization.\n"},"path":{"type":"string","description":"Image address for docker pull.\n"},"repositoryId":{"type":"number","description":"Numeric ID of the repository.\n"},"size":{"type":"number","description":"Repository size.\n"},"swrRepositoryV2Id":{"type":"string"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FSwrRepositoryV2Timeouts:SwrRepositoryV2Timeouts"}},"type":"object","required":["internalPath","isPublic","name","numImages","organization","path","repositoryId","size","swrRepositoryV2Id"],"inputProperties":{"category":{"type":"string","description":"Repository category. The value can be \u003cspan pulumi-lang-nodejs=\"`appServer`\" pulumi-lang-dotnet=\"`AppServer`\" pulumi-lang-go=\"`appServer`\" pulumi-lang-python=\"`app_server`\" pulumi-lang-yaml=\"`appServer`\" pulumi-lang-java=\"`appServer`\"\u003e`app_server`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`linux`\" pulumi-lang-dotnet=\"`Linux`\" pulumi-lang-go=\"`linux`\" pulumi-lang-python=\"`linux`\" pulumi-lang-yaml=\"`linux`\" pulumi-lang-java=\"`linux`\"\u003e`linux`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`frameworkApp`\" pulumi-lang-dotnet=\"`FrameworkApp`\" pulumi-lang-go=\"`frameworkApp`\" pulumi-lang-python=\"`framework_app`\" pulumi-lang-yaml=\"`frameworkApp`\" pulumi-lang-java=\"`frameworkApp`\"\u003e`framework_app`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`database`\" pulumi-lang-dotnet=\"`Database`\" pulumi-lang-go=\"`database`\" pulumi-lang-python=\"`database`\" pulumi-lang-yaml=\"`database`\" pulumi-lang-java=\"`database`\"\u003e`database`\u003c/span\u003e,\n\u003cspan pulumi-lang-nodejs=\"`lang`\" pulumi-lang-dotnet=\"`Lang`\" pulumi-lang-go=\"`lang`\" pulumi-lang-python=\"`lang`\" pulumi-lang-yaml=\"`lang`\" pulumi-lang-java=\"`lang`\"\u003e`lang`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`other`\" pulumi-lang-dotnet=\"`Other`\" pulumi-lang-go=\"`other`\" pulumi-lang-python=\"`other`\" pulumi-lang-yaml=\"`other`\" pulumi-lang-java=\"`other`\"\u003e`other`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`windows`\" pulumi-lang-dotnet=\"`Windows`\" pulumi-lang-go=\"`windows`\" pulumi-lang-python=\"`windows`\" pulumi-lang-yaml=\"`windows`\" pulumi-lang-java=\"`windows`\"\u003e`windows`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`arm`\" pulumi-lang-dotnet=\"`Arm`\" pulumi-lang-go=\"`arm`\" pulumi-lang-python=\"`arm`\" pulumi-lang-yaml=\"`arm`\" pulumi-lang-java=\"`arm`\"\u003e`arm`\u003c/span\u003e.\n"},"description":{"type":"string","description":"Repository description.\n"},"isPublic":{"type":"boolean","description":"Whether the repository is public.\nWhen the value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, it indicates the repository is public.\nWhen the value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, it indicates the repository is private.\n"},"name":{"type":"string","description":"Enter 1 to 128 characters, starting and ending with a lowercase letter or digit.\nOnly lowercase letters, digits, periods (`.`), slashes (`/`), underscores (`_`), and hyphens (`-`) are allowed.\nPeriods, underscores, and hyphens cannot be placed next to each other.\nA maximum of two consecutive underscores are allowed.\n"},"organization":{"type":"string","description":"The name of the repository organization.\n"},"swrRepositoryV2Id":{"type":"string"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FSwrRepositoryV2Timeouts:SwrRepositoryV2Timeouts"}},"requiredInputs":["isPublic","organization"],"stateInputs":{"description":"Input properties used for looking up and filtering SwrRepositoryV2 resources.\n","properties":{"category":{"type":"string","description":"Repository category. The value can be \u003cspan pulumi-lang-nodejs=\"`appServer`\" pulumi-lang-dotnet=\"`AppServer`\" pulumi-lang-go=\"`appServer`\" pulumi-lang-python=\"`app_server`\" pulumi-lang-yaml=\"`appServer`\" pulumi-lang-java=\"`appServer`\"\u003e`app_server`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`linux`\" pulumi-lang-dotnet=\"`Linux`\" pulumi-lang-go=\"`linux`\" pulumi-lang-python=\"`linux`\" pulumi-lang-yaml=\"`linux`\" pulumi-lang-java=\"`linux`\"\u003e`linux`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`frameworkApp`\" pulumi-lang-dotnet=\"`FrameworkApp`\" pulumi-lang-go=\"`frameworkApp`\" pulumi-lang-python=\"`framework_app`\" pulumi-lang-yaml=\"`frameworkApp`\" pulumi-lang-java=\"`frameworkApp`\"\u003e`framework_app`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`database`\" pulumi-lang-dotnet=\"`Database`\" pulumi-lang-go=\"`database`\" pulumi-lang-python=\"`database`\" pulumi-lang-yaml=\"`database`\" pulumi-lang-java=\"`database`\"\u003e`database`\u003c/span\u003e,\n\u003cspan pulumi-lang-nodejs=\"`lang`\" pulumi-lang-dotnet=\"`Lang`\" pulumi-lang-go=\"`lang`\" pulumi-lang-python=\"`lang`\" pulumi-lang-yaml=\"`lang`\" pulumi-lang-java=\"`lang`\"\u003e`lang`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`other`\" pulumi-lang-dotnet=\"`Other`\" pulumi-lang-go=\"`other`\" pulumi-lang-python=\"`other`\" pulumi-lang-yaml=\"`other`\" pulumi-lang-java=\"`other`\"\u003e`other`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`windows`\" pulumi-lang-dotnet=\"`Windows`\" pulumi-lang-go=\"`windows`\" pulumi-lang-python=\"`windows`\" pulumi-lang-yaml=\"`windows`\" pulumi-lang-java=\"`windows`\"\u003e`windows`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`arm`\" pulumi-lang-dotnet=\"`Arm`\" pulumi-lang-go=\"`arm`\" pulumi-lang-python=\"`arm`\" pulumi-lang-yaml=\"`arm`\" pulumi-lang-java=\"`arm`\"\u003e`arm`\u003c/span\u003e.\n"},"description":{"type":"string","description":"Repository description.\n"},"internalPath":{"type":"string","description":"Intra-cluster image address for docker pull.\n"},"isPublic":{"type":"boolean","description":"Whether the repository is public.\nWhen the value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, it indicates the repository is public.\nWhen the value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, it indicates the repository is private.\n"},"name":{"type":"string","description":"Enter 1 to 128 characters, starting and ending with a lowercase letter or digit.\nOnly lowercase letters, digits, periods (`.`), slashes (`/`), underscores (`_`), and hyphens (`-`) are allowed.\nPeriods, underscores, and hyphens cannot be placed next to each other.\nA maximum of two consecutive underscores are allowed.\n"},"numImages":{"type":"number","description":"Number of image tags in a repository.\n"},"organization":{"type":"string","description":"The name of the repository organization.\n"},"path":{"type":"string","description":"Image address for docker pull.\n"},"repositoryId":{"type":"number","description":"Numeric ID of the repository.\n"},"size":{"type":"number","description":"Repository size.\n"},"swrRepositoryV2Id":{"type":"string"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FSwrRepositoryV2Timeouts:SwrRepositoryV2Timeouts"}},"type":"object"}},"opentelekomcloud:index/taurusdbMysqlBackupV3:TaurusdbMysqlBackupV3":{"description":"Manages a TaurusDb MySQL backup resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst instanceId = config.requireObject\u003cany\u003e(\"instanceId\");\nconst test = new opentelekomcloud.TaurusdbMysqlBackupV3(\"test\", {\n    instanceId: instanceId,\n    name: \"test_backup_name\",\n    description: \"test description\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ninstance_id = config.require_object(\"instanceId\")\ntest = opentelekomcloud.TaurusdbMysqlBackupV3(\"test\",\n    instance_id=instance_id,\n    name=\"test_backup_name\",\n    description=\"test description\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var instanceId = config.RequireObject\u003cdynamic\u003e(\"instanceId\");\n    var test = new Opentelekomcloud.TaurusdbMysqlBackupV3(\"test\", new()\n    {\n        InstanceId = instanceId,\n        Name = \"test_backup_name\",\n        Description = \"test description\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tinstanceId := cfg.RequireObject(\"instanceId\")\n\t\t_, err := opentelekomcloud.NewTaurusdbMysqlBackupV3(ctx, \"test\", \u0026opentelekomcloud.TaurusdbMysqlBackupV3Args{\n\t\t\tInstanceId:  pulumi.Any(instanceId),\n\t\t\tName:        pulumi.String(\"test_backup_name\"),\n\t\t\tDescription: pulumi.String(\"test description\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.TaurusdbMysqlBackupV3;\nimport com.pulumi.opentelekomcloud.TaurusdbMysqlBackupV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var instanceId = config.get(\"instanceId\");\n        var test = new TaurusdbMysqlBackupV3(\"test\", TaurusdbMysqlBackupV3Args.builder()\n            .instanceId(instanceId)\n            .name(\"test_backup_name\")\n            .description(\"test description\")\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  instanceId:\n    type: dynamic\nresources:\n  test:\n    type: opentelekomcloud:TaurusdbMysqlBackupV3\n    properties:\n      instanceId: ${instanceId}\n      name: test_backup_name\n      description: test description\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe TaurusDb Mysql backup can be imported using the `id`, e.g.\n\nbash\n\n```sh\n$ pulumi import opentelekomcloud:index/taurusdbMysqlBackupV3:TaurusdbMysqlBackupV3 test \u003cid\u003e\n```\n\n","properties":{"beginTime":{"type":"string","description":"Indicates the backup start time in the **yyyy-mm-ddThh:mm:ssZ** format.\n"},"datastores":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FTaurusdbMysqlBackupV3Datastore:TaurusdbMysqlBackupV3Datastore"},"description":"Indicates the database information.\n"},"description":{"type":"string","description":"Specifies the description of the backup.\n"},"endTime":{"type":"string","description":"Indicates the backup end time in the **yyyy-mm-ddThh:mm:ssZ** format.\n"},"instanceId":{"type":"string","description":"Specifies the ID of the TaurusDb MySQL instance.\n"},"name":{"type":"string","description":"Specifies the name of the backup. It must start with a letter and consist of\n\u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e characters. Only letters (case-sensitive), digits, hyphens (-), and underscores (_) are allowed.\n"},"region":{"type":"string","description":"The resource region\n"},"size":{"type":"number","description":"Indicates the backup size in MB.\n"},"takeUpTime":{"type":"number","description":"Indicates the backup duration in minutes.\n"},"taurusdbMysqlBackupV3Id":{"type":"string","description":"The resource ID.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FTaurusdbMysqlBackupV3Timeouts:TaurusdbMysqlBackupV3Timeouts"}},"type":"object","required":["beginTime","datastores","description","endTime","instanceId","name","region","size","takeUpTime","taurusdbMysqlBackupV3Id"],"inputProperties":{"description":{"type":"string","description":"Specifies the description of the backup.\n"},"instanceId":{"type":"string","description":"Specifies the ID of the TaurusDb MySQL instance.\n"},"name":{"type":"string","description":"Specifies the name of the backup. It must start with a letter and consist of\n\u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e characters. Only letters (case-sensitive), digits, hyphens (-), and underscores (_) are allowed.\n"},"taurusdbMysqlBackupV3Id":{"type":"string","description":"The resource ID.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FTaurusdbMysqlBackupV3Timeouts:TaurusdbMysqlBackupV3Timeouts"}},"requiredInputs":["instanceId"],"stateInputs":{"description":"Input properties used for looking up and filtering TaurusdbMysqlBackupV3 resources.\n","properties":{"beginTime":{"type":"string","description":"Indicates the backup start time in the **yyyy-mm-ddThh:mm:ssZ** format.\n"},"datastores":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FTaurusdbMysqlBackupV3Datastore:TaurusdbMysqlBackupV3Datastore"},"description":"Indicates the database information.\n"},"description":{"type":"string","description":"Specifies the description of the backup.\n"},"endTime":{"type":"string","description":"Indicates the backup end time in the **yyyy-mm-ddThh:mm:ssZ** format.\n"},"instanceId":{"type":"string","description":"Specifies the ID of the TaurusDb MySQL instance.\n"},"name":{"type":"string","description":"Specifies the name of the backup. It must start with a letter and consist of\n\u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e characters. Only letters (case-sensitive), digits, hyphens (-), and underscores (_) are allowed.\n"},"region":{"type":"string","description":"The resource region\n"},"size":{"type":"number","description":"Indicates the backup size in MB.\n"},"takeUpTime":{"type":"number","description":"Indicates the backup duration in minutes.\n"},"taurusdbMysqlBackupV3Id":{"type":"string","description":"The resource ID.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FTaurusdbMysqlBackupV3Timeouts:TaurusdbMysqlBackupV3Timeouts"}},"type":"object"}},"opentelekomcloud:index/taurusdbMysqlInstanceV3:TaurusdbMysqlInstanceV3":{"description":"TaurusDB mysql instance management within OpenTelekomCloud.\n\n## Example Usage\n\n### create a basic instance\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst instance1 = new opentelekomcloud.TaurusdbMysqlInstanceV3(\"instance_1\", {\n    name: \"taurusdb_instance_1\",\n    password: password,\n    flavor: \"gaussdb.mysql.4xlarge.x86.4\",\n    vpcId: vpcId,\n    subnetId: subnetId,\n    securityGroupId: secgroupId,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ninstance1 = opentelekomcloud.TaurusdbMysqlInstanceV3(\"instance_1\",\n    name=\"taurusdb_instance_1\",\n    password=password,\n    flavor=\"gaussdb.mysql.4xlarge.x86.4\",\n    vpc_id=vpc_id,\n    subnet_id=subnet_id,\n    security_group_id=secgroup_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var instance1 = new Opentelekomcloud.TaurusdbMysqlInstanceV3(\"instance_1\", new()\n    {\n        Name = \"taurusdb_instance_1\",\n        Password = password,\n        Flavor = \"gaussdb.mysql.4xlarge.x86.4\",\n        VpcId = vpcId,\n        SubnetId = subnetId,\n        SecurityGroupId = secgroupId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewTaurusdbMysqlInstanceV3(ctx, \"instance_1\", \u0026opentelekomcloud.TaurusdbMysqlInstanceV3Args{\n\t\t\tName:            pulumi.String(\"taurusdb_instance_1\"),\n\t\t\tPassword:        pulumi.Any(password),\n\t\t\tFlavor:          pulumi.String(\"gaussdb.mysql.4xlarge.x86.4\"),\n\t\t\tVpcId:           pulumi.Any(vpcId),\n\t\t\tSubnetId:        pulumi.Any(subnetId),\n\t\t\tSecurityGroupId: pulumi.Any(secgroupId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.TaurusdbMysqlInstanceV3;\nimport com.pulumi.opentelekomcloud.TaurusdbMysqlInstanceV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var instance1 = new TaurusdbMysqlInstanceV3(\"instance1\", TaurusdbMysqlInstanceV3Args.builder()\n            .name(\"taurusdb_instance_1\")\n            .password(password)\n            .flavor(\"gaussdb.mysql.4xlarge.x86.4\")\n            .vpcId(vpcId)\n            .subnetId(subnetId)\n            .securityGroupId(secgroupId)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  instance1:\n    type: opentelekomcloud:TaurusdbMysqlInstanceV3\n    name: instance_1\n    properties:\n      name: taurusdb_instance_1\n      password: ${password}\n      flavor: gaussdb.mysql.4xlarge.x86.4\n      vpcId: ${vpcId}\n      subnetId: ${subnetId}\n      securityGroupId: ${secgroupId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### create a taurusdb mysql instance with backup strategy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst instance1 = new opentelekomcloud.TaurusdbMysqlInstanceV3(\"instance_1\", {\n    name: \"taurusdb_instance_1\",\n    password: password,\n    flavor: \"gaussdb.mysql.4xlarge.x86.4\",\n    vpcId: vpcId,\n    subnetId: subnetId,\n    securityGroupId: secgroupId,\n    backupStrategy: {\n        startTime: \"03:00-04:00\",\n        keepDays: 7,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ninstance1 = opentelekomcloud.TaurusdbMysqlInstanceV3(\"instance_1\",\n    name=\"taurusdb_instance_1\",\n    password=password,\n    flavor=\"gaussdb.mysql.4xlarge.x86.4\",\n    vpc_id=vpc_id,\n    subnet_id=subnet_id,\n    security_group_id=secgroup_id,\n    backup_strategy={\n        \"start_time\": \"03:00-04:00\",\n        \"keep_days\": 7,\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var instance1 = new Opentelekomcloud.TaurusdbMysqlInstanceV3(\"instance_1\", new()\n    {\n        Name = \"taurusdb_instance_1\",\n        Password = password,\n        Flavor = \"gaussdb.mysql.4xlarge.x86.4\",\n        VpcId = vpcId,\n        SubnetId = subnetId,\n        SecurityGroupId = secgroupId,\n        BackupStrategy = new Opentelekomcloud.Inputs.TaurusdbMysqlInstanceV3BackupStrategyArgs\n        {\n            StartTime = \"03:00-04:00\",\n            KeepDays = 7,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewTaurusdbMysqlInstanceV3(ctx, \"instance_1\", \u0026opentelekomcloud.TaurusdbMysqlInstanceV3Args{\n\t\t\tName:            pulumi.String(\"taurusdb_instance_1\"),\n\t\t\tPassword:        pulumi.Any(password),\n\t\t\tFlavor:          pulumi.String(\"gaussdb.mysql.4xlarge.x86.4\"),\n\t\t\tVpcId:           pulumi.Any(vpcId),\n\t\t\tSubnetId:        pulumi.Any(subnetId),\n\t\t\tSecurityGroupId: pulumi.Any(secgroupId),\n\t\t\tBackupStrategy: \u0026opentelekomcloud.TaurusdbMysqlInstanceV3BackupStrategyArgs{\n\t\t\t\tStartTime: pulumi.String(\"03:00-04:00\"),\n\t\t\t\tKeepDays:  pulumi.Float64(7),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.TaurusdbMysqlInstanceV3;\nimport com.pulumi.opentelekomcloud.TaurusdbMysqlInstanceV3Args;\nimport com.pulumi.opentelekomcloud.inputs.TaurusdbMysqlInstanceV3BackupStrategyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var instance1 = new TaurusdbMysqlInstanceV3(\"instance1\", TaurusdbMysqlInstanceV3Args.builder()\n            .name(\"taurusdb_instance_1\")\n            .password(password)\n            .flavor(\"gaussdb.mysql.4xlarge.x86.4\")\n            .vpcId(vpcId)\n            .subnetId(subnetId)\n            .securityGroupId(secgroupId)\n            .backupStrategy(TaurusdbMysqlInstanceV3BackupStrategyArgs.builder()\n                .startTime(\"03:00-04:00\")\n                .keepDays(7.0)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  instance1:\n    type: opentelekomcloud:TaurusdbMysqlInstanceV3\n    name: instance_1\n    properties:\n      name: taurusdb_instance_1\n      password: ${password}\n      flavor: gaussdb.mysql.4xlarge.x86.4\n      vpcId: ${vpcId}\n      subnetId: ${subnetId}\n      securityGroupId: ${secgroupId}\n      backupStrategy:\n        startTime: 03:00-04:00\n        keepDays: 7\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nTaurusDB instance can be imported using the `id`, e.g.\n\nbash\n\n```sh\n$ pulumi import opentelekomcloud:index/taurusdbMysqlInstanceV3:TaurusdbMysqlInstanceV3 test \u003cid\u003e\n```\n\nNote that the imported state may not be identical to your resource definition, due to the attribute missing from the\n\nAPI response. The missing attribute is: `table_name_case_sensitivity`, `enterprise_project_id`, `password`.\n\nIt is generally recommended running `pulumi preview` after importing\n\na TaurusDB MySQL instance. You can then decide if changes should be applied to the TaurusDB MySQL instance, or the resource\n\ndefinition should be updated to align with the TaurusDB MySQL instance. Also you can ignore changes as below.\n\nhcl\n\nresource \"opentelekomcloud_taurusdb_mysql_instance_v3\" \"test\" {\n\n  lifecycle {\n\n    ignore_changes = [\n\n      table_name_case_sensitivity, enterprise_project_id, password\n\n    ]\n\n  }\n\n}\n\n","properties":{"availabilityZoneMode":{"type":"string","description":"Specifies the availability zone mode: \"single\" or \"multi\".\nDefaults to \"single\". Changing this parameter will create a new resource.\n"},"backupStrategy":{"$ref":"#/types/opentelekomcloud:index%2FTaurusdbMysqlInstanceV3BackupStrategy:TaurusdbMysqlInstanceV3BackupStrategy","description":"Specifies the advanced backup policy. Structure is documented below.\n"},"configurationId":{"type":"string","description":"Specifies the configuration ID.\n"},"createdAt":{"type":"string","description":"Indicates the creation time in the **yyyy-mm-ddThh:mm:ssZ** format.\n"},"datastore":{"$ref":"#/types/opentelekomcloud:index%2FTaurusdbMysqlInstanceV3Datastore:TaurusdbMysqlInstanceV3Datastore","description":"Specifies the database information. Structure is documented below. Changing\nthis parameter will create a new resource.\n"},"dbUserName":{"type":"string","description":"Indicates the default username.\n"},"dedicatedResourceId":{"type":"string","description":"Specifies the dedicated resource ID. Changing this parameter\nwill create a new resource.\n"},"enterpriseProjectId":{"type":"string","description":"Specifies the enterprise project id. Required if EPS enabled.\n"},"flavor":{"type":"string","description":"Specifies the instance specifications.\n"},"masterAvailabilityZone":{"type":"string","description":"Specifies the availability zone where the master node\nresides. The parameter is required in multi availability zone mode. Changing this parameter will create a new\nresource.\n"},"mode":{"type":"string","description":"Indicates the instance mode.\n"},"name":{"type":"string","description":"Specifies the instance name, which can be the same as an existing instance name.\nThe value must be \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e characters in length and start with a letter.\nIt is case-sensitive and can contain only letters, digits, hyphens (-), and underscores (_).\n"},"nodes":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FTaurusdbMysqlInstanceV3Node:TaurusdbMysqlInstanceV3Node"},"description":"Indicates the instance nodes information.\nThe nodes structure is documented below.\n"},"password":{"type":"string","description":"Specifies the database password. The value must be \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e characters in length,\nincluding uppercase and lowercase letters, digits, and special characters, such as ~!@#%^*-_=+?\n","secret":true},"port":{"type":"number","description":"Specifies the database port.\n"},"privateDnsName":{"type":"string","description":"Indicates the private domain name.\n"},"privateWriteIp":{"type":"string","description":"Indicates the private IP address of the DB instance.\n"},"readReplicas":{"type":"number","description":"Specifies the count of read replicas. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"region":{"type":"string","description":"Indicates the DB instance region.\n"},"secondsLevelMonitoringEnabled":{"type":"boolean","description":"Specifies whether to enable seconds level monitoring.\n"},"secondsLevelMonitoringPeriod":{"type":"number","description":"Specifies the seconds level collection period.\n+ This parameter is valid only when \u003cspan pulumi-lang-nodejs=\"`secondsLevelMonitoringEnabled`\" pulumi-lang-dotnet=\"`SecondsLevelMonitoringEnabled`\" pulumi-lang-go=\"`secondsLevelMonitoringEnabled`\" pulumi-lang-python=\"`seconds_level_monitoring_enabled`\" pulumi-lang-yaml=\"`secondsLevelMonitoringEnabled`\" pulumi-lang-java=\"`secondsLevelMonitoringEnabled`\"\u003e`seconds_level_monitoring_enabled`\u003c/span\u003e is set to **true**.\n+ This parameter can not be specified when \u003cspan pulumi-lang-nodejs=\"`secondsLevelMonitoringEnabled`\" pulumi-lang-dotnet=\"`SecondsLevelMonitoringEnabled`\" pulumi-lang-go=\"`secondsLevelMonitoringEnabled`\" pulumi-lang-python=\"`seconds_level_monitoring_enabled`\" pulumi-lang-yaml=\"`secondsLevelMonitoringEnabled`\" pulumi-lang-java=\"`secondsLevelMonitoringEnabled`\"\u003e`seconds_level_monitoring_enabled`\u003c/span\u003e is set to **false**.\n+ Value options:\n- **1**: The collection period is 1s.\n- **5** (default value): The collection period is 5s.\n"},"securityGroupId":{"type":"string","description":"Specifies the security group ID. Required if the selected subnet doesn't\nenable network ACL.\n"},"status":{"type":"string","description":"Indicates the node status.\n"},"subnetId":{"type":"string","description":"Specifies the network ID of a subnet. Changing this parameter will create a\nnew resource.\n"},"tableNameCaseSensitivity":{"type":"boolean","description":"Whether the kernel table name is case sensitive. The value can\nbe \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e (case sensitive) and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e (case insensitive). Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. This parameter only works during\ncreation.\n"},"taurusdbMysqlInstanceV3Id":{"type":"string","description":"Indicates the node ID.\n"},"timeZone":{"type":"string","description":"Specifies the time zone. Defaults to \"UTC+08:00\". Changing this parameter\nwill create a new resource.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FTaurusdbMysqlInstanceV3Timeouts:TaurusdbMysqlInstanceV3Timeouts"},"updatedAt":{"type":"string","description":"Indicates the Update time in the **yyyy-mm-ddThh:mm:ssZ** format.\n"},"volumeSize":{"type":"number","description":"Specifies the volume size of the instance. The new storage space must be greater than\nthe current storage and must be a multiple of \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e GB. Only valid when in prePaid mode.\n"},"vpcId":{"type":"string","description":"Specifies the VPC ID. Changing this parameter will create a new resource.\n"}},"type":"object","required":["configurationId","createdAt","dbUserName","dedicatedResourceId","enterpriseProjectId","flavor","masterAvailabilityZone","mode","name","nodes","password","port","privateDnsName","privateWriteIp","region","secondsLevelMonitoringEnabled","status","subnetId","taurusdbMysqlInstanceV3Id","updatedAt","vpcId"],"inputProperties":{"availabilityZoneMode":{"type":"string","description":"Specifies the availability zone mode: \"single\" or \"multi\".\nDefaults to \"single\". Changing this parameter will create a new resource.\n"},"backupStrategy":{"$ref":"#/types/opentelekomcloud:index%2FTaurusdbMysqlInstanceV3BackupStrategy:TaurusdbMysqlInstanceV3BackupStrategy","description":"Specifies the advanced backup policy. Structure is documented below.\n"},"configurationId":{"type":"string","description":"Specifies the configuration ID.\n"},"datastore":{"$ref":"#/types/opentelekomcloud:index%2FTaurusdbMysqlInstanceV3Datastore:TaurusdbMysqlInstanceV3Datastore","description":"Specifies the database information. Structure is documented below. Changing\nthis parameter will create a new resource.\n"},"dedicatedResourceId":{"type":"string","description":"Specifies the dedicated resource ID. Changing this parameter\nwill create a new resource.\n"},"enterpriseProjectId":{"type":"string","description":"Specifies the enterprise project id. Required if EPS enabled.\n"},"flavor":{"type":"string","description":"Specifies the instance specifications.\n"},"masterAvailabilityZone":{"type":"string","description":"Specifies the availability zone where the master node\nresides. The parameter is required in multi availability zone mode. Changing this parameter will create a new\nresource.\n"},"name":{"type":"string","description":"Specifies the instance name, which can be the same as an existing instance name.\nThe value must be \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e characters in length and start with a letter.\nIt is case-sensitive and can contain only letters, digits, hyphens (-), and underscores (_).\n"},"password":{"type":"string","description":"Specifies the database password. The value must be \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e characters in length,\nincluding uppercase and lowercase letters, digits, and special characters, such as ~!@#%^*-_=+?\n","secret":true},"port":{"type":"number","description":"Specifies the database port.\n"},"readReplicas":{"type":"number","description":"Specifies the count of read replicas. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"secondsLevelMonitoringEnabled":{"type":"boolean","description":"Specifies whether to enable seconds level monitoring.\n"},"secondsLevelMonitoringPeriod":{"type":"number","description":"Specifies the seconds level collection period.\n+ This parameter is valid only when \u003cspan pulumi-lang-nodejs=\"`secondsLevelMonitoringEnabled`\" pulumi-lang-dotnet=\"`SecondsLevelMonitoringEnabled`\" pulumi-lang-go=\"`secondsLevelMonitoringEnabled`\" pulumi-lang-python=\"`seconds_level_monitoring_enabled`\" pulumi-lang-yaml=\"`secondsLevelMonitoringEnabled`\" pulumi-lang-java=\"`secondsLevelMonitoringEnabled`\"\u003e`seconds_level_monitoring_enabled`\u003c/span\u003e is set to **true**.\n+ This parameter can not be specified when \u003cspan pulumi-lang-nodejs=\"`secondsLevelMonitoringEnabled`\" pulumi-lang-dotnet=\"`SecondsLevelMonitoringEnabled`\" pulumi-lang-go=\"`secondsLevelMonitoringEnabled`\" pulumi-lang-python=\"`seconds_level_monitoring_enabled`\" pulumi-lang-yaml=\"`secondsLevelMonitoringEnabled`\" pulumi-lang-java=\"`secondsLevelMonitoringEnabled`\"\u003e`seconds_level_monitoring_enabled`\u003c/span\u003e is set to **false**.\n+ Value options:\n- **1**: The collection period is 1s.\n- **5** (default value): The collection period is 5s.\n"},"securityGroupId":{"type":"string","description":"Specifies the security group ID. Required if the selected subnet doesn't\nenable network ACL.\n"},"subnetId":{"type":"string","description":"Specifies the network ID of a subnet. Changing this parameter will create a\nnew resource.\n"},"tableNameCaseSensitivity":{"type":"boolean","description":"Whether the kernel table name is case sensitive. The value can\nbe \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e (case sensitive) and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e (case insensitive). Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. This parameter only works during\ncreation.\n"},"taurusdbMysqlInstanceV3Id":{"type":"string","description":"Indicates the node ID.\n"},"timeZone":{"type":"string","description":"Specifies the time zone. Defaults to \"UTC+08:00\". Changing this parameter\nwill create a new resource.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FTaurusdbMysqlInstanceV3Timeouts:TaurusdbMysqlInstanceV3Timeouts"},"volumeSize":{"type":"number","description":"Specifies the volume size of the instance. The new storage space must be greater than\nthe current storage and must be a multiple of \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e GB. Only valid when in prePaid mode.\n"},"vpcId":{"type":"string","description":"Specifies the VPC ID. Changing this parameter will create a new resource.\n"}},"requiredInputs":["flavor","password","subnetId","vpcId"],"stateInputs":{"description":"Input properties used for looking up and filtering TaurusdbMysqlInstanceV3 resources.\n","properties":{"availabilityZoneMode":{"type":"string","description":"Specifies the availability zone mode: \"single\" or \"multi\".\nDefaults to \"single\". Changing this parameter will create a new resource.\n"},"backupStrategy":{"$ref":"#/types/opentelekomcloud:index%2FTaurusdbMysqlInstanceV3BackupStrategy:TaurusdbMysqlInstanceV3BackupStrategy","description":"Specifies the advanced backup policy. Structure is documented below.\n"},"configurationId":{"type":"string","description":"Specifies the configuration ID.\n"},"createdAt":{"type":"string","description":"Indicates the creation time in the **yyyy-mm-ddThh:mm:ssZ** format.\n"},"datastore":{"$ref":"#/types/opentelekomcloud:index%2FTaurusdbMysqlInstanceV3Datastore:TaurusdbMysqlInstanceV3Datastore","description":"Specifies the database information. Structure is documented below. Changing\nthis parameter will create a new resource.\n"},"dbUserName":{"type":"string","description":"Indicates the default username.\n"},"dedicatedResourceId":{"type":"string","description":"Specifies the dedicated resource ID. Changing this parameter\nwill create a new resource.\n"},"enterpriseProjectId":{"type":"string","description":"Specifies the enterprise project id. Required if EPS enabled.\n"},"flavor":{"type":"string","description":"Specifies the instance specifications.\n"},"masterAvailabilityZone":{"type":"string","description":"Specifies the availability zone where the master node\nresides. The parameter is required in multi availability zone mode. Changing this parameter will create a new\nresource.\n"},"mode":{"type":"string","description":"Indicates the instance mode.\n"},"name":{"type":"string","description":"Specifies the instance name, which can be the same as an existing instance name.\nThe value must be \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e characters in length and start with a letter.\nIt is case-sensitive and can contain only letters, digits, hyphens (-), and underscores (_).\n"},"nodes":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FTaurusdbMysqlInstanceV3Node:TaurusdbMysqlInstanceV3Node"},"description":"Indicates the instance nodes information.\nThe nodes structure is documented below.\n"},"password":{"type":"string","description":"Specifies the database password. The value must be \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e characters in length,\nincluding uppercase and lowercase letters, digits, and special characters, such as ~!@#%^*-_=+?\n","secret":true},"port":{"type":"number","description":"Specifies the database port.\n"},"privateDnsName":{"type":"string","description":"Indicates the private domain name.\n"},"privateWriteIp":{"type":"string","description":"Indicates the private IP address of the DB instance.\n"},"readReplicas":{"type":"number","description":"Specifies the count of read replicas. Defaults to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"region":{"type":"string","description":"Indicates the DB instance region.\n"},"secondsLevelMonitoringEnabled":{"type":"boolean","description":"Specifies whether to enable seconds level monitoring.\n"},"secondsLevelMonitoringPeriod":{"type":"number","description":"Specifies the seconds level collection period.\n+ This parameter is valid only when \u003cspan pulumi-lang-nodejs=\"`secondsLevelMonitoringEnabled`\" pulumi-lang-dotnet=\"`SecondsLevelMonitoringEnabled`\" pulumi-lang-go=\"`secondsLevelMonitoringEnabled`\" pulumi-lang-python=\"`seconds_level_monitoring_enabled`\" pulumi-lang-yaml=\"`secondsLevelMonitoringEnabled`\" pulumi-lang-java=\"`secondsLevelMonitoringEnabled`\"\u003e`seconds_level_monitoring_enabled`\u003c/span\u003e is set to **true**.\n+ This parameter can not be specified when \u003cspan pulumi-lang-nodejs=\"`secondsLevelMonitoringEnabled`\" pulumi-lang-dotnet=\"`SecondsLevelMonitoringEnabled`\" pulumi-lang-go=\"`secondsLevelMonitoringEnabled`\" pulumi-lang-python=\"`seconds_level_monitoring_enabled`\" pulumi-lang-yaml=\"`secondsLevelMonitoringEnabled`\" pulumi-lang-java=\"`secondsLevelMonitoringEnabled`\"\u003e`seconds_level_monitoring_enabled`\u003c/span\u003e is set to **false**.\n+ Value options:\n- **1**: The collection period is 1s.\n- **5** (default value): The collection period is 5s.\n"},"securityGroupId":{"type":"string","description":"Specifies the security group ID. Required if the selected subnet doesn't\nenable network ACL.\n"},"status":{"type":"string","description":"Indicates the node status.\n"},"subnetId":{"type":"string","description":"Specifies the network ID of a subnet. Changing this parameter will create a\nnew resource.\n"},"tableNameCaseSensitivity":{"type":"boolean","description":"Whether the kernel table name is case sensitive. The value can\nbe \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e (case sensitive) and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e (case insensitive). Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. This parameter only works during\ncreation.\n"},"taurusdbMysqlInstanceV3Id":{"type":"string","description":"Indicates the node ID.\n"},"timeZone":{"type":"string","description":"Specifies the time zone. Defaults to \"UTC+08:00\". Changing this parameter\nwill create a new resource.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FTaurusdbMysqlInstanceV3Timeouts:TaurusdbMysqlInstanceV3Timeouts"},"updatedAt":{"type":"string","description":"Indicates the Update time in the **yyyy-mm-ddThh:mm:ssZ** format.\n"},"volumeSize":{"type":"number","description":"Specifies the volume size of the instance. The new storage space must be greater than\nthe current storage and must be a multiple of \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e GB. Only valid when in prePaid mode.\n"},"vpcId":{"type":"string","description":"Specifies the VPC ID. Changing this parameter will create a new resource.\n"}},"type":"object"}},"opentelekomcloud:index/taurusdbMysqlProxyV3:TaurusdbMysqlProxyV3":{"description":"Manages a TaurusDB MySQL proxy resource within OpenTelekomCloud.\n\n## Example Usage\n\n### Basic example\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst instanceId = config.requireObject\u003cany\u003e(\"instanceId\");\nconst test = new opentelekomcloud.TaurusdbMysqlProxyV3(\"test\", {\n    instanceId: instanceId,\n    flavor: \"gaussdb.proxy.xlarge.x86.2\",\n    nodeNum: 3,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ninstance_id = config.require_object(\"instanceId\")\ntest = opentelekomcloud.TaurusdbMysqlProxyV3(\"test\",\n    instance_id=instance_id,\n    flavor=\"gaussdb.proxy.xlarge.x86.2\",\n    node_num=3)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var instanceId = config.RequireObject\u003cdynamic\u003e(\"instanceId\");\n    var test = new Opentelekomcloud.TaurusdbMysqlProxyV3(\"test\", new()\n    {\n        InstanceId = instanceId,\n        Flavor = \"gaussdb.proxy.xlarge.x86.2\",\n        NodeNum = 3,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tinstanceId := cfg.RequireObject(\"instanceId\")\n\t\t_, err := opentelekomcloud.NewTaurusdbMysqlProxyV3(ctx, \"test\", \u0026opentelekomcloud.TaurusdbMysqlProxyV3Args{\n\t\t\tInstanceId: pulumi.Any(instanceId),\n\t\t\tFlavor:     pulumi.String(\"gaussdb.proxy.xlarge.x86.2\"),\n\t\t\tNodeNum:    pulumi.Float64(3),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.TaurusdbMysqlProxyV3;\nimport com.pulumi.opentelekomcloud.TaurusdbMysqlProxyV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var instanceId = config.get(\"instanceId\");\n        var test = new TaurusdbMysqlProxyV3(\"test\", TaurusdbMysqlProxyV3Args.builder()\n            .instanceId(instanceId)\n            .flavor(\"gaussdb.proxy.xlarge.x86.2\")\n            .nodeNum(3.0)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  instanceId:\n    type: dynamic\nresources:\n  test:\n    type: opentelekomcloud:TaurusdbMysqlProxyV3\n    properties:\n      instanceId: ${instanceId}\n      flavor: gaussdb.proxy.xlarge.x86.2\n      nodeNum: 3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### TaurusDB proxy with weights\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst vpcId = config.requireObject\u003cany\u003e(\"vpcId\");\nconst subnetId = config.requireObject\u003cany\u003e(\"subnetId\");\nconst securityGroupId = config.requireObject\u003cany\u003e(\"securityGroupId\");\nconst instance = new opentelekomcloud.TaurusdbMysqlInstanceV3(\"instance\", {\n    name: \"taurus-instance\",\n    password: \"Test@12345678\",\n    flavor: \"gaussdb.mysql.xlarge.x86.8\",\n    vpcId: vpcId,\n    subnetId: subnetId,\n    securityGroupId: securityGroupId,\n    availabilityZoneMode: \"multi\",\n    masterAvailabilityZone: \"eu-de-01\",\n    readReplicas: 2,\n});\nconst sortedNodes = instance.nodes.apply(nodes =\u003e nodes.filter(node =\u003e node.type == \"master\").map(node =\u003e (node)));\nconst readonlyNodes = instance.nodes.apply(nodes =\u003e nodes.filter(node =\u003e node.type == \"slave\").map(node =\u003e (node)));\nconst test = new opentelekomcloud.TaurusdbMysqlProxyV3(\"test\", {\n    instanceId: instance.taurusdbMysqlInstanceV3Id,\n    flavor: \"gaussdb.proxy.large.x86.2\",\n    nodeNum: 3,\n    proxyName: \"taurus-proxy\",\n    proxyMode: \"readwrite\",\n    masterNodeWeight: {\n        id: sortedNodes[0].id,\n        weight: 40,\n    },\n    readonlyNodesWeights: [\n        {\n            id: readonlyNodes[0].id,\n            weight: 30,\n        },\n        {\n            id: readonlyNodes[1].id,\n            weight: 30,\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nvpc_id = config.require_object(\"vpcId\")\nsubnet_id = config.require_object(\"subnetId\")\nsecurity_group_id = config.require_object(\"securityGroupId\")\ninstance = opentelekomcloud.TaurusdbMysqlInstanceV3(\"instance\",\n    name=\"taurus-instance\",\n    password=\"Test@12345678\",\n    flavor=\"gaussdb.mysql.xlarge.x86.8\",\n    vpc_id=vpc_id,\n    subnet_id=subnet_id,\n    security_group_id=security_group_id,\n    availability_zone_mode=\"multi\",\n    master_availability_zone=\"eu-de-01\",\n    read_replicas=2)\nsorted_nodes = instance.nodes.apply(lambda nodes: [node for node in nodes if node.type == \"master\"])\nreadonly_nodes = instance.nodes.apply(lambda nodes: [node for node in nodes if node.type == \"slave\"])\ntest = opentelekomcloud.TaurusdbMysqlProxyV3(\"test\",\n    instance_id=instance.taurusdb_mysql_instance_v3_id,\n    flavor=\"gaussdb.proxy.large.x86.2\",\n    node_num=3,\n    proxy_name=\"taurus-proxy\",\n    proxy_mode=\"readwrite\",\n    master_node_weight={\n        \"id\": sorted_nodes[0][\"id\"],\n        \"weight\": 40,\n    },\n    readonly_nodes_weights=[\n        {\n            \"id\": readonly_nodes[0][\"id\"],\n            \"weight\": 30,\n        },\n        {\n            \"id\": readonly_nodes[1][\"id\"],\n            \"weight\": 30,\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var vpcId = config.RequireObject\u003cdynamic\u003e(\"vpcId\");\n    var subnetId = config.RequireObject\u003cdynamic\u003e(\"subnetId\");\n    var securityGroupId = config.RequireObject\u003cdynamic\u003e(\"securityGroupId\");\n    var instance = new Opentelekomcloud.TaurusdbMysqlInstanceV3(\"instance\", new()\n    {\n        Name = \"taurus-instance\",\n        Password = \"Test@12345678\",\n        Flavor = \"gaussdb.mysql.xlarge.x86.8\",\n        VpcId = vpcId,\n        SubnetId = subnetId,\n        SecurityGroupId = securityGroupId,\n        AvailabilityZoneMode = \"multi\",\n        MasterAvailabilityZone = \"eu-de-01\",\n        ReadReplicas = 2,\n    });\n\n    var sortedNodes = instance.Nodes.Apply(nodes =\u003e nodes.Where(node =\u003e node.Type == \"master\").Select(node =\u003e \n    {\n        return node;\n    }).ToList());\n\n    var readonlyNodes = instance.Nodes.Apply(nodes =\u003e nodes.Where(node =\u003e node.Type == \"slave\").Select(node =\u003e \n    {\n        return node;\n    }).ToList());\n\n    var test = new Opentelekomcloud.TaurusdbMysqlProxyV3(\"test\", new()\n    {\n        InstanceId = instance.TaurusdbMysqlInstanceV3Id,\n        Flavor = \"gaussdb.proxy.large.x86.2\",\n        NodeNum = 3,\n        ProxyName = \"taurus-proxy\",\n        ProxyMode = \"readwrite\",\n        MasterNodeWeight = new Opentelekomcloud.Inputs.TaurusdbMysqlProxyV3MasterNodeWeightArgs\n        {\n            Id = sortedNodes[0].Id,\n            Weight = 40,\n        },\n        ReadonlyNodesWeights = new[]\n        {\n            new Opentelekomcloud.Inputs.TaurusdbMysqlProxyV3ReadonlyNodesWeightArgs\n            {\n                Id = readonlyNodes[0].Id,\n                Weight = 30,\n            },\n            new Opentelekomcloud.Inputs.TaurusdbMysqlProxyV3ReadonlyNodesWeightArgs\n            {\n                Id = readonlyNodes[1].Id,\n                Weight = 30,\n            },\n        },\n    });\n\n});\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe TaurusDB MySQL proxy can be imported using the `instance_id` and `id` separated by a slash, e.g.\n\nbash\n\n```sh\n$ pulumi import opentelekomcloud:index/taurusdbMysqlProxyV3:TaurusdbMysqlProxyV3 test \u003cinstance_id\u003e/\u003cid\u003e\n```\n\n`\n\nNote that the imported state may not be identical to your resource definition, due to the attribute missing from the\n\nAPI response. The missing attributes are: `proxy_mode`, `master_node_weight` and `readonly_nodes_weight`. It is\n\ngenerally recommended running `pulumi preview` after importing a TaurusDB MySQL proxy. You can then decide if changes\n\nshould be applied to the TaurusDB MySQL proxy, or the resource definition should be updated to align with the TaurusDB\n\nMySQL proxy. Also you can ignore changes as below.\n\nhcl\n\nresource \"opentelekomcloud_taurusdb_mysql_proxy_v3\" \"test\" {\n\n  # ...\n\n  lifecycle {\n\n    ignore_changes = [\n\n      proxy_mode, master_node_weight, readonly_nodes_weight,\n\n    ]\n\n  }\n\n}\n\n","properties":{"address":{"type":"string","description":"Indicates the address of the proxy.\n"},"flavor":{"type":"string","description":"Specifies the flavor of the proxy.\n"},"instanceId":{"type":"string","description":"Specifies the ID of the TaurusDB MySQL instance. Changing this parameter\nwill create a new resource.\n"},"masterNodeWeight":{"$ref":"#/types/opentelekomcloud:index%2FTaurusdbMysqlProxyV3MasterNodeWeight:TaurusdbMysqlProxyV3MasterNodeWeight","description":"Specifies the read weight of the master node.\nThe\u003cspan pulumi-lang-nodejs=\" masterNodeWeight \" pulumi-lang-dotnet=\" MasterNodeWeight \" pulumi-lang-go=\" masterNodeWeight \" pulumi-lang-python=\" master_node_weight \" pulumi-lang-yaml=\" masterNodeWeight \" pulumi-lang-java=\" masterNodeWeight \"\u003e master_node_weight \u003c/span\u003estructure is documented below.\n"},"nodeNum":{"type":"number","description":"Specifies the node count of the proxy.\n"},"nodes":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FTaurusdbMysqlProxyV3Node:TaurusdbMysqlProxyV3Node"},"description":"Indicates the node information of the proxy.\n"},"port":{"type":"number","description":"Indicates the port of the proxy.\n"},"proxyMode":{"type":"string","description":"Specifies the type of the proxy. Changing this creates a new resource.\nValue options:\n**readwrite**: read and write.\n**readonly**: read-only.\n\nDefaults to readwrite.\n"},"proxyName":{"type":"string","description":"Specifies the name of the proxy. The name consists of \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e characters and\nstarts with a letter. It is case-sensitive and can contain only letters, digits, hyphens (-), and underscores (_).\n"},"readonlyNodesWeights":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FTaurusdbMysqlProxyV3ReadonlyNodesWeight:TaurusdbMysqlProxyV3ReadonlyNodesWeight"},"description":"Specifies the read weight of the read-only nodes.\nThe\u003cspan pulumi-lang-nodejs=\" readonlyNodesWeight \" pulumi-lang-dotnet=\" ReadonlyNodesWeight \" pulumi-lang-go=\" readonlyNodesWeight \" pulumi-lang-python=\" readonly_nodes_weight \" pulumi-lang-yaml=\" readonlyNodesWeight \" pulumi-lang-java=\" readonlyNodesWeight \"\u003e readonly_nodes_weight \u003c/span\u003estructure is documented below.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"nodeWeightStruct\"\" pulumi-lang-dotnet=\"\"NodeWeightStruct\"\" pulumi-lang-go=\"\"nodeWeightStruct\"\" pulumi-lang-python=\"\"node_weight_struct\"\" pulumi-lang-yaml=\"\"nodeWeightStruct\"\" pulumi-lang-java=\"\"nodeWeightStruct\"\"\u003e\"node_weight_struct\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`masterNodeWeight`\" pulumi-lang-dotnet=\"`MasterNodeWeight`\" pulumi-lang-go=\"`masterNodeWeight`\" pulumi-lang-python=\"`master_node_weight`\" pulumi-lang-yaml=\"`masterNodeWeight`\" pulumi-lang-java=\"`masterNodeWeight`\"\u003e`master_node_weight`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`readonlyNodesWeight`\" pulumi-lang-dotnet=\"`ReadonlyNodesWeight`\" pulumi-lang-go=\"`readonlyNodesWeight`\" pulumi-lang-python=\"`readonly_nodes_weight`\" pulumi-lang-yaml=\"`readonlyNodesWeight`\" pulumi-lang-java=\"`readonlyNodesWeight`\"\u003e`readonly_nodes_weight`\u003c/span\u003e block supports:\n"},"region":{"type":"string","description":"Indicates the region in which to create the resource.\n"},"status":{"type":"string","description":"Indicates the proxy node status. The values can be:\n+ **ACTIVE**: The node is available.\n+ **ABNORMAL**: The node is abnormal.\n+ **FAILED**: The node fails.\n+ **DELETED**: The node has been deleted.\n"},"taurusdbMysqlProxyV3Id":{"type":"string","description":"Specifies the ID of the node.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FTaurusdbMysqlProxyV3Timeouts:TaurusdbMysqlProxyV3Timeouts"}},"type":"object","required":["address","flavor","instanceId","nodeNum","nodes","port","proxyName","region","status","taurusdbMysqlProxyV3Id"],"inputProperties":{"flavor":{"type":"string","description":"Specifies the flavor of the proxy.\n"},"instanceId":{"type":"string","description":"Specifies the ID of the TaurusDB MySQL instance. Changing this parameter\nwill create a new resource.\n"},"masterNodeWeight":{"$ref":"#/types/opentelekomcloud:index%2FTaurusdbMysqlProxyV3MasterNodeWeight:TaurusdbMysqlProxyV3MasterNodeWeight","description":"Specifies the read weight of the master node.\nThe\u003cspan pulumi-lang-nodejs=\" masterNodeWeight \" pulumi-lang-dotnet=\" MasterNodeWeight \" pulumi-lang-go=\" masterNodeWeight \" pulumi-lang-python=\" master_node_weight \" pulumi-lang-yaml=\" masterNodeWeight \" pulumi-lang-java=\" masterNodeWeight \"\u003e master_node_weight \u003c/span\u003estructure is documented below.\n"},"nodeNum":{"type":"number","description":"Specifies the node count of the proxy.\n"},"proxyMode":{"type":"string","description":"Specifies the type of the proxy. Changing this creates a new resource.\nValue options:\n**readwrite**: read and write.\n**readonly**: read-only.\n\nDefaults to readwrite.\n"},"proxyName":{"type":"string","description":"Specifies the name of the proxy. The name consists of \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e characters and\nstarts with a letter. It is case-sensitive and can contain only letters, digits, hyphens (-), and underscores (_).\n"},"readonlyNodesWeights":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FTaurusdbMysqlProxyV3ReadonlyNodesWeight:TaurusdbMysqlProxyV3ReadonlyNodesWeight"},"description":"Specifies the read weight of the read-only nodes.\nThe\u003cspan pulumi-lang-nodejs=\" readonlyNodesWeight \" pulumi-lang-dotnet=\" ReadonlyNodesWeight \" pulumi-lang-go=\" readonlyNodesWeight \" pulumi-lang-python=\" readonly_nodes_weight \" pulumi-lang-yaml=\" readonlyNodesWeight \" pulumi-lang-java=\" readonlyNodesWeight \"\u003e readonly_nodes_weight \u003c/span\u003estructure is documented below.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"nodeWeightStruct\"\" pulumi-lang-dotnet=\"\"NodeWeightStruct\"\" pulumi-lang-go=\"\"nodeWeightStruct\"\" pulumi-lang-python=\"\"node_weight_struct\"\" pulumi-lang-yaml=\"\"nodeWeightStruct\"\" pulumi-lang-java=\"\"nodeWeightStruct\"\"\u003e\"node_weight_struct\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`masterNodeWeight`\" pulumi-lang-dotnet=\"`MasterNodeWeight`\" pulumi-lang-go=\"`masterNodeWeight`\" pulumi-lang-python=\"`master_node_weight`\" pulumi-lang-yaml=\"`masterNodeWeight`\" pulumi-lang-java=\"`masterNodeWeight`\"\u003e`master_node_weight`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`readonlyNodesWeight`\" pulumi-lang-dotnet=\"`ReadonlyNodesWeight`\" pulumi-lang-go=\"`readonlyNodesWeight`\" pulumi-lang-python=\"`readonly_nodes_weight`\" pulumi-lang-yaml=\"`readonlyNodesWeight`\" pulumi-lang-java=\"`readonlyNodesWeight`\"\u003e`readonly_nodes_weight`\u003c/span\u003e block supports:\n"},"taurusdbMysqlProxyV3Id":{"type":"string","description":"Specifies the ID of the node.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FTaurusdbMysqlProxyV3Timeouts:TaurusdbMysqlProxyV3Timeouts"}},"requiredInputs":["flavor","instanceId","nodeNum"],"stateInputs":{"description":"Input properties used for looking up and filtering TaurusdbMysqlProxyV3 resources.\n","properties":{"address":{"type":"string","description":"Indicates the address of the proxy.\n"},"flavor":{"type":"string","description":"Specifies the flavor of the proxy.\n"},"instanceId":{"type":"string","description":"Specifies the ID of the TaurusDB MySQL instance. Changing this parameter\nwill create a new resource.\n"},"masterNodeWeight":{"$ref":"#/types/opentelekomcloud:index%2FTaurusdbMysqlProxyV3MasterNodeWeight:TaurusdbMysqlProxyV3MasterNodeWeight","description":"Specifies the read weight of the master node.\nThe\u003cspan pulumi-lang-nodejs=\" masterNodeWeight \" pulumi-lang-dotnet=\" MasterNodeWeight \" pulumi-lang-go=\" masterNodeWeight \" pulumi-lang-python=\" master_node_weight \" pulumi-lang-yaml=\" masterNodeWeight \" pulumi-lang-java=\" masterNodeWeight \"\u003e master_node_weight \u003c/span\u003estructure is documented below.\n"},"nodeNum":{"type":"number","description":"Specifies the node count of the proxy.\n"},"nodes":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FTaurusdbMysqlProxyV3Node:TaurusdbMysqlProxyV3Node"},"description":"Indicates the node information of the proxy.\n"},"port":{"type":"number","description":"Indicates the port of the proxy.\n"},"proxyMode":{"type":"string","description":"Specifies the type of the proxy. Changing this creates a new resource.\nValue options:\n**readwrite**: read and write.\n**readonly**: read-only.\n\nDefaults to readwrite.\n"},"proxyName":{"type":"string","description":"Specifies the name of the proxy. The name consists of \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e characters and\nstarts with a letter. It is case-sensitive and can contain only letters, digits, hyphens (-), and underscores (_).\n"},"readonlyNodesWeights":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FTaurusdbMysqlProxyV3ReadonlyNodesWeight:TaurusdbMysqlProxyV3ReadonlyNodesWeight"},"description":"Specifies the read weight of the read-only nodes.\nThe\u003cspan pulumi-lang-nodejs=\" readonlyNodesWeight \" pulumi-lang-dotnet=\" ReadonlyNodesWeight \" pulumi-lang-go=\" readonlyNodesWeight \" pulumi-lang-python=\" readonly_nodes_weight \" pulumi-lang-yaml=\" readonlyNodesWeight \" pulumi-lang-java=\" readonlyNodesWeight \"\u003e readonly_nodes_weight \u003c/span\u003estructure is documented below.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"nodeWeightStruct\"\" pulumi-lang-dotnet=\"\"NodeWeightStruct\"\" pulumi-lang-go=\"\"nodeWeightStruct\"\" pulumi-lang-python=\"\"node_weight_struct\"\" pulumi-lang-yaml=\"\"nodeWeightStruct\"\" pulumi-lang-java=\"\"nodeWeightStruct\"\"\u003e\"node_weight_struct\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`masterNodeWeight`\" pulumi-lang-dotnet=\"`MasterNodeWeight`\" pulumi-lang-go=\"`masterNodeWeight`\" pulumi-lang-python=\"`master_node_weight`\" pulumi-lang-yaml=\"`masterNodeWeight`\" pulumi-lang-java=\"`masterNodeWeight`\"\u003e`master_node_weight`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`readonlyNodesWeight`\" pulumi-lang-dotnet=\"`ReadonlyNodesWeight`\" pulumi-lang-go=\"`readonlyNodesWeight`\" pulumi-lang-python=\"`readonly_nodes_weight`\" pulumi-lang-yaml=\"`readonlyNodesWeight`\" pulumi-lang-java=\"`readonlyNodesWeight`\"\u003e`readonly_nodes_weight`\u003c/span\u003e block supports:\n"},"region":{"type":"string","description":"Indicates the region in which to create the resource.\n"},"status":{"type":"string","description":"Indicates the proxy node status. The values can be:\n+ **ACTIVE**: The node is available.\n+ **ABNORMAL**: The node is abnormal.\n+ **FAILED**: The node fails.\n+ **DELETED**: The node has been deleted.\n"},"taurusdbMysqlProxyV3Id":{"type":"string","description":"Specifies the ID of the node.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FTaurusdbMysqlProxyV3Timeouts:TaurusdbMysqlProxyV3Timeouts"}},"type":"object"}},"opentelekomcloud:index/taurusdbMysqlQuotaV3:TaurusdbMysqlQuotaV3":{"description":"Manages a TaurusDB MySQL quota resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst enterpriseProjectId = config.requireObject\u003cany\u003e(\"enterpriseProjectId\");\nconst test = new opentelekomcloud.TaurusdbMysqlQuotaV3(\"test\", {\n    enterpriseProjectId: enterpriseProjectId,\n    instanceQuota: 10,\n    vcpusQuota: 0,\n    ramQuota: 30,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nenterprise_project_id = config.require_object(\"enterpriseProjectId\")\ntest = opentelekomcloud.TaurusdbMysqlQuotaV3(\"test\",\n    enterprise_project_id=enterprise_project_id,\n    instance_quota=10,\n    vcpus_quota=0,\n    ram_quota=30)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var enterpriseProjectId = config.RequireObject\u003cdynamic\u003e(\"enterpriseProjectId\");\n    var test = new Opentelekomcloud.TaurusdbMysqlQuotaV3(\"test\", new()\n    {\n        EnterpriseProjectId = enterpriseProjectId,\n        InstanceQuota = 10,\n        VcpusQuota = 0,\n        RamQuota = 30,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tenterpriseProjectId := cfg.RequireObject(\"enterpriseProjectId\")\n\t\t_, err := opentelekomcloud.NewTaurusdbMysqlQuotaV3(ctx, \"test\", \u0026opentelekomcloud.TaurusdbMysqlQuotaV3Args{\n\t\t\tEnterpriseProjectId: pulumi.Any(enterpriseProjectId),\n\t\t\tInstanceQuota:       pulumi.Float64(10),\n\t\t\tVcpusQuota:          pulumi.Float64(0),\n\t\t\tRamQuota:            pulumi.Float64(30),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.TaurusdbMysqlQuotaV3;\nimport com.pulumi.opentelekomcloud.TaurusdbMysqlQuotaV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var enterpriseProjectId = config.get(\"enterpriseProjectId\");\n        var test = new TaurusdbMysqlQuotaV3(\"test\", TaurusdbMysqlQuotaV3Args.builder()\n            .enterpriseProjectId(enterpriseProjectId)\n            .instanceQuota(10.0)\n            .vcpusQuota(0.0)\n            .ramQuota(30.0)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  enterpriseProjectId:\n    type: dynamic\nresources:\n  test:\n    type: opentelekomcloud:TaurusdbMysqlQuotaV3\n    properties:\n      enterpriseProjectId: ${enterpriseProjectId}\n      instanceQuota: 10\n      vcpusQuota: 0\n      ramQuota: 30\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe TaurusDB MySQL quota can be imported using the `id`, e.g.\n\nbash\n\n```sh\n$ pulumi import opentelekomcloud:index/taurusdbMysqlQuotaV3:TaurusdbMysqlQuotaV3 test \u003cid\u003e\n```\n\n","properties":{"availabilityInstanceQuota":{"type":"number","description":"Indicates the remaining instance quota.\n"},"availabilityRamQuota":{"type":"number","description":"Indicates the remaining memory quota.\n"},"availabilityVcpusQuota":{"type":"number","description":"Indicates the remaining vCPU quota.\n"},"enterpriseProjectId":{"type":"string","description":"Specifies the enterprise project ID.\nChanging this parameter will create a new resource.\n"},"enterpriseProjectName":{"type":"string","description":"Indicates the enterprise project name.\n"},"instanceQuota":{"type":"number","description":"Specifies the instance quantity quota. Value range: **-1** to **100000**. The value\n**-1** indicates no limit. If there are already instances created, this parameter value must be greater than the number\nof existing instances. Defaults to **-1**.\n"},"ramQuota":{"type":"number","description":"Specifies the memory quota in GB. Value range: **-1** to **2147483646**. The value **-1**\nindicates no limit. If there are already instances created, this parameter value must be greater than the used memory\nsize. Defaults to **-1**.\n"},"region":{"type":"string","description":"Indicates the region in which to create the resource.\n"},"taurusdbMysqlQuotaV3Id":{"type":"string","description":"Indicates the resource ID. The value is \u003cspan pulumi-lang-nodejs=\"`enterpriseProjectId`\" pulumi-lang-dotnet=\"`EnterpriseProjectId`\" pulumi-lang-go=\"`enterpriseProjectId`\" pulumi-lang-python=\"`enterprise_project_id`\" pulumi-lang-yaml=\"`enterpriseProjectId`\" pulumi-lang-java=\"`enterpriseProjectId`\"\u003e`enterprise_project_id`\u003c/span\u003e.\n"},"vcpusQuota":{"type":"number","description":"Specifies the vCPU quota. Value range: **-1** to **2147483646**. The value **-1**\nindicates no limit. If there are already instances created, this parameter value must be greater than the number of\nused vCPUs. Defaults to **-1**.\n"}},"type":"object","required":["availabilityInstanceQuota","availabilityRamQuota","availabilityVcpusQuota","enterpriseProjectId","enterpriseProjectName","region","taurusdbMysqlQuotaV3Id"],"inputProperties":{"enterpriseProjectId":{"type":"string","description":"Specifies the enterprise project ID.\nChanging this parameter will create a new resource.\n"},"enterpriseProjectName":{"type":"string","description":"Indicates the enterprise project name.\n"},"instanceQuota":{"type":"number","description":"Specifies the instance quantity quota. Value range: **-1** to **100000**. The value\n**-1** indicates no limit. If there are already instances created, this parameter value must be greater than the number\nof existing instances. Defaults to **-1**.\n"},"ramQuota":{"type":"number","description":"Specifies the memory quota in GB. Value range: **-1** to **2147483646**. The value **-1**\nindicates no limit. If there are already instances created, this parameter value must be greater than the used memory\nsize. Defaults to **-1**.\n"},"taurusdbMysqlQuotaV3Id":{"type":"string","description":"Indicates the resource ID. The value is \u003cspan pulumi-lang-nodejs=\"`enterpriseProjectId`\" pulumi-lang-dotnet=\"`EnterpriseProjectId`\" pulumi-lang-go=\"`enterpriseProjectId`\" pulumi-lang-python=\"`enterprise_project_id`\" pulumi-lang-yaml=\"`enterpriseProjectId`\" pulumi-lang-java=\"`enterpriseProjectId`\"\u003e`enterprise_project_id`\u003c/span\u003e.\n"},"vcpusQuota":{"type":"number","description":"Specifies the vCPU quota. Value range: **-1** to **2147483646**. The value **-1**\nindicates no limit. If there are already instances created, this parameter value must be greater than the number of\nused vCPUs. Defaults to **-1**.\n"}},"requiredInputs":["enterpriseProjectId","enterpriseProjectName"],"stateInputs":{"description":"Input properties used for looking up and filtering TaurusdbMysqlQuotaV3 resources.\n","properties":{"availabilityInstanceQuota":{"type":"number","description":"Indicates the remaining instance quota.\n"},"availabilityRamQuota":{"type":"number","description":"Indicates the remaining memory quota.\n"},"availabilityVcpusQuota":{"type":"number","description":"Indicates the remaining vCPU quota.\n"},"enterpriseProjectId":{"type":"string","description":"Specifies the enterprise project ID.\nChanging this parameter will create a new resource.\n"},"enterpriseProjectName":{"type":"string","description":"Indicates the enterprise project name.\n"},"instanceQuota":{"type":"number","description":"Specifies the instance quantity quota. Value range: **-1** to **100000**. The value\n**-1** indicates no limit. If there are already instances created, this parameter value must be greater than the number\nof existing instances. Defaults to **-1**.\n"},"ramQuota":{"type":"number","description":"Specifies the memory quota in GB. Value range: **-1** to **2147483646**. The value **-1**\nindicates no limit. If there are already instances created, this parameter value must be greater than the used memory\nsize. Defaults to **-1**.\n"},"region":{"type":"string","description":"Indicates the region in which to create the resource.\n"},"taurusdbMysqlQuotaV3Id":{"type":"string","description":"Indicates the resource ID. The value is \u003cspan pulumi-lang-nodejs=\"`enterpriseProjectId`\" pulumi-lang-dotnet=\"`EnterpriseProjectId`\" pulumi-lang-go=\"`enterpriseProjectId`\" pulumi-lang-python=\"`enterprise_project_id`\" pulumi-lang-yaml=\"`enterpriseProjectId`\" pulumi-lang-java=\"`enterpriseProjectId`\"\u003e`enterprise_project_id`\u003c/span\u003e.\n"},"vcpusQuota":{"type":"number","description":"Specifies the vCPU quota. Value range: **-1** to **2147483646**. The value **-1**\nindicates no limit. If there are already instances created, this parameter value must be greater than the number of\nused vCPUs. Defaults to **-1**.\n"}},"type":"object"}},"opentelekomcloud:index/taurusdbMysqlSqlControlRuleV3:TaurusdbMysqlSqlControlRuleV3":{"description":"Manages a TaurusDB MySQL SQL concurrency control rule resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst instanceId = config.requireObject\u003cany\u003e(\"instanceId\");\nconst nodeId = config.requireObject\u003cany\u003e(\"nodeId\");\nconst test = new opentelekomcloud.TaurusdbMysqlSqlControlRuleV3(\"test\", {\n    instanceId: instanceId,\n    nodeId: nodeId,\n    sqlType: \"SELECT\",\n    pattern: \"select~from~t1\",\n    maxConcurrency: 20,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ninstance_id = config.require_object(\"instanceId\")\nnode_id = config.require_object(\"nodeId\")\ntest = opentelekomcloud.TaurusdbMysqlSqlControlRuleV3(\"test\",\n    instance_id=instance_id,\n    node_id=node_id,\n    sql_type=\"SELECT\",\n    pattern=\"select~from~t1\",\n    max_concurrency=20)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var instanceId = config.RequireObject\u003cdynamic\u003e(\"instanceId\");\n    var nodeId = config.RequireObject\u003cdynamic\u003e(\"nodeId\");\n    var test = new Opentelekomcloud.TaurusdbMysqlSqlControlRuleV3(\"test\", new()\n    {\n        InstanceId = instanceId,\n        NodeId = nodeId,\n        SqlType = \"SELECT\",\n        Pattern = \"select~from~t1\",\n        MaxConcurrency = 20,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tinstanceId := cfg.RequireObject(\"instanceId\")\n\t\tnodeId := cfg.RequireObject(\"nodeId\")\n\t\t_, err := opentelekomcloud.NewTaurusdbMysqlSqlControlRuleV3(ctx, \"test\", \u0026opentelekomcloud.TaurusdbMysqlSqlControlRuleV3Args{\n\t\t\tInstanceId:     pulumi.Any(instanceId),\n\t\t\tNodeId:         pulumi.Any(nodeId),\n\t\t\tSqlType:        pulumi.String(\"SELECT\"),\n\t\t\tPattern:        pulumi.String(\"select~from~t1\"),\n\t\t\tMaxConcurrency: pulumi.Float64(20),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.TaurusdbMysqlSqlControlRuleV3;\nimport com.pulumi.opentelekomcloud.TaurusdbMysqlSqlControlRuleV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var instanceId = config.get(\"instanceId\");\n        final var nodeId = config.get(\"nodeId\");\n        var test = new TaurusdbMysqlSqlControlRuleV3(\"test\", TaurusdbMysqlSqlControlRuleV3Args.builder()\n            .instanceId(instanceId)\n            .nodeId(nodeId)\n            .sqlType(\"SELECT\")\n            .pattern(\"select~from~t1\")\n            .maxConcurrency(20.0)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  instanceId:\n    type: dynamic\n  nodeId:\n    type: dynamic\nresources:\n  test:\n    type: opentelekomcloud:TaurusdbMysqlSqlControlRuleV3\n    properties:\n      instanceId: ${instanceId}\n      nodeId: ${nodeId}\n      sqlType: SELECT\n      pattern: select~from~t1\n      maxConcurrency: 20\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe TaurusDB MySQL SQL concurrency control rule can be imported using the `instance_id`, `node_id`, `sql_type` and\n\n`pattern` separated by slashes, e.g.\n\nbash\n\n```sh\n$ pulumi import opentelekomcloud:index/taurusdbMysqlSqlControlRuleV3:TaurusdbMysqlSqlControlRuleV3 test \u003cinstance_id\u003e/\u003cnode_id\u003e/\u003csql_type\u003e/\u003cpattern\u003e\n```\n\n","properties":{"instanceId":{"type":"string","description":"Specifies the ID of the TaurusDB MySQL instance.\nChanging this parameter will create a new resource.\n"},"maxConcurrency":{"type":"number","description":"Specifies the maximum number of concurrent SQL statements.\nValue: a non-negative integer.\n"},"nodeId":{"type":"string","description":"Specifies the ID of the TaurusDB MySQL node.\nChanging this parameter will create a new resource.\n"},"pattern":{"type":"string","description":"Specifies the concurrency control rule of SQL statements. A rule can consist\nof up to 128 keywords. The keywords are separated by tildes (~), for example, select~from~t1. The rule cannot contain\nbackslashes (\\), commas (,), or double tildes (~~). It cannot end with tildes (~).\nChanging this parameter will create a new resource.\n"},"region":{"type":"string","description":"Indicates the region in which to create the resource.\n"},"sqlType":{"type":"string","description":"Specifies the SQL statement type.\nValue options: **SELECT**, **UPDATE**, **DELETE**.\nChanging this parameter will create a new resource.\n"},"taurusdbMysqlSqlControlRuleV3Id":{"type":"string","description":"Indicates the resource ID which is formatted `\u003cinstance_id\u003e/\u003cnode_id\u003e/\u003csql_type\u003e/\u003cpattern\u003e`.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FTaurusdbMysqlSqlControlRuleV3Timeouts:TaurusdbMysqlSqlControlRuleV3Timeouts"}},"type":"object","required":["instanceId","maxConcurrency","nodeId","pattern","region","sqlType","taurusdbMysqlSqlControlRuleV3Id"],"inputProperties":{"instanceId":{"type":"string","description":"Specifies the ID of the TaurusDB MySQL instance.\nChanging this parameter will create a new resource.\n"},"maxConcurrency":{"type":"number","description":"Specifies the maximum number of concurrent SQL statements.\nValue: a non-negative integer.\n"},"nodeId":{"type":"string","description":"Specifies the ID of the TaurusDB MySQL node.\nChanging this parameter will create a new resource.\n"},"pattern":{"type":"string","description":"Specifies the concurrency control rule of SQL statements. A rule can consist\nof up to 128 keywords. The keywords are separated by tildes (~), for example, select~from~t1. The rule cannot contain\nbackslashes (\\), commas (,), or double tildes (~~). It cannot end with tildes (~).\nChanging this parameter will create a new resource.\n"},"sqlType":{"type":"string","description":"Specifies the SQL statement type.\nValue options: **SELECT**, **UPDATE**, **DELETE**.\nChanging this parameter will create a new resource.\n"},"taurusdbMysqlSqlControlRuleV3Id":{"type":"string","description":"Indicates the resource ID which is formatted `\u003cinstance_id\u003e/\u003cnode_id\u003e/\u003csql_type\u003e/\u003cpattern\u003e`.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FTaurusdbMysqlSqlControlRuleV3Timeouts:TaurusdbMysqlSqlControlRuleV3Timeouts"}},"requiredInputs":["instanceId","maxConcurrency","nodeId","pattern","sqlType"],"stateInputs":{"description":"Input properties used for looking up and filtering TaurusdbMysqlSqlControlRuleV3 resources.\n","properties":{"instanceId":{"type":"string","description":"Specifies the ID of the TaurusDB MySQL instance.\nChanging this parameter will create a new resource.\n"},"maxConcurrency":{"type":"number","description":"Specifies the maximum number of concurrent SQL statements.\nValue: a non-negative integer.\n"},"nodeId":{"type":"string","description":"Specifies the ID of the TaurusDB MySQL node.\nChanging this parameter will create a new resource.\n"},"pattern":{"type":"string","description":"Specifies the concurrency control rule of SQL statements. A rule can consist\nof up to 128 keywords. The keywords are separated by tildes (~), for example, select~from~t1. The rule cannot contain\nbackslashes (\\), commas (,), or double tildes (~~). It cannot end with tildes (~).\nChanging this parameter will create a new resource.\n"},"region":{"type":"string","description":"Indicates the region in which to create the resource.\n"},"sqlType":{"type":"string","description":"Specifies the SQL statement type.\nValue options: **SELECT**, **UPDATE**, **DELETE**.\nChanging this parameter will create a new resource.\n"},"taurusdbMysqlSqlControlRuleV3Id":{"type":"string","description":"Indicates the resource ID which is formatted `\u003cinstance_id\u003e/\u003cnode_id\u003e/\u003csql_type\u003e/\u003cpattern\u003e`.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FTaurusdbMysqlSqlControlRuleV3Timeouts:TaurusdbMysqlSqlControlRuleV3Timeouts"}},"type":"object"}},"opentelekomcloud:index/tmsResourceTagsV1:TmsResourceTagsV1":{"description":"Up-to-date reference of API arguments for TMS Resource Tags you can get at\n[documentation portal](https://docs.otc.t-systems.com/tag-management-service/api-ref/api_description/resource_tags/index.html#topic-300000003)\n\n\nUsing this resource to manage tags of other service resources in batches within OpenTelekomCloud.\n\n\u003e The \u003cspan pulumi-lang-nodejs=\"`tags`\" pulumi-lang-dotnet=\"`Tags`\" pulumi-lang-go=\"`tags`\" pulumi-lang-python=\"`tags`\" pulumi-lang-yaml=\"`tags`\" pulumi-lang-java=\"`tags`\"\u003e`tags`\u003c/span\u003e parameters of this resource and each service resource will affect each other, and should be managed in\nonly one way as much as possible. You can use `lifecycle.ignore_changes` to ignore resource changes.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst resourcesProjectId = config.requireObject\u003cany\u003e(\"resourcesProjectId\");\nconst resourcesConfiguration = config.requireObject\u003cArray\u003c{id?: string, type?: string}\u003e\u003e(\"resourcesConfiguration\");\nconst test = new opentelekomcloud.TmsResourceTagsV1(\"test\", {\n    resources: resourcesConfiguration.map((v, k) =\u003e ({key: k, value: v})).map(entry =\u003e ({\n        resourceType: entry.value.type,\n        resourceId: entry.value.id,\n    })),\n    projectId: resourcesProjectId,\n    tags: {\n        foo: \"bar\",\n        owner: \"terraform\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nresources_project_id = config.require_object(\"resourcesProjectId\")\nresources_configuration = config.require_object(\"resourcesConfiguration\")\ntest = opentelekomcloud.TmsResourceTagsV1(\"test\",\n    resources=[{\n        \"resource_type\": entry[\"value\"][\"type\"],\n        \"resource_id\": entry[\"value\"][\"id\"],\n    } for entry in [{\"key\": k, \"value\": v} for k, v in resources_configuration]],\n    project_id=resources_project_id,\n    tags={\n        \"foo\": \"bar\",\n        \"owner\": \"terraform\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var resourcesProjectId = config.RequireObject\u003cdynamic\u003e(\"resourcesProjectId\");\n    var resourcesConfiguration = config.RequireObject\u003cResourcesConfiguration[]\u003e(\"resourcesConfiguration\");\n    var test = new Opentelekomcloud.TmsResourceTagsV1(\"test\", new()\n    {\n        Resources = resourcesConfiguration.Select((v, k) =\u003e new { Key = k, Value = v }).Select(entry =\u003e \n        {\n            return new Opentelekomcloud.Inputs.TmsResourceTagsV1ResourceArgs\n            {\n                ResourceType = entry.Value.Type,\n                ResourceId = entry.Value.Id,\n            };\n        }).ToList(),\n        ProjectId = resourcesProjectId,\n        Tags = \n        {\n            { \"foo\", \"bar\" },\n            { \"owner\", \"terraform\" },\n        },\n    });\n\n});\n\npublic class ResourcesConfiguration\n{\n    public string id { get; set; }\n    public string type { get; set; }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"projectId":{"type":"string","description":"Specifies project ID to which the managed resources belong.\nRequired if the resources are project level. Changing this will create a new resource.\n"},"resources":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FTmsResourceTagsV1Resource:TmsResourceTagsV1Resource"},"description":"Specifies the managed resource configuration.\nThe resources structure is documented below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies resource tags for batch management.\n+ The valid length of the tag key is limited from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`36`\" pulumi-lang-dotnet=\"`36`\" pulumi-lang-go=\"`36`\" pulumi-lang-python=\"`36`\" pulumi-lang-yaml=\"`36`\" pulumi-lang-java=\"`36`\"\u003e`36`\u003c/span\u003e, only letters, digits, hyphens (-), underscores (_) and\nChinese characters are allowed.\n+ The valid length of the tag value is limited from \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`43`\" pulumi-lang-dotnet=\"`43`\" pulumi-lang-go=\"`43`\" pulumi-lang-python=\"`43`\" pulumi-lang-yaml=\"`43`\" pulumi-lang-java=\"`43`\"\u003e`43`\u003c/span\u003e, only letters, digits, periods (.), hyphens (-),\nunderscores (_) and Chinese characters are allowed.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"tagsResources\"\" pulumi-lang-dotnet=\"\"TagsResources\"\" pulumi-lang-go=\"\"tagsResources\"\" pulumi-lang-python=\"\"tags_resources\"\" pulumi-lang-yaml=\"\"tagsResources\"\" pulumi-lang-java=\"\"tagsResources\"\"\u003e\"tags_resources\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`resources`\" pulumi-lang-dotnet=\"`Resources`\" pulumi-lang-go=\"`resources`\" pulumi-lang-python=\"`resources`\" pulumi-lang-yaml=\"`resources`\" pulumi-lang-java=\"`resources`\"\u003e`resources`\u003c/span\u003e block supports:\n"},"tmsResourceTagsV1Id":{"type":"string","description":"The resource ID.\n"}},"type":"object","required":["resources","tags","tmsResourceTagsV1Id"],"inputProperties":{"projectId":{"type":"string","description":"Specifies project ID to which the managed resources belong.\nRequired if the resources are project level. Changing this will create a new resource.\n"},"resources":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FTmsResourceTagsV1Resource:TmsResourceTagsV1Resource"},"description":"Specifies the managed resource configuration.\nThe resources structure is documented below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies resource tags for batch management.\n+ The valid length of the tag key is limited from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`36`\" pulumi-lang-dotnet=\"`36`\" pulumi-lang-go=\"`36`\" pulumi-lang-python=\"`36`\" pulumi-lang-yaml=\"`36`\" pulumi-lang-java=\"`36`\"\u003e`36`\u003c/span\u003e, only letters, digits, hyphens (-), underscores (_) and\nChinese characters are allowed.\n+ The valid length of the tag value is limited from \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`43`\" pulumi-lang-dotnet=\"`43`\" pulumi-lang-go=\"`43`\" pulumi-lang-python=\"`43`\" pulumi-lang-yaml=\"`43`\" pulumi-lang-java=\"`43`\"\u003e`43`\u003c/span\u003e, only letters, digits, periods (.), hyphens (-),\nunderscores (_) and Chinese characters are allowed.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"tagsResources\"\" pulumi-lang-dotnet=\"\"TagsResources\"\" pulumi-lang-go=\"\"tagsResources\"\" pulumi-lang-python=\"\"tags_resources\"\" pulumi-lang-yaml=\"\"tagsResources\"\" pulumi-lang-java=\"\"tagsResources\"\"\u003e\"tags_resources\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`resources`\" pulumi-lang-dotnet=\"`Resources`\" pulumi-lang-go=\"`resources`\" pulumi-lang-python=\"`resources`\" pulumi-lang-yaml=\"`resources`\" pulumi-lang-java=\"`resources`\"\u003e`resources`\u003c/span\u003e block supports:\n"},"tmsResourceTagsV1Id":{"type":"string","description":"The resource ID.\n"}},"requiredInputs":["resources","tags"],"stateInputs":{"description":"Input properties used for looking up and filtering TmsResourceTagsV1 resources.\n","properties":{"projectId":{"type":"string","description":"Specifies project ID to which the managed resources belong.\nRequired if the resources are project level. Changing this will create a new resource.\n"},"resources":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FTmsResourceTagsV1Resource:TmsResourceTagsV1Resource"},"description":"Specifies the managed resource configuration.\nThe resources structure is documented below.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies resource tags for batch management.\n+ The valid length of the tag key is limited from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`36`\" pulumi-lang-dotnet=\"`36`\" pulumi-lang-go=\"`36`\" pulumi-lang-python=\"`36`\" pulumi-lang-yaml=\"`36`\" pulumi-lang-java=\"`36`\"\u003e`36`\u003c/span\u003e, only letters, digits, hyphens (-), underscores (_) and\nChinese characters are allowed.\n+ The valid length of the tag value is limited from \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`43`\" pulumi-lang-dotnet=\"`43`\" pulumi-lang-go=\"`43`\" pulumi-lang-python=\"`43`\" pulumi-lang-yaml=\"`43`\" pulumi-lang-java=\"`43`\"\u003e`43`\u003c/span\u003e, only letters, digits, periods (.), hyphens (-),\nunderscores (_) and Chinese characters are allowed.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"tagsResources\"\" pulumi-lang-dotnet=\"\"TagsResources\"\" pulumi-lang-go=\"\"tagsResources\"\" pulumi-lang-python=\"\"tags_resources\"\" pulumi-lang-yaml=\"\"tagsResources\"\" pulumi-lang-java=\"\"tagsResources\"\"\u003e\"tags_resources\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`resources`\" pulumi-lang-dotnet=\"`Resources`\" pulumi-lang-go=\"`resources`\" pulumi-lang-python=\"`resources`\" pulumi-lang-yaml=\"`resources`\" pulumi-lang-java=\"`resources`\"\u003e`resources`\u003c/span\u003e block supports:\n"},"tmsResourceTagsV1Id":{"type":"string","description":"The resource ID.\n"}},"type":"object"}},"opentelekomcloud:index/tmsTagsV1:TmsTagsV1":{"description":"Up-to-date reference of API arguments for TMS Tags you can get at\n[documentation portal](https://docs.otc.t-systems.com/tag-management-service/api-ref/)\n\nManages TMS tags resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst test = new opentelekomcloud.TmsTagsV1(\"test\", {tags: [{\n    key: \"foo\",\n    value: \"bar\",\n}]});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ntest = opentelekomcloud.TmsTagsV1(\"test\", tags=[{\n    \"key\": \"foo\",\n    \"value\": \"bar\",\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = new Opentelekomcloud.TmsTagsV1(\"test\", new()\n    {\n        Tags = new[]\n        {\n            new Opentelekomcloud.Inputs.TmsTagsV1TagArgs\n            {\n                Key = \"foo\",\n                Value = \"bar\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewTmsTagsV1(ctx, \"test\", \u0026opentelekomcloud.TmsTagsV1Args{\n\t\t\tTags: opentelekomcloud.TmsTagsV1TagArray{\n\t\t\t\t\u0026opentelekomcloud.TmsTagsV1TagArgs{\n\t\t\t\t\tKey:   pulumi.String(\"foo\"),\n\t\t\t\t\tValue: pulumi.String(\"bar\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.TmsTagsV1;\nimport com.pulumi.opentelekomcloud.TmsTagsV1Args;\nimport com.pulumi.opentelekomcloud.inputs.TmsTagsV1TagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test = new TmsTagsV1(\"test\", TmsTagsV1Args.builder()\n            .tags(TmsTagsV1TagArgs.builder()\n                .key(\"foo\")\n                .value(\"bar\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test:\n    type: opentelekomcloud:TmsTagsV1\n    properties:\n      tags:\n        - key: foo\n          value: bar\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"tags":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FTmsTagsV1Tag:TmsTagsV1Tag"},"description":"Specifies an array of one or more predefined tags.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FTmsTagsV1Timeouts:TmsTagsV1Timeouts"},"tmsTagsV1Id":{"type":"string","description":"The resource ID.\n"}},"type":"object","required":["tags","tmsTagsV1Id"],"inputProperties":{"tags":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FTmsTagsV1Tag:TmsTagsV1Tag"},"description":"Specifies an array of one or more predefined tags.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FTmsTagsV1Timeouts:TmsTagsV1Timeouts"},"tmsTagsV1Id":{"type":"string","description":"The resource ID.\n"}},"requiredInputs":["tags"],"stateInputs":{"description":"Input properties used for looking up and filtering TmsTagsV1 resources.\n","properties":{"tags":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FTmsTagsV1Tag:TmsTagsV1Tag"},"description":"Specifies an array of one or more predefined tags.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FTmsTagsV1Timeouts:TmsTagsV1Timeouts"},"tmsTagsV1Id":{"type":"string","description":"The resource ID.\n"}},"type":"object"}},"opentelekomcloud:index/vbsBackupPolicyV2:VbsBackupPolicyV2":{"description":"Up-to-date reference of API arguments for VBS backup policy you can get at\n[documentation portal](https://docs.otc.t-systems.com/volume-backup-service/api-ref/api_description/backup_policies)\n\nProvides an VBS Backup Policy resource within OpenTelekomCloud.\n\n~\u003e\nDeprecated, use \u003cspan pulumi-lang-nodejs=\"`opentelekomcloud.CbrPolicyV3`\" pulumi-lang-dotnet=\"`opentelekomcloud.CbrPolicyV3`\" pulumi-lang-go=\"`CbrPolicyV3`\" pulumi-lang-python=\"`CbrPolicyV3`\" pulumi-lang-yaml=\"`opentelekomcloud.CbrPolicyV3`\" pulumi-lang-java=\"`opentelekomcloud.CbrPolicyV3`\"\u003e`opentelekomcloud.CbrPolicyV3`\u003c/span\u003e resource instead.\n\n## Example Usage\n\n### Basic Backup Policy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst vbsPolicy1 = new opentelekomcloud.VbsBackupPolicyV2(\"vbs_policy1\", {\n    name: \"policy_001\",\n    status: \"ON\",\n    startTime: \"12:00\",\n    retainFirstBackup: \"N\",\n    rententionNum: 7,\n    frequency: 1,\n    tags: {\n        key: \"k1\",\n        value: \"v1\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nvbs_policy1 = opentelekomcloud.VbsBackupPolicyV2(\"vbs_policy1\",\n    name=\"policy_001\",\n    status=\"ON\",\n    start_time=\"12:00\",\n    retain_first_backup=\"N\",\n    rentention_num=7,\n    frequency=1,\n    tags={\n        \"key\": \"k1\",\n        \"value\": \"v1\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var vbsPolicy1 = new Opentelekomcloud.VbsBackupPolicyV2(\"vbs_policy1\", new()\n    {\n        Name = \"policy_001\",\n        Status = \"ON\",\n        StartTime = \"12:00\",\n        RetainFirstBackup = \"N\",\n        RententionNum = 7,\n        Frequency = 1,\n        Tags = \n        {\n            { \"key\", \"k1\" },\n            { \"value\", \"v1\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewVbsBackupPolicyV2(ctx, \"vbs_policy1\", \u0026opentelekomcloud.VbsBackupPolicyV2Args{\n\t\t\tName:              pulumi.String(\"policy_001\"),\n\t\t\tStatus:            pulumi.String(\"ON\"),\n\t\t\tStartTime:         pulumi.String(\"12:00\"),\n\t\t\tRetainFirstBackup: pulumi.String(\"N\"),\n\t\t\tRententionNum:     pulumi.Float64(7),\n\t\t\tFrequency:         pulumi.Float64(1),\n\t\t\tTags: opentelekomcloud.VbsBackupPolicyV2TagArray{\n\t\t\t\tKey:   \"k1\",\n\t\t\t\tValue: \"v1\",\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.VbsBackupPolicyV2;\nimport com.pulumi.opentelekomcloud.VbsBackupPolicyV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var vbsPolicy1 = new VbsBackupPolicyV2(\"vbsPolicy1\", VbsBackupPolicyV2Args.builder()\n            .name(\"policy_001\")\n            .status(\"ON\")\n            .startTime(\"12:00\")\n            .retainFirstBackup(\"N\")\n            .rententionNum(7.0)\n            .frequency(1.0)\n            .tags(VbsBackupPolicyV2TagArgs.builder()\n                .key(\"k1\")\n                .value(\"v1\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  vbsPolicy1:\n    type: opentelekomcloud:VbsBackupPolicyV2\n    name: vbs_policy1\n    properties:\n      name: policy_001\n      status: ON\n      startTime: 12:00\n      retainFirstBackup: N\n      rententionNum: 7\n      frequency: 1\n      tags:\n        key: k1\n        value: v1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Backup Policy with EVS Disks\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst volumeId = config.requireObject\u003cany\u003e(\"volumeId\");\nconst vbsPolicy2 = new opentelekomcloud.VbsBackupPolicyV2(\"vbs_policy2\", {\n    name: \"policy_002\",\n    status: \"ON\",\n    startTime: \"12:00\",\n    retainFirstBackup: \"N\",\n    rententionNum: 5,\n    frequency: 3,\n    resources: [volumeId],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nvolume_id = config.require_object(\"volumeId\")\nvbs_policy2 = opentelekomcloud.VbsBackupPolicyV2(\"vbs_policy2\",\n    name=\"policy_002\",\n    status=\"ON\",\n    start_time=\"12:00\",\n    retain_first_backup=\"N\",\n    rentention_num=5,\n    frequency=3,\n    resources=[volume_id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var volumeId = config.RequireObject\u003cdynamic\u003e(\"volumeId\");\n    var vbsPolicy2 = new Opentelekomcloud.VbsBackupPolicyV2(\"vbs_policy2\", new()\n    {\n        Name = \"policy_002\",\n        Status = \"ON\",\n        StartTime = \"12:00\",\n        RetainFirstBackup = \"N\",\n        RententionNum = 5,\n        Frequency = 3,\n        Resources = new[]\n        {\n            volumeId,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tvolumeId := cfg.RequireObject(\"volumeId\")\n\t\t_, err := opentelekomcloud.NewVbsBackupPolicyV2(ctx, \"vbs_policy2\", \u0026opentelekomcloud.VbsBackupPolicyV2Args{\n\t\t\tName:              pulumi.String(\"policy_002\"),\n\t\t\tStatus:            pulumi.String(\"ON\"),\n\t\t\tStartTime:         pulumi.String(\"12:00\"),\n\t\t\tRetainFirstBackup: pulumi.String(\"N\"),\n\t\t\tRententionNum:     pulumi.Float64(5),\n\t\t\tFrequency:         pulumi.Float64(3),\n\t\t\tResources: pulumi.StringArray{\n\t\t\t\tvolumeId,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.VbsBackupPolicyV2;\nimport com.pulumi.opentelekomcloud.VbsBackupPolicyV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var volumeId = config.get(\"volumeId\");\n        var vbsPolicy2 = new VbsBackupPolicyV2(\"vbsPolicy2\", VbsBackupPolicyV2Args.builder()\n            .name(\"policy_002\")\n            .status(\"ON\")\n            .startTime(\"12:00\")\n            .retainFirstBackup(\"N\")\n            .rententionNum(5.0)\n            .frequency(3.0)\n            .resources(volumeId)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  volumeId:\n    type: dynamic\nresources:\n  vbsPolicy2:\n    type: opentelekomcloud:VbsBackupPolicyV2\n    name: vbs_policy2\n    properties:\n      name: policy_002\n      status: ON\n      startTime: 12:00\n      retainFirstBackup: N\n      rententionNum: 5\n      frequency: 3\n      resources:\n        - ${volumeId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nBackup Policy can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/vbsBackupPolicyV2:VbsBackupPolicyV2 vbs 4779ab1c-7c1a-44b1-a02e-93dfc361b32d\n```\n\n","properties":{"frequency":{"type":"number","description":"Specifies the backup interval. The value is in the range of 1 to 14 days.\nEither this field or \u003cspan pulumi-lang-nodejs=\"`weekFrequency`\" pulumi-lang-dotnet=\"`WeekFrequency`\" pulumi-lang-go=\"`weekFrequency`\" pulumi-lang-python=\"`week_frequency`\" pulumi-lang-yaml=\"`weekFrequency`\" pulumi-lang-java=\"`weekFrequency`\"\u003e`week_frequency`\u003c/span\u003e must be specified.\n"},"name":{"type":"string","description":"Specifies the policy name. The value is a string of 1 to 64 characters that\ncan contain letters, digits, underscores (_), and hyphens (-). It cannot start with \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.\n"},"policyResourceCount":{"type":"number","description":"Specifies the number of volumes associated with the backup policy.\n"},"region":{"type":"string"},"rententionDay":{"type":"number","description":"Specifies days of retained backups. Minimum value is 2.\nEither this field or \u003cspan pulumi-lang-nodejs=\"`rententionNum`\" pulumi-lang-dotnet=\"`RententionNum`\" pulumi-lang-go=\"`rententionNum`\" pulumi-lang-python=\"`rentention_num`\" pulumi-lang-yaml=\"`rententionNum`\" pulumi-lang-java=\"`rententionNum`\"\u003e`rentention_num`\u003c/span\u003e must be specified.\n"},"rententionNum":{"type":"number","description":"Specifies number of retained backups. Minimum value is 2.\nEither this field or \u003cspan pulumi-lang-nodejs=\"`rententionDay`\" pulumi-lang-dotnet=\"`RententionDay`\" pulumi-lang-go=\"`rententionDay`\" pulumi-lang-python=\"`rentention_day`\" pulumi-lang-yaml=\"`rententionDay`\" pulumi-lang-java=\"`rententionDay`\"\u003e`rentention_day`\u003c/span\u003e must be specified.\n"},"resources":{"type":"array","items":{"type":"string"},"description":"Specifies one or more volumes associated with the backup policy.\nAny previously associated backup policy will no longer apply.\n"},"retainFirstBackup":{"type":"string","description":"Specifies whether to retain the first backup in the current month.\nPossible values are Y or N.\n"},"startTime":{"type":"string","description":"Specifies the start time(UTC) of the backup job. The value is in the\nHH:mm format. You need to set the execution time on a full hour. You can set multiple execution\ntimes, and use commas (,) to separate one time from another.\n"},"status":{"type":"string","description":"Specifies the backup policy status. Possible values are ON or OFF. Defaults to ON.\n"},"tags":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FVbsBackupPolicyV2Tag:VbsBackupPolicyV2Tag"},"description":"Represents the list of tags to be configured for the backup policy.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FVbsBackupPolicyV2Timeouts:VbsBackupPolicyV2Timeouts"},"vbsBackupPolicyV2Id":{"type":"string","description":"Specifies a backup policy ID.\n"},"weekFrequencies":{"type":"array","items":{"type":"string"},"description":"Specifies on which days of each week backup jobs are executed.\nThe value can be one or more of the following: \"SUN\", \"MON\", \"TUE\", \"WED\", \"THU\", \"FRI\", \"SAT\".\nEither this field or \u003cspan pulumi-lang-nodejs=\"`frequency`\" pulumi-lang-dotnet=\"`Frequency`\" pulumi-lang-go=\"`frequency`\" pulumi-lang-python=\"`frequency`\" pulumi-lang-yaml=\"`frequency`\" pulumi-lang-java=\"`frequency`\"\u003e`frequency`\u003c/span\u003e must be specified.\n"}},"type":"object","required":["name","policyResourceCount","region","retainFirstBackup","startTime","vbsBackupPolicyV2Id"],"inputProperties":{"frequency":{"type":"number","description":"Specifies the backup interval. The value is in the range of 1 to 14 days.\nEither this field or \u003cspan pulumi-lang-nodejs=\"`weekFrequency`\" pulumi-lang-dotnet=\"`WeekFrequency`\" pulumi-lang-go=\"`weekFrequency`\" pulumi-lang-python=\"`week_frequency`\" pulumi-lang-yaml=\"`weekFrequency`\" pulumi-lang-java=\"`weekFrequency`\"\u003e`week_frequency`\u003c/span\u003e must be specified.\n"},"name":{"type":"string","description":"Specifies the policy name. The value is a string of 1 to 64 characters that\ncan contain letters, digits, underscores (_), and hyphens (-). It cannot start with \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.\n"},"region":{"type":"string"},"rententionDay":{"type":"number","description":"Specifies days of retained backups. Minimum value is 2.\nEither this field or \u003cspan pulumi-lang-nodejs=\"`rententionNum`\" pulumi-lang-dotnet=\"`RententionNum`\" pulumi-lang-go=\"`rententionNum`\" pulumi-lang-python=\"`rentention_num`\" pulumi-lang-yaml=\"`rententionNum`\" pulumi-lang-java=\"`rententionNum`\"\u003e`rentention_num`\u003c/span\u003e must be specified.\n"},"rententionNum":{"type":"number","description":"Specifies number of retained backups. Minimum value is 2.\nEither this field or \u003cspan pulumi-lang-nodejs=\"`rententionDay`\" pulumi-lang-dotnet=\"`RententionDay`\" pulumi-lang-go=\"`rententionDay`\" pulumi-lang-python=\"`rentention_day`\" pulumi-lang-yaml=\"`rententionDay`\" pulumi-lang-java=\"`rententionDay`\"\u003e`rentention_day`\u003c/span\u003e must be specified.\n"},"resources":{"type":"array","items":{"type":"string"},"description":"Specifies one or more volumes associated with the backup policy.\nAny previously associated backup policy will no longer apply.\n"},"retainFirstBackup":{"type":"string","description":"Specifies whether to retain the first backup in the current month.\nPossible values are Y or N.\n"},"startTime":{"type":"string","description":"Specifies the start time(UTC) of the backup job. The value is in the\nHH:mm format. You need to set the execution time on a full hour. You can set multiple execution\ntimes, and use commas (,) to separate one time from another.\n"},"status":{"type":"string","description":"Specifies the backup policy status. Possible values are ON or OFF. Defaults to ON.\n"},"tags":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FVbsBackupPolicyV2Tag:VbsBackupPolicyV2Tag"},"description":"Represents the list of tags to be configured for the backup policy.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FVbsBackupPolicyV2Timeouts:VbsBackupPolicyV2Timeouts"},"vbsBackupPolicyV2Id":{"type":"string","description":"Specifies a backup policy ID.\n"},"weekFrequencies":{"type":"array","items":{"type":"string"},"description":"Specifies on which days of each week backup jobs are executed.\nThe value can be one or more of the following: \"SUN\", \"MON\", \"TUE\", \"WED\", \"THU\", \"FRI\", \"SAT\".\nEither this field or \u003cspan pulumi-lang-nodejs=\"`frequency`\" pulumi-lang-dotnet=\"`Frequency`\" pulumi-lang-go=\"`frequency`\" pulumi-lang-python=\"`frequency`\" pulumi-lang-yaml=\"`frequency`\" pulumi-lang-java=\"`frequency`\"\u003e`frequency`\u003c/span\u003e must be specified.\n"}},"requiredInputs":["retainFirstBackup","startTime"],"stateInputs":{"description":"Input properties used for looking up and filtering VbsBackupPolicyV2 resources.\n","properties":{"frequency":{"type":"number","description":"Specifies the backup interval. The value is in the range of 1 to 14 days.\nEither this field or \u003cspan pulumi-lang-nodejs=\"`weekFrequency`\" pulumi-lang-dotnet=\"`WeekFrequency`\" pulumi-lang-go=\"`weekFrequency`\" pulumi-lang-python=\"`week_frequency`\" pulumi-lang-yaml=\"`weekFrequency`\" pulumi-lang-java=\"`weekFrequency`\"\u003e`week_frequency`\u003c/span\u003e must be specified.\n"},"name":{"type":"string","description":"Specifies the policy name. The value is a string of 1 to 64 characters that\ncan contain letters, digits, underscores (_), and hyphens (-). It cannot start with \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.\n"},"policyResourceCount":{"type":"number","description":"Specifies the number of volumes associated with the backup policy.\n"},"region":{"type":"string"},"rententionDay":{"type":"number","description":"Specifies days of retained backups. Minimum value is 2.\nEither this field or \u003cspan pulumi-lang-nodejs=\"`rententionNum`\" pulumi-lang-dotnet=\"`RententionNum`\" pulumi-lang-go=\"`rententionNum`\" pulumi-lang-python=\"`rentention_num`\" pulumi-lang-yaml=\"`rententionNum`\" pulumi-lang-java=\"`rententionNum`\"\u003e`rentention_num`\u003c/span\u003e must be specified.\n"},"rententionNum":{"type":"number","description":"Specifies number of retained backups. Minimum value is 2.\nEither this field or \u003cspan pulumi-lang-nodejs=\"`rententionDay`\" pulumi-lang-dotnet=\"`RententionDay`\" pulumi-lang-go=\"`rententionDay`\" pulumi-lang-python=\"`rentention_day`\" pulumi-lang-yaml=\"`rententionDay`\" pulumi-lang-java=\"`rententionDay`\"\u003e`rentention_day`\u003c/span\u003e must be specified.\n"},"resources":{"type":"array","items":{"type":"string"},"description":"Specifies one or more volumes associated with the backup policy.\nAny previously associated backup policy will no longer apply.\n"},"retainFirstBackup":{"type":"string","description":"Specifies whether to retain the first backup in the current month.\nPossible values are Y or N.\n"},"startTime":{"type":"string","description":"Specifies the start time(UTC) of the backup job. The value is in the\nHH:mm format. You need to set the execution time on a full hour. You can set multiple execution\ntimes, and use commas (,) to separate one time from another.\n"},"status":{"type":"string","description":"Specifies the backup policy status. Possible values are ON or OFF. Defaults to ON.\n"},"tags":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FVbsBackupPolicyV2Tag:VbsBackupPolicyV2Tag"},"description":"Represents the list of tags to be configured for the backup policy.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FVbsBackupPolicyV2Timeouts:VbsBackupPolicyV2Timeouts"},"vbsBackupPolicyV2Id":{"type":"string","description":"Specifies a backup policy ID.\n"},"weekFrequencies":{"type":"array","items":{"type":"string"},"description":"Specifies on which days of each week backup jobs are executed.\nThe value can be one or more of the following: \"SUN\", \"MON\", \"TUE\", \"WED\", \"THU\", \"FRI\", \"SAT\".\nEither this field or \u003cspan pulumi-lang-nodejs=\"`frequency`\" pulumi-lang-dotnet=\"`Frequency`\" pulumi-lang-go=\"`frequency`\" pulumi-lang-python=\"`frequency`\" pulumi-lang-yaml=\"`frequency`\" pulumi-lang-java=\"`frequency`\"\u003e`frequency`\u003c/span\u003e must be specified.\n"}},"type":"object"}},"opentelekomcloud:index/vbsBackupShareV2:VbsBackupShareV2":{"description":"Up-to-date reference of API arguments for VBS backup share you can get at\n[documentation portal](https://docs.otc.t-systems.com/volume-backup-service/api-ref/api_description/vbs_backups)\n\nProvides an VBS Backup Share resource within OpenTelekomCloud.\n\n~\u003e\nDeprecated, use \u003cspan pulumi-lang-nodejs=\"`opentelekomcloud.CbrVaultV3`\" pulumi-lang-dotnet=\"`opentelekomcloud.CbrVaultV3`\" pulumi-lang-go=\"`CbrVaultV3`\" pulumi-lang-python=\"`CbrVaultV3`\" pulumi-lang-yaml=\"`opentelekomcloud.CbrVaultV3`\" pulumi-lang-java=\"`opentelekomcloud.CbrVaultV3`\"\u003e`opentelekomcloud.CbrVaultV3`\u003c/span\u003e resource instead.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst backupId = config.requireObject\u003cany\u003e(\"backupId\");\nconst toProjectIds = config.requireObject\u003cany\u003e(\"toProjectIds\");\nconst backupshare = new opentelekomcloud.VbsBackupShareV2(\"backupshare\", {\n    backupId: backupId,\n    toProjectIds: toProjectIds,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nbackup_id = config.require_object(\"backupId\")\nto_project_ids = config.require_object(\"toProjectIds\")\nbackupshare = opentelekomcloud.VbsBackupShareV2(\"backupshare\",\n    backup_id=backup_id,\n    to_project_ids=to_project_ids)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var backupId = config.RequireObject\u003cdynamic\u003e(\"backupId\");\n    var toProjectIds = config.RequireObject\u003cdynamic\u003e(\"toProjectIds\");\n    var backupshare = new Opentelekomcloud.VbsBackupShareV2(\"backupshare\", new()\n    {\n        BackupId = backupId,\n        ToProjectIds = toProjectIds,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tbackupId := cfg.RequireObject(\"backupId\")\n\t\ttoProjectIds := cfg.RequireObject(\"toProjectIds\")\n\t\t_, err := opentelekomcloud.NewVbsBackupShareV2(ctx, \"backupshare\", \u0026opentelekomcloud.VbsBackupShareV2Args{\n\t\t\tBackupId:     pulumi.Any(backupId),\n\t\t\tToProjectIds: pulumi.Any(toProjectIds),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.VbsBackupShareV2;\nimport com.pulumi.opentelekomcloud.VbsBackupShareV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var backupId = config.get(\"backupId\");\n        final var toProjectIds = config.get(\"toProjectIds\");\n        var backupshare = new VbsBackupShareV2(\"backupshare\", VbsBackupShareV2Args.builder()\n            .backupId(backupId)\n            .toProjectIds(toProjectIds)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  backupId:\n    type: dynamic\n  toProjectIds:\n    type: dynamic\nresources:\n  backupshare:\n    type: opentelekomcloud:VbsBackupShareV2\n    properties:\n      backupId: ${backupId}\n      toProjectIds: ${toProjectIds}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVBS Backup Share can be imported using the `backup id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/vbsBackupShareV2:VbsBackupShareV2 backupshare 4779ab1c-7c1a-44b1-a02e-93dfc361b32d\n```\n\n","properties":{"availabilityZone":{"type":"string","description":"The AZ where the backup resides.\n"},"backupId":{"type":"string","description":"The ID of the backup to be shared. Changing the parameter will create new resource.\n"},"backupName":{"type":"string","description":"The backup name.\n"},"backupStatus":{"type":"string","description":"The status of the VBS backup.\n"},"container":{"type":"string","description":"The container of the backup.\n"},"description":{"type":"string","description":"The status of the VBS backup.\n"},"region":{"type":"string"},"serviceMetadata":{"type":"string","description":"The metadata of the vbs backup.\n"},"shareIds":{"type":"array","items":{"type":"string"},"description":"The backup share IDs.\n"},"size":{"type":"number","description":"The size of the vbs backup.\n"},"snapshotId":{"type":"string","description":"The ID of the snapshot associated with the backup.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FVbsBackupShareV2Timeouts:VbsBackupShareV2Timeouts"},"toProjectIds":{"type":"array","items":{"type":"string"},"description":"The IDs of projects with which the backup is shared. Changing the parameter will create new resource.\n"},"vbsBackupShareV2Id":{"type":"string"},"volumeId":{"type":"string","description":"The ID of the tenant to which the backup belongs.\n"}},"type":"object","required":["availabilityZone","backupId","backupName","backupStatus","container","description","region","serviceMetadata","shareIds","size","snapshotId","toProjectIds","vbsBackupShareV2Id","volumeId"],"inputProperties":{"backupId":{"type":"string","description":"The ID of the backup to be shared. Changing the parameter will create new resource.\n"},"region":{"type":"string"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FVbsBackupShareV2Timeouts:VbsBackupShareV2Timeouts"},"toProjectIds":{"type":"array","items":{"type":"string"},"description":"The IDs of projects with which the backup is shared. Changing the parameter will create new resource.\n"},"vbsBackupShareV2Id":{"type":"string"}},"requiredInputs":["backupId","toProjectIds"],"stateInputs":{"description":"Input properties used for looking up and filtering VbsBackupShareV2 resources.\n","properties":{"availabilityZone":{"type":"string","description":"The AZ where the backup resides.\n"},"backupId":{"type":"string","description":"The ID of the backup to be shared. Changing the parameter will create new resource.\n"},"backupName":{"type":"string","description":"The backup name.\n"},"backupStatus":{"type":"string","description":"The status of the VBS backup.\n"},"container":{"type":"string","description":"The container of the backup.\n"},"description":{"type":"string","description":"The status of the VBS backup.\n"},"region":{"type":"string"},"serviceMetadata":{"type":"string","description":"The metadata of the vbs backup.\n"},"shareIds":{"type":"array","items":{"type":"string"},"description":"The backup share IDs.\n"},"size":{"type":"number","description":"The size of the vbs backup.\n"},"snapshotId":{"type":"string","description":"The ID of the snapshot associated with the backup.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FVbsBackupShareV2Timeouts:VbsBackupShareV2Timeouts"},"toProjectIds":{"type":"array","items":{"type":"string"},"description":"The IDs of projects with which the backup is shared. Changing the parameter will create new resource.\n"},"vbsBackupShareV2Id":{"type":"string"},"volumeId":{"type":"string","description":"The ID of the tenant to which the backup belongs.\n"}},"type":"object"}},"opentelekomcloud:index/vbsBackupV2:VbsBackupV2":{"description":"Up-to-date reference of API arguments for VBS backup you can get at\n[documentation portal](https://docs.otc.t-systems.com/volume-backup-service/api-ref/api_description/vbs_backups)\n\nProvides an VBS Backup resource within OpenTelekomCloud.\n\n~\u003e\nDeprecated, use \u003cspan pulumi-lang-nodejs=\"`opentelekomcloud.CbrVaultV3`\" pulumi-lang-dotnet=\"`opentelekomcloud.CbrVaultV3`\" pulumi-lang-go=\"`CbrVaultV3`\" pulumi-lang-python=\"`CbrVaultV3`\" pulumi-lang-yaml=\"`opentelekomcloud.CbrVaultV3`\" pulumi-lang-java=\"`opentelekomcloud.CbrVaultV3`\"\u003e`opentelekomcloud.CbrVaultV3`\u003c/span\u003e resource instead.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst backupName = config.requireObject\u003cany\u003e(\"backupName\");\nconst volumeId = config.requireObject\u003cany\u003e(\"volumeId\");\nconst mybackup = new opentelekomcloud.VbsBackupV2(\"mybackup\", {\n    volumeId: volumeId,\n    name: backupName,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nbackup_name = config.require_object(\"backupName\")\nvolume_id = config.require_object(\"volumeId\")\nmybackup = opentelekomcloud.VbsBackupV2(\"mybackup\",\n    volume_id=volume_id,\n    name=backup_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var backupName = config.RequireObject\u003cdynamic\u003e(\"backupName\");\n    var volumeId = config.RequireObject\u003cdynamic\u003e(\"volumeId\");\n    var mybackup = new Opentelekomcloud.VbsBackupV2(\"mybackup\", new()\n    {\n        VolumeId = volumeId,\n        Name = backupName,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tbackupName := cfg.RequireObject(\"backupName\")\n\t\tvolumeId := cfg.RequireObject(\"volumeId\")\n\t\t_, err := opentelekomcloud.NewVbsBackupV2(ctx, \"mybackup\", \u0026opentelekomcloud.VbsBackupV2Args{\n\t\t\tVolumeId: pulumi.Any(volumeId),\n\t\t\tName:     pulumi.Any(backupName),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.VbsBackupV2;\nimport com.pulumi.opentelekomcloud.VbsBackupV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var backupName = config.get(\"backupName\");\n        final var volumeId = config.get(\"volumeId\");\n        var mybackup = new VbsBackupV2(\"mybackup\", VbsBackupV2Args.builder()\n            .volumeId(volumeId)\n            .name(backupName)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  backupName:\n    type: dynamic\n  volumeId:\n    type: dynamic\nresources:\n  mybackup:\n    type: opentelekomcloud:VbsBackupV2\n    properties:\n      volumeId: ${volumeId}\n      name: ${backupName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVBS Backup can be imported using the `backup id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/vbsBackupV2:VbsBackupV2 mybackup 4779ab1c-7c1a-44b1-a02e-93dfc361b32d\n```\n\n","properties":{"availabilityZone":{"type":"string","description":"The AZ where the backup resides.\n"},"container":{"type":"string","description":"The container of the backup.\n"},"description":{"type":"string","description":"The description of the vbs backup. Changing the parameter will create new resource.\n"},"name":{"type":"string","description":"The name of the vbs backup. Changing the parameter will create new resource.\n"},"region":{"type":"string"},"serviceMetadata":{"type":"string","description":"The metadata of the vbs backup.\n"},"size":{"type":"number","description":"The size of the vbs backup.\n"},"snapshotId":{"type":"string","description":"The snapshot id of the disk to be backed up. Changing the parameter will create new resource.\n"},"status":{"type":"string","description":"The status of the VBS backup.\n"},"tags":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FVbsBackupV2Tag:VbsBackupV2Tag"},"description":"List of tags to be configured for the backup resources. Changing the parameter will create new resource.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FVbsBackupV2Timeouts:VbsBackupV2Timeouts"},"vbsBackupV2Id":{"type":"string","description":"The id of the vbs backup.\n"},"volumeId":{"type":"string","description":"The id of the disk to be backed up. Changing the parameter will create new resource.\n"}},"type":"object","required":["availabilityZone","container","name","region","serviceMetadata","size","snapshotId","status","vbsBackupV2Id","volumeId"],"inputProperties":{"description":{"type":"string","description":"The description of the vbs backup. Changing the parameter will create new resource.\n"},"name":{"type":"string","description":"The name of the vbs backup. Changing the parameter will create new resource.\n"},"region":{"type":"string"},"snapshotId":{"type":"string","description":"The snapshot id of the disk to be backed up. Changing the parameter will create new resource.\n"},"tags":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FVbsBackupV2Tag:VbsBackupV2Tag"},"description":"List of tags to be configured for the backup resources. Changing the parameter will create new resource.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FVbsBackupV2Timeouts:VbsBackupV2Timeouts"},"vbsBackupV2Id":{"type":"string","description":"The id of the vbs backup.\n"},"volumeId":{"type":"string","description":"The id of the disk to be backed up. Changing the parameter will create new resource.\n"}},"requiredInputs":["volumeId"],"stateInputs":{"description":"Input properties used for looking up and filtering VbsBackupV2 resources.\n","properties":{"availabilityZone":{"type":"string","description":"The AZ where the backup resides.\n"},"container":{"type":"string","description":"The container of the backup.\n"},"description":{"type":"string","description":"The description of the vbs backup. Changing the parameter will create new resource.\n"},"name":{"type":"string","description":"The name of the vbs backup. Changing the parameter will create new resource.\n"},"region":{"type":"string"},"serviceMetadata":{"type":"string","description":"The metadata of the vbs backup.\n"},"size":{"type":"number","description":"The size of the vbs backup.\n"},"snapshotId":{"type":"string","description":"The snapshot id of the disk to be backed up. Changing the parameter will create new resource.\n"},"status":{"type":"string","description":"The status of the VBS backup.\n"},"tags":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FVbsBackupV2Tag:VbsBackupV2Tag"},"description":"List of tags to be configured for the backup resources. Changing the parameter will create new resource.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FVbsBackupV2Timeouts:VbsBackupV2Timeouts"},"vbsBackupV2Id":{"type":"string","description":"The id of the vbs backup.\n"},"volumeId":{"type":"string","description":"The id of the disk to be backed up. Changing the parameter will create new resource.\n"}},"type":"object"}},"opentelekomcloud:index/vpcBandwidthAssociateV2:VpcBandwidthAssociateV2":{"description":"Up-to-date reference of API arguments for VPC bandwidth association you can get at\n[documentation portal](https://docs.otc.t-systems.com/virtual-private-cloud/api-ref/apis/bandwidth_v2.0)\n\nProvides a resource to associate floating IP with a shared bandwidth within Open Telekom Cloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst ip1 = new opentelekomcloud.NetworkingFloatingipV2(\"ip1\", {});\nconst ip2 = new opentelekomcloud.NetworkingFloatingipV2(\"ip2\", {});\nconst band20m = new opentelekomcloud.VpcBandwidthV2(\"band20m\", {\n    name: \"bandwidth-20MBit\",\n    size: 20,\n});\nconst associate = new opentelekomcloud.VpcBandwidthAssociateV2(\"associate\", {\n    bandwidth: band20m.vpcBandwidthV2Id,\n    floatingIps: [\n        ip1.networkingFloatingipV2Id,\n        ip2.networkingFloatingipV2Id,\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nip1 = opentelekomcloud.NetworkingFloatingipV2(\"ip1\")\nip2 = opentelekomcloud.NetworkingFloatingipV2(\"ip2\")\nband20m = opentelekomcloud.VpcBandwidthV2(\"band20m\",\n    name=\"bandwidth-20MBit\",\n    size=20)\nassociate = opentelekomcloud.VpcBandwidthAssociateV2(\"associate\",\n    bandwidth=band20m.vpc_bandwidth_v2_id,\n    floating_ips=[\n        ip1.networking_floatingip_v2_id,\n        ip2.networking_floatingip_v2_id,\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var ip1 = new Opentelekomcloud.NetworkingFloatingipV2(\"ip1\");\n\n    var ip2 = new Opentelekomcloud.NetworkingFloatingipV2(\"ip2\");\n\n    var band20m = new Opentelekomcloud.VpcBandwidthV2(\"band20m\", new()\n    {\n        Name = \"bandwidth-20MBit\",\n        Size = 20,\n    });\n\n    var associate = new Opentelekomcloud.VpcBandwidthAssociateV2(\"associate\", new()\n    {\n        Bandwidth = band20m.VpcBandwidthV2Id,\n        FloatingIps = new[]\n        {\n            ip1.NetworkingFloatingipV2Id,\n            ip2.NetworkingFloatingipV2Id,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tip1, err := opentelekomcloud.NewNetworkingFloatingipV2(ctx, \"ip1\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tip2, err := opentelekomcloud.NewNetworkingFloatingipV2(ctx, \"ip2\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tband20m, err := opentelekomcloud.NewVpcBandwidthV2(ctx, \"band20m\", \u0026opentelekomcloud.VpcBandwidthV2Args{\n\t\t\tName: pulumi.String(\"bandwidth-20MBit\"),\n\t\t\tSize: pulumi.Float64(20),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewVpcBandwidthAssociateV2(ctx, \"associate\", \u0026opentelekomcloud.VpcBandwidthAssociateV2Args{\n\t\t\tBandwidth: band20m.VpcBandwidthV2Id,\n\t\t\tFloatingIps: pulumi.StringArray{\n\t\t\t\tip1.NetworkingFloatingipV2Id,\n\t\t\t\tip2.NetworkingFloatingipV2Id,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.NetworkingFloatingipV2;\nimport com.pulumi.opentelekomcloud.VpcBandwidthV2;\nimport com.pulumi.opentelekomcloud.VpcBandwidthV2Args;\nimport com.pulumi.opentelekomcloud.VpcBandwidthAssociateV2;\nimport com.pulumi.opentelekomcloud.VpcBandwidthAssociateV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var ip1 = new NetworkingFloatingipV2(\"ip1\");\n\n        var ip2 = new NetworkingFloatingipV2(\"ip2\");\n\n        var band20m = new VpcBandwidthV2(\"band20m\", VpcBandwidthV2Args.builder()\n            .name(\"bandwidth-20MBit\")\n            .size(20.0)\n            .build());\n\n        var associate = new VpcBandwidthAssociateV2(\"associate\", VpcBandwidthAssociateV2Args.builder()\n            .bandwidth(band20m.vpcBandwidthV2Id())\n            .floatingIps(            \n                ip1.networkingFloatingipV2Id(),\n                ip2.networkingFloatingipV2Id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  ip1:\n    type: opentelekomcloud:NetworkingFloatingipV2\n  ip2:\n    type: opentelekomcloud:NetworkingFloatingipV2\n  band20m:\n    type: opentelekomcloud:VpcBandwidthV2\n    properties:\n      name: bandwidth-20MBit\n      size: 20\n  associate:\n    type: opentelekomcloud:VpcBandwidthAssociateV2\n    properties:\n      bandwidth: ${band20m.vpcBandwidthV2Id}\n      floatingIps:\n        - ${ip1.networkingFloatingipV2Id}\n        - ${ip2.networkingFloatingipV2Id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVPC bandwidth association can be imported using the bandwidth `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/vpcBandwidthAssociateV2:VpcBandwidthAssociateV2 associate eb187fc8-e482-43eb-a18a-9da947ef89f6\n```\n\n","properties":{"backupChargeMode":{"type":"string","description":"Specifies whether the dedicated bandwidth used by the EIP that has been removed from\na shared bandwidth is billed by traffic or by bandwidth.\n\nThe value can be \u003cspan pulumi-lang-nodejs=\"`bandwidth`\" pulumi-lang-dotnet=\"`Bandwidth`\" pulumi-lang-go=\"`bandwidth`\" pulumi-lang-python=\"`bandwidth`\" pulumi-lang-yaml=\"`bandwidth`\" pulumi-lang-java=\"`bandwidth`\"\u003e`bandwidth`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`traffic`\" pulumi-lang-dotnet=\"`Traffic`\" pulumi-lang-go=\"`traffic`\" pulumi-lang-python=\"`traffic`\" pulumi-lang-yaml=\"`traffic`\" pulumi-lang-java=\"`traffic`\"\u003e`traffic`\u003c/span\u003e.\n\nDefault value is \u003cspan pulumi-lang-nodejs=\"`bandwidth`\" pulumi-lang-dotnet=\"`Bandwidth`\" pulumi-lang-go=\"`bandwidth`\" pulumi-lang-python=\"`bandwidth`\" pulumi-lang-yaml=\"`bandwidth`\" pulumi-lang-java=\"`bandwidth`\"\u003e`bandwidth`\u003c/span\u003e.\n"},"backupSize":{"type":"number","description":"Specifies the size (Mbit/s) of the dedicated bandwidth used by the EIP that has been\nremoved from a shared bandwidth.\n\nDefault value is \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"bandwidth":{"type":"string","description":"Specifies ID of the bandwidth to be assigned.\n"},"floatingIps":{"type":"array","items":{"type":"string"},"description":"Specifies IDs of floating IPs to be added to the bandwidth.\n\n-\u003e\nAfter an EIP is removed from a shared bandwidth, a dedicated bandwidth will be allocated to the EIP, and you will be\nbilled for the dedicated bandwidth.\n"},"vpcBandwidthAssociateV2Id":{"type":"string"}},"type":"object","required":["bandwidth","floatingIps","vpcBandwidthAssociateV2Id"],"inputProperties":{"backupChargeMode":{"type":"string","description":"Specifies whether the dedicated bandwidth used by the EIP that has been removed from\na shared bandwidth is billed by traffic or by bandwidth.\n\nThe value can be \u003cspan pulumi-lang-nodejs=\"`bandwidth`\" pulumi-lang-dotnet=\"`Bandwidth`\" pulumi-lang-go=\"`bandwidth`\" pulumi-lang-python=\"`bandwidth`\" pulumi-lang-yaml=\"`bandwidth`\" pulumi-lang-java=\"`bandwidth`\"\u003e`bandwidth`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`traffic`\" pulumi-lang-dotnet=\"`Traffic`\" pulumi-lang-go=\"`traffic`\" pulumi-lang-python=\"`traffic`\" pulumi-lang-yaml=\"`traffic`\" pulumi-lang-java=\"`traffic`\"\u003e`traffic`\u003c/span\u003e.\n\nDefault value is \u003cspan pulumi-lang-nodejs=\"`bandwidth`\" pulumi-lang-dotnet=\"`Bandwidth`\" pulumi-lang-go=\"`bandwidth`\" pulumi-lang-python=\"`bandwidth`\" pulumi-lang-yaml=\"`bandwidth`\" pulumi-lang-java=\"`bandwidth`\"\u003e`bandwidth`\u003c/span\u003e.\n"},"backupSize":{"type":"number","description":"Specifies the size (Mbit/s) of the dedicated bandwidth used by the EIP that has been\nremoved from a shared bandwidth.\n\nDefault value is \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"bandwidth":{"type":"string","description":"Specifies ID of the bandwidth to be assigned.\n"},"floatingIps":{"type":"array","items":{"type":"string"},"description":"Specifies IDs of floating IPs to be added to the bandwidth.\n\n-\u003e\nAfter an EIP is removed from a shared bandwidth, a dedicated bandwidth will be allocated to the EIP, and you will be\nbilled for the dedicated bandwidth.\n"},"vpcBandwidthAssociateV2Id":{"type":"string"}},"requiredInputs":["bandwidth","floatingIps"],"stateInputs":{"description":"Input properties used for looking up and filtering VpcBandwidthAssociateV2 resources.\n","properties":{"backupChargeMode":{"type":"string","description":"Specifies whether the dedicated bandwidth used by the EIP that has been removed from\na shared bandwidth is billed by traffic or by bandwidth.\n\nThe value can be \u003cspan pulumi-lang-nodejs=\"`bandwidth`\" pulumi-lang-dotnet=\"`Bandwidth`\" pulumi-lang-go=\"`bandwidth`\" pulumi-lang-python=\"`bandwidth`\" pulumi-lang-yaml=\"`bandwidth`\" pulumi-lang-java=\"`bandwidth`\"\u003e`bandwidth`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`traffic`\" pulumi-lang-dotnet=\"`Traffic`\" pulumi-lang-go=\"`traffic`\" pulumi-lang-python=\"`traffic`\" pulumi-lang-yaml=\"`traffic`\" pulumi-lang-java=\"`traffic`\"\u003e`traffic`\u003c/span\u003e.\n\nDefault value is \u003cspan pulumi-lang-nodejs=\"`bandwidth`\" pulumi-lang-dotnet=\"`Bandwidth`\" pulumi-lang-go=\"`bandwidth`\" pulumi-lang-python=\"`bandwidth`\" pulumi-lang-yaml=\"`bandwidth`\" pulumi-lang-java=\"`bandwidth`\"\u003e`bandwidth`\u003c/span\u003e.\n"},"backupSize":{"type":"number","description":"Specifies the size (Mbit/s) of the dedicated bandwidth used by the EIP that has been\nremoved from a shared bandwidth.\n\nDefault value is \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"bandwidth":{"type":"string","description":"Specifies ID of the bandwidth to be assigned.\n"},"floatingIps":{"type":"array","items":{"type":"string"},"description":"Specifies IDs of floating IPs to be added to the bandwidth.\n\n-\u003e\nAfter an EIP is removed from a shared bandwidth, a dedicated bandwidth will be allocated to the EIP, and you will be\nbilled for the dedicated bandwidth.\n"},"vpcBandwidthAssociateV2Id":{"type":"string"}},"type":"object"}},"opentelekomcloud:index/vpcBandwidthV2:VpcBandwidthV2":{"description":"Up-to-date reference of API arguments for VPC bandwidth you can get at\n[documentation portal](https://docs.otc.t-systems.com/virtual-private-cloud/api-ref/apis/bandwidth_v2.0)\n\nProvides a resource to create a shared bandwidth within Open Telekom Cloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst band100mb = new opentelekomcloud.VpcBandwidthV2(\"band_100mb\", {\n    name: \"shared-100Mbit\",\n    size: 100,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nband100mb = opentelekomcloud.VpcBandwidthV2(\"band_100mb\",\n    name=\"shared-100Mbit\",\n    size=100)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var band100mb = new Opentelekomcloud.VpcBandwidthV2(\"band_100mb\", new()\n    {\n        Name = \"shared-100Mbit\",\n        Size = 100,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewVpcBandwidthV2(ctx, \"band_100mb\", \u0026opentelekomcloud.VpcBandwidthV2Args{\n\t\t\tName: pulumi.String(\"shared-100Mbit\"),\n\t\t\tSize: pulumi.Float64(100),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.VpcBandwidthV2;\nimport com.pulumi.opentelekomcloud.VpcBandwidthV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var band100mb = new VpcBandwidthV2(\"band100mb\", VpcBandwidthV2Args.builder()\n            .name(\"shared-100Mbit\")\n            .size(100.0)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  band100mb:\n    type: opentelekomcloud:VpcBandwidthV2\n    name: band_100mb\n    properties:\n      name: shared-100Mbit\n      size: 100\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVPC bandwidth can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/vpcBandwidthV2:VpcBandwidthV2 band_100mb eb187fc8-e482-43eb-a18a-9da947ef89f6\n```\n\n","properties":{"name":{"type":"string","description":"Specifies the bandwidth name.\n\nThe value is a string of 1 to 64 characters that can contain letters, digits, underscores (_), hyphens (-), and periods (.).\n"},"size":{"type":"number","description":"Specifies the bandwidth size.\nThe value ranges from 5 Mbit/s to 1000 Mbit/s by default.\n\n-\u003e\nThe specific range may vary depending on the configuration in each region.\nYou can see the available bandwidth range on the management console.\n"},"status":{"type":"string","description":"Specifies the bandwidth status.\n"},"vpcBandwidthV2Id":{"type":"string","description":"Specifies the bandwidth ID, which uniquely identifies the bandwidth.\n"}},"type":"object","required":["name","size","status","vpcBandwidthV2Id"],"inputProperties":{"name":{"type":"string","description":"Specifies the bandwidth name.\n\nThe value is a string of 1 to 64 characters that can contain letters, digits, underscores (_), hyphens (-), and periods (.).\n"},"size":{"type":"number","description":"Specifies the bandwidth size.\nThe value ranges from 5 Mbit/s to 1000 Mbit/s by default.\n\n-\u003e\nThe specific range may vary depending on the configuration in each region.\nYou can see the available bandwidth range on the management console.\n"},"vpcBandwidthV2Id":{"type":"string","description":"Specifies the bandwidth ID, which uniquely identifies the bandwidth.\n"}},"requiredInputs":["size"],"stateInputs":{"description":"Input properties used for looking up and filtering VpcBandwidthV2 resources.\n","properties":{"name":{"type":"string","description":"Specifies the bandwidth name.\n\nThe value is a string of 1 to 64 characters that can contain letters, digits, underscores (_), hyphens (-), and periods (.).\n"},"size":{"type":"number","description":"Specifies the bandwidth size.\nThe value ranges from 5 Mbit/s to 1000 Mbit/s by default.\n\n-\u003e\nThe specific range may vary depending on the configuration in each region.\nYou can see the available bandwidth range on the management console.\n"},"status":{"type":"string","description":"Specifies the bandwidth status.\n"},"vpcBandwidthV2Id":{"type":"string","description":"Specifies the bandwidth ID, which uniquely identifies the bandwidth.\n"}},"type":"object"}},"opentelekomcloud:index/vpcEipV1:VpcEipV1":{"description":"Up-to-date reference of API arguments for VPC eip you can get at\n[documentation portal](https://docs.otc.t-systems.com/virtual-private-cloud/api-ref/apis/elastic_ip)\n\nManages a V1 EIP resource within OpenTelekomCloud VPC.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst eip1 = new opentelekomcloud.VpcEipV1(\"eip_1\", {\n    publicip: {\n        type: \"5_bgp\",\n    },\n    bandwidth: {\n        name: \"test\",\n        size: 8,\n        shareType: \"PER\",\n        chargeMode: \"traffic\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\neip1 = opentelekomcloud.VpcEipV1(\"eip_1\",\n    publicip={\n        \"type\": \"5_bgp\",\n    },\n    bandwidth={\n        \"name\": \"test\",\n        \"size\": 8,\n        \"share_type\": \"PER\",\n        \"charge_mode\": \"traffic\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var eip1 = new Opentelekomcloud.VpcEipV1(\"eip_1\", new()\n    {\n        Publicip = new Opentelekomcloud.Inputs.VpcEipV1PublicipArgs\n        {\n            Type = \"5_bgp\",\n        },\n        Bandwidth = new Opentelekomcloud.Inputs.VpcEipV1BandwidthArgs\n        {\n            Name = \"test\",\n            Size = 8,\n            ShareType = \"PER\",\n            ChargeMode = \"traffic\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewVpcEipV1(ctx, \"eip_1\", \u0026opentelekomcloud.VpcEipV1Args{\n\t\t\tPublicip: \u0026opentelekomcloud.VpcEipV1PublicipArgs{\n\t\t\t\tType: pulumi.String(\"5_bgp\"),\n\t\t\t},\n\t\t\tBandwidth: \u0026opentelekomcloud.VpcEipV1BandwidthArgs{\n\t\t\t\tName:       pulumi.String(\"test\"),\n\t\t\t\tSize:       pulumi.Float64(8),\n\t\t\t\tShareType:  pulumi.String(\"PER\"),\n\t\t\t\tChargeMode: pulumi.String(\"traffic\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.VpcEipV1;\nimport com.pulumi.opentelekomcloud.VpcEipV1Args;\nimport com.pulumi.opentelekomcloud.inputs.VpcEipV1PublicipArgs;\nimport com.pulumi.opentelekomcloud.inputs.VpcEipV1BandwidthArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var eip1 = new VpcEipV1(\"eip1\", VpcEipV1Args.builder()\n            .publicip(VpcEipV1PublicipArgs.builder()\n                .type(\"5_bgp\")\n                .build())\n            .bandwidth(VpcEipV1BandwidthArgs.builder()\n                .name(\"test\")\n                .size(8.0)\n                .shareType(\"PER\")\n                .chargeMode(\"traffic\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  eip1:\n    type: opentelekomcloud:VpcEipV1\n    name: eip_1\n    properties:\n      publicip:\n        type: 5_bgp\n      bandwidth:\n        name: test\n        size: 8\n        shareType: PER\n        chargeMode: traffic\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## EIP with name\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst eip1 = new opentelekomcloud.VpcEipV1(\"eip_1\", {\n    publicip: {\n        type: \"5_bgp\",\n        name: \"my_eip\",\n    },\n    bandwidth: {\n        name: \"test\",\n        size: 8,\n        shareType: \"PER\",\n        chargeMode: \"traffic\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\neip1 = opentelekomcloud.VpcEipV1(\"eip_1\",\n    publicip={\n        \"type\": \"5_bgp\",\n        \"name\": \"my_eip\",\n    },\n    bandwidth={\n        \"name\": \"test\",\n        \"size\": 8,\n        \"share_type\": \"PER\",\n        \"charge_mode\": \"traffic\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var eip1 = new Opentelekomcloud.VpcEipV1(\"eip_1\", new()\n    {\n        Publicip = new Opentelekomcloud.Inputs.VpcEipV1PublicipArgs\n        {\n            Type = \"5_bgp\",\n            Name = \"my_eip\",\n        },\n        Bandwidth = new Opentelekomcloud.Inputs.VpcEipV1BandwidthArgs\n        {\n            Name = \"test\",\n            Size = 8,\n            ShareType = \"PER\",\n            ChargeMode = \"traffic\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewVpcEipV1(ctx, \"eip_1\", \u0026opentelekomcloud.VpcEipV1Args{\n\t\t\tPublicip: \u0026opentelekomcloud.VpcEipV1PublicipArgs{\n\t\t\t\tType: pulumi.String(\"5_bgp\"),\n\t\t\t\tName: pulumi.String(\"my_eip\"),\n\t\t\t},\n\t\t\tBandwidth: \u0026opentelekomcloud.VpcEipV1BandwidthArgs{\n\t\t\t\tName:       pulumi.String(\"test\"),\n\t\t\t\tSize:       pulumi.Float64(8),\n\t\t\t\tShareType:  pulumi.String(\"PER\"),\n\t\t\t\tChargeMode: pulumi.String(\"traffic\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.VpcEipV1;\nimport com.pulumi.opentelekomcloud.VpcEipV1Args;\nimport com.pulumi.opentelekomcloud.inputs.VpcEipV1PublicipArgs;\nimport com.pulumi.opentelekomcloud.inputs.VpcEipV1BandwidthArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var eip1 = new VpcEipV1(\"eip1\", VpcEipV1Args.builder()\n            .publicip(VpcEipV1PublicipArgs.builder()\n                .type(\"5_bgp\")\n                .name(\"my_eip\")\n                .build())\n            .bandwidth(VpcEipV1BandwidthArgs.builder()\n                .name(\"test\")\n                .size(8.0)\n                .shareType(\"PER\")\n                .chargeMode(\"traffic\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  eip1:\n    type: opentelekomcloud:VpcEipV1\n    name: eip_1\n    properties:\n      publicip:\n        type: 5_bgp\n        name: my_eip\n      bandwidth:\n        name: test\n        size: 8\n        shareType: PER\n        chargeMode: traffic\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nEIPs can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/vpcEipV1:VpcEipV1 eip_1 2c7f39f3-702b-48d1-940c-b50384177ee1\n```\n\n","properties":{"bandwidth":{"$ref":"#/types/opentelekomcloud:index%2FVpcEipV1Bandwidth:VpcEipV1Bandwidth","description":"The bandwidth object.\n"},"publicip":{"$ref":"#/types/opentelekomcloud:index%2FVpcEipV1Publicip:VpcEipV1Publicip","description":"The elastic IP address object.\n"},"region":{"type":"string","description":"The region in which to obtain the V1 Networking client.\nIf omitted, the \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e argument of the provider is used. Changing this\ncreates a new service.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"See Argument Reference above.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FVpcEipV1Timeouts:VpcEipV1Timeouts"},"unbindPort":{"type":"boolean"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"}},"vpcEipV1Id":{"type":"string","description":"The VPC EIP id.\n"}},"type":"object","required":["bandwidth","publicip","region","vpcEipV1Id"],"inputProperties":{"bandwidth":{"$ref":"#/types/opentelekomcloud:index%2FVpcEipV1Bandwidth:VpcEipV1Bandwidth","description":"The bandwidth object.\n"},"publicip":{"$ref":"#/types/opentelekomcloud:index%2FVpcEipV1Publicip:VpcEipV1Publicip","description":"The elastic IP address object.\n"},"region":{"type":"string","description":"The region in which to obtain the V1 Networking client.\nIf omitted, the \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e argument of the provider is used. Changing this\ncreates a new service.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"See Argument Reference above.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FVpcEipV1Timeouts:VpcEipV1Timeouts"},"unbindPort":{"type":"boolean"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"}},"vpcEipV1Id":{"type":"string","description":"The VPC EIP id.\n"}},"requiredInputs":["bandwidth","publicip"],"stateInputs":{"description":"Input properties used for looking up and filtering VpcEipV1 resources.\n","properties":{"bandwidth":{"$ref":"#/types/opentelekomcloud:index%2FVpcEipV1Bandwidth:VpcEipV1Bandwidth","description":"The bandwidth object.\n"},"publicip":{"$ref":"#/types/opentelekomcloud:index%2FVpcEipV1Publicip:VpcEipV1Publicip","description":"The elastic IP address object.\n"},"region":{"type":"string","description":"The region in which to obtain the V1 Networking client.\nIf omitted, the \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e argument of the provider is used. Changing this\ncreates a new service.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"See Argument Reference above.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FVpcEipV1Timeouts:VpcEipV1Timeouts"},"unbindPort":{"type":"boolean"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"}},"vpcEipV1Id":{"type":"string","description":"The VPC EIP id.\n"}},"type":"object"}},"opentelekomcloud:index/vpcFlowLogV1:VpcFlowLogV1":{"description":"Up-to-date reference of API arguments for VPC flow log you can get at\n[documentation portal](https://docs.otc.t-systems.com/virtual-private-cloud/api-ref/apis/vpc_flow_log)\n\nManages a VPC flow log resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst logGroup1 = new opentelekomcloud.LogtankGroupV2(\"log_group1\", {groupName: logGroupName});\nconst logTopic1 = new opentelekomcloud.LogtankTopicV2(\"log_topic1\", {\n    groupId: logGroup1.logtankGroupV2Id,\n    topicName: logTopicName,\n});\nconst vpcV1 = new opentelekomcloud.VpcV1(\"vpc_v1\", {\n    name: vpcName,\n    cidr: vpcCidr,\n});\nconst flowlog1 = new opentelekomcloud.VpcFlowLogV1(\"flowlog1\", {\n    name: flowLogName,\n    description: flowLogDesc,\n    resourceType: \"vpc\",\n    resourceId: vpcV1.vpcV1Id,\n    trafficType: \"all\",\n    logGroupId: logGroup1.logtankGroupV2Id,\n    logTopicId: logTopic1.logtankTopicV2Id,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nlog_group1 = opentelekomcloud.LogtankGroupV2(\"log_group1\", group_name=log_group_name)\nlog_topic1 = opentelekomcloud.LogtankTopicV2(\"log_topic1\",\n    group_id=log_group1.logtank_group_v2_id,\n    topic_name=log_topic_name)\nvpc_v1 = opentelekomcloud.VpcV1(\"vpc_v1\",\n    name=vpc_name,\n    cidr=vpc_cidr)\nflowlog1 = opentelekomcloud.VpcFlowLogV1(\"flowlog1\",\n    name=flow_log_name,\n    description=flow_log_desc,\n    resource_type=\"vpc\",\n    resource_id=vpc_v1.vpc_v1_id,\n    traffic_type=\"all\",\n    log_group_id=log_group1.logtank_group_v2_id,\n    log_topic_id=log_topic1.logtank_topic_v2_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var logGroup1 = new Opentelekomcloud.LogtankGroupV2(\"log_group1\", new()\n    {\n        GroupName = logGroupName,\n    });\n\n    var logTopic1 = new Opentelekomcloud.LogtankTopicV2(\"log_topic1\", new()\n    {\n        GroupId = logGroup1.LogtankGroupV2Id,\n        TopicName = logTopicName,\n    });\n\n    var vpcV1 = new Opentelekomcloud.VpcV1(\"vpc_v1\", new()\n    {\n        Name = vpcName,\n        Cidr = vpcCidr,\n    });\n\n    var flowlog1 = new Opentelekomcloud.VpcFlowLogV1(\"flowlog1\", new()\n    {\n        Name = flowLogName,\n        Description = flowLogDesc,\n        ResourceType = \"vpc\",\n        ResourceId = vpcV1.VpcV1Id,\n        TrafficType = \"all\",\n        LogGroupId = logGroup1.LogtankGroupV2Id,\n        LogTopicId = logTopic1.LogtankTopicV2Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tlogGroup1, err := opentelekomcloud.NewLogtankGroupV2(ctx, \"log_group1\", \u0026opentelekomcloud.LogtankGroupV2Args{\n\t\t\tGroupName: pulumi.Any(logGroupName),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlogTopic1, err := opentelekomcloud.NewLogtankTopicV2(ctx, \"log_topic1\", \u0026opentelekomcloud.LogtankTopicV2Args{\n\t\t\tGroupId:   logGroup1.LogtankGroupV2Id,\n\t\t\tTopicName: pulumi.Any(logTopicName),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvpcV1, err := opentelekomcloud.NewVpcV1(ctx, \"vpc_v1\", \u0026opentelekomcloud.VpcV1Args{\n\t\t\tName: pulumi.Any(vpcName),\n\t\t\tCidr: pulumi.Any(vpcCidr),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewVpcFlowLogV1(ctx, \"flowlog1\", \u0026opentelekomcloud.VpcFlowLogV1Args{\n\t\t\tName:         pulumi.Any(flowLogName),\n\t\t\tDescription:  pulumi.Any(flowLogDesc),\n\t\t\tResourceType: pulumi.String(\"vpc\"),\n\t\t\tResourceId:   vpcV1.VpcV1Id,\n\t\t\tTrafficType:  pulumi.String(\"all\"),\n\t\t\tLogGroupId:   logGroup1.LogtankGroupV2Id,\n\t\t\tLogTopicId:   logTopic1.LogtankTopicV2Id,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.LogtankGroupV2;\nimport com.pulumi.opentelekomcloud.LogtankGroupV2Args;\nimport com.pulumi.opentelekomcloud.LogtankTopicV2;\nimport com.pulumi.opentelekomcloud.LogtankTopicV2Args;\nimport com.pulumi.opentelekomcloud.VpcV1;\nimport com.pulumi.opentelekomcloud.VpcV1Args;\nimport com.pulumi.opentelekomcloud.VpcFlowLogV1;\nimport com.pulumi.opentelekomcloud.VpcFlowLogV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var logGroup1 = new LogtankGroupV2(\"logGroup1\", LogtankGroupV2Args.builder()\n            .groupName(logGroupName)\n            .build());\n\n        var logTopic1 = new LogtankTopicV2(\"logTopic1\", LogtankTopicV2Args.builder()\n            .groupId(logGroup1.logtankGroupV2Id())\n            .topicName(logTopicName)\n            .build());\n\n        var vpcV1 = new VpcV1(\"vpcV1\", VpcV1Args.builder()\n            .name(vpcName)\n            .cidr(vpcCidr)\n            .build());\n\n        var flowlog1 = new VpcFlowLogV1(\"flowlog1\", VpcFlowLogV1Args.builder()\n            .name(flowLogName)\n            .description(flowLogDesc)\n            .resourceType(\"vpc\")\n            .resourceId(vpcV1.vpcV1Id())\n            .trafficType(\"all\")\n            .logGroupId(logGroup1.logtankGroupV2Id())\n            .logTopicId(logTopic1.logtankTopicV2Id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  logGroup1:\n    type: opentelekomcloud:LogtankGroupV2\n    name: log_group1\n    properties:\n      groupName: ${logGroupName}\n  logTopic1:\n    type: opentelekomcloud:LogtankTopicV2\n    name: log_topic1\n    properties:\n      groupId: ${logGroup1.logtankGroupV2Id}\n      topicName: ${logTopicName}\n  vpcV1:\n    type: opentelekomcloud:VpcV1\n    name: vpc_v1\n    properties:\n      name: ${vpcName}\n      cidr: ${vpcCidr}\n  flowlog1:\n    type: opentelekomcloud:VpcFlowLogV1\n    properties:\n      name: ${flowLogName}\n      description: ${flowLogDesc}\n      resourceType: vpc\n      resourceId: ${vpcV1.vpcV1Id}\n      trafficType: all\n      logGroupId: ${logGroup1.logtankGroupV2Id}\n      logTopicId: ${logTopic1.logtankTopicV2Id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVPC flow logs can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/vpcFlowLogV1:VpcFlowLogV1 opentelekomcloud_vpc_flow log_v1 ab76d479-9ef8-4034-88c4-4ab82fc87572\n```\n\n","properties":{"adminState":{"type":"boolean","description":"Whether to enable the VPC flow log function.\n"},"description":{"type":"string","description":"Provides supplementary information about the VPC flow log.\nThe value is a string of no more than 255 characters and cannot contain angle brackets (\u003c or \u003e).\n"},"logGroupId":{"type":"string","description":"Specifies the log group ID.\nChanging this creates a new VPC flow log.\n"},"logTopicId":{"type":"string","description":"Specifies the log topic ID.\nChanging this creates a new VPC flow log.\n"},"name":{"type":"string","description":"Specifies the flow log name.\nThe value is a string of 1 to 64 characters that can contain letters, digits, underscores (_), hyphens (-) and periods (.).\n"},"resourceId":{"type":"string","description":"Specifies the ID of resource type.\nChanging this creates a new VPC flow log.\n"},"resourceType":{"type":"string","description":"Specifies the type of resource on which to create the VPC flow log.\nThe value can be \u003cspan pulumi-lang-nodejs=\"`port`\" pulumi-lang-dotnet=\"`Port`\" pulumi-lang-go=\"`port`\" pulumi-lang-python=\"`port`\" pulumi-lang-yaml=\"`port`\" pulumi-lang-java=\"`port`\"\u003e`port`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`vpc`\" pulumi-lang-dotnet=\"`Vpc`\" pulumi-lang-go=\"`vpc`\" pulumi-lang-python=\"`vpc`\" pulumi-lang-yaml=\"`vpc`\" pulumi-lang-java=\"`vpc`\"\u003e`vpc`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`network`\" pulumi-lang-dotnet=\"`Network`\" pulumi-lang-go=\"`network`\" pulumi-lang-python=\"`network`\" pulumi-lang-yaml=\"`network`\" pulumi-lang-java=\"`network`\"\u003e`network`\u003c/span\u003e.\nChanging this creates a new VPC flow log.\n"},"status":{"type":"string","description":"The status of the flow log. The value can be `ACTIVE`, `DOWN` or `ERROR`.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FVpcFlowLogV1Timeouts:VpcFlowLogV1Timeouts"},"trafficType":{"type":"string","description":"Specifies the type of traffic to log. The value can be \u003cspan pulumi-lang-nodejs=\"`all`\" pulumi-lang-dotnet=\"`All`\" pulumi-lang-go=\"`all`\" pulumi-lang-python=\"`all`\" pulumi-lang-yaml=\"`all`\" pulumi-lang-java=\"`all`\"\u003e`all`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`accept`\" pulumi-lang-dotnet=\"`Accept`\" pulumi-lang-go=\"`accept`\" pulumi-lang-python=\"`accept`\" pulumi-lang-yaml=\"`accept`\" pulumi-lang-java=\"`accept`\"\u003e`accept`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`reject`\" pulumi-lang-dotnet=\"`Reject`\" pulumi-lang-go=\"`reject`\" pulumi-lang-python=\"`reject`\" pulumi-lang-yaml=\"`reject`\" pulumi-lang-java=\"`reject`\"\u003e`reject`\u003c/span\u003e.\nChanging this creates a new VPC flow log.\n"},"vpcFlowLogV1Id":{"type":"string","description":"The VPC flow log ID in UUID format.\n"}},"type":"object","required":["adminState","logGroupId","logTopicId","name","resourceId","resourceType","status","trafficType","vpcFlowLogV1Id"],"inputProperties":{"adminState":{"type":"boolean","description":"Whether to enable the VPC flow log function.\n"},"description":{"type":"string","description":"Provides supplementary information about the VPC flow log.\nThe value is a string of no more than 255 characters and cannot contain angle brackets (\u003c or \u003e).\n"},"logGroupId":{"type":"string","description":"Specifies the log group ID.\nChanging this creates a new VPC flow log.\n"},"logTopicId":{"type":"string","description":"Specifies the log topic ID.\nChanging this creates a new VPC flow log.\n"},"name":{"type":"string","description":"Specifies the flow log name.\nThe value is a string of 1 to 64 characters that can contain letters, digits, underscores (_), hyphens (-) and periods (.).\n"},"resourceId":{"type":"string","description":"Specifies the ID of resource type.\nChanging this creates a new VPC flow log.\n"},"resourceType":{"type":"string","description":"Specifies the type of resource on which to create the VPC flow log.\nThe value can be \u003cspan pulumi-lang-nodejs=\"`port`\" pulumi-lang-dotnet=\"`Port`\" pulumi-lang-go=\"`port`\" pulumi-lang-python=\"`port`\" pulumi-lang-yaml=\"`port`\" pulumi-lang-java=\"`port`\"\u003e`port`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`vpc`\" pulumi-lang-dotnet=\"`Vpc`\" pulumi-lang-go=\"`vpc`\" pulumi-lang-python=\"`vpc`\" pulumi-lang-yaml=\"`vpc`\" pulumi-lang-java=\"`vpc`\"\u003e`vpc`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`network`\" pulumi-lang-dotnet=\"`Network`\" pulumi-lang-go=\"`network`\" pulumi-lang-python=\"`network`\" pulumi-lang-yaml=\"`network`\" pulumi-lang-java=\"`network`\"\u003e`network`\u003c/span\u003e.\nChanging this creates a new VPC flow log.\n"},"status":{"type":"string","description":"The status of the flow log. The value can be `ACTIVE`, `DOWN` or `ERROR`.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FVpcFlowLogV1Timeouts:VpcFlowLogV1Timeouts"},"trafficType":{"type":"string","description":"Specifies the type of traffic to log. The value can be \u003cspan pulumi-lang-nodejs=\"`all`\" pulumi-lang-dotnet=\"`All`\" pulumi-lang-go=\"`all`\" pulumi-lang-python=\"`all`\" pulumi-lang-yaml=\"`all`\" pulumi-lang-java=\"`all`\"\u003e`all`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`accept`\" pulumi-lang-dotnet=\"`Accept`\" pulumi-lang-go=\"`accept`\" pulumi-lang-python=\"`accept`\" pulumi-lang-yaml=\"`accept`\" pulumi-lang-java=\"`accept`\"\u003e`accept`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`reject`\" pulumi-lang-dotnet=\"`Reject`\" pulumi-lang-go=\"`reject`\" pulumi-lang-python=\"`reject`\" pulumi-lang-yaml=\"`reject`\" pulumi-lang-java=\"`reject`\"\u003e`reject`\u003c/span\u003e.\nChanging this creates a new VPC flow log.\n"},"vpcFlowLogV1Id":{"type":"string","description":"The VPC flow log ID in UUID format.\n"}},"requiredInputs":["logGroupId","logTopicId","resourceId","resourceType","trafficType"],"stateInputs":{"description":"Input properties used for looking up and filtering VpcFlowLogV1 resources.\n","properties":{"adminState":{"type":"boolean","description":"Whether to enable the VPC flow log function.\n"},"description":{"type":"string","description":"Provides supplementary information about the VPC flow log.\nThe value is a string of no more than 255 characters and cannot contain angle brackets (\u003c or \u003e).\n"},"logGroupId":{"type":"string","description":"Specifies the log group ID.\nChanging this creates a new VPC flow log.\n"},"logTopicId":{"type":"string","description":"Specifies the log topic ID.\nChanging this creates a new VPC flow log.\n"},"name":{"type":"string","description":"Specifies the flow log name.\nThe value is a string of 1 to 64 characters that can contain letters, digits, underscores (_), hyphens (-) and periods (.).\n"},"resourceId":{"type":"string","description":"Specifies the ID of resource type.\nChanging this creates a new VPC flow log.\n"},"resourceType":{"type":"string","description":"Specifies the type of resource on which to create the VPC flow log.\nThe value can be \u003cspan pulumi-lang-nodejs=\"`port`\" pulumi-lang-dotnet=\"`Port`\" pulumi-lang-go=\"`port`\" pulumi-lang-python=\"`port`\" pulumi-lang-yaml=\"`port`\" pulumi-lang-java=\"`port`\"\u003e`port`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`vpc`\" pulumi-lang-dotnet=\"`Vpc`\" pulumi-lang-go=\"`vpc`\" pulumi-lang-python=\"`vpc`\" pulumi-lang-yaml=\"`vpc`\" pulumi-lang-java=\"`vpc`\"\u003e`vpc`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`network`\" pulumi-lang-dotnet=\"`Network`\" pulumi-lang-go=\"`network`\" pulumi-lang-python=\"`network`\" pulumi-lang-yaml=\"`network`\" pulumi-lang-java=\"`network`\"\u003e`network`\u003c/span\u003e.\nChanging this creates a new VPC flow log.\n"},"status":{"type":"string","description":"The status of the flow log. The value can be `ACTIVE`, `DOWN` or `ERROR`.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FVpcFlowLogV1Timeouts:VpcFlowLogV1Timeouts"},"trafficType":{"type":"string","description":"Specifies the type of traffic to log. The value can be \u003cspan pulumi-lang-nodejs=\"`all`\" pulumi-lang-dotnet=\"`All`\" pulumi-lang-go=\"`all`\" pulumi-lang-python=\"`all`\" pulumi-lang-yaml=\"`all`\" pulumi-lang-java=\"`all`\"\u003e`all`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`accept`\" pulumi-lang-dotnet=\"`Accept`\" pulumi-lang-go=\"`accept`\" pulumi-lang-python=\"`accept`\" pulumi-lang-yaml=\"`accept`\" pulumi-lang-java=\"`accept`\"\u003e`accept`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`reject`\" pulumi-lang-dotnet=\"`Reject`\" pulumi-lang-go=\"`reject`\" pulumi-lang-python=\"`reject`\" pulumi-lang-yaml=\"`reject`\" pulumi-lang-java=\"`reject`\"\u003e`reject`\u003c/span\u003e.\nChanging this creates a new VPC flow log.\n"},"vpcFlowLogV1Id":{"type":"string","description":"The VPC flow log ID in UUID format.\n"}},"type":"object"}},"opentelekomcloud:index/vpcPeeringConnectionAccepterV2:VpcPeeringConnectionAccepterV2":{"properties":{"accept":{"type":"boolean"},"name":{"type":"string"},"peerTenantId":{"type":"string"},"peerVpcId":{"type":"string"},"region":{"type":"string"},"status":{"type":"string"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FVpcPeeringConnectionAccepterV2Timeouts:VpcPeeringConnectionAccepterV2Timeouts"},"vpcId":{"type":"string"},"vpcPeeringConnectionAccepterV2Id":{"type":"string"},"vpcPeeringConnectionId":{"type":"string"}},"type":"object","required":["name","peerTenantId","peerVpcId","region","status","vpcId","vpcPeeringConnectionAccepterV2Id","vpcPeeringConnectionId"],"inputProperties":{"accept":{"type":"boolean"},"region":{"type":"string"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FVpcPeeringConnectionAccepterV2Timeouts:VpcPeeringConnectionAccepterV2Timeouts"},"vpcPeeringConnectionAccepterV2Id":{"type":"string"},"vpcPeeringConnectionId":{"type":"string"}},"requiredInputs":["vpcPeeringConnectionId"],"stateInputs":{"description":"Input properties used for looking up and filtering VpcPeeringConnectionAccepterV2 resources.\n","properties":{"accept":{"type":"boolean"},"name":{"type":"string"},"peerTenantId":{"type":"string"},"peerVpcId":{"type":"string"},"region":{"type":"string"},"status":{"type":"string"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FVpcPeeringConnectionAccepterV2Timeouts:VpcPeeringConnectionAccepterV2Timeouts"},"vpcId":{"type":"string"},"vpcPeeringConnectionAccepterV2Id":{"type":"string"},"vpcPeeringConnectionId":{"type":"string"}},"type":"object"}},"opentelekomcloud:index/vpcPeeringConnectionV2:VpcPeeringConnectionV2":{"description":"Up-to-date reference of API arguments for VPC peering you can get at\n[documentation portal](https://docs.otc.t-systems.com/virtual-private-cloud/api-ref/apis/vpc_peering_connection)\n\nProvides a resource to manage a VPC Peering Connection resource within OpenTelekomCloud.\n\n\u003e **Note:** For cross-tenant (requester's tenant differs from the accepter's tenant) VPC Peering Connections, use the \u003cspan pulumi-lang-nodejs=\"`opentelekomcloud.VpcPeeringConnectionV2`\" pulumi-lang-dotnet=\"`opentelekomcloud.VpcPeeringConnectionV2`\" pulumi-lang-go=\"`VpcPeeringConnectionV2`\" pulumi-lang-python=\"`VpcPeeringConnectionV2`\" pulumi-lang-yaml=\"`opentelekomcloud.VpcPeeringConnectionV2`\" pulumi-lang-java=\"`opentelekomcloud.VpcPeeringConnectionV2`\"\u003e`opentelekomcloud.VpcPeeringConnectionV2`\u003c/span\u003e resource to manage the requester's side of the connection and use the \u003cspan pulumi-lang-nodejs=\"`opentelekomcloud.VpcPeeringConnectionAccepterV2`\" pulumi-lang-dotnet=\"`opentelekomcloud.VpcPeeringConnectionAccepterV2`\" pulumi-lang-go=\"`VpcPeeringConnectionAccepterV2`\" pulumi-lang-python=\"`VpcPeeringConnectionAccepterV2`\" pulumi-lang-yaml=\"`opentelekomcloud.VpcPeeringConnectionAccepterV2`\" pulumi-lang-java=\"`opentelekomcloud.VpcPeeringConnectionAccepterV2`\"\u003e`opentelekomcloud.VpcPeeringConnectionAccepterV2`\u003c/span\u003e resource to manage the accepter's side of the connection.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst peering = new opentelekomcloud.VpcPeeringConnectionV2(\"peering\", {\n    name: peerConnName,\n    vpcId: vpcId,\n    peerVpcId: accepterVpcId,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\npeering = opentelekomcloud.VpcPeeringConnectionV2(\"peering\",\n    name=peer_conn_name,\n    vpc_id=vpc_id,\n    peer_vpc_id=accepter_vpc_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var peering = new Opentelekomcloud.VpcPeeringConnectionV2(\"peering\", new()\n    {\n        Name = peerConnName,\n        VpcId = vpcId,\n        PeerVpcId = accepterVpcId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewVpcPeeringConnectionV2(ctx, \"peering\", \u0026opentelekomcloud.VpcPeeringConnectionV2Args{\n\t\t\tName:      pulumi.Any(peerConnName),\n\t\t\tVpcId:     pulumi.Any(vpcId),\n\t\t\tPeerVpcId: pulumi.Any(accepterVpcId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.VpcPeeringConnectionV2;\nimport com.pulumi.opentelekomcloud.VpcPeeringConnectionV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var peering = new VpcPeeringConnectionV2(\"peering\", VpcPeeringConnectionV2Args.builder()\n            .name(peerConnName)\n            .vpcId(vpcId)\n            .peerVpcId(accepterVpcId)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  peering:\n    type: opentelekomcloud:VpcPeeringConnectionV2\n    properties:\n      name: ${peerConnName}\n      vpcId: ${vpcId}\n      peerVpcId: ${accepterVpcId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVPC Peering resources can be imported using the `vpc peering id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/vpcPeeringConnectionV2:VpcPeeringConnectionV2 test_connection 22b76469-08e3-4937-8c1d-7aad34892be1\n```\n\n","properties":{"description":{"type":"string","description":"Specifies the description of the VPC peering connection.\n"},"name":{"type":"string","description":"Specifies the name of the VPC peering connection. The value can contain 1 to 64 characters.\n"},"peerTenantId":{"type":"string","description":"Specified the Tenant Id of the accepter tenant. Changing this creates a new VPC peering connection.\n"},"peerVpcId":{"type":"string","description":"Specifies the VPC ID of the accepter tenant. Changing this creates a new VPC peering connection.\n"},"region":{"type":"string"},"status":{"type":"string","description":"The VPC peering connection status. The value can be `PENDING_ACCEPTANCE`, `REJECTED`, `EXPIRED`, `DELETED`, or `ACTIVE`.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FVpcPeeringConnectionV2Timeouts:VpcPeeringConnectionV2Timeouts"},"vpcId":{"type":"string","description":"Specifies the ID of a VPC involved in a VPC peering connection. Changing this creates a new VPC peering connection.\n"},"vpcPeeringConnectionV2Id":{"type":"string","description":"The VPC peering connection ID.\n"}},"type":"object","required":["name","peerTenantId","peerVpcId","region","status","vpcId","vpcPeeringConnectionV2Id"],"inputProperties":{"description":{"type":"string","description":"Specifies the description of the VPC peering connection.\n"},"name":{"type":"string","description":"Specifies the name of the VPC peering connection. The value can contain 1 to 64 characters.\n"},"peerTenantId":{"type":"string","description":"Specified the Tenant Id of the accepter tenant. Changing this creates a new VPC peering connection.\n"},"peerVpcId":{"type":"string","description":"Specifies the VPC ID of the accepter tenant. Changing this creates a new VPC peering connection.\n"},"region":{"type":"string"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FVpcPeeringConnectionV2Timeouts:VpcPeeringConnectionV2Timeouts"},"vpcId":{"type":"string","description":"Specifies the ID of a VPC involved in a VPC peering connection. Changing this creates a new VPC peering connection.\n"},"vpcPeeringConnectionV2Id":{"type":"string","description":"The VPC peering connection ID.\n"}},"requiredInputs":["peerVpcId","vpcId"],"stateInputs":{"description":"Input properties used for looking up and filtering VpcPeeringConnectionV2 resources.\n","properties":{"description":{"type":"string","description":"Specifies the description of the VPC peering connection.\n"},"name":{"type":"string","description":"Specifies the name of the VPC peering connection. The value can contain 1 to 64 characters.\n"},"peerTenantId":{"type":"string","description":"Specified the Tenant Id of the accepter tenant. Changing this creates a new VPC peering connection.\n"},"peerVpcId":{"type":"string","description":"Specifies the VPC ID of the accepter tenant. Changing this creates a new VPC peering connection.\n"},"region":{"type":"string"},"status":{"type":"string","description":"The VPC peering connection status. The value can be `PENDING_ACCEPTANCE`, `REJECTED`, `EXPIRED`, `DELETED`, or `ACTIVE`.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FVpcPeeringConnectionV2Timeouts:VpcPeeringConnectionV2Timeouts"},"vpcId":{"type":"string","description":"Specifies the ID of a VPC involved in a VPC peering connection. Changing this creates a new VPC peering connection.\n"},"vpcPeeringConnectionV2Id":{"type":"string","description":"The VPC peering connection ID.\n"}},"type":"object"}},"opentelekomcloud:index/vpcRouteTableV1:VpcRouteTableV1":{"description":"Up-to-date reference of API arguments for VPC route table you can get at\n[documentation portal](https://docs.otc.t-systems.com/virtual-private-cloud/api-ref/apis/route_table/index.html)\n\nProvides a resource to create a route table within OpenTelekomCloud.\n\n## Example Usage\n\n### Basic Custom Route Table\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst vpc1 = new opentelekomcloud.VpcV1(\"vpc_1\", {\n    name: \"vpc-1\",\n    cidr: \"192.168.0.0/16\",\n});\nconst subnet1_1 = new opentelekomcloud.VpcSubnetV1(\"subnet_1-1\", {\n    name: \"vpc-1-subnet-1-1\",\n    cidr: \"192.168.0.0/24\",\n    gatewayIp: \"192.168.0.1\",\n    vpcId: vpc1.vpcV1Id,\n});\nconst subnet1_2 = new opentelekomcloud.VpcSubnetV1(\"subnet_1-2\", {\n    name: \"vpc-1-subnet-1-2\",\n    cidr: \"192.168.10.0/24\",\n    gatewayIp: \"192.168.10.1\",\n    vpcId: vpc1.vpcV1Id,\n});\nconst vpc2 = new opentelekomcloud.VpcV1(\"vpc_2\", {\n    name: \"vpc-2\",\n    cidr: \"172.16.0.0/16\",\n});\nconst subnet2_1 = new opentelekomcloud.VpcSubnetV1(\"subnet_2-1\", {\n    name: \"vpc-2-subnet-2-1\",\n    cidr: \"172.16.10.0/24\",\n    gatewayIp: \"172.16.10.1\",\n    vpcId: vpc2.vpcV1Id,\n});\nconst peering = new opentelekomcloud.VpcPeeringConnectionV2(\"peering\", {\n    name: \"my_peering\",\n    vpcId: vpc1.vpcV1Id,\n    peerVpcId: vpc2.vpcV1Id,\n});\nconst table1 = new opentelekomcloud.VpcRouteTableV1(\"table_1\", {\n    name: \"my_route\",\n    vpcId: vpc1.vpcV1Id,\n    description: \"created by terraform with routes\",\n    routes: [{\n        destination: \"172.16.0.0/16\",\n        type: \"peering\",\n        nexthop: peering.vpcPeeringConnectionV2Id,\n        description: \"peering rule\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nvpc1 = opentelekomcloud.VpcV1(\"vpc_1\",\n    name=\"vpc-1\",\n    cidr=\"192.168.0.0/16\")\nsubnet1_1 = opentelekomcloud.VpcSubnetV1(\"subnet_1-1\",\n    name=\"vpc-1-subnet-1-1\",\n    cidr=\"192.168.0.0/24\",\n    gateway_ip=\"192.168.0.1\",\n    vpc_id=vpc1.vpc_v1_id)\nsubnet1_2 = opentelekomcloud.VpcSubnetV1(\"subnet_1-2\",\n    name=\"vpc-1-subnet-1-2\",\n    cidr=\"192.168.10.0/24\",\n    gateway_ip=\"192.168.10.1\",\n    vpc_id=vpc1.vpc_v1_id)\nvpc2 = opentelekomcloud.VpcV1(\"vpc_2\",\n    name=\"vpc-2\",\n    cidr=\"172.16.0.0/16\")\nsubnet2_1 = opentelekomcloud.VpcSubnetV1(\"subnet_2-1\",\n    name=\"vpc-2-subnet-2-1\",\n    cidr=\"172.16.10.0/24\",\n    gateway_ip=\"172.16.10.1\",\n    vpc_id=vpc2.vpc_v1_id)\npeering = opentelekomcloud.VpcPeeringConnectionV2(\"peering\",\n    name=\"my_peering\",\n    vpc_id=vpc1.vpc_v1_id,\n    peer_vpc_id=vpc2.vpc_v1_id)\ntable1 = opentelekomcloud.VpcRouteTableV1(\"table_1\",\n    name=\"my_route\",\n    vpc_id=vpc1.vpc_v1_id,\n    description=\"created by terraform with routes\",\n    routes=[{\n        \"destination\": \"172.16.0.0/16\",\n        \"type\": \"peering\",\n        \"nexthop\": peering.vpc_peering_connection_v2_id,\n        \"description\": \"peering rule\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var vpc1 = new Opentelekomcloud.VpcV1(\"vpc_1\", new()\n    {\n        Name = \"vpc-1\",\n        Cidr = \"192.168.0.0/16\",\n    });\n\n    var subnet1_1 = new Opentelekomcloud.VpcSubnetV1(\"subnet_1-1\", new()\n    {\n        Name = \"vpc-1-subnet-1-1\",\n        Cidr = \"192.168.0.0/24\",\n        GatewayIp = \"192.168.0.1\",\n        VpcId = vpc1.VpcV1Id,\n    });\n\n    var subnet1_2 = new Opentelekomcloud.VpcSubnetV1(\"subnet_1-2\", new()\n    {\n        Name = \"vpc-1-subnet-1-2\",\n        Cidr = \"192.168.10.0/24\",\n        GatewayIp = \"192.168.10.1\",\n        VpcId = vpc1.VpcV1Id,\n    });\n\n    var vpc2 = new Opentelekomcloud.VpcV1(\"vpc_2\", new()\n    {\n        Name = \"vpc-2\",\n        Cidr = \"172.16.0.0/16\",\n    });\n\n    var subnet2_1 = new Opentelekomcloud.VpcSubnetV1(\"subnet_2-1\", new()\n    {\n        Name = \"vpc-2-subnet-2-1\",\n        Cidr = \"172.16.10.0/24\",\n        GatewayIp = \"172.16.10.1\",\n        VpcId = vpc2.VpcV1Id,\n    });\n\n    var peering = new Opentelekomcloud.VpcPeeringConnectionV2(\"peering\", new()\n    {\n        Name = \"my_peering\",\n        VpcId = vpc1.VpcV1Id,\n        PeerVpcId = vpc2.VpcV1Id,\n    });\n\n    var table1 = new Opentelekomcloud.VpcRouteTableV1(\"table_1\", new()\n    {\n        Name = \"my_route\",\n        VpcId = vpc1.VpcV1Id,\n        Description = \"created by terraform with routes\",\n        Routes = new[]\n        {\n            new Opentelekomcloud.Inputs.VpcRouteTableV1RouteArgs\n            {\n                Destination = \"172.16.0.0/16\",\n                Type = \"peering\",\n                Nexthop = peering.VpcPeeringConnectionV2Id,\n                Description = \"peering rule\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tvpc1, err := opentelekomcloud.NewVpcV1(ctx, \"vpc_1\", \u0026opentelekomcloud.VpcV1Args{\n\t\t\tName: pulumi.String(\"vpc-1\"),\n\t\t\tCidr: pulumi.String(\"192.168.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewVpcSubnetV1(ctx, \"subnet_1-1\", \u0026opentelekomcloud.VpcSubnetV1Args{\n\t\t\tName:      pulumi.String(\"vpc-1-subnet-1-1\"),\n\t\t\tCidr:      pulumi.String(\"192.168.0.0/24\"),\n\t\t\tGatewayIp: pulumi.String(\"192.168.0.1\"),\n\t\t\tVpcId:     vpc1.VpcV1Id,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewVpcSubnetV1(ctx, \"subnet_1-2\", \u0026opentelekomcloud.VpcSubnetV1Args{\n\t\t\tName:      pulumi.String(\"vpc-1-subnet-1-2\"),\n\t\t\tCidr:      pulumi.String(\"192.168.10.0/24\"),\n\t\t\tGatewayIp: pulumi.String(\"192.168.10.1\"),\n\t\t\tVpcId:     vpc1.VpcV1Id,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvpc2, err := opentelekomcloud.NewVpcV1(ctx, \"vpc_2\", \u0026opentelekomcloud.VpcV1Args{\n\t\t\tName: pulumi.String(\"vpc-2\"),\n\t\t\tCidr: pulumi.String(\"172.16.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewVpcSubnetV1(ctx, \"subnet_2-1\", \u0026opentelekomcloud.VpcSubnetV1Args{\n\t\t\tName:      pulumi.String(\"vpc-2-subnet-2-1\"),\n\t\t\tCidr:      pulumi.String(\"172.16.10.0/24\"),\n\t\t\tGatewayIp: pulumi.String(\"172.16.10.1\"),\n\t\t\tVpcId:     vpc2.VpcV1Id,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpeering, err := opentelekomcloud.NewVpcPeeringConnectionV2(ctx, \"peering\", \u0026opentelekomcloud.VpcPeeringConnectionV2Args{\n\t\t\tName:      pulumi.String(\"my_peering\"),\n\t\t\tVpcId:     vpc1.VpcV1Id,\n\t\t\tPeerVpcId: vpc2.VpcV1Id,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewVpcRouteTableV1(ctx, \"table_1\", \u0026opentelekomcloud.VpcRouteTableV1Args{\n\t\t\tName:        pulumi.String(\"my_route\"),\n\t\t\tVpcId:       vpc1.VpcV1Id,\n\t\t\tDescription: pulumi.String(\"created by terraform with routes\"),\n\t\t\tRoutes: opentelekomcloud.VpcRouteTableV1RouteArray{\n\t\t\t\t\u0026opentelekomcloud.VpcRouteTableV1RouteArgs{\n\t\t\t\t\tDestination: pulumi.String(\"172.16.0.0/16\"),\n\t\t\t\t\tType:        pulumi.String(\"peering\"),\n\t\t\t\t\tNexthop:     peering.VpcPeeringConnectionV2Id,\n\t\t\t\t\tDescription: pulumi.String(\"peering rule\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.VpcV1;\nimport com.pulumi.opentelekomcloud.VpcV1Args;\nimport com.pulumi.opentelekomcloud.VpcSubnetV1;\nimport com.pulumi.opentelekomcloud.VpcSubnetV1Args;\nimport com.pulumi.opentelekomcloud.VpcPeeringConnectionV2;\nimport com.pulumi.opentelekomcloud.VpcPeeringConnectionV2Args;\nimport com.pulumi.opentelekomcloud.VpcRouteTableV1;\nimport com.pulumi.opentelekomcloud.VpcRouteTableV1Args;\nimport com.pulumi.opentelekomcloud.inputs.VpcRouteTableV1RouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var vpc1 = new VpcV1(\"vpc1\", VpcV1Args.builder()\n            .name(\"vpc-1\")\n            .cidr(\"192.168.0.0/16\")\n            .build());\n\n        var subnet1_1 = new VpcSubnetV1(\"subnet1-1\", VpcSubnetV1Args.builder()\n            .name(\"vpc-1-subnet-1-1\")\n            .cidr(\"192.168.0.0/24\")\n            .gatewayIp(\"192.168.0.1\")\n            .vpcId(vpc1.vpcV1Id())\n            .build());\n\n        var subnet1_2 = new VpcSubnetV1(\"subnet1-2\", VpcSubnetV1Args.builder()\n            .name(\"vpc-1-subnet-1-2\")\n            .cidr(\"192.168.10.0/24\")\n            .gatewayIp(\"192.168.10.1\")\n            .vpcId(vpc1.vpcV1Id())\n            .build());\n\n        var vpc2 = new VpcV1(\"vpc2\", VpcV1Args.builder()\n            .name(\"vpc-2\")\n            .cidr(\"172.16.0.0/16\")\n            .build());\n\n        var subnet2_1 = new VpcSubnetV1(\"subnet2-1\", VpcSubnetV1Args.builder()\n            .name(\"vpc-2-subnet-2-1\")\n            .cidr(\"172.16.10.0/24\")\n            .gatewayIp(\"172.16.10.1\")\n            .vpcId(vpc2.vpcV1Id())\n            .build());\n\n        var peering = new VpcPeeringConnectionV2(\"peering\", VpcPeeringConnectionV2Args.builder()\n            .name(\"my_peering\")\n            .vpcId(vpc1.vpcV1Id())\n            .peerVpcId(vpc2.vpcV1Id())\n            .build());\n\n        var table1 = new VpcRouteTableV1(\"table1\", VpcRouteTableV1Args.builder()\n            .name(\"my_route\")\n            .vpcId(vpc1.vpcV1Id())\n            .description(\"created by terraform with routes\")\n            .routes(VpcRouteTableV1RouteArgs.builder()\n                .destination(\"172.16.0.0/16\")\n                .type(\"peering\")\n                .nexthop(peering.vpcPeeringConnectionV2Id())\n                .description(\"peering rule\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  vpc1:\n    type: opentelekomcloud:VpcV1\n    name: vpc_1\n    properties:\n      name: vpc-1\n      cidr: 192.168.0.0/16\n  subnet1-1:\n    type: opentelekomcloud:VpcSubnetV1\n    name: subnet_1-1\n    properties:\n      name: vpc-1-subnet-1-1\n      cidr: 192.168.0.0/24\n      gatewayIp: 192.168.0.1\n      vpcId: ${vpc1.vpcV1Id}\n  subnet1-2:\n    type: opentelekomcloud:VpcSubnetV1\n    name: subnet_1-2\n    properties:\n      name: vpc-1-subnet-1-2\n      cidr: 192.168.10.0/24\n      gatewayIp: 192.168.10.1\n      vpcId: ${vpc1.vpcV1Id}\n  vpc2:\n    type: opentelekomcloud:VpcV1\n    name: vpc_2\n    properties:\n      name: vpc-2\n      cidr: 172.16.0.0/16\n  subnet2-1:\n    type: opentelekomcloud:VpcSubnetV1\n    name: subnet_2-1\n    properties:\n      name: vpc-2-subnet-2-1\n      cidr: 172.16.10.0/24\n      gatewayIp: 172.16.10.1\n      vpcId: ${vpc2.vpcV1Id}\n  peering:\n    type: opentelekomcloud:VpcPeeringConnectionV2\n    properties:\n      name: my_peering\n      vpcId: ${vpc1.vpcV1Id}\n      peerVpcId: ${vpc2.vpcV1Id}\n  table1:\n    type: opentelekomcloud:VpcRouteTableV1\n    name: table_1\n    properties:\n      name: my_route\n      vpcId: ${vpc1.vpcV1Id}\n      description: created by terraform with routes\n      routes:\n        - destination: 172.16.0.0/16\n          type: peering\n          nexthop: ${peering.vpcPeeringConnectionV2Id}\n          description: peering rule\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Associating Subnets with a Route Table\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst vpc1 = new opentelekomcloud.VpcV1(\"vpc_1\", {\n    name: \"vpc-1\",\n    cidr: \"192.168.0.0/16\",\n});\nconst subnet1_1 = new opentelekomcloud.VpcSubnetV1(\"subnet_1-1\", {\n    name: \"vpc-1-subnet-1-1\",\n    cidr: \"192.168.0.0/24\",\n    gatewayIp: \"192.168.0.1\",\n    vpcId: vpc1.vpcV1Id,\n});\nconst subnet1_2 = new opentelekomcloud.VpcSubnetV1(\"subnet_1-2\", {\n    name: \"vpc-1-subnet-1-2\",\n    cidr: \"192.168.10.0/24\",\n    gatewayIp: \"192.168.10.1\",\n    vpcId: vpc1.vpcV1Id,\n});\nconst vpc2 = new opentelekomcloud.VpcV1(\"vpc_2\", {\n    name: \"vpc-2\",\n    cidr: \"172.16.0.0/16\",\n});\nconst subnet2_1 = new opentelekomcloud.VpcSubnetV1(\"subnet_2-1\", {\n    name: \"vpc-2-subnet-2-1\",\n    cidr: \"172.16.10.0/24\",\n    gatewayIp: \"172.16.10.1\",\n    vpcId: vpc2.vpcV1Id,\n});\nconst peering = new opentelekomcloud.VpcPeeringConnectionV2(\"peering\", {\n    name: \"my_peering\",\n    vpcId: vpc1.vpcV1Id,\n    peerVpcId: vpc2.vpcV1Id,\n});\nconst table1 = new opentelekomcloud.VpcRouteTableV1(\"table_1\", {\n    name: \"my_table\",\n    vpcId: vpc1.vpcV1Id,\n    description: \"created by terraform with subnets\",\n    subnets: [\n        subnet1_1.vpcSubnetV1Id,\n        subnet1_2.vpcSubnetV1Id,\n    ],\n    routes: [{\n        destination: \"172.16.0.0/16\",\n        type: \"peering\",\n        nexthop: peering.vpcPeeringConnectionV2Id,\n        description: \"peering rule\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nvpc1 = opentelekomcloud.VpcV1(\"vpc_1\",\n    name=\"vpc-1\",\n    cidr=\"192.168.0.0/16\")\nsubnet1_1 = opentelekomcloud.VpcSubnetV1(\"subnet_1-1\",\n    name=\"vpc-1-subnet-1-1\",\n    cidr=\"192.168.0.0/24\",\n    gateway_ip=\"192.168.0.1\",\n    vpc_id=vpc1.vpc_v1_id)\nsubnet1_2 = opentelekomcloud.VpcSubnetV1(\"subnet_1-2\",\n    name=\"vpc-1-subnet-1-2\",\n    cidr=\"192.168.10.0/24\",\n    gateway_ip=\"192.168.10.1\",\n    vpc_id=vpc1.vpc_v1_id)\nvpc2 = opentelekomcloud.VpcV1(\"vpc_2\",\n    name=\"vpc-2\",\n    cidr=\"172.16.0.0/16\")\nsubnet2_1 = opentelekomcloud.VpcSubnetV1(\"subnet_2-1\",\n    name=\"vpc-2-subnet-2-1\",\n    cidr=\"172.16.10.0/24\",\n    gateway_ip=\"172.16.10.1\",\n    vpc_id=vpc2.vpc_v1_id)\npeering = opentelekomcloud.VpcPeeringConnectionV2(\"peering\",\n    name=\"my_peering\",\n    vpc_id=vpc1.vpc_v1_id,\n    peer_vpc_id=vpc2.vpc_v1_id)\ntable1 = opentelekomcloud.VpcRouteTableV1(\"table_1\",\n    name=\"my_table\",\n    vpc_id=vpc1.vpc_v1_id,\n    description=\"created by terraform with subnets\",\n    subnets=[\n        subnet1_1.vpc_subnet_v1_id,\n        subnet1_2.vpc_subnet_v1_id,\n    ],\n    routes=[{\n        \"destination\": \"172.16.0.0/16\",\n        \"type\": \"peering\",\n        \"nexthop\": peering.vpc_peering_connection_v2_id,\n        \"description\": \"peering rule\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var vpc1 = new Opentelekomcloud.VpcV1(\"vpc_1\", new()\n    {\n        Name = \"vpc-1\",\n        Cidr = \"192.168.0.0/16\",\n    });\n\n    var subnet1_1 = new Opentelekomcloud.VpcSubnetV1(\"subnet_1-1\", new()\n    {\n        Name = \"vpc-1-subnet-1-1\",\n        Cidr = \"192.168.0.0/24\",\n        GatewayIp = \"192.168.0.1\",\n        VpcId = vpc1.VpcV1Id,\n    });\n\n    var subnet1_2 = new Opentelekomcloud.VpcSubnetV1(\"subnet_1-2\", new()\n    {\n        Name = \"vpc-1-subnet-1-2\",\n        Cidr = \"192.168.10.0/24\",\n        GatewayIp = \"192.168.10.1\",\n        VpcId = vpc1.VpcV1Id,\n    });\n\n    var vpc2 = new Opentelekomcloud.VpcV1(\"vpc_2\", new()\n    {\n        Name = \"vpc-2\",\n        Cidr = \"172.16.0.0/16\",\n    });\n\n    var subnet2_1 = new Opentelekomcloud.VpcSubnetV1(\"subnet_2-1\", new()\n    {\n        Name = \"vpc-2-subnet-2-1\",\n        Cidr = \"172.16.10.0/24\",\n        GatewayIp = \"172.16.10.1\",\n        VpcId = vpc2.VpcV1Id,\n    });\n\n    var peering = new Opentelekomcloud.VpcPeeringConnectionV2(\"peering\", new()\n    {\n        Name = \"my_peering\",\n        VpcId = vpc1.VpcV1Id,\n        PeerVpcId = vpc2.VpcV1Id,\n    });\n\n    var table1 = new Opentelekomcloud.VpcRouteTableV1(\"table_1\", new()\n    {\n        Name = \"my_table\",\n        VpcId = vpc1.VpcV1Id,\n        Description = \"created by terraform with subnets\",\n        Subnets = new[]\n        {\n            subnet1_1.VpcSubnetV1Id,\n            subnet1_2.VpcSubnetV1Id,\n        },\n        Routes = new[]\n        {\n            new Opentelekomcloud.Inputs.VpcRouteTableV1RouteArgs\n            {\n                Destination = \"172.16.0.0/16\",\n                Type = \"peering\",\n                Nexthop = peering.VpcPeeringConnectionV2Id,\n                Description = \"peering rule\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tvpc1, err := opentelekomcloud.NewVpcV1(ctx, \"vpc_1\", \u0026opentelekomcloud.VpcV1Args{\n\t\t\tName: pulumi.String(\"vpc-1\"),\n\t\t\tCidr: pulumi.String(\"192.168.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsubnet1_1, err := opentelekomcloud.NewVpcSubnetV1(ctx, \"subnet_1-1\", \u0026opentelekomcloud.VpcSubnetV1Args{\n\t\t\tName:      pulumi.String(\"vpc-1-subnet-1-1\"),\n\t\t\tCidr:      pulumi.String(\"192.168.0.0/24\"),\n\t\t\tGatewayIp: pulumi.String(\"192.168.0.1\"),\n\t\t\tVpcId:     vpc1.VpcV1Id,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsubnet1_2, err := opentelekomcloud.NewVpcSubnetV1(ctx, \"subnet_1-2\", \u0026opentelekomcloud.VpcSubnetV1Args{\n\t\t\tName:      pulumi.String(\"vpc-1-subnet-1-2\"),\n\t\t\tCidr:      pulumi.String(\"192.168.10.0/24\"),\n\t\t\tGatewayIp: pulumi.String(\"192.168.10.1\"),\n\t\t\tVpcId:     vpc1.VpcV1Id,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvpc2, err := opentelekomcloud.NewVpcV1(ctx, \"vpc_2\", \u0026opentelekomcloud.VpcV1Args{\n\t\t\tName: pulumi.String(\"vpc-2\"),\n\t\t\tCidr: pulumi.String(\"172.16.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewVpcSubnetV1(ctx, \"subnet_2-1\", \u0026opentelekomcloud.VpcSubnetV1Args{\n\t\t\tName:      pulumi.String(\"vpc-2-subnet-2-1\"),\n\t\t\tCidr:      pulumi.String(\"172.16.10.0/24\"),\n\t\t\tGatewayIp: pulumi.String(\"172.16.10.1\"),\n\t\t\tVpcId:     vpc2.VpcV1Id,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpeering, err := opentelekomcloud.NewVpcPeeringConnectionV2(ctx, \"peering\", \u0026opentelekomcloud.VpcPeeringConnectionV2Args{\n\t\t\tName:      pulumi.String(\"my_peering\"),\n\t\t\tVpcId:     vpc1.VpcV1Id,\n\t\t\tPeerVpcId: vpc2.VpcV1Id,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewVpcRouteTableV1(ctx, \"table_1\", \u0026opentelekomcloud.VpcRouteTableV1Args{\n\t\t\tName:        pulumi.String(\"my_table\"),\n\t\t\tVpcId:       vpc1.VpcV1Id,\n\t\t\tDescription: pulumi.String(\"created by terraform with subnets\"),\n\t\t\tSubnets: pulumi.StringArray{\n\t\t\t\tsubnet1_1.VpcSubnetV1Id,\n\t\t\t\tsubnet1_2.VpcSubnetV1Id,\n\t\t\t},\n\t\t\tRoutes: opentelekomcloud.VpcRouteTableV1RouteArray{\n\t\t\t\t\u0026opentelekomcloud.VpcRouteTableV1RouteArgs{\n\t\t\t\t\tDestination: pulumi.String(\"172.16.0.0/16\"),\n\t\t\t\t\tType:        pulumi.String(\"peering\"),\n\t\t\t\t\tNexthop:     peering.VpcPeeringConnectionV2Id,\n\t\t\t\t\tDescription: pulumi.String(\"peering rule\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.VpcV1;\nimport com.pulumi.opentelekomcloud.VpcV1Args;\nimport com.pulumi.opentelekomcloud.VpcSubnetV1;\nimport com.pulumi.opentelekomcloud.VpcSubnetV1Args;\nimport com.pulumi.opentelekomcloud.VpcPeeringConnectionV2;\nimport com.pulumi.opentelekomcloud.VpcPeeringConnectionV2Args;\nimport com.pulumi.opentelekomcloud.VpcRouteTableV1;\nimport com.pulumi.opentelekomcloud.VpcRouteTableV1Args;\nimport com.pulumi.opentelekomcloud.inputs.VpcRouteTableV1RouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var vpc1 = new VpcV1(\"vpc1\", VpcV1Args.builder()\n            .name(\"vpc-1\")\n            .cidr(\"192.168.0.0/16\")\n            .build());\n\n        var subnet1_1 = new VpcSubnetV1(\"subnet1-1\", VpcSubnetV1Args.builder()\n            .name(\"vpc-1-subnet-1-1\")\n            .cidr(\"192.168.0.0/24\")\n            .gatewayIp(\"192.168.0.1\")\n            .vpcId(vpc1.vpcV1Id())\n            .build());\n\n        var subnet1_2 = new VpcSubnetV1(\"subnet1-2\", VpcSubnetV1Args.builder()\n            .name(\"vpc-1-subnet-1-2\")\n            .cidr(\"192.168.10.0/24\")\n            .gatewayIp(\"192.168.10.1\")\n            .vpcId(vpc1.vpcV1Id())\n            .build());\n\n        var vpc2 = new VpcV1(\"vpc2\", VpcV1Args.builder()\n            .name(\"vpc-2\")\n            .cidr(\"172.16.0.0/16\")\n            .build());\n\n        var subnet2_1 = new VpcSubnetV1(\"subnet2-1\", VpcSubnetV1Args.builder()\n            .name(\"vpc-2-subnet-2-1\")\n            .cidr(\"172.16.10.0/24\")\n            .gatewayIp(\"172.16.10.1\")\n            .vpcId(vpc2.vpcV1Id())\n            .build());\n\n        var peering = new VpcPeeringConnectionV2(\"peering\", VpcPeeringConnectionV2Args.builder()\n            .name(\"my_peering\")\n            .vpcId(vpc1.vpcV1Id())\n            .peerVpcId(vpc2.vpcV1Id())\n            .build());\n\n        var table1 = new VpcRouteTableV1(\"table1\", VpcRouteTableV1Args.builder()\n            .name(\"my_table\")\n            .vpcId(vpc1.vpcV1Id())\n            .description(\"created by terraform with subnets\")\n            .subnets(            \n                subnet1_1.vpcSubnetV1Id(),\n                subnet1_2.vpcSubnetV1Id())\n            .routes(VpcRouteTableV1RouteArgs.builder()\n                .destination(\"172.16.0.0/16\")\n                .type(\"peering\")\n                .nexthop(peering.vpcPeeringConnectionV2Id())\n                .description(\"peering rule\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  vpc1:\n    type: opentelekomcloud:VpcV1\n    name: vpc_1\n    properties:\n      name: vpc-1\n      cidr: 192.168.0.0/16\n  subnet1-1:\n    type: opentelekomcloud:VpcSubnetV1\n    name: subnet_1-1\n    properties:\n      name: vpc-1-subnet-1-1\n      cidr: 192.168.0.0/24\n      gatewayIp: 192.168.0.1\n      vpcId: ${vpc1.vpcV1Id}\n  subnet1-2:\n    type: opentelekomcloud:VpcSubnetV1\n    name: subnet_1-2\n    properties:\n      name: vpc-1-subnet-1-2\n      cidr: 192.168.10.0/24\n      gatewayIp: 192.168.10.1\n      vpcId: ${vpc1.vpcV1Id}\n  vpc2:\n    type: opentelekomcloud:VpcV1\n    name: vpc_2\n    properties:\n      name: vpc-2\n      cidr: 172.16.0.0/16\n  subnet2-1:\n    type: opentelekomcloud:VpcSubnetV1\n    name: subnet_2-1\n    properties:\n      name: vpc-2-subnet-2-1\n      cidr: 172.16.10.0/24\n      gatewayIp: 172.16.10.1\n      vpcId: ${vpc2.vpcV1Id}\n  peering:\n    type: opentelekomcloud:VpcPeeringConnectionV2\n    properties:\n      name: my_peering\n      vpcId: ${vpc1.vpcV1Id}\n      peerVpcId: ${vpc2.vpcV1Id}\n  table1:\n    type: opentelekomcloud:VpcRouteTableV1\n    name: table_1\n    properties:\n      name: my_table\n      vpcId: ${vpc1.vpcV1Id}\n      description: created by terraform with subnets\n      subnets:\n        - ${[\"subnet1-1\"].vpcSubnetV1Id}\n        - ${[\"subnet1-2\"].vpcSubnetV1Id}\n      routes:\n        - destination: 172.16.0.0/16\n          type: peering\n          nexthop: ${peering.vpcPeeringConnectionV2Id}\n          description: peering rule\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Associating Enterprise Router with a Route Table\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst vpc = new opentelekomcloud.VpcV1(\"vpc\", {\n    name: \"vpc-1\",\n    cidr: \"192.168.0.0/16\",\n});\nconst subnet = new opentelekomcloud.VpcSubnetV1(\"subnet\", {\n    name: \"vpc-1-subnet\",\n    cidr: \"192.168.0.0/24\",\n    gatewayIp: \"192.168.0.1\",\n    vpcId: vpc.vpcV1Id,\n});\nconst er = new opentelekomcloud.ErInstanceV3(\"er\", {\n    availabilityZones: [\n        \"eu-de-01\",\n        \"eu-de-02\",\n    ],\n    name: \"er-1\",\n    asn: 64512,\n    description: \"test\",\n    enableDefaultPropagation: true,\n    enableDefaultAssociation: false,\n    autoAcceptSharedAttachments: true,\n});\nconst att = new opentelekomcloud.ErVpcAttachmentV3(\"att\", {\n    instanceId: er.erInstanceV3Id,\n    vpcId: vpc.vpcV1Id,\n    subnetId: subnet.vpcSubnetV1Id,\n    name: \"er-attachment-1\",\n    autoCreateVpcRoutes: true,\n});\nconst table1 = new opentelekomcloud.VpcRouteTableV1(\"table_1\", {\n    name: \"table-1\",\n    vpcId: vpc1.id,\n    routes: [{\n        destination: \"0.0.0.0/0\",\n        type: \"er\",\n        nexthop: er.erInstanceV3Id,\n        description: \"er route\",\n    }],\n}, {\n    dependsOn: [att],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nvpc = opentelekomcloud.VpcV1(\"vpc\",\n    name=\"vpc-1\",\n    cidr=\"192.168.0.0/16\")\nsubnet = opentelekomcloud.VpcSubnetV1(\"subnet\",\n    name=\"vpc-1-subnet\",\n    cidr=\"192.168.0.0/24\",\n    gateway_ip=\"192.168.0.1\",\n    vpc_id=vpc.vpc_v1_id)\ner = opentelekomcloud.ErInstanceV3(\"er\",\n    availability_zones=[\n        \"eu-de-01\",\n        \"eu-de-02\",\n    ],\n    name=\"er-1\",\n    asn=64512,\n    description=\"test\",\n    enable_default_propagation=True,\n    enable_default_association=False,\n    auto_accept_shared_attachments=True)\natt = opentelekomcloud.ErVpcAttachmentV3(\"att\",\n    instance_id=er.er_instance_v3_id,\n    vpc_id=vpc.vpc_v1_id,\n    subnet_id=subnet.vpc_subnet_v1_id,\n    name=\"er-attachment-1\",\n    auto_create_vpc_routes=True)\ntable1 = opentelekomcloud.VpcRouteTableV1(\"table_1\",\n    name=\"table-1\",\n    vpc_id=vpc1[\"id\"],\n    routes=[{\n        \"destination\": \"0.0.0.0/0\",\n        \"type\": \"er\",\n        \"nexthop\": er.er_instance_v3_id,\n        \"description\": \"er route\",\n    }],\n    opts = pulumi.ResourceOptions(depends_on=[att]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var vpc = new Opentelekomcloud.VpcV1(\"vpc\", new()\n    {\n        Name = \"vpc-1\",\n        Cidr = \"192.168.0.0/16\",\n    });\n\n    var subnet = new Opentelekomcloud.VpcSubnetV1(\"subnet\", new()\n    {\n        Name = \"vpc-1-subnet\",\n        Cidr = \"192.168.0.0/24\",\n        GatewayIp = \"192.168.0.1\",\n        VpcId = vpc.VpcV1Id,\n    });\n\n    var er = new Opentelekomcloud.ErInstanceV3(\"er\", new()\n    {\n        AvailabilityZones = new[]\n        {\n            \"eu-de-01\",\n            \"eu-de-02\",\n        },\n        Name = \"er-1\",\n        Asn = 64512,\n        Description = \"test\",\n        EnableDefaultPropagation = true,\n        EnableDefaultAssociation = false,\n        AutoAcceptSharedAttachments = true,\n    });\n\n    var att = new Opentelekomcloud.ErVpcAttachmentV3(\"att\", new()\n    {\n        InstanceId = er.ErInstanceV3Id,\n        VpcId = vpc.VpcV1Id,\n        SubnetId = subnet.VpcSubnetV1Id,\n        Name = \"er-attachment-1\",\n        AutoCreateVpcRoutes = true,\n    });\n\n    var table1 = new Opentelekomcloud.VpcRouteTableV1(\"table_1\", new()\n    {\n        Name = \"table-1\",\n        VpcId = vpc1.Id,\n        Routes = new[]\n        {\n            new Opentelekomcloud.Inputs.VpcRouteTableV1RouteArgs\n            {\n                Destination = \"0.0.0.0/0\",\n                Type = \"er\",\n                Nexthop = er.ErInstanceV3Id,\n                Description = \"er route\",\n            },\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            att,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tvpc, err := opentelekomcloud.NewVpcV1(ctx, \"vpc\", \u0026opentelekomcloud.VpcV1Args{\n\t\t\tName: pulumi.String(\"vpc-1\"),\n\t\t\tCidr: pulumi.String(\"192.168.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsubnet, err := opentelekomcloud.NewVpcSubnetV1(ctx, \"subnet\", \u0026opentelekomcloud.VpcSubnetV1Args{\n\t\t\tName:      pulumi.String(\"vpc-1-subnet\"),\n\t\t\tCidr:      pulumi.String(\"192.168.0.0/24\"),\n\t\t\tGatewayIp: pulumi.String(\"192.168.0.1\"),\n\t\t\tVpcId:     vpc.VpcV1Id,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ter, err := opentelekomcloud.NewErInstanceV3(ctx, \"er\", \u0026opentelekomcloud.ErInstanceV3Args{\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"eu-de-01\"),\n\t\t\t\tpulumi.String(\"eu-de-02\"),\n\t\t\t},\n\t\t\tName:                        pulumi.String(\"er-1\"),\n\t\t\tAsn:                         pulumi.Float64(64512),\n\t\t\tDescription:                 pulumi.String(\"test\"),\n\t\t\tEnableDefaultPropagation:    pulumi.Bool(true),\n\t\t\tEnableDefaultAssociation:    pulumi.Bool(false),\n\t\t\tAutoAcceptSharedAttachments: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tatt, err := opentelekomcloud.NewErVpcAttachmentV3(ctx, \"att\", \u0026opentelekomcloud.ErVpcAttachmentV3Args{\n\t\t\tInstanceId:          er.ErInstanceV3Id,\n\t\t\tVpcId:               vpc.VpcV1Id,\n\t\t\tSubnetId:            subnet.VpcSubnetV1Id,\n\t\t\tName:                pulumi.String(\"er-attachment-1\"),\n\t\t\tAutoCreateVpcRoutes: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewVpcRouteTableV1(ctx, \"table_1\", \u0026opentelekomcloud.VpcRouteTableV1Args{\n\t\t\tName:  pulumi.String(\"table-1\"),\n\t\t\tVpcId: pulumi.Any(vpc1.Id),\n\t\t\tRoutes: opentelekomcloud.VpcRouteTableV1RouteArray{\n\t\t\t\t\u0026opentelekomcloud.VpcRouteTableV1RouteArgs{\n\t\t\t\t\tDestination: pulumi.String(\"0.0.0.0/0\"),\n\t\t\t\t\tType:        pulumi.String(\"er\"),\n\t\t\t\t\tNexthop:     er.ErInstanceV3Id,\n\t\t\t\t\tDescription: pulumi.String(\"er route\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tatt,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.VpcV1;\nimport com.pulumi.opentelekomcloud.VpcV1Args;\nimport com.pulumi.opentelekomcloud.VpcSubnetV1;\nimport com.pulumi.opentelekomcloud.VpcSubnetV1Args;\nimport com.pulumi.opentelekomcloud.ErInstanceV3;\nimport com.pulumi.opentelekomcloud.ErInstanceV3Args;\nimport com.pulumi.opentelekomcloud.ErVpcAttachmentV3;\nimport com.pulumi.opentelekomcloud.ErVpcAttachmentV3Args;\nimport com.pulumi.opentelekomcloud.VpcRouteTableV1;\nimport com.pulumi.opentelekomcloud.VpcRouteTableV1Args;\nimport com.pulumi.opentelekomcloud.inputs.VpcRouteTableV1RouteArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var vpc = new VpcV1(\"vpc\", VpcV1Args.builder()\n            .name(\"vpc-1\")\n            .cidr(\"192.168.0.0/16\")\n            .build());\n\n        var subnet = new VpcSubnetV1(\"subnet\", VpcSubnetV1Args.builder()\n            .name(\"vpc-1-subnet\")\n            .cidr(\"192.168.0.0/24\")\n            .gatewayIp(\"192.168.0.1\")\n            .vpcId(vpc.vpcV1Id())\n            .build());\n\n        var er = new ErInstanceV3(\"er\", ErInstanceV3Args.builder()\n            .availabilityZones(            \n                \"eu-de-01\",\n                \"eu-de-02\")\n            .name(\"er-1\")\n            .asn(64512.0)\n            .description(\"test\")\n            .enableDefaultPropagation(true)\n            .enableDefaultAssociation(false)\n            .autoAcceptSharedAttachments(true)\n            .build());\n\n        var att = new ErVpcAttachmentV3(\"att\", ErVpcAttachmentV3Args.builder()\n            .instanceId(er.erInstanceV3Id())\n            .vpcId(vpc.vpcV1Id())\n            .subnetId(subnet.vpcSubnetV1Id())\n            .name(\"er-attachment-1\")\n            .autoCreateVpcRoutes(true)\n            .build());\n\n        var table1 = new VpcRouteTableV1(\"table1\", VpcRouteTableV1Args.builder()\n            .name(\"table-1\")\n            .vpcId(vpc1.id())\n            .routes(VpcRouteTableV1RouteArgs.builder()\n                .destination(\"0.0.0.0/0\")\n                .type(\"er\")\n                .nexthop(er.erInstanceV3Id())\n                .description(\"er route\")\n                .build())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(att)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  vpc:\n    type: opentelekomcloud:VpcV1\n    properties:\n      name: vpc-1\n      cidr: 192.168.0.0/16\n  subnet:\n    type: opentelekomcloud:VpcSubnetV1\n    properties:\n      name: vpc-1-subnet\n      cidr: 192.168.0.0/24\n      gatewayIp: 192.168.0.1\n      vpcId: ${vpc.vpcV1Id}\n  er:\n    type: opentelekomcloud:ErInstanceV3\n    properties:\n      availabilityZones:\n        - eu-de-01\n        - eu-de-02\n      name: er-1\n      asn: 64512\n      description: test\n      enableDefaultPropagation: true\n      enableDefaultAssociation: false\n      autoAcceptSharedAttachments: true\n  att:\n    type: opentelekomcloud:ErVpcAttachmentV3\n    properties:\n      instanceId: ${er.erInstanceV3Id}\n      vpcId: ${vpc.vpcV1Id}\n      subnetId: ${subnet.vpcSubnetV1Id}\n      name: er-attachment-1\n      autoCreateVpcRoutes: true\n  table1:\n    type: opentelekomcloud:VpcRouteTableV1\n    name: table_1\n    properties:\n      name: table-1\n      vpcId: ${vpc1.id}\n      routes:\n        - destination: 0.0.0.0/0\n          type: er\n          nexthop: ${er.erInstanceV3Id}\n          description: er route\n    options:\n      dependsOn:\n        - ${att}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nvpc route tables can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/vpcRouteTableV1:VpcRouteTableV1 my_table 14c6491a-f90a-41aa-a206-f58bbacdb47d\n```\n","properties":{"createdAt":{"type":"string","description":"Specifies the time (UTC) when the route table is created.\n"},"description":{"type":"string","description":"Specifies the supplementary information about the route.\nThe value is a string of no more than 255 characters and cannot contain angle brackets (\u003c or \u003e).\n"},"name":{"type":"string","description":"Specifies the route table name. The value is a string of no more than\n64 characters that can contain letters, digits, underscores (_), hyphens (-), and periods (.).\n"},"region":{"type":"string","description":"The region in which to create the vpc route table.\nIf omitted, the provider-level region will be used. Changing this creates a new resource.\n"},"routes":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FVpcRouteTableV1Route:VpcRouteTableV1Route"},"description":"Specifies the route object list. The route object\nis documented below.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"routeObject\"\" pulumi-lang-dotnet=\"\"RouteObject\"\" pulumi-lang-go=\"\"routeObject\"\" pulumi-lang-python=\"\"route_object\"\" pulumi-lang-yaml=\"\"routeObject\"\" pulumi-lang-java=\"\"routeObject\"\"\u003e\"route_object\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`route`\" pulumi-lang-dotnet=\"`Route`\" pulumi-lang-go=\"`route`\" pulumi-lang-python=\"`route`\" pulumi-lang-yaml=\"`route`\" pulumi-lang-java=\"`route`\"\u003e`route`\u003c/span\u003e block supports:\n"},"subnets":{"type":"array","items":{"type":"string"},"description":"Specifies an array of one or more subnets associating with the route table.\n\n\u003e **NOTE:** The custom route table associated with a subnet affects only the outbound traffic.\nThe default route table determines the inbound traffic.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FVpcRouteTableV1Timeouts:VpcRouteTableV1Timeouts"},"updatedAt":{"type":"string","description":"Specifies the time (UTC) when the route table is updated.\n"},"vpcId":{"type":"string","description":"Specifies the VPC ID for which a route table is to be added.\nChanging this creates a new resource.\n"},"vpcRouteTableV1Id":{"type":"string","description":"The resource ID in UUID format.\n"}},"type":"object","required":["createdAt","name","region","updatedAt","vpcId","vpcRouteTableV1Id"],"inputProperties":{"description":{"type":"string","description":"Specifies the supplementary information about the route.\nThe value is a string of no more than 255 characters and cannot contain angle brackets (\u003c or \u003e).\n"},"name":{"type":"string","description":"Specifies the route table name. The value is a string of no more than\n64 characters that can contain letters, digits, underscores (_), hyphens (-), and periods (.).\n"},"region":{"type":"string","description":"The region in which to create the vpc route table.\nIf omitted, the provider-level region will be used. Changing this creates a new resource.\n"},"routes":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FVpcRouteTableV1Route:VpcRouteTableV1Route"},"description":"Specifies the route object list. The route object\nis documented below.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"routeObject\"\" pulumi-lang-dotnet=\"\"RouteObject\"\" pulumi-lang-go=\"\"routeObject\"\" pulumi-lang-python=\"\"route_object\"\" pulumi-lang-yaml=\"\"routeObject\"\" pulumi-lang-java=\"\"routeObject\"\"\u003e\"route_object\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`route`\" pulumi-lang-dotnet=\"`Route`\" pulumi-lang-go=\"`route`\" pulumi-lang-python=\"`route`\" pulumi-lang-yaml=\"`route`\" pulumi-lang-java=\"`route`\"\u003e`route`\u003c/span\u003e block supports:\n"},"subnets":{"type":"array","items":{"type":"string"},"description":"Specifies an array of one or more subnets associating with the route table.\n\n\u003e **NOTE:** The custom route table associated with a subnet affects only the outbound traffic.\nThe default route table determines the inbound traffic.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FVpcRouteTableV1Timeouts:VpcRouteTableV1Timeouts"},"vpcId":{"type":"string","description":"Specifies the VPC ID for which a route table is to be added.\nChanging this creates a new resource.\n"},"vpcRouteTableV1Id":{"type":"string","description":"The resource ID in UUID format.\n"}},"requiredInputs":["vpcId"],"stateInputs":{"description":"Input properties used for looking up and filtering VpcRouteTableV1 resources.\n","properties":{"createdAt":{"type":"string","description":"Specifies the time (UTC) when the route table is created.\n"},"description":{"type":"string","description":"Specifies the supplementary information about the route.\nThe value is a string of no more than 255 characters and cannot contain angle brackets (\u003c or \u003e).\n"},"name":{"type":"string","description":"Specifies the route table name. The value is a string of no more than\n64 characters that can contain letters, digits, underscores (_), hyphens (-), and periods (.).\n"},"region":{"type":"string","description":"The region in which to create the vpc route table.\nIf omitted, the provider-level region will be used. Changing this creates a new resource.\n"},"routes":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FVpcRouteTableV1Route:VpcRouteTableV1Route"},"description":"Specifies the route object list. The route object\nis documented below.\n\n\u003ca name=\u003cspan pulumi-lang-nodejs=\"\"routeObject\"\" pulumi-lang-dotnet=\"\"RouteObject\"\" pulumi-lang-go=\"\"routeObject\"\" pulumi-lang-python=\"\"route_object\"\" pulumi-lang-yaml=\"\"routeObject\"\" pulumi-lang-java=\"\"routeObject\"\"\u003e\"route_object\"\u003c/span\u003e\u003e\u003c/a\u003e\nThe \u003cspan pulumi-lang-nodejs=\"`route`\" pulumi-lang-dotnet=\"`Route`\" pulumi-lang-go=\"`route`\" pulumi-lang-python=\"`route`\" pulumi-lang-yaml=\"`route`\" pulumi-lang-java=\"`route`\"\u003e`route`\u003c/span\u003e block supports:\n"},"subnets":{"type":"array","items":{"type":"string"},"description":"Specifies an array of one or more subnets associating with the route table.\n\n\u003e **NOTE:** The custom route table associated with a subnet affects only the outbound traffic.\nThe default route table determines the inbound traffic.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FVpcRouteTableV1Timeouts:VpcRouteTableV1Timeouts"},"updatedAt":{"type":"string","description":"Specifies the time (UTC) when the route table is updated.\n"},"vpcId":{"type":"string","description":"Specifies the VPC ID for which a route table is to be added.\nChanging this creates a new resource.\n"},"vpcRouteTableV1Id":{"type":"string","description":"The resource ID in UUID format.\n"}},"type":"object"}},"opentelekomcloud:index/vpcRouteV2:VpcRouteV2":{"description":"Up-to-date reference of API arguments for VPC route you can get at\n[documentation portal](https://docs.otc.t-systems.com/virtual-private-cloud/api-ref/apis/vpc_route)\n\nProvides a resource to create a route within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst vpcRoute = new opentelekomcloud.VpcRouteV2(\"vpc_route\", {\n    type: \"peering\",\n    nexthop: nexthop,\n    destination: \"192.168.0.0/16\",\n    vpcId: vpcId,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nvpc_route = opentelekomcloud.VpcRouteV2(\"vpc_route\",\n    type=\"peering\",\n    nexthop=nexthop,\n    destination=\"192.168.0.0/16\",\n    vpc_id=vpc_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var vpcRoute = new Opentelekomcloud.VpcRouteV2(\"vpc_route\", new()\n    {\n        Type = \"peering\",\n        Nexthop = nexthop,\n        Destination = \"192.168.0.0/16\",\n        VpcId = vpcId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewVpcRouteV2(ctx, \"vpc_route\", \u0026opentelekomcloud.VpcRouteV2Args{\n\t\t\tType:        pulumi.String(\"peering\"),\n\t\t\tNexthop:     pulumi.Any(nexthop),\n\t\t\tDestination: pulumi.String(\"192.168.0.0/16\"),\n\t\t\tVpcId:       pulumi.Any(vpcId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.VpcRouteV2;\nimport com.pulumi.opentelekomcloud.VpcRouteV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var vpcRoute = new VpcRouteV2(\"vpcRoute\", VpcRouteV2Args.builder()\n            .type(\"peering\")\n            .nexthop(nexthop)\n            .destination(\"192.168.0.0/16\")\n            .vpcId(vpcId)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  vpcRoute:\n    type: opentelekomcloud:VpcRouteV2\n    name: vpc_route\n    properties:\n      type: peering\n      nexthop: ${nexthop}\n      destination: 192.168.0.0/16\n      vpcId: ${vpcId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVPC route can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/vpcRouteV2:VpcRouteV2 vpc_route 2c7fs9f3-712b-18d1-940c-b50384177ee1\n```\n\n","properties":{"destination":{"type":"string","description":"Specifies the destination IP address or CIDR block. Changing this creates a new Route.\n"},"nexthop":{"type":"string","description":"Specifies the next hop. If the route type is peering, enter the VPC peering connection ID. Changing this creates a new Route.\n"},"region":{"type":"string"},"tenantId":{"type":"string","description":"Specifies the tenant ID. Only the administrator can specify the tenant ID of other tenant. Changing this creates a new Route.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FVpcRouteV2Timeouts:VpcRouteV2Timeouts"},"type":{"type":"string","description":"Specifies the route type. Currently, the value can only be \u003cspan pulumi-lang-nodejs=\"`peering`\" pulumi-lang-dotnet=\"`Peering`\" pulumi-lang-go=\"`peering`\" pulumi-lang-python=\"`peering`\" pulumi-lang-yaml=\"`peering`\" pulumi-lang-java=\"`peering`\"\u003e`peering`\u003c/span\u003e. Changing this creates a new Route.\n"},"vpcId":{"type":"string","description":"Specifies the VPC for which a route is to be added. Changing this creates a new Route.\n"},"vpcRouteV2Id":{"type":"string","description":"The route ID.\n"}},"type":"object","required":["destination","nexthop","region","tenantId","type","vpcId","vpcRouteV2Id"],"inputProperties":{"destination":{"type":"string","description":"Specifies the destination IP address or CIDR block. Changing this creates a new Route.\n"},"nexthop":{"type":"string","description":"Specifies the next hop. If the route type is peering, enter the VPC peering connection ID. Changing this creates a new Route.\n"},"region":{"type":"string"},"tenantId":{"type":"string","description":"Specifies the tenant ID. Only the administrator can specify the tenant ID of other tenant. Changing this creates a new Route.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FVpcRouteV2Timeouts:VpcRouteV2Timeouts"},"type":{"type":"string","description":"Specifies the route type. Currently, the value can only be \u003cspan pulumi-lang-nodejs=\"`peering`\" pulumi-lang-dotnet=\"`Peering`\" pulumi-lang-go=\"`peering`\" pulumi-lang-python=\"`peering`\" pulumi-lang-yaml=\"`peering`\" pulumi-lang-java=\"`peering`\"\u003e`peering`\u003c/span\u003e. Changing this creates a new Route.\n"},"vpcId":{"type":"string","description":"Specifies the VPC for which a route is to be added. Changing this creates a new Route.\n"},"vpcRouteV2Id":{"type":"string","description":"The route ID.\n"}},"requiredInputs":["destination","nexthop","type","vpcId"],"stateInputs":{"description":"Input properties used for looking up and filtering VpcRouteV2 resources.\n","properties":{"destination":{"type":"string","description":"Specifies the destination IP address or CIDR block. Changing this creates a new Route.\n"},"nexthop":{"type":"string","description":"Specifies the next hop. If the route type is peering, enter the VPC peering connection ID. Changing this creates a new Route.\n"},"region":{"type":"string"},"tenantId":{"type":"string","description":"Specifies the tenant ID. Only the administrator can specify the tenant ID of other tenant. Changing this creates a new Route.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FVpcRouteV2Timeouts:VpcRouteV2Timeouts"},"type":{"type":"string","description":"Specifies the route type. Currently, the value can only be \u003cspan pulumi-lang-nodejs=\"`peering`\" pulumi-lang-dotnet=\"`Peering`\" pulumi-lang-go=\"`peering`\" pulumi-lang-python=\"`peering`\" pulumi-lang-yaml=\"`peering`\" pulumi-lang-java=\"`peering`\"\u003e`peering`\u003c/span\u003e. Changing this creates a new Route.\n"},"vpcId":{"type":"string","description":"Specifies the VPC for which a route is to be added. Changing this creates a new Route.\n"},"vpcRouteV2Id":{"type":"string","description":"The route ID.\n"}},"type":"object"}},"opentelekomcloud:index/vpcSecgroupRuleV3:VpcSecgroupRuleV3":{"description":"Up-to-date reference of API arguments for VPC security group rule you can get at\n[documentation portal](https://docs.otc.t-systems.com/virtual-private-cloud/api-ref/api_v3/security_group_rule/index.html)\n\nManages a VPC security group rule v3 resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst securityGroupId = config.requireObject\u003cany\u003e(\"securityGroupId\");\nconst rule1 = new opentelekomcloud.VpcSecgroupRuleV3(\"rule_1\", {\n    securityGroupId: securityGroupId,\n    description: \"some basic security rule\",\n    direction: \"ingress\",\n    protocol: \"tcp\",\n    action: \"allow\",\n    priority: 1,\n    multiPort: \"8080\",\n    remoteIpPrefix: \"10.10.0.0/16\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nsecurity_group_id = config.require_object(\"securityGroupId\")\nrule1 = opentelekomcloud.VpcSecgroupRuleV3(\"rule_1\",\n    security_group_id=security_group_id,\n    description=\"some basic security rule\",\n    direction=\"ingress\",\n    protocol=\"tcp\",\n    action=\"allow\",\n    priority=1,\n    multi_port=\"8080\",\n    remote_ip_prefix=\"10.10.0.0/16\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var securityGroupId = config.RequireObject\u003cdynamic\u003e(\"securityGroupId\");\n    var rule1 = new Opentelekomcloud.VpcSecgroupRuleV3(\"rule_1\", new()\n    {\n        SecurityGroupId = securityGroupId,\n        Description = \"some basic security rule\",\n        Direction = \"ingress\",\n        Protocol = \"tcp\",\n        Action = \"allow\",\n        Priority = 1,\n        MultiPort = \"8080\",\n        RemoteIpPrefix = \"10.10.0.0/16\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tsecurityGroupId := cfg.RequireObject(\"securityGroupId\")\n\t\t_, err := opentelekomcloud.NewVpcSecgroupRuleV3(ctx, \"rule_1\", \u0026opentelekomcloud.VpcSecgroupRuleV3Args{\n\t\t\tSecurityGroupId: pulumi.Any(securityGroupId),\n\t\t\tDescription:     pulumi.String(\"some basic security rule\"),\n\t\t\tDirection:       pulumi.String(\"ingress\"),\n\t\t\tProtocol:        pulumi.String(\"tcp\"),\n\t\t\tAction:          pulumi.String(\"allow\"),\n\t\t\tPriority:        pulumi.Float64(1),\n\t\t\tMultiPort:       pulumi.String(\"8080\"),\n\t\t\tRemoteIpPrefix:  pulumi.String(\"10.10.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.VpcSecgroupRuleV3;\nimport com.pulumi.opentelekomcloud.VpcSecgroupRuleV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var securityGroupId = config.get(\"securityGroupId\");\n        var rule1 = new VpcSecgroupRuleV3(\"rule1\", VpcSecgroupRuleV3Args.builder()\n            .securityGroupId(securityGroupId)\n            .description(\"some basic security rule\")\n            .direction(\"ingress\")\n            .protocol(\"tcp\")\n            .action(\"allow\")\n            .priority(1.0)\n            .multiPort(\"8080\")\n            .remoteIpPrefix(\"10.10.0.0/16\")\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  securityGroupId:\n    type: dynamic\nresources:\n  rule1:\n    type: opentelekomcloud:VpcSecgroupRuleV3\n    name: rule_1\n    properties:\n      securityGroupId: ${securityGroupId}\n      description: some basic security rule\n      direction: ingress\n      protocol: tcp\n      action: allow\n      priority: 1\n      multiPort: '8080'\n      remoteIpPrefix: 10.10.0.0/16\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVPC Security Group Rule V3 can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/vpcSecgroupRuleV3:VpcSecgroupRuleV3 secgroup_rule_1 \u003cid\u003e\n```\n\n","properties":{"action":{"type":"string","description":"Specifies the action of the security group rule. Supported values: \u003cspan pulumi-lang-nodejs=\"`allow`\" pulumi-lang-dotnet=\"`Allow`\" pulumi-lang-go=\"`allow`\" pulumi-lang-python=\"`allow`\" pulumi-lang-yaml=\"`allow`\" pulumi-lang-java=\"`allow`\"\u003e`allow`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deny`\" pulumi-lang-dotnet=\"`Deny`\" pulumi-lang-go=\"`deny`\" pulumi-lang-python=\"`deny`\" pulumi-lang-yaml=\"`deny`\" pulumi-lang-java=\"`deny`\"\u003e`deny`\u003c/span\u003e. Default value: \u003cspan pulumi-lang-nodejs=\"`allow`\" pulumi-lang-dotnet=\"`Allow`\" pulumi-lang-go=\"`allow`\" pulumi-lang-python=\"`allow`\" pulumi-lang-yaml=\"`allow`\" pulumi-lang-java=\"`allow`\"\u003e`allow`\u003c/span\u003e.\n"},"createdAt":{"type":"string","description":"Indicates the time when the security group rule was created. It is a UTC time in yyyy-MM-ddTHH:mm:ssZ format.\n"},"description":{"type":"string","description":"Provides supplementary information about the security group rule.\n"},"direction":{"type":"string","description":"Specifies inbound or outbound direction of a security group rule. Supported values: \u003cspan pulumi-lang-nodejs=\"`ingress`\" pulumi-lang-dotnet=\"`Ingress`\" pulumi-lang-go=\"`ingress`\" pulumi-lang-python=\"`ingress`\" pulumi-lang-yaml=\"`ingress`\" pulumi-lang-java=\"`ingress`\"\u003e`ingress`\u003c/span\u003e (inbound direction), \u003cspan pulumi-lang-nodejs=\"`egress`\" pulumi-lang-dotnet=\"`Egress`\" pulumi-lang-go=\"`egress`\" pulumi-lang-python=\"`egress`\" pulumi-lang-yaml=\"`egress`\" pulumi-lang-java=\"`egress`\"\u003e`egress`\u003c/span\u003e (outbound direction).\n"},"etherType":{"type":"string","description":"Specifies the IP version. Supported values: `IPv4`, `IPv6`. Default: `IPv4 `.\n"},"multiPort":{"type":"string"},"priority":{"type":"number","description":"Specifies the rule priority in a security group. The value is from 1 to 100. The value 1 indicates the highest priority. Default value: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"projectId":{"type":"string","description":"Indicates the project ID.\n"},"protocol":{"type":"string","description":"Specifies the protocol type. The value can be \u003cspan pulumi-lang-nodejs=\"`icmp`\" pulumi-lang-dotnet=\"`Icmp`\" pulumi-lang-go=\"`icmp`\" pulumi-lang-python=\"`icmp`\" pulumi-lang-yaml=\"`icmp`\" pulumi-lang-java=\"`icmp`\"\u003e`icmp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\"\u003e`tcp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`udp`\" pulumi-lang-dotnet=\"`Udp`\" pulumi-lang-go=\"`udp`\" pulumi-lang-python=\"`udp`\" pulumi-lang-yaml=\"`udp`\" pulumi-lang-java=\"`udp`\"\u003e`udp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`icmpv6`\" pulumi-lang-dotnet=\"`Icmpv6`\" pulumi-lang-go=\"`icmpv6`\" pulumi-lang-python=\"`icmpv6`\" pulumi-lang-yaml=\"`icmpv6`\" pulumi-lang-java=\"`icmpv6`\"\u003e`icmpv6`\u003c/span\u003e or an `IP number (0 to 255)`. If the parameter is left blank, **all** protocols are supported. When the protocol is \u003cspan pulumi-lang-nodejs=\"`icmpv6`\" pulumi-lang-dotnet=\"`Icmpv6`\" pulumi-lang-go=\"`icmpv6`\" pulumi-lang-python=\"`icmpv6`\" pulumi-lang-yaml=\"`icmpv6`\" pulumi-lang-java=\"`icmpv6`\"\u003e`icmpv6`\u003c/span\u003e, IP version should be `IPv6`. When the protocol is \u003cspan pulumi-lang-nodejs=\"`icmp`\" pulumi-lang-dotnet=\"`Icmp`\" pulumi-lang-go=\"`icmp`\" pulumi-lang-python=\"`icmp`\" pulumi-lang-yaml=\"`icmp`\" pulumi-lang-java=\"`icmp`\"\u003e`icmp`\u003c/span\u003e, IP version should be `IPv4`.\n"},"remoteAddressGroupId":{"type":"string","description":"Indicates the ID of the remote IP address group. The parameter value is mutually exclusive with parameters \u003cspan pulumi-lang-nodejs=\"`remoteIpPrefix`\" pulumi-lang-dotnet=\"`RemoteIpPrefix`\" pulumi-lang-go=\"`remoteIpPrefix`\" pulumi-lang-python=\"`remote_ip_prefix`\" pulumi-lang-yaml=\"`remoteIpPrefix`\" pulumi-lang-java=\"`remoteIpPrefix`\"\u003e`remote_ip_prefix`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`remoteGroupId`\" pulumi-lang-dotnet=\"`RemoteGroupId`\" pulumi-lang-go=\"`remoteGroupId`\" pulumi-lang-python=\"`remote_group_id`\" pulumi-lang-yaml=\"`remoteGroupId`\" pulumi-lang-java=\"`remoteGroupId`\"\u003e`remote_group_id`\u003c/span\u003e.\n"},"remoteGroupId":{"type":"string","description":"Specifies the ID of the remote security group, which allows or denies traffic to and from the security group. The value has to be the ID of an existing security group. The parameter is mutually exclusive with parameter \u003cspan pulumi-lang-nodejs=\"`remoteIpPrefix`\" pulumi-lang-dotnet=\"`RemoteIpPrefix`\" pulumi-lang-go=\"`remoteIpPrefix`\" pulumi-lang-python=\"`remote_ip_prefix`\" pulumi-lang-yaml=\"`remoteIpPrefix`\" pulumi-lang-java=\"`remoteIpPrefix`\"\u003e`remote_ip_prefix`\u003c/span\u003e.\n"},"remoteIpPrefix":{"type":"string","description":"Specifies the remote IP address. If \u003cspan pulumi-lang-nodejs=\"`direction`\" pulumi-lang-dotnet=\"`Direction`\" pulumi-lang-go=\"`direction`\" pulumi-lang-python=\"`direction`\" pulumi-lang-yaml=\"`direction`\" pulumi-lang-java=\"`direction`\"\u003e`direction`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`egress`\" pulumi-lang-dotnet=\"`Egress`\" pulumi-lang-go=\"`egress`\" pulumi-lang-python=\"`egress`\" pulumi-lang-yaml=\"`egress`\" pulumi-lang-java=\"`egress`\"\u003e`egress`\u003c/span\u003e, the parameter specifies the source IP address. If \u003cspan pulumi-lang-nodejs=\"`direction`\" pulumi-lang-dotnet=\"`Direction`\" pulumi-lang-go=\"`direction`\" pulumi-lang-python=\"`direction`\" pulumi-lang-yaml=\"`direction`\" pulumi-lang-java=\"`direction`\"\u003e`direction`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`ingress`\" pulumi-lang-dotnet=\"`Ingress`\" pulumi-lang-go=\"`ingress`\" pulumi-lang-python=\"`ingress`\" pulumi-lang-yaml=\"`ingress`\" pulumi-lang-java=\"`ingress`\"\u003e`ingress`\u003c/span\u003e, the parameter specifies the destination IP address. The value is an `IP address` or a `CIDR block`. The parameter is mutually exclusive with parameter \u003cspan pulumi-lang-nodejs=\"`remoteGroupId`\" pulumi-lang-dotnet=\"`RemoteGroupId`\" pulumi-lang-go=\"`remoteGroupId`\" pulumi-lang-python=\"`remote_group_id`\" pulumi-lang-yaml=\"`remoteGroupId`\" pulumi-lang-java=\"`remoteGroupId`\"\u003e`remote_group_id`\u003c/span\u003e. If this parameter is left blank, the remote IP address is not limited, and the traffic from all remote IP addresses is allowed or rejected.\n"},"securityGroupId":{"type":"string","description":"Specifies the ID of the security group to which the security group rule belongs.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FVpcSecgroupRuleV3Timeouts:VpcSecgroupRuleV3Timeouts"},"updatedAt":{"type":"string","description":"Indicates the time when the security group rule was updated. It is a UTC time in yyyy-MM-ddTHH:mm:ssZ format.\n"},"vpcSecgroupRuleV3Id":{"type":"string","description":"Security Group Rule ID.\n"}},"type":"object","required":["createdAt","direction","etherType","projectId","remoteAddressGroupId","remoteGroupId","remoteIpPrefix","securityGroupId","updatedAt","vpcSecgroupRuleV3Id"],"inputProperties":{"action":{"type":"string","description":"Specifies the action of the security group rule. Supported values: \u003cspan pulumi-lang-nodejs=\"`allow`\" pulumi-lang-dotnet=\"`Allow`\" pulumi-lang-go=\"`allow`\" pulumi-lang-python=\"`allow`\" pulumi-lang-yaml=\"`allow`\" pulumi-lang-java=\"`allow`\"\u003e`allow`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deny`\" pulumi-lang-dotnet=\"`Deny`\" pulumi-lang-go=\"`deny`\" pulumi-lang-python=\"`deny`\" pulumi-lang-yaml=\"`deny`\" pulumi-lang-java=\"`deny`\"\u003e`deny`\u003c/span\u003e. Default value: \u003cspan pulumi-lang-nodejs=\"`allow`\" pulumi-lang-dotnet=\"`Allow`\" pulumi-lang-go=\"`allow`\" pulumi-lang-python=\"`allow`\" pulumi-lang-yaml=\"`allow`\" pulumi-lang-java=\"`allow`\"\u003e`allow`\u003c/span\u003e.\n"},"description":{"type":"string","description":"Provides supplementary information about the security group rule.\n"},"direction":{"type":"string","description":"Specifies inbound or outbound direction of a security group rule. Supported values: \u003cspan pulumi-lang-nodejs=\"`ingress`\" pulumi-lang-dotnet=\"`Ingress`\" pulumi-lang-go=\"`ingress`\" pulumi-lang-python=\"`ingress`\" pulumi-lang-yaml=\"`ingress`\" pulumi-lang-java=\"`ingress`\"\u003e`ingress`\u003c/span\u003e (inbound direction), \u003cspan pulumi-lang-nodejs=\"`egress`\" pulumi-lang-dotnet=\"`Egress`\" pulumi-lang-go=\"`egress`\" pulumi-lang-python=\"`egress`\" pulumi-lang-yaml=\"`egress`\" pulumi-lang-java=\"`egress`\"\u003e`egress`\u003c/span\u003e (outbound direction).\n"},"etherType":{"type":"string","description":"Specifies the IP version. Supported values: `IPv4`, `IPv6`. Default: `IPv4 `.\n"},"multiPort":{"type":"string"},"priority":{"type":"number","description":"Specifies the rule priority in a security group. The value is from 1 to 100. The value 1 indicates the highest priority. Default value: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"protocol":{"type":"string","description":"Specifies the protocol type. The value can be \u003cspan pulumi-lang-nodejs=\"`icmp`\" pulumi-lang-dotnet=\"`Icmp`\" pulumi-lang-go=\"`icmp`\" pulumi-lang-python=\"`icmp`\" pulumi-lang-yaml=\"`icmp`\" pulumi-lang-java=\"`icmp`\"\u003e`icmp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\"\u003e`tcp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`udp`\" pulumi-lang-dotnet=\"`Udp`\" pulumi-lang-go=\"`udp`\" pulumi-lang-python=\"`udp`\" pulumi-lang-yaml=\"`udp`\" pulumi-lang-java=\"`udp`\"\u003e`udp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`icmpv6`\" pulumi-lang-dotnet=\"`Icmpv6`\" pulumi-lang-go=\"`icmpv6`\" pulumi-lang-python=\"`icmpv6`\" pulumi-lang-yaml=\"`icmpv6`\" pulumi-lang-java=\"`icmpv6`\"\u003e`icmpv6`\u003c/span\u003e or an `IP number (0 to 255)`. If the parameter is left blank, **all** protocols are supported. When the protocol is \u003cspan pulumi-lang-nodejs=\"`icmpv6`\" pulumi-lang-dotnet=\"`Icmpv6`\" pulumi-lang-go=\"`icmpv6`\" pulumi-lang-python=\"`icmpv6`\" pulumi-lang-yaml=\"`icmpv6`\" pulumi-lang-java=\"`icmpv6`\"\u003e`icmpv6`\u003c/span\u003e, IP version should be `IPv6`. When the protocol is \u003cspan pulumi-lang-nodejs=\"`icmp`\" pulumi-lang-dotnet=\"`Icmp`\" pulumi-lang-go=\"`icmp`\" pulumi-lang-python=\"`icmp`\" pulumi-lang-yaml=\"`icmp`\" pulumi-lang-java=\"`icmp`\"\u003e`icmp`\u003c/span\u003e, IP version should be `IPv4`.\n"},"remoteGroupId":{"type":"string","description":"Specifies the ID of the remote security group, which allows or denies traffic to and from the security group. The value has to be the ID of an existing security group. The parameter is mutually exclusive with parameter \u003cspan pulumi-lang-nodejs=\"`remoteIpPrefix`\" pulumi-lang-dotnet=\"`RemoteIpPrefix`\" pulumi-lang-go=\"`remoteIpPrefix`\" pulumi-lang-python=\"`remote_ip_prefix`\" pulumi-lang-yaml=\"`remoteIpPrefix`\" pulumi-lang-java=\"`remoteIpPrefix`\"\u003e`remote_ip_prefix`\u003c/span\u003e.\n"},"remoteIpPrefix":{"type":"string","description":"Specifies the remote IP address. If \u003cspan pulumi-lang-nodejs=\"`direction`\" pulumi-lang-dotnet=\"`Direction`\" pulumi-lang-go=\"`direction`\" pulumi-lang-python=\"`direction`\" pulumi-lang-yaml=\"`direction`\" pulumi-lang-java=\"`direction`\"\u003e`direction`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`egress`\" pulumi-lang-dotnet=\"`Egress`\" pulumi-lang-go=\"`egress`\" pulumi-lang-python=\"`egress`\" pulumi-lang-yaml=\"`egress`\" pulumi-lang-java=\"`egress`\"\u003e`egress`\u003c/span\u003e, the parameter specifies the source IP address. If \u003cspan pulumi-lang-nodejs=\"`direction`\" pulumi-lang-dotnet=\"`Direction`\" pulumi-lang-go=\"`direction`\" pulumi-lang-python=\"`direction`\" pulumi-lang-yaml=\"`direction`\" pulumi-lang-java=\"`direction`\"\u003e`direction`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`ingress`\" pulumi-lang-dotnet=\"`Ingress`\" pulumi-lang-go=\"`ingress`\" pulumi-lang-python=\"`ingress`\" pulumi-lang-yaml=\"`ingress`\" pulumi-lang-java=\"`ingress`\"\u003e`ingress`\u003c/span\u003e, the parameter specifies the destination IP address. The value is an `IP address` or a `CIDR block`. The parameter is mutually exclusive with parameter \u003cspan pulumi-lang-nodejs=\"`remoteGroupId`\" pulumi-lang-dotnet=\"`RemoteGroupId`\" pulumi-lang-go=\"`remoteGroupId`\" pulumi-lang-python=\"`remote_group_id`\" pulumi-lang-yaml=\"`remoteGroupId`\" pulumi-lang-java=\"`remoteGroupId`\"\u003e`remote_group_id`\u003c/span\u003e. If this parameter is left blank, the remote IP address is not limited, and the traffic from all remote IP addresses is allowed or rejected.\n"},"securityGroupId":{"type":"string","description":"Specifies the ID of the security group to which the security group rule belongs.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FVpcSecgroupRuleV3Timeouts:VpcSecgroupRuleV3Timeouts"},"vpcSecgroupRuleV3Id":{"type":"string","description":"Security Group Rule ID.\n"}},"requiredInputs":["direction","securityGroupId"],"stateInputs":{"description":"Input properties used for looking up and filtering VpcSecgroupRuleV3 resources.\n","properties":{"action":{"type":"string","description":"Specifies the action of the security group rule. Supported values: \u003cspan pulumi-lang-nodejs=\"`allow`\" pulumi-lang-dotnet=\"`Allow`\" pulumi-lang-go=\"`allow`\" pulumi-lang-python=\"`allow`\" pulumi-lang-yaml=\"`allow`\" pulumi-lang-java=\"`allow`\"\u003e`allow`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deny`\" pulumi-lang-dotnet=\"`Deny`\" pulumi-lang-go=\"`deny`\" pulumi-lang-python=\"`deny`\" pulumi-lang-yaml=\"`deny`\" pulumi-lang-java=\"`deny`\"\u003e`deny`\u003c/span\u003e. Default value: \u003cspan pulumi-lang-nodejs=\"`allow`\" pulumi-lang-dotnet=\"`Allow`\" pulumi-lang-go=\"`allow`\" pulumi-lang-python=\"`allow`\" pulumi-lang-yaml=\"`allow`\" pulumi-lang-java=\"`allow`\"\u003e`allow`\u003c/span\u003e.\n"},"createdAt":{"type":"string","description":"Indicates the time when the security group rule was created. It is a UTC time in yyyy-MM-ddTHH:mm:ssZ format.\n"},"description":{"type":"string","description":"Provides supplementary information about the security group rule.\n"},"direction":{"type":"string","description":"Specifies inbound or outbound direction of a security group rule. Supported values: \u003cspan pulumi-lang-nodejs=\"`ingress`\" pulumi-lang-dotnet=\"`Ingress`\" pulumi-lang-go=\"`ingress`\" pulumi-lang-python=\"`ingress`\" pulumi-lang-yaml=\"`ingress`\" pulumi-lang-java=\"`ingress`\"\u003e`ingress`\u003c/span\u003e (inbound direction), \u003cspan pulumi-lang-nodejs=\"`egress`\" pulumi-lang-dotnet=\"`Egress`\" pulumi-lang-go=\"`egress`\" pulumi-lang-python=\"`egress`\" pulumi-lang-yaml=\"`egress`\" pulumi-lang-java=\"`egress`\"\u003e`egress`\u003c/span\u003e (outbound direction).\n"},"etherType":{"type":"string","description":"Specifies the IP version. Supported values: `IPv4`, `IPv6`. Default: `IPv4 `.\n"},"multiPort":{"type":"string"},"priority":{"type":"number","description":"Specifies the rule priority in a security group. The value is from 1 to 100. The value 1 indicates the highest priority. Default value: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"projectId":{"type":"string","description":"Indicates the project ID.\n"},"protocol":{"type":"string","description":"Specifies the protocol type. The value can be \u003cspan pulumi-lang-nodejs=\"`icmp`\" pulumi-lang-dotnet=\"`Icmp`\" pulumi-lang-go=\"`icmp`\" pulumi-lang-python=\"`icmp`\" pulumi-lang-yaml=\"`icmp`\" pulumi-lang-java=\"`icmp`\"\u003e`icmp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\"\u003e`tcp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`udp`\" pulumi-lang-dotnet=\"`Udp`\" pulumi-lang-go=\"`udp`\" pulumi-lang-python=\"`udp`\" pulumi-lang-yaml=\"`udp`\" pulumi-lang-java=\"`udp`\"\u003e`udp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`icmpv6`\" pulumi-lang-dotnet=\"`Icmpv6`\" pulumi-lang-go=\"`icmpv6`\" pulumi-lang-python=\"`icmpv6`\" pulumi-lang-yaml=\"`icmpv6`\" pulumi-lang-java=\"`icmpv6`\"\u003e`icmpv6`\u003c/span\u003e or an `IP number (0 to 255)`. If the parameter is left blank, **all** protocols are supported. When the protocol is \u003cspan pulumi-lang-nodejs=\"`icmpv6`\" pulumi-lang-dotnet=\"`Icmpv6`\" pulumi-lang-go=\"`icmpv6`\" pulumi-lang-python=\"`icmpv6`\" pulumi-lang-yaml=\"`icmpv6`\" pulumi-lang-java=\"`icmpv6`\"\u003e`icmpv6`\u003c/span\u003e, IP version should be `IPv6`. When the protocol is \u003cspan pulumi-lang-nodejs=\"`icmp`\" pulumi-lang-dotnet=\"`Icmp`\" pulumi-lang-go=\"`icmp`\" pulumi-lang-python=\"`icmp`\" pulumi-lang-yaml=\"`icmp`\" pulumi-lang-java=\"`icmp`\"\u003e`icmp`\u003c/span\u003e, IP version should be `IPv4`.\n"},"remoteAddressGroupId":{"type":"string","description":"Indicates the ID of the remote IP address group. The parameter value is mutually exclusive with parameters \u003cspan pulumi-lang-nodejs=\"`remoteIpPrefix`\" pulumi-lang-dotnet=\"`RemoteIpPrefix`\" pulumi-lang-go=\"`remoteIpPrefix`\" pulumi-lang-python=\"`remote_ip_prefix`\" pulumi-lang-yaml=\"`remoteIpPrefix`\" pulumi-lang-java=\"`remoteIpPrefix`\"\u003e`remote_ip_prefix`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`remoteGroupId`\" pulumi-lang-dotnet=\"`RemoteGroupId`\" pulumi-lang-go=\"`remoteGroupId`\" pulumi-lang-python=\"`remote_group_id`\" pulumi-lang-yaml=\"`remoteGroupId`\" pulumi-lang-java=\"`remoteGroupId`\"\u003e`remote_group_id`\u003c/span\u003e.\n"},"remoteGroupId":{"type":"string","description":"Specifies the ID of the remote security group, which allows or denies traffic to and from the security group. The value has to be the ID of an existing security group. The parameter is mutually exclusive with parameter \u003cspan pulumi-lang-nodejs=\"`remoteIpPrefix`\" pulumi-lang-dotnet=\"`RemoteIpPrefix`\" pulumi-lang-go=\"`remoteIpPrefix`\" pulumi-lang-python=\"`remote_ip_prefix`\" pulumi-lang-yaml=\"`remoteIpPrefix`\" pulumi-lang-java=\"`remoteIpPrefix`\"\u003e`remote_ip_prefix`\u003c/span\u003e.\n"},"remoteIpPrefix":{"type":"string","description":"Specifies the remote IP address. If \u003cspan pulumi-lang-nodejs=\"`direction`\" pulumi-lang-dotnet=\"`Direction`\" pulumi-lang-go=\"`direction`\" pulumi-lang-python=\"`direction`\" pulumi-lang-yaml=\"`direction`\" pulumi-lang-java=\"`direction`\"\u003e`direction`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`egress`\" pulumi-lang-dotnet=\"`Egress`\" pulumi-lang-go=\"`egress`\" pulumi-lang-python=\"`egress`\" pulumi-lang-yaml=\"`egress`\" pulumi-lang-java=\"`egress`\"\u003e`egress`\u003c/span\u003e, the parameter specifies the source IP address. If \u003cspan pulumi-lang-nodejs=\"`direction`\" pulumi-lang-dotnet=\"`Direction`\" pulumi-lang-go=\"`direction`\" pulumi-lang-python=\"`direction`\" pulumi-lang-yaml=\"`direction`\" pulumi-lang-java=\"`direction`\"\u003e`direction`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`ingress`\" pulumi-lang-dotnet=\"`Ingress`\" pulumi-lang-go=\"`ingress`\" pulumi-lang-python=\"`ingress`\" pulumi-lang-yaml=\"`ingress`\" pulumi-lang-java=\"`ingress`\"\u003e`ingress`\u003c/span\u003e, the parameter specifies the destination IP address. The value is an `IP address` or a `CIDR block`. The parameter is mutually exclusive with parameter \u003cspan pulumi-lang-nodejs=\"`remoteGroupId`\" pulumi-lang-dotnet=\"`RemoteGroupId`\" pulumi-lang-go=\"`remoteGroupId`\" pulumi-lang-python=\"`remote_group_id`\" pulumi-lang-yaml=\"`remoteGroupId`\" pulumi-lang-java=\"`remoteGroupId`\"\u003e`remote_group_id`\u003c/span\u003e. If this parameter is left blank, the remote IP address is not limited, and the traffic from all remote IP addresses is allowed or rejected.\n"},"securityGroupId":{"type":"string","description":"Specifies the ID of the security group to which the security group rule belongs.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FVpcSecgroupRuleV3Timeouts:VpcSecgroupRuleV3Timeouts"},"updatedAt":{"type":"string","description":"Indicates the time when the security group rule was updated. It is a UTC time in yyyy-MM-ddTHH:mm:ssZ format.\n"},"vpcSecgroupRuleV3Id":{"type":"string","description":"Security Group Rule ID.\n"}},"type":"object"}},"opentelekomcloud:index/vpcSecgroupV3:VpcSecgroupV3":{"description":"Up-to-date reference of API arguments for VPC security group v3 you can get at\n[documentation portal](https://docs.otc.t-systems.com/virtual-private-cloud/api-ref/api_v3/security_group/index.html)\n\nManages a V3 VPC security group resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst secgroup1 = new opentelekomcloud.VpcSecgroupV3(\"secgroup_1\", {\n    name: \"secgroup_1\",\n    description: \"My VPC security group\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nsecgroup1 = opentelekomcloud.VpcSecgroupV3(\"secgroup_1\",\n    name=\"secgroup_1\",\n    description=\"My VPC security group\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var secgroup1 = new Opentelekomcloud.VpcSecgroupV3(\"secgroup_1\", new()\n    {\n        Name = \"secgroup_1\",\n        Description = \"My VPC security group\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewVpcSecgroupV3(ctx, \"secgroup_1\", \u0026opentelekomcloud.VpcSecgroupV3Args{\n\t\t\tName:        pulumi.String(\"secgroup_1\"),\n\t\t\tDescription: pulumi.String(\"My VPC security group\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.VpcSecgroupV3;\nimport com.pulumi.opentelekomcloud.VpcSecgroupV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var secgroup1 = new VpcSecgroupV3(\"secgroup1\", VpcSecgroupV3Args.builder()\n            .name(\"secgroup_1\")\n            .description(\"My VPC security group\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  secgroup1:\n    type: opentelekomcloud:VpcSecgroupV3\n    name: secgroup_1\n    properties:\n      name: secgroup_1\n      description: My VPC security group\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVPC Security Group V3 can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/vpcSecgroupV3:VpcSecgroupV3 secgroup_1 \u003cid\u003e\n```\n\n","properties":{"createdAt":{"type":"string","description":"Indicates the time when the security group was created. It is a UTC time in yyyy-MM-ddTHH:mm:ssZ format.\n"},"description":{"type":"string","description":"Security group description.\n"},"enterpriseProjectId":{"type":"string","description":"ID of the enterprise project to which the security group belongs. Default: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"name":{"type":"string","description":"A unique name for the security group.\n"},"projectId":{"type":"string","description":"Indicates the project ID.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the tags.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FVpcSecgroupV3Timeouts:VpcSecgroupV3Timeouts"},"updatedAt":{"type":"string","description":"Indicates the time when the security group was updated. It is a UTC time in yyyy-MM-ddTHH:mm:ssZ format.\n"},"vpcSecgroupV3Id":{"type":"string","description":"Security Group ID.\n"}},"type":"object","required":["createdAt","enterpriseProjectId","name","projectId","updatedAt","vpcSecgroupV3Id"],"inputProperties":{"description":{"type":"string","description":"Security group description.\n"},"enterpriseProjectId":{"type":"string","description":"ID of the enterprise project to which the security group belongs. Default: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"name":{"type":"string","description":"A unique name for the security group.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the tags.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FVpcSecgroupV3Timeouts:VpcSecgroupV3Timeouts"},"vpcSecgroupV3Id":{"type":"string","description":"Security Group ID.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering VpcSecgroupV3 resources.\n","properties":{"createdAt":{"type":"string","description":"Indicates the time when the security group was created. It is a UTC time in yyyy-MM-ddTHH:mm:ssZ format.\n"},"description":{"type":"string","description":"Security group description.\n"},"enterpriseProjectId":{"type":"string","description":"ID of the enterprise project to which the security group belongs. Default: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"name":{"type":"string","description":"A unique name for the security group.\n"},"projectId":{"type":"string","description":"Indicates the project ID.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the tags.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FVpcSecgroupV3Timeouts:VpcSecgroupV3Timeouts"},"updatedAt":{"type":"string","description":"Indicates the time when the security group was updated. It is a UTC time in yyyy-MM-ddTHH:mm:ssZ format.\n"},"vpcSecgroupV3Id":{"type":"string","description":"Security Group ID.\n"}},"type":"object"}},"opentelekomcloud:index/vpcSubnetV1:VpcSubnetV1":{"description":"Up-to-date reference of API arguments for VPC subnet you can get at\n[documentation portal](https://docs.otc.t-systems.com/virtual-private-cloud/api-ref/apis/subnet)\n\nProvides an VPC v1 subnet resource within OpenTelekomCloud.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst vpcV1 = new opentelekomcloud.VpcV1(\"vpc_v1\", {\n    name: vpcName,\n    cidr: vpcCidr,\n});\nconst subnetV1 = new opentelekomcloud.VpcSubnetV1(\"subnet_v1\", {\n    name: subnetName,\n    cidr: subnetCidr,\n    vpcId: vpcV1.vpcV1Id,\n    gatewayIp: subnetGatewayIp,\n    ntpAddresses: \"10.100.0.33,10.100.0.34\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nvpc_v1 = opentelekomcloud.VpcV1(\"vpc_v1\",\n    name=vpc_name,\n    cidr=vpc_cidr)\nsubnet_v1 = opentelekomcloud.VpcSubnetV1(\"subnet_v1\",\n    name=subnet_name,\n    cidr=subnet_cidr,\n    vpc_id=vpc_v1.vpc_v1_id,\n    gateway_ip=subnet_gateway_ip,\n    ntp_addresses=\"10.100.0.33,10.100.0.34\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var vpcV1 = new Opentelekomcloud.VpcV1(\"vpc_v1\", new()\n    {\n        Name = vpcName,\n        Cidr = vpcCidr,\n    });\n\n    var subnetV1 = new Opentelekomcloud.VpcSubnetV1(\"subnet_v1\", new()\n    {\n        Name = subnetName,\n        Cidr = subnetCidr,\n        VpcId = vpcV1.VpcV1Id,\n        GatewayIp = subnetGatewayIp,\n        NtpAddresses = \"10.100.0.33,10.100.0.34\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tvpcV1, err := opentelekomcloud.NewVpcV1(ctx, \"vpc_v1\", \u0026opentelekomcloud.VpcV1Args{\n\t\t\tName: pulumi.Any(vpcName),\n\t\t\tCidr: pulumi.Any(vpcCidr),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewVpcSubnetV1(ctx, \"subnet_v1\", \u0026opentelekomcloud.VpcSubnetV1Args{\n\t\t\tName:         pulumi.Any(subnetName),\n\t\t\tCidr:         pulumi.Any(subnetCidr),\n\t\t\tVpcId:        vpcV1.VpcV1Id,\n\t\t\tGatewayIp:    pulumi.Any(subnetGatewayIp),\n\t\t\tNtpAddresses: pulumi.String(\"10.100.0.33,10.100.0.34\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.VpcV1;\nimport com.pulumi.opentelekomcloud.VpcV1Args;\nimport com.pulumi.opentelekomcloud.VpcSubnetV1;\nimport com.pulumi.opentelekomcloud.VpcSubnetV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var vpcV1 = new VpcV1(\"vpcV1\", VpcV1Args.builder()\n            .name(vpcName)\n            .cidr(vpcCidr)\n            .build());\n\n        var subnetV1 = new VpcSubnetV1(\"subnetV1\", VpcSubnetV1Args.builder()\n            .name(subnetName)\n            .cidr(subnetCidr)\n            .vpcId(vpcV1.vpcV1Id())\n            .gatewayIp(subnetGatewayIp)\n            .ntpAddresses(\"10.100.0.33,10.100.0.34\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  vpcV1:\n    type: opentelekomcloud:VpcV1\n    name: vpc_v1\n    properties:\n      name: ${vpcName}\n      cidr: ${vpcCidr}\n  subnetV1:\n    type: opentelekomcloud:VpcSubnetV1\n    name: subnet_v1\n    properties:\n      name: ${subnetName}\n      cidr: ${subnetCidr}\n      vpcId: ${vpcV1.vpcV1Id}\n      gatewayIp: ${subnetGatewayIp}\n      ntpAddresses: 10.100.0.33,10.100.0.34\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Subnet with tags\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst subnetWithTags = new opentelekomcloud.VpcSubnetV1(\"subnet_with_tags\", {\n    name: subnetName,\n    cidr: subnetCidr,\n    vpcId: vpcV1.id,\n    gatewayIp: subnetGatewayIp,\n    ntpAddresses: \"10.100.0.33,10.100.0.34\",\n    tags: {\n        foo: \"bar\",\n        key: \"value\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nsubnet_with_tags = opentelekomcloud.VpcSubnetV1(\"subnet_with_tags\",\n    name=subnet_name,\n    cidr=subnet_cidr,\n    vpc_id=vpc_v1[\"id\"],\n    gateway_ip=subnet_gateway_ip,\n    ntp_addresses=\"10.100.0.33,10.100.0.34\",\n    tags={\n        \"foo\": \"bar\",\n        \"key\": \"value\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var subnetWithTags = new Opentelekomcloud.VpcSubnetV1(\"subnet_with_tags\", new()\n    {\n        Name = subnetName,\n        Cidr = subnetCidr,\n        VpcId = vpcV1.Id,\n        GatewayIp = subnetGatewayIp,\n        NtpAddresses = \"10.100.0.33,10.100.0.34\",\n        Tags = \n        {\n            { \"foo\", \"bar\" },\n            { \"key\", \"value\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewVpcSubnetV1(ctx, \"subnet_with_tags\", \u0026opentelekomcloud.VpcSubnetV1Args{\n\t\t\tName:         pulumi.Any(subnetName),\n\t\t\tCidr:         pulumi.Any(subnetCidr),\n\t\t\tVpcId:        pulumi.Any(vpcV1.Id),\n\t\t\tGatewayIp:    pulumi.Any(subnetGatewayIp),\n\t\t\tNtpAddresses: pulumi.String(\"10.100.0.33,10.100.0.34\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t\t\"key\": pulumi.String(\"value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.VpcSubnetV1;\nimport com.pulumi.opentelekomcloud.VpcSubnetV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var subnetWithTags = new VpcSubnetV1(\"subnetWithTags\", VpcSubnetV1Args.builder()\n            .name(subnetName)\n            .cidr(subnetCidr)\n            .vpcId(vpcV1.id())\n            .gatewayIp(subnetGatewayIp)\n            .ntpAddresses(\"10.100.0.33,10.100.0.34\")\n            .tags(Map.ofEntries(\n                Map.entry(\"foo\", \"bar\"),\n                Map.entry(\"key\", \"value\")\n            ))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  subnetWithTags:\n    type: opentelekomcloud:VpcSubnetV1\n    name: subnet_with_tags\n    properties:\n      name: ${subnetName}\n      cidr: ${subnetCidr}\n      vpcId: ${vpcV1.id}\n      gatewayIp: ${subnetGatewayIp}\n      ntpAddresses: 10.100.0.33,10.100.0.34\n      tags:\n        foo: bar\n        key: value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Enable Ipv6\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst subnetV6 = new opentelekomcloud.VpcSubnetV1(\"subnet_v6\", {\n    name: \"subnet_test_ipv6\",\n    description: \"some description\",\n    cidr: \"192.168.0.0/16\",\n    gatewayIp: \"192.168.0.1\",\n    vpcId: vpc1.id,\n    availabilityZone: \"eu-de-02\",\n    ntpAddresses: \"10.100.0.33,10.100.0.34\",\n    ipv6Enable: true,\n    tags: {\n        foo: \"bar\",\n        key: \"value\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nsubnet_v6 = opentelekomcloud.VpcSubnetV1(\"subnet_v6\",\n    name=\"subnet_test_ipv6\",\n    description=\"some description\",\n    cidr=\"192.168.0.0/16\",\n    gateway_ip=\"192.168.0.1\",\n    vpc_id=vpc1[\"id\"],\n    availability_zone=\"eu-de-02\",\n    ntp_addresses=\"10.100.0.33,10.100.0.34\",\n    ipv6_enable=True,\n    tags={\n        \"foo\": \"bar\",\n        \"key\": \"value\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var subnetV6 = new Opentelekomcloud.VpcSubnetV1(\"subnet_v6\", new()\n    {\n        Name = \"subnet_test_ipv6\",\n        Description = \"some description\",\n        Cidr = \"192.168.0.0/16\",\n        GatewayIp = \"192.168.0.1\",\n        VpcId = vpc1.Id,\n        AvailabilityZone = \"eu-de-02\",\n        NtpAddresses = \"10.100.0.33,10.100.0.34\",\n        Ipv6Enable = true,\n        Tags = \n        {\n            { \"foo\", \"bar\" },\n            { \"key\", \"value\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewVpcSubnetV1(ctx, \"subnet_v6\", \u0026opentelekomcloud.VpcSubnetV1Args{\n\t\t\tName:             pulumi.String(\"subnet_test_ipv6\"),\n\t\t\tDescription:      pulumi.String(\"some description\"),\n\t\t\tCidr:             pulumi.String(\"192.168.0.0/16\"),\n\t\t\tGatewayIp:        pulumi.String(\"192.168.0.1\"),\n\t\t\tVpcId:            pulumi.Any(vpc1.Id),\n\t\t\tAvailabilityZone: pulumi.String(\"eu-de-02\"),\n\t\t\tNtpAddresses:     pulumi.String(\"10.100.0.33,10.100.0.34\"),\n\t\t\tIpv6Enable:       pulumi.Bool(true),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t\t\"key\": pulumi.String(\"value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.VpcSubnetV1;\nimport com.pulumi.opentelekomcloud.VpcSubnetV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var subnetV6 = new VpcSubnetV1(\"subnetV6\", VpcSubnetV1Args.builder()\n            .name(\"subnet_test_ipv6\")\n            .description(\"some description\")\n            .cidr(\"192.168.0.0/16\")\n            .gatewayIp(\"192.168.0.1\")\n            .vpcId(vpc1.id())\n            .availabilityZone(\"eu-de-02\")\n            .ntpAddresses(\"10.100.0.33,10.100.0.34\")\n            .ipv6Enable(true)\n            .tags(Map.ofEntries(\n                Map.entry(\"foo\", \"bar\"),\n                Map.entry(\"key\", \"value\")\n            ))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  subnetV6:\n    type: opentelekomcloud:VpcSubnetV1\n    name: subnet_v6\n    properties:\n      name: subnet_test_ipv6\n      description: some description\n      cidr: 192.168.0.0/16\n      gatewayIp: 192.168.0.1\n      vpcId: ${vpc1.id}\n      availabilityZone: eu-de-02\n      ntpAddresses: 10.100.0.33,10.100.0.34\n      ipv6Enable: true\n      tags:\n        foo: bar\n        key: value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSubnets can be imported using the `subnet id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/vpcSubnetV1:VpcSubnetV1 subnet_v1 4779ab1c-7c1a-44b1-a02e-93dfc361b32d\n```\n\n","properties":{"availabilityZone":{"type":"string","description":"Identifies the availability zone (AZ) to which the subnet belongs.\nThe value must be an existing AZ in the system. Changing this creates a new Subnet.\n"},"cidr":{"type":"string","description":"Specifies the network segment on which the subnet resides. The value must be in CIDR format.\nThe value must be within the CIDR block of the VPC. The subnet mask cannot be greater than \u003cspan pulumi-lang-nodejs=\"`28`\" pulumi-lang-dotnet=\"`28`\" pulumi-lang-go=\"`28`\" pulumi-lang-python=\"`28`\" pulumi-lang-yaml=\"`28`\" pulumi-lang-java=\"`28`\"\u003e`28`\u003c/span\u003e.\nChanging this creates a new Subnet.\n"},"cidrIpv6":{"type":"string"},"description":{"type":"string","description":"A description of the VPC subnet.\n"},"dhcpEnable":{"type":"boolean","description":"Specifies whether the DHCP function is enabled for the subnet. The value can\nbe \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. If this parameter is left blank, it is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e by default.\n"},"dnsLists":{"type":"array","items":{"type":"string"},"description":"Specifies the DNS server address list of a subnet. This field is required if you\nneed to use more than two DNS servers. This parameter value is the superset of both DNS server address\n1 and DNS server address 2.\n\n~\u003e\nPlease note that primary DNS should be set to OTC-internal for managed services (e.g. CCE, CSS) to work.\n"},"gatewayIp":{"type":"string","description":"Specifies the gateway of the subnet. The value must be a valid IP address.\nThe value must be an IP address in the subnet segment. Changing this creates a new Subnet.\n"},"gatewayIpv6":{"type":"string"},"ipv6Enable":{"type":"boolean","description":"Specifies whether IPv6 is enabled. If IPv6 is enabled, you can use IPv6 CIDR blocks. The value can\nbe \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. If this parameter is left blank, it is set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e by default.\n"},"name":{"type":"string","description":"The subnet name. The value is a string of \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e characters that can contain letters,\ndigits, underscores (`_`), and hyphens (`-`).\n"},"networkId":{"type":"string","description":"Specifies the OpenStack network ID.\n"},"ntpAddresses":{"type":"string","description":"Specifies the NTP server address configured for the subnet.\n"},"primaryDns":{"type":"string","description":"Specifies the IP address of DNS server 1 on the subnet. The value must be a\nvalid IP address. Default is `100.125.4.25`, OpenTelekomCloud internal DNS server.\n"},"region":{"type":"string"},"secondaryDns":{"type":"string","description":"Specifies the IP address of DNS server 2 on the subnet. The value must be a\nvalid IP address. Default is `100.125.129.199`, OpenTelekomCloud secondary internal DNS server.\n"},"status":{"type":"string","description":"Specifies the status of the subnet. The value can be `ACTIVE`, `DOWN`, `UNKNOWN`, or `ERROR`.\n"},"subnetId":{"type":"string","description":"Specifies the OpenStack subnet ID.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"The key/value pairs to associate with the subnet.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FVpcSubnetV1Timeouts:VpcSubnetV1Timeouts"},"vpcId":{"type":"string","description":"Specifies the ID of the VPC to which the subnet belongs. Changing this creates a new Subnet.\n"},"vpcSubnetV1Id":{"type":"string","description":"Specifies a resource ID in UUID format. Same as OpenStack network ID (`OS_NETWORK_ID`).\n"}},"type":"object","required":["availabilityZone","cidr","cidrIpv6","dnsLists","gatewayIp","gatewayIpv6","name","networkId","primaryDns","region","secondaryDns","status","subnetId","vpcId","vpcSubnetV1Id"],"inputProperties":{"availabilityZone":{"type":"string","description":"Identifies the availability zone (AZ) to which the subnet belongs.\nThe value must be an existing AZ in the system. Changing this creates a new Subnet.\n"},"cidr":{"type":"string","description":"Specifies the network segment on which the subnet resides. The value must be in CIDR format.\nThe value must be within the CIDR block of the VPC. The subnet mask cannot be greater than \u003cspan pulumi-lang-nodejs=\"`28`\" pulumi-lang-dotnet=\"`28`\" pulumi-lang-go=\"`28`\" pulumi-lang-python=\"`28`\" pulumi-lang-yaml=\"`28`\" pulumi-lang-java=\"`28`\"\u003e`28`\u003c/span\u003e.\nChanging this creates a new Subnet.\n"},"description":{"type":"string","description":"A description of the VPC subnet.\n"},"dhcpEnable":{"type":"boolean","description":"Specifies whether the DHCP function is enabled for the subnet. The value can\nbe \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. If this parameter is left blank, it is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e by default.\n"},"dnsLists":{"type":"array","items":{"type":"string"},"description":"Specifies the DNS server address list of a subnet. This field is required if you\nneed to use more than two DNS servers. This parameter value is the superset of both DNS server address\n1 and DNS server address 2.\n\n~\u003e\nPlease note that primary DNS should be set to OTC-internal for managed services (e.g. CCE, CSS) to work.\n"},"gatewayIp":{"type":"string","description":"Specifies the gateway of the subnet. The value must be a valid IP address.\nThe value must be an IP address in the subnet segment. Changing this creates a new Subnet.\n"},"ipv6Enable":{"type":"boolean","description":"Specifies whether IPv6 is enabled. If IPv6 is enabled, you can use IPv6 CIDR blocks. The value can\nbe \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. If this parameter is left blank, it is set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e by default.\n"},"name":{"type":"string","description":"The subnet name. The value is a string of \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e characters that can contain letters,\ndigits, underscores (`_`), and hyphens (`-`).\n"},"ntpAddresses":{"type":"string","description":"Specifies the NTP server address configured for the subnet.\n"},"primaryDns":{"type":"string","description":"Specifies the IP address of DNS server 1 on the subnet. The value must be a\nvalid IP address. Default is `100.125.4.25`, OpenTelekomCloud internal DNS server.\n"},"region":{"type":"string"},"secondaryDns":{"type":"string","description":"Specifies the IP address of DNS server 2 on the subnet. The value must be a\nvalid IP address. Default is `100.125.129.199`, OpenTelekomCloud secondary internal DNS server.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"The key/value pairs to associate with the subnet.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FVpcSubnetV1Timeouts:VpcSubnetV1Timeouts"},"vpcId":{"type":"string","description":"Specifies the ID of the VPC to which the subnet belongs. Changing this creates a new Subnet.\n"},"vpcSubnetV1Id":{"type":"string","description":"Specifies a resource ID in UUID format. Same as OpenStack network ID (`OS_NETWORK_ID`).\n"}},"requiredInputs":["cidr","gatewayIp","vpcId"],"stateInputs":{"description":"Input properties used for looking up and filtering VpcSubnetV1 resources.\n","properties":{"availabilityZone":{"type":"string","description":"Identifies the availability zone (AZ) to which the subnet belongs.\nThe value must be an existing AZ in the system. Changing this creates a new Subnet.\n"},"cidr":{"type":"string","description":"Specifies the network segment on which the subnet resides. The value must be in CIDR format.\nThe value must be within the CIDR block of the VPC. The subnet mask cannot be greater than \u003cspan pulumi-lang-nodejs=\"`28`\" pulumi-lang-dotnet=\"`28`\" pulumi-lang-go=\"`28`\" pulumi-lang-python=\"`28`\" pulumi-lang-yaml=\"`28`\" pulumi-lang-java=\"`28`\"\u003e`28`\u003c/span\u003e.\nChanging this creates a new Subnet.\n"},"cidrIpv6":{"type":"string"},"description":{"type":"string","description":"A description of the VPC subnet.\n"},"dhcpEnable":{"type":"boolean","description":"Specifies whether the DHCP function is enabled for the subnet. The value can\nbe \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. If this parameter is left blank, it is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e by default.\n"},"dnsLists":{"type":"array","items":{"type":"string"},"description":"Specifies the DNS server address list of a subnet. This field is required if you\nneed to use more than two DNS servers. This parameter value is the superset of both DNS server address\n1 and DNS server address 2.\n\n~\u003e\nPlease note that primary DNS should be set to OTC-internal for managed services (e.g. CCE, CSS) to work.\n"},"gatewayIp":{"type":"string","description":"Specifies the gateway of the subnet. The value must be a valid IP address.\nThe value must be an IP address in the subnet segment. Changing this creates a new Subnet.\n"},"gatewayIpv6":{"type":"string"},"ipv6Enable":{"type":"boolean","description":"Specifies whether IPv6 is enabled. If IPv6 is enabled, you can use IPv6 CIDR blocks. The value can\nbe \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. If this parameter is left blank, it is set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e by default.\n"},"name":{"type":"string","description":"The subnet name. The value is a string of \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e characters that can contain letters,\ndigits, underscores (`_`), and hyphens (`-`).\n"},"networkId":{"type":"string","description":"Specifies the OpenStack network ID.\n"},"ntpAddresses":{"type":"string","description":"Specifies the NTP server address configured for the subnet.\n"},"primaryDns":{"type":"string","description":"Specifies the IP address of DNS server 1 on the subnet. The value must be a\nvalid IP address. Default is `100.125.4.25`, OpenTelekomCloud internal DNS server.\n"},"region":{"type":"string"},"secondaryDns":{"type":"string","description":"Specifies the IP address of DNS server 2 on the subnet. The value must be a\nvalid IP address. Default is `100.125.129.199`, OpenTelekomCloud secondary internal DNS server.\n"},"status":{"type":"string","description":"Specifies the status of the subnet. The value can be `ACTIVE`, `DOWN`, `UNKNOWN`, or `ERROR`.\n"},"subnetId":{"type":"string","description":"Specifies the OpenStack subnet ID.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"The key/value pairs to associate with the subnet.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FVpcSubnetV1Timeouts:VpcSubnetV1Timeouts"},"vpcId":{"type":"string","description":"Specifies the ID of the VPC to which the subnet belongs. Changing this creates a new Subnet.\n"},"vpcSubnetV1Id":{"type":"string","description":"Specifies a resource ID in UUID format. Same as OpenStack network ID (`OS_NETWORK_ID`).\n"}},"type":"object"}},"opentelekomcloud:index/vpcV1:VpcV1":{"description":"Up-to-date reference of API arguments for VPC service you can get at\n[documentation portal](https://docs.otc.t-systems.com/virtual-private-cloud/api-ref/apis/virtual_private_cloud)\n\nManages a VPC v1 resource within OpenTelekomCloud.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst vpcName = config.get(\"vpcName\") || \"opentelekomcloud_vpc\";\nconst vpcCidr = config.get(\"vpcCidr\") || \"192.168.0.0/16\";\nconst vpcV1 = new opentelekomcloud.VpcV1(\"vpc_v1\", {\n    name: vpcName,\n    cidr: vpcCidr,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nvpc_name = config.get(\"vpcName\")\nif vpc_name is None:\n    vpc_name = \"opentelekomcloud_vpc\"\nvpc_cidr = config.get(\"vpcCidr\")\nif vpc_cidr is None:\n    vpc_cidr = \"192.168.0.0/16\"\nvpc_v1 = opentelekomcloud.VpcV1(\"vpc_v1\",\n    name=vpc_name,\n    cidr=vpc_cidr)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var vpcName = config.Get(\"vpcName\") ?? \"opentelekomcloud_vpc\";\n    var vpcCidr = config.Get(\"vpcCidr\") ?? \"192.168.0.0/16\";\n    var vpcV1 = new Opentelekomcloud.VpcV1(\"vpc_v1\", new()\n    {\n        Name = vpcName,\n        Cidr = vpcCidr,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tvpcName := \"opentelekomcloud_vpc\"\n\t\tif param := cfg.Get(\"vpcName\"); param != \"\" {\n\t\t\tvpcName = param\n\t\t}\n\t\tvpcCidr := \"192.168.0.0/16\"\n\t\tif param := cfg.Get(\"vpcCidr\"); param != \"\" {\n\t\t\tvpcCidr = param\n\t\t}\n\t\t_, err := opentelekomcloud.NewVpcV1(ctx, \"vpc_v1\", \u0026opentelekomcloud.VpcV1Args{\n\t\t\tName: pulumi.String(vpcName),\n\t\t\tCidr: pulumi.String(vpcCidr),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.VpcV1;\nimport com.pulumi.opentelekomcloud.VpcV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var vpcName = config.get(\"vpcName\").orElse(\"opentelekomcloud_vpc\");\n        final var vpcCidr = config.get(\"vpcCidr\").orElse(\"192.168.0.0/16\");\n        var vpcV1 = new VpcV1(\"vpcV1\", VpcV1Args.builder()\n            .name(vpcName)\n            .cidr(vpcCidr)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  vpcName:\n    type: string\n    default: opentelekomcloud_vpc\n  vpcCidr:\n    type: string\n    default: 192.168.0.0/16\nresources:\n  vpcV1:\n    type: opentelekomcloud:VpcV1\n    name: vpc_v1\n    properties:\n      name: ${vpcName}\n      cidr: ${vpcCidr}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### VPC with tags\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst vpcWithTags = new opentelekomcloud.VpcV1(\"vpc_with_tags\", {\n    name: vpcName,\n    cidr: vpcCidr,\n    tags: {\n        foo: \"bar\",\n        key: \"value\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nvpc_with_tags = opentelekomcloud.VpcV1(\"vpc_with_tags\",\n    name=vpc_name,\n    cidr=vpc_cidr,\n    tags={\n        \"foo\": \"bar\",\n        \"key\": \"value\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var vpcWithTags = new Opentelekomcloud.VpcV1(\"vpc_with_tags\", new()\n    {\n        Name = vpcName,\n        Cidr = vpcCidr,\n        Tags = \n        {\n            { \"foo\", \"bar\" },\n            { \"key\", \"value\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewVpcV1(ctx, \"vpc_with_tags\", \u0026opentelekomcloud.VpcV1Args{\n\t\t\tName: pulumi.Any(vpcName),\n\t\t\tCidr: pulumi.Any(vpcCidr),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t\t\"key\": pulumi.String(\"value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.VpcV1;\nimport com.pulumi.opentelekomcloud.VpcV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var vpcWithTags = new VpcV1(\"vpcWithTags\", VpcV1Args.builder()\n            .name(vpcName)\n            .cidr(vpcCidr)\n            .tags(Map.ofEntries(\n                Map.entry(\"foo\", \"bar\"),\n                Map.entry(\"key\", \"value\")\n            ))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  vpcWithTags:\n    type: opentelekomcloud:VpcV1\n    name: vpc_with_tags\n    properties:\n      name: ${vpcName}\n      cidr: ${vpcCidr}\n      tags:\n        foo: bar\n        key: value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### VPC with secondary cidr block\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst vpcSecCidr = new opentelekomcloud.VpcV1(\"vpc_sec_cidr\", {\n    name: \"tf_vpc\",\n    description: \"description\",\n    cidr: \"192.168.0.0/16\",\n    secondaryCidr: \"23.9.0.0/16\",\n    tags: {\n        foo: \"bar\",\n        key: \"value\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nvpc_sec_cidr = opentelekomcloud.VpcV1(\"vpc_sec_cidr\",\n    name=\"tf_vpc\",\n    description=\"description\",\n    cidr=\"192.168.0.0/16\",\n    secondary_cidr=\"23.9.0.0/16\",\n    tags={\n        \"foo\": \"bar\",\n        \"key\": \"value\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var vpcSecCidr = new Opentelekomcloud.VpcV1(\"vpc_sec_cidr\", new()\n    {\n        Name = \"tf_vpc\",\n        Description = \"description\",\n        Cidr = \"192.168.0.0/16\",\n        SecondaryCidr = \"23.9.0.0/16\",\n        Tags = \n        {\n            { \"foo\", \"bar\" },\n            { \"key\", \"value\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewVpcV1(ctx, \"vpc_sec_cidr\", \u0026opentelekomcloud.VpcV1Args{\n\t\t\tName:          pulumi.String(\"tf_vpc\"),\n\t\t\tDescription:   pulumi.String(\"description\"),\n\t\t\tCidr:          pulumi.String(\"192.168.0.0/16\"),\n\t\t\tSecondaryCidr: pulumi.String(\"23.9.0.0/16\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t\t\"key\": pulumi.String(\"value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.VpcV1;\nimport com.pulumi.opentelekomcloud.VpcV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var vpcSecCidr = new VpcV1(\"vpcSecCidr\", VpcV1Args.builder()\n            .name(\"tf_vpc\")\n            .description(\"description\")\n            .cidr(\"192.168.0.0/16\")\n            .secondaryCidr(\"23.9.0.0/16\")\n            .tags(Map.ofEntries(\n                Map.entry(\"foo\", \"bar\"),\n                Map.entry(\"key\", \"value\")\n            ))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  vpcSecCidr:\n    type: opentelekomcloud:VpcV1\n    name: vpc_sec_cidr\n    properties:\n      name: tf_vpc\n      description: description\n      cidr: 192.168.0.0/16\n      secondaryCidr: 23.9.0.0/16\n      tags:\n        foo: bar\n        key: value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVPCs can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/vpcV1:VpcV1 vpc_v1 7117d38e-4c8f-4624-a505-bd96b97d024c\n```\n\n","properties":{"cidr":{"type":"string","description":"The range of available subnets in the VPC. The value ranges from\n`10.0.0.0/8` to `10.255.255.0/24`, `172.16.0.0/12` to `172.31.255.0/24`,\nor `192.168.0.0/16` to `192.168.255.0/24`.\n"},"description":{"type":"string","description":"A description of the VPC.\n"},"name":{"type":"string","description":"The name of the VPC. The name must be unique for a tenant. The value is a string of\nno more than \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e characters and can contain digits, letters, underscores (`_`), and hyphens (`-`).\n"},"region":{"type":"string"},"secondaryCidr":{"type":"string","description":"Secondary CIDR block that can be added to VPCs.\nThe value cannot contain the following: `100.64.0.0/1`, `214.0.0.0/7`, `198.18.0.0/15`, `169.254.0.0/16`,\n`0.0.0.0/8`, `127.0.0.0/8`, `240.0.0.0/4`, `172.31.0.0/16`, `192.168.0.0/16`.\nCurrently, only one secondary CIDR block can be added to each VPC.\n"},"shared":{"type":"boolean","description":"Specifies whether the shared SNAT should be used or not. Is also\nrequired for cross-tenant sharing. Shared SNAT only avadilable in eu-de region.\nDeprecated, VPC Shared SNAT End of Life from `01.03.2024`, please do not use.\n","deprecationMessage":"Deprecated"},"status":{"type":"string","description":"The current status of the desired VPC. Can be either `CREATING`,\n`OK`, `DOWN`, `PENDING_UPDATE`, `PENDING_DELETE` or `ERROR`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"The key/value pairs to associate with the VPC.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FVpcV1Timeouts:VpcV1Timeouts"},"vpcV1Id":{"type":"string"}},"type":"object","required":["cidr","name","region","shared","status","vpcV1Id"],"inputProperties":{"cidr":{"type":"string","description":"The range of available subnets in the VPC. The value ranges from\n`10.0.0.0/8` to `10.255.255.0/24`, `172.16.0.0/12` to `172.31.255.0/24`,\nor `192.168.0.0/16` to `192.168.255.0/24`.\n"},"description":{"type":"string","description":"A description of the VPC.\n"},"name":{"type":"string","description":"The name of the VPC. The name must be unique for a tenant. The value is a string of\nno more than \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e characters and can contain digits, letters, underscores (`_`), and hyphens (`-`).\n"},"region":{"type":"string"},"secondaryCidr":{"type":"string","description":"Secondary CIDR block that can be added to VPCs.\nThe value cannot contain the following: `100.64.0.0/1`, `214.0.0.0/7`, `198.18.0.0/15`, `169.254.0.0/16`,\n`0.0.0.0/8`, `127.0.0.0/8`, `240.0.0.0/4`, `172.31.0.0/16`, `192.168.0.0/16`.\nCurrently, only one secondary CIDR block can be added to each VPC.\n"},"shared":{"type":"boolean","description":"Specifies whether the shared SNAT should be used or not. Is also\nrequired for cross-tenant sharing. Shared SNAT only avadilable in eu-de region.\nDeprecated, VPC Shared SNAT End of Life from `01.03.2024`, please do not use.\n","deprecationMessage":"Deprecated"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"The key/value pairs to associate with the VPC.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FVpcV1Timeouts:VpcV1Timeouts"},"vpcV1Id":{"type":"string"}},"requiredInputs":["cidr"],"stateInputs":{"description":"Input properties used for looking up and filtering VpcV1 resources.\n","properties":{"cidr":{"type":"string","description":"The range of available subnets in the VPC. The value ranges from\n`10.0.0.0/8` to `10.255.255.0/24`, `172.16.0.0/12` to `172.31.255.0/24`,\nor `192.168.0.0/16` to `192.168.255.0/24`.\n"},"description":{"type":"string","description":"A description of the VPC.\n"},"name":{"type":"string","description":"The name of the VPC. The name must be unique for a tenant. The value is a string of\nno more than \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e characters and can contain digits, letters, underscores (`_`), and hyphens (`-`).\n"},"region":{"type":"string"},"secondaryCidr":{"type":"string","description":"Secondary CIDR block that can be added to VPCs.\nThe value cannot contain the following: `100.64.0.0/1`, `214.0.0.0/7`, `198.18.0.0/15`, `169.254.0.0/16`,\n`0.0.0.0/8`, `127.0.0.0/8`, `240.0.0.0/4`, `172.31.0.0/16`, `192.168.0.0/16`.\nCurrently, only one secondary CIDR block can be added to each VPC.\n"},"shared":{"type":"boolean","description":"Specifies whether the shared SNAT should be used or not. Is also\nrequired for cross-tenant sharing. Shared SNAT only avadilable in eu-de region.\nDeprecated, VPC Shared SNAT End of Life from `01.03.2024`, please do not use.\n","deprecationMessage":"Deprecated"},"status":{"type":"string","description":"The current status of the desired VPC. Can be either `CREATING`,\n`OK`, `DOWN`, `PENDING_UPDATE`, `PENDING_DELETE` or `ERROR`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"The key/value pairs to associate with the VPC.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FVpcV1Timeouts:VpcV1Timeouts"},"vpcV1Id":{"type":"string"}},"type":"object"}},"opentelekomcloud:index/vpcepApprovalV1:VpcepApprovalV1":{"description":"Provides a resource to manage the VPC endpoint connections.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst serviceVpcId = config.requireObject\u003cany\u003e(\"serviceVpcId\");\nconst vmPort = config.requireObject\u003cany\u003e(\"vmPort\");\nconst vpcId = config.requireObject\u003cany\u003e(\"vpcId\");\nconst subnetId = config.requireObject\u003cany\u003e(\"subnetId\");\nconst srv = new opentelekomcloud.VpcepServiceV1(\"srv\", {\n    name: \"demo-service\",\n    serverType: \"VM\",\n    vpcId: serviceVpcId,\n    portId: vmPort,\n    approvalEnabled: true,\n    ports: [{\n        serverPort: 8080,\n        clientPort: 80,\n    }],\n});\nconst ep = new opentelekomcloud.VpcepEndpointV1(\"ep\", {\n    serviceId: srv.vpcepServiceV1Id,\n    vpcId: vpcId,\n    subnetId: subnetId,\n    enableDns: true,\n});\nconst approval = new opentelekomcloud.VpcepApprovalV1(\"approval\", {\n    serviceId: srv.vpcepServiceV1Id,\n    endpoints: [ep.vpcepEndpointV1Id],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nservice_vpc_id = config.require_object(\"serviceVpcId\")\nvm_port = config.require_object(\"vmPort\")\nvpc_id = config.require_object(\"vpcId\")\nsubnet_id = config.require_object(\"subnetId\")\nsrv = opentelekomcloud.VpcepServiceV1(\"srv\",\n    name=\"demo-service\",\n    server_type=\"VM\",\n    vpc_id=service_vpc_id,\n    port_id=vm_port,\n    approval_enabled=True,\n    ports=[{\n        \"server_port\": 8080,\n        \"client_port\": 80,\n    }])\nep = opentelekomcloud.VpcepEndpointV1(\"ep\",\n    service_id=srv.vpcep_service_v1_id,\n    vpc_id=vpc_id,\n    subnet_id=subnet_id,\n    enable_dns=True)\napproval = opentelekomcloud.VpcepApprovalV1(\"approval\",\n    service_id=srv.vpcep_service_v1_id,\n    endpoints=[ep.vpcep_endpoint_v1_id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var serviceVpcId = config.RequireObject\u003cdynamic\u003e(\"serviceVpcId\");\n    var vmPort = config.RequireObject\u003cdynamic\u003e(\"vmPort\");\n    var vpcId = config.RequireObject\u003cdynamic\u003e(\"vpcId\");\n    var subnetId = config.RequireObject\u003cdynamic\u003e(\"subnetId\");\n    var srv = new Opentelekomcloud.VpcepServiceV1(\"srv\", new()\n    {\n        Name = \"demo-service\",\n        ServerType = \"VM\",\n        VpcId = serviceVpcId,\n        PortId = vmPort,\n        ApprovalEnabled = true,\n        Ports = new[]\n        {\n            new Opentelekomcloud.Inputs.VpcepServiceV1PortArgs\n            {\n                ServerPort = 8080,\n                ClientPort = 80,\n            },\n        },\n    });\n\n    var ep = new Opentelekomcloud.VpcepEndpointV1(\"ep\", new()\n    {\n        ServiceId = srv.VpcepServiceV1Id,\n        VpcId = vpcId,\n        SubnetId = subnetId,\n        EnableDns = true,\n    });\n\n    var approval = new Opentelekomcloud.VpcepApprovalV1(\"approval\", new()\n    {\n        ServiceId = srv.VpcepServiceV1Id,\n        Endpoints = new[]\n        {\n            ep.VpcepEndpointV1Id,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tserviceVpcId := cfg.RequireObject(\"serviceVpcId\")\n\t\tvmPort := cfg.RequireObject(\"vmPort\")\n\t\tvpcId := cfg.RequireObject(\"vpcId\")\n\t\tsubnetId := cfg.RequireObject(\"subnetId\")\n\t\tsrv, err := opentelekomcloud.NewVpcepServiceV1(ctx, \"srv\", \u0026opentelekomcloud.VpcepServiceV1Args{\n\t\t\tName:            pulumi.String(\"demo-service\"),\n\t\t\tServerType:      pulumi.String(\"VM\"),\n\t\t\tVpcId:           pulumi.Any(serviceVpcId),\n\t\t\tPortId:          pulumi.Any(vmPort),\n\t\t\tApprovalEnabled: pulumi.Bool(true),\n\t\t\tPorts: opentelekomcloud.VpcepServiceV1PortArray{\n\t\t\t\t\u0026opentelekomcloud.VpcepServiceV1PortArgs{\n\t\t\t\t\tServerPort: pulumi.Float64(8080),\n\t\t\t\t\tClientPort: pulumi.Float64(80),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tep, err := opentelekomcloud.NewVpcepEndpointV1(ctx, \"ep\", \u0026opentelekomcloud.VpcepEndpointV1Args{\n\t\t\tServiceId: srv.VpcepServiceV1Id,\n\t\t\tVpcId:     pulumi.Any(vpcId),\n\t\t\tSubnetId:  pulumi.Any(subnetId),\n\t\t\tEnableDns: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewVpcepApprovalV1(ctx, \"approval\", \u0026opentelekomcloud.VpcepApprovalV1Args{\n\t\t\tServiceId: srv.VpcepServiceV1Id,\n\t\t\tEndpoints: pulumi.StringArray{\n\t\t\t\tep.VpcepEndpointV1Id,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.VpcepServiceV1;\nimport com.pulumi.opentelekomcloud.VpcepServiceV1Args;\nimport com.pulumi.opentelekomcloud.inputs.VpcepServiceV1PortArgs;\nimport com.pulumi.opentelekomcloud.VpcepEndpointV1;\nimport com.pulumi.opentelekomcloud.VpcepEndpointV1Args;\nimport com.pulumi.opentelekomcloud.VpcepApprovalV1;\nimport com.pulumi.opentelekomcloud.VpcepApprovalV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var serviceVpcId = config.get(\"serviceVpcId\");\n        final var vmPort = config.get(\"vmPort\");\n        final var vpcId = config.get(\"vpcId\");\n        final var subnetId = config.get(\"subnetId\");\n        var srv = new VpcepServiceV1(\"srv\", VpcepServiceV1Args.builder()\n            .name(\"demo-service\")\n            .serverType(\"VM\")\n            .vpcId(serviceVpcId)\n            .portId(vmPort)\n            .approvalEnabled(true)\n            .ports(VpcepServiceV1PortArgs.builder()\n                .serverPort(8080.0)\n                .clientPort(80.0)\n                .build())\n            .build());\n\n        var ep = new VpcepEndpointV1(\"ep\", VpcepEndpointV1Args.builder()\n            .serviceId(srv.vpcepServiceV1Id())\n            .vpcId(vpcId)\n            .subnetId(subnetId)\n            .enableDns(true)\n            .build());\n\n        var approval = new VpcepApprovalV1(\"approval\", VpcepApprovalV1Args.builder()\n            .serviceId(srv.vpcepServiceV1Id())\n            .endpoints(ep.vpcepEndpointV1Id())\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  serviceVpcId:\n    type: dynamic\n  vmPort:\n    type: dynamic\n  vpcId:\n    type: dynamic\n  subnetId:\n    type: dynamic\nresources:\n  srv:\n    type: opentelekomcloud:VpcepServiceV1\n    properties:\n      name: demo-service\n      serverType: VM\n      vpcId: ${serviceVpcId}\n      portId: ${vmPort}\n      approvalEnabled: true\n      ports:\n        - serverPort: 8080\n          clientPort: 80\n  ep:\n    type: opentelekomcloud:VpcepEndpointV1\n    properties:\n      serviceId: ${srv.vpcepServiceV1Id}\n      vpcId: ${vpcId}\n      subnetId: ${subnetId}\n      enableDns: true\n  approval:\n    type: opentelekomcloud:VpcepApprovalV1\n    properties:\n      serviceId: ${srv.vpcepServiceV1Id}\n      endpoints:\n        - ${ep.vpcepEndpointV1Id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVPC endpoint approval can be imported using the `id`, e.g.\n\nbash\n\n```sh\n$ pulumi import opentelekomcloud:index/vpcepApprovalV1:VpcepApprovalV1 apr \u003cid\u003e\n```\n\n","properties":{"connections":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FVpcepApprovalV1Connection:VpcepApprovalV1Connection"},"description":"An array of VPC endpoints connect to the VPC endpoint service. Structure is documented below.\n"},"endpoints":{"type":"array","items":{"type":"string"},"description":"Specifies the list of VPC endpoint IDs which accepted to connect to VPC endpoint\nservice. The VPC endpoints will be rejected when the resource was destroyed.\n"},"region":{"type":"string","description":"The VPC endpoint service region.\n"},"serviceId":{"type":"string","description":"Specifies the ID of the VPC endpoint service. Changing this creates a new\nresource.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FVpcepApprovalV1Timeouts:VpcepApprovalV1Timeouts"},"vpcepApprovalV1Id":{"type":"string","description":"The unique ID in UUID format which equals to the ID of the VPC endpoint service.\n"}},"type":"object","required":["connections","endpoints","region","serviceId","vpcepApprovalV1Id"],"inputProperties":{"endpoints":{"type":"array","items":{"type":"string"},"description":"Specifies the list of VPC endpoint IDs which accepted to connect to VPC endpoint\nservice. The VPC endpoints will be rejected when the resource was destroyed.\n"},"serviceId":{"type":"string","description":"Specifies the ID of the VPC endpoint service. Changing this creates a new\nresource.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FVpcepApprovalV1Timeouts:VpcepApprovalV1Timeouts"},"vpcepApprovalV1Id":{"type":"string","description":"The unique ID in UUID format which equals to the ID of the VPC endpoint service.\n"}},"requiredInputs":["endpoints","serviceId"],"stateInputs":{"description":"Input properties used for looking up and filtering VpcepApprovalV1 resources.\n","properties":{"connections":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FVpcepApprovalV1Connection:VpcepApprovalV1Connection"},"description":"An array of VPC endpoints connect to the VPC endpoint service. Structure is documented below.\n"},"endpoints":{"type":"array","items":{"type":"string"},"description":"Specifies the list of VPC endpoint IDs which accepted to connect to VPC endpoint\nservice. The VPC endpoints will be rejected when the resource was destroyed.\n"},"region":{"type":"string","description":"The VPC endpoint service region.\n"},"serviceId":{"type":"string","description":"Specifies the ID of the VPC endpoint service. Changing this creates a new\nresource.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FVpcepApprovalV1Timeouts:VpcepApprovalV1Timeouts"},"vpcepApprovalV1Id":{"type":"string","description":"The unique ID in UUID format which equals to the ID of the VPC endpoint service.\n"}},"type":"object"}},"opentelekomcloud:index/vpcepEndpointV1:VpcepEndpointV1":{"description":"Up-to-date reference of API arguments for VPCEP you can get at\n[documentation portal](https://docs.otc.t-systems.com/vpc-endpoint/api-ref/apis/apis_for_managing_vpc_endpoints)\n\nManages a VPC Endpoint v1 resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst sharedSubnet = opentelekomcloud.getVpcSubnetV1({\n    name: \"test-subnet\",\n});\nconst lb1 = new opentelekomcloud.LbLoadbalancerV2(\"lb_1\", {vipSubnetId: sharedSubnet.then(sharedSubnet =\u003e sharedSubnet.subnetId)});\nconst service = new opentelekomcloud.VpcepServiceV1(\"service\", {\n    name: \"service_1\",\n    portId: lb1.vipPortId,\n    vpcId: sharedSubnet.then(sharedSubnet =\u003e sharedSubnet.vpcId),\n    serverType: \"LB\",\n    ports: [{\n        clientPort: 80,\n        serverPort: 8080,\n    }],\n    tags: {\n        key: \"value\",\n    },\n});\nconst endpoint = new opentelekomcloud.VpcepEndpointV1(\"endpoint\", {\n    serviceId: service.vpcepServiceV1Id,\n    vpcId: service.vpcId,\n    subnetId: sharedSubnet.then(sharedSubnet =\u003e sharedSubnet.id),\n    portIp: \"192.168.0.12\",\n    enableDns: true,\n    whitelists: [\"127.0.0.1\"],\n    tags: {\n        fizz: \"buzz\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nshared_subnet = opentelekomcloud.get_vpc_subnet_v1(name=\"test-subnet\")\nlb1 = opentelekomcloud.LbLoadbalancerV2(\"lb_1\", vip_subnet_id=shared_subnet.subnet_id)\nservice = opentelekomcloud.VpcepServiceV1(\"service\",\n    name=\"service_1\",\n    port_id=lb1.vip_port_id,\n    vpc_id=shared_subnet.vpc_id,\n    server_type=\"LB\",\n    ports=[{\n        \"client_port\": 80,\n        \"server_port\": 8080,\n    }],\n    tags={\n        \"key\": \"value\",\n    })\nendpoint = opentelekomcloud.VpcepEndpointV1(\"endpoint\",\n    service_id=service.vpcep_service_v1_id,\n    vpc_id=service.vpc_id,\n    subnet_id=shared_subnet.id,\n    port_ip=\"192.168.0.12\",\n    enable_dns=True,\n    whitelists=[\"127.0.0.1\"],\n    tags={\n        \"fizz\": \"buzz\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var sharedSubnet = Opentelekomcloud.GetVpcSubnetV1.Invoke(new()\n    {\n        Name = \"test-subnet\",\n    });\n\n    var lb1 = new Opentelekomcloud.LbLoadbalancerV2(\"lb_1\", new()\n    {\n        VipSubnetId = sharedSubnet.Apply(getVpcSubnetV1Result =\u003e getVpcSubnetV1Result.SubnetId),\n    });\n\n    var service = new Opentelekomcloud.VpcepServiceV1(\"service\", new()\n    {\n        Name = \"service_1\",\n        PortId = lb1.VipPortId,\n        VpcId = sharedSubnet.Apply(getVpcSubnetV1Result =\u003e getVpcSubnetV1Result.VpcId),\n        ServerType = \"LB\",\n        Ports = new[]\n        {\n            new Opentelekomcloud.Inputs.VpcepServiceV1PortArgs\n            {\n                ClientPort = 80,\n                ServerPort = 8080,\n            },\n        },\n        Tags = \n        {\n            { \"key\", \"value\" },\n        },\n    });\n\n    var endpoint = new Opentelekomcloud.VpcepEndpointV1(\"endpoint\", new()\n    {\n        ServiceId = service.VpcepServiceV1Id,\n        VpcId = service.VpcId,\n        SubnetId = sharedSubnet.Apply(getVpcSubnetV1Result =\u003e getVpcSubnetV1Result.Id),\n        PortIp = \"192.168.0.12\",\n        EnableDns = true,\n        Whitelists = new[]\n        {\n            \"127.0.0.1\",\n        },\n        Tags = \n        {\n            { \"fizz\", \"buzz\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsharedSubnet, err := opentelekomcloud.LookupVpcSubnetV1(ctx, \u0026opentelekomcloud.LookupVpcSubnetV1Args{\n\t\t\tName: pulumi.StringRef(\"test-subnet\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlb1, err := opentelekomcloud.NewLbLoadbalancerV2(ctx, \"lb_1\", \u0026opentelekomcloud.LbLoadbalancerV2Args{\n\t\t\tVipSubnetId: pulumi.String(sharedSubnet.SubnetId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tservice, err := opentelekomcloud.NewVpcepServiceV1(ctx, \"service\", \u0026opentelekomcloud.VpcepServiceV1Args{\n\t\t\tName:       pulumi.String(\"service_1\"),\n\t\t\tPortId:     lb1.VipPortId,\n\t\t\tVpcId:      pulumi.String(sharedSubnet.VpcId),\n\t\t\tServerType: pulumi.String(\"LB\"),\n\t\t\tPorts: opentelekomcloud.VpcepServiceV1PortArray{\n\t\t\t\t\u0026opentelekomcloud.VpcepServiceV1PortArgs{\n\t\t\t\t\tClientPort: pulumi.Float64(80),\n\t\t\t\t\tServerPort: pulumi.Float64(8080),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"key\": pulumi.String(\"value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewVpcepEndpointV1(ctx, \"endpoint\", \u0026opentelekomcloud.VpcepEndpointV1Args{\n\t\t\tServiceId: service.VpcepServiceV1Id,\n\t\t\tVpcId:     service.VpcId,\n\t\t\tSubnetId:  pulumi.String(sharedSubnet.Id),\n\t\t\tPortIp:    pulumi.String(\"192.168.0.12\"),\n\t\t\tEnableDns: pulumi.Bool(true),\n\t\t\tWhitelists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"127.0.0.1\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"fizz\": pulumi.String(\"buzz\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetVpcSubnetV1Args;\nimport com.pulumi.opentelekomcloud.LbLoadbalancerV2;\nimport com.pulumi.opentelekomcloud.LbLoadbalancerV2Args;\nimport com.pulumi.opentelekomcloud.VpcepServiceV1;\nimport com.pulumi.opentelekomcloud.VpcepServiceV1Args;\nimport com.pulumi.opentelekomcloud.inputs.VpcepServiceV1PortArgs;\nimport com.pulumi.opentelekomcloud.VpcepEndpointV1;\nimport com.pulumi.opentelekomcloud.VpcepEndpointV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var sharedSubnet = OpentelekomcloudFunctions.getVpcSubnetV1(GetVpcSubnetV1Args.builder()\n            .name(\"test-subnet\")\n            .build());\n\n        var lb1 = new LbLoadbalancerV2(\"lb1\", LbLoadbalancerV2Args.builder()\n            .vipSubnetId(sharedSubnet.subnetId())\n            .build());\n\n        var service = new VpcepServiceV1(\"service\", VpcepServiceV1Args.builder()\n            .name(\"service_1\")\n            .portId(lb1.vipPortId())\n            .vpcId(sharedSubnet.vpcId())\n            .serverType(\"LB\")\n            .ports(VpcepServiceV1PortArgs.builder()\n                .clientPort(80.0)\n                .serverPort(8080.0)\n                .build())\n            .tags(Map.of(\"key\", \"value\"))\n            .build());\n\n        var endpoint = new VpcepEndpointV1(\"endpoint\", VpcepEndpointV1Args.builder()\n            .serviceId(service.vpcepServiceV1Id())\n            .vpcId(service.vpcId())\n            .subnetId(sharedSubnet.id())\n            .portIp(\"192.168.0.12\")\n            .enableDns(true)\n            .whitelists(\"127.0.0.1\")\n            .tags(Map.of(\"fizz\", \"buzz\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  lb1:\n    type: opentelekomcloud:LbLoadbalancerV2\n    name: lb_1\n    properties:\n      vipSubnetId: ${sharedSubnet.subnetId}\n  service:\n    type: opentelekomcloud:VpcepServiceV1\n    properties:\n      name: service_1\n      portId: ${lb1.vipPortId}\n      vpcId: ${sharedSubnet.vpcId}\n      serverType: LB\n      ports:\n        - clientPort: 80\n          serverPort: 8080\n      tags:\n        key: value\n  endpoint:\n    type: opentelekomcloud:VpcepEndpointV1\n    properties:\n      serviceId: ${service.vpcepServiceV1Id}\n      vpcId: ${service.vpcId}\n      subnetId: ${sharedSubnet.id}\n      portIp: 192.168.0.12\n      enableDns: true\n      whitelists:\n        - 127.0.0.1\n      tags:\n        fizz: buzz\nvariables:\n  sharedSubnet:\n    fn::invoke:\n      function: opentelekomcloud:getVpcSubnetV1\n      arguments:\n        name: test-subnet\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVPC endpoint can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/vpcepEndpointV1:VpcepEndpointV1 endpoint 71ba78a2-d847-4882-8fd0-42c5854c1cbc\n```\n\n","properties":{"description":{"type":"string","description":"Specifies the description of the VPC endpoint. The value can contain\ncharacters such as letters and digits, but cannot contain less than signs (\u003c) and great than signs (\u003e).\n"},"dnsNames":{"type":"array","items":{"type":"string"},"description":"Specifies the domain name for accessing the associated VPC endpoint service.\nThis parameter is only available when \u003cspan pulumi-lang-nodejs=\"`enableDns`\" pulumi-lang-dotnet=\"`EnableDns`\" pulumi-lang-go=\"`enableDns`\" pulumi-lang-python=\"`enable_dns`\" pulumi-lang-yaml=\"`enableDns`\" pulumi-lang-java=\"`enableDns`\"\u003e`enable_dns`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"enableDns":{"type":"boolean","description":"Specifies whether to create a private domain name. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"enableWhitelist":{"type":"boolean","description":"Specifies whether to enable access control.\nThis parameter is available only if you create a ``VPC endpoint`` for connecting to an interface VPC endpoint service.\n"},"markerId":{"type":"number","description":"Specifies the packet ID of the VPC endpoint.\n"},"policyStatement":{"type":"string"},"portIp":{"type":"string","description":"Specifies the IP address for accessing the associated VPC endpoint service.\n"},"projectId":{"type":"string","description":"Specifies the project ID.\n"},"routeTables":{"type":"array","items":{"type":"string"},"description":"Lists the IDs of route tables.\n"},"serviceId":{"type":"string","description":"Specifies the ID of the VPC endpoint service.\n"},"serviceName":{"type":"string","description":"Specifies the name of the VPC endpoint service.\n"},"serviceType":{"type":"string","description":"Specifies the type of the VPC endpoint service that is associated with the VPC endpoint.\n"},"status":{"type":"string","description":"The status of the VPC endpoint. The value can be `pendingAcceptance`, \u003cspan pulumi-lang-nodejs=\"`creating`\" pulumi-lang-dotnet=\"`Creating`\" pulumi-lang-go=\"`creating`\" pulumi-lang-python=\"`creating`\" pulumi-lang-yaml=\"`creating`\" pulumi-lang-java=\"`creating`\"\u003e`creating`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`accepted`\" pulumi-lang-dotnet=\"`Accepted`\" pulumi-lang-go=\"`accepted`\" pulumi-lang-python=\"`accepted`\" pulumi-lang-yaml=\"`accepted`\" pulumi-lang-java=\"`accepted`\"\u003e`accepted`\u003c/span\u003e,\n\u003cspan pulumi-lang-nodejs=\"`rejected`\" pulumi-lang-dotnet=\"`Rejected`\" pulumi-lang-go=\"`rejected`\" pulumi-lang-python=\"`rejected`\" pulumi-lang-yaml=\"`rejected`\" pulumi-lang-java=\"`rejected`\"\u003e`rejected`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`failed`\" pulumi-lang-dotnet=\"`Failed`\" pulumi-lang-go=\"`failed`\" pulumi-lang-python=\"`failed`\" pulumi-lang-yaml=\"`failed`\" pulumi-lang-java=\"`failed`\"\u003e`failed`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e.\n"},"subnetId":{"type":"string","description":"The value must be the ID of the subnet (OpenStack network) created in the VPC specified\nby \u003cspan pulumi-lang-nodejs=\"`vpcId`\" pulumi-lang-dotnet=\"`VpcId`\" pulumi-lang-go=\"`vpcId`\" pulumi-lang-python=\"`vpc_id`\" pulumi-lang-yaml=\"`vpcId`\" pulumi-lang-java=\"`vpcId`\"\u003e`vpc_id`\u003c/span\u003e and in the format of the UUID.\nThis parameter is mandatory only if you create a VPC endpoint for connecting to an interface VPC endpoint service.\n\n~\u003e\nThe CIDR block of the VPC subnet cannot overlap with `198.19.128.0/20`. The destination address of the custom route in\nthe VPC route table cannot overlap with the CIDR block `198.19.128.0/20`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"The key/value pairs to associate with the VPC endpoint.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FVpcepEndpointV1Timeouts:VpcepEndpointV1Timeouts"},"vpcId":{"type":"string","description":"Specifies the ID of the VPC (OpenStack router) where the VPC endpoint is to be created.\n"},"vpcepEndpointV1Id":{"type":"string","description":"ID of VPC endpoint.\n"},"whitelists":{"type":"array","items":{"type":"string"},"description":"Specifies an array of whitelisted IPs for controlling access to the VPC endpoint.\n``IPv4 addresses`` or ``CIDR blocks`` can be specified to control access when you create a VPC endpoint.\nThis parameter is mandatory only when you create a ``VPC endpoint`` for connecting to an interface VPC endpoint service.\n"}},"type":"object","required":["description","dnsNames","enableDns","enableWhitelist","markerId","policyStatement","portIp","projectId","routeTables","serviceId","serviceName","serviceType","status","subnetId","tags","vpcId","vpcepEndpointV1Id","whitelists"],"inputProperties":{"description":{"type":"string","description":"Specifies the description of the VPC endpoint. The value can contain\ncharacters such as letters and digits, but cannot contain less than signs (\u003c) and great than signs (\u003e).\n"},"enableDns":{"type":"boolean","description":"Specifies whether to create a private domain name. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"enableWhitelist":{"type":"boolean","description":"Specifies whether to enable access control.\nThis parameter is available only if you create a ``VPC endpoint`` for connecting to an interface VPC endpoint service.\n"},"policyStatement":{"type":"string"},"portIp":{"type":"string","description":"Specifies the IP address for accessing the associated VPC endpoint service.\n"},"routeTables":{"type":"array","items":{"type":"string"},"description":"Lists the IDs of route tables.\n"},"serviceId":{"type":"string","description":"Specifies the ID of the VPC endpoint service.\n"},"subnetId":{"type":"string","description":"The value must be the ID of the subnet (OpenStack network) created in the VPC specified\nby \u003cspan pulumi-lang-nodejs=\"`vpcId`\" pulumi-lang-dotnet=\"`VpcId`\" pulumi-lang-go=\"`vpcId`\" pulumi-lang-python=\"`vpc_id`\" pulumi-lang-yaml=\"`vpcId`\" pulumi-lang-java=\"`vpcId`\"\u003e`vpc_id`\u003c/span\u003e and in the format of the UUID.\nThis parameter is mandatory only if you create a VPC endpoint for connecting to an interface VPC endpoint service.\n\n~\u003e\nThe CIDR block of the VPC subnet cannot overlap with `198.19.128.0/20`. The destination address of the custom route in\nthe VPC route table cannot overlap with the CIDR block `198.19.128.0/20`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"The key/value pairs to associate with the VPC endpoint.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FVpcepEndpointV1Timeouts:VpcepEndpointV1Timeouts"},"vpcId":{"type":"string","description":"Specifies the ID of the VPC (OpenStack router) where the VPC endpoint is to be created.\n"},"vpcepEndpointV1Id":{"type":"string","description":"ID of VPC endpoint.\n"},"whitelists":{"type":"array","items":{"type":"string"},"description":"Specifies an array of whitelisted IPs for controlling access to the VPC endpoint.\n``IPv4 addresses`` or ``CIDR blocks`` can be specified to control access when you create a VPC endpoint.\nThis parameter is mandatory only when you create a ``VPC endpoint`` for connecting to an interface VPC endpoint service.\n"}},"requiredInputs":["serviceId","vpcId"],"stateInputs":{"description":"Input properties used for looking up and filtering VpcepEndpointV1 resources.\n","properties":{"description":{"type":"string","description":"Specifies the description of the VPC endpoint. The value can contain\ncharacters such as letters and digits, but cannot contain less than signs (\u003c) and great than signs (\u003e).\n"},"dnsNames":{"type":"array","items":{"type":"string"},"description":"Specifies the domain name for accessing the associated VPC endpoint service.\nThis parameter is only available when \u003cspan pulumi-lang-nodejs=\"`enableDns`\" pulumi-lang-dotnet=\"`EnableDns`\" pulumi-lang-go=\"`enableDns`\" pulumi-lang-python=\"`enable_dns`\" pulumi-lang-yaml=\"`enableDns`\" pulumi-lang-java=\"`enableDns`\"\u003e`enable_dns`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"enableDns":{"type":"boolean","description":"Specifies whether to create a private domain name. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"enableWhitelist":{"type":"boolean","description":"Specifies whether to enable access control.\nThis parameter is available only if you create a ``VPC endpoint`` for connecting to an interface VPC endpoint service.\n"},"markerId":{"type":"number","description":"Specifies the packet ID of the VPC endpoint.\n"},"policyStatement":{"type":"string"},"portIp":{"type":"string","description":"Specifies the IP address for accessing the associated VPC endpoint service.\n"},"projectId":{"type":"string","description":"Specifies the project ID.\n"},"routeTables":{"type":"array","items":{"type":"string"},"description":"Lists the IDs of route tables.\n"},"serviceId":{"type":"string","description":"Specifies the ID of the VPC endpoint service.\n"},"serviceName":{"type":"string","description":"Specifies the name of the VPC endpoint service.\n"},"serviceType":{"type":"string","description":"Specifies the type of the VPC endpoint service that is associated with the VPC endpoint.\n"},"status":{"type":"string","description":"The status of the VPC endpoint. The value can be `pendingAcceptance`, \u003cspan pulumi-lang-nodejs=\"`creating`\" pulumi-lang-dotnet=\"`Creating`\" pulumi-lang-go=\"`creating`\" pulumi-lang-python=\"`creating`\" pulumi-lang-yaml=\"`creating`\" pulumi-lang-java=\"`creating`\"\u003e`creating`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`accepted`\" pulumi-lang-dotnet=\"`Accepted`\" pulumi-lang-go=\"`accepted`\" pulumi-lang-python=\"`accepted`\" pulumi-lang-yaml=\"`accepted`\" pulumi-lang-java=\"`accepted`\"\u003e`accepted`\u003c/span\u003e,\n\u003cspan pulumi-lang-nodejs=\"`rejected`\" pulumi-lang-dotnet=\"`Rejected`\" pulumi-lang-go=\"`rejected`\" pulumi-lang-python=\"`rejected`\" pulumi-lang-yaml=\"`rejected`\" pulumi-lang-java=\"`rejected`\"\u003e`rejected`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`failed`\" pulumi-lang-dotnet=\"`Failed`\" pulumi-lang-go=\"`failed`\" pulumi-lang-python=\"`failed`\" pulumi-lang-yaml=\"`failed`\" pulumi-lang-java=\"`failed`\"\u003e`failed`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e.\n"},"subnetId":{"type":"string","description":"The value must be the ID of the subnet (OpenStack network) created in the VPC specified\nby \u003cspan pulumi-lang-nodejs=\"`vpcId`\" pulumi-lang-dotnet=\"`VpcId`\" pulumi-lang-go=\"`vpcId`\" pulumi-lang-python=\"`vpc_id`\" pulumi-lang-yaml=\"`vpcId`\" pulumi-lang-java=\"`vpcId`\"\u003e`vpc_id`\u003c/span\u003e and in the format of the UUID.\nThis parameter is mandatory only if you create a VPC endpoint for connecting to an interface VPC endpoint service.\n\n~\u003e\nThe CIDR block of the VPC subnet cannot overlap with `198.19.128.0/20`. The destination address of the custom route in\nthe VPC route table cannot overlap with the CIDR block `198.19.128.0/20`.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"The key/value pairs to associate with the VPC endpoint.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FVpcepEndpointV1Timeouts:VpcepEndpointV1Timeouts"},"vpcId":{"type":"string","description":"Specifies the ID of the VPC (OpenStack router) where the VPC endpoint is to be created.\n"},"vpcepEndpointV1Id":{"type":"string","description":"ID of VPC endpoint.\n"},"whitelists":{"type":"array","items":{"type":"string"},"description":"Specifies an array of whitelisted IPs for controlling access to the VPC endpoint.\n``IPv4 addresses`` or ``CIDR blocks`` can be specified to control access when you create a VPC endpoint.\nThis parameter is mandatory only when you create a ``VPC endpoint`` for connecting to an interface VPC endpoint service.\n"}},"type":"object"}},"opentelekomcloud:index/vpcepServiceV1:VpcepServiceV1":{"description":"Up-to-date reference of API arguments for VPCEP service you can get at\n[documentation portal](https://docs.otc.t-systems.com/vpc-endpoint/api-ref/apis/apis_for_managing_vpc_endpoint_services)\n\nManages a VPC Endpoint Service v1 resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst osSubnetId = config.requireObject\u003cany\u003e(\"osSubnetId\");\nconst vpcId = config.requireObject\u003cany\u003e(\"vpcId\");\nconst domainId1 = config.requireObject\u003cany\u003e(\"domainId1\");\nconst domainId2 = config.requireObject\u003cany\u003e(\"domainId2\");\nconst lb1 = new opentelekomcloud.LbLoadbalancerV2(\"lb_1\", {vipSubnetId: osSubnetId});\nconst service = new opentelekomcloud.VpcepServiceV1(\"service\", {\n    name: \"service_1\",\n    portId: lb1.vipPortId,\n    vpcId: vpcId,\n    serverType: \"LB\",\n    ports: [{\n        clientPort: 80,\n        serverPort: 8080,\n    }],\n    whitelists: [\n        domainId1,\n        domainId2,\n    ],\n    tags: {\n        key: \"value\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nos_subnet_id = config.require_object(\"osSubnetId\")\nvpc_id = config.require_object(\"vpcId\")\ndomain_id1 = config.require_object(\"domainId1\")\ndomain_id2 = config.require_object(\"domainId2\")\nlb1 = opentelekomcloud.LbLoadbalancerV2(\"lb_1\", vip_subnet_id=os_subnet_id)\nservice = opentelekomcloud.VpcepServiceV1(\"service\",\n    name=\"service_1\",\n    port_id=lb1.vip_port_id,\n    vpc_id=vpc_id,\n    server_type=\"LB\",\n    ports=[{\n        \"client_port\": 80,\n        \"server_port\": 8080,\n    }],\n    whitelists=[\n        domain_id1,\n        domain_id2,\n    ],\n    tags={\n        \"key\": \"value\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var osSubnetId = config.RequireObject\u003cdynamic\u003e(\"osSubnetId\");\n    var vpcId = config.RequireObject\u003cdynamic\u003e(\"vpcId\");\n    var domainId1 = config.RequireObject\u003cdynamic\u003e(\"domainId1\");\n    var domainId2 = config.RequireObject\u003cdynamic\u003e(\"domainId2\");\n    var lb1 = new Opentelekomcloud.LbLoadbalancerV2(\"lb_1\", new()\n    {\n        VipSubnetId = osSubnetId,\n    });\n\n    var service = new Opentelekomcloud.VpcepServiceV1(\"service\", new()\n    {\n        Name = \"service_1\",\n        PortId = lb1.VipPortId,\n        VpcId = vpcId,\n        ServerType = \"LB\",\n        Ports = new[]\n        {\n            new Opentelekomcloud.Inputs.VpcepServiceV1PortArgs\n            {\n                ClientPort = 80,\n                ServerPort = 8080,\n            },\n        },\n        Whitelists = new[]\n        {\n            domainId1,\n            domainId2,\n        },\n        Tags = \n        {\n            { \"key\", \"value\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tosSubnetId := cfg.RequireObject(\"osSubnetId\")\n\t\tvpcId := cfg.RequireObject(\"vpcId\")\n\t\tdomainId1 := cfg.RequireObject(\"domainId1\")\n\t\tdomainId2 := cfg.RequireObject(\"domainId2\")\n\t\tlb1, err := opentelekomcloud.NewLbLoadbalancerV2(ctx, \"lb_1\", \u0026opentelekomcloud.LbLoadbalancerV2Args{\n\t\t\tVipSubnetId: pulumi.Any(osSubnetId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewVpcepServiceV1(ctx, \"service\", \u0026opentelekomcloud.VpcepServiceV1Args{\n\t\t\tName:       pulumi.String(\"service_1\"),\n\t\t\tPortId:     lb1.VipPortId,\n\t\t\tVpcId:      pulumi.Any(vpcId),\n\t\t\tServerType: pulumi.String(\"LB\"),\n\t\t\tPorts: opentelekomcloud.VpcepServiceV1PortArray{\n\t\t\t\t\u0026opentelekomcloud.VpcepServiceV1PortArgs{\n\t\t\t\t\tClientPort: pulumi.Float64(80),\n\t\t\t\t\tServerPort: pulumi.Float64(8080),\n\t\t\t\t},\n\t\t\t},\n\t\t\tWhitelists: pulumi.StringArray{\n\t\t\t\tdomainId1,\n\t\t\t\tdomainId2,\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"key\": pulumi.String(\"value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.LbLoadbalancerV2;\nimport com.pulumi.opentelekomcloud.LbLoadbalancerV2Args;\nimport com.pulumi.opentelekomcloud.VpcepServiceV1;\nimport com.pulumi.opentelekomcloud.VpcepServiceV1Args;\nimport com.pulumi.opentelekomcloud.inputs.VpcepServiceV1PortArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var osSubnetId = config.get(\"osSubnetId\");\n        final var vpcId = config.get(\"vpcId\");\n        final var domainId1 = config.get(\"domainId1\");\n        final var domainId2 = config.get(\"domainId2\");\n        var lb1 = new LbLoadbalancerV2(\"lb1\", LbLoadbalancerV2Args.builder()\n            .vipSubnetId(osSubnetId)\n            .build());\n\n        var service = new VpcepServiceV1(\"service\", VpcepServiceV1Args.builder()\n            .name(\"service_1\")\n            .portId(lb1.vipPortId())\n            .vpcId(vpcId)\n            .serverType(\"LB\")\n            .ports(VpcepServiceV1PortArgs.builder()\n                .clientPort(80.0)\n                .serverPort(8080.0)\n                .build())\n            .whitelists(            \n                domainId1,\n                domainId2)\n            .tags(Map.of(\"key\", \"value\"))\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  osSubnetId:\n    type: dynamic\n  vpcId:\n    type: dynamic\n  domainId1:\n    type: dynamic\n  domainId2:\n    type: dynamic\nresources:\n  lb1:\n    type: opentelekomcloud:LbLoadbalancerV2\n    name: lb_1\n    properties:\n      vipSubnetId: ${osSubnetId}\n  service:\n    type: opentelekomcloud:VpcepServiceV1\n    properties:\n      name: service_1\n      portId: ${lb1.vipPortId}\n      vpcId: ${vpcId}\n      serverType: LB\n      ports:\n        - clientPort: 80\n          serverPort: 8080\n      whitelists:\n        - ${domainId1}\n        - ${domainId2}\n      tags:\n        key: value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVPC endpoint service can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/vpcepServiceV1:VpcepServiceV1 service 71ba78a2-d847-4882-8fd0-42c5854c1cbc\n```\n\n","properties":{"approvalEnabled":{"type":"boolean","description":"Specifies whether connection approval is required.\n"},"connections":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FVpcepServiceV1Connection:VpcepServiceV1Connection"},"description":"An array of VPC endpoints connect to the VPC endpoint service. Structure is documented below.\n"},"description":{"type":"string","description":"Specifies the description of the VPC endpoint service.\n"},"name":{"type":"string","description":"Specifies the name of the VPC endpoint service.\nThe value contains a maximum of 16 characters, including letters, digits, underscores (_), and hyphens (-).\n* If you do not specify this parameter, the VPC endpoint service name is in the format: `regionName.serviceId`.\n* If you specify this parameter, the VPC endpoint service name is in the format: `regionName.serviceName.serviceId`.\n"},"poolId":{"type":"string","description":"Specifies the ID of the cluster associated with the target VPCEP resource.\n"},"portId":{"type":"string","description":"Specifies the ID for identifying the backend resource of the VPC endpoint service.\nThe value is as follows:\n* If the backend service is an enhanced load balancer, the value is the ID of the port bound to the private IP address of the load balancer.\n* the backend resource is an ECS, the value is the NIC ID of the ECS where the VPC endpoint service is deployed.\n* the backend resource is a virtual IP address, the value is the NIC ID of the physical server where virtual resources are created.\n"},"ports":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FVpcepServiceV1Port:VpcepServiceV1Port"},"description":"Lists the port mappings opened to the VPC endpoint service. See below for the details.\n"},"serverType":{"type":"string","description":"Specifies the resource type.\n* `VM`: The backend resource is a server.\n* `VIP`: The backend resource is a virtual IP address that functions as a physical server hosting virtual resources.\n* `LB`: The backend resource is an enhanced load balancer.\n"},"serviceType":{"type":"string","description":"Specifies the type of the VPC endpoint service.\nOnly your private services can be configured into interface VPC endpoint services.\n\nThere are two types of VPC endpoint services: \u003cspan pulumi-lang-nodejs=\"`interface`\" pulumi-lang-dotnet=\"`Interface`\" pulumi-lang-go=\"`interface`\" pulumi-lang-python=\"`interface`\" pulumi-lang-yaml=\"`interface`\" pulumi-lang-java=\"`interface`\"\u003e`interface`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`gateway`\" pulumi-lang-dotnet=\"`Gateway`\" pulumi-lang-go=\"`gateway`\" pulumi-lang-python=\"`gateway`\" pulumi-lang-yaml=\"`gateway`\" pulumi-lang-java=\"`gateway`\"\u003e`gateway`\u003c/span\u003e.\n"},"status":{"type":"string","description":"The connection status of the VPC endpoint.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of the resource tags.\n"},"tcpProxy":{"type":"string","description":"Specifies whether the client IP address and port number or \u003cspan pulumi-lang-nodejs=\"`markerId`\" pulumi-lang-dotnet=\"`MarkerId`\" pulumi-lang-go=\"`markerId`\" pulumi-lang-python=\"`marker_id`\" pulumi-lang-yaml=\"`markerId`\" pulumi-lang-java=\"`markerId`\"\u003e`marker_id`\u003c/span\u003e information is\ntransmitted to the server.\nThis parameter is available only when the server can parse fields tcp option and tcp payload.\n\nThe values are as follows:\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FVpcepServiceV1Timeouts:VpcepServiceV1Timeouts"},"vipPortId":{"type":"string","description":"Specifies the ID of the virtual NIC to which the virtual IP address is bound.\n"},"vpcId":{"type":"string","description":"Specifies the ID of the VPC (router) to which the backend resource of the VPC endpoint service belongs.\n"},"vpcepServiceV1Id":{"type":"string","description":"ID of VPC endpoint service\n"},"whitelists":{"type":"array","items":{"type":"string"},"description":"Lists of domain IDs of target users.\n"}},"type":"object","required":["connections","description","name","poolId","portId","ports","serverType","serviceType","status","tags","tcpProxy","vipPortId","vpcId","vpcepServiceV1Id","whitelists"],"inputProperties":{"approvalEnabled":{"type":"boolean","description":"Specifies whether connection approval is required.\n"},"description":{"type":"string","description":"Specifies the description of the VPC endpoint service.\n"},"name":{"type":"string","description":"Specifies the name of the VPC endpoint service.\nThe value contains a maximum of 16 characters, including letters, digits, underscores (_), and hyphens (-).\n* If you do not specify this parameter, the VPC endpoint service name is in the format: `regionName.serviceId`.\n* If you specify this parameter, the VPC endpoint service name is in the format: `regionName.serviceName.serviceId`.\n"},"poolId":{"type":"string","description":"Specifies the ID of the cluster associated with the target VPCEP resource.\n"},"portId":{"type":"string","description":"Specifies the ID for identifying the backend resource of the VPC endpoint service.\nThe value is as follows:\n* If the backend service is an enhanced load balancer, the value is the ID of the port bound to the private IP address of the load balancer.\n* the backend resource is an ECS, the value is the NIC ID of the ECS where the VPC endpoint service is deployed.\n* the backend resource is a virtual IP address, the value is the NIC ID of the physical server where virtual resources are created.\n"},"ports":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FVpcepServiceV1Port:VpcepServiceV1Port"},"description":"Lists the port mappings opened to the VPC endpoint service. See below for the details.\n"},"serverType":{"type":"string","description":"Specifies the resource type.\n* `VM`: The backend resource is a server.\n* `VIP`: The backend resource is a virtual IP address that functions as a physical server hosting virtual resources.\n* `LB`: The backend resource is an enhanced load balancer.\n"},"serviceType":{"type":"string","description":"Specifies the type of the VPC endpoint service.\nOnly your private services can be configured into interface VPC endpoint services.\n\nThere are two types of VPC endpoint services: \u003cspan pulumi-lang-nodejs=\"`interface`\" pulumi-lang-dotnet=\"`Interface`\" pulumi-lang-go=\"`interface`\" pulumi-lang-python=\"`interface`\" pulumi-lang-yaml=\"`interface`\" pulumi-lang-java=\"`interface`\"\u003e`interface`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`gateway`\" pulumi-lang-dotnet=\"`Gateway`\" pulumi-lang-go=\"`gateway`\" pulumi-lang-python=\"`gateway`\" pulumi-lang-yaml=\"`gateway`\" pulumi-lang-java=\"`gateway`\"\u003e`gateway`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of the resource tags.\n"},"tcpProxy":{"type":"string","description":"Specifies whether the client IP address and port number or \u003cspan pulumi-lang-nodejs=\"`markerId`\" pulumi-lang-dotnet=\"`MarkerId`\" pulumi-lang-go=\"`markerId`\" pulumi-lang-python=\"`marker_id`\" pulumi-lang-yaml=\"`markerId`\" pulumi-lang-java=\"`markerId`\"\u003e`marker_id`\u003c/span\u003e information is\ntransmitted to the server.\nThis parameter is available only when the server can parse fields tcp option and tcp payload.\n\nThe values are as follows:\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FVpcepServiceV1Timeouts:VpcepServiceV1Timeouts"},"vipPortId":{"type":"string","description":"Specifies the ID of the virtual NIC to which the virtual IP address is bound.\n"},"vpcId":{"type":"string","description":"Specifies the ID of the VPC (router) to which the backend resource of the VPC endpoint service belongs.\n"},"vpcepServiceV1Id":{"type":"string","description":"ID of VPC endpoint service\n"},"whitelists":{"type":"array","items":{"type":"string"},"description":"Lists of domain IDs of target users.\n"}},"requiredInputs":["portId","ports","serverType","vpcId"],"stateInputs":{"description":"Input properties used for looking up and filtering VpcepServiceV1 resources.\n","properties":{"approvalEnabled":{"type":"boolean","description":"Specifies whether connection approval is required.\n"},"connections":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FVpcepServiceV1Connection:VpcepServiceV1Connection"},"description":"An array of VPC endpoints connect to the VPC endpoint service. Structure is documented below.\n"},"description":{"type":"string","description":"Specifies the description of the VPC endpoint service.\n"},"name":{"type":"string","description":"Specifies the name of the VPC endpoint service.\nThe value contains a maximum of 16 characters, including letters, digits, underscores (_), and hyphens (-).\n* If you do not specify this parameter, the VPC endpoint service name is in the format: `regionName.serviceId`.\n* If you specify this parameter, the VPC endpoint service name is in the format: `regionName.serviceName.serviceId`.\n"},"poolId":{"type":"string","description":"Specifies the ID of the cluster associated with the target VPCEP resource.\n"},"portId":{"type":"string","description":"Specifies the ID for identifying the backend resource of the VPC endpoint service.\nThe value is as follows:\n* If the backend service is an enhanced load balancer, the value is the ID of the port bound to the private IP address of the load balancer.\n* the backend resource is an ECS, the value is the NIC ID of the ECS where the VPC endpoint service is deployed.\n* the backend resource is a virtual IP address, the value is the NIC ID of the physical server where virtual resources are created.\n"},"ports":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FVpcepServiceV1Port:VpcepServiceV1Port"},"description":"Lists the port mappings opened to the VPC endpoint service. See below for the details.\n"},"serverType":{"type":"string","description":"Specifies the resource type.\n* `VM`: The backend resource is a server.\n* `VIP`: The backend resource is a virtual IP address that functions as a physical server hosting virtual resources.\n* `LB`: The backend resource is an enhanced load balancer.\n"},"serviceType":{"type":"string","description":"Specifies the type of the VPC endpoint service.\nOnly your private services can be configured into interface VPC endpoint services.\n\nThere are two types of VPC endpoint services: \u003cspan pulumi-lang-nodejs=\"`interface`\" pulumi-lang-dotnet=\"`Interface`\" pulumi-lang-go=\"`interface`\" pulumi-lang-python=\"`interface`\" pulumi-lang-yaml=\"`interface`\" pulumi-lang-java=\"`interface`\"\u003e`interface`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`gateway`\" pulumi-lang-dotnet=\"`Gateway`\" pulumi-lang-go=\"`gateway`\" pulumi-lang-python=\"`gateway`\" pulumi-lang-yaml=\"`gateway`\" pulumi-lang-java=\"`gateway`\"\u003e`gateway`\u003c/span\u003e.\n"},"status":{"type":"string","description":"The connection status of the VPC endpoint.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of the resource tags.\n"},"tcpProxy":{"type":"string","description":"Specifies whether the client IP address and port number or \u003cspan pulumi-lang-nodejs=\"`markerId`\" pulumi-lang-dotnet=\"`MarkerId`\" pulumi-lang-go=\"`markerId`\" pulumi-lang-python=\"`marker_id`\" pulumi-lang-yaml=\"`markerId`\" pulumi-lang-java=\"`markerId`\"\u003e`marker_id`\u003c/span\u003e information is\ntransmitted to the server.\nThis parameter is available only when the server can parse fields tcp option and tcp payload.\n\nThe values are as follows:\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FVpcepServiceV1Timeouts:VpcepServiceV1Timeouts"},"vipPortId":{"type":"string","description":"Specifies the ID of the virtual NIC to which the virtual IP address is bound.\n"},"vpcId":{"type":"string","description":"Specifies the ID of the VPC (router) to which the backend resource of the VPC endpoint service belongs.\n"},"vpcepServiceV1Id":{"type":"string","description":"ID of VPC endpoint service\n"},"whitelists":{"type":"array","items":{"type":"string"},"description":"Lists of domain IDs of target users.\n"}},"type":"object"}},"opentelekomcloud:index/vpnaasEndpointGroupV2:VpnaasEndpointGroupV2":{"description":"Up-to-date reference of API arguments for VPNAAS endpoint group you can get at\n[documentation portal](https://docs.otc.t-systems.com/virtual-private-network/api-ref/native_openstack_apis/vpn_endpoint_group_management)\n\nManages a V2 Endpoint Group resource within OpenTelekomCloud.\n\n~\u003e\nResource is deprecated for `eu-de` region, use `enterprise vpn` solution instead\n\n## Import\n\nGroups can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/vpnaasEndpointGroupV2:VpnaasEndpointGroupV2 group_1 832cb7f3-59fe-40cf-8f64-8350ffc03272\n```\n\n","properties":{"description":{"type":"string","description":"The human-readable description for the group.\nChanging this updates the description of the existing group.\n"},"endpoints":{"type":"array","items":{"type":"string"},"description":"List of endpoints of the same type, for the endpoint group. The values will depend on the type.\nChanging this creates a new group.\n"},"name":{"type":"string","description":"The name of the group. Changing this updates the name of\nthe existing group.\n"},"region":{"type":"string","description":"The region in which to obtain the V2 Networking client.\nA Networking client is needed to create an endpoint group. If omitted, the\n\u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e argument of the provider is used. Changing this creates a new group.\n"},"tenantId":{"type":"string","description":"The owner of the group. Required if admin wants to\ncreate an endpoint group for another project. Changing this creates a new group.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FVpnaasEndpointGroupV2Timeouts:VpnaasEndpointGroupV2Timeouts"},"type":{"type":"string","description":"The type of the endpoints in the group. A valid value is subnet, cidr, network, router, or vlan.\nChanging this creates a new group.\n"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of additional options.\n"},"vpnaasEndpointGroupV2Id":{"type":"string"}},"type":"object","required":["name","region","tenantId","type","vpnaasEndpointGroupV2Id"],"inputProperties":{"description":{"type":"string","description":"The human-readable description for the group.\nChanging this updates the description of the existing group.\n"},"endpoints":{"type":"array","items":{"type":"string"},"description":"List of endpoints of the same type, for the endpoint group. The values will depend on the type.\nChanging this creates a new group.\n"},"name":{"type":"string","description":"The name of the group. Changing this updates the name of\nthe existing group.\n"},"region":{"type":"string","description":"The region in which to obtain the V2 Networking client.\nA Networking client is needed to create an endpoint group. If omitted, the\n\u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e argument of the provider is used. Changing this creates a new group.\n"},"tenantId":{"type":"string","description":"The owner of the group. Required if admin wants to\ncreate an endpoint group for another project. Changing this creates a new group.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FVpnaasEndpointGroupV2Timeouts:VpnaasEndpointGroupV2Timeouts"},"type":{"type":"string","description":"The type of the endpoints in the group. A valid value is subnet, cidr, network, router, or vlan.\nChanging this creates a new group.\n"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of additional options.\n"},"vpnaasEndpointGroupV2Id":{"type":"string"}},"stateInputs":{"description":"Input properties used for looking up and filtering VpnaasEndpointGroupV2 resources.\n","properties":{"description":{"type":"string","description":"The human-readable description for the group.\nChanging this updates the description of the existing group.\n"},"endpoints":{"type":"array","items":{"type":"string"},"description":"List of endpoints of the same type, for the endpoint group. The values will depend on the type.\nChanging this creates a new group.\n"},"name":{"type":"string","description":"The name of the group. Changing this updates the name of\nthe existing group.\n"},"region":{"type":"string","description":"The region in which to obtain the V2 Networking client.\nA Networking client is needed to create an endpoint group. If omitted, the\n\u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e argument of the provider is used. Changing this creates a new group.\n"},"tenantId":{"type":"string","description":"The owner of the group. Required if admin wants to\ncreate an endpoint group for another project. Changing this creates a new group.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FVpnaasEndpointGroupV2Timeouts:VpnaasEndpointGroupV2Timeouts"},"type":{"type":"string","description":"The type of the endpoints in the group. A valid value is subnet, cidr, network, router, or vlan.\nChanging this creates a new group.\n"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of additional options.\n"},"vpnaasEndpointGroupV2Id":{"type":"string"}},"type":"object"}},"opentelekomcloud:index/vpnaasIkePolicyV2:VpnaasIkePolicyV2":{"description":"Up-to-date reference of API arguments for VPNAAS ike policy you can get at\n[documentation portal](https://docs.otc.t-systems.com/virtual-private-network/api-ref/native_openstack_apis/ike_policy_management)\n\nManages a V2 IKE policy resource within OpenTelekomCloud.\n\n~\u003e\nResource is deprecated for `eu-de` region, use `enterprise vpn` solution instead\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst policy1 = new opentelekomcloud.VpnaasIkePolicyV2(\"policy_1\", {name: \"my_policy\"});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\npolicy1 = opentelekomcloud.VpnaasIkePolicyV2(\"policy_1\", name=\"my_policy\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var policy1 = new Opentelekomcloud.VpnaasIkePolicyV2(\"policy_1\", new()\n    {\n        Name = \"my_policy\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewVpnaasIkePolicyV2(ctx, \"policy_1\", \u0026opentelekomcloud.VpnaasIkePolicyV2Args{\n\t\t\tName: pulumi.String(\"my_policy\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.VpnaasIkePolicyV2;\nimport com.pulumi.opentelekomcloud.VpnaasIkePolicyV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var policy1 = new VpnaasIkePolicyV2(\"policy1\", VpnaasIkePolicyV2Args.builder()\n            .name(\"my_policy\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  policy1:\n    type: opentelekomcloud:VpnaasIkePolicyV2\n    name: policy_1\n    properties:\n      name: my_policy\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nServices can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/vpnaasIkePolicyV2:VpnaasIkePolicyV2 policy_1 832cb7f3-59fe-40cf-8f64-8350ffc03272\n```\n\n","properties":{"authAlgorithm":{"type":"string","description":"The authentication hash algorithm. Valid values are \u003cspan pulumi-lang-nodejs=\"`md5`\" pulumi-lang-dotnet=\"`Md5`\" pulumi-lang-go=\"`md5`\" pulumi-lang-python=\"`md5`\" pulumi-lang-yaml=\"`md5`\" pulumi-lang-java=\"`md5`\"\u003e`md5`\u003c/span\u003e,\n\u003cspan pulumi-lang-nodejs=\"`sha1`\" pulumi-lang-dotnet=\"`Sha1`\" pulumi-lang-go=\"`sha1`\" pulumi-lang-python=\"`sha1`\" pulumi-lang-yaml=\"`sha1`\" pulumi-lang-java=\"`sha1`\"\u003e`sha1`\u003c/span\u003e, `sha2-256`, `sha2-384`, `sha2-512`. Default is \u003cspan pulumi-lang-nodejs=\"`sha1`\" pulumi-lang-dotnet=\"`Sha1`\" pulumi-lang-go=\"`sha1`\" pulumi-lang-python=\"`sha1`\" pulumi-lang-yaml=\"`sha1`\" pulumi-lang-java=\"`sha1`\"\u003e`sha1`\u003c/span\u003e.\n"},"description":{"type":"string","description":"The human-readable description for the policy.\n"},"encryptionAlgorithm":{"type":"string","description":"The encryption algorithm. Valid values are \u003cspan pulumi-lang-nodejs=\"`3des`\" pulumi-lang-dotnet=\"`3des`\" pulumi-lang-go=\"`3des`\" pulumi-lang-python=\"`3des`\" pulumi-lang-yaml=\"`3des`\" pulumi-lang-java=\"`3des`\"\u003e`3des`\u003c/span\u003e, `aes-128`, `aes-192` and so on.\nThe default value is `aes-128`.\n"},"ikeVersion":{"type":"string","description":"The IKE mode. Valid values are \u003cspan pulumi-lang-nodejs=\"`v1`\" pulumi-lang-dotnet=\"`V1`\" pulumi-lang-go=\"`v1`\" pulumi-lang-python=\"`v1`\" pulumi-lang-yaml=\"`v1`\" pulumi-lang-java=\"`v1`\"\u003e`v1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`v2`\" pulumi-lang-dotnet=\"`V2`\" pulumi-lang-go=\"`v2`\" pulumi-lang-python=\"`v2`\" pulumi-lang-yaml=\"`v2`\" pulumi-lang-java=\"`v2`\"\u003e`v2`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`v1`\" pulumi-lang-dotnet=\"`V1`\" pulumi-lang-go=\"`v1`\" pulumi-lang-python=\"`v1`\" pulumi-lang-yaml=\"`v1`\" pulumi-lang-java=\"`v1`\"\u003e`v1`\u003c/span\u003e.\n"},"lifetimes":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FVpnaasIkePolicyV2Lifetime:VpnaasIkePolicyV2Lifetime"},"description":"The lifetime of the security association. Consists of Unit and Value.\n"},"name":{"type":"string","description":"The name of the policy.\n"},"pfs":{"type":"string","description":"The perfect forward secrecy mode. Valid values are \u003cspan pulumi-lang-nodejs=\"`group1`\" pulumi-lang-dotnet=\"`Group1`\" pulumi-lang-go=\"`group1`\" pulumi-lang-python=\"`group1`\" pulumi-lang-yaml=\"`group1`\" pulumi-lang-java=\"`group1`\"\u003e`group1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`group2`\" pulumi-lang-dotnet=\"`Group2`\" pulumi-lang-go=\"`group2`\" pulumi-lang-python=\"`group2`\" pulumi-lang-yaml=\"`group2`\" pulumi-lang-java=\"`group2`\"\u003e`group2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`group5`\" pulumi-lang-dotnet=\"`Group5`\" pulumi-lang-go=\"`group5`\" pulumi-lang-python=\"`group5`\" pulumi-lang-yaml=\"`group5`\" pulumi-lang-java=\"`group5`\"\u003e`group5`\u003c/span\u003e and so on.\nDefault is \u003cspan pulumi-lang-nodejs=\"`group5`\" pulumi-lang-dotnet=\"`Group5`\" pulumi-lang-go=\"`group5`\" pulumi-lang-python=\"`group5`\" pulumi-lang-yaml=\"`group5`\" pulumi-lang-java=\"`group5`\"\u003e`group5`\u003c/span\u003e.\n"},"phase1NegotiationMode":{"type":"string","description":"The IKE mode. Valid values are \u003cspan pulumi-lang-nodejs=\"`main`\" pulumi-lang-dotnet=\"`Main`\" pulumi-lang-go=\"`main`\" pulumi-lang-python=\"`main`\" pulumi-lang-yaml=\"`main`\" pulumi-lang-java=\"`main`\"\u003e`main`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`aggressive`\" pulumi-lang-dotnet=\"`Aggressive`\" pulumi-lang-go=\"`aggressive`\" pulumi-lang-python=\"`aggressive`\" pulumi-lang-yaml=\"`aggressive`\" pulumi-lang-java=\"`aggressive`\"\u003e`aggressive`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`main`\" pulumi-lang-dotnet=\"`Main`\" pulumi-lang-go=\"`main`\" pulumi-lang-python=\"`main`\" pulumi-lang-yaml=\"`main`\" pulumi-lang-java=\"`main`\"\u003e`main`\u003c/span\u003e.\n"},"region":{"type":"string","description":"The region in which to obtain the V2 Networking client.\nA Networking client is needed to create a VPN service. If omitted, the\n\u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e argument of the provider is used. Changing this creates a new service.\n"},"tenantId":{"type":"string","description":"The owner of the policy. Required if admin wants to\ncreate a service for another policy. Changing this creates a new policy.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FVpnaasIkePolicyV2Timeouts:VpnaasIkePolicyV2Timeouts"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of additional options.\n"},"vpnaasIkePolicyV2Id":{"type":"string"}},"type":"object","required":["name","region","tenantId","vpnaasIkePolicyV2Id"],"inputProperties":{"authAlgorithm":{"type":"string","description":"The authentication hash algorithm. Valid values are \u003cspan pulumi-lang-nodejs=\"`md5`\" pulumi-lang-dotnet=\"`Md5`\" pulumi-lang-go=\"`md5`\" pulumi-lang-python=\"`md5`\" pulumi-lang-yaml=\"`md5`\" pulumi-lang-java=\"`md5`\"\u003e`md5`\u003c/span\u003e,\n\u003cspan pulumi-lang-nodejs=\"`sha1`\" pulumi-lang-dotnet=\"`Sha1`\" pulumi-lang-go=\"`sha1`\" pulumi-lang-python=\"`sha1`\" pulumi-lang-yaml=\"`sha1`\" pulumi-lang-java=\"`sha1`\"\u003e`sha1`\u003c/span\u003e, `sha2-256`, `sha2-384`, `sha2-512`. Default is \u003cspan pulumi-lang-nodejs=\"`sha1`\" pulumi-lang-dotnet=\"`Sha1`\" pulumi-lang-go=\"`sha1`\" pulumi-lang-python=\"`sha1`\" pulumi-lang-yaml=\"`sha1`\" pulumi-lang-java=\"`sha1`\"\u003e`sha1`\u003c/span\u003e.\n"},"description":{"type":"string","description":"The human-readable description for the policy.\n"},"encryptionAlgorithm":{"type":"string","description":"The encryption algorithm. Valid values are \u003cspan pulumi-lang-nodejs=\"`3des`\" pulumi-lang-dotnet=\"`3des`\" pulumi-lang-go=\"`3des`\" pulumi-lang-python=\"`3des`\" pulumi-lang-yaml=\"`3des`\" pulumi-lang-java=\"`3des`\"\u003e`3des`\u003c/span\u003e, `aes-128`, `aes-192` and so on.\nThe default value is `aes-128`.\n"},"ikeVersion":{"type":"string","description":"The IKE mode. Valid values are \u003cspan pulumi-lang-nodejs=\"`v1`\" pulumi-lang-dotnet=\"`V1`\" pulumi-lang-go=\"`v1`\" pulumi-lang-python=\"`v1`\" pulumi-lang-yaml=\"`v1`\" pulumi-lang-java=\"`v1`\"\u003e`v1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`v2`\" pulumi-lang-dotnet=\"`V2`\" pulumi-lang-go=\"`v2`\" pulumi-lang-python=\"`v2`\" pulumi-lang-yaml=\"`v2`\" pulumi-lang-java=\"`v2`\"\u003e`v2`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`v1`\" pulumi-lang-dotnet=\"`V1`\" pulumi-lang-go=\"`v1`\" pulumi-lang-python=\"`v1`\" pulumi-lang-yaml=\"`v1`\" pulumi-lang-java=\"`v1`\"\u003e`v1`\u003c/span\u003e.\n"},"lifetimes":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FVpnaasIkePolicyV2Lifetime:VpnaasIkePolicyV2Lifetime"},"description":"The lifetime of the security association. Consists of Unit and Value.\n"},"name":{"type":"string","description":"The name of the policy.\n"},"pfs":{"type":"string","description":"The perfect forward secrecy mode. Valid values are \u003cspan pulumi-lang-nodejs=\"`group1`\" pulumi-lang-dotnet=\"`Group1`\" pulumi-lang-go=\"`group1`\" pulumi-lang-python=\"`group1`\" pulumi-lang-yaml=\"`group1`\" pulumi-lang-java=\"`group1`\"\u003e`group1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`group2`\" pulumi-lang-dotnet=\"`Group2`\" pulumi-lang-go=\"`group2`\" pulumi-lang-python=\"`group2`\" pulumi-lang-yaml=\"`group2`\" pulumi-lang-java=\"`group2`\"\u003e`group2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`group5`\" pulumi-lang-dotnet=\"`Group5`\" pulumi-lang-go=\"`group5`\" pulumi-lang-python=\"`group5`\" pulumi-lang-yaml=\"`group5`\" pulumi-lang-java=\"`group5`\"\u003e`group5`\u003c/span\u003e and so on.\nDefault is \u003cspan pulumi-lang-nodejs=\"`group5`\" pulumi-lang-dotnet=\"`Group5`\" pulumi-lang-go=\"`group5`\" pulumi-lang-python=\"`group5`\" pulumi-lang-yaml=\"`group5`\" pulumi-lang-java=\"`group5`\"\u003e`group5`\u003c/span\u003e.\n"},"phase1NegotiationMode":{"type":"string","description":"The IKE mode. Valid values are \u003cspan pulumi-lang-nodejs=\"`main`\" pulumi-lang-dotnet=\"`Main`\" pulumi-lang-go=\"`main`\" pulumi-lang-python=\"`main`\" pulumi-lang-yaml=\"`main`\" pulumi-lang-java=\"`main`\"\u003e`main`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`aggressive`\" pulumi-lang-dotnet=\"`Aggressive`\" pulumi-lang-go=\"`aggressive`\" pulumi-lang-python=\"`aggressive`\" pulumi-lang-yaml=\"`aggressive`\" pulumi-lang-java=\"`aggressive`\"\u003e`aggressive`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`main`\" pulumi-lang-dotnet=\"`Main`\" pulumi-lang-go=\"`main`\" pulumi-lang-python=\"`main`\" pulumi-lang-yaml=\"`main`\" pulumi-lang-java=\"`main`\"\u003e`main`\u003c/span\u003e.\n"},"region":{"type":"string","description":"The region in which to obtain the V2 Networking client.\nA Networking client is needed to create a VPN service. If omitted, the\n\u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e argument of the provider is used. Changing this creates a new service.\n"},"tenantId":{"type":"string","description":"The owner of the policy. Required if admin wants to\ncreate a service for another policy. Changing this creates a new policy.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FVpnaasIkePolicyV2Timeouts:VpnaasIkePolicyV2Timeouts"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of additional options.\n"},"vpnaasIkePolicyV2Id":{"type":"string"}},"stateInputs":{"description":"Input properties used for looking up and filtering VpnaasIkePolicyV2 resources.\n","properties":{"authAlgorithm":{"type":"string","description":"The authentication hash algorithm. Valid values are \u003cspan pulumi-lang-nodejs=\"`md5`\" pulumi-lang-dotnet=\"`Md5`\" pulumi-lang-go=\"`md5`\" pulumi-lang-python=\"`md5`\" pulumi-lang-yaml=\"`md5`\" pulumi-lang-java=\"`md5`\"\u003e`md5`\u003c/span\u003e,\n\u003cspan pulumi-lang-nodejs=\"`sha1`\" pulumi-lang-dotnet=\"`Sha1`\" pulumi-lang-go=\"`sha1`\" pulumi-lang-python=\"`sha1`\" pulumi-lang-yaml=\"`sha1`\" pulumi-lang-java=\"`sha1`\"\u003e`sha1`\u003c/span\u003e, `sha2-256`, `sha2-384`, `sha2-512`. Default is \u003cspan pulumi-lang-nodejs=\"`sha1`\" pulumi-lang-dotnet=\"`Sha1`\" pulumi-lang-go=\"`sha1`\" pulumi-lang-python=\"`sha1`\" pulumi-lang-yaml=\"`sha1`\" pulumi-lang-java=\"`sha1`\"\u003e`sha1`\u003c/span\u003e.\n"},"description":{"type":"string","description":"The human-readable description for the policy.\n"},"encryptionAlgorithm":{"type":"string","description":"The encryption algorithm. Valid values are \u003cspan pulumi-lang-nodejs=\"`3des`\" pulumi-lang-dotnet=\"`3des`\" pulumi-lang-go=\"`3des`\" pulumi-lang-python=\"`3des`\" pulumi-lang-yaml=\"`3des`\" pulumi-lang-java=\"`3des`\"\u003e`3des`\u003c/span\u003e, `aes-128`, `aes-192` and so on.\nThe default value is `aes-128`.\n"},"ikeVersion":{"type":"string","description":"The IKE mode. Valid values are \u003cspan pulumi-lang-nodejs=\"`v1`\" pulumi-lang-dotnet=\"`V1`\" pulumi-lang-go=\"`v1`\" pulumi-lang-python=\"`v1`\" pulumi-lang-yaml=\"`v1`\" pulumi-lang-java=\"`v1`\"\u003e`v1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`v2`\" pulumi-lang-dotnet=\"`V2`\" pulumi-lang-go=\"`v2`\" pulumi-lang-python=\"`v2`\" pulumi-lang-yaml=\"`v2`\" pulumi-lang-java=\"`v2`\"\u003e`v2`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`v1`\" pulumi-lang-dotnet=\"`V1`\" pulumi-lang-go=\"`v1`\" pulumi-lang-python=\"`v1`\" pulumi-lang-yaml=\"`v1`\" pulumi-lang-java=\"`v1`\"\u003e`v1`\u003c/span\u003e.\n"},"lifetimes":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FVpnaasIkePolicyV2Lifetime:VpnaasIkePolicyV2Lifetime"},"description":"The lifetime of the security association. Consists of Unit and Value.\n"},"name":{"type":"string","description":"The name of the policy.\n"},"pfs":{"type":"string","description":"The perfect forward secrecy mode. Valid values are \u003cspan pulumi-lang-nodejs=\"`group1`\" pulumi-lang-dotnet=\"`Group1`\" pulumi-lang-go=\"`group1`\" pulumi-lang-python=\"`group1`\" pulumi-lang-yaml=\"`group1`\" pulumi-lang-java=\"`group1`\"\u003e`group1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`group2`\" pulumi-lang-dotnet=\"`Group2`\" pulumi-lang-go=\"`group2`\" pulumi-lang-python=\"`group2`\" pulumi-lang-yaml=\"`group2`\" pulumi-lang-java=\"`group2`\"\u003e`group2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`group5`\" pulumi-lang-dotnet=\"`Group5`\" pulumi-lang-go=\"`group5`\" pulumi-lang-python=\"`group5`\" pulumi-lang-yaml=\"`group5`\" pulumi-lang-java=\"`group5`\"\u003e`group5`\u003c/span\u003e and so on.\nDefault is \u003cspan pulumi-lang-nodejs=\"`group5`\" pulumi-lang-dotnet=\"`Group5`\" pulumi-lang-go=\"`group5`\" pulumi-lang-python=\"`group5`\" pulumi-lang-yaml=\"`group5`\" pulumi-lang-java=\"`group5`\"\u003e`group5`\u003c/span\u003e.\n"},"phase1NegotiationMode":{"type":"string","description":"The IKE mode. Valid values are \u003cspan pulumi-lang-nodejs=\"`main`\" pulumi-lang-dotnet=\"`Main`\" pulumi-lang-go=\"`main`\" pulumi-lang-python=\"`main`\" pulumi-lang-yaml=\"`main`\" pulumi-lang-java=\"`main`\"\u003e`main`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`aggressive`\" pulumi-lang-dotnet=\"`Aggressive`\" pulumi-lang-go=\"`aggressive`\" pulumi-lang-python=\"`aggressive`\" pulumi-lang-yaml=\"`aggressive`\" pulumi-lang-java=\"`aggressive`\"\u003e`aggressive`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`main`\" pulumi-lang-dotnet=\"`Main`\" pulumi-lang-go=\"`main`\" pulumi-lang-python=\"`main`\" pulumi-lang-yaml=\"`main`\" pulumi-lang-java=\"`main`\"\u003e`main`\u003c/span\u003e.\n"},"region":{"type":"string","description":"The region in which to obtain the V2 Networking client.\nA Networking client is needed to create a VPN service. If omitted, the\n\u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e argument of the provider is used. Changing this creates a new service.\n"},"tenantId":{"type":"string","description":"The owner of the policy. Required if admin wants to\ncreate a service for another policy. Changing this creates a new policy.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FVpnaasIkePolicyV2Timeouts:VpnaasIkePolicyV2Timeouts"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of additional options.\n"},"vpnaasIkePolicyV2Id":{"type":"string"}},"type":"object"}},"opentelekomcloud:index/vpnaasIpsecPolicyV2:VpnaasIpsecPolicyV2":{"description":"Up-to-date reference of API arguments for VPNAAS ipsec policy you can get at\n[documentation portal](https://docs.otc.t-systems.com/virtual-private-network/api-ref/native_openstack_apis/ipsec_policy_management)\n\nManages a V2 IPSec policy resource within OpenTelekomCloud.\n\n~\u003e\nResource is deprecated for `eu-de` region, use `enterprise vpn` solution instead\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst policy1 = new opentelekomcloud.VpnaasIpsecPolicyV2(\"policy_1\", {name: \"my_policy\"});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\npolicy1 = opentelekomcloud.VpnaasIpsecPolicyV2(\"policy_1\", name=\"my_policy\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var policy1 = new Opentelekomcloud.VpnaasIpsecPolicyV2(\"policy_1\", new()\n    {\n        Name = \"my_policy\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewVpnaasIpsecPolicyV2(ctx, \"policy_1\", \u0026opentelekomcloud.VpnaasIpsecPolicyV2Args{\n\t\t\tName: pulumi.String(\"my_policy\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.VpnaasIpsecPolicyV2;\nimport com.pulumi.opentelekomcloud.VpnaasIpsecPolicyV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var policy1 = new VpnaasIpsecPolicyV2(\"policy1\", VpnaasIpsecPolicyV2Args.builder()\n            .name(\"my_policy\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  policy1:\n    type: opentelekomcloud:VpnaasIpsecPolicyV2\n    name: policy_1\n    properties:\n      name: my_policy\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPolicies can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/vpnaasIpsecPolicyV2:VpnaasIpsecPolicyV2 policy_1 832cb7f3-59fe-40cf-8f64-8350ffc03272\n```\n\n","properties":{"authAlgorithm":{"type":"string","description":"The authentication hash algorithm. Valid values are \u003cspan pulumi-lang-nodejs=\"`md5`\" pulumi-lang-dotnet=\"`Md5`\" pulumi-lang-go=\"`md5`\" pulumi-lang-python=\"`md5`\" pulumi-lang-yaml=\"`md5`\" pulumi-lang-java=\"`md5`\"\u003e`md5`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sha1`\" pulumi-lang-dotnet=\"`Sha1`\" pulumi-lang-go=\"`sha1`\" pulumi-lang-python=\"`sha1`\" pulumi-lang-yaml=\"`sha1`\" pulumi-lang-java=\"`sha1`\"\u003e`sha1`\u003c/span\u003e, `sha2-256`, `sha2-384`, `sha2-512`.\nDefault is \u003cspan pulumi-lang-nodejs=\"`sha1`\" pulumi-lang-dotnet=\"`Sha1`\" pulumi-lang-go=\"`sha1`\" pulumi-lang-python=\"`sha1`\" pulumi-lang-yaml=\"`sha1`\" pulumi-lang-java=\"`sha1`\"\u003e`sha1`\u003c/span\u003e.\n"},"description":{"type":"string","description":"The human-readable description for the policy.\n"},"encapsulationMode":{"type":"string","description":"The encapsulation mode. Default is \u003cspan pulumi-lang-nodejs=\"`tunnel`\" pulumi-lang-dotnet=\"`Tunnel`\" pulumi-lang-go=\"`tunnel`\" pulumi-lang-python=\"`tunnel`\" pulumi-lang-yaml=\"`tunnel`\" pulumi-lang-java=\"`tunnel`\"\u003e`tunnel`\u003c/span\u003e.\n"},"encryptionAlgorithm":{"type":"string","description":"The encryption algorithm. Valid values are \u003cspan pulumi-lang-nodejs=\"`3des`\" pulumi-lang-dotnet=\"`3des`\" pulumi-lang-go=\"`3des`\" pulumi-lang-python=\"`3des`\" pulumi-lang-yaml=\"`3des`\" pulumi-lang-java=\"`3des`\"\u003e`3des`\u003c/span\u003e, `aes-128`, `aes-192` and so on.\nThe default value is `aes-128`.\n"},"lifetimes":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FVpnaasIpsecPolicyV2Lifetime:VpnaasIpsecPolicyV2Lifetime"},"description":"The lifetime of the security association. Consists of Unit and Value.\n"},"name":{"type":"string","description":"The name of the policy.\n"},"pfs":{"type":"string","description":"The perfect forward secrecy mode. Valid values are \u003cspan pulumi-lang-nodejs=\"`group1`\" pulumi-lang-dotnet=\"`Group1`\" pulumi-lang-go=\"`group1`\" pulumi-lang-python=\"`group1`\" pulumi-lang-yaml=\"`group1`\" pulumi-lang-java=\"`group1`\"\u003e`group1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`group2`\" pulumi-lang-dotnet=\"`Group2`\" pulumi-lang-go=\"`group2`\" pulumi-lang-python=\"`group2`\" pulumi-lang-yaml=\"`group2`\" pulumi-lang-java=\"`group2`\"\u003e`group2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`group5`\" pulumi-lang-dotnet=\"`Group5`\" pulumi-lang-go=\"`group5`\" pulumi-lang-python=\"`group5`\" pulumi-lang-yaml=\"`group5`\" pulumi-lang-java=\"`group5`\"\u003e`group5`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`group14`\" pulumi-lang-dotnet=\"`Group14`\" pulumi-lang-go=\"`group14`\" pulumi-lang-python=\"`group14`\" pulumi-lang-yaml=\"`group14`\" pulumi-lang-java=\"`group14`\"\u003e`group14`\u003c/span\u003e,\n\u003cspan pulumi-lang-nodejs=\"`group15`\" pulumi-lang-dotnet=\"`Group15`\" pulumi-lang-go=\"`group15`\" pulumi-lang-python=\"`group15`\" pulumi-lang-yaml=\"`group15`\" pulumi-lang-java=\"`group15`\"\u003e`group15`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`group16`\" pulumi-lang-dotnet=\"`Group16`\" pulumi-lang-go=\"`group16`\" pulumi-lang-python=\"`group16`\" pulumi-lang-yaml=\"`group16`\" pulumi-lang-java=\"`group16`\"\u003e`group16`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`group19`\" pulumi-lang-dotnet=\"`Group19`\" pulumi-lang-go=\"`group19`\" pulumi-lang-python=\"`group19`\" pulumi-lang-yaml=\"`group19`\" pulumi-lang-java=\"`group19`\"\u003e`group19`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`group20`\" pulumi-lang-dotnet=\"`Group20`\" pulumi-lang-go=\"`group20`\" pulumi-lang-python=\"`group20`\" pulumi-lang-yaml=\"`group20`\" pulumi-lang-java=\"`group20`\"\u003e`group20`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`group21`\" pulumi-lang-dotnet=\"`Group21`\" pulumi-lang-go=\"`group21`\" pulumi-lang-python=\"`group21`\" pulumi-lang-yaml=\"`group21`\" pulumi-lang-java=\"`group21`\"\u003e`group21`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`disable`\" pulumi-lang-dotnet=\"`Disable`\" pulumi-lang-go=\"`disable`\" pulumi-lang-python=\"`disable`\" pulumi-lang-yaml=\"`disable`\" pulumi-lang-java=\"`disable`\"\u003e`disable`\u003c/span\u003e Default is \u003cspan pulumi-lang-nodejs=\"`group5`\" pulumi-lang-dotnet=\"`Group5`\" pulumi-lang-go=\"`group5`\" pulumi-lang-python=\"`group5`\" pulumi-lang-yaml=\"`group5`\" pulumi-lang-java=\"`group5`\"\u003e`group5`\u003c/span\u003e.\n"},"region":{"type":"string","description":"The region in which to obtain the V2 Networking client.\nA Networking client is needed to create an IPSec policy. If omitted, the\n\u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e argument of the provider is used. Changing this creates a new policy.\n"},"tenantId":{"type":"string","description":"The owner of the policy. Required if admin wants to\ncreate a policy for another project. Changing this creates a new policy.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FVpnaasIpsecPolicyV2Timeouts:VpnaasIpsecPolicyV2Timeouts"},"transformProtocol":{"type":"string","description":"The transform protocol. Valid values are \u003cspan pulumi-lang-nodejs=\"`esp`\" pulumi-lang-dotnet=\"`Esp`\" pulumi-lang-go=\"`esp`\" pulumi-lang-python=\"`esp`\" pulumi-lang-yaml=\"`esp`\" pulumi-lang-java=\"`esp`\"\u003e`esp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ah`\" pulumi-lang-dotnet=\"`Ah`\" pulumi-lang-go=\"`ah`\" pulumi-lang-python=\"`ah`\" pulumi-lang-yaml=\"`ah`\" pulumi-lang-java=\"`ah`\"\u003e`ah`\u003c/span\u003e and `ah-esp`. Default is \u003cspan pulumi-lang-nodejs=\"`esp`\" pulumi-lang-dotnet=\"`Esp`\" pulumi-lang-go=\"`esp`\" pulumi-lang-python=\"`esp`\" pulumi-lang-yaml=\"`esp`\" pulumi-lang-java=\"`esp`\"\u003e`esp`\u003c/span\u003e.\n"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of additional options.\n"},"vpnaasIpsecPolicyV2Id":{"type":"string"}},"type":"object","required":["authAlgorithm","encapsulationMode","encryptionAlgorithm","name","pfs","region","tenantId","transformProtocol","vpnaasIpsecPolicyV2Id"],"inputProperties":{"authAlgorithm":{"type":"string","description":"The authentication hash algorithm. Valid values are \u003cspan pulumi-lang-nodejs=\"`md5`\" pulumi-lang-dotnet=\"`Md5`\" pulumi-lang-go=\"`md5`\" pulumi-lang-python=\"`md5`\" pulumi-lang-yaml=\"`md5`\" pulumi-lang-java=\"`md5`\"\u003e`md5`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sha1`\" pulumi-lang-dotnet=\"`Sha1`\" pulumi-lang-go=\"`sha1`\" pulumi-lang-python=\"`sha1`\" pulumi-lang-yaml=\"`sha1`\" pulumi-lang-java=\"`sha1`\"\u003e`sha1`\u003c/span\u003e, `sha2-256`, `sha2-384`, `sha2-512`.\nDefault is \u003cspan pulumi-lang-nodejs=\"`sha1`\" pulumi-lang-dotnet=\"`Sha1`\" pulumi-lang-go=\"`sha1`\" pulumi-lang-python=\"`sha1`\" pulumi-lang-yaml=\"`sha1`\" pulumi-lang-java=\"`sha1`\"\u003e`sha1`\u003c/span\u003e.\n"},"description":{"type":"string","description":"The human-readable description for the policy.\n"},"encapsulationMode":{"type":"string","description":"The encapsulation mode. Default is \u003cspan pulumi-lang-nodejs=\"`tunnel`\" pulumi-lang-dotnet=\"`Tunnel`\" pulumi-lang-go=\"`tunnel`\" pulumi-lang-python=\"`tunnel`\" pulumi-lang-yaml=\"`tunnel`\" pulumi-lang-java=\"`tunnel`\"\u003e`tunnel`\u003c/span\u003e.\n"},"encryptionAlgorithm":{"type":"string","description":"The encryption algorithm. Valid values are \u003cspan pulumi-lang-nodejs=\"`3des`\" pulumi-lang-dotnet=\"`3des`\" pulumi-lang-go=\"`3des`\" pulumi-lang-python=\"`3des`\" pulumi-lang-yaml=\"`3des`\" pulumi-lang-java=\"`3des`\"\u003e`3des`\u003c/span\u003e, `aes-128`, `aes-192` and so on.\nThe default value is `aes-128`.\n"},"lifetimes":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FVpnaasIpsecPolicyV2Lifetime:VpnaasIpsecPolicyV2Lifetime"},"description":"The lifetime of the security association. Consists of Unit and Value.\n"},"name":{"type":"string","description":"The name of the policy.\n"},"pfs":{"type":"string","description":"The perfect forward secrecy mode. Valid values are \u003cspan pulumi-lang-nodejs=\"`group1`\" pulumi-lang-dotnet=\"`Group1`\" pulumi-lang-go=\"`group1`\" pulumi-lang-python=\"`group1`\" pulumi-lang-yaml=\"`group1`\" pulumi-lang-java=\"`group1`\"\u003e`group1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`group2`\" pulumi-lang-dotnet=\"`Group2`\" pulumi-lang-go=\"`group2`\" pulumi-lang-python=\"`group2`\" pulumi-lang-yaml=\"`group2`\" pulumi-lang-java=\"`group2`\"\u003e`group2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`group5`\" pulumi-lang-dotnet=\"`Group5`\" pulumi-lang-go=\"`group5`\" pulumi-lang-python=\"`group5`\" pulumi-lang-yaml=\"`group5`\" pulumi-lang-java=\"`group5`\"\u003e`group5`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`group14`\" pulumi-lang-dotnet=\"`Group14`\" pulumi-lang-go=\"`group14`\" pulumi-lang-python=\"`group14`\" pulumi-lang-yaml=\"`group14`\" pulumi-lang-java=\"`group14`\"\u003e`group14`\u003c/span\u003e,\n\u003cspan pulumi-lang-nodejs=\"`group15`\" pulumi-lang-dotnet=\"`Group15`\" pulumi-lang-go=\"`group15`\" pulumi-lang-python=\"`group15`\" pulumi-lang-yaml=\"`group15`\" pulumi-lang-java=\"`group15`\"\u003e`group15`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`group16`\" pulumi-lang-dotnet=\"`Group16`\" pulumi-lang-go=\"`group16`\" pulumi-lang-python=\"`group16`\" pulumi-lang-yaml=\"`group16`\" pulumi-lang-java=\"`group16`\"\u003e`group16`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`group19`\" pulumi-lang-dotnet=\"`Group19`\" pulumi-lang-go=\"`group19`\" pulumi-lang-python=\"`group19`\" pulumi-lang-yaml=\"`group19`\" pulumi-lang-java=\"`group19`\"\u003e`group19`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`group20`\" pulumi-lang-dotnet=\"`Group20`\" pulumi-lang-go=\"`group20`\" pulumi-lang-python=\"`group20`\" pulumi-lang-yaml=\"`group20`\" pulumi-lang-java=\"`group20`\"\u003e`group20`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`group21`\" pulumi-lang-dotnet=\"`Group21`\" pulumi-lang-go=\"`group21`\" pulumi-lang-python=\"`group21`\" pulumi-lang-yaml=\"`group21`\" pulumi-lang-java=\"`group21`\"\u003e`group21`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`disable`\" pulumi-lang-dotnet=\"`Disable`\" pulumi-lang-go=\"`disable`\" pulumi-lang-python=\"`disable`\" pulumi-lang-yaml=\"`disable`\" pulumi-lang-java=\"`disable`\"\u003e`disable`\u003c/span\u003e Default is \u003cspan pulumi-lang-nodejs=\"`group5`\" pulumi-lang-dotnet=\"`Group5`\" pulumi-lang-go=\"`group5`\" pulumi-lang-python=\"`group5`\" pulumi-lang-yaml=\"`group5`\" pulumi-lang-java=\"`group5`\"\u003e`group5`\u003c/span\u003e.\n"},"region":{"type":"string","description":"The region in which to obtain the V2 Networking client.\nA Networking client is needed to create an IPSec policy. If omitted, the\n\u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e argument of the provider is used. Changing this creates a new policy.\n"},"tenantId":{"type":"string","description":"The owner of the policy. Required if admin wants to\ncreate a policy for another project. Changing this creates a new policy.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FVpnaasIpsecPolicyV2Timeouts:VpnaasIpsecPolicyV2Timeouts"},"transformProtocol":{"type":"string","description":"The transform protocol. Valid values are \u003cspan pulumi-lang-nodejs=\"`esp`\" pulumi-lang-dotnet=\"`Esp`\" pulumi-lang-go=\"`esp`\" pulumi-lang-python=\"`esp`\" pulumi-lang-yaml=\"`esp`\" pulumi-lang-java=\"`esp`\"\u003e`esp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ah`\" pulumi-lang-dotnet=\"`Ah`\" pulumi-lang-go=\"`ah`\" pulumi-lang-python=\"`ah`\" pulumi-lang-yaml=\"`ah`\" pulumi-lang-java=\"`ah`\"\u003e`ah`\u003c/span\u003e and `ah-esp`. Default is \u003cspan pulumi-lang-nodejs=\"`esp`\" pulumi-lang-dotnet=\"`Esp`\" pulumi-lang-go=\"`esp`\" pulumi-lang-python=\"`esp`\" pulumi-lang-yaml=\"`esp`\" pulumi-lang-java=\"`esp`\"\u003e`esp`\u003c/span\u003e.\n"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of additional options.\n"},"vpnaasIpsecPolicyV2Id":{"type":"string"}},"stateInputs":{"description":"Input properties used for looking up and filtering VpnaasIpsecPolicyV2 resources.\n","properties":{"authAlgorithm":{"type":"string","description":"The authentication hash algorithm. Valid values are \u003cspan pulumi-lang-nodejs=\"`md5`\" pulumi-lang-dotnet=\"`Md5`\" pulumi-lang-go=\"`md5`\" pulumi-lang-python=\"`md5`\" pulumi-lang-yaml=\"`md5`\" pulumi-lang-java=\"`md5`\"\u003e`md5`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sha1`\" pulumi-lang-dotnet=\"`Sha1`\" pulumi-lang-go=\"`sha1`\" pulumi-lang-python=\"`sha1`\" pulumi-lang-yaml=\"`sha1`\" pulumi-lang-java=\"`sha1`\"\u003e`sha1`\u003c/span\u003e, `sha2-256`, `sha2-384`, `sha2-512`.\nDefault is \u003cspan pulumi-lang-nodejs=\"`sha1`\" pulumi-lang-dotnet=\"`Sha1`\" pulumi-lang-go=\"`sha1`\" pulumi-lang-python=\"`sha1`\" pulumi-lang-yaml=\"`sha1`\" pulumi-lang-java=\"`sha1`\"\u003e`sha1`\u003c/span\u003e.\n"},"description":{"type":"string","description":"The human-readable description for the policy.\n"},"encapsulationMode":{"type":"string","description":"The encapsulation mode. Default is \u003cspan pulumi-lang-nodejs=\"`tunnel`\" pulumi-lang-dotnet=\"`Tunnel`\" pulumi-lang-go=\"`tunnel`\" pulumi-lang-python=\"`tunnel`\" pulumi-lang-yaml=\"`tunnel`\" pulumi-lang-java=\"`tunnel`\"\u003e`tunnel`\u003c/span\u003e.\n"},"encryptionAlgorithm":{"type":"string","description":"The encryption algorithm. Valid values are \u003cspan pulumi-lang-nodejs=\"`3des`\" pulumi-lang-dotnet=\"`3des`\" pulumi-lang-go=\"`3des`\" pulumi-lang-python=\"`3des`\" pulumi-lang-yaml=\"`3des`\" pulumi-lang-java=\"`3des`\"\u003e`3des`\u003c/span\u003e, `aes-128`, `aes-192` and so on.\nThe default value is `aes-128`.\n"},"lifetimes":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FVpnaasIpsecPolicyV2Lifetime:VpnaasIpsecPolicyV2Lifetime"},"description":"The lifetime of the security association. Consists of Unit and Value.\n"},"name":{"type":"string","description":"The name of the policy.\n"},"pfs":{"type":"string","description":"The perfect forward secrecy mode. Valid values are \u003cspan pulumi-lang-nodejs=\"`group1`\" pulumi-lang-dotnet=\"`Group1`\" pulumi-lang-go=\"`group1`\" pulumi-lang-python=\"`group1`\" pulumi-lang-yaml=\"`group1`\" pulumi-lang-java=\"`group1`\"\u003e`group1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`group2`\" pulumi-lang-dotnet=\"`Group2`\" pulumi-lang-go=\"`group2`\" pulumi-lang-python=\"`group2`\" pulumi-lang-yaml=\"`group2`\" pulumi-lang-java=\"`group2`\"\u003e`group2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`group5`\" pulumi-lang-dotnet=\"`Group5`\" pulumi-lang-go=\"`group5`\" pulumi-lang-python=\"`group5`\" pulumi-lang-yaml=\"`group5`\" pulumi-lang-java=\"`group5`\"\u003e`group5`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`group14`\" pulumi-lang-dotnet=\"`Group14`\" pulumi-lang-go=\"`group14`\" pulumi-lang-python=\"`group14`\" pulumi-lang-yaml=\"`group14`\" pulumi-lang-java=\"`group14`\"\u003e`group14`\u003c/span\u003e,\n\u003cspan pulumi-lang-nodejs=\"`group15`\" pulumi-lang-dotnet=\"`Group15`\" pulumi-lang-go=\"`group15`\" pulumi-lang-python=\"`group15`\" pulumi-lang-yaml=\"`group15`\" pulumi-lang-java=\"`group15`\"\u003e`group15`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`group16`\" pulumi-lang-dotnet=\"`Group16`\" pulumi-lang-go=\"`group16`\" pulumi-lang-python=\"`group16`\" pulumi-lang-yaml=\"`group16`\" pulumi-lang-java=\"`group16`\"\u003e`group16`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`group19`\" pulumi-lang-dotnet=\"`Group19`\" pulumi-lang-go=\"`group19`\" pulumi-lang-python=\"`group19`\" pulumi-lang-yaml=\"`group19`\" pulumi-lang-java=\"`group19`\"\u003e`group19`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`group20`\" pulumi-lang-dotnet=\"`Group20`\" pulumi-lang-go=\"`group20`\" pulumi-lang-python=\"`group20`\" pulumi-lang-yaml=\"`group20`\" pulumi-lang-java=\"`group20`\"\u003e`group20`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`group21`\" pulumi-lang-dotnet=\"`Group21`\" pulumi-lang-go=\"`group21`\" pulumi-lang-python=\"`group21`\" pulumi-lang-yaml=\"`group21`\" pulumi-lang-java=\"`group21`\"\u003e`group21`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`disable`\" pulumi-lang-dotnet=\"`Disable`\" pulumi-lang-go=\"`disable`\" pulumi-lang-python=\"`disable`\" pulumi-lang-yaml=\"`disable`\" pulumi-lang-java=\"`disable`\"\u003e`disable`\u003c/span\u003e Default is \u003cspan pulumi-lang-nodejs=\"`group5`\" pulumi-lang-dotnet=\"`Group5`\" pulumi-lang-go=\"`group5`\" pulumi-lang-python=\"`group5`\" pulumi-lang-yaml=\"`group5`\" pulumi-lang-java=\"`group5`\"\u003e`group5`\u003c/span\u003e.\n"},"region":{"type":"string","description":"The region in which to obtain the V2 Networking client.\nA Networking client is needed to create an IPSec policy. If omitted, the\n\u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e argument of the provider is used. Changing this creates a new policy.\n"},"tenantId":{"type":"string","description":"The owner of the policy. Required if admin wants to\ncreate a policy for another project. Changing this creates a new policy.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FVpnaasIpsecPolicyV2Timeouts:VpnaasIpsecPolicyV2Timeouts"},"transformProtocol":{"type":"string","description":"The transform protocol. Valid values are \u003cspan pulumi-lang-nodejs=\"`esp`\" pulumi-lang-dotnet=\"`Esp`\" pulumi-lang-go=\"`esp`\" pulumi-lang-python=\"`esp`\" pulumi-lang-yaml=\"`esp`\" pulumi-lang-java=\"`esp`\"\u003e`esp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ah`\" pulumi-lang-dotnet=\"`Ah`\" pulumi-lang-go=\"`ah`\" pulumi-lang-python=\"`ah`\" pulumi-lang-yaml=\"`ah`\" pulumi-lang-java=\"`ah`\"\u003e`ah`\u003c/span\u003e and `ah-esp`. Default is \u003cspan pulumi-lang-nodejs=\"`esp`\" pulumi-lang-dotnet=\"`Esp`\" pulumi-lang-go=\"`esp`\" pulumi-lang-python=\"`esp`\" pulumi-lang-yaml=\"`esp`\" pulumi-lang-java=\"`esp`\"\u003e`esp`\u003c/span\u003e.\n"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of additional options.\n"},"vpnaasIpsecPolicyV2Id":{"type":"string"}},"type":"object"}},"opentelekomcloud:index/vpnaasServiceV2:VpnaasServiceV2":{"description":"Up-to-date reference of API arguments for VPNAAS service you can get at\n[documentation portal](https://docs.otc.t-systems.com/virtual-private-network/api-ref/native_openstack_apis/vpn_service_managemen)\n\nManages a V2 VPN service resource within OpenTelekomCloud.\n\n~\u003e\nResource is deprecated for `eu-de` region, use `enterprise vpn` solution instead\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst service1 = new opentelekomcloud.VpnaasServiceV2(\"service_1\", {\n    name: \"my_service\",\n    routerId: \"14a75700-fc03-4602-9294-26ee44f366b3\",\n    adminStateUp: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nservice1 = opentelekomcloud.VpnaasServiceV2(\"service_1\",\n    name=\"my_service\",\n    router_id=\"14a75700-fc03-4602-9294-26ee44f366b3\",\n    admin_state_up=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var service1 = new Opentelekomcloud.VpnaasServiceV2(\"service_1\", new()\n    {\n        Name = \"my_service\",\n        RouterId = \"14a75700-fc03-4602-9294-26ee44f366b3\",\n        AdminStateUp = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewVpnaasServiceV2(ctx, \"service_1\", \u0026opentelekomcloud.VpnaasServiceV2Args{\n\t\t\tName:         pulumi.String(\"my_service\"),\n\t\t\tRouterId:     pulumi.String(\"14a75700-fc03-4602-9294-26ee44f366b3\"),\n\t\t\tAdminStateUp: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.VpnaasServiceV2;\nimport com.pulumi.opentelekomcloud.VpnaasServiceV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var service1 = new VpnaasServiceV2(\"service1\", VpnaasServiceV2Args.builder()\n            .name(\"my_service\")\n            .routerId(\"14a75700-fc03-4602-9294-26ee44f366b3\")\n            .adminStateUp(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  service1:\n    type: opentelekomcloud:VpnaasServiceV2\n    name: service_1\n    properties:\n      name: my_service\n      routerId: 14a75700-fc03-4602-9294-26ee44f366b3\n      adminStateUp: 'true'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nServices can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/vpnaasServiceV2:VpnaasServiceV2 service_1 832cb7f3-59fe-40cf-8f64-8350ffc03272\n```\n\n","properties":{"adminStateUp":{"type":"boolean","description":"The administrative state of the resource. Can either be true (Up) or false (Down).\nChanging this updates the administrative state of the existing service.\n"},"description":{"type":"string","description":"The human-readable description for the service.\nChanging this updates the description of the existing service.\n"},"externalV4Ip":{"type":"string","description":"The read-only external (public) IPv4 address that is used for the VPN service.\n"},"externalV6Ip":{"type":"string","description":"The read-only external (public) IPv6 address that is used for the VPN service.\n"},"name":{"type":"string","description":"The name of the service. Changing this updates the name of\nthe existing service.\n"},"region":{"type":"string","description":"The region in which to obtain the V2 Networking client.\nA Networking client is needed to create a VPN service. If omitted, the\n\u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e argument of the provider is used. Changing this creates a new service.\n"},"routerId":{"type":"string","description":"The ID of the router. Changing this creates a new service.\n"},"status":{"type":"string","description":"Indicates whether IPsec VPN service is currently operational. Values are `ACTIVE`,\n`DOWN`, `BUILD`, `ERROR`, `PENDING_CREATE`, `PENDING_UPDATE` or `PENDING_DELETE`.\n"},"subnetId":{"type":"string","description":"SubnetID is the ID of the subnet. Default is \u003cspan pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\"\u003e`null`\u003c/span\u003e.\n"},"tenantId":{"type":"string","description":"The owner of the service. Required if admin wants to\ncreate a service for another project. Changing this creates a new service.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FVpnaasServiceV2Timeouts:VpnaasServiceV2Timeouts"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of additional options.\n"},"vpnaasServiceV2Id":{"type":"string"}},"type":"object","required":["externalV4Ip","externalV6Ip","name","region","routerId","status","tenantId","vpnaasServiceV2Id"],"inputProperties":{"adminStateUp":{"type":"boolean","description":"The administrative state of the resource. Can either be true (Up) or false (Down).\nChanging this updates the administrative state of the existing service.\n"},"description":{"type":"string","description":"The human-readable description for the service.\nChanging this updates the description of the existing service.\n"},"name":{"type":"string","description":"The name of the service. Changing this updates the name of\nthe existing service.\n"},"region":{"type":"string","description":"The region in which to obtain the V2 Networking client.\nA Networking client is needed to create a VPN service. If omitted, the\n\u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e argument of the provider is used. Changing this creates a new service.\n"},"routerId":{"type":"string","description":"The ID of the router. Changing this creates a new service.\n"},"subnetId":{"type":"string","description":"SubnetID is the ID of the subnet. Default is \u003cspan pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\"\u003e`null`\u003c/span\u003e.\n"},"tenantId":{"type":"string","description":"The owner of the service. Required if admin wants to\ncreate a service for another project. Changing this creates a new service.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FVpnaasServiceV2Timeouts:VpnaasServiceV2Timeouts"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of additional options.\n"},"vpnaasServiceV2Id":{"type":"string"}},"requiredInputs":["routerId"],"stateInputs":{"description":"Input properties used for looking up and filtering VpnaasServiceV2 resources.\n","properties":{"adminStateUp":{"type":"boolean","description":"The administrative state of the resource. Can either be true (Up) or false (Down).\nChanging this updates the administrative state of the existing service.\n"},"description":{"type":"string","description":"The human-readable description for the service.\nChanging this updates the description of the existing service.\n"},"externalV4Ip":{"type":"string","description":"The read-only external (public) IPv4 address that is used for the VPN service.\n"},"externalV6Ip":{"type":"string","description":"The read-only external (public) IPv6 address that is used for the VPN service.\n"},"name":{"type":"string","description":"The name of the service. Changing this updates the name of\nthe existing service.\n"},"region":{"type":"string","description":"The region in which to obtain the V2 Networking client.\nA Networking client is needed to create a VPN service. If omitted, the\n\u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e argument of the provider is used. Changing this creates a new service.\n"},"routerId":{"type":"string","description":"The ID of the router. Changing this creates a new service.\n"},"status":{"type":"string","description":"Indicates whether IPsec VPN service is currently operational. Values are `ACTIVE`,\n`DOWN`, `BUILD`, `ERROR`, `PENDING_CREATE`, `PENDING_UPDATE` or `PENDING_DELETE`.\n"},"subnetId":{"type":"string","description":"SubnetID is the ID of the subnet. Default is \u003cspan pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\"\u003e`null`\u003c/span\u003e.\n"},"tenantId":{"type":"string","description":"The owner of the service. Required if admin wants to\ncreate a service for another project. Changing this creates a new service.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FVpnaasServiceV2Timeouts:VpnaasServiceV2Timeouts"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of additional options.\n"},"vpnaasServiceV2Id":{"type":"string"}},"type":"object"}},"opentelekomcloud:index/vpnaasSiteConnectionV2:VpnaasSiteConnectionV2":{"description":"Up-to-date reference of API arguments for VPNAAS site connection you can get at\n[documentation portal](https://docs.otc.t-systems.com/virtual-private-network/api-ref/native_openstack_apis/ipsec_connection_management)\n\nManages a V2 site connection resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst conn1 = new opentelekomcloud.VpnaasSiteConnectionV2(\"conn_1\", {\n    name: \"connection_1\",\n    ikepolicyId: policy2.id,\n    ipsecpolicyId: policy1.id,\n    vpnserviceId: service1.id,\n    psk: \"secret\",\n    peerAddress: \"192.168.10.1\",\n    peerId: \"192.168.10.1\",\n    localEpGroupId: group2.id,\n    peerEpGroupId: group1.id,\n    tags: {\n        foo: \"bar\",\n        key: \"value\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconn1 = opentelekomcloud.VpnaasSiteConnectionV2(\"conn_1\",\n    name=\"connection_1\",\n    ikepolicy_id=policy2[\"id\"],\n    ipsecpolicy_id=policy1[\"id\"],\n    vpnservice_id=service1[\"id\"],\n    psk=\"secret\",\n    peer_address=\"192.168.10.1\",\n    peer_id=\"192.168.10.1\",\n    local_ep_group_id=group2[\"id\"],\n    peer_ep_group_id=group1[\"id\"],\n    tags={\n        \"foo\": \"bar\",\n        \"key\": \"value\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var conn1 = new Opentelekomcloud.VpnaasSiteConnectionV2(\"conn_1\", new()\n    {\n        Name = \"connection_1\",\n        IkepolicyId = policy2.Id,\n        IpsecpolicyId = policy1.Id,\n        VpnserviceId = service1.Id,\n        Psk = \"secret\",\n        PeerAddress = \"192.168.10.1\",\n        PeerId = \"192.168.10.1\",\n        LocalEpGroupId = group2.Id,\n        PeerEpGroupId = group1.Id,\n        Tags = \n        {\n            { \"foo\", \"bar\" },\n            { \"key\", \"value\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewVpnaasSiteConnectionV2(ctx, \"conn_1\", \u0026opentelekomcloud.VpnaasSiteConnectionV2Args{\n\t\t\tName:           pulumi.String(\"connection_1\"),\n\t\t\tIkepolicyId:    pulumi.Any(policy2.Id),\n\t\t\tIpsecpolicyId:  pulumi.Any(policy1.Id),\n\t\t\tVpnserviceId:   pulumi.Any(service1.Id),\n\t\t\tPsk:            pulumi.String(\"secret\"),\n\t\t\tPeerAddress:    pulumi.String(\"192.168.10.1\"),\n\t\t\tPeerId:         pulumi.String(\"192.168.10.1\"),\n\t\t\tLocalEpGroupId: pulumi.Any(group2.Id),\n\t\t\tPeerEpGroupId:  pulumi.Any(group1.Id),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t\t\"key\": pulumi.String(\"value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.VpnaasSiteConnectionV2;\nimport com.pulumi.opentelekomcloud.VpnaasSiteConnectionV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var conn1 = new VpnaasSiteConnectionV2(\"conn1\", VpnaasSiteConnectionV2Args.builder()\n            .name(\"connection_1\")\n            .ikepolicyId(policy2.id())\n            .ipsecpolicyId(policy1.id())\n            .vpnserviceId(service1.id())\n            .psk(\"secret\")\n            .peerAddress(\"192.168.10.1\")\n            .peerId(\"192.168.10.1\")\n            .localEpGroupId(group2.id())\n            .peerEpGroupId(group1.id())\n            .tags(Map.ofEntries(\n                Map.entry(\"foo\", \"bar\"),\n                Map.entry(\"key\", \"value\")\n            ))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  conn1:\n    type: opentelekomcloud:VpnaasSiteConnectionV2\n    name: conn_1\n    properties:\n      name: connection_1\n      ikepolicyId: ${policy2.id}\n      ipsecpolicyId: ${policy1.id}\n      vpnserviceId: ${service1.id}\n      psk: secret\n      peerAddress: 192.168.10.1\n      peerId: 192.168.10.1\n      localEpGroupId: ${group2.id}\n      peerEpGroupId: ${group1.id}\n      tags:\n        foo: bar\n        key: value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSite Connections can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/vpnaasSiteConnectionV2:VpnaasSiteConnectionV2 conn_1 832cb7f3-59fe-40cf-8f64-8350ffc03272\n```\n\n","properties":{"adminStateUp":{"type":"boolean","description":"The administrative state of the resource. Can either be up(\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e) or\ndown(\u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e). Changing this updates the administrative state of the existing connection.\n"},"description":{"type":"string","description":"The human-readable description for the connection.\nChanging this updates the description of the existing connection.\n"},"dpds":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FVpnaasSiteConnectionV2Dpd:VpnaasSiteConnectionV2Dpd"},"description":"A dictionary with dead peer detection (DPD) protocol controls.\n"},"ikepolicyId":{"type":"string","description":"The ID of the IKE policy. Changing this creates a new connection.\n"},"initiator":{"type":"string","description":"A valid value is `response-only` or `bi-directional`.\n"},"ipsecpolicyId":{"type":"string","description":"The ID of the IPsec policy. Changing this creates a new connection.\n"},"localEpGroupId":{"type":"string","description":"The ID for the endpoint group that contains private subnets for the\nlocal side of the connection. You must specify this parameter with the \u003cspan pulumi-lang-nodejs=\"`peerEpGroupId`\" pulumi-lang-dotnet=\"`PeerEpGroupId`\" pulumi-lang-go=\"`peerEpGroupId`\" pulumi-lang-python=\"`peer_ep_group_id`\" pulumi-lang-yaml=\"`peerEpGroupId`\" pulumi-lang-java=\"`peerEpGroupId`\"\u003e`peer_ep_group_id`\u003c/span\u003e parameter unless\nin backward-compatible mode where \u003cspan pulumi-lang-nodejs=\"`peerCidrs`\" pulumi-lang-dotnet=\"`PeerCidrs`\" pulumi-lang-go=\"`peerCidrs`\" pulumi-lang-python=\"`peer_cidrs`\" pulumi-lang-yaml=\"`peerCidrs`\" pulumi-lang-java=\"`peerCidrs`\"\u003e`peer_cidrs`\u003c/span\u003e is provided with a \u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003e for the VPN service.\nChanging this updates the existing connection.\n"},"localId":{"type":"string","description":"An ID to be used instead of the external IP address for a virtual router used in\ntraffic between instances on different networks in east-west traffic. Most often, local ID would be domain name,\nemail address, etc. If this is not configured then the external IP address will be used as the ID.\n"},"mtu":{"type":"number","description":"The maximum transmission unit (MTU) value to address fragmentation.\nMinimum value is 68 for IPv4, and 1280 for IPv6.\n"},"name":{"type":"string","description":"The name of the connection. Changing this updates the name of\nthe existing connection.\n"},"peerAddress":{"type":"string","description":"The peer gateway public IPv4 or IPv6 address or FQDN.\n"},"peerCidrs":{"type":"array","items":{"type":"string"},"description":"Unique list of valid peer private CIDRs in the form \u003cnet_address\u003e/\u003cprefix\u003e.\n"},"peerEpGroupId":{"type":"string","description":"The ID for the endpoint group that contains private CIDRs in the form\n\u003cnet_address\u003e/\u003cprefix\u003e for the peer side of the connection. You must specify this parameter with the\n\u003cspan pulumi-lang-nodejs=\"`localEpGroupId`\" pulumi-lang-dotnet=\"`LocalEpGroupId`\" pulumi-lang-go=\"`localEpGroupId`\" pulumi-lang-python=\"`local_ep_group_id`\" pulumi-lang-yaml=\"`localEpGroupId`\" pulumi-lang-java=\"`localEpGroupId`\"\u003e`local_ep_group_id`\u003c/span\u003e parameter unless in backward-compatible mode where \u003cspan pulumi-lang-nodejs=\"`peerCidrs`\" pulumi-lang-dotnet=\"`PeerCidrs`\" pulumi-lang-go=\"`peerCidrs`\" pulumi-lang-python=\"`peer_cidrs`\" pulumi-lang-yaml=\"`peerCidrs`\" pulumi-lang-java=\"`peerCidrs`\"\u003e`peer_cidrs`\u003c/span\u003e is provided\nwith a \u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003e for the VPN service.\n"},"peerId":{"type":"string","description":"The peer router identity for authentication. A valid value is an IPv4 address,\nIPv6 address, e-mail address, key ID, or FQDN. Typically, this value matches the\u003cspan pulumi-lang-nodejs=\" peerAddress \" pulumi-lang-dotnet=\" PeerAddress \" pulumi-lang-go=\" peerAddress \" pulumi-lang-python=\" peer_address \" pulumi-lang-yaml=\" peerAddress \" pulumi-lang-java=\" peerAddress \"\u003e peer_address \u003c/span\u003evalue.\nChanging this updates the existing policy.\n"},"psk":{"type":"string","description":"The pre-shared key. A PSK can contain 6 to 128 characters. Spaces and the following special characters are not allowed: `\u003c\u003e\u0026?*'\"`.\n"},"region":{"type":"string","description":"The region in which to obtain the V2 Networking client.\nA Networking client is needed to create an IPSec site connection. If omitted, the\n\u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e argument of the provider is used. Changing this creates a new site connection.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"The key/value pairs to associate with the connection.\n"},"tenantId":{"type":"string","description":"The owner of the connection. Required if admin wants to\ncreate a connection for another project. Changing this creates a new connection.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FVpnaasSiteConnectionV2Timeouts:VpnaasSiteConnectionV2Timeouts"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of additional options.\n"},"vpnaasSiteConnectionV2Id":{"type":"string"},"vpnserviceId":{"type":"string","description":"The ID of the VPN service. Changing this creates a new connection.\n"}},"type":"object","required":["ikepolicyId","initiator","ipsecpolicyId","mtu","name","peerAddress","peerId","psk","region","tenantId","vpnaasSiteConnectionV2Id","vpnserviceId"],"inputProperties":{"adminStateUp":{"type":"boolean","description":"The administrative state of the resource. Can either be up(\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e) or\ndown(\u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e). Changing this updates the administrative state of the existing connection.\n"},"description":{"type":"string","description":"The human-readable description for the connection.\nChanging this updates the description of the existing connection.\n"},"dpds":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FVpnaasSiteConnectionV2Dpd:VpnaasSiteConnectionV2Dpd"},"description":"A dictionary with dead peer detection (DPD) protocol controls.\n"},"ikepolicyId":{"type":"string","description":"The ID of the IKE policy. Changing this creates a new connection.\n"},"initiator":{"type":"string","description":"A valid value is `response-only` or `bi-directional`.\n"},"ipsecpolicyId":{"type":"string","description":"The ID of the IPsec policy. Changing this creates a new connection.\n"},"localEpGroupId":{"type":"string","description":"The ID for the endpoint group that contains private subnets for the\nlocal side of the connection. You must specify this parameter with the \u003cspan pulumi-lang-nodejs=\"`peerEpGroupId`\" pulumi-lang-dotnet=\"`PeerEpGroupId`\" pulumi-lang-go=\"`peerEpGroupId`\" pulumi-lang-python=\"`peer_ep_group_id`\" pulumi-lang-yaml=\"`peerEpGroupId`\" pulumi-lang-java=\"`peerEpGroupId`\"\u003e`peer_ep_group_id`\u003c/span\u003e parameter unless\nin backward-compatible mode where \u003cspan pulumi-lang-nodejs=\"`peerCidrs`\" pulumi-lang-dotnet=\"`PeerCidrs`\" pulumi-lang-go=\"`peerCidrs`\" pulumi-lang-python=\"`peer_cidrs`\" pulumi-lang-yaml=\"`peerCidrs`\" pulumi-lang-java=\"`peerCidrs`\"\u003e`peer_cidrs`\u003c/span\u003e is provided with a \u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003e for the VPN service.\nChanging this updates the existing connection.\n"},"localId":{"type":"string","description":"An ID to be used instead of the external IP address for a virtual router used in\ntraffic between instances on different networks in east-west traffic. Most often, local ID would be domain name,\nemail address, etc. If this is not configured then the external IP address will be used as the ID.\n"},"mtu":{"type":"number","description":"The maximum transmission unit (MTU) value to address fragmentation.\nMinimum value is 68 for IPv4, and 1280 for IPv6.\n"},"name":{"type":"string","description":"The name of the connection. Changing this updates the name of\nthe existing connection.\n"},"peerAddress":{"type":"string","description":"The peer gateway public IPv4 or IPv6 address or FQDN.\n"},"peerCidrs":{"type":"array","items":{"type":"string"},"description":"Unique list of valid peer private CIDRs in the form \u003cnet_address\u003e/\u003cprefix\u003e.\n"},"peerEpGroupId":{"type":"string","description":"The ID for the endpoint group that contains private CIDRs in the form\n\u003cnet_address\u003e/\u003cprefix\u003e for the peer side of the connection. You must specify this parameter with the\n\u003cspan pulumi-lang-nodejs=\"`localEpGroupId`\" pulumi-lang-dotnet=\"`LocalEpGroupId`\" pulumi-lang-go=\"`localEpGroupId`\" pulumi-lang-python=\"`local_ep_group_id`\" pulumi-lang-yaml=\"`localEpGroupId`\" pulumi-lang-java=\"`localEpGroupId`\"\u003e`local_ep_group_id`\u003c/span\u003e parameter unless in backward-compatible mode where \u003cspan pulumi-lang-nodejs=\"`peerCidrs`\" pulumi-lang-dotnet=\"`PeerCidrs`\" pulumi-lang-go=\"`peerCidrs`\" pulumi-lang-python=\"`peer_cidrs`\" pulumi-lang-yaml=\"`peerCidrs`\" pulumi-lang-java=\"`peerCidrs`\"\u003e`peer_cidrs`\u003c/span\u003e is provided\nwith a \u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003e for the VPN service.\n"},"peerId":{"type":"string","description":"The peer router identity for authentication. A valid value is an IPv4 address,\nIPv6 address, e-mail address, key ID, or FQDN. Typically, this value matches the\u003cspan pulumi-lang-nodejs=\" peerAddress \" pulumi-lang-dotnet=\" PeerAddress \" pulumi-lang-go=\" peerAddress \" pulumi-lang-python=\" peer_address \" pulumi-lang-yaml=\" peerAddress \" pulumi-lang-java=\" peerAddress \"\u003e peer_address \u003c/span\u003evalue.\nChanging this updates the existing policy.\n"},"psk":{"type":"string","description":"The pre-shared key. A PSK can contain 6 to 128 characters. Spaces and the following special characters are not allowed: `\u003c\u003e\u0026?*'\"`.\n"},"region":{"type":"string","description":"The region in which to obtain the V2 Networking client.\nA Networking client is needed to create an IPSec site connection. If omitted, the\n\u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e argument of the provider is used. Changing this creates a new site connection.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"The key/value pairs to associate with the connection.\n"},"tenantId":{"type":"string","description":"The owner of the connection. Required if admin wants to\ncreate a connection for another project. Changing this creates a new connection.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FVpnaasSiteConnectionV2Timeouts:VpnaasSiteConnectionV2Timeouts"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of additional options.\n"},"vpnaasSiteConnectionV2Id":{"type":"string"},"vpnserviceId":{"type":"string","description":"The ID of the VPN service. Changing this creates a new connection.\n"}},"requiredInputs":["ikepolicyId","ipsecpolicyId","peerAddress","peerId","psk","vpnserviceId"],"stateInputs":{"description":"Input properties used for looking up and filtering VpnaasSiteConnectionV2 resources.\n","properties":{"adminStateUp":{"type":"boolean","description":"The administrative state of the resource. Can either be up(\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e) or\ndown(\u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e). Changing this updates the administrative state of the existing connection.\n"},"description":{"type":"string","description":"The human-readable description for the connection.\nChanging this updates the description of the existing connection.\n"},"dpds":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FVpnaasSiteConnectionV2Dpd:VpnaasSiteConnectionV2Dpd"},"description":"A dictionary with dead peer detection (DPD) protocol controls.\n"},"ikepolicyId":{"type":"string","description":"The ID of the IKE policy. Changing this creates a new connection.\n"},"initiator":{"type":"string","description":"A valid value is `response-only` or `bi-directional`.\n"},"ipsecpolicyId":{"type":"string","description":"The ID of the IPsec policy. Changing this creates a new connection.\n"},"localEpGroupId":{"type":"string","description":"The ID for the endpoint group that contains private subnets for the\nlocal side of the connection. You must specify this parameter with the \u003cspan pulumi-lang-nodejs=\"`peerEpGroupId`\" pulumi-lang-dotnet=\"`PeerEpGroupId`\" pulumi-lang-go=\"`peerEpGroupId`\" pulumi-lang-python=\"`peer_ep_group_id`\" pulumi-lang-yaml=\"`peerEpGroupId`\" pulumi-lang-java=\"`peerEpGroupId`\"\u003e`peer_ep_group_id`\u003c/span\u003e parameter unless\nin backward-compatible mode where \u003cspan pulumi-lang-nodejs=\"`peerCidrs`\" pulumi-lang-dotnet=\"`PeerCidrs`\" pulumi-lang-go=\"`peerCidrs`\" pulumi-lang-python=\"`peer_cidrs`\" pulumi-lang-yaml=\"`peerCidrs`\" pulumi-lang-java=\"`peerCidrs`\"\u003e`peer_cidrs`\u003c/span\u003e is provided with a \u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003e for the VPN service.\nChanging this updates the existing connection.\n"},"localId":{"type":"string","description":"An ID to be used instead of the external IP address for a virtual router used in\ntraffic between instances on different networks in east-west traffic. Most often, local ID would be domain name,\nemail address, etc. If this is not configured then the external IP address will be used as the ID.\n"},"mtu":{"type":"number","description":"The maximum transmission unit (MTU) value to address fragmentation.\nMinimum value is 68 for IPv4, and 1280 for IPv6.\n"},"name":{"type":"string","description":"The name of the connection. Changing this updates the name of\nthe existing connection.\n"},"peerAddress":{"type":"string","description":"The peer gateway public IPv4 or IPv6 address or FQDN.\n"},"peerCidrs":{"type":"array","items":{"type":"string"},"description":"Unique list of valid peer private CIDRs in the form \u003cnet_address\u003e/\u003cprefix\u003e.\n"},"peerEpGroupId":{"type":"string","description":"The ID for the endpoint group that contains private CIDRs in the form\n\u003cnet_address\u003e/\u003cprefix\u003e for the peer side of the connection. You must specify this parameter with the\n\u003cspan pulumi-lang-nodejs=\"`localEpGroupId`\" pulumi-lang-dotnet=\"`LocalEpGroupId`\" pulumi-lang-go=\"`localEpGroupId`\" pulumi-lang-python=\"`local_ep_group_id`\" pulumi-lang-yaml=\"`localEpGroupId`\" pulumi-lang-java=\"`localEpGroupId`\"\u003e`local_ep_group_id`\u003c/span\u003e parameter unless in backward-compatible mode where \u003cspan pulumi-lang-nodejs=\"`peerCidrs`\" pulumi-lang-dotnet=\"`PeerCidrs`\" pulumi-lang-go=\"`peerCidrs`\" pulumi-lang-python=\"`peer_cidrs`\" pulumi-lang-yaml=\"`peerCidrs`\" pulumi-lang-java=\"`peerCidrs`\"\u003e`peer_cidrs`\u003c/span\u003e is provided\nwith a \u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003e for the VPN service.\n"},"peerId":{"type":"string","description":"The peer router identity for authentication. A valid value is an IPv4 address,\nIPv6 address, e-mail address, key ID, or FQDN. Typically, this value matches the\u003cspan pulumi-lang-nodejs=\" peerAddress \" pulumi-lang-dotnet=\" PeerAddress \" pulumi-lang-go=\" peerAddress \" pulumi-lang-python=\" peer_address \" pulumi-lang-yaml=\" peerAddress \" pulumi-lang-java=\" peerAddress \"\u003e peer_address \u003c/span\u003evalue.\nChanging this updates the existing policy.\n"},"psk":{"type":"string","description":"The pre-shared key. A PSK can contain 6 to 128 characters. Spaces and the following special characters are not allowed: `\u003c\u003e\u0026?*'\"`.\n"},"region":{"type":"string","description":"The region in which to obtain the V2 Networking client.\nA Networking client is needed to create an IPSec site connection. If omitted, the\n\u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e argument of the provider is used. Changing this creates a new site connection.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"The key/value pairs to associate with the connection.\n"},"tenantId":{"type":"string","description":"The owner of the connection. Required if admin wants to\ncreate a connection for another project. Changing this creates a new connection.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FVpnaasSiteConnectionV2Timeouts:VpnaasSiteConnectionV2Timeouts"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of additional options.\n"},"vpnaasSiteConnectionV2Id":{"type":"string"},"vpnserviceId":{"type":"string","description":"The ID of the VPN service. Changing this creates a new connection.\n"}},"type":"object"}},"opentelekomcloud:index/wafAlarmNotificationV1:WafAlarmNotificationV1":{"description":"Up-to-date reference of API arguments for WAF alarm notification you can get at\n[documentation portal](https://docs.otc.t-systems.com/web-application-firewall/api-ref/apis/alarm_notification)\n\nManages a WAF alarm notification resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst topic1 = new opentelekomcloud.SmnTopicV2(\"topic_1\", {name: \"topic_alarm\"});\nconst notification1 = new opentelekomcloud.WafAlarmNotificationV1(\"notification_1\", {\n    enabled: true,\n    topicUrn: topic1.smnTopicV2Id,\n    sendFrequency: 30,\n    times: 200,\n    threats: [\n        \"cc\",\n        \"cmdi\",\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ntopic1 = opentelekomcloud.SmnTopicV2(\"topic_1\", name=\"topic_alarm\")\nnotification1 = opentelekomcloud.WafAlarmNotificationV1(\"notification_1\",\n    enabled=True,\n    topic_urn=topic1.smn_topic_v2_id,\n    send_frequency=30,\n    times=200,\n    threats=[\n        \"cc\",\n        \"cmdi\",\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var topic1 = new Opentelekomcloud.SmnTopicV2(\"topic_1\", new()\n    {\n        Name = \"topic_alarm\",\n    });\n\n    var notification1 = new Opentelekomcloud.WafAlarmNotificationV1(\"notification_1\", new()\n    {\n        Enabled = true,\n        TopicUrn = topic1.SmnTopicV2Id,\n        SendFrequency = 30,\n        Times = 200,\n        Threats = new[]\n        {\n            \"cc\",\n            \"cmdi\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttopic1, err := opentelekomcloud.NewSmnTopicV2(ctx, \"topic_1\", \u0026opentelekomcloud.SmnTopicV2Args{\n\t\t\tName: pulumi.String(\"topic_alarm\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewWafAlarmNotificationV1(ctx, \"notification_1\", \u0026opentelekomcloud.WafAlarmNotificationV1Args{\n\t\t\tEnabled:       pulumi.Bool(true),\n\t\t\tTopicUrn:      topic1.SmnTopicV2Id,\n\t\t\tSendFrequency: pulumi.Float64(30),\n\t\t\tTimes:         pulumi.Float64(200),\n\t\t\tThreats: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"cc\"),\n\t\t\t\tpulumi.String(\"cmdi\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.SmnTopicV2;\nimport com.pulumi.opentelekomcloud.SmnTopicV2Args;\nimport com.pulumi.opentelekomcloud.WafAlarmNotificationV1;\nimport com.pulumi.opentelekomcloud.WafAlarmNotificationV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var topic1 = new SmnTopicV2(\"topic1\", SmnTopicV2Args.builder()\n            .name(\"topic_alarm\")\n            .build());\n\n        var notification1 = new WafAlarmNotificationV1(\"notification1\", WafAlarmNotificationV1Args.builder()\n            .enabled(true)\n            .topicUrn(topic1.smnTopicV2Id())\n            .sendFrequency(30.0)\n            .times(200.0)\n            .threats(            \n                \"cc\",\n                \"cmdi\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  topic1:\n    type: opentelekomcloud:SmnTopicV2\n    name: topic_1\n    properties:\n      name: topic_alarm\n  notification1:\n    type: opentelekomcloud:WafAlarmNotificationV1\n    name: notification_1\n    properties:\n      enabled: true\n      topicUrn: ${topic1.smnTopicV2Id}\n      sendFrequency: 30\n      times: 200\n      threats:\n        - cc\n        - cmdi\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"enabled":{"type":"boolean","description":"Specifies whether to send an alarm notification. The options are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"locale":{"type":"string"},"sendFrequency":{"type":"number","description":"Specifies the minimum interval between two alarms in minutes.\nThe options are \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`15`\" pulumi-lang-dotnet=\"`15`\" pulumi-lang-go=\"`15`\" pulumi-lang-python=\"`15`\" pulumi-lang-yaml=\"`15`\" pulumi-lang-java=\"`15`\"\u003e`15`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e.\n"},"threats":{"type":"array","items":{"type":"string"},"description":"Specifies the list of event types. Possible values are:\n"},"times":{"type":"number","description":"Specifies the alarm threshold. Alarm notifications are sent when the\nnumber of attacks is greater than or equal to the threshold within the configured period.\nThis value is greater than or equal to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"topicUrn":{"type":"string","description":"Specifies the SMN topic to which an alarm is sent.\n\n\u003e The selected topic must be a topic whose subscription information has been configured.\n"},"wafAlarmNotificationV1Id":{"type":"string"}},"type":"object","required":["enabled","locale","sendFrequency","threats","times","topicUrn","wafAlarmNotificationV1Id"],"inputProperties":{"enabled":{"type":"boolean","description":"Specifies whether to send an alarm notification. The options are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"locale":{"type":"string"},"sendFrequency":{"type":"number","description":"Specifies the minimum interval between two alarms in minutes.\nThe options are \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`15`\" pulumi-lang-dotnet=\"`15`\" pulumi-lang-go=\"`15`\" pulumi-lang-python=\"`15`\" pulumi-lang-yaml=\"`15`\" pulumi-lang-java=\"`15`\"\u003e`15`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e.\n"},"threats":{"type":"array","items":{"type":"string"},"description":"Specifies the list of event types. Possible values are:\n"},"times":{"type":"number","description":"Specifies the alarm threshold. Alarm notifications are sent when the\nnumber of attacks is greater than or equal to the threshold within the configured period.\nThis value is greater than or equal to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"topicUrn":{"type":"string","description":"Specifies the SMN topic to which an alarm is sent.\n\n\u003e The selected topic must be a topic whose subscription information has been configured.\n"},"wafAlarmNotificationV1Id":{"type":"string"}},"requiredInputs":["enabled","sendFrequency","threats","times","topicUrn"],"stateInputs":{"description":"Input properties used for looking up and filtering WafAlarmNotificationV1 resources.\n","properties":{"enabled":{"type":"boolean","description":"Specifies whether to send an alarm notification. The options are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"locale":{"type":"string"},"sendFrequency":{"type":"number","description":"Specifies the minimum interval between two alarms in minutes.\nThe options are \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`15`\" pulumi-lang-dotnet=\"`15`\" pulumi-lang-go=\"`15`\" pulumi-lang-python=\"`15`\" pulumi-lang-yaml=\"`15`\" pulumi-lang-java=\"`15`\"\u003e`15`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e.\n"},"threats":{"type":"array","items":{"type":"string"},"description":"Specifies the list of event types. Possible values are:\n"},"times":{"type":"number","description":"Specifies the alarm threshold. Alarm notifications are sent when the\nnumber of attacks is greater than or equal to the threshold within the configured period.\nThis value is greater than or equal to \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"topicUrn":{"type":"string","description":"Specifies the SMN topic to which an alarm is sent.\n\n\u003e The selected topic must be a topic whose subscription information has been configured.\n"},"wafAlarmNotificationV1Id":{"type":"string"}},"type":"object"}},"opentelekomcloud:index/wafCcattackprotectionRuleV1:WafCcattackprotectionRuleV1":{"description":"Up-to-date reference of API arguments for WAF CC attack protection rule you can get at\n[documentation portal](https://docs.otc.t-systems.com/web-application-firewall/api-ref/apis/cc_attack_protection_rules)\n\nManages a WAF CC Attack Protection Rule resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst policy1 = new opentelekomcloud.WafPolicyV1(\"policy_1\", {name: \"policy_1\"});\nconst rule1 = new opentelekomcloud.WafCcattackprotectionRuleV1(\"rule_1\", {\n    policyId: policy1.wafPolicyV1Id,\n    url: \"/abc1\",\n    limitNum: 10,\n    limitPeriod: 60,\n    lockTime: 10,\n    tagType: \"cookie\",\n    tagIndex: \"sessionid\",\n    actionCategory: \"block\",\n    blockContentType: \"application/json\",\n    blockContent: \"{\\\"error\\\":\\\"forbidden\\\"}\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\npolicy1 = opentelekomcloud.WafPolicyV1(\"policy_1\", name=\"policy_1\")\nrule1 = opentelekomcloud.WafCcattackprotectionRuleV1(\"rule_1\",\n    policy_id=policy1.waf_policy_v1_id,\n    url=\"/abc1\",\n    limit_num=10,\n    limit_period=60,\n    lock_time=10,\n    tag_type=\"cookie\",\n    tag_index=\"sessionid\",\n    action_category=\"block\",\n    block_content_type=\"application/json\",\n    block_content=\"{\\\"error\\\":\\\"forbidden\\\"}\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var policy1 = new Opentelekomcloud.WafPolicyV1(\"policy_1\", new()\n    {\n        Name = \"policy_1\",\n    });\n\n    var rule1 = new Opentelekomcloud.WafCcattackprotectionRuleV1(\"rule_1\", new()\n    {\n        PolicyId = policy1.WafPolicyV1Id,\n        Url = \"/abc1\",\n        LimitNum = 10,\n        LimitPeriod = 60,\n        LockTime = 10,\n        TagType = \"cookie\",\n        TagIndex = \"sessionid\",\n        ActionCategory = \"block\",\n        BlockContentType = \"application/json\",\n        BlockContent = \"{\\\"error\\\":\\\"forbidden\\\"}\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpolicy1, err := opentelekomcloud.NewWafPolicyV1(ctx, \"policy_1\", \u0026opentelekomcloud.WafPolicyV1Args{\n\t\t\tName: pulumi.String(\"policy_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewWafCcattackprotectionRuleV1(ctx, \"rule_1\", \u0026opentelekomcloud.WafCcattackprotectionRuleV1Args{\n\t\t\tPolicyId:         policy1.WafPolicyV1Id,\n\t\t\tUrl:              pulumi.String(\"/abc1\"),\n\t\t\tLimitNum:         pulumi.Float64(10),\n\t\t\tLimitPeriod:      pulumi.Float64(60),\n\t\t\tLockTime:         pulumi.Float64(10),\n\t\t\tTagType:          pulumi.String(\"cookie\"),\n\t\t\tTagIndex:         pulumi.String(\"sessionid\"),\n\t\t\tActionCategory:   pulumi.String(\"block\"),\n\t\t\tBlockContentType: pulumi.String(\"application/json\"),\n\t\t\tBlockContent:     pulumi.String(\"{\\\"error\\\":\\\"forbidden\\\"}\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.WafPolicyV1;\nimport com.pulumi.opentelekomcloud.WafPolicyV1Args;\nimport com.pulumi.opentelekomcloud.WafCcattackprotectionRuleV1;\nimport com.pulumi.opentelekomcloud.WafCcattackprotectionRuleV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var policy1 = new WafPolicyV1(\"policy1\", WafPolicyV1Args.builder()\n            .name(\"policy_1\")\n            .build());\n\n        var rule1 = new WafCcattackprotectionRuleV1(\"rule1\", WafCcattackprotectionRuleV1Args.builder()\n            .policyId(policy1.wafPolicyV1Id())\n            .url(\"/abc1\")\n            .limitNum(10.0)\n            .limitPeriod(60.0)\n            .lockTime(10.0)\n            .tagType(\"cookie\")\n            .tagIndex(\"sessionid\")\n            .actionCategory(\"block\")\n            .blockContentType(\"application/json\")\n            .blockContent(\"{\\\"error\\\":\\\"forbidden\\\"}\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  policy1:\n    type: opentelekomcloud:WafPolicyV1\n    name: policy_1\n    properties:\n      name: policy_1\n  rule1:\n    type: opentelekomcloud:WafCcattackprotectionRuleV1\n    name: rule_1\n    properties:\n      policyId: ${policy1.wafPolicyV1Id}\n      url: /abc1\n      limitNum: 10\n      limitPeriod: 60\n      lockTime: 10\n      tagType: cookie\n      tagIndex: sessionid\n      actionCategory: block\n      blockContentType: application/json\n      blockContent: '{\"error\":\"forbidden\"}'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCC Attack Protection Rules can be imported using `policy_id/id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/wafCcattackprotectionRuleV1:WafCcattackprotectionRuleV1 rule_1 ff95e71c8ae74eba9887193ab22c5757/b39f3a5a1b4f447a8030f0b0703f47f5\n```\n\n","properties":{"actionCategory":{"type":"string","description":"Specifies the action. Changing this creates a new rule. Valid Options are:\n"},"blockContent":{"type":"string","description":"Specifies the content of the returned page. Changing this creates a new rule.\n"},"blockContentType":{"type":"string","description":"Specifies the type of the returned page. The options are `application/json`, `text/html`, and `text/xml`. Changing this creates a new rule.\n"},"default":{"type":"boolean","description":"Specifies whether the rule is the default CC attack protection rule.\n"},"limitNum":{"type":"number","description":"Specifies the number of requests allowed from a web visitor in a rate limiting period. Changing this creates a new rule.\n"},"limitPeriod":{"type":"number","description":"Specifies the rate limiting period. Changing this creates a new rule.\n"},"lockTime":{"type":"number","description":"Specifies the lock duration. The value ranges from 0 seconds to 2^32 seconds. Changing this creates a new rule.\n"},"policyId":{"type":"string","description":"The WAF policy ID. Changing this creates a new rule.\n"},"tagCategory":{"type":"string","description":"Specifies the category. The value is \u003cspan pulumi-lang-nodejs=\"`referer`\" pulumi-lang-dotnet=\"`Referer`\" pulumi-lang-go=\"`referer`\" pulumi-lang-python=\"`referer`\" pulumi-lang-yaml=\"`referer`\" pulumi-lang-java=\"`referer`\"\u003e`referer`\u003c/span\u003e. Changing this creates a new rule.\n"},"tagContents":{"type":"array","items":{"type":"string"},"description":"Specifies the category content. Changing this creates a new rule.\n"},"tagIndex":{"type":"string","description":"If \u003cspan pulumi-lang-nodejs=\"`tagType`\" pulumi-lang-dotnet=\"`TagType`\" pulumi-lang-go=\"`tagType`\" pulumi-lang-python=\"`tag_type`\" pulumi-lang-yaml=\"`tagType`\" pulumi-lang-java=\"`tagType`\"\u003e`tag_type`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`cookie`\" pulumi-lang-dotnet=\"`Cookie`\" pulumi-lang-go=\"`cookie`\" pulumi-lang-python=\"`cookie`\" pulumi-lang-yaml=\"`cookie`\" pulumi-lang-java=\"`cookie`\"\u003e`cookie`\u003c/span\u003e, this parameter indicates cookie name. Changing this creates a new rule.\n"},"tagType":{"type":"string","description":"Specifies the rate limit mode. Changing this creates a new rule. Valid Options are:\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FWafCcattackprotectionRuleV1Timeouts:WafCcattackprotectionRuleV1Timeouts"},"url":{"type":"string","description":"Specifies a misreported URL excluding a domain name. Changing this creates a new rule.\n"},"wafCcattackprotectionRuleV1Id":{"type":"string","description":"ID of the rule.\n"}},"type":"object","required":["actionCategory","default","limitNum","limitPeriod","policyId","tagType","url","wafCcattackprotectionRuleV1Id"],"inputProperties":{"actionCategory":{"type":"string","description":"Specifies the action. Changing this creates a new rule. Valid Options are:\n"},"blockContent":{"type":"string","description":"Specifies the content of the returned page. Changing this creates a new rule.\n"},"blockContentType":{"type":"string","description":"Specifies the type of the returned page. The options are `application/json`, `text/html`, and `text/xml`. Changing this creates a new rule.\n"},"limitNum":{"type":"number","description":"Specifies the number of requests allowed from a web visitor in a rate limiting period. Changing this creates a new rule.\n"},"limitPeriod":{"type":"number","description":"Specifies the rate limiting period. Changing this creates a new rule.\n"},"lockTime":{"type":"number","description":"Specifies the lock duration. The value ranges from 0 seconds to 2^32 seconds. Changing this creates a new rule.\n"},"policyId":{"type":"string","description":"The WAF policy ID. Changing this creates a new rule.\n"},"tagCategory":{"type":"string","description":"Specifies the category. The value is \u003cspan pulumi-lang-nodejs=\"`referer`\" pulumi-lang-dotnet=\"`Referer`\" pulumi-lang-go=\"`referer`\" pulumi-lang-python=\"`referer`\" pulumi-lang-yaml=\"`referer`\" pulumi-lang-java=\"`referer`\"\u003e`referer`\u003c/span\u003e. Changing this creates a new rule.\n"},"tagContents":{"type":"array","items":{"type":"string"},"description":"Specifies the category content. Changing this creates a new rule.\n"},"tagIndex":{"type":"string","description":"If \u003cspan pulumi-lang-nodejs=\"`tagType`\" pulumi-lang-dotnet=\"`TagType`\" pulumi-lang-go=\"`tagType`\" pulumi-lang-python=\"`tag_type`\" pulumi-lang-yaml=\"`tagType`\" pulumi-lang-java=\"`tagType`\"\u003e`tag_type`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`cookie`\" pulumi-lang-dotnet=\"`Cookie`\" pulumi-lang-go=\"`cookie`\" pulumi-lang-python=\"`cookie`\" pulumi-lang-yaml=\"`cookie`\" pulumi-lang-java=\"`cookie`\"\u003e`cookie`\u003c/span\u003e, this parameter indicates cookie name. Changing this creates a new rule.\n"},"tagType":{"type":"string","description":"Specifies the rate limit mode. Changing this creates a new rule. Valid Options are:\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FWafCcattackprotectionRuleV1Timeouts:WafCcattackprotectionRuleV1Timeouts"},"url":{"type":"string","description":"Specifies a misreported URL excluding a domain name. Changing this creates a new rule.\n"},"wafCcattackprotectionRuleV1Id":{"type":"string","description":"ID of the rule.\n"}},"requiredInputs":["actionCategory","limitNum","limitPeriod","policyId","tagType","url"],"stateInputs":{"description":"Input properties used for looking up and filtering WafCcattackprotectionRuleV1 resources.\n","properties":{"actionCategory":{"type":"string","description":"Specifies the action. Changing this creates a new rule. Valid Options are:\n"},"blockContent":{"type":"string","description":"Specifies the content of the returned page. Changing this creates a new rule.\n"},"blockContentType":{"type":"string","description":"Specifies the type of the returned page. The options are `application/json`, `text/html`, and `text/xml`. Changing this creates a new rule.\n"},"default":{"type":"boolean","description":"Specifies whether the rule is the default CC attack protection rule.\n"},"limitNum":{"type":"number","description":"Specifies the number of requests allowed from a web visitor in a rate limiting period. Changing this creates a new rule.\n"},"limitPeriod":{"type":"number","description":"Specifies the rate limiting period. Changing this creates a new rule.\n"},"lockTime":{"type":"number","description":"Specifies the lock duration. The value ranges from 0 seconds to 2^32 seconds. Changing this creates a new rule.\n"},"policyId":{"type":"string","description":"The WAF policy ID. Changing this creates a new rule.\n"},"tagCategory":{"type":"string","description":"Specifies the category. The value is \u003cspan pulumi-lang-nodejs=\"`referer`\" pulumi-lang-dotnet=\"`Referer`\" pulumi-lang-go=\"`referer`\" pulumi-lang-python=\"`referer`\" pulumi-lang-yaml=\"`referer`\" pulumi-lang-java=\"`referer`\"\u003e`referer`\u003c/span\u003e. Changing this creates a new rule.\n"},"tagContents":{"type":"array","items":{"type":"string"},"description":"Specifies the category content. Changing this creates a new rule.\n"},"tagIndex":{"type":"string","description":"If \u003cspan pulumi-lang-nodejs=\"`tagType`\" pulumi-lang-dotnet=\"`TagType`\" pulumi-lang-go=\"`tagType`\" pulumi-lang-python=\"`tag_type`\" pulumi-lang-yaml=\"`tagType`\" pulumi-lang-java=\"`tagType`\"\u003e`tag_type`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`cookie`\" pulumi-lang-dotnet=\"`Cookie`\" pulumi-lang-go=\"`cookie`\" pulumi-lang-python=\"`cookie`\" pulumi-lang-yaml=\"`cookie`\" pulumi-lang-java=\"`cookie`\"\u003e`cookie`\u003c/span\u003e, this parameter indicates cookie name. Changing this creates a new rule.\n"},"tagType":{"type":"string","description":"Specifies the rate limit mode. Changing this creates a new rule. Valid Options are:\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FWafCcattackprotectionRuleV1Timeouts:WafCcattackprotectionRuleV1Timeouts"},"url":{"type":"string","description":"Specifies a misreported URL excluding a domain name. Changing this creates a new rule.\n"},"wafCcattackprotectionRuleV1Id":{"type":"string","description":"ID of the rule.\n"}},"type":"object"}},"opentelekomcloud:index/wafCertificateV1:WafCertificateV1":{"description":"Up-to-date reference of API arguments for WAF certificate you can get at\n[documentation portal](https://docs.otc.t-systems.com/web-application-firewall/api-ref/apis/certificate_management)\n\nManages a WAF certificate resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst certificate1 = new opentelekomcloud.WafCertificateV1(\"certificate_1\", {\n    name: \"cert_1\",\n    content: `-----BEGIN CERTIFICATE-----\nMIIFazCCA1OgAwIBAgIUN3w1KX8/T/HWVxZIOdHXPhUOnsAwDQYJKoZIhvcNAQEL\nBQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM\n...\ndKvZbPEsygYRIjwyhHHUh/YXH8KDI/uu6u6AxDckQ3rP1BkkKXr5NPBGjVgM3ZI=\n-----END CERTIFICATE-----\n`,\n    key: `-----BEGIN PRIVATE KEY-----\nMIIJQQIBADANBgkqhkiG9w0BAQEFAASCCSswggknAgEAAoICAQC+9uwFVenCdPD9\n5LWSWMuy4riZW718wxBpYV5Y9N8nM7N0qZLLdpImZrzBbaBldTI+AZGI3Nupuurw\n...\ns9urs/Kk/tbQhsEvu0X8FyGwo0zH6rG8apTFTlac+v4mJ4vlpxSvT5+FW2lgLISE\n+4sM7kp0qO3/p+45HykwBY5iHq3H\n-----END PRIVATE KEY-----\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ncertificate1 = opentelekomcloud.WafCertificateV1(\"certificate_1\",\n    name=\"cert_1\",\n    content=\"\"\"-----BEGIN CERTIFICATE-----\nMIIFazCCA1OgAwIBAgIUN3w1KX8/T/HWVxZIOdHXPhUOnsAwDQYJKoZIhvcNAQEL\nBQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM\n...\ndKvZbPEsygYRIjwyhHHUh/YXH8KDI/uu6u6AxDckQ3rP1BkkKXr5NPBGjVgM3ZI=\n-----END CERTIFICATE-----\n\"\"\",\n    key=\"\"\"-----BEGIN PRIVATE KEY-----\nMIIJQQIBADANBgkqhkiG9w0BAQEFAASCCSswggknAgEAAoICAQC+9uwFVenCdPD9\n5LWSWMuy4riZW718wxBpYV5Y9N8nM7N0qZLLdpImZrzBbaBldTI+AZGI3Nupuurw\n...\ns9urs/Kk/tbQhsEvu0X8FyGwo0zH6rG8apTFTlac+v4mJ4vlpxSvT5+FW2lgLISE\n+4sM7kp0qO3/p+45HykwBY5iHq3H\n-----END PRIVATE KEY-----\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var certificate1 = new Opentelekomcloud.WafCertificateV1(\"certificate_1\", new()\n    {\n        Name = \"cert_1\",\n        Content = @\"-----BEGIN CERTIFICATE-----\nMIIFazCCA1OgAwIBAgIUN3w1KX8/T/HWVxZIOdHXPhUOnsAwDQYJKoZIhvcNAQEL\nBQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM\n...\ndKvZbPEsygYRIjwyhHHUh/YXH8KDI/uu6u6AxDckQ3rP1BkkKXr5NPBGjVgM3ZI=\n-----END CERTIFICATE-----\n\",\n        Key = @\"-----BEGIN PRIVATE KEY-----\nMIIJQQIBADANBgkqhkiG9w0BAQEFAASCCSswggknAgEAAoICAQC+9uwFVenCdPD9\n5LWSWMuy4riZW718wxBpYV5Y9N8nM7N0qZLLdpImZrzBbaBldTI+AZGI3Nupuurw\n...\ns9urs/Kk/tbQhsEvu0X8FyGwo0zH6rG8apTFTlac+v4mJ4vlpxSvT5+FW2lgLISE\n+4sM7kp0qO3/p+45HykwBY5iHq3H\n-----END PRIVATE KEY-----\n\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewWafCertificateV1(ctx, \"certificate_1\", \u0026opentelekomcloud.WafCertificateV1Args{\n\t\t\tName: pulumi.String(\"cert_1\"),\n\t\t\tContent: pulumi.String(`-----BEGIN CERTIFICATE-----\nMIIFazCCA1OgAwIBAgIUN3w1KX8/T/HWVxZIOdHXPhUOnsAwDQYJKoZIhvcNAQEL\nBQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM\n...\ndKvZbPEsygYRIjwyhHHUh/YXH8KDI/uu6u6AxDckQ3rP1BkkKXr5NPBGjVgM3ZI=\n-----END CERTIFICATE-----\n`),\n\t\t\tKey: pulumi.String(`-----BEGIN PRIVATE KEY-----\nMIIJQQIBADANBgkqhkiG9w0BAQEFAASCCSswggknAgEAAoICAQC+9uwFVenCdPD9\n5LWSWMuy4riZW718wxBpYV5Y9N8nM7N0qZLLdpImZrzBbaBldTI+AZGI3Nupuurw\n...\ns9urs/Kk/tbQhsEvu0X8FyGwo0zH6rG8apTFTlac+v4mJ4vlpxSvT5+FW2lgLISE\n+4sM7kp0qO3/p+45HykwBY5iHq3H\n-----END PRIVATE KEY-----\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.WafCertificateV1;\nimport com.pulumi.opentelekomcloud.WafCertificateV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var certificate1 = new WafCertificateV1(\"certificate1\", WafCertificateV1Args.builder()\n            .name(\"cert_1\")\n            .content(\"\"\"\n-----BEGIN CERTIFICATE-----\nMIIFazCCA1OgAwIBAgIUN3w1KX8/T/HWVxZIOdHXPhUOnsAwDQYJKoZIhvcNAQEL\nBQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM\n...\ndKvZbPEsygYRIjwyhHHUh/YXH8KDI/uu6u6AxDckQ3rP1BkkKXr5NPBGjVgM3ZI=\n-----END CERTIFICATE-----\n            \"\"\")\n            .key(\"\"\"\n-----BEGIN PRIVATE KEY-----\nMIIJQQIBADANBgkqhkiG9w0BAQEFAASCCSswggknAgEAAoICAQC+9uwFVenCdPD9\n5LWSWMuy4riZW718wxBpYV5Y9N8nM7N0qZLLdpImZrzBbaBldTI+AZGI3Nupuurw\n...\ns9urs/Kk/tbQhsEvu0X8FyGwo0zH6rG8apTFTlac+v4mJ4vlpxSvT5+FW2lgLISE\n+4sM7kp0qO3/p+45HykwBY5iHq3H\n-----END PRIVATE KEY-----\n            \"\"\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  certificate1:\n    type: opentelekomcloud:WafCertificateV1\n    name: certificate_1\n    properties:\n      name: cert_1\n      content: |\n        -----BEGIN CERTIFICATE-----\n        MIIFazCCA1OgAwIBAgIUN3w1KX8/T/HWVxZIOdHXPhUOnsAwDQYJKoZIhvcNAQEL\n        BQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM\n        ...\n        dKvZbPEsygYRIjwyhHHUh/YXH8KDI/uu6u6AxDckQ3rP1BkkKXr5NPBGjVgM3ZI=\n        -----END CERTIFICATE-----\n      key: |\n        -----BEGIN PRIVATE KEY-----\n        MIIJQQIBADANBgkqhkiG9w0BAQEFAASCCSswggknAgEAAoICAQC+9uwFVenCdPD9\n        5LWSWMuy4riZW718wxBpYV5Y9N8nM7N0qZLLdpImZrzBbaBldTI+AZGI3Nupuurw\n        ...\n        s9urs/Kk/tbQhsEvu0X8FyGwo0zH6rG8apTFTlac+v4mJ4vlpxSvT5+FW2lgLISE\n        +4sM7kp0qO3/p+45HykwBY5iHq3H\n        -----END PRIVATE KEY-----\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCertificates can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/wafCertificateV1:WafCertificateV1 cert_1 7117d38e-4c8f-4624-a505-bd96b97d024c\n```\n\nOr using `name`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/wafCertificateV1:WafCertificateV1 cert_1 cert_1\n```\n\n","properties":{"content":{"type":"string","description":"The certificate content. Changing this creates a new certificate.\n"},"expires":{"type":"string"},"key":{"type":"string","description":"The private key. Changing this creates a new certificate.\n"},"name":{"type":"string","description":"The certificate name. The maximum length is 256 characters.\nOnly digits, letters, underscores(`_`), and hyphens(`-`) are allowed.\n"},"region":{"type":"string"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FWafCertificateV1Timeouts:WafCertificateV1Timeouts"},"wafCertificateV1Id":{"type":"string","description":"ID of the certificate.\n"}},"type":"object","required":["content","expires","key","name","region","wafCertificateV1Id"],"inputProperties":{"content":{"type":"string","description":"The certificate content. Changing this creates a new certificate.\n"},"key":{"type":"string","description":"The private key. Changing this creates a new certificate.\n"},"name":{"type":"string","description":"The certificate name. The maximum length is 256 characters.\nOnly digits, letters, underscores(`_`), and hyphens(`-`) are allowed.\n"},"region":{"type":"string"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FWafCertificateV1Timeouts:WafCertificateV1Timeouts"},"wafCertificateV1Id":{"type":"string","description":"ID of the certificate.\n"}},"requiredInputs":["content","key"],"stateInputs":{"description":"Input properties used for looking up and filtering WafCertificateV1 resources.\n","properties":{"content":{"type":"string","description":"The certificate content. Changing this creates a new certificate.\n"},"expires":{"type":"string"},"key":{"type":"string","description":"The private key. Changing this creates a new certificate.\n"},"name":{"type":"string","description":"The certificate name. The maximum length is 256 characters.\nOnly digits, letters, underscores(`_`), and hyphens(`-`) are allowed.\n"},"region":{"type":"string"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FWafCertificateV1Timeouts:WafCertificateV1Timeouts"},"wafCertificateV1Id":{"type":"string","description":"ID of the certificate.\n"}},"type":"object"}},"opentelekomcloud:index/wafDatamaskingRuleV1:WafDatamaskingRuleV1":{"description":"Up-to-date reference of API arguments for WAF datamasking rule you can get at\n[documentation portal](https://docs.otc.t-systems.com/web-application-firewall/api-ref/apis/data_masking_rules)\n\nManages a WAF Data Masking Rule resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst policy1 = new opentelekomcloud.WafPolicyV1(\"policy_1\", {name: \"policy_1\"});\nconst rule1 = new opentelekomcloud.WafDatamaskingRuleV1(\"rule_1\", {\n    policyId: policy1.wafPolicyV1Id,\n    url: \"/login\",\n    category: \"params\",\n    index: \"password\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\npolicy1 = opentelekomcloud.WafPolicyV1(\"policy_1\", name=\"policy_1\")\nrule1 = opentelekomcloud.WafDatamaskingRuleV1(\"rule_1\",\n    policy_id=policy1.waf_policy_v1_id,\n    url=\"/login\",\n    category=\"params\",\n    index=\"password\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var policy1 = new Opentelekomcloud.WafPolicyV1(\"policy_1\", new()\n    {\n        Name = \"policy_1\",\n    });\n\n    var rule1 = new Opentelekomcloud.WafDatamaskingRuleV1(\"rule_1\", new()\n    {\n        PolicyId = policy1.WafPolicyV1Id,\n        Url = \"/login\",\n        Category = \"params\",\n        Index = \"password\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpolicy1, err := opentelekomcloud.NewWafPolicyV1(ctx, \"policy_1\", \u0026opentelekomcloud.WafPolicyV1Args{\n\t\t\tName: pulumi.String(\"policy_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewWafDatamaskingRuleV1(ctx, \"rule_1\", \u0026opentelekomcloud.WafDatamaskingRuleV1Args{\n\t\t\tPolicyId: policy1.WafPolicyV1Id,\n\t\t\tUrl:      pulumi.String(\"/login\"),\n\t\t\tCategory: pulumi.String(\"params\"),\n\t\t\tIndex:    pulumi.String(\"password\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.WafPolicyV1;\nimport com.pulumi.opentelekomcloud.WafPolicyV1Args;\nimport com.pulumi.opentelekomcloud.WafDatamaskingRuleV1;\nimport com.pulumi.opentelekomcloud.WafDatamaskingRuleV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var policy1 = new WafPolicyV1(\"policy1\", WafPolicyV1Args.builder()\n            .name(\"policy_1\")\n            .build());\n\n        var rule1 = new WafDatamaskingRuleV1(\"rule1\", WafDatamaskingRuleV1Args.builder()\n            .policyId(policy1.wafPolicyV1Id())\n            .url(\"/login\")\n            .category(\"params\")\n            .index(\"password\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  policy1:\n    type: opentelekomcloud:WafPolicyV1\n    name: policy_1\n    properties:\n      name: policy_1\n  rule1:\n    type: opentelekomcloud:WafDatamaskingRuleV1\n    name: rule_1\n    properties:\n      policyId: ${policy1.wafPolicyV1Id}\n      url: /login\n      category: params\n      index: password\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nData Masking Rules can be imported using the `policy_id/id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/wafDatamaskingRuleV1:WafDatamaskingRuleV1 rule_1 b39f3a5a1b4f447a8030f0b0703f47f5/7117d38e4c8f4624a505bd96b97d024c\n```\n\n","properties":{"category":{"type":"string","description":"Specifies the masked field. The options are params and header.\n"},"index":{"type":"string","description":"Specifies the masked subfield.\n"},"policyId":{"type":"string","description":"The WAF policy ID. Changing this creates a new rule.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FWafDatamaskingRuleV1Timeouts:WafDatamaskingRuleV1Timeouts"},"url":{"type":"string","description":"Specifies the URL to which the data masking rule applies.\n"},"wafDatamaskingRuleV1Id":{"type":"string","description":"ID of the rule.\n"}},"type":"object","required":["category","index","policyId","url","wafDatamaskingRuleV1Id"],"inputProperties":{"category":{"type":"string","description":"Specifies the masked field. The options are params and header.\n"},"index":{"type":"string","description":"Specifies the masked subfield.\n"},"policyId":{"type":"string","description":"The WAF policy ID. Changing this creates a new rule.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FWafDatamaskingRuleV1Timeouts:WafDatamaskingRuleV1Timeouts"},"url":{"type":"string","description":"Specifies the URL to which the data masking rule applies.\n"},"wafDatamaskingRuleV1Id":{"type":"string","description":"ID of the rule.\n"}},"requiredInputs":["category","index","policyId","url"],"stateInputs":{"description":"Input properties used for looking up and filtering WafDatamaskingRuleV1 resources.\n","properties":{"category":{"type":"string","description":"Specifies the masked field. The options are params and header.\n"},"index":{"type":"string","description":"Specifies the masked subfield.\n"},"policyId":{"type":"string","description":"The WAF policy ID. Changing this creates a new rule.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FWafDatamaskingRuleV1Timeouts:WafDatamaskingRuleV1Timeouts"},"url":{"type":"string","description":"Specifies the URL to which the data masking rule applies.\n"},"wafDatamaskingRuleV1Id":{"type":"string","description":"ID of the rule.\n"}},"type":"object"}},"opentelekomcloud:index/wafDedicatedAlarmMaskingRuleV1:WafDedicatedAlarmMaskingRuleV1":{"description":"Up-to-date reference of API arguments for WAF dedicated Global Protection Whitelist (formerly False Alarm Masking) rule you can get at\n[documentation portal](https://docs.otc.t-systems.com/web-application-firewall-dedicated/api-ref/apis/rule_management/creating_a_global_protection_whitelist_formerly_false_alarm_masking_rule.html).\n\nManages a WAF Dedicated Global Protection Whitelist (formerly False Alarm Masking) Rule resource within OpenTelekomCloud.\n\n## Example Usage\n\n### Basic example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst policy1 = new opentelekomcloud.WafDedicatedPolicyV1(\"policy_1\", {name: \"policy_am\"});\nconst rule1 = new opentelekomcloud.WafDedicatedAlarmMaskingRuleV1(\"rule_1\", {\n    policyId: policy1.wafDedicatedPolicyV1Id,\n    domains: [\"www.example.com\"],\n    rule: \"xss\",\n    description: \"description\",\n    conditions: [{\n        category: \"url\",\n        contents: [\"/login\"],\n        logicOperation: \"equal\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\npolicy1 = opentelekomcloud.WafDedicatedPolicyV1(\"policy_1\", name=\"policy_am\")\nrule1 = opentelekomcloud.WafDedicatedAlarmMaskingRuleV1(\"rule_1\",\n    policy_id=policy1.waf_dedicated_policy_v1_id,\n    domains=[\"www.example.com\"],\n    rule=\"xss\",\n    description=\"description\",\n    conditions=[{\n        \"category\": \"url\",\n        \"contents\": [\"/login\"],\n        \"logic_operation\": \"equal\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var policy1 = new Opentelekomcloud.WafDedicatedPolicyV1(\"policy_1\", new()\n    {\n        Name = \"policy_am\",\n    });\n\n    var rule1 = new Opentelekomcloud.WafDedicatedAlarmMaskingRuleV1(\"rule_1\", new()\n    {\n        PolicyId = policy1.WafDedicatedPolicyV1Id,\n        Domains = new[]\n        {\n            \"www.example.com\",\n        },\n        Rule = \"xss\",\n        Description = \"description\",\n        Conditions = new[]\n        {\n            new Opentelekomcloud.Inputs.WafDedicatedAlarmMaskingRuleV1ConditionArgs\n            {\n                Category = \"url\",\n                Contents = new[]\n                {\n                    \"/login\",\n                },\n                LogicOperation = \"equal\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpolicy1, err := opentelekomcloud.NewWafDedicatedPolicyV1(ctx, \"policy_1\", \u0026opentelekomcloud.WafDedicatedPolicyV1Args{\n\t\t\tName: pulumi.String(\"policy_am\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewWafDedicatedAlarmMaskingRuleV1(ctx, \"rule_1\", \u0026opentelekomcloud.WafDedicatedAlarmMaskingRuleV1Args{\n\t\t\tPolicyId: policy1.WafDedicatedPolicyV1Id,\n\t\t\tDomains: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"www.example.com\"),\n\t\t\t},\n\t\t\tRule:        pulumi.String(\"xss\"),\n\t\t\tDescription: pulumi.String(\"description\"),\n\t\t\tConditions: opentelekomcloud.WafDedicatedAlarmMaskingRuleV1ConditionArray{\n\t\t\t\t\u0026opentelekomcloud.WafDedicatedAlarmMaskingRuleV1ConditionArgs{\n\t\t\t\t\tCategory: pulumi.String(\"url\"),\n\t\t\t\t\tContents: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"/login\"),\n\t\t\t\t\t},\n\t\t\t\t\tLogicOperation: pulumi.String(\"equal\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.WafDedicatedPolicyV1;\nimport com.pulumi.opentelekomcloud.WafDedicatedPolicyV1Args;\nimport com.pulumi.opentelekomcloud.WafDedicatedAlarmMaskingRuleV1;\nimport com.pulumi.opentelekomcloud.WafDedicatedAlarmMaskingRuleV1Args;\nimport com.pulumi.opentelekomcloud.inputs.WafDedicatedAlarmMaskingRuleV1ConditionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var policy1 = new WafDedicatedPolicyV1(\"policy1\", WafDedicatedPolicyV1Args.builder()\n            .name(\"policy_am\")\n            .build());\n\n        var rule1 = new WafDedicatedAlarmMaskingRuleV1(\"rule1\", WafDedicatedAlarmMaskingRuleV1Args.builder()\n            .policyId(policy1.wafDedicatedPolicyV1Id())\n            .domains(\"www.example.com\")\n            .rule(\"xss\")\n            .description(\"description\")\n            .conditions(WafDedicatedAlarmMaskingRuleV1ConditionArgs.builder()\n                .category(\"url\")\n                .contents(\"/login\")\n                .logicOperation(\"equal\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  policy1:\n    type: opentelekomcloud:WafDedicatedPolicyV1\n    name: policy_1\n    properties:\n      name: policy_am\n  rule1:\n    type: opentelekomcloud:WafDedicatedAlarmMaskingRuleV1\n    name: rule_1\n    properties:\n      policyId: ${policy1.wafDedicatedPolicyV1Id}\n      domains:\n        - www.example.com\n      rule: xss\n      description: description\n      conditions:\n        - category: url\n          contents:\n            - /login\n          logicOperation: equal\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Advanced settings with empty contents\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst policy1 = new opentelekomcloud.WafDedicatedPolicyV1(\"policy_1\", {name: \"policy_am\"});\nconst rule1 = new opentelekomcloud.WafDedicatedAlarmMaskingRuleV1(\"rule_1\", {\n    policyId: policy1.wafDedicatedPolicyV1Id,\n    domains: [\"www.example.com\"],\n    rule: \"all\",\n    description: \"description\",\n    conditions: [{\n        category: \"url\",\n        contents: [\"/login\"],\n        logicOperation: \"equal\",\n    }],\n    advancedSettings: {\n        index: \"cookie\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\npolicy1 = opentelekomcloud.WafDedicatedPolicyV1(\"policy_1\", name=\"policy_am\")\nrule1 = opentelekomcloud.WafDedicatedAlarmMaskingRuleV1(\"rule_1\",\n    policy_id=policy1.waf_dedicated_policy_v1_id,\n    domains=[\"www.example.com\"],\n    rule=\"all\",\n    description=\"description\",\n    conditions=[{\n        \"category\": \"url\",\n        \"contents\": [\"/login\"],\n        \"logic_operation\": \"equal\",\n    }],\n    advanced_settings={\n        \"index\": \"cookie\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var policy1 = new Opentelekomcloud.WafDedicatedPolicyV1(\"policy_1\", new()\n    {\n        Name = \"policy_am\",\n    });\n\n    var rule1 = new Opentelekomcloud.WafDedicatedAlarmMaskingRuleV1(\"rule_1\", new()\n    {\n        PolicyId = policy1.WafDedicatedPolicyV1Id,\n        Domains = new[]\n        {\n            \"www.example.com\",\n        },\n        Rule = \"all\",\n        Description = \"description\",\n        Conditions = new[]\n        {\n            new Opentelekomcloud.Inputs.WafDedicatedAlarmMaskingRuleV1ConditionArgs\n            {\n                Category = \"url\",\n                Contents = new[]\n                {\n                    \"/login\",\n                },\n                LogicOperation = \"equal\",\n            },\n        },\n        AdvancedSettings = new Opentelekomcloud.Inputs.WafDedicatedAlarmMaskingRuleV1AdvancedSettingsArgs\n        {\n            Index = \"cookie\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpolicy1, err := opentelekomcloud.NewWafDedicatedPolicyV1(ctx, \"policy_1\", \u0026opentelekomcloud.WafDedicatedPolicyV1Args{\n\t\t\tName: pulumi.String(\"policy_am\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewWafDedicatedAlarmMaskingRuleV1(ctx, \"rule_1\", \u0026opentelekomcloud.WafDedicatedAlarmMaskingRuleV1Args{\n\t\t\tPolicyId: policy1.WafDedicatedPolicyV1Id,\n\t\t\tDomains: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"www.example.com\"),\n\t\t\t},\n\t\t\tRule:        pulumi.String(\"all\"),\n\t\t\tDescription: pulumi.String(\"description\"),\n\t\t\tConditions: opentelekomcloud.WafDedicatedAlarmMaskingRuleV1ConditionArray{\n\t\t\t\t\u0026opentelekomcloud.WafDedicatedAlarmMaskingRuleV1ConditionArgs{\n\t\t\t\t\tCategory: pulumi.String(\"url\"),\n\t\t\t\t\tContents: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"/login\"),\n\t\t\t\t\t},\n\t\t\t\t\tLogicOperation: pulumi.String(\"equal\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAdvancedSettings: \u0026opentelekomcloud.WafDedicatedAlarmMaskingRuleV1AdvancedSettingsArgs{\n\t\t\t\tIndex: pulumi.String(\"cookie\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.WafDedicatedPolicyV1;\nimport com.pulumi.opentelekomcloud.WafDedicatedPolicyV1Args;\nimport com.pulumi.opentelekomcloud.WafDedicatedAlarmMaskingRuleV1;\nimport com.pulumi.opentelekomcloud.WafDedicatedAlarmMaskingRuleV1Args;\nimport com.pulumi.opentelekomcloud.inputs.WafDedicatedAlarmMaskingRuleV1ConditionArgs;\nimport com.pulumi.opentelekomcloud.inputs.WafDedicatedAlarmMaskingRuleV1AdvancedSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var policy1 = new WafDedicatedPolicyV1(\"policy1\", WafDedicatedPolicyV1Args.builder()\n            .name(\"policy_am\")\n            .build());\n\n        var rule1 = new WafDedicatedAlarmMaskingRuleV1(\"rule1\", WafDedicatedAlarmMaskingRuleV1Args.builder()\n            .policyId(policy1.wafDedicatedPolicyV1Id())\n            .domains(\"www.example.com\")\n            .rule(\"all\")\n            .description(\"description\")\n            .conditions(WafDedicatedAlarmMaskingRuleV1ConditionArgs.builder()\n                .category(\"url\")\n                .contents(\"/login\")\n                .logicOperation(\"equal\")\n                .build())\n            .advancedSettings(WafDedicatedAlarmMaskingRuleV1AdvancedSettingsArgs.builder()\n                .index(\"cookie\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  policy1:\n    type: opentelekomcloud:WafDedicatedPolicyV1\n    name: policy_1\n    properties:\n      name: policy_am\n  rule1:\n    type: opentelekomcloud:WafDedicatedAlarmMaskingRuleV1\n    name: rule_1\n    properties:\n      policyId: ${policy1.wafDedicatedPolicyV1Id}\n      domains:\n        - www.example.com\n      rule: all\n      description: description\n      conditions:\n        - category: url\n          contents:\n            - /login\n          logicOperation: equal\n      advancedSettings:\n        index: cookie\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDedicated WAF Web Global Protection Whitelist (formerly False Alarm Masking) rules can be imported using `policy_id/id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/wafDedicatedAlarmMaskingRuleV1:WafDedicatedAlarmMaskingRuleV1 rule_1 ff95e71c8ae74eba9887193ab22c5757/b39f3a5a1b4f447a8030f0b0703f47f5\n```\n\n","properties":{"advancedSettings":{"$ref":"#/types/opentelekomcloud:index%2FWafDedicatedAlarmMaskingRuleV1AdvancedSettings:WafDedicatedAlarmMaskingRuleV1AdvancedSettings","description":"To ignore attacks of a specific field, specify the field in the Advanced settings area.\nAfter you add the rule, WAF will stop blocking attacks of the specified field.\nThis parameter is not included if all modules are bypassed. Changing this creates a new rule.\nThe \u003cspan pulumi-lang-nodejs=\"`advancedSettings`\" pulumi-lang-dotnet=\"`AdvancedSettings`\" pulumi-lang-go=\"`advancedSettings`\" pulumi-lang-python=\"`advanced_settings`\" pulumi-lang-yaml=\"`advancedSettings`\" pulumi-lang-java=\"`advancedSettings`\"\u003e`advanced_settings`\u003c/span\u003e block supports:\n"},"conditions":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FWafDedicatedAlarmMaskingRuleV1Condition:WafDedicatedAlarmMaskingRuleV1Condition"},"description":"Condition list. Changing this creates a new rule.\nThe \u003cspan pulumi-lang-nodejs=\"`conditions`\" pulumi-lang-dotnet=\"`Conditions`\" pulumi-lang-go=\"`conditions`\" pulumi-lang-python=\"`conditions`\" pulumi-lang-yaml=\"`conditions`\" pulumi-lang-java=\"`conditions`\"\u003e`conditions`\u003c/span\u003e block supports:\n"},"createdAt":{"type":"number","description":"Timestamp the rule is created.\n"},"description":{"type":"string","description":"Rule description. Changing this creates a new rule.\n"},"domains":{"type":"array","items":{"type":"string"},"description":"Domain names to be protected. Changing this creates a new rule.\n"},"policyId":{"type":"string","description":"The WAF policy ID. Changing this creates a new rule.\n"},"rule":{"type":"string","description":"Items to be masked. Changing this creates a new rule.\nYou can provide multiple items and separate them with semicolons (;).\n+ If you want to disable a specific built-in rule for a domain name, the value of this parameter is the rule ID.\nWhen requests are blocked against a certain built-in rule while you do not want this rule to block requests later,\nyou can query the rule in the Events page on the console and find its rule ID in the Hit Rule column.\nThen, you can disk the rule by its ID (including 6 digits).\n+ If you want to mask a type of basic web protection rules, set this parameter to the name of the type of basic\nweb protection rules.\n"},"status":{"type":"number","description":"Rule status. The value can be:\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FWafDedicatedAlarmMaskingRuleV1Timeouts:WafDedicatedAlarmMaskingRuleV1Timeouts"},"wafDedicatedAlarmMaskingRuleV1Id":{"type":"string","description":"ID of the rule.\n"}},"type":"object","required":["conditions","createdAt","domains","policyId","rule","status","wafDedicatedAlarmMaskingRuleV1Id"],"inputProperties":{"advancedSettings":{"$ref":"#/types/opentelekomcloud:index%2FWafDedicatedAlarmMaskingRuleV1AdvancedSettings:WafDedicatedAlarmMaskingRuleV1AdvancedSettings","description":"To ignore attacks of a specific field, specify the field in the Advanced settings area.\nAfter you add the rule, WAF will stop blocking attacks of the specified field.\nThis parameter is not included if all modules are bypassed. Changing this creates a new rule.\nThe \u003cspan pulumi-lang-nodejs=\"`advancedSettings`\" pulumi-lang-dotnet=\"`AdvancedSettings`\" pulumi-lang-go=\"`advancedSettings`\" pulumi-lang-python=\"`advanced_settings`\" pulumi-lang-yaml=\"`advancedSettings`\" pulumi-lang-java=\"`advancedSettings`\"\u003e`advanced_settings`\u003c/span\u003e block supports:\n"},"conditions":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FWafDedicatedAlarmMaskingRuleV1Condition:WafDedicatedAlarmMaskingRuleV1Condition"},"description":"Condition list. Changing this creates a new rule.\nThe \u003cspan pulumi-lang-nodejs=\"`conditions`\" pulumi-lang-dotnet=\"`Conditions`\" pulumi-lang-go=\"`conditions`\" pulumi-lang-python=\"`conditions`\" pulumi-lang-yaml=\"`conditions`\" pulumi-lang-java=\"`conditions`\"\u003e`conditions`\u003c/span\u003e block supports:\n"},"description":{"type":"string","description":"Rule description. Changing this creates a new rule.\n"},"domains":{"type":"array","items":{"type":"string"},"description":"Domain names to be protected. Changing this creates a new rule.\n"},"policyId":{"type":"string","description":"The WAF policy ID. Changing this creates a new rule.\n"},"rule":{"type":"string","description":"Items to be masked. Changing this creates a new rule.\nYou can provide multiple items and separate them with semicolons (;).\n+ If you want to disable a specific built-in rule for a domain name, the value of this parameter is the rule ID.\nWhen requests are blocked against a certain built-in rule while you do not want this rule to block requests later,\nyou can query the rule in the Events page on the console and find its rule ID in the Hit Rule column.\nThen, you can disk the rule by its ID (including 6 digits).\n+ If you want to mask a type of basic web protection rules, set this parameter to the name of the type of basic\nweb protection rules.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FWafDedicatedAlarmMaskingRuleV1Timeouts:WafDedicatedAlarmMaskingRuleV1Timeouts"},"wafDedicatedAlarmMaskingRuleV1Id":{"type":"string","description":"ID of the rule.\n"}},"requiredInputs":["conditions","domains","policyId","rule"],"stateInputs":{"description":"Input properties used for looking up and filtering WafDedicatedAlarmMaskingRuleV1 resources.\n","properties":{"advancedSettings":{"$ref":"#/types/opentelekomcloud:index%2FWafDedicatedAlarmMaskingRuleV1AdvancedSettings:WafDedicatedAlarmMaskingRuleV1AdvancedSettings","description":"To ignore attacks of a specific field, specify the field in the Advanced settings area.\nAfter you add the rule, WAF will stop blocking attacks of the specified field.\nThis parameter is not included if all modules are bypassed. Changing this creates a new rule.\nThe \u003cspan pulumi-lang-nodejs=\"`advancedSettings`\" pulumi-lang-dotnet=\"`AdvancedSettings`\" pulumi-lang-go=\"`advancedSettings`\" pulumi-lang-python=\"`advanced_settings`\" pulumi-lang-yaml=\"`advancedSettings`\" pulumi-lang-java=\"`advancedSettings`\"\u003e`advanced_settings`\u003c/span\u003e block supports:\n"},"conditions":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FWafDedicatedAlarmMaskingRuleV1Condition:WafDedicatedAlarmMaskingRuleV1Condition"},"description":"Condition list. Changing this creates a new rule.\nThe \u003cspan pulumi-lang-nodejs=\"`conditions`\" pulumi-lang-dotnet=\"`Conditions`\" pulumi-lang-go=\"`conditions`\" pulumi-lang-python=\"`conditions`\" pulumi-lang-yaml=\"`conditions`\" pulumi-lang-java=\"`conditions`\"\u003e`conditions`\u003c/span\u003e block supports:\n"},"createdAt":{"type":"number","description":"Timestamp the rule is created.\n"},"description":{"type":"string","description":"Rule description. Changing this creates a new rule.\n"},"domains":{"type":"array","items":{"type":"string"},"description":"Domain names to be protected. Changing this creates a new rule.\n"},"policyId":{"type":"string","description":"The WAF policy ID. Changing this creates a new rule.\n"},"rule":{"type":"string","description":"Items to be masked. Changing this creates a new rule.\nYou can provide multiple items and separate them with semicolons (;).\n+ If you want to disable a specific built-in rule for a domain name, the value of this parameter is the rule ID.\nWhen requests are blocked against a certain built-in rule while you do not want this rule to block requests later,\nyou can query the rule in the Events page on the console and find its rule ID in the Hit Rule column.\nThen, you can disk the rule by its ID (including 6 digits).\n+ If you want to mask a type of basic web protection rules, set this parameter to the name of the type of basic\nweb protection rules.\n"},"status":{"type":"number","description":"Rule status. The value can be:\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FWafDedicatedAlarmMaskingRuleV1Timeouts:WafDedicatedAlarmMaskingRuleV1Timeouts"},"wafDedicatedAlarmMaskingRuleV1Id":{"type":"string","description":"ID of the rule.\n"}},"type":"object"}},"opentelekomcloud:index/wafDedicatedAntiCrawlerRuleV1:WafDedicatedAntiCrawlerRuleV1":{"description":"Up-to-date reference of API arguments for WAF dedicated Anti Crawler rule you can get at\n[documentation portal](https://docs.otc.t-systems.com/web-application-firewall-dedicated/api-ref/apis/rule_management/creating_a_javascript_anti-crawler_rule.html).\n\nManages a WAF Dedicated Anti Crawler Rule resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst policy1 = new opentelekomcloud.WafDedicatedPolicyV1(\"policy_1\", {name: \"policy_cc\"});\nconst rule1 = new opentelekomcloud.WafDedicatedAntiCrawlerRuleV1(\"rule_1\", {\n    policyId: policy1.wafDedicatedPolicyV1Id,\n    name: \"anticrawler_1\",\n    url: \"/patent/id\",\n    logic: 3,\n    protectionMode: \"anticrawler_except_url\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\npolicy1 = opentelekomcloud.WafDedicatedPolicyV1(\"policy_1\", name=\"policy_cc\")\nrule1 = opentelekomcloud.WafDedicatedAntiCrawlerRuleV1(\"rule_1\",\n    policy_id=policy1.waf_dedicated_policy_v1_id,\n    name=\"anticrawler_1\",\n    url=\"/patent/id\",\n    logic=3,\n    protection_mode=\"anticrawler_except_url\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var policy1 = new Opentelekomcloud.WafDedicatedPolicyV1(\"policy_1\", new()\n    {\n        Name = \"policy_cc\",\n    });\n\n    var rule1 = new Opentelekomcloud.WafDedicatedAntiCrawlerRuleV1(\"rule_1\", new()\n    {\n        PolicyId = policy1.WafDedicatedPolicyV1Id,\n        Name = \"anticrawler_1\",\n        Url = \"/patent/id\",\n        Logic = 3,\n        ProtectionMode = \"anticrawler_except_url\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpolicy1, err := opentelekomcloud.NewWafDedicatedPolicyV1(ctx, \"policy_1\", \u0026opentelekomcloud.WafDedicatedPolicyV1Args{\n\t\t\tName: pulumi.String(\"policy_cc\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewWafDedicatedAntiCrawlerRuleV1(ctx, \"rule_1\", \u0026opentelekomcloud.WafDedicatedAntiCrawlerRuleV1Args{\n\t\t\tPolicyId:       policy1.WafDedicatedPolicyV1Id,\n\t\t\tName:           pulumi.String(\"anticrawler_1\"),\n\t\t\tUrl:            pulumi.String(\"/patent/id\"),\n\t\t\tLogic:          pulumi.Float64(3),\n\t\t\tProtectionMode: pulumi.String(\"anticrawler_except_url\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.WafDedicatedPolicyV1;\nimport com.pulumi.opentelekomcloud.WafDedicatedPolicyV1Args;\nimport com.pulumi.opentelekomcloud.WafDedicatedAntiCrawlerRuleV1;\nimport com.pulumi.opentelekomcloud.WafDedicatedAntiCrawlerRuleV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var policy1 = new WafDedicatedPolicyV1(\"policy1\", WafDedicatedPolicyV1Args.builder()\n            .name(\"policy_cc\")\n            .build());\n\n        var rule1 = new WafDedicatedAntiCrawlerRuleV1(\"rule1\", WafDedicatedAntiCrawlerRuleV1Args.builder()\n            .policyId(policy1.wafDedicatedPolicyV1Id())\n            .name(\"anticrawler_1\")\n            .url(\"/patent/id\")\n            .logic(3.0)\n            .protectionMode(\"anticrawler_except_url\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  policy1:\n    type: opentelekomcloud:WafDedicatedPolicyV1\n    name: policy_1\n    properties:\n      name: policy_cc\n  rule1:\n    type: opentelekomcloud:WafDedicatedAntiCrawlerRuleV1\n    name: rule_1\n    properties:\n      policyId: ${policy1.wafDedicatedPolicyV1Id}\n      name: anticrawler_1\n      url: /patent/id\n      logic: 3\n      protectionMode: anticrawler_except_url\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDedicated WAF Anti Crawler Rules can be imported using `policy_id/id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/wafDedicatedAntiCrawlerRuleV1:WafDedicatedAntiCrawlerRuleV1 rule_1 ff95e71c8ae74eba9887193ab22c5757/b39f3a5a1b4f447a8030f0b0703f47f5\n```\n\n","properties":{"createdAt":{"type":"number","description":"Timestamp the rule is created.\n"},"logic":{"type":"number","description":"Rule matching logic.\nValues are:\n+ 1: Include\n+ 2: Not include\n+ 3: Equal\n+ 4: Not equal\n+ 5: Prefix is\n+ 6: Prefix is not\n+ 7: Suffix is\n+ 8: Suffix is not\n"},"name":{"type":"string","description":"Rule name.\n"},"policyId":{"type":"string","description":"The WAF policy ID. Changing this creates a new rule.\n"},"protectionMode":{"type":"string","description":"JavaScript anti-crawler rule type.\nValues are:\n"},"status":{"type":"number","description":"Rule status. The value can be \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FWafDedicatedAntiCrawlerRuleV1Timeouts:WafDedicatedAntiCrawlerRuleV1Timeouts"},"url":{"type":"string","description":"URL to which the rule applies.\n"},"wafDedicatedAntiCrawlerRuleV1Id":{"type":"string","description":"ID of the rule.\n"}},"type":"object","required":["createdAt","logic","name","policyId","protectionMode","status","url","wafDedicatedAntiCrawlerRuleV1Id"],"inputProperties":{"logic":{"type":"number","description":"Rule matching logic.\nValues are:\n+ 1: Include\n+ 2: Not include\n+ 3: Equal\n+ 4: Not equal\n+ 5: Prefix is\n+ 6: Prefix is not\n+ 7: Suffix is\n+ 8: Suffix is not\n"},"name":{"type":"string","description":"Rule name.\n"},"policyId":{"type":"string","description":"The WAF policy ID. Changing this creates a new rule.\n"},"protectionMode":{"type":"string","description":"JavaScript anti-crawler rule type.\nValues are:\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FWafDedicatedAntiCrawlerRuleV1Timeouts:WafDedicatedAntiCrawlerRuleV1Timeouts"},"url":{"type":"string","description":"URL to which the rule applies.\n"},"wafDedicatedAntiCrawlerRuleV1Id":{"type":"string","description":"ID of the rule.\n"}},"requiredInputs":["logic","policyId","protectionMode","url"],"stateInputs":{"description":"Input properties used for looking up and filtering WafDedicatedAntiCrawlerRuleV1 resources.\n","properties":{"createdAt":{"type":"number","description":"Timestamp the rule is created.\n"},"logic":{"type":"number","description":"Rule matching logic.\nValues are:\n+ 1: Include\n+ 2: Not include\n+ 3: Equal\n+ 4: Not equal\n+ 5: Prefix is\n+ 6: Prefix is not\n+ 7: Suffix is\n+ 8: Suffix is not\n"},"name":{"type":"string","description":"Rule name.\n"},"policyId":{"type":"string","description":"The WAF policy ID. Changing this creates a new rule.\n"},"protectionMode":{"type":"string","description":"JavaScript anti-crawler rule type.\nValues are:\n"},"status":{"type":"number","description":"Rule status. The value can be \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FWafDedicatedAntiCrawlerRuleV1Timeouts:WafDedicatedAntiCrawlerRuleV1Timeouts"},"url":{"type":"string","description":"URL to which the rule applies.\n"},"wafDedicatedAntiCrawlerRuleV1Id":{"type":"string","description":"ID of the rule.\n"}},"type":"object"}},"opentelekomcloud:index/wafDedicatedAntiLeakageRuleV1:WafDedicatedAntiLeakageRuleV1":{"description":"Up-to-date reference of API arguments for WAF dedicated Information Leakage Protection rule you can get at\n[documentation portal](https://docs.otc.t-systems.com/web-application-firewall-dedicated/api-ref/apis/rule_management/creating_an_information_leakage_protection_rule.html).\n\nManages a WAF Dedicated Information Leakage Protection Rule resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst policy1 = new opentelekomcloud.WafDedicatedPolicyV1(\"policy_1\", {name: \"policy_al\"});\nconst rule1 = new opentelekomcloud.WafDedicatedAntiLeakageRuleV1(\"rule_1\", {\n    policyId: policy1.wafDedicatedPolicyV1Id,\n    action: \"block\",\n    url: \"/attack\",\n    category: \"sensitive\",\n    contents: [\"id_card\"],\n    description: \"test description\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\npolicy1 = opentelekomcloud.WafDedicatedPolicyV1(\"policy_1\", name=\"policy_al\")\nrule1 = opentelekomcloud.WafDedicatedAntiLeakageRuleV1(\"rule_1\",\n    policy_id=policy1.waf_dedicated_policy_v1_id,\n    action=\"block\",\n    url=\"/attack\",\n    category=\"sensitive\",\n    contents=[\"id_card\"],\n    description=\"test description\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var policy1 = new Opentelekomcloud.WafDedicatedPolicyV1(\"policy_1\", new()\n    {\n        Name = \"policy_al\",\n    });\n\n    var rule1 = new Opentelekomcloud.WafDedicatedAntiLeakageRuleV1(\"rule_1\", new()\n    {\n        PolicyId = policy1.WafDedicatedPolicyV1Id,\n        Action = \"block\",\n        Url = \"/attack\",\n        Category = \"sensitive\",\n        Contents = new[]\n        {\n            \"id_card\",\n        },\n        Description = \"test description\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpolicy1, err := opentelekomcloud.NewWafDedicatedPolicyV1(ctx, \"policy_1\", \u0026opentelekomcloud.WafDedicatedPolicyV1Args{\n\t\t\tName: pulumi.String(\"policy_al\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewWafDedicatedAntiLeakageRuleV1(ctx, \"rule_1\", \u0026opentelekomcloud.WafDedicatedAntiLeakageRuleV1Args{\n\t\t\tPolicyId: policy1.WafDedicatedPolicyV1Id,\n\t\t\tAction:   pulumi.String(\"block\"),\n\t\t\tUrl:      pulumi.String(\"/attack\"),\n\t\t\tCategory: pulumi.String(\"sensitive\"),\n\t\t\tContents: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"id_card\"),\n\t\t\t},\n\t\t\tDescription: pulumi.String(\"test description\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.WafDedicatedPolicyV1;\nimport com.pulumi.opentelekomcloud.WafDedicatedPolicyV1Args;\nimport com.pulumi.opentelekomcloud.WafDedicatedAntiLeakageRuleV1;\nimport com.pulumi.opentelekomcloud.WafDedicatedAntiLeakageRuleV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var policy1 = new WafDedicatedPolicyV1(\"policy1\", WafDedicatedPolicyV1Args.builder()\n            .name(\"policy_al\")\n            .build());\n\n        var rule1 = new WafDedicatedAntiLeakageRuleV1(\"rule1\", WafDedicatedAntiLeakageRuleV1Args.builder()\n            .policyId(policy1.wafDedicatedPolicyV1Id())\n            .action(\"block\")\n            .url(\"/attack\")\n            .category(\"sensitive\")\n            .contents(\"id_card\")\n            .description(\"test description\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  policy1:\n    type: opentelekomcloud:WafDedicatedPolicyV1\n    name: policy_1\n    properties:\n      name: policy_al\n  rule1:\n    type: opentelekomcloud:WafDedicatedAntiLeakageRuleV1\n    name: rule_1\n    properties:\n      policyId: ${policy1.wafDedicatedPolicyV1Id}\n      action: block\n      url: /attack\n      category: sensitive\n      contents:\n        - id_card\n      description: test description\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDedicated WAF Web Information Leakage Protection rules can be imported using `policy_id/id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/wafDedicatedAntiLeakageRuleV1:WafDedicatedAntiLeakageRuleV1 rule_1 ff95e71c8ae74eba9887193ab22c5757/b39f3a5a1b4f447a8030f0b0703f47f5\n```\n\n  lifecycle {\n\n    ignore_changes = [\n\n      action,\n\n    ]\n\n  }\n\n","properties":{"action":{"type":"string","description":"Protective action of the Anti Leakage rule.\nValues:\n"},"category":{"type":"string","description":"Sensitive information type in the information leakage prevention rule.\nValues:\n"},"contents":{"type":"array","items":{"type":"string"},"description":"Content corresponding to the sensitive information type.\nMultiple options can be set.\n+ When category is set to \u003cspan pulumi-lang-nodejs=\"`code`\" pulumi-lang-dotnet=\"`Code`\" pulumi-lang-go=\"`code`\" pulumi-lang-python=\"`code`\" pulumi-lang-yaml=\"`code`\" pulumi-lang-java=\"`code`\"\u003e`code`\u003c/span\u003e, the pages that contain the following HTTP response codes will be blocked: \u003cspan pulumi-lang-nodejs=\"`400`\" pulumi-lang-dotnet=\"`400`\" pulumi-lang-go=\"`400`\" pulumi-lang-python=\"`400`\" pulumi-lang-yaml=\"`400`\" pulumi-lang-java=\"`400`\"\u003e`400`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`401`\" pulumi-lang-dotnet=\"`401`\" pulumi-lang-go=\"`401`\" pulumi-lang-python=\"`401`\" pulumi-lang-yaml=\"`401`\" pulumi-lang-java=\"`401`\"\u003e`401`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`402`\" pulumi-lang-dotnet=\"`402`\" pulumi-lang-go=\"`402`\" pulumi-lang-python=\"`402`\" pulumi-lang-yaml=\"`402`\" pulumi-lang-java=\"`402`\"\u003e`402`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`403`\" pulumi-lang-dotnet=\"`403`\" pulumi-lang-go=\"`403`\" pulumi-lang-python=\"`403`\" pulumi-lang-yaml=\"`403`\" pulumi-lang-java=\"`403`\"\u003e`403`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`404`\" pulumi-lang-dotnet=\"`404`\" pulumi-lang-go=\"`404`\" pulumi-lang-python=\"`404`\" pulumi-lang-yaml=\"`404`\" pulumi-lang-java=\"`404`\"\u003e`404`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`405`\" pulumi-lang-dotnet=\"`405`\" pulumi-lang-go=\"`405`\" pulumi-lang-python=\"`405`\" pulumi-lang-yaml=\"`405`\" pulumi-lang-java=\"`405`\"\u003e`405`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`500`\" pulumi-lang-dotnet=\"`500`\" pulumi-lang-go=\"`500`\" pulumi-lang-python=\"`500`\" pulumi-lang-yaml=\"`500`\" pulumi-lang-java=\"`500`\"\u003e`500`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`501`\" pulumi-lang-dotnet=\"`501`\" pulumi-lang-go=\"`501`\" pulumi-lang-python=\"`501`\" pulumi-lang-yaml=\"`501`\" pulumi-lang-java=\"`501`\"\u003e`501`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`502`\" pulumi-lang-dotnet=\"`502`\" pulumi-lang-go=\"`502`\" pulumi-lang-python=\"`502`\" pulumi-lang-yaml=\"`502`\" pulumi-lang-java=\"`502`\"\u003e`502`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`503`\" pulumi-lang-dotnet=\"`503`\" pulumi-lang-go=\"`503`\" pulumi-lang-python=\"`503`\" pulumi-lang-yaml=\"`503`\" pulumi-lang-java=\"`503`\"\u003e`503`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`504`\" pulumi-lang-dotnet=\"`504`\" pulumi-lang-go=\"`504`\" pulumi-lang-python=\"`504`\" pulumi-lang-yaml=\"`504`\" pulumi-lang-java=\"`504`\"\u003e`504`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`507`\" pulumi-lang-dotnet=\"`507`\" pulumi-lang-go=\"`507`\" pulumi-lang-python=\"`507`\" pulumi-lang-yaml=\"`507`\" pulumi-lang-java=\"`507`\"\u003e`507`\u003c/span\u003e.\n+ When category is set to \u003cspan pulumi-lang-nodejs=\"`sensitive`\" pulumi-lang-dotnet=\"`Sensitive`\" pulumi-lang-go=\"`sensitive`\" pulumi-lang-python=\"`sensitive`\" pulumi-lang-yaml=\"`sensitive`\" pulumi-lang-java=\"`sensitive`\"\u003e`sensitive`\u003c/span\u003e, parameters \u003cspan pulumi-lang-nodejs=\"`phone`\" pulumi-lang-dotnet=\"`Phone`\" pulumi-lang-go=\"`phone`\" pulumi-lang-python=\"`phone`\" pulumi-lang-yaml=\"`phone`\" pulumi-lang-java=\"`phone`\"\u003e`phone`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`idCard`\" pulumi-lang-dotnet=\"`IdCard`\" pulumi-lang-go=\"`idCard`\" pulumi-lang-python=\"`id_card`\" pulumi-lang-yaml=\"`idCard`\" pulumi-lang-java=\"`idCard`\"\u003e`id_card`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`email`\" pulumi-lang-dotnet=\"`Email`\" pulumi-lang-go=\"`email`\" pulumi-lang-python=\"`email`\" pulumi-lang-yaml=\"`email`\" pulumi-lang-java=\"`email`\"\u003e`email`\u003c/span\u003e can be set.\n"},"createdAt":{"type":"number","description":"Timestamp the rule is created.\n"},"description":{"type":"string","description":"Rule description.\n"},"policyId":{"type":"string","description":"The WAF policy ID. Changing this creates a new rule.\n"},"status":{"type":"number","description":"Rule status. The value can be:\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FWafDedicatedAntiLeakageRuleV1Timeouts:WafDedicatedAntiLeakageRuleV1Timeouts"},"url":{"type":"string","description":"URL to which the rule applies, for example, `/admin`\n"},"wafDedicatedAntiLeakageRuleV1Id":{"type":"string","description":"ID of the rule.\n"}},"type":"object","required":["action","category","contents","createdAt","policyId","status","url","wafDedicatedAntiLeakageRuleV1Id"],"inputProperties":{"action":{"type":"string","description":"Protective action of the Anti Leakage rule.\nValues:\n"},"category":{"type":"string","description":"Sensitive information type in the information leakage prevention rule.\nValues:\n"},"contents":{"type":"array","items":{"type":"string"},"description":"Content corresponding to the sensitive information type.\nMultiple options can be set.\n+ When category is set to \u003cspan pulumi-lang-nodejs=\"`code`\" pulumi-lang-dotnet=\"`Code`\" pulumi-lang-go=\"`code`\" pulumi-lang-python=\"`code`\" pulumi-lang-yaml=\"`code`\" pulumi-lang-java=\"`code`\"\u003e`code`\u003c/span\u003e, the pages that contain the following HTTP response codes will be blocked: \u003cspan pulumi-lang-nodejs=\"`400`\" pulumi-lang-dotnet=\"`400`\" pulumi-lang-go=\"`400`\" pulumi-lang-python=\"`400`\" pulumi-lang-yaml=\"`400`\" pulumi-lang-java=\"`400`\"\u003e`400`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`401`\" pulumi-lang-dotnet=\"`401`\" pulumi-lang-go=\"`401`\" pulumi-lang-python=\"`401`\" pulumi-lang-yaml=\"`401`\" pulumi-lang-java=\"`401`\"\u003e`401`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`402`\" pulumi-lang-dotnet=\"`402`\" pulumi-lang-go=\"`402`\" pulumi-lang-python=\"`402`\" pulumi-lang-yaml=\"`402`\" pulumi-lang-java=\"`402`\"\u003e`402`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`403`\" pulumi-lang-dotnet=\"`403`\" pulumi-lang-go=\"`403`\" pulumi-lang-python=\"`403`\" pulumi-lang-yaml=\"`403`\" pulumi-lang-java=\"`403`\"\u003e`403`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`404`\" pulumi-lang-dotnet=\"`404`\" pulumi-lang-go=\"`404`\" pulumi-lang-python=\"`404`\" pulumi-lang-yaml=\"`404`\" pulumi-lang-java=\"`404`\"\u003e`404`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`405`\" pulumi-lang-dotnet=\"`405`\" pulumi-lang-go=\"`405`\" pulumi-lang-python=\"`405`\" pulumi-lang-yaml=\"`405`\" pulumi-lang-java=\"`405`\"\u003e`405`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`500`\" pulumi-lang-dotnet=\"`500`\" pulumi-lang-go=\"`500`\" pulumi-lang-python=\"`500`\" pulumi-lang-yaml=\"`500`\" pulumi-lang-java=\"`500`\"\u003e`500`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`501`\" pulumi-lang-dotnet=\"`501`\" pulumi-lang-go=\"`501`\" pulumi-lang-python=\"`501`\" pulumi-lang-yaml=\"`501`\" pulumi-lang-java=\"`501`\"\u003e`501`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`502`\" pulumi-lang-dotnet=\"`502`\" pulumi-lang-go=\"`502`\" pulumi-lang-python=\"`502`\" pulumi-lang-yaml=\"`502`\" pulumi-lang-java=\"`502`\"\u003e`502`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`503`\" pulumi-lang-dotnet=\"`503`\" pulumi-lang-go=\"`503`\" pulumi-lang-python=\"`503`\" pulumi-lang-yaml=\"`503`\" pulumi-lang-java=\"`503`\"\u003e`503`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`504`\" pulumi-lang-dotnet=\"`504`\" pulumi-lang-go=\"`504`\" pulumi-lang-python=\"`504`\" pulumi-lang-yaml=\"`504`\" pulumi-lang-java=\"`504`\"\u003e`504`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`507`\" pulumi-lang-dotnet=\"`507`\" pulumi-lang-go=\"`507`\" pulumi-lang-python=\"`507`\" pulumi-lang-yaml=\"`507`\" pulumi-lang-java=\"`507`\"\u003e`507`\u003c/span\u003e.\n+ When category is set to \u003cspan pulumi-lang-nodejs=\"`sensitive`\" pulumi-lang-dotnet=\"`Sensitive`\" pulumi-lang-go=\"`sensitive`\" pulumi-lang-python=\"`sensitive`\" pulumi-lang-yaml=\"`sensitive`\" pulumi-lang-java=\"`sensitive`\"\u003e`sensitive`\u003c/span\u003e, parameters \u003cspan pulumi-lang-nodejs=\"`phone`\" pulumi-lang-dotnet=\"`Phone`\" pulumi-lang-go=\"`phone`\" pulumi-lang-python=\"`phone`\" pulumi-lang-yaml=\"`phone`\" pulumi-lang-java=\"`phone`\"\u003e`phone`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`idCard`\" pulumi-lang-dotnet=\"`IdCard`\" pulumi-lang-go=\"`idCard`\" pulumi-lang-python=\"`id_card`\" pulumi-lang-yaml=\"`idCard`\" pulumi-lang-java=\"`idCard`\"\u003e`id_card`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`email`\" pulumi-lang-dotnet=\"`Email`\" pulumi-lang-go=\"`email`\" pulumi-lang-python=\"`email`\" pulumi-lang-yaml=\"`email`\" pulumi-lang-java=\"`email`\"\u003e`email`\u003c/span\u003e can be set.\n"},"description":{"type":"string","description":"Rule description.\n"},"policyId":{"type":"string","description":"The WAF policy ID. Changing this creates a new rule.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FWafDedicatedAntiLeakageRuleV1Timeouts:WafDedicatedAntiLeakageRuleV1Timeouts"},"url":{"type":"string","description":"URL to which the rule applies, for example, `/admin`\n"},"wafDedicatedAntiLeakageRuleV1Id":{"type":"string","description":"ID of the rule.\n"}},"requiredInputs":["action","category","contents","policyId","url"],"stateInputs":{"description":"Input properties used for looking up and filtering WafDedicatedAntiLeakageRuleV1 resources.\n","properties":{"action":{"type":"string","description":"Protective action of the Anti Leakage rule.\nValues:\n"},"category":{"type":"string","description":"Sensitive information type in the information leakage prevention rule.\nValues:\n"},"contents":{"type":"array","items":{"type":"string"},"description":"Content corresponding to the sensitive information type.\nMultiple options can be set.\n+ When category is set to \u003cspan pulumi-lang-nodejs=\"`code`\" pulumi-lang-dotnet=\"`Code`\" pulumi-lang-go=\"`code`\" pulumi-lang-python=\"`code`\" pulumi-lang-yaml=\"`code`\" pulumi-lang-java=\"`code`\"\u003e`code`\u003c/span\u003e, the pages that contain the following HTTP response codes will be blocked: \u003cspan pulumi-lang-nodejs=\"`400`\" pulumi-lang-dotnet=\"`400`\" pulumi-lang-go=\"`400`\" pulumi-lang-python=\"`400`\" pulumi-lang-yaml=\"`400`\" pulumi-lang-java=\"`400`\"\u003e`400`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`401`\" pulumi-lang-dotnet=\"`401`\" pulumi-lang-go=\"`401`\" pulumi-lang-python=\"`401`\" pulumi-lang-yaml=\"`401`\" pulumi-lang-java=\"`401`\"\u003e`401`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`402`\" pulumi-lang-dotnet=\"`402`\" pulumi-lang-go=\"`402`\" pulumi-lang-python=\"`402`\" pulumi-lang-yaml=\"`402`\" pulumi-lang-java=\"`402`\"\u003e`402`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`403`\" pulumi-lang-dotnet=\"`403`\" pulumi-lang-go=\"`403`\" pulumi-lang-python=\"`403`\" pulumi-lang-yaml=\"`403`\" pulumi-lang-java=\"`403`\"\u003e`403`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`404`\" pulumi-lang-dotnet=\"`404`\" pulumi-lang-go=\"`404`\" pulumi-lang-python=\"`404`\" pulumi-lang-yaml=\"`404`\" pulumi-lang-java=\"`404`\"\u003e`404`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`405`\" pulumi-lang-dotnet=\"`405`\" pulumi-lang-go=\"`405`\" pulumi-lang-python=\"`405`\" pulumi-lang-yaml=\"`405`\" pulumi-lang-java=\"`405`\"\u003e`405`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`500`\" pulumi-lang-dotnet=\"`500`\" pulumi-lang-go=\"`500`\" pulumi-lang-python=\"`500`\" pulumi-lang-yaml=\"`500`\" pulumi-lang-java=\"`500`\"\u003e`500`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`501`\" pulumi-lang-dotnet=\"`501`\" pulumi-lang-go=\"`501`\" pulumi-lang-python=\"`501`\" pulumi-lang-yaml=\"`501`\" pulumi-lang-java=\"`501`\"\u003e`501`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`502`\" pulumi-lang-dotnet=\"`502`\" pulumi-lang-go=\"`502`\" pulumi-lang-python=\"`502`\" pulumi-lang-yaml=\"`502`\" pulumi-lang-java=\"`502`\"\u003e`502`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`503`\" pulumi-lang-dotnet=\"`503`\" pulumi-lang-go=\"`503`\" pulumi-lang-python=\"`503`\" pulumi-lang-yaml=\"`503`\" pulumi-lang-java=\"`503`\"\u003e`503`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`504`\" pulumi-lang-dotnet=\"`504`\" pulumi-lang-go=\"`504`\" pulumi-lang-python=\"`504`\" pulumi-lang-yaml=\"`504`\" pulumi-lang-java=\"`504`\"\u003e`504`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`507`\" pulumi-lang-dotnet=\"`507`\" pulumi-lang-go=\"`507`\" pulumi-lang-python=\"`507`\" pulumi-lang-yaml=\"`507`\" pulumi-lang-java=\"`507`\"\u003e`507`\u003c/span\u003e.\n+ When category is set to \u003cspan pulumi-lang-nodejs=\"`sensitive`\" pulumi-lang-dotnet=\"`Sensitive`\" pulumi-lang-go=\"`sensitive`\" pulumi-lang-python=\"`sensitive`\" pulumi-lang-yaml=\"`sensitive`\" pulumi-lang-java=\"`sensitive`\"\u003e`sensitive`\u003c/span\u003e, parameters \u003cspan pulumi-lang-nodejs=\"`phone`\" pulumi-lang-dotnet=\"`Phone`\" pulumi-lang-go=\"`phone`\" pulumi-lang-python=\"`phone`\" pulumi-lang-yaml=\"`phone`\" pulumi-lang-java=\"`phone`\"\u003e`phone`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`idCard`\" pulumi-lang-dotnet=\"`IdCard`\" pulumi-lang-go=\"`idCard`\" pulumi-lang-python=\"`id_card`\" pulumi-lang-yaml=\"`idCard`\" pulumi-lang-java=\"`idCard`\"\u003e`id_card`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`email`\" pulumi-lang-dotnet=\"`Email`\" pulumi-lang-go=\"`email`\" pulumi-lang-python=\"`email`\" pulumi-lang-yaml=\"`email`\" pulumi-lang-java=\"`email`\"\u003e`email`\u003c/span\u003e can be set.\n"},"createdAt":{"type":"number","description":"Timestamp the rule is created.\n"},"description":{"type":"string","description":"Rule description.\n"},"policyId":{"type":"string","description":"The WAF policy ID. Changing this creates a new rule.\n"},"status":{"type":"number","description":"Rule status. The value can be:\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FWafDedicatedAntiLeakageRuleV1Timeouts:WafDedicatedAntiLeakageRuleV1Timeouts"},"url":{"type":"string","description":"URL to which the rule applies, for example, `/admin`\n"},"wafDedicatedAntiLeakageRuleV1Id":{"type":"string","description":"ID of the rule.\n"}},"type":"object"}},"opentelekomcloud:index/wafDedicatedBlacklistRuleV1:WafDedicatedBlacklistRuleV1":{"description":"Up-to-date reference of API arguments for WAF dedicated Blacklist rule you can get at\n[documentation portal](https://docs.otc.t-systems.com/web-application-firewall-dedicated/api-ref/apis/rule_management/creating_a_blacklist_or_whitelist_rule.html).\n\nManages a WAF Dedicated Blacklist Rule resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst policy1 = new opentelekomcloud.WafDedicatedPolicyV1(\"policy_1\", {name: \"policy_black\"});\nconst rule1 = new opentelekomcloud.WafDedicatedBlacklistRuleV1(\"rule_1\", {\n    policyId: policy1.wafDedicatedPolicyV1Id,\n    name: \"my_blacklist\",\n    ipAddress: \"192.168.1.0/24\",\n    action: 0,\n    description: \"test description\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\npolicy1 = opentelekomcloud.WafDedicatedPolicyV1(\"policy_1\", name=\"policy_black\")\nrule1 = opentelekomcloud.WafDedicatedBlacklistRuleV1(\"rule_1\",\n    policy_id=policy1.waf_dedicated_policy_v1_id,\n    name=\"my_blacklist\",\n    ip_address=\"192.168.1.0/24\",\n    action=0,\n    description=\"test description\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var policy1 = new Opentelekomcloud.WafDedicatedPolicyV1(\"policy_1\", new()\n    {\n        Name = \"policy_black\",\n    });\n\n    var rule1 = new Opentelekomcloud.WafDedicatedBlacklistRuleV1(\"rule_1\", new()\n    {\n        PolicyId = policy1.WafDedicatedPolicyV1Id,\n        Name = \"my_blacklist\",\n        IpAddress = \"192.168.1.0/24\",\n        Action = 0,\n        Description = \"test description\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpolicy1, err := opentelekomcloud.NewWafDedicatedPolicyV1(ctx, \"policy_1\", \u0026opentelekomcloud.WafDedicatedPolicyV1Args{\n\t\t\tName: pulumi.String(\"policy_black\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewWafDedicatedBlacklistRuleV1(ctx, \"rule_1\", \u0026opentelekomcloud.WafDedicatedBlacklistRuleV1Args{\n\t\t\tPolicyId:    policy1.WafDedicatedPolicyV1Id,\n\t\t\tName:        pulumi.String(\"my_blacklist\"),\n\t\t\tIpAddress:   pulumi.String(\"192.168.1.0/24\"),\n\t\t\tAction:      pulumi.Float64(0),\n\t\t\tDescription: pulumi.String(\"test description\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.WafDedicatedPolicyV1;\nimport com.pulumi.opentelekomcloud.WafDedicatedPolicyV1Args;\nimport com.pulumi.opentelekomcloud.WafDedicatedBlacklistRuleV1;\nimport com.pulumi.opentelekomcloud.WafDedicatedBlacklistRuleV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var policy1 = new WafDedicatedPolicyV1(\"policy1\", WafDedicatedPolicyV1Args.builder()\n            .name(\"policy_black\")\n            .build());\n\n        var rule1 = new WafDedicatedBlacklistRuleV1(\"rule1\", WafDedicatedBlacklistRuleV1Args.builder()\n            .policyId(policy1.wafDedicatedPolicyV1Id())\n            .name(\"my_blacklist\")\n            .ipAddress(\"192.168.1.0/24\")\n            .action(0.0)\n            .description(\"test description\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  policy1:\n    type: opentelekomcloud:WafDedicatedPolicyV1\n    name: policy_1\n    properties:\n      name: policy_black\n  rule1:\n    type: opentelekomcloud:WafDedicatedBlacklistRuleV1\n    name: rule_1\n    properties:\n      policyId: ${policy1.wafDedicatedPolicyV1Id}\n      name: my_blacklist\n      ipAddress: 192.168.1.0/24\n      action: 0\n      description: test description\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDedicated WAF Blacklist Rules can be imported using `policy_id/id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/wafDedicatedBlacklistRuleV1:WafDedicatedBlacklistRuleV1 rule_1 ff95e71c8ae74eba9887193ab22c5757/b39f3a5a1b4f447a8030f0b0703f47f5\n```\n\n","properties":{"action":{"type":"number","description":"Protective action. Changing this creates a new rule.\nThe value can be:\n"},"createdAt":{"type":"number","description":"Timestamp the rule is created.\n"},"description":{"type":"string","description":"Rule description. Changing this creates a new rule.\n"},"followedActionId":{"type":"string","description":"ID of a known attack source rule. Changing this creates a new rule.\nThis parameter can be configured only when \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"ipAddress":{"type":"string","description":"IP addresses or an IP address range to be added to the blacklist or whitelist. Changing this creates a new rule.\nFor example, `192.x.x.3` or `10.x.x.0/24`\n"},"name":{"type":"string","description":"Rule name. Changing this creates a new rule.\n"},"policyId":{"type":"string","description":"The WAF policy ID. Changing this creates a new rule. Changing this creates a new rule.\n"},"status":{"type":"number","description":"Rule status. The value can be:\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FWafDedicatedBlacklistRuleV1Timeouts:WafDedicatedBlacklistRuleV1Timeouts"},"wafDedicatedBlacklistRuleV1Id":{"type":"string","description":"ID of the rule.\n"}},"type":"object","required":["action","createdAt","ipAddress","name","policyId","status","wafDedicatedBlacklistRuleV1Id"],"inputProperties":{"action":{"type":"number","description":"Protective action. Changing this creates a new rule.\nThe value can be:\n"},"description":{"type":"string","description":"Rule description. Changing this creates a new rule.\n"},"followedActionId":{"type":"string","description":"ID of a known attack source rule. Changing this creates a new rule.\nThis parameter can be configured only when \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"ipAddress":{"type":"string","description":"IP addresses or an IP address range to be added to the blacklist or whitelist. Changing this creates a new rule.\nFor example, `192.x.x.3` or `10.x.x.0/24`\n"},"name":{"type":"string","description":"Rule name. Changing this creates a new rule.\n"},"policyId":{"type":"string","description":"The WAF policy ID. Changing this creates a new rule. Changing this creates a new rule.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FWafDedicatedBlacklistRuleV1Timeouts:WafDedicatedBlacklistRuleV1Timeouts"},"wafDedicatedBlacklistRuleV1Id":{"type":"string","description":"ID of the rule.\n"}},"requiredInputs":["action","ipAddress","policyId"],"stateInputs":{"description":"Input properties used for looking up and filtering WafDedicatedBlacklistRuleV1 resources.\n","properties":{"action":{"type":"number","description":"Protective action. Changing this creates a new rule.\nThe value can be:\n"},"createdAt":{"type":"number","description":"Timestamp the rule is created.\n"},"description":{"type":"string","description":"Rule description. Changing this creates a new rule.\n"},"followedActionId":{"type":"string","description":"ID of a known attack source rule. Changing this creates a new rule.\nThis parameter can be configured only when \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"ipAddress":{"type":"string","description":"IP addresses or an IP address range to be added to the blacklist or whitelist. Changing this creates a new rule.\nFor example, `192.x.x.3` or `10.x.x.0/24`\n"},"name":{"type":"string","description":"Rule name. Changing this creates a new rule.\n"},"policyId":{"type":"string","description":"The WAF policy ID. Changing this creates a new rule. Changing this creates a new rule.\n"},"status":{"type":"number","description":"Rule status. The value can be:\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FWafDedicatedBlacklistRuleV1Timeouts:WafDedicatedBlacklistRuleV1Timeouts"},"wafDedicatedBlacklistRuleV1Id":{"type":"string","description":"ID of the rule.\n"}},"type":"object"}},"opentelekomcloud:index/wafDedicatedCcRuleV1:WafDedicatedCcRuleV1":{"description":"Up-to-date reference of API arguments for WAF dedicated CC rule you can get at\n[documentation portal](https://docs.otc.t-systems.com/web-application-firewall-dedicated/api-ref/apis/rule_management/creating_a_cc_attack_protection_rule.html).\n\nManages a WAF Dedicated CC Attack Protection Rule resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst policy1 = new opentelekomcloud.WafDedicatedPolicyV1(\"policy_1\", {name: \"policy_cc\"});\nconst rule1 = new opentelekomcloud.WafDedicatedCcRuleV1(\"rule_1\", {\n    policyId: policy1.wafDedicatedPolicyV1Id,\n    mode: 0,\n    url: \"/abc1\",\n    limitNum: 10,\n    limitPeriod: 60,\n    lockTime: 10,\n    tagType: \"cookie\",\n    tagIndex: \"sessionid\",\n    actions: [{\n        category: \"block\",\n        contentType: \"application/json\",\n        content: \"{\\\"error\\\":\\\"forbidden\\\"}\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\npolicy1 = opentelekomcloud.WafDedicatedPolicyV1(\"policy_1\", name=\"policy_cc\")\nrule1 = opentelekomcloud.WafDedicatedCcRuleV1(\"rule_1\",\n    policy_id=policy1.waf_dedicated_policy_v1_id,\n    mode=0,\n    url=\"/abc1\",\n    limit_num=10,\n    limit_period=60,\n    lock_time=10,\n    tag_type=\"cookie\",\n    tag_index=\"sessionid\",\n    actions=[{\n        \"category\": \"block\",\n        \"content_type\": \"application/json\",\n        \"content\": \"{\\\"error\\\":\\\"forbidden\\\"}\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var policy1 = new Opentelekomcloud.WafDedicatedPolicyV1(\"policy_1\", new()\n    {\n        Name = \"policy_cc\",\n    });\n\n    var rule1 = new Opentelekomcloud.WafDedicatedCcRuleV1(\"rule_1\", new()\n    {\n        PolicyId = policy1.WafDedicatedPolicyV1Id,\n        Mode = 0,\n        Url = \"/abc1\",\n        LimitNum = 10,\n        LimitPeriod = 60,\n        LockTime = 10,\n        TagType = \"cookie\",\n        TagIndex = \"sessionid\",\n        Actions = new[]\n        {\n            new Opentelekomcloud.Inputs.WafDedicatedCcRuleV1ActionArgs\n            {\n                Category = \"block\",\n                ContentType = \"application/json\",\n                Content = \"{\\\"error\\\":\\\"forbidden\\\"}\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpolicy1, err := opentelekomcloud.NewWafDedicatedPolicyV1(ctx, \"policy_1\", \u0026opentelekomcloud.WafDedicatedPolicyV1Args{\n\t\t\tName: pulumi.String(\"policy_cc\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewWafDedicatedCcRuleV1(ctx, \"rule_1\", \u0026opentelekomcloud.WafDedicatedCcRuleV1Args{\n\t\t\tPolicyId:    policy1.WafDedicatedPolicyV1Id,\n\t\t\tMode:        pulumi.Float64(0),\n\t\t\tUrl:         pulumi.String(\"/abc1\"),\n\t\t\tLimitNum:    pulumi.Float64(10),\n\t\t\tLimitPeriod: pulumi.Float64(60),\n\t\t\tLockTime:    pulumi.Float64(10),\n\t\t\tTagType:     pulumi.String(\"cookie\"),\n\t\t\tTagIndex:    pulumi.String(\"sessionid\"),\n\t\t\tActions: opentelekomcloud.WafDedicatedCcRuleV1ActionArray{\n\t\t\t\t\u0026opentelekomcloud.WafDedicatedCcRuleV1ActionArgs{\n\t\t\t\t\tCategory:    pulumi.String(\"block\"),\n\t\t\t\t\tContentType: pulumi.String(\"application/json\"),\n\t\t\t\t\tContent:     pulumi.String(\"{\\\"error\\\":\\\"forbidden\\\"}\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.WafDedicatedPolicyV1;\nimport com.pulumi.opentelekomcloud.WafDedicatedPolicyV1Args;\nimport com.pulumi.opentelekomcloud.WafDedicatedCcRuleV1;\nimport com.pulumi.opentelekomcloud.WafDedicatedCcRuleV1Args;\nimport com.pulumi.opentelekomcloud.inputs.WafDedicatedCcRuleV1ActionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var policy1 = new WafDedicatedPolicyV1(\"policy1\", WafDedicatedPolicyV1Args.builder()\n            .name(\"policy_cc\")\n            .build());\n\n        var rule1 = new WafDedicatedCcRuleV1(\"rule1\", WafDedicatedCcRuleV1Args.builder()\n            .policyId(policy1.wafDedicatedPolicyV1Id())\n            .mode(0.0)\n            .url(\"/abc1\")\n            .limitNum(10.0)\n            .limitPeriod(60.0)\n            .lockTime(10.0)\n            .tagType(\"cookie\")\n            .tagIndex(\"sessionid\")\n            .actions(WafDedicatedCcRuleV1ActionArgs.builder()\n                .category(\"block\")\n                .contentType(\"application/json\")\n                .content(\"{\\\"error\\\":\\\"forbidden\\\"}\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  policy1:\n    type: opentelekomcloud:WafDedicatedPolicyV1\n    name: policy_1\n    properties:\n      name: policy_cc\n  rule1:\n    type: opentelekomcloud:WafDedicatedCcRuleV1\n    name: rule_1\n    properties:\n      policyId: ${policy1.wafDedicatedPolicyV1Id}\n      mode: 0\n      url: /abc1\n      limitNum: 10\n      limitPeriod: 60\n      lockTime: 10\n      tagType: cookie\n      tagIndex: sessionid\n      actions:\n        - category: block\n          contentType: application/json\n          content: '{\"error\":\"forbidden\"}'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDedicated WAF CC Attack Protection Rules can be imported using `policy_id/id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/wafDedicatedCcRuleV1:WafDedicatedCcRuleV1 rule_1 ff95e71c8ae74eba9887193ab22c5757/b39f3a5a1b4f447a8030f0b0703f47f5\n```\n\n","properties":{"actions":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FWafDedicatedCcRuleV1Action:WafDedicatedCcRuleV1Action"},"description":"Protection action to take if the number of requests reaches the upper limit. Changing this creates a new rule.\nThe \u003cspan pulumi-lang-nodejs=\"`conditions`\" pulumi-lang-dotnet=\"`Conditions`\" pulumi-lang-go=\"`conditions`\" pulumi-lang-python=\"`conditions`\" pulumi-lang-yaml=\"`conditions`\" pulumi-lang-java=\"`conditions`\"\u003e`conditions`\u003c/span\u003e block supports:\n"},"conditions":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FWafDedicatedCcRuleV1Condition:WafDedicatedCcRuleV1Condition"},"description":"Rate limit conditions of the CC protection rule. Changing this creates a new rule.\nThe \u003cspan pulumi-lang-nodejs=\"`conditions`\" pulumi-lang-dotnet=\"`Conditions`\" pulumi-lang-go=\"`conditions`\" pulumi-lang-python=\"`conditions`\" pulumi-lang-yaml=\"`conditions`\" pulumi-lang-java=\"`conditions`\"\u003e`conditions`\u003c/span\u003e block supports:\n"},"createdAt":{"type":"number","description":"Timestamp the rule is created.\n"},"description":{"type":"string","description":"Rule description. Changing this creates a new rule.\n"},"limitNum":{"type":"number","description":"Rate limit frequency based on the number of requests. The value ranges from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to `2,147,483,647`. Changing this creates a new rule.\n"},"limitPeriod":{"type":"number","description":"Rate limit period, in seconds. The value ranges from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to `3,600`. Changing this creates a new rule.\n"},"lockTime":{"type":"number","description":"Block duration, in seconds. The value ranges from \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e to `65,535`. Specifies the period within which access is blocked. An error page is displayed in this period. Changing this creates a new rule.\n"},"mode":{"type":"number","description":"Protection mode of the CC attack protection rule. Changing this creates a new rule. Valid Options are:\n"},"policyId":{"type":"string","description":"The WAF policy ID. Changing this creates a new rule.\n"},"status":{"type":"number","description":"Rule status.\n"},"tagCategory":{"type":"string","description":"Specifies the category. The value is \u003cspan pulumi-lang-nodejs=\"`referer`\" pulumi-lang-dotnet=\"`Referer`\" pulumi-lang-go=\"`referer`\" pulumi-lang-python=\"`referer`\" pulumi-lang-yaml=\"`referer`\" pulumi-lang-java=\"`referer`\"\u003e`referer`\u003c/span\u003e. Changing this creates a new rule.\n"},"tagContents":{"type":"array","items":{"type":"string"},"description":"Specifies the category content. Changing this creates a new rule.\n"},"tagIndex":{"type":"string","description":"User identifier. Changing this creates a new rule.\nIf \u003cspan pulumi-lang-nodejs=\"`tagType`\" pulumi-lang-dotnet=\"`TagType`\" pulumi-lang-go=\"`tagType`\" pulumi-lang-python=\"`tag_type`\" pulumi-lang-yaml=\"`tagType`\" pulumi-lang-java=\"`tagType`\"\u003e`tag_type`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`cookie`\" pulumi-lang-dotnet=\"`Cookie`\" pulumi-lang-go=\"`cookie`\" pulumi-lang-python=\"`cookie`\" pulumi-lang-yaml=\"`cookie`\" pulumi-lang-java=\"`cookie`\"\u003e`cookie`\u003c/span\u003e, this parameter indicates cookie name.\nIf \u003cspan pulumi-lang-nodejs=\"`tagType`\" pulumi-lang-dotnet=\"`TagType`\" pulumi-lang-go=\"`tagType`\" pulumi-lang-python=\"`tag_type`\" pulumi-lang-yaml=\"`tagType`\" pulumi-lang-java=\"`tagType`\"\u003e`tag_type`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`header`\" pulumi-lang-dotnet=\"`Header`\" pulumi-lang-go=\"`header`\" pulumi-lang-python=\"`header`\" pulumi-lang-yaml=\"`header`\" pulumi-lang-java=\"`header`\"\u003e`header`\u003c/span\u003e, this parameter indicates header name.\n"},"tagType":{"type":"string","description":"Rate limit mode. Changing this creates a new rule. Valid Options are:\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FWafDedicatedCcRuleV1Timeouts:WafDedicatedCcRuleV1Timeouts"},"unlockNum":{"type":"number","description":"Allowable frequency based on the number of requests. The value ranges from \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e to `2,147,483,647`. This parameter is required only when the protection \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e type is \u003cspan pulumi-lang-nodejs=\"`dynamicBlock`\" pulumi-lang-dotnet=\"`DynamicBlock`\" pulumi-lang-go=\"`dynamicBlock`\" pulumi-lang-python=\"`dynamic_block`\" pulumi-lang-yaml=\"`dynamicBlock`\" pulumi-lang-java=\"`dynamicBlock`\"\u003e`dynamic_block`\u003c/span\u003e. Changing this creates a new rule.\n"},"url":{"type":"string","description":"Path to be protected in the CC attack protection rule. Changing this creates a new rule.\n"},"wafDedicatedCcRuleV1Id":{"type":"string","description":"ID of the rule.\n"}},"type":"object","required":["actions","createdAt","limitNum","limitPeriod","mode","policyId","status","tagType","url","wafDedicatedCcRuleV1Id"],"inputProperties":{"actions":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FWafDedicatedCcRuleV1Action:WafDedicatedCcRuleV1Action"},"description":"Protection action to take if the number of requests reaches the upper limit. Changing this creates a new rule.\nThe \u003cspan pulumi-lang-nodejs=\"`conditions`\" pulumi-lang-dotnet=\"`Conditions`\" pulumi-lang-go=\"`conditions`\" pulumi-lang-python=\"`conditions`\" pulumi-lang-yaml=\"`conditions`\" pulumi-lang-java=\"`conditions`\"\u003e`conditions`\u003c/span\u003e block supports:\n"},"conditions":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FWafDedicatedCcRuleV1Condition:WafDedicatedCcRuleV1Condition"},"description":"Rate limit conditions of the CC protection rule. Changing this creates a new rule.\nThe \u003cspan pulumi-lang-nodejs=\"`conditions`\" pulumi-lang-dotnet=\"`Conditions`\" pulumi-lang-go=\"`conditions`\" pulumi-lang-python=\"`conditions`\" pulumi-lang-yaml=\"`conditions`\" pulumi-lang-java=\"`conditions`\"\u003e`conditions`\u003c/span\u003e block supports:\n"},"description":{"type":"string","description":"Rule description. Changing this creates a new rule.\n"},"limitNum":{"type":"number","description":"Rate limit frequency based on the number of requests. The value ranges from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to `2,147,483,647`. Changing this creates a new rule.\n"},"limitPeriod":{"type":"number","description":"Rate limit period, in seconds. The value ranges from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to `3,600`. Changing this creates a new rule.\n"},"lockTime":{"type":"number","description":"Block duration, in seconds. The value ranges from \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e to `65,535`. Specifies the period within which access is blocked. An error page is displayed in this period. Changing this creates a new rule.\n"},"mode":{"type":"number","description":"Protection mode of the CC attack protection rule. Changing this creates a new rule. Valid Options are:\n"},"policyId":{"type":"string","description":"The WAF policy ID. Changing this creates a new rule.\n"},"tagCategory":{"type":"string","description":"Specifies the category. The value is \u003cspan pulumi-lang-nodejs=\"`referer`\" pulumi-lang-dotnet=\"`Referer`\" pulumi-lang-go=\"`referer`\" pulumi-lang-python=\"`referer`\" pulumi-lang-yaml=\"`referer`\" pulumi-lang-java=\"`referer`\"\u003e`referer`\u003c/span\u003e. Changing this creates a new rule.\n"},"tagContents":{"type":"array","items":{"type":"string"},"description":"Specifies the category content. Changing this creates a new rule.\n"},"tagIndex":{"type":"string","description":"User identifier. Changing this creates a new rule.\nIf \u003cspan pulumi-lang-nodejs=\"`tagType`\" pulumi-lang-dotnet=\"`TagType`\" pulumi-lang-go=\"`tagType`\" pulumi-lang-python=\"`tag_type`\" pulumi-lang-yaml=\"`tagType`\" pulumi-lang-java=\"`tagType`\"\u003e`tag_type`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`cookie`\" pulumi-lang-dotnet=\"`Cookie`\" pulumi-lang-go=\"`cookie`\" pulumi-lang-python=\"`cookie`\" pulumi-lang-yaml=\"`cookie`\" pulumi-lang-java=\"`cookie`\"\u003e`cookie`\u003c/span\u003e, this parameter indicates cookie name.\nIf \u003cspan pulumi-lang-nodejs=\"`tagType`\" pulumi-lang-dotnet=\"`TagType`\" pulumi-lang-go=\"`tagType`\" pulumi-lang-python=\"`tag_type`\" pulumi-lang-yaml=\"`tagType`\" pulumi-lang-java=\"`tagType`\"\u003e`tag_type`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`header`\" pulumi-lang-dotnet=\"`Header`\" pulumi-lang-go=\"`header`\" pulumi-lang-python=\"`header`\" pulumi-lang-yaml=\"`header`\" pulumi-lang-java=\"`header`\"\u003e`header`\u003c/span\u003e, this parameter indicates header name.\n"},"tagType":{"type":"string","description":"Rate limit mode. Changing this creates a new rule. Valid Options are:\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FWafDedicatedCcRuleV1Timeouts:WafDedicatedCcRuleV1Timeouts"},"unlockNum":{"type":"number","description":"Allowable frequency based on the number of requests. The value ranges from \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e to `2,147,483,647`. This parameter is required only when the protection \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e type is \u003cspan pulumi-lang-nodejs=\"`dynamicBlock`\" pulumi-lang-dotnet=\"`DynamicBlock`\" pulumi-lang-go=\"`dynamicBlock`\" pulumi-lang-python=\"`dynamic_block`\" pulumi-lang-yaml=\"`dynamicBlock`\" pulumi-lang-java=\"`dynamicBlock`\"\u003e`dynamic_block`\u003c/span\u003e. Changing this creates a new rule.\n"},"url":{"type":"string","description":"Path to be protected in the CC attack protection rule. Changing this creates a new rule.\n"},"wafDedicatedCcRuleV1Id":{"type":"string","description":"ID of the rule.\n"}},"requiredInputs":["actions","limitNum","limitPeriod","mode","policyId","tagType","url"],"stateInputs":{"description":"Input properties used for looking up and filtering WafDedicatedCcRuleV1 resources.\n","properties":{"actions":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FWafDedicatedCcRuleV1Action:WafDedicatedCcRuleV1Action"},"description":"Protection action to take if the number of requests reaches the upper limit. Changing this creates a new rule.\nThe \u003cspan pulumi-lang-nodejs=\"`conditions`\" pulumi-lang-dotnet=\"`Conditions`\" pulumi-lang-go=\"`conditions`\" pulumi-lang-python=\"`conditions`\" pulumi-lang-yaml=\"`conditions`\" pulumi-lang-java=\"`conditions`\"\u003e`conditions`\u003c/span\u003e block supports:\n"},"conditions":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FWafDedicatedCcRuleV1Condition:WafDedicatedCcRuleV1Condition"},"description":"Rate limit conditions of the CC protection rule. Changing this creates a new rule.\nThe \u003cspan pulumi-lang-nodejs=\"`conditions`\" pulumi-lang-dotnet=\"`Conditions`\" pulumi-lang-go=\"`conditions`\" pulumi-lang-python=\"`conditions`\" pulumi-lang-yaml=\"`conditions`\" pulumi-lang-java=\"`conditions`\"\u003e`conditions`\u003c/span\u003e block supports:\n"},"createdAt":{"type":"number","description":"Timestamp the rule is created.\n"},"description":{"type":"string","description":"Rule description. Changing this creates a new rule.\n"},"limitNum":{"type":"number","description":"Rate limit frequency based on the number of requests. The value ranges from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to `2,147,483,647`. Changing this creates a new rule.\n"},"limitPeriod":{"type":"number","description":"Rate limit period, in seconds. The value ranges from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to `3,600`. Changing this creates a new rule.\n"},"lockTime":{"type":"number","description":"Block duration, in seconds. The value ranges from \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e to `65,535`. Specifies the period within which access is blocked. An error page is displayed in this period. Changing this creates a new rule.\n"},"mode":{"type":"number","description":"Protection mode of the CC attack protection rule. Changing this creates a new rule. Valid Options are:\n"},"policyId":{"type":"string","description":"The WAF policy ID. Changing this creates a new rule.\n"},"status":{"type":"number","description":"Rule status.\n"},"tagCategory":{"type":"string","description":"Specifies the category. The value is \u003cspan pulumi-lang-nodejs=\"`referer`\" pulumi-lang-dotnet=\"`Referer`\" pulumi-lang-go=\"`referer`\" pulumi-lang-python=\"`referer`\" pulumi-lang-yaml=\"`referer`\" pulumi-lang-java=\"`referer`\"\u003e`referer`\u003c/span\u003e. Changing this creates a new rule.\n"},"tagContents":{"type":"array","items":{"type":"string"},"description":"Specifies the category content. Changing this creates a new rule.\n"},"tagIndex":{"type":"string","description":"User identifier. Changing this creates a new rule.\nIf \u003cspan pulumi-lang-nodejs=\"`tagType`\" pulumi-lang-dotnet=\"`TagType`\" pulumi-lang-go=\"`tagType`\" pulumi-lang-python=\"`tag_type`\" pulumi-lang-yaml=\"`tagType`\" pulumi-lang-java=\"`tagType`\"\u003e`tag_type`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`cookie`\" pulumi-lang-dotnet=\"`Cookie`\" pulumi-lang-go=\"`cookie`\" pulumi-lang-python=\"`cookie`\" pulumi-lang-yaml=\"`cookie`\" pulumi-lang-java=\"`cookie`\"\u003e`cookie`\u003c/span\u003e, this parameter indicates cookie name.\nIf \u003cspan pulumi-lang-nodejs=\"`tagType`\" pulumi-lang-dotnet=\"`TagType`\" pulumi-lang-go=\"`tagType`\" pulumi-lang-python=\"`tag_type`\" pulumi-lang-yaml=\"`tagType`\" pulumi-lang-java=\"`tagType`\"\u003e`tag_type`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`header`\" pulumi-lang-dotnet=\"`Header`\" pulumi-lang-go=\"`header`\" pulumi-lang-python=\"`header`\" pulumi-lang-yaml=\"`header`\" pulumi-lang-java=\"`header`\"\u003e`header`\u003c/span\u003e, this parameter indicates header name.\n"},"tagType":{"type":"string","description":"Rate limit mode. Changing this creates a new rule. Valid Options are:\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FWafDedicatedCcRuleV1Timeouts:WafDedicatedCcRuleV1Timeouts"},"unlockNum":{"type":"number","description":"Allowable frequency based on the number of requests. The value ranges from \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e to `2,147,483,647`. This parameter is required only when the protection \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e type is \u003cspan pulumi-lang-nodejs=\"`dynamicBlock`\" pulumi-lang-dotnet=\"`DynamicBlock`\" pulumi-lang-go=\"`dynamicBlock`\" pulumi-lang-python=\"`dynamic_block`\" pulumi-lang-yaml=\"`dynamicBlock`\" pulumi-lang-java=\"`dynamicBlock`\"\u003e`dynamic_block`\u003c/span\u003e. Changing this creates a new rule.\n"},"url":{"type":"string","description":"Path to be protected in the CC attack protection rule. Changing this creates a new rule.\n"},"wafDedicatedCcRuleV1Id":{"type":"string","description":"ID of the rule.\n"}},"type":"object"}},"opentelekomcloud:index/wafDedicatedCertificateV1:WafDedicatedCertificateV1":{"description":"Up-to-date reference of API arguments for WAF dedicated certificate you can get at\n[documentation portal](https://docs.otc.t-systems.com/web-application-firewall-dedicated/api-ref/apis/certificate_management/index.html).\n\nManages a WAF dedicated certificate resource within OpenTelekomCloud.\n\n\u003e **Note:** For this resource region must be set in environment variable `OS_REGION_NAME` or in `clouds.yaml`\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst certificate1 = new opentelekomcloud.WafDedicatedCertificateV1(\"certificate_1\", {\n    name: \"certificate_1\",\n    content: `-----BEGIN CERTIFICATE-----\nMIIFazCCA1OgAwIBAgIUN3w1KX8/T/HWVxZIOdHXPhUOnsAwDQYJKoZIhvcNAQEL\nBQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM\n...\ndKvZbPEsygYRIjwyhHHUh/YXH8KDI/uu6u6AxDckQ3rP1BkkKXr5NPBGjVgM3ZI=\n-----END CERTIFICATE-----\n`,\n    key: `-----BEGIN PRIVATE KEY-----\nMIIJQQIBADANBgkqhkiG9w0BAQEFAASCCSswggknAgEAAoICAQC+9uwFVenCdPD9\n5LWSWMuy4riZW718wxBpYV5Y9N8nM7N0qZLLdpImZrzBbaBldTI+AZGI3Nupuurw\n...\ns9urs/Kk/tbQhsEvu0X8FyGwo0zH6rG8apTFTlac+v4mJ4vlpxSvT5+FW2lgLISE\n+4sM7kp0qO3/p+45HykwBY5iHq3H\n-----END PRIVATE KEY-----\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ncertificate1 = opentelekomcloud.WafDedicatedCertificateV1(\"certificate_1\",\n    name=\"certificate_1\",\n    content=\"\"\"-----BEGIN CERTIFICATE-----\nMIIFazCCA1OgAwIBAgIUN3w1KX8/T/HWVxZIOdHXPhUOnsAwDQYJKoZIhvcNAQEL\nBQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM\n...\ndKvZbPEsygYRIjwyhHHUh/YXH8KDI/uu6u6AxDckQ3rP1BkkKXr5NPBGjVgM3ZI=\n-----END CERTIFICATE-----\n\"\"\",\n    key=\"\"\"-----BEGIN PRIVATE KEY-----\nMIIJQQIBADANBgkqhkiG9w0BAQEFAASCCSswggknAgEAAoICAQC+9uwFVenCdPD9\n5LWSWMuy4riZW718wxBpYV5Y9N8nM7N0qZLLdpImZrzBbaBldTI+AZGI3Nupuurw\n...\ns9urs/Kk/tbQhsEvu0X8FyGwo0zH6rG8apTFTlac+v4mJ4vlpxSvT5+FW2lgLISE\n+4sM7kp0qO3/p+45HykwBY5iHq3H\n-----END PRIVATE KEY-----\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var certificate1 = new Opentelekomcloud.WafDedicatedCertificateV1(\"certificate_1\", new()\n    {\n        Name = \"certificate_1\",\n        Content = @\"-----BEGIN CERTIFICATE-----\nMIIFazCCA1OgAwIBAgIUN3w1KX8/T/HWVxZIOdHXPhUOnsAwDQYJKoZIhvcNAQEL\nBQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM\n...\ndKvZbPEsygYRIjwyhHHUh/YXH8KDI/uu6u6AxDckQ3rP1BkkKXr5NPBGjVgM3ZI=\n-----END CERTIFICATE-----\n\",\n        Key = @\"-----BEGIN PRIVATE KEY-----\nMIIJQQIBADANBgkqhkiG9w0BAQEFAASCCSswggknAgEAAoICAQC+9uwFVenCdPD9\n5LWSWMuy4riZW718wxBpYV5Y9N8nM7N0qZLLdpImZrzBbaBldTI+AZGI3Nupuurw\n...\ns9urs/Kk/tbQhsEvu0X8FyGwo0zH6rG8apTFTlac+v4mJ4vlpxSvT5+FW2lgLISE\n+4sM7kp0qO3/p+45HykwBY5iHq3H\n-----END PRIVATE KEY-----\n\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewWafDedicatedCertificateV1(ctx, \"certificate_1\", \u0026opentelekomcloud.WafDedicatedCertificateV1Args{\n\t\t\tName: pulumi.String(\"certificate_1\"),\n\t\t\tContent: pulumi.String(`-----BEGIN CERTIFICATE-----\nMIIFazCCA1OgAwIBAgIUN3w1KX8/T/HWVxZIOdHXPhUOnsAwDQYJKoZIhvcNAQEL\nBQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM\n...\ndKvZbPEsygYRIjwyhHHUh/YXH8KDI/uu6u6AxDckQ3rP1BkkKXr5NPBGjVgM3ZI=\n-----END CERTIFICATE-----\n`),\n\t\t\tKey: pulumi.String(`-----BEGIN PRIVATE KEY-----\nMIIJQQIBADANBgkqhkiG9w0BAQEFAASCCSswggknAgEAAoICAQC+9uwFVenCdPD9\n5LWSWMuy4riZW718wxBpYV5Y9N8nM7N0qZLLdpImZrzBbaBldTI+AZGI3Nupuurw\n...\ns9urs/Kk/tbQhsEvu0X8FyGwo0zH6rG8apTFTlac+v4mJ4vlpxSvT5+FW2lgLISE\n+4sM7kp0qO3/p+45HykwBY5iHq3H\n-----END PRIVATE KEY-----\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.WafDedicatedCertificateV1;\nimport com.pulumi.opentelekomcloud.WafDedicatedCertificateV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var certificate1 = new WafDedicatedCertificateV1(\"certificate1\", WafDedicatedCertificateV1Args.builder()\n            .name(\"certificate_1\")\n            .content(\"\"\"\n-----BEGIN CERTIFICATE-----\nMIIFazCCA1OgAwIBAgIUN3w1KX8/T/HWVxZIOdHXPhUOnsAwDQYJKoZIhvcNAQEL\nBQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM\n...\ndKvZbPEsygYRIjwyhHHUh/YXH8KDI/uu6u6AxDckQ3rP1BkkKXr5NPBGjVgM3ZI=\n-----END CERTIFICATE-----\n            \"\"\")\n            .key(\"\"\"\n-----BEGIN PRIVATE KEY-----\nMIIJQQIBADANBgkqhkiG9w0BAQEFAASCCSswggknAgEAAoICAQC+9uwFVenCdPD9\n5LWSWMuy4riZW718wxBpYV5Y9N8nM7N0qZLLdpImZrzBbaBldTI+AZGI3Nupuurw\n...\ns9urs/Kk/tbQhsEvu0X8FyGwo0zH6rG8apTFTlac+v4mJ4vlpxSvT5+FW2lgLISE\n+4sM7kp0qO3/p+45HykwBY5iHq3H\n-----END PRIVATE KEY-----\n            \"\"\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  certificate1:\n    type: opentelekomcloud:WafDedicatedCertificateV1\n    name: certificate_1\n    properties:\n      name: certificate_1\n      content: |\n        -----BEGIN CERTIFICATE-----\n        MIIFazCCA1OgAwIBAgIUN3w1KX8/T/HWVxZIOdHXPhUOnsAwDQYJKoZIhvcNAQEL\n        BQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM\n        ...\n        dKvZbPEsygYRIjwyhHHUh/YXH8KDI/uu6u6AxDckQ3rP1BkkKXr5NPBGjVgM3ZI=\n        -----END CERTIFICATE-----\n      key: |\n        -----BEGIN PRIVATE KEY-----\n        MIIJQQIBADANBgkqhkiG9w0BAQEFAASCCSswggknAgEAAoICAQC+9uwFVenCdPD9\n        5LWSWMuy4riZW718wxBpYV5Y9N8nM7N0qZLLdpImZrzBbaBldTI+AZGI3Nupuurw\n        ...\n        s9urs/Kk/tbQhsEvu0X8FyGwo0zH6rG8apTFTlac+v4mJ4vlpxSvT5+FW2lgLISE\n        +4sM7kp0qO3/p+45HykwBY5iHq3H\n        -----END PRIVATE KEY-----\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nWAF dedicated certificates can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/wafDedicatedCertificateV1:WafDedicatedCertificateV1 cert_1 7117d38e-4c8f-4624-a505-bd96b97d024c\n```\n\n","properties":{"content":{"type":"string","description":"The certificate content. Changing this creates a new certificate.\n"},"createdAt":{"type":"string","description":"Date when the certificate is uploaded.\n"},"expires":{"type":"string","description":"Date when the certificate expires.\n"},"key":{"type":"string","description":"The private key. Changing this creates a new certificate.\n"},"name":{"type":"string","description":"The certificate name. The value can contain a maximum of 64 characters.\nOnly digits, letters, underscores(`_`), and hyphens(`-`) are allowed. Changing this creates a new certificate.\n"},"region":{"type":"string"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FWafDedicatedCertificateV1Timeouts:WafDedicatedCertificateV1Timeouts"},"wafDedicatedCertificateV1Id":{"type":"string","description":"ID of the certificate.\n"}},"type":"object","required":["content","createdAt","expires","key","name","region","wafDedicatedCertificateV1Id"],"inputProperties":{"content":{"type":"string","description":"The certificate content. Changing this creates a new certificate.\n"},"key":{"type":"string","description":"The private key. Changing this creates a new certificate.\n"},"name":{"type":"string","description":"The certificate name. The value can contain a maximum of 64 characters.\nOnly digits, letters, underscores(`_`), and hyphens(`-`) are allowed. Changing this creates a new certificate.\n"},"region":{"type":"string"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FWafDedicatedCertificateV1Timeouts:WafDedicatedCertificateV1Timeouts"},"wafDedicatedCertificateV1Id":{"type":"string","description":"ID of the certificate.\n"}},"requiredInputs":["content","key"],"stateInputs":{"description":"Input properties used for looking up and filtering WafDedicatedCertificateV1 resources.\n","properties":{"content":{"type":"string","description":"The certificate content. Changing this creates a new certificate.\n"},"createdAt":{"type":"string","description":"Date when the certificate is uploaded.\n"},"expires":{"type":"string","description":"Date when the certificate expires.\n"},"key":{"type":"string","description":"The private key. Changing this creates a new certificate.\n"},"name":{"type":"string","description":"The certificate name. The value can contain a maximum of 64 characters.\nOnly digits, letters, underscores(`_`), and hyphens(`-`) are allowed. Changing this creates a new certificate.\n"},"region":{"type":"string"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FWafDedicatedCertificateV1Timeouts:WafDedicatedCertificateV1Timeouts"},"wafDedicatedCertificateV1Id":{"type":"string","description":"ID of the certificate.\n"}},"type":"object"}},"opentelekomcloud:index/wafDedicatedDataMaskingRuleV1:WafDedicatedDataMaskingRuleV1":{"description":"Up-to-date reference of API arguments for WAF dedicated Data Masking rule you can get at\n[documentation portal](https://docs.otc.t-systems.com/web-application-firewall-dedicated/api-ref/apis/rule_management/creating_a_data_masking_rule.html).\n\nManages a WAF Dedicated Data Masking Rule resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst policy1 = new opentelekomcloud.WafDedicatedPolicyV1(\"policy_1\", {name: \"policy_dm\"});\nconst rule1 = new opentelekomcloud.WafDedicatedDataMaskingRuleV1(\"rule_1\", {\n    policyId: policy1.wafDedicatedPolicyV1Id,\n    name: \"data_masking\",\n    url: \"/login\",\n    category: \"params\",\n    description: \"description\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\npolicy1 = opentelekomcloud.WafDedicatedPolicyV1(\"policy_1\", name=\"policy_dm\")\nrule1 = opentelekomcloud.WafDedicatedDataMaskingRuleV1(\"rule_1\",\n    policy_id=policy1.waf_dedicated_policy_v1_id,\n    name=\"data_masking\",\n    url=\"/login\",\n    category=\"params\",\n    description=\"description\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var policy1 = new Opentelekomcloud.WafDedicatedPolicyV1(\"policy_1\", new()\n    {\n        Name = \"policy_dm\",\n    });\n\n    var rule1 = new Opentelekomcloud.WafDedicatedDataMaskingRuleV1(\"rule_1\", new()\n    {\n        PolicyId = policy1.WafDedicatedPolicyV1Id,\n        Name = \"data_masking\",\n        Url = \"/login\",\n        Category = \"params\",\n        Description = \"description\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpolicy1, err := opentelekomcloud.NewWafDedicatedPolicyV1(ctx, \"policy_1\", \u0026opentelekomcloud.WafDedicatedPolicyV1Args{\n\t\t\tName: pulumi.String(\"policy_dm\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewWafDedicatedDataMaskingRuleV1(ctx, \"rule_1\", \u0026opentelekomcloud.WafDedicatedDataMaskingRuleV1Args{\n\t\t\tPolicyId:    policy1.WafDedicatedPolicyV1Id,\n\t\t\tName:        pulumi.String(\"data_masking\"),\n\t\t\tUrl:         pulumi.String(\"/login\"),\n\t\t\tCategory:    pulumi.String(\"params\"),\n\t\t\tDescription: pulumi.String(\"description\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.WafDedicatedPolicyV1;\nimport com.pulumi.opentelekomcloud.WafDedicatedPolicyV1Args;\nimport com.pulumi.opentelekomcloud.WafDedicatedDataMaskingRuleV1;\nimport com.pulumi.opentelekomcloud.WafDedicatedDataMaskingRuleV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var policy1 = new WafDedicatedPolicyV1(\"policy1\", WafDedicatedPolicyV1Args.builder()\n            .name(\"policy_dm\")\n            .build());\n\n        var rule1 = new WafDedicatedDataMaskingRuleV1(\"rule1\", WafDedicatedDataMaskingRuleV1Args.builder()\n            .policyId(policy1.wafDedicatedPolicyV1Id())\n            .name(\"data_masking\")\n            .url(\"/login\")\n            .category(\"params\")\n            .description(\"description\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  policy1:\n    type: opentelekomcloud:WafDedicatedPolicyV1\n    name: policy_1\n    properties:\n      name: policy_dm\n  rule1:\n    type: opentelekomcloud:WafDedicatedDataMaskingRuleV1\n    name: rule_1\n    properties:\n      policyId: ${policy1.wafDedicatedPolicyV1Id}\n      name: data_masking\n      url: /login\n      category: params\n      description: description\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDedicated WAF Data Masking Rules can be imported using `policy_id/id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/wafDedicatedDataMaskingRuleV1:WafDedicatedDataMaskingRuleV1 rule_1 ff95e71c8ae74eba9887193ab22c5757/b39f3a5a1b4f447a8030f0b0703f47f5\n```\n\n","properties":{"category":{"type":"string","description":"Masked field.\nValues:\n"},"createdAt":{"type":"number","description":"Timestamp the rule is created.\n"},"description":{"type":"string","description":"Rule description.\n"},"name":{"type":"string","description":"Name of the masked field.\n"},"policyId":{"type":"string","description":"The WAF policy ID. Changing this creates a new rule.\n"},"status":{"type":"number","description":"Rule status. The value can be \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FWafDedicatedDataMaskingRuleV1Timeouts:WafDedicatedDataMaskingRuleV1Timeouts"},"url":{"type":"string","description":"URL protected by the data masking rule. The value must be in the standard URL format, for example, /admin.\n"},"wafDedicatedDataMaskingRuleV1Id":{"type":"string","description":"ID of the rule.\n"}},"type":"object","required":["category","createdAt","name","policyId","status","url","wafDedicatedDataMaskingRuleV1Id"],"inputProperties":{"category":{"type":"string","description":"Masked field.\nValues:\n"},"description":{"type":"string","description":"Rule description.\n"},"name":{"type":"string","description":"Name of the masked field.\n"},"policyId":{"type":"string","description":"The WAF policy ID. Changing this creates a new rule.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FWafDedicatedDataMaskingRuleV1Timeouts:WafDedicatedDataMaskingRuleV1Timeouts"},"url":{"type":"string","description":"URL protected by the data masking rule. The value must be in the standard URL format, for example, /admin.\n"},"wafDedicatedDataMaskingRuleV1Id":{"type":"string","description":"ID of the rule.\n"}},"requiredInputs":["category","policyId","url"],"stateInputs":{"description":"Input properties used for looking up and filtering WafDedicatedDataMaskingRuleV1 resources.\n","properties":{"category":{"type":"string","description":"Masked field.\nValues:\n"},"createdAt":{"type":"number","description":"Timestamp the rule is created.\n"},"description":{"type":"string","description":"Rule description.\n"},"name":{"type":"string","description":"Name of the masked field.\n"},"policyId":{"type":"string","description":"The WAF policy ID. Changing this creates a new rule.\n"},"status":{"type":"number","description":"Rule status. The value can be \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FWafDedicatedDataMaskingRuleV1Timeouts:WafDedicatedDataMaskingRuleV1Timeouts"},"url":{"type":"string","description":"URL protected by the data masking rule. The value must be in the standard URL format, for example, /admin.\n"},"wafDedicatedDataMaskingRuleV1Id":{"type":"string","description":"ID of the rule.\n"}},"type":"object"}},"opentelekomcloud:index/wafDedicatedDomainV1:WafDedicatedDomainV1":{"description":"Up-to-date reference of API arguments for WAF dedicated domain you can get at\n[documentation portal](https://docs.otc.t-systems.com/web-application-firewall-dedicated/api-ref/apis/managing_websites_protected_in_dedicated_mode/index.html).\n\nManages a WAF dedicated domain resource within OpenTelekomCloud.\n\n\u003e **Note:** For this resource region must be set in environment variable `OS_REGION_NAME` or in `clouds.yaml`\n\n## Example Usage\n\n### Basic\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst sharedSubnet = opentelekomcloud.getVpcSubnetV1({\n    name: \"my_subnet\",\n});\nconst domain1 = new opentelekomcloud.WafDedicatedDomainV1(\"domain_1\", {\n    domain: \"www.mydom.com\",\n    keepPolicy: false,\n    proxy: true,\n    servers: [{\n        clientProtocol: \"HTTP\",\n        serverProtocol: \"HTTP\",\n        address: \"192.168.0.10\",\n        port: 8080,\n        type: \"ipv4\",\n        vpcId: sharedSubnet.then(sharedSubnet =\u003e sharedSubnet.vpcId),\n    }],\n    timeoutConfig: {\n        connectTimeout: 150,\n        readTimeout: 200,\n        sendTimeout: 100,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nshared_subnet = opentelekomcloud.get_vpc_subnet_v1(name=\"my_subnet\")\ndomain1 = opentelekomcloud.WafDedicatedDomainV1(\"domain_1\",\n    domain=\"www.mydom.com\",\n    keep_policy=False,\n    proxy=True,\n    servers=[{\n        \"client_protocol\": \"HTTP\",\n        \"server_protocol\": \"HTTP\",\n        \"address\": \"192.168.0.10\",\n        \"port\": 8080,\n        \"type\": \"ipv4\",\n        \"vpc_id\": shared_subnet.vpc_id,\n    }],\n    timeout_config={\n        \"connect_timeout\": 150,\n        \"read_timeout\": 200,\n        \"send_timeout\": 100,\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var sharedSubnet = Opentelekomcloud.GetVpcSubnetV1.Invoke(new()\n    {\n        Name = \"my_subnet\",\n    });\n\n    var domain1 = new Opentelekomcloud.WafDedicatedDomainV1(\"domain_1\", new()\n    {\n        Domain = \"www.mydom.com\",\n        KeepPolicy = false,\n        Proxy = true,\n        Servers = new[]\n        {\n            new Opentelekomcloud.Inputs.WafDedicatedDomainV1ServerArgs\n            {\n                ClientProtocol = \"HTTP\",\n                ServerProtocol = \"HTTP\",\n                Address = \"192.168.0.10\",\n                Port = 8080,\n                Type = \"ipv4\",\n                VpcId = sharedSubnet.Apply(getVpcSubnetV1Result =\u003e getVpcSubnetV1Result.VpcId),\n            },\n        },\n        TimeoutConfig = new Opentelekomcloud.Inputs.WafDedicatedDomainV1TimeoutConfigArgs\n        {\n            ConnectTimeout = 150,\n            ReadTimeout = 200,\n            SendTimeout = 100,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsharedSubnet, err := opentelekomcloud.LookupVpcSubnetV1(ctx, \u0026opentelekomcloud.LookupVpcSubnetV1Args{\n\t\t\tName: pulumi.StringRef(\"my_subnet\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewWafDedicatedDomainV1(ctx, \"domain_1\", \u0026opentelekomcloud.WafDedicatedDomainV1Args{\n\t\t\tDomain:     pulumi.String(\"www.mydom.com\"),\n\t\t\tKeepPolicy: pulumi.Bool(false),\n\t\t\tProxy:      pulumi.Bool(true),\n\t\t\tServers: opentelekomcloud.WafDedicatedDomainV1ServerArray{\n\t\t\t\t\u0026opentelekomcloud.WafDedicatedDomainV1ServerArgs{\n\t\t\t\t\tClientProtocol: pulumi.String(\"HTTP\"),\n\t\t\t\t\tServerProtocol: pulumi.String(\"HTTP\"),\n\t\t\t\t\tAddress:        pulumi.String(\"192.168.0.10\"),\n\t\t\t\t\tPort:           pulumi.Float64(8080),\n\t\t\t\t\tType:           pulumi.String(\"ipv4\"),\n\t\t\t\t\tVpcId:          pulumi.String(sharedSubnet.VpcId),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTimeoutConfig: \u0026opentelekomcloud.WafDedicatedDomainV1TimeoutConfigArgs{\n\t\t\t\tConnectTimeout: pulumi.Float64(150),\n\t\t\t\tReadTimeout:    pulumi.Float64(200),\n\t\t\t\tSendTimeout:    pulumi.Float64(100),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetVpcSubnetV1Args;\nimport com.pulumi.opentelekomcloud.WafDedicatedDomainV1;\nimport com.pulumi.opentelekomcloud.WafDedicatedDomainV1Args;\nimport com.pulumi.opentelekomcloud.inputs.WafDedicatedDomainV1ServerArgs;\nimport com.pulumi.opentelekomcloud.inputs.WafDedicatedDomainV1TimeoutConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var sharedSubnet = OpentelekomcloudFunctions.getVpcSubnetV1(GetVpcSubnetV1Args.builder()\n            .name(\"my_subnet\")\n            .build());\n\n        var domain1 = new WafDedicatedDomainV1(\"domain1\", WafDedicatedDomainV1Args.builder()\n            .domain(\"www.mydom.com\")\n            .keepPolicy(false)\n            .proxy(true)\n            .servers(WafDedicatedDomainV1ServerArgs.builder()\n                .clientProtocol(\"HTTP\")\n                .serverProtocol(\"HTTP\")\n                .address(\"192.168.0.10\")\n                .port(8080.0)\n                .type(\"ipv4\")\n                .vpcId(sharedSubnet.vpcId())\n                .build())\n            .timeoutConfig(WafDedicatedDomainV1TimeoutConfigArgs.builder()\n                .connectTimeout(150.0)\n                .readTimeout(200.0)\n                .sendTimeout(100.0)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  domain1:\n    type: opentelekomcloud:WafDedicatedDomainV1\n    name: domain_1\n    properties:\n      domain: www.mydom.com\n      keepPolicy: false\n      proxy: true\n      servers:\n        - clientProtocol: HTTP\n          serverProtocol: HTTP\n          address: 192.168.0.10\n          port: 8080\n          type: ipv4\n          vpcId: ${sharedSubnet.vpcId}\n      timeoutConfig:\n        connectTimeout: 150\n        readTimeout: 200\n        sendTimeout: 100\nvariables:\n  sharedSubnet:\n    fn::invoke:\n      function: opentelekomcloud:getVpcSubnetV1\n      arguments:\n        name: my_subnet\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With certificate\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst sharedSubnet = opentelekomcloud.getVpcSubnetV1({\n    name: \"my_subnet\",\n});\nconst certificate1 = new opentelekomcloud.WafDedicatedCertificateV1(\"certificate_1\", {\n    name: \"certificate_1\",\n    content: `-----BEGIN CERTIFICATE-----\nMIIFazCCA1OgAwIBAgIUN3w1KX8/T/HWVxZIOdHXPhUOnsAwDQYJKoZIhvcNAQEL\nBQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM\n...\ndKvZbPEsygYRIjwyhHHUh/YXH8KDI/uu6u6AxDckQ3rP1BkkKXr5NPBGjVgM3ZI=\n-----END CERTIFICATE-----\n`,\n    key: `-----BEGIN PRIVATE KEY-----\nMIIJQQIBADANBgkqhkiG9w0BAQEFAASCCSswggknAgEAAoICAQC+9uwFVenCdPD9\n5LWSWMuy4riZW718wxBpYV5Y9N8nM7N0qZLLdpImZrzBbaBldTI+AZGI3Nupuurw\n...\ns9urs/Kk/tbQhsEvu0X8FyGwo0zH6rG8apTFTlac+v4mJ4vlpxSvT5+FW2lgLISE\n+4sM7kp0qO3/p+45HykwBY5iHq3H\n-----END PRIVATE KEY-----\n`,\n});\nconst domain1 = new opentelekomcloud.WafDedicatedDomainV1(\"domain_1\", {\n    domain: \"www.mydom.com\",\n    certificateId: certificate1.wafDedicatedCertificateV1Id,\n    keepPolicy: false,\n    proxy: false,\n    tls: \"TLS v1.1\",\n    cipher: \"cipher_1\",\n    servers: [{\n        clientProtocol: \"HTTPS\",\n        serverProtocol: \"HTTP\",\n        address: \"192.168.0.20\",\n        port: 8443,\n        type: \"ipv4\",\n        vpcId: sharedSubnet.then(sharedSubnet =\u003e sharedSubnet.vpcId),\n    }],\n}, {\n    dependsOn: [certificate1],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nshared_subnet = opentelekomcloud.get_vpc_subnet_v1(name=\"my_subnet\")\ncertificate1 = opentelekomcloud.WafDedicatedCertificateV1(\"certificate_1\",\n    name=\"certificate_1\",\n    content=\"\"\"-----BEGIN CERTIFICATE-----\nMIIFazCCA1OgAwIBAgIUN3w1KX8/T/HWVxZIOdHXPhUOnsAwDQYJKoZIhvcNAQEL\nBQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM\n...\ndKvZbPEsygYRIjwyhHHUh/YXH8KDI/uu6u6AxDckQ3rP1BkkKXr5NPBGjVgM3ZI=\n-----END CERTIFICATE-----\n\"\"\",\n    key=\"\"\"-----BEGIN PRIVATE KEY-----\nMIIJQQIBADANBgkqhkiG9w0BAQEFAASCCSswggknAgEAAoICAQC+9uwFVenCdPD9\n5LWSWMuy4riZW718wxBpYV5Y9N8nM7N0qZLLdpImZrzBbaBldTI+AZGI3Nupuurw\n...\ns9urs/Kk/tbQhsEvu0X8FyGwo0zH6rG8apTFTlac+v4mJ4vlpxSvT5+FW2lgLISE\n+4sM7kp0qO3/p+45HykwBY5iHq3H\n-----END PRIVATE KEY-----\n\"\"\")\ndomain1 = opentelekomcloud.WafDedicatedDomainV1(\"domain_1\",\n    domain=\"www.mydom.com\",\n    certificate_id=certificate1.waf_dedicated_certificate_v1_id,\n    keep_policy=False,\n    proxy=False,\n    tls=\"TLS v1.1\",\n    cipher=\"cipher_1\",\n    servers=[{\n        \"client_protocol\": \"HTTPS\",\n        \"server_protocol\": \"HTTP\",\n        \"address\": \"192.168.0.20\",\n        \"port\": 8443,\n        \"type\": \"ipv4\",\n        \"vpc_id\": shared_subnet.vpc_id,\n    }],\n    opts = pulumi.ResourceOptions(depends_on=[certificate1]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var sharedSubnet = Opentelekomcloud.GetVpcSubnetV1.Invoke(new()\n    {\n        Name = \"my_subnet\",\n    });\n\n    var certificate1 = new Opentelekomcloud.WafDedicatedCertificateV1(\"certificate_1\", new()\n    {\n        Name = \"certificate_1\",\n        Content = @\"-----BEGIN CERTIFICATE-----\nMIIFazCCA1OgAwIBAgIUN3w1KX8/T/HWVxZIOdHXPhUOnsAwDQYJKoZIhvcNAQEL\nBQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM\n...\ndKvZbPEsygYRIjwyhHHUh/YXH8KDI/uu6u6AxDckQ3rP1BkkKXr5NPBGjVgM3ZI=\n-----END CERTIFICATE-----\n\",\n        Key = @\"-----BEGIN PRIVATE KEY-----\nMIIJQQIBADANBgkqhkiG9w0BAQEFAASCCSswggknAgEAAoICAQC+9uwFVenCdPD9\n5LWSWMuy4riZW718wxBpYV5Y9N8nM7N0qZLLdpImZrzBbaBldTI+AZGI3Nupuurw\n...\ns9urs/Kk/tbQhsEvu0X8FyGwo0zH6rG8apTFTlac+v4mJ4vlpxSvT5+FW2lgLISE\n+4sM7kp0qO3/p+45HykwBY5iHq3H\n-----END PRIVATE KEY-----\n\",\n    });\n\n    var domain1 = new Opentelekomcloud.WafDedicatedDomainV1(\"domain_1\", new()\n    {\n        Domain = \"www.mydom.com\",\n        CertificateId = certificate1.WafDedicatedCertificateV1Id,\n        KeepPolicy = false,\n        Proxy = false,\n        Tls = \"TLS v1.1\",\n        Cipher = \"cipher_1\",\n        Servers = new[]\n        {\n            new Opentelekomcloud.Inputs.WafDedicatedDomainV1ServerArgs\n            {\n                ClientProtocol = \"HTTPS\",\n                ServerProtocol = \"HTTP\",\n                Address = \"192.168.0.20\",\n                Port = 8443,\n                Type = \"ipv4\",\n                VpcId = sharedSubnet.Apply(getVpcSubnetV1Result =\u003e getVpcSubnetV1Result.VpcId),\n            },\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            certificate1,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsharedSubnet, err := opentelekomcloud.LookupVpcSubnetV1(ctx, \u0026opentelekomcloud.LookupVpcSubnetV1Args{\n\t\t\tName: pulumi.StringRef(\"my_subnet\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcertificate1, err := opentelekomcloud.NewWafDedicatedCertificateV1(ctx, \"certificate_1\", \u0026opentelekomcloud.WafDedicatedCertificateV1Args{\n\t\t\tName: pulumi.String(\"certificate_1\"),\n\t\t\tContent: pulumi.String(`-----BEGIN CERTIFICATE-----\nMIIFazCCA1OgAwIBAgIUN3w1KX8/T/HWVxZIOdHXPhUOnsAwDQYJKoZIhvcNAQEL\nBQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM\n...\ndKvZbPEsygYRIjwyhHHUh/YXH8KDI/uu6u6AxDckQ3rP1BkkKXr5NPBGjVgM3ZI=\n-----END CERTIFICATE-----\n`),\n\t\t\tKey: pulumi.String(`-----BEGIN PRIVATE KEY-----\nMIIJQQIBADANBgkqhkiG9w0BAQEFAASCCSswggknAgEAAoICAQC+9uwFVenCdPD9\n5LWSWMuy4riZW718wxBpYV5Y9N8nM7N0qZLLdpImZrzBbaBldTI+AZGI3Nupuurw\n...\ns9urs/Kk/tbQhsEvu0X8FyGwo0zH6rG8apTFTlac+v4mJ4vlpxSvT5+FW2lgLISE\n+4sM7kp0qO3/p+45HykwBY5iHq3H\n-----END PRIVATE KEY-----\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewWafDedicatedDomainV1(ctx, \"domain_1\", \u0026opentelekomcloud.WafDedicatedDomainV1Args{\n\t\t\tDomain:        pulumi.String(\"www.mydom.com\"),\n\t\t\tCertificateId: certificate1.WafDedicatedCertificateV1Id,\n\t\t\tKeepPolicy:    pulumi.Bool(false),\n\t\t\tProxy:         pulumi.Bool(false),\n\t\t\tTls:           pulumi.String(\"TLS v1.1\"),\n\t\t\tCipher:        pulumi.String(\"cipher_1\"),\n\t\t\tServers: opentelekomcloud.WafDedicatedDomainV1ServerArray{\n\t\t\t\t\u0026opentelekomcloud.WafDedicatedDomainV1ServerArgs{\n\t\t\t\t\tClientProtocol: pulumi.String(\"HTTPS\"),\n\t\t\t\t\tServerProtocol: pulumi.String(\"HTTP\"),\n\t\t\t\t\tAddress:        pulumi.String(\"192.168.0.20\"),\n\t\t\t\t\tPort:           pulumi.Float64(8443),\n\t\t\t\t\tType:           pulumi.String(\"ipv4\"),\n\t\t\t\t\tVpcId:          pulumi.String(sharedSubnet.VpcId),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tcertificate1,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetVpcSubnetV1Args;\nimport com.pulumi.opentelekomcloud.WafDedicatedCertificateV1;\nimport com.pulumi.opentelekomcloud.WafDedicatedCertificateV1Args;\nimport com.pulumi.opentelekomcloud.WafDedicatedDomainV1;\nimport com.pulumi.opentelekomcloud.WafDedicatedDomainV1Args;\nimport com.pulumi.opentelekomcloud.inputs.WafDedicatedDomainV1ServerArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var sharedSubnet = OpentelekomcloudFunctions.getVpcSubnetV1(GetVpcSubnetV1Args.builder()\n            .name(\"my_subnet\")\n            .build());\n\n        var certificate1 = new WafDedicatedCertificateV1(\"certificate1\", WafDedicatedCertificateV1Args.builder()\n            .name(\"certificate_1\")\n            .content(\"\"\"\n-----BEGIN CERTIFICATE-----\nMIIFazCCA1OgAwIBAgIUN3w1KX8/T/HWVxZIOdHXPhUOnsAwDQYJKoZIhvcNAQEL\nBQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM\n...\ndKvZbPEsygYRIjwyhHHUh/YXH8KDI/uu6u6AxDckQ3rP1BkkKXr5NPBGjVgM3ZI=\n-----END CERTIFICATE-----\n            \"\"\")\n            .key(\"\"\"\n-----BEGIN PRIVATE KEY-----\nMIIJQQIBADANBgkqhkiG9w0BAQEFAASCCSswggknAgEAAoICAQC+9uwFVenCdPD9\n5LWSWMuy4riZW718wxBpYV5Y9N8nM7N0qZLLdpImZrzBbaBldTI+AZGI3Nupuurw\n...\ns9urs/Kk/tbQhsEvu0X8FyGwo0zH6rG8apTFTlac+v4mJ4vlpxSvT5+FW2lgLISE\n+4sM7kp0qO3/p+45HykwBY5iHq3H\n-----END PRIVATE KEY-----\n            \"\"\")\n            .build());\n\n        var domain1 = new WafDedicatedDomainV1(\"domain1\", WafDedicatedDomainV1Args.builder()\n            .domain(\"www.mydom.com\")\n            .certificateId(certificate1.wafDedicatedCertificateV1Id())\n            .keepPolicy(false)\n            .proxy(false)\n            .tls(\"TLS v1.1\")\n            .cipher(\"cipher_1\")\n            .servers(WafDedicatedDomainV1ServerArgs.builder()\n                .clientProtocol(\"HTTPS\")\n                .serverProtocol(\"HTTP\")\n                .address(\"192.168.0.20\")\n                .port(8443.0)\n                .type(\"ipv4\")\n                .vpcId(sharedSubnet.vpcId())\n                .build())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(certificate1)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  certificate1:\n    type: opentelekomcloud:WafDedicatedCertificateV1\n    name: certificate_1\n    properties:\n      name: certificate_1\n      content: |\n        -----BEGIN CERTIFICATE-----\n        MIIFazCCA1OgAwIBAgIUN3w1KX8/T/HWVxZIOdHXPhUOnsAwDQYJKoZIhvcNAQEL\n        BQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM\n        ...\n        dKvZbPEsygYRIjwyhHHUh/YXH8KDI/uu6u6AxDckQ3rP1BkkKXr5NPBGjVgM3ZI=\n        -----END CERTIFICATE-----\n      key: |\n        -----BEGIN PRIVATE KEY-----\n        MIIJQQIBADANBgkqhkiG9w0BAQEFAASCCSswggknAgEAAoICAQC+9uwFVenCdPD9\n        5LWSWMuy4riZW718wxBpYV5Y9N8nM7N0qZLLdpImZrzBbaBldTI+AZGI3Nupuurw\n        ...\n        s9urs/Kk/tbQhsEvu0X8FyGwo0zH6rG8apTFTlac+v4mJ4vlpxSvT5+FW2lgLISE\n        +4sM7kp0qO3/p+45HykwBY5iHq3H\n        -----END PRIVATE KEY-----\n  domain1:\n    type: opentelekomcloud:WafDedicatedDomainV1\n    name: domain_1\n    properties:\n      domain: www.mydom.com\n      certificateId: ${certificate1.wafDedicatedCertificateV1Id}\n      keepPolicy: false\n      proxy: false\n      tls: TLS v1.1\n      cipher: cipher_1\n      servers:\n        - clientProtocol: HTTPS\n          serverProtocol: HTTP\n          address: 192.168.0.20\n          port: 8443\n          type: ipv4\n          vpcId: ${sharedSubnet.vpcId}\n    options:\n      dependsOn:\n        - ${certificate1}\nvariables:\n  sharedSubnet:\n    fn::invoke:\n      function: opentelekomcloud:getVpcSubnetV1\n      arguments:\n        name: my_subnet\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nWAF dedicated domain can be imported using the `id`, e.g.\n\nbash\n\n```sh\n$ pulumi import opentelekomcloud:index/wafDedicatedDomainV1:WafDedicatedDomainV1 dom \u003cid\u003e\n```\n\n","properties":{"accessStatus":{"type":"number","description":"Whether a domain name is connected to WAF. Valid values are:\n"},"alarmPage":{"type":"object","additionalProperties":{"type":"string"},"description":"The alarm page of domain. Valid values are:\n"},"certificateId":{"type":"string","description":"Specifies the certificate ID. This parameter is mandatory when \u003cspan pulumi-lang-nodejs=\"`clientProtocol`\" pulumi-lang-dotnet=\"`ClientProtocol`\" pulumi-lang-go=\"`clientProtocol`\" pulumi-lang-python=\"`client_protocol`\" pulumi-lang-yaml=\"`clientProtocol`\" pulumi-lang-java=\"`clientProtocol`\"\u003e`client_protocol`\u003c/span\u003e\nis set to HTTPS.\n"},"certificateName":{"type":"string","description":"The name of the certificate used by the domain name.\n"},"cipher":{"type":"string","description":"Specifies the cipher suite of domain.\nValues are:\n"},"complianceCertification":{"type":"object","additionalProperties":{"type":"boolean"},"description":"The compliance certifications of the domain, values are:\n"},"createdAt":{"type":"number","description":"Timestamp when the dedicated WAF domain was created.\n"},"domain":{"type":"string","description":"Specifies the protected domain name or IP address (port allowed). For example,\n`www.example.com` or `*.example.com` or `www.example.com:89`. Changing this creates a new domain.\n"},"keepPolicy":{"type":"boolean","description":"Specifies whether to retain the policy when deleting a domain name.\nDefaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"pci3ds":{"type":"boolean","description":"Specifies the status of the PCI 3DS compliance certification check.\nValues are: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. This parameter must be used together with tls and cipher.\n\n\u003e **NOTE:** Tls must be set to `TLS v1.2`, and cipher must be set to \u003cspan pulumi-lang-nodejs=\"`cipher2`\" pulumi-lang-dotnet=\"`Cipher2`\" pulumi-lang-go=\"`cipher2`\" pulumi-lang-python=\"`cipher_2`\" pulumi-lang-yaml=\"`cipher2`\" pulumi-lang-java=\"`cipher2`\"\u003e`cipher_2`\u003c/span\u003e. The PCI 3DS compliance certification\ncheck cannot be disabled after being enabled.\n"},"pciDss":{"type":"boolean","description":"Specifies the status of the PCI DSS compliance certification check.\nValues are: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. This parameter must be used together with tls and cipher.\n\n\u003e **NOTE:** Tls must be set to `TLS v1.2`, and cipher must be set to \u003cspan pulumi-lang-nodejs=\"`cipher2`\" pulumi-lang-dotnet=\"`Cipher2`\" pulumi-lang-go=\"`cipher2`\" pulumi-lang-python=\"`cipher_2`\" pulumi-lang-yaml=\"`cipher2`\" pulumi-lang-java=\"`cipher2`\"\u003e`cipher_2`\u003c/span\u003e.\n"},"policyId":{"type":"string","description":"Specifies the policy ID associated with the domain. If not specified, a new policy\nwill be created automatically.\n"},"protectStatus":{"type":"number","description":"The protection status of domain, \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e: suspended, \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e: enabled.\nDefault value is \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"protocol":{"type":"string","description":"The protocol type of the client. The options are `HTTP` and `HTTPS`.\n"},"proxy":{"type":"boolean","description":"Specifies whether a proxy is configured. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **NOTE:** WAF forwards only HTTP/S traffic. So WAF cannot serve your non-HTTP/S traffic, such as UDP, SMTP, FTP,\nand basically all other non-HTTP/S traffic. If a proxy such as public network ELB (or Nginx) has been used, set\nproxy \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e to ensure that the WAF security policy takes effect for the real source IP address.\n"},"region":{"type":"string","description":"The region in which to create the dedicated mode domain resource. If omitted,\nthe provider-level region will be used. Changing this setting will push a new domain.\n"},"servers":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FWafDedicatedDomainV1Server:WafDedicatedDomainV1Server"},"description":"The server configuration list of the domain. A maximum of 80 can be configured.\nThe \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e block supports:\n"},"timeoutConfig":{"$ref":"#/types/opentelekomcloud:index%2FWafDedicatedDomainV1TimeoutConfig:WafDedicatedDomainV1TimeoutConfig","description":"Specifies the timeout configuration.\nThe \u003cspan pulumi-lang-nodejs=\"`timeoutConfig`\" pulumi-lang-dotnet=\"`TimeoutConfig`\" pulumi-lang-go=\"`timeoutConfig`\" pulumi-lang-python=\"`timeout_config`\" pulumi-lang-yaml=\"`timeoutConfig`\" pulumi-lang-java=\"`timeoutConfig`\"\u003e`timeout_config`\u003c/span\u003e structure is documented below.\n"},"tls":{"type":"string","description":"Specifies the minimum required TLS version.\nValues are:\n+ `TLS v1.0`\n+ `TLS v1.1`\n+ `TLS v1.2`\n+ `TLS v1.3`\n"},"trafficIdentifier":{"type":"object","additionalProperties":{"type":"string"},"description":"The traffic identifier of domain. Valid values are:\n"},"wafDedicatedDomainV1Id":{"type":"string","description":"ID of the domain.\n"}},"type":"object","required":["accessStatus","alarmPage","certificateName","cipher","complianceCertification","createdAt","domain","pci3ds","pciDss","policyId","protectStatus","protocol","region","servers","tls","trafficIdentifier","wafDedicatedDomainV1Id"],"inputProperties":{"certificateId":{"type":"string","description":"Specifies the certificate ID. This parameter is mandatory when \u003cspan pulumi-lang-nodejs=\"`clientProtocol`\" pulumi-lang-dotnet=\"`ClientProtocol`\" pulumi-lang-go=\"`clientProtocol`\" pulumi-lang-python=\"`client_protocol`\" pulumi-lang-yaml=\"`clientProtocol`\" pulumi-lang-java=\"`clientProtocol`\"\u003e`client_protocol`\u003c/span\u003e\nis set to HTTPS.\n"},"cipher":{"type":"string","description":"Specifies the cipher suite of domain.\nValues are:\n"},"domain":{"type":"string","description":"Specifies the protected domain name or IP address (port allowed). For example,\n`www.example.com` or `*.example.com` or `www.example.com:89`. Changing this creates a new domain.\n"},"keepPolicy":{"type":"boolean","description":"Specifies whether to retain the policy when deleting a domain name.\nDefaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"pci3ds":{"type":"boolean","description":"Specifies the status of the PCI 3DS compliance certification check.\nValues are: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. This parameter must be used together with tls and cipher.\n\n\u003e **NOTE:** Tls must be set to `TLS v1.2`, and cipher must be set to \u003cspan pulumi-lang-nodejs=\"`cipher2`\" pulumi-lang-dotnet=\"`Cipher2`\" pulumi-lang-go=\"`cipher2`\" pulumi-lang-python=\"`cipher_2`\" pulumi-lang-yaml=\"`cipher2`\" pulumi-lang-java=\"`cipher2`\"\u003e`cipher_2`\u003c/span\u003e. The PCI 3DS compliance certification\ncheck cannot be disabled after being enabled.\n"},"pciDss":{"type":"boolean","description":"Specifies the status of the PCI DSS compliance certification check.\nValues are: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. This parameter must be used together with tls and cipher.\n\n\u003e **NOTE:** Tls must be set to `TLS v1.2`, and cipher must be set to \u003cspan pulumi-lang-nodejs=\"`cipher2`\" pulumi-lang-dotnet=\"`Cipher2`\" pulumi-lang-go=\"`cipher2`\" pulumi-lang-python=\"`cipher_2`\" pulumi-lang-yaml=\"`cipher2`\" pulumi-lang-java=\"`cipher2`\"\u003e`cipher_2`\u003c/span\u003e.\n"},"policyId":{"type":"string","description":"Specifies the policy ID associated with the domain. If not specified, a new policy\nwill be created automatically.\n"},"protectStatus":{"type":"number","description":"The protection status of domain, \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e: suspended, \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e: enabled.\nDefault value is \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"proxy":{"type":"boolean","description":"Specifies whether a proxy is configured. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **NOTE:** WAF forwards only HTTP/S traffic. So WAF cannot serve your non-HTTP/S traffic, such as UDP, SMTP, FTP,\nand basically all other non-HTTP/S traffic. If a proxy such as public network ELB (or Nginx) has been used, set\nproxy \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e to ensure that the WAF security policy takes effect for the real source IP address.\n"},"region":{"type":"string","description":"The region in which to create the dedicated mode domain resource. If omitted,\nthe provider-level region will be used. Changing this setting will push a new domain.\n"},"servers":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FWafDedicatedDomainV1Server:WafDedicatedDomainV1Server"},"description":"The server configuration list of the domain. A maximum of 80 can be configured.\nThe \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e block supports:\n"},"timeoutConfig":{"$ref":"#/types/opentelekomcloud:index%2FWafDedicatedDomainV1TimeoutConfig:WafDedicatedDomainV1TimeoutConfig","description":"Specifies the timeout configuration.\nThe \u003cspan pulumi-lang-nodejs=\"`timeoutConfig`\" pulumi-lang-dotnet=\"`TimeoutConfig`\" pulumi-lang-go=\"`timeoutConfig`\" pulumi-lang-python=\"`timeout_config`\" pulumi-lang-yaml=\"`timeoutConfig`\" pulumi-lang-java=\"`timeoutConfig`\"\u003e`timeout_config`\u003c/span\u003e structure is documented below.\n"},"tls":{"type":"string","description":"Specifies the minimum required TLS version.\nValues are:\n+ `TLS v1.0`\n+ `TLS v1.1`\n+ `TLS v1.2`\n+ `TLS v1.3`\n"},"wafDedicatedDomainV1Id":{"type":"string","description":"ID of the domain.\n"}},"requiredInputs":["domain","servers"],"stateInputs":{"description":"Input properties used for looking up and filtering WafDedicatedDomainV1 resources.\n","properties":{"accessStatus":{"type":"number","description":"Whether a domain name is connected to WAF. Valid values are:\n"},"alarmPage":{"type":"object","additionalProperties":{"type":"string"},"description":"The alarm page of domain. Valid values are:\n"},"certificateId":{"type":"string","description":"Specifies the certificate ID. This parameter is mandatory when \u003cspan pulumi-lang-nodejs=\"`clientProtocol`\" pulumi-lang-dotnet=\"`ClientProtocol`\" pulumi-lang-go=\"`clientProtocol`\" pulumi-lang-python=\"`client_protocol`\" pulumi-lang-yaml=\"`clientProtocol`\" pulumi-lang-java=\"`clientProtocol`\"\u003e`client_protocol`\u003c/span\u003e\nis set to HTTPS.\n"},"certificateName":{"type":"string","description":"The name of the certificate used by the domain name.\n"},"cipher":{"type":"string","description":"Specifies the cipher suite of domain.\nValues are:\n"},"complianceCertification":{"type":"object","additionalProperties":{"type":"boolean"},"description":"The compliance certifications of the domain, values are:\n"},"createdAt":{"type":"number","description":"Timestamp when the dedicated WAF domain was created.\n"},"domain":{"type":"string","description":"Specifies the protected domain name or IP address (port allowed). For example,\n`www.example.com` or `*.example.com` or `www.example.com:89`. Changing this creates a new domain.\n"},"keepPolicy":{"type":"boolean","description":"Specifies whether to retain the policy when deleting a domain name.\nDefaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"pci3ds":{"type":"boolean","description":"Specifies the status of the PCI 3DS compliance certification check.\nValues are: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. This parameter must be used together with tls and cipher.\n\n\u003e **NOTE:** Tls must be set to `TLS v1.2`, and cipher must be set to \u003cspan pulumi-lang-nodejs=\"`cipher2`\" pulumi-lang-dotnet=\"`Cipher2`\" pulumi-lang-go=\"`cipher2`\" pulumi-lang-python=\"`cipher_2`\" pulumi-lang-yaml=\"`cipher2`\" pulumi-lang-java=\"`cipher2`\"\u003e`cipher_2`\u003c/span\u003e. The PCI 3DS compliance certification\ncheck cannot be disabled after being enabled.\n"},"pciDss":{"type":"boolean","description":"Specifies the status of the PCI DSS compliance certification check.\nValues are: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. This parameter must be used together with tls and cipher.\n\n\u003e **NOTE:** Tls must be set to `TLS v1.2`, and cipher must be set to \u003cspan pulumi-lang-nodejs=\"`cipher2`\" pulumi-lang-dotnet=\"`Cipher2`\" pulumi-lang-go=\"`cipher2`\" pulumi-lang-python=\"`cipher_2`\" pulumi-lang-yaml=\"`cipher2`\" pulumi-lang-java=\"`cipher2`\"\u003e`cipher_2`\u003c/span\u003e.\n"},"policyId":{"type":"string","description":"Specifies the policy ID associated with the domain. If not specified, a new policy\nwill be created automatically.\n"},"protectStatus":{"type":"number","description":"The protection status of domain, \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e: suspended, \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e: enabled.\nDefault value is \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"protocol":{"type":"string","description":"The protocol type of the client. The options are `HTTP` and `HTTPS`.\n"},"proxy":{"type":"boolean","description":"Specifies whether a proxy is configured. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **NOTE:** WAF forwards only HTTP/S traffic. So WAF cannot serve your non-HTTP/S traffic, such as UDP, SMTP, FTP,\nand basically all other non-HTTP/S traffic. If a proxy such as public network ELB (or Nginx) has been used, set\nproxy \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e to ensure that the WAF security policy takes effect for the real source IP address.\n"},"region":{"type":"string","description":"The region in which to create the dedicated mode domain resource. If omitted,\nthe provider-level region will be used. Changing this setting will push a new domain.\n"},"servers":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FWafDedicatedDomainV1Server:WafDedicatedDomainV1Server"},"description":"The server configuration list of the domain. A maximum of 80 can be configured.\nThe \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e block supports:\n"},"timeoutConfig":{"$ref":"#/types/opentelekomcloud:index%2FWafDedicatedDomainV1TimeoutConfig:WafDedicatedDomainV1TimeoutConfig","description":"Specifies the timeout configuration.\nThe \u003cspan pulumi-lang-nodejs=\"`timeoutConfig`\" pulumi-lang-dotnet=\"`TimeoutConfig`\" pulumi-lang-go=\"`timeoutConfig`\" pulumi-lang-python=\"`timeout_config`\" pulumi-lang-yaml=\"`timeoutConfig`\" pulumi-lang-java=\"`timeoutConfig`\"\u003e`timeout_config`\u003c/span\u003e structure is documented below.\n"},"tls":{"type":"string","description":"Specifies the minimum required TLS version.\nValues are:\n+ `TLS v1.0`\n+ `TLS v1.1`\n+ `TLS v1.2`\n+ `TLS v1.3`\n"},"trafficIdentifier":{"type":"object","additionalProperties":{"type":"string"},"description":"The traffic identifier of domain. Valid values are:\n"},"wafDedicatedDomainV1Id":{"type":"string","description":"ID of the domain.\n"}},"type":"object"}},"opentelekomcloud:index/wafDedicatedGeoIpRuleV1:WafDedicatedGeoIpRuleV1":{"description":"Up-to-date reference of API arguments for WAF dedicated Geolocation Access Control rule you can get at\n[documentation portal](https://docs.otc.t-systems.com/web-application-firewall-dedicated/api-ref/apis/rule_management/creating_a_geolocation_access_control_rule.html).\n\nManages a WAF Dedicated Geolocation Access Control Rule resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst policy1 = new opentelekomcloud.WafDedicatedPolicyV1(\"policy_1\", {name: \"policy_gi\"});\nconst rule1 = new opentelekomcloud.WafDedicatedGeoIpRuleV1(\"rule_1\", {\n    policyId: policy1.wafDedicatedPolicyV1Id,\n    regionCode: \"BR\",\n    action: 0,\n    name: \"test\",\n    description: \"test description\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\npolicy1 = opentelekomcloud.WafDedicatedPolicyV1(\"policy_1\", name=\"policy_gi\")\nrule1 = opentelekomcloud.WafDedicatedGeoIpRuleV1(\"rule_1\",\n    policy_id=policy1.waf_dedicated_policy_v1_id,\n    region_code=\"BR\",\n    action=0,\n    name=\"test\",\n    description=\"test description\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var policy1 = new Opentelekomcloud.WafDedicatedPolicyV1(\"policy_1\", new()\n    {\n        Name = \"policy_gi\",\n    });\n\n    var rule1 = new Opentelekomcloud.WafDedicatedGeoIpRuleV1(\"rule_1\", new()\n    {\n        PolicyId = policy1.WafDedicatedPolicyV1Id,\n        RegionCode = \"BR\",\n        Action = 0,\n        Name = \"test\",\n        Description = \"test description\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpolicy1, err := opentelekomcloud.NewWafDedicatedPolicyV1(ctx, \"policy_1\", \u0026opentelekomcloud.WafDedicatedPolicyV1Args{\n\t\t\tName: pulumi.String(\"policy_gi\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewWafDedicatedGeoIpRuleV1(ctx, \"rule_1\", \u0026opentelekomcloud.WafDedicatedGeoIpRuleV1Args{\n\t\t\tPolicyId:    policy1.WafDedicatedPolicyV1Id,\n\t\t\tRegionCode:  pulumi.String(\"BR\"),\n\t\t\tAction:      pulumi.Float64(0),\n\t\t\tName:        pulumi.String(\"test\"),\n\t\t\tDescription: pulumi.String(\"test description\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.WafDedicatedPolicyV1;\nimport com.pulumi.opentelekomcloud.WafDedicatedPolicyV1Args;\nimport com.pulumi.opentelekomcloud.WafDedicatedGeoIpRuleV1;\nimport com.pulumi.opentelekomcloud.WafDedicatedGeoIpRuleV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var policy1 = new WafDedicatedPolicyV1(\"policy1\", WafDedicatedPolicyV1Args.builder()\n            .name(\"policy_gi\")\n            .build());\n\n        var rule1 = new WafDedicatedGeoIpRuleV1(\"rule1\", WafDedicatedGeoIpRuleV1Args.builder()\n            .policyId(policy1.wafDedicatedPolicyV1Id())\n            .regionCode(\"BR\")\n            .action(0.0)\n            .name(\"test\")\n            .description(\"test description\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  policy1:\n    type: opentelekomcloud:WafDedicatedPolicyV1\n    name: policy_1\n    properties:\n      name: policy_gi\n  rule1:\n    type: opentelekomcloud:WafDedicatedGeoIpRuleV1\n    name: rule_1\n    properties:\n      policyId: ${policy1.wafDedicatedPolicyV1Id}\n      regionCode: BR\n      action: 0\n      name: test\n      description: test description\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDedicated WAF Web Geolocation Access Control rules can be imported using `policy_id/id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/wafDedicatedGeoIpRuleV1:WafDedicatedGeoIpRuleV1 rule_1 ff95e71c8ae74eba9887193ab22c5757/b39f3a5a1b4f447a8030f0b0703f47f5\n```\n\n","properties":{"action":{"type":"number","description":"Protective action.\nThe value can be:\n+ 0: WAF blocks the requests that hit the rule.\n+ 1: WAF allows the requests that hit the rule.\n+ 2: WAF only logs the requests that hit the rule.\n"},"createdAt":{"type":"number","description":"Timestamp the rule is created.\n"},"description":{"type":"string","description":"Rule description\n"},"name":{"type":"string","description":"Rule name.\n"},"policyId":{"type":"string","description":"The WAF policy ID. Changing this creates a new rule.\n"},"regionCode":{"type":"string","description":"Applicable regions. The value can be the region code. For more geographical location codes, see docs \"Appendix - Geographic Location Codes.\"\nValues:\n+ CA: Canada\n+ US: USA\n+ AU: Australia\n+ IN: India\n+ JP: Japan\n+ UK: United Kingdom\n+ FR: France\n+ DE: Germany\n+ BR: Brazil\n+ Ukraine: Ukraine\n+ Pakistan: Pakistan\n+ Palestine: Palestine\n+ Israel: Israel\n+ Iraq: Afghanistan\n+ Libya: Libya\n+ Turkey: Turkey\n+ Thailand: Thailand\n+ Singapore: Singapore\n+ South Africa: South Africa\n+ Mexico: Mexico\n+ Peru: Peru\n"},"status":{"type":"number","description":"Rule status. The value can be:\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FWafDedicatedGeoIpRuleV1Timeouts:WafDedicatedGeoIpRuleV1Timeouts"},"wafDedicatedGeoIpRuleV1Id":{"type":"string","description":"ID of the rule.\n"}},"type":"object","required":["action","createdAt","name","policyId","regionCode","status","wafDedicatedGeoIpRuleV1Id"],"inputProperties":{"action":{"type":"number","description":"Protective action.\nThe value can be:\n+ 0: WAF blocks the requests that hit the rule.\n+ 1: WAF allows the requests that hit the rule.\n+ 2: WAF only logs the requests that hit the rule.\n"},"description":{"type":"string","description":"Rule description\n"},"name":{"type":"string","description":"Rule name.\n"},"policyId":{"type":"string","description":"The WAF policy ID. Changing this creates a new rule.\n"},"regionCode":{"type":"string","description":"Applicable regions. The value can be the region code. For more geographical location codes, see docs \"Appendix - Geographic Location Codes.\"\nValues:\n+ CA: Canada\n+ US: USA\n+ AU: Australia\n+ IN: India\n+ JP: Japan\n+ UK: United Kingdom\n+ FR: France\n+ DE: Germany\n+ BR: Brazil\n+ Ukraine: Ukraine\n+ Pakistan: Pakistan\n+ Palestine: Palestine\n+ Israel: Israel\n+ Iraq: Afghanistan\n+ Libya: Libya\n+ Turkey: Turkey\n+ Thailand: Thailand\n+ Singapore: Singapore\n+ South Africa: South Africa\n+ Mexico: Mexico\n+ Peru: Peru\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FWafDedicatedGeoIpRuleV1Timeouts:WafDedicatedGeoIpRuleV1Timeouts"},"wafDedicatedGeoIpRuleV1Id":{"type":"string","description":"ID of the rule.\n"}},"requiredInputs":["action","policyId","regionCode"],"stateInputs":{"description":"Input properties used for looking up and filtering WafDedicatedGeoIpRuleV1 resources.\n","properties":{"action":{"type":"number","description":"Protective action.\nThe value can be:\n+ 0: WAF blocks the requests that hit the rule.\n+ 1: WAF allows the requests that hit the rule.\n+ 2: WAF only logs the requests that hit the rule.\n"},"createdAt":{"type":"number","description":"Timestamp the rule is created.\n"},"description":{"type":"string","description":"Rule description\n"},"name":{"type":"string","description":"Rule name.\n"},"policyId":{"type":"string","description":"The WAF policy ID. Changing this creates a new rule.\n"},"regionCode":{"type":"string","description":"Applicable regions. The value can be the region code. For more geographical location codes, see docs \"Appendix - Geographic Location Codes.\"\nValues:\n+ CA: Canada\n+ US: USA\n+ AU: Australia\n+ IN: India\n+ JP: Japan\n+ UK: United Kingdom\n+ FR: France\n+ DE: Germany\n+ BR: Brazil\n+ Ukraine: Ukraine\n+ Pakistan: Pakistan\n+ Palestine: Palestine\n+ Israel: Israel\n+ Iraq: Afghanistan\n+ Libya: Libya\n+ Turkey: Turkey\n+ Thailand: Thailand\n+ Singapore: Singapore\n+ South Africa: South Africa\n+ Mexico: Mexico\n+ Peru: Peru\n"},"status":{"type":"number","description":"Rule status. The value can be:\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FWafDedicatedGeoIpRuleV1Timeouts:WafDedicatedGeoIpRuleV1Timeouts"},"wafDedicatedGeoIpRuleV1Id":{"type":"string","description":"ID of the rule.\n"}},"type":"object"}},"opentelekomcloud:index/wafDedicatedInstanceV1:WafDedicatedInstanceV1":{"description":"Up-to-date reference of API arguments for WAF dedicated instance you can get at\n[documentation portal](https://docs.otc.t-systems.com/web-application-firewall-dedicated/api-ref/apis/dedicated_instance_management/index.html).\n\nManages a WAF dedicated instance resource within OpenTelekomCloud.\n\n\u003e **Note:** For this resource region must be set in environment variable `OS_REGION_NAME` or in `clouds.yaml`\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst sharedSubnet = opentelekomcloud.getVpcSubnetV1({\n    name: \"my_subnet\",\n});\nconst defaultSecgroup = opentelekomcloud.getNetworkingSecgroupV2({\n    name: \"default\",\n});\nconst wafd1 = new opentelekomcloud.WafDedicatedInstanceV1(\"wafd_1\", {\n    name: \"wafd-instance-1\",\n    availabilityZone: \"eu-de-01\",\n    specification: \"waf.instance.professional\",\n    flavor: \"s2.large.2\",\n    architecture: \"x86\",\n    vpcId: sharedSubnet.then(sharedSubnet =\u003e sharedSubnet.vpcId),\n    subnetId: sharedSubnet.then(sharedSubnet =\u003e sharedSubnet.networkId),\n    securityGroups: [defaultSecgroup.then(defaultSecgroup =\u003e defaultSecgroup.id)],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nshared_subnet = opentelekomcloud.get_vpc_subnet_v1(name=\"my_subnet\")\ndefault_secgroup = opentelekomcloud.get_networking_secgroup_v2(name=\"default\")\nwafd1 = opentelekomcloud.WafDedicatedInstanceV1(\"wafd_1\",\n    name=\"wafd-instance-1\",\n    availability_zone=\"eu-de-01\",\n    specification=\"waf.instance.professional\",\n    flavor=\"s2.large.2\",\n    architecture=\"x86\",\n    vpc_id=shared_subnet.vpc_id,\n    subnet_id=shared_subnet.network_id,\n    security_groups=[default_secgroup.id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var sharedSubnet = Opentelekomcloud.GetVpcSubnetV1.Invoke(new()\n    {\n        Name = \"my_subnet\",\n    });\n\n    var defaultSecgroup = Opentelekomcloud.GetNetworkingSecgroupV2.Invoke(new()\n    {\n        Name = \"default\",\n    });\n\n    var wafd1 = new Opentelekomcloud.WafDedicatedInstanceV1(\"wafd_1\", new()\n    {\n        Name = \"wafd-instance-1\",\n        AvailabilityZone = \"eu-de-01\",\n        Specification = \"waf.instance.professional\",\n        Flavor = \"s2.large.2\",\n        Architecture = \"x86\",\n        VpcId = sharedSubnet.Apply(getVpcSubnetV1Result =\u003e getVpcSubnetV1Result.VpcId),\n        SubnetId = sharedSubnet.Apply(getVpcSubnetV1Result =\u003e getVpcSubnetV1Result.NetworkId),\n        SecurityGroups = new[]\n        {\n            defaultSecgroup.Apply(getNetworkingSecgroupV2Result =\u003e getNetworkingSecgroupV2Result.Id),\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsharedSubnet, err := opentelekomcloud.LookupVpcSubnetV1(ctx, \u0026opentelekomcloud.LookupVpcSubnetV1Args{\n\t\t\tName: pulumi.StringRef(\"my_subnet\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecgroup, err := opentelekomcloud.LookupNetworkingSecgroupV2(ctx, \u0026opentelekomcloud.LookupNetworkingSecgroupV2Args{\n\t\t\tName: pulumi.StringRef(\"default\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewWafDedicatedInstanceV1(ctx, \"wafd_1\", \u0026opentelekomcloud.WafDedicatedInstanceV1Args{\n\t\t\tName:             pulumi.String(\"wafd-instance-1\"),\n\t\t\tAvailabilityZone: pulumi.String(\"eu-de-01\"),\n\t\t\tSpecification:    pulumi.String(\"waf.instance.professional\"),\n\t\t\tFlavor:           pulumi.String(\"s2.large.2\"),\n\t\t\tArchitecture:     pulumi.String(\"x86\"),\n\t\t\tVpcId:            pulumi.String(sharedSubnet.VpcId),\n\t\t\tSubnetId:         pulumi.String(sharedSubnet.NetworkId),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tpulumi.String(defaultSecgroup.Id),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetVpcSubnetV1Args;\nimport com.pulumi.opentelekomcloud.inputs.GetNetworkingSecgroupV2Args;\nimport com.pulumi.opentelekomcloud.WafDedicatedInstanceV1;\nimport com.pulumi.opentelekomcloud.WafDedicatedInstanceV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var sharedSubnet = OpentelekomcloudFunctions.getVpcSubnetV1(GetVpcSubnetV1Args.builder()\n            .name(\"my_subnet\")\n            .build());\n\n        final var defaultSecgroup = OpentelekomcloudFunctions.getNetworkingSecgroupV2(GetNetworkingSecgroupV2Args.builder()\n            .name(\"default\")\n            .build());\n\n        var wafd1 = new WafDedicatedInstanceV1(\"wafd1\", WafDedicatedInstanceV1Args.builder()\n            .name(\"wafd-instance-1\")\n            .availabilityZone(\"eu-de-01\")\n            .specification(\"waf.instance.professional\")\n            .flavor(\"s2.large.2\")\n            .architecture(\"x86\")\n            .vpcId(sharedSubnet.vpcId())\n            .subnetId(sharedSubnet.networkId())\n            .securityGroups(defaultSecgroup.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  wafd1:\n    type: opentelekomcloud:WafDedicatedInstanceV1\n    name: wafd_1\n    properties:\n      name: wafd-instance-1\n      availabilityZone: eu-de-01\n      specification: waf.instance.professional\n      flavor: s2.large.2\n      architecture: x86\n      vpcId: ${sharedSubnet.vpcId}\n      subnetId: ${sharedSubnet.networkId}\n      securityGroups:\n        - ${defaultSecgroup.id}\nvariables:\n  sharedSubnet:\n    fn::invoke:\n      function: opentelekomcloud:getVpcSubnetV1\n      arguments:\n        name: my_subnet\n  defaultSecgroup:\n    fn::invoke:\n      function: opentelekomcloud:getNetworkingSecgroupV2\n      arguments:\n        name: default\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nWAF dedicated instance can be imported using the `id`, e.g.\n\nbash\n\n```sh\n$ pulumi import opentelekomcloud:index/wafDedicatedInstanceV1:WafDedicatedInstanceV1 wafd \u003cid\u003e\n```\n\n  lifecycle {\n\n    ignore_changes = [\n\n      res_tenant,\n\n      specification,\n\n    ]\n\n  }\n\n","properties":{"accessStatus":{"type":"number","description":"The access status of the instance.\n"},"architecture":{"type":"string","description":"Dedicated engine CPU architecture. Default value is \u003cspan pulumi-lang-nodejs=\"`x86`\" pulumi-lang-dotnet=\"`X86`\" pulumi-lang-go=\"`x86`\" pulumi-lang-python=\"`x86`\" pulumi-lang-yaml=\"`x86`\" pulumi-lang-java=\"`x86`\"\u003e`x86`\u003c/span\u003e.\nChanging this will create a new instance.\n"},"availabilityZone":{"type":"string","description":"AZ where the dedicated engine is to be created. Changing this will create a new instance.\n"},"billingStatus":{"type":"number","description":"Billing status of dedicated WAF engine. The value can be \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e.\n"},"createdAt":{"type":"number","description":"Timestamp when the dedicated WAF engine was created.\n"},"flavor":{"type":"string","description":"ID of the specifications of the ECS hosting the dedicated engine.\nYou can go to the management console and confirm supported specifications. Changing this will create a new instance.\n"},"name":{"type":"string","description":"The name of WAF dedicated instance. Duplicate names are allowed, we suggest to keeping the\nname unique.\n"},"region":{"type":"string","description":"Region where a dedicated engine is to be created. If omitted, the\nprovider-level region will be used. Changing this setting will create a new instance.\n"},"resTenant":{"type":"boolean","description":"Whether the dedicated WAF instance is network interface type.\nDefault value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this will create a new instance.\n\u003e **Note:** This type of instance is not available in `eu-ch2` region, must set \u003cspan pulumi-lang-nodejs=\"`resTenant`\" pulumi-lang-dotnet=\"`ResTenant`\" pulumi-lang-go=\"`resTenant`\" pulumi-lang-python=\"`res_tenant`\" pulumi-lang-yaml=\"`resTenant`\" pulumi-lang-java=\"`resTenant`\"\u003e`res_tenant`\u003c/span\u003e value to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e there.\n"},"securityGroups":{"type":"array","items":{"type":"string"},"description":"ID of the security group where the dedicated engine is located.\nChanging this will create a new instance.\n"},"serverId":{"type":"string","description":"The id of the instance server.\n"},"serviceIp":{"type":"string","description":"The ip of the instance service.\n"},"specification":{"type":"string","description":"Specifications of the dedicated engine version. Values are:\n+ `waf.instance.professional` - The professional edition, throughput: 100 Mbit/s; QPS: 2,000 (Reference only).\n+ `waf.instance.enterprise` - The enterprise edition, throughput: 500 Mbit/s; QPS: 10,000 (Reference only).\n"},"status":{"type":"number","description":"Running status of the dedicated engine.\nThe value can be:\n"},"subnetId":{"type":"string","description":"ID of the VPC subnet where the dedicated engine is located.\nSubnet_id has the same value as\u003cspan pulumi-lang-nodejs=\" networkId \" pulumi-lang-dotnet=\" NetworkId \" pulumi-lang-go=\" networkId \" pulumi-lang-python=\" network_id \" pulumi-lang-yaml=\" networkId \" pulumi-lang-java=\" networkId \"\u003e network_id \u003c/span\u003eobtained by calling the OpenStack APIs. Changing this will create a\nnew instance.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FWafDedicatedInstanceV1Timeouts:WafDedicatedInstanceV1Timeouts"},"upgradable":{"type":"boolean","description":"The instance is to support upgrades. \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e: Cannot be upgraded, \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e: Can be upgraded.\n"},"vpcId":{"type":"string","description":"ID of the VPC where the dedicated engine is located. Changing this will create a new\ninstance.\n"},"wafDedicatedInstanceV1Id":{"type":"string","description":"The id of the instance.\n"}},"type":"object","required":["accessStatus","availabilityZone","billingStatus","createdAt","flavor","name","region","securityGroups","serverId","serviceIp","specification","status","subnetId","upgradable","vpcId","wafDedicatedInstanceV1Id"],"inputProperties":{"architecture":{"type":"string","description":"Dedicated engine CPU architecture. Default value is \u003cspan pulumi-lang-nodejs=\"`x86`\" pulumi-lang-dotnet=\"`X86`\" pulumi-lang-go=\"`x86`\" pulumi-lang-python=\"`x86`\" pulumi-lang-yaml=\"`x86`\" pulumi-lang-java=\"`x86`\"\u003e`x86`\u003c/span\u003e.\nChanging this will create a new instance.\n"},"availabilityZone":{"type":"string","description":"AZ where the dedicated engine is to be created. Changing this will create a new instance.\n"},"flavor":{"type":"string","description":"ID of the specifications of the ECS hosting the dedicated engine.\nYou can go to the management console and confirm supported specifications. Changing this will create a new instance.\n"},"name":{"type":"string","description":"The name of WAF dedicated instance. Duplicate names are allowed, we suggest to keeping the\nname unique.\n"},"region":{"type":"string","description":"Region where a dedicated engine is to be created. If omitted, the\nprovider-level region will be used. Changing this setting will create a new instance.\n"},"resTenant":{"type":"boolean","description":"Whether the dedicated WAF instance is network interface type.\nDefault value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this will create a new instance.\n\u003e **Note:** This type of instance is not available in `eu-ch2` region, must set \u003cspan pulumi-lang-nodejs=\"`resTenant`\" pulumi-lang-dotnet=\"`ResTenant`\" pulumi-lang-go=\"`resTenant`\" pulumi-lang-python=\"`res_tenant`\" pulumi-lang-yaml=\"`resTenant`\" pulumi-lang-java=\"`resTenant`\"\u003e`res_tenant`\u003c/span\u003e value to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e there.\n"},"securityGroups":{"type":"array","items":{"type":"string"},"description":"ID of the security group where the dedicated engine is located.\nChanging this will create a new instance.\n"},"specification":{"type":"string","description":"Specifications of the dedicated engine version. Values are:\n+ `waf.instance.professional` - The professional edition, throughput: 100 Mbit/s; QPS: 2,000 (Reference only).\n+ `waf.instance.enterprise` - The enterprise edition, throughput: 500 Mbit/s; QPS: 10,000 (Reference only).\n"},"subnetId":{"type":"string","description":"ID of the VPC subnet where the dedicated engine is located.\nSubnet_id has the same value as\u003cspan pulumi-lang-nodejs=\" networkId \" pulumi-lang-dotnet=\" NetworkId \" pulumi-lang-go=\" networkId \" pulumi-lang-python=\" network_id \" pulumi-lang-yaml=\" networkId \" pulumi-lang-java=\" networkId \"\u003e network_id \u003c/span\u003eobtained by calling the OpenStack APIs. Changing this will create a\nnew instance.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FWafDedicatedInstanceV1Timeouts:WafDedicatedInstanceV1Timeouts"},"vpcId":{"type":"string","description":"ID of the VPC where the dedicated engine is located. Changing this will create a new\ninstance.\n"},"wafDedicatedInstanceV1Id":{"type":"string","description":"The id of the instance.\n"}},"requiredInputs":["availabilityZone","flavor","securityGroups","specification","subnetId","vpcId"],"stateInputs":{"description":"Input properties used for looking up and filtering WafDedicatedInstanceV1 resources.\n","properties":{"accessStatus":{"type":"number","description":"The access status of the instance.\n"},"architecture":{"type":"string","description":"Dedicated engine CPU architecture. Default value is \u003cspan pulumi-lang-nodejs=\"`x86`\" pulumi-lang-dotnet=\"`X86`\" pulumi-lang-go=\"`x86`\" pulumi-lang-python=\"`x86`\" pulumi-lang-yaml=\"`x86`\" pulumi-lang-java=\"`x86`\"\u003e`x86`\u003c/span\u003e.\nChanging this will create a new instance.\n"},"availabilityZone":{"type":"string","description":"AZ where the dedicated engine is to be created. Changing this will create a new instance.\n"},"billingStatus":{"type":"number","description":"Billing status of dedicated WAF engine. The value can be \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e.\n"},"createdAt":{"type":"number","description":"Timestamp when the dedicated WAF engine was created.\n"},"flavor":{"type":"string","description":"ID of the specifications of the ECS hosting the dedicated engine.\nYou can go to the management console and confirm supported specifications. Changing this will create a new instance.\n"},"name":{"type":"string","description":"The name of WAF dedicated instance. Duplicate names are allowed, we suggest to keeping the\nname unique.\n"},"region":{"type":"string","description":"Region where a dedicated engine is to be created. If omitted, the\nprovider-level region will be used. Changing this setting will create a new instance.\n"},"resTenant":{"type":"boolean","description":"Whether the dedicated WAF instance is network interface type.\nDefault value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this will create a new instance.\n\u003e **Note:** This type of instance is not available in `eu-ch2` region, must set \u003cspan pulumi-lang-nodejs=\"`resTenant`\" pulumi-lang-dotnet=\"`ResTenant`\" pulumi-lang-go=\"`resTenant`\" pulumi-lang-python=\"`res_tenant`\" pulumi-lang-yaml=\"`resTenant`\" pulumi-lang-java=\"`resTenant`\"\u003e`res_tenant`\u003c/span\u003e value to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e there.\n"},"securityGroups":{"type":"array","items":{"type":"string"},"description":"ID of the security group where the dedicated engine is located.\nChanging this will create a new instance.\n"},"serverId":{"type":"string","description":"The id of the instance server.\n"},"serviceIp":{"type":"string","description":"The ip of the instance service.\n"},"specification":{"type":"string","description":"Specifications of the dedicated engine version. Values are:\n+ `waf.instance.professional` - The professional edition, throughput: 100 Mbit/s; QPS: 2,000 (Reference only).\n+ `waf.instance.enterprise` - The enterprise edition, throughput: 500 Mbit/s; QPS: 10,000 (Reference only).\n"},"status":{"type":"number","description":"Running status of the dedicated engine.\nThe value can be:\n"},"subnetId":{"type":"string","description":"ID of the VPC subnet where the dedicated engine is located.\nSubnet_id has the same value as\u003cspan pulumi-lang-nodejs=\" networkId \" pulumi-lang-dotnet=\" NetworkId \" pulumi-lang-go=\" networkId \" pulumi-lang-python=\" network_id \" pulumi-lang-yaml=\" networkId \" pulumi-lang-java=\" networkId \"\u003e network_id \u003c/span\u003eobtained by calling the OpenStack APIs. Changing this will create a\nnew instance.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FWafDedicatedInstanceV1Timeouts:WafDedicatedInstanceV1Timeouts"},"upgradable":{"type":"boolean","description":"The instance is to support upgrades. \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e: Cannot be upgraded, \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e: Can be upgraded.\n"},"vpcId":{"type":"string","description":"ID of the VPC where the dedicated engine is located. Changing this will create a new\ninstance.\n"},"wafDedicatedInstanceV1Id":{"type":"string","description":"The id of the instance.\n"}},"type":"object"}},"opentelekomcloud:index/wafDedicatedKnownAttackSourceRuleV1:WafDedicatedKnownAttackSourceRuleV1":{"description":"Up-to-date reference of API arguments for WAF dedicated Known Attack Source rule you can get at\n[documentation portal](https://docs.otc.t-systems.com/web-application-firewall-dedicated/api-ref/apis/rule_management/creating_a_known_attack_source_rule.html).\n\nManages a WAF Dedicated Known Attack Source Rule resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst policy1 = new opentelekomcloud.WafDedicatedPolicyV1(\"policy_1\", {name: \"policy_ka\"});\nconst rule1 = new opentelekomcloud.WafDedicatedKnownAttackSourceRuleV1(\"rule_1\", {\n    policyId: policy1.wafDedicatedPolicyV1Id,\n    blockTime: 300,\n    category: \"long_cookie_block\",\n    description: \"test description\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\npolicy1 = opentelekomcloud.WafDedicatedPolicyV1(\"policy_1\", name=\"policy_ka\")\nrule1 = opentelekomcloud.WafDedicatedKnownAttackSourceRuleV1(\"rule_1\",\n    policy_id=policy1.waf_dedicated_policy_v1_id,\n    block_time=300,\n    category=\"long_cookie_block\",\n    description=\"test description\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var policy1 = new Opentelekomcloud.WafDedicatedPolicyV1(\"policy_1\", new()\n    {\n        Name = \"policy_ka\",\n    });\n\n    var rule1 = new Opentelekomcloud.WafDedicatedKnownAttackSourceRuleV1(\"rule_1\", new()\n    {\n        PolicyId = policy1.WafDedicatedPolicyV1Id,\n        BlockTime = 300,\n        Category = \"long_cookie_block\",\n        Description = \"test description\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpolicy1, err := opentelekomcloud.NewWafDedicatedPolicyV1(ctx, \"policy_1\", \u0026opentelekomcloud.WafDedicatedPolicyV1Args{\n\t\t\tName: pulumi.String(\"policy_ka\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewWafDedicatedKnownAttackSourceRuleV1(ctx, \"rule_1\", \u0026opentelekomcloud.WafDedicatedKnownAttackSourceRuleV1Args{\n\t\t\tPolicyId:    policy1.WafDedicatedPolicyV1Id,\n\t\t\tBlockTime:   pulumi.Float64(300),\n\t\t\tCategory:    pulumi.String(\"long_cookie_block\"),\n\t\t\tDescription: pulumi.String(\"test description\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.WafDedicatedPolicyV1;\nimport com.pulumi.opentelekomcloud.WafDedicatedPolicyV1Args;\nimport com.pulumi.opentelekomcloud.WafDedicatedKnownAttackSourceRuleV1;\nimport com.pulumi.opentelekomcloud.WafDedicatedKnownAttackSourceRuleV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var policy1 = new WafDedicatedPolicyV1(\"policy1\", WafDedicatedPolicyV1Args.builder()\n            .name(\"policy_ka\")\n            .build());\n\n        var rule1 = new WafDedicatedKnownAttackSourceRuleV1(\"rule1\", WafDedicatedKnownAttackSourceRuleV1Args.builder()\n            .policyId(policy1.wafDedicatedPolicyV1Id())\n            .blockTime(300.0)\n            .category(\"long_cookie_block\")\n            .description(\"test description\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  policy1:\n    type: opentelekomcloud:WafDedicatedPolicyV1\n    name: policy_1\n    properties:\n      name: policy_ka\n  rule1:\n    type: opentelekomcloud:WafDedicatedKnownAttackSourceRuleV1\n    name: rule_1\n    properties:\n      policyId: ${policy1.wafDedicatedPolicyV1Id}\n      blockTime: 300\n      category: long_cookie_block\n      description: test description\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDedicated WAF Known Attack Source Rules can be imported using `policy_id/id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/wafDedicatedKnownAttackSourceRuleV1:WafDedicatedKnownAttackSourceRuleV1 rule_1 ff95e71c8ae74eba9887193ab22c5757/b39f3a5a1b4f447a8030f0b0703f47f5\n```\n\n","properties":{"blockTime":{"type":"number","description":"Block duration, in seconds.\nIf prefix long is selected for the rule type, the value for \u003cspan pulumi-lang-nodejs=\"`blockTime`\" pulumi-lang-dotnet=\"`BlockTime`\" pulumi-lang-go=\"`blockTime`\" pulumi-lang-python=\"`block_time`\" pulumi-lang-yaml=\"`blockTime`\" pulumi-lang-java=\"`blockTime`\"\u003e`block_time`\u003c/span\u003e ranges from \u003cspan pulumi-lang-nodejs=\"`301`\" pulumi-lang-dotnet=\"`301`\" pulumi-lang-go=\"`301`\" pulumi-lang-python=\"`301`\" pulumi-lang-yaml=\"`301`\" pulumi-lang-java=\"`301`\"\u003e`301`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`1800`\" pulumi-lang-dotnet=\"`1800`\" pulumi-lang-go=\"`1800`\" pulumi-lang-python=\"`1800`\" pulumi-lang-yaml=\"`1800`\" pulumi-lang-java=\"`1800`\"\u003e`1800`\u003c/span\u003e.\nIf prefix short is selected for the rule type, the value for \u003cspan pulumi-lang-nodejs=\"`blockTime`\" pulumi-lang-dotnet=\"`BlockTime`\" pulumi-lang-go=\"`blockTime`\" pulumi-lang-python=\"`block_time`\" pulumi-lang-yaml=\"`blockTime`\" pulumi-lang-java=\"`blockTime`\"\u003e`block_time`\u003c/span\u003e ranges from \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e.\n"},"category":{"type":"string","description":"Type of the know attack source rule.\nEnumeration values:\n"},"createdAt":{"type":"number","description":"Timestamp the rule is created.\n"},"description":{"type":"string","description":"Rule description.\n"},"policyId":{"type":"string","description":"The WAF policy ID. Changing this creates a new rule.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FWafDedicatedKnownAttackSourceRuleV1Timeouts:WafDedicatedKnownAttackSourceRuleV1Timeouts"},"wafDedicatedKnownAttackSourceRuleV1Id":{"type":"string","description":"ID of the rule.\n"}},"type":"object","required":["blockTime","category","createdAt","policyId","wafDedicatedKnownAttackSourceRuleV1Id"],"inputProperties":{"blockTime":{"type":"number","description":"Block duration, in seconds.\nIf prefix long is selected for the rule type, the value for \u003cspan pulumi-lang-nodejs=\"`blockTime`\" pulumi-lang-dotnet=\"`BlockTime`\" pulumi-lang-go=\"`blockTime`\" pulumi-lang-python=\"`block_time`\" pulumi-lang-yaml=\"`blockTime`\" pulumi-lang-java=\"`blockTime`\"\u003e`block_time`\u003c/span\u003e ranges from \u003cspan pulumi-lang-nodejs=\"`301`\" pulumi-lang-dotnet=\"`301`\" pulumi-lang-go=\"`301`\" pulumi-lang-python=\"`301`\" pulumi-lang-yaml=\"`301`\" pulumi-lang-java=\"`301`\"\u003e`301`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`1800`\" pulumi-lang-dotnet=\"`1800`\" pulumi-lang-go=\"`1800`\" pulumi-lang-python=\"`1800`\" pulumi-lang-yaml=\"`1800`\" pulumi-lang-java=\"`1800`\"\u003e`1800`\u003c/span\u003e.\nIf prefix short is selected for the rule type, the value for \u003cspan pulumi-lang-nodejs=\"`blockTime`\" pulumi-lang-dotnet=\"`BlockTime`\" pulumi-lang-go=\"`blockTime`\" pulumi-lang-python=\"`block_time`\" pulumi-lang-yaml=\"`blockTime`\" pulumi-lang-java=\"`blockTime`\"\u003e`block_time`\u003c/span\u003e ranges from \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e.\n"},"category":{"type":"string","description":"Type of the know attack source rule.\nEnumeration values:\n"},"description":{"type":"string","description":"Rule description.\n"},"policyId":{"type":"string","description":"The WAF policy ID. Changing this creates a new rule.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FWafDedicatedKnownAttackSourceRuleV1Timeouts:WafDedicatedKnownAttackSourceRuleV1Timeouts"},"wafDedicatedKnownAttackSourceRuleV1Id":{"type":"string","description":"ID of the rule.\n"}},"requiredInputs":["blockTime","category","policyId"],"stateInputs":{"description":"Input properties used for looking up and filtering WafDedicatedKnownAttackSourceRuleV1 resources.\n","properties":{"blockTime":{"type":"number","description":"Block duration, in seconds.\nIf prefix long is selected for the rule type, the value for \u003cspan pulumi-lang-nodejs=\"`blockTime`\" pulumi-lang-dotnet=\"`BlockTime`\" pulumi-lang-go=\"`blockTime`\" pulumi-lang-python=\"`block_time`\" pulumi-lang-yaml=\"`blockTime`\" pulumi-lang-java=\"`blockTime`\"\u003e`block_time`\u003c/span\u003e ranges from \u003cspan pulumi-lang-nodejs=\"`301`\" pulumi-lang-dotnet=\"`301`\" pulumi-lang-go=\"`301`\" pulumi-lang-python=\"`301`\" pulumi-lang-yaml=\"`301`\" pulumi-lang-java=\"`301`\"\u003e`301`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`1800`\" pulumi-lang-dotnet=\"`1800`\" pulumi-lang-go=\"`1800`\" pulumi-lang-python=\"`1800`\" pulumi-lang-yaml=\"`1800`\" pulumi-lang-java=\"`1800`\"\u003e`1800`\u003c/span\u003e.\nIf prefix short is selected for the rule type, the value for \u003cspan pulumi-lang-nodejs=\"`blockTime`\" pulumi-lang-dotnet=\"`BlockTime`\" pulumi-lang-go=\"`blockTime`\" pulumi-lang-python=\"`block_time`\" pulumi-lang-yaml=\"`blockTime`\" pulumi-lang-java=\"`blockTime`\"\u003e`block_time`\u003c/span\u003e ranges from \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e.\n"},"category":{"type":"string","description":"Type of the know attack source rule.\nEnumeration values:\n"},"createdAt":{"type":"number","description":"Timestamp the rule is created.\n"},"description":{"type":"string","description":"Rule description.\n"},"policyId":{"type":"string","description":"The WAF policy ID. Changing this creates a new rule.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FWafDedicatedKnownAttackSourceRuleV1Timeouts:WafDedicatedKnownAttackSourceRuleV1Timeouts"},"wafDedicatedKnownAttackSourceRuleV1Id":{"type":"string","description":"ID of the rule.\n"}},"type":"object"}},"opentelekomcloud:index/wafDedicatedPolicyV1:WafDedicatedPolicyV1":{"description":"Up-to-date reference of API arguments for WAF policy you can get at\n[documentation portal](https://docs.otc.t-systems.com/web-application-firewall-dedicated/api-ref/apis/policy_management/index.html).\n\nManages a WAF dedicated policy resource within OpenTelekomCloud.\n\n\u003e **Note:** For this resource region must be set in environment variable `OS_REGION_NAME` or in `clouds.yaml`\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst policy1 = new opentelekomcloud.WafDedicatedPolicyV1(\"policy_1\", {\n    name: \"policy_1\",\n    level: 3,\n    protectionMode: \"block\",\n    fullDetection: true,\n    options: [{\n        crawler: false,\n        webAttack: false,\n        cc: true,\n        webShell: true,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\npolicy1 = opentelekomcloud.WafDedicatedPolicyV1(\"policy_1\",\n    name=\"policy_1\",\n    level=3,\n    protection_mode=\"block\",\n    full_detection=True,\n    options=[{\n        \"crawler\": False,\n        \"web_attack\": False,\n        \"cc\": True,\n        \"web_shell\": True,\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var policy1 = new Opentelekomcloud.WafDedicatedPolicyV1(\"policy_1\", new()\n    {\n        Name = \"policy_1\",\n        Level = 3,\n        ProtectionMode = \"block\",\n        FullDetection = true,\n        Options = new[]\n        {\n            new Opentelekomcloud.Inputs.WafDedicatedPolicyV1OptionArgs\n            {\n                Crawler = false,\n                WebAttack = false,\n                Cc = true,\n                WebShell = true,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewWafDedicatedPolicyV1(ctx, \"policy_1\", \u0026opentelekomcloud.WafDedicatedPolicyV1Args{\n\t\t\tName:           pulumi.String(\"policy_1\"),\n\t\t\tLevel:          pulumi.Float64(3),\n\t\t\tProtectionMode: pulumi.String(\"block\"),\n\t\t\tFullDetection:  pulumi.Bool(true),\n\t\t\tOptions: opentelekomcloud.WafDedicatedPolicyV1OptionArray{\n\t\t\t\t\u0026opentelekomcloud.WafDedicatedPolicyV1OptionArgs{\n\t\t\t\t\tCrawler:   pulumi.Bool(false),\n\t\t\t\t\tWebAttack: pulumi.Bool(false),\n\t\t\t\t\tCc:        pulumi.Bool(true),\n\t\t\t\t\tWebShell:  pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.WafDedicatedPolicyV1;\nimport com.pulumi.opentelekomcloud.WafDedicatedPolicyV1Args;\nimport com.pulumi.opentelekomcloud.inputs.WafDedicatedPolicyV1OptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var policy1 = new WafDedicatedPolicyV1(\"policy1\", WafDedicatedPolicyV1Args.builder()\n            .name(\"policy_1\")\n            .level(3.0)\n            .protectionMode(\"block\")\n            .fullDetection(true)\n            .options(WafDedicatedPolicyV1OptionArgs.builder()\n                .crawler(false)\n                .webAttack(false)\n                .cc(true)\n                .webShell(true)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  policy1:\n    type: opentelekomcloud:WafDedicatedPolicyV1\n    name: policy_1\n    properties:\n      name: policy_1\n      level: 3\n      protectionMode: block\n      fullDetection: true\n      options:\n        - crawler: false\n          webAttack: false\n          cc: true\n          webShell: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nWAF dedicated policies can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/wafDedicatedPolicyV1:WafDedicatedPolicyV1 policy_1 7117d38e-4c8f-4624-a505-bd96b97d024c\n```\n\n","properties":{"createdAt":{"type":"number","description":"Time the policy is created. The value is a 13-digit timestamp, in ms.\n"},"deepInspection":{"type":"boolean","description":"The deep inspection in basic web protection.\n"},"domains":{"type":"array","items":{"type":"string"},"description":"Specifies the domain IDs.\n"},"fullDetection":{"type":"boolean","description":"Specifies the detection mode in Precise Protection.\n"},"headerInspection":{"type":"boolean","description":"The header inspection in basic web protection.\n"},"level":{"type":"number","description":"Specifies the protection level.\nValues are:\n"},"name":{"type":"string","description":"The policy name.\n"},"options":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FWafDedicatedPolicyV1Option:WafDedicatedPolicyV1Option"},"description":"Specifies the protection switches.\nThe \u003cspan pulumi-lang-nodejs=\"`options`\" pulumi-lang-dotnet=\"`Options`\" pulumi-lang-go=\"`options`\" pulumi-lang-python=\"`options`\" pulumi-lang-yaml=\"`options`\" pulumi-lang-java=\"`options`\"\u003e`options`\u003c/span\u003e block supports:\n"},"protectionMode":{"type":"string","description":"Specifies the protective action after a rule is matched.\nValues are:\n"},"region":{"type":"string"},"shiroDecryptionCheck":{"type":"boolean","description":"The shiro decryption check in basic web protection.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FWafDedicatedPolicyV1Timeouts:WafDedicatedPolicyV1Timeouts"},"wafDedicatedPolicyV1Id":{"type":"string","description":"ID of the policy.\n"}},"type":"object","required":["createdAt","domains","fullDetection","level","name","protectionMode","region","wafDedicatedPolicyV1Id"],"inputProperties":{"deepInspection":{"type":"boolean","description":"The deep inspection in basic web protection.\n"},"fullDetection":{"type":"boolean","description":"Specifies the detection mode in Precise Protection.\n"},"headerInspection":{"type":"boolean","description":"The header inspection in basic web protection.\n"},"level":{"type":"number","description":"Specifies the protection level.\nValues are:\n"},"name":{"type":"string","description":"The policy name.\n"},"options":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FWafDedicatedPolicyV1Option:WafDedicatedPolicyV1Option"},"description":"Specifies the protection switches.\nThe \u003cspan pulumi-lang-nodejs=\"`options`\" pulumi-lang-dotnet=\"`Options`\" pulumi-lang-go=\"`options`\" pulumi-lang-python=\"`options`\" pulumi-lang-yaml=\"`options`\" pulumi-lang-java=\"`options`\"\u003e`options`\u003c/span\u003e block supports:\n"},"protectionMode":{"type":"string","description":"Specifies the protective action after a rule is matched.\nValues are:\n"},"region":{"type":"string"},"shiroDecryptionCheck":{"type":"boolean","description":"The shiro decryption check in basic web protection.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FWafDedicatedPolicyV1Timeouts:WafDedicatedPolicyV1Timeouts"},"wafDedicatedPolicyV1Id":{"type":"string","description":"ID of the policy.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering WafDedicatedPolicyV1 resources.\n","properties":{"createdAt":{"type":"number","description":"Time the policy is created. The value is a 13-digit timestamp, in ms.\n"},"deepInspection":{"type":"boolean","description":"The deep inspection in basic web protection.\n"},"domains":{"type":"array","items":{"type":"string"},"description":"Specifies the domain IDs.\n"},"fullDetection":{"type":"boolean","description":"Specifies the detection mode in Precise Protection.\n"},"headerInspection":{"type":"boolean","description":"The header inspection in basic web protection.\n"},"level":{"type":"number","description":"Specifies the protection level.\nValues are:\n"},"name":{"type":"string","description":"The policy name.\n"},"options":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FWafDedicatedPolicyV1Option:WafDedicatedPolicyV1Option"},"description":"Specifies the protection switches.\nThe \u003cspan pulumi-lang-nodejs=\"`options`\" pulumi-lang-dotnet=\"`Options`\" pulumi-lang-go=\"`options`\" pulumi-lang-python=\"`options`\" pulumi-lang-yaml=\"`options`\" pulumi-lang-java=\"`options`\"\u003e`options`\u003c/span\u003e block supports:\n"},"protectionMode":{"type":"string","description":"Specifies the protective action after a rule is matched.\nValues are:\n"},"region":{"type":"string"},"shiroDecryptionCheck":{"type":"boolean","description":"The shiro decryption check in basic web protection.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FWafDedicatedPolicyV1Timeouts:WafDedicatedPolicyV1Timeouts"},"wafDedicatedPolicyV1Id":{"type":"string","description":"ID of the policy.\n"}},"type":"object"}},"opentelekomcloud:index/wafDedicatedPreciseProtectionRuleV1:WafDedicatedPreciseProtectionRuleV1":{"description":"Up-to-date reference of API arguments for WAF dedicated Precise Protection rule you can get at\n[documentation portal](https://docs.otc.t-systems.com/web-application-firewall-dedicated/api-ref/apis/rule_management/creating_a_precise_protection_rule.html).\n\nManages a WAF Dedicated Precise Protection Rule resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst policy1 = new opentelekomcloud.WafDedicatedPolicyV1(\"policy_1\", {name: \"policy_pp\"});\nconst rule1 = new opentelekomcloud.WafDedicatedPreciseProtectionRuleV1(\"rule_1\", {\n    policyId: policy1.wafDedicatedPolicyV1Id,\n    time: false,\n    description: \"desc\",\n    priority: 50,\n    conditions: [{\n        category: \"url\",\n        contents: [\"test\"],\n        logicOperation: \"contain\",\n    }],\n    actions: [{\n        category: \"block\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\npolicy1 = opentelekomcloud.WafDedicatedPolicyV1(\"policy_1\", name=\"policy_pp\")\nrule1 = opentelekomcloud.WafDedicatedPreciseProtectionRuleV1(\"rule_1\",\n    policy_id=policy1.waf_dedicated_policy_v1_id,\n    time=False,\n    description=\"desc\",\n    priority=50,\n    conditions=[{\n        \"category\": \"url\",\n        \"contents\": [\"test\"],\n        \"logic_operation\": \"contain\",\n    }],\n    actions=[{\n        \"category\": \"block\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var policy1 = new Opentelekomcloud.WafDedicatedPolicyV1(\"policy_1\", new()\n    {\n        Name = \"policy_pp\",\n    });\n\n    var rule1 = new Opentelekomcloud.WafDedicatedPreciseProtectionRuleV1(\"rule_1\", new()\n    {\n        PolicyId = policy1.WafDedicatedPolicyV1Id,\n        Time = false,\n        Description = \"desc\",\n        Priority = 50,\n        Conditions = new[]\n        {\n            new Opentelekomcloud.Inputs.WafDedicatedPreciseProtectionRuleV1ConditionArgs\n            {\n                Category = \"url\",\n                Contents = new[]\n                {\n                    \"test\",\n                },\n                LogicOperation = \"contain\",\n            },\n        },\n        Actions = new[]\n        {\n            new Opentelekomcloud.Inputs.WafDedicatedPreciseProtectionRuleV1ActionArgs\n            {\n                Category = \"block\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpolicy1, err := opentelekomcloud.NewWafDedicatedPolicyV1(ctx, \"policy_1\", \u0026opentelekomcloud.WafDedicatedPolicyV1Args{\n\t\t\tName: pulumi.String(\"policy_pp\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewWafDedicatedPreciseProtectionRuleV1(ctx, \"rule_1\", \u0026opentelekomcloud.WafDedicatedPreciseProtectionRuleV1Args{\n\t\t\tPolicyId:    policy1.WafDedicatedPolicyV1Id,\n\t\t\tTime:        pulumi.Bool(false),\n\t\t\tDescription: pulumi.String(\"desc\"),\n\t\t\tPriority:    pulumi.Float64(50),\n\t\t\tConditions: opentelekomcloud.WafDedicatedPreciseProtectionRuleV1ConditionArray{\n\t\t\t\t\u0026opentelekomcloud.WafDedicatedPreciseProtectionRuleV1ConditionArgs{\n\t\t\t\t\tCategory: pulumi.String(\"url\"),\n\t\t\t\t\tContents: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"test\"),\n\t\t\t\t\t},\n\t\t\t\t\tLogicOperation: pulumi.String(\"contain\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tActions: opentelekomcloud.WafDedicatedPreciseProtectionRuleV1ActionArray{\n\t\t\t\t\u0026opentelekomcloud.WafDedicatedPreciseProtectionRuleV1ActionArgs{\n\t\t\t\t\tCategory: pulumi.String(\"block\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.WafDedicatedPolicyV1;\nimport com.pulumi.opentelekomcloud.WafDedicatedPolicyV1Args;\nimport com.pulumi.opentelekomcloud.WafDedicatedPreciseProtectionRuleV1;\nimport com.pulumi.opentelekomcloud.WafDedicatedPreciseProtectionRuleV1Args;\nimport com.pulumi.opentelekomcloud.inputs.WafDedicatedPreciseProtectionRuleV1ConditionArgs;\nimport com.pulumi.opentelekomcloud.inputs.WafDedicatedPreciseProtectionRuleV1ActionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var policy1 = new WafDedicatedPolicyV1(\"policy1\", WafDedicatedPolicyV1Args.builder()\n            .name(\"policy_pp\")\n            .build());\n\n        var rule1 = new WafDedicatedPreciseProtectionRuleV1(\"rule1\", WafDedicatedPreciseProtectionRuleV1Args.builder()\n            .policyId(policy1.wafDedicatedPolicyV1Id())\n            .time(false)\n            .description(\"desc\")\n            .priority(50.0)\n            .conditions(WafDedicatedPreciseProtectionRuleV1ConditionArgs.builder()\n                .category(\"url\")\n                .contents(\"test\")\n                .logicOperation(\"contain\")\n                .build())\n            .actions(WafDedicatedPreciseProtectionRuleV1ActionArgs.builder()\n                .category(\"block\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  policy1:\n    type: opentelekomcloud:WafDedicatedPolicyV1\n    name: policy_1\n    properties:\n      name: policy_pp\n  rule1:\n    type: opentelekomcloud:WafDedicatedPreciseProtectionRuleV1\n    name: rule_1\n    properties:\n      policyId: ${policy1.wafDedicatedPolicyV1Id}\n      time: false\n      description: desc\n      priority: 50\n      conditions:\n        - category: url\n          contents:\n            - test\n          logicOperation: contain\n      actions:\n        - category: block\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDedicated WAF Precise Protection Rules can be imported using `policy_id/id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/wafDedicatedPreciseProtectionRuleV1:WafDedicatedPreciseProtectionRuleV1 rule_1 ff95e71c8ae74eba9887193ab22c5757/b39f3a5a1b4f447a8030f0b0703f47f5\n```\n\n","properties":{"actions":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FWafDedicatedPreciseProtectionRuleV1Action:WafDedicatedPreciseProtectionRuleV1Action"},"description":"Protection action to take if the number of requests reaches the upper limit. Changing this creates a new rule.\nThe \u003cspan pulumi-lang-nodejs=\"`conditions`\" pulumi-lang-dotnet=\"`Conditions`\" pulumi-lang-go=\"`conditions`\" pulumi-lang-python=\"`conditions`\" pulumi-lang-yaml=\"`conditions`\" pulumi-lang-java=\"`conditions`\"\u003e`conditions`\u003c/span\u003e block supports:\n"},"conditions":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FWafDedicatedPreciseProtectionRuleV1Condition:WafDedicatedPreciseProtectionRuleV1Condition"},"description":"Match condition List. Changing this creates a new rule.\nThe \u003cspan pulumi-lang-nodejs=\"`conditions`\" pulumi-lang-dotnet=\"`Conditions`\" pulumi-lang-go=\"`conditions`\" pulumi-lang-python=\"`conditions`\" pulumi-lang-yaml=\"`conditions`\" pulumi-lang-java=\"`conditions`\"\u003e`conditions`\u003c/span\u003e block supports:\n"},"createdAt":{"type":"number","description":"Timestamp the rule is created.\n"},"description":{"type":"string","description":"Rule description. Changing this creates a new rule.\n"},"policyId":{"type":"string","description":"The WAF policy ID. Changing this creates a new rule.\n"},"priority":{"type":"number","description":"Priority of a rule. A small value indicates a high priority. If two rules are assigned with the same priority, the rule added earlier has higher priority. Value range: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e. Changing this creates a new rule.\n"},"start":{"type":"number","description":"Timestamp (ms) when the precise protection rule takes effect. This parameter is returned only when time is true. Changing this creates a new rule.\n"},"status":{"type":"number","description":"Rule status. The value can be:\n"},"terminal":{"type":"number","description":"Timestamp (ms) when the precise protection rule expires. This parameter is returned only when time is true. Changing this creates a new rule.\n"},"time":{"type":"boolean","description":"Time the precise protection rule takes effect. Changing this creates a new rule.\nValues:\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FWafDedicatedPreciseProtectionRuleV1Timeouts:WafDedicatedPreciseProtectionRuleV1Timeouts"},"wafDedicatedPreciseProtectionRuleV1Id":{"type":"string","description":"ID of the rule.\n"}},"type":"object","required":["actions","createdAt","policyId","priority","status","time","wafDedicatedPreciseProtectionRuleV1Id"],"inputProperties":{"actions":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FWafDedicatedPreciseProtectionRuleV1Action:WafDedicatedPreciseProtectionRuleV1Action"},"description":"Protection action to take if the number of requests reaches the upper limit. Changing this creates a new rule.\nThe \u003cspan pulumi-lang-nodejs=\"`conditions`\" pulumi-lang-dotnet=\"`Conditions`\" pulumi-lang-go=\"`conditions`\" pulumi-lang-python=\"`conditions`\" pulumi-lang-yaml=\"`conditions`\" pulumi-lang-java=\"`conditions`\"\u003e`conditions`\u003c/span\u003e block supports:\n"},"conditions":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FWafDedicatedPreciseProtectionRuleV1Condition:WafDedicatedPreciseProtectionRuleV1Condition"},"description":"Match condition List. Changing this creates a new rule.\nThe \u003cspan pulumi-lang-nodejs=\"`conditions`\" pulumi-lang-dotnet=\"`Conditions`\" pulumi-lang-go=\"`conditions`\" pulumi-lang-python=\"`conditions`\" pulumi-lang-yaml=\"`conditions`\" pulumi-lang-java=\"`conditions`\"\u003e`conditions`\u003c/span\u003e block supports:\n"},"description":{"type":"string","description":"Rule description. Changing this creates a new rule.\n"},"policyId":{"type":"string","description":"The WAF policy ID. Changing this creates a new rule.\n"},"priority":{"type":"number","description":"Priority of a rule. A small value indicates a high priority. If two rules are assigned with the same priority, the rule added earlier has higher priority. Value range: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e. Changing this creates a new rule.\n"},"start":{"type":"number","description":"Timestamp (ms) when the precise protection rule takes effect. This parameter is returned only when time is true. Changing this creates a new rule.\n"},"terminal":{"type":"number","description":"Timestamp (ms) when the precise protection rule expires. This parameter is returned only when time is true. Changing this creates a new rule.\n"},"time":{"type":"boolean","description":"Time the precise protection rule takes effect. Changing this creates a new rule.\nValues:\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FWafDedicatedPreciseProtectionRuleV1Timeouts:WafDedicatedPreciseProtectionRuleV1Timeouts"},"wafDedicatedPreciseProtectionRuleV1Id":{"type":"string","description":"ID of the rule.\n"}},"requiredInputs":["actions","policyId","priority","time"],"stateInputs":{"description":"Input properties used for looking up and filtering WafDedicatedPreciseProtectionRuleV1 resources.\n","properties":{"actions":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FWafDedicatedPreciseProtectionRuleV1Action:WafDedicatedPreciseProtectionRuleV1Action"},"description":"Protection action to take if the number of requests reaches the upper limit. Changing this creates a new rule.\nThe \u003cspan pulumi-lang-nodejs=\"`conditions`\" pulumi-lang-dotnet=\"`Conditions`\" pulumi-lang-go=\"`conditions`\" pulumi-lang-python=\"`conditions`\" pulumi-lang-yaml=\"`conditions`\" pulumi-lang-java=\"`conditions`\"\u003e`conditions`\u003c/span\u003e block supports:\n"},"conditions":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FWafDedicatedPreciseProtectionRuleV1Condition:WafDedicatedPreciseProtectionRuleV1Condition"},"description":"Match condition List. Changing this creates a new rule.\nThe \u003cspan pulumi-lang-nodejs=\"`conditions`\" pulumi-lang-dotnet=\"`Conditions`\" pulumi-lang-go=\"`conditions`\" pulumi-lang-python=\"`conditions`\" pulumi-lang-yaml=\"`conditions`\" pulumi-lang-java=\"`conditions`\"\u003e`conditions`\u003c/span\u003e block supports:\n"},"createdAt":{"type":"number","description":"Timestamp the rule is created.\n"},"description":{"type":"string","description":"Rule description. Changing this creates a new rule.\n"},"policyId":{"type":"string","description":"The WAF policy ID. Changing this creates a new rule.\n"},"priority":{"type":"number","description":"Priority of a rule. A small value indicates a high priority. If two rules are assigned with the same priority, the rule added earlier has higher priority. Value range: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e. Changing this creates a new rule.\n"},"start":{"type":"number","description":"Timestamp (ms) when the precise protection rule takes effect. This parameter is returned only when time is true. Changing this creates a new rule.\n"},"status":{"type":"number","description":"Rule status. The value can be:\n"},"terminal":{"type":"number","description":"Timestamp (ms) when the precise protection rule expires. This parameter is returned only when time is true. Changing this creates a new rule.\n"},"time":{"type":"boolean","description":"Time the precise protection rule takes effect. Changing this creates a new rule.\nValues:\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FWafDedicatedPreciseProtectionRuleV1Timeouts:WafDedicatedPreciseProtectionRuleV1Timeouts"},"wafDedicatedPreciseProtectionRuleV1Id":{"type":"string","description":"ID of the rule.\n"}},"type":"object"}},"opentelekomcloud:index/wafDedicatedReferenceTableV1:WafDedicatedReferenceTableV1":{"description":"Up-to-date reference of API arguments for WAF dedicated reference table you can get at\n[documentation portal](https://docs.otc.t-systems.com/web-application-firewall-dedicated/api-ref/apis/rule_management/creating_a_reference_table.html).\n\n\nManages a WAF Dedicated Reference Table resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst table = new opentelekomcloud.WafDedicatedReferenceTableV1(\"table\", {\n    name: \"%s\",\n    type: \"url\",\n    conditions: [\n        \"/admin\",\n        \"/manage\",\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ntable = opentelekomcloud.WafDedicatedReferenceTableV1(\"table\",\n    name=\"%s\",\n    type=\"url\",\n    conditions=[\n        \"/admin\",\n        \"/manage\",\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var table = new Opentelekomcloud.WafDedicatedReferenceTableV1(\"table\", new()\n    {\n        Name = \"%s\",\n        Type = \"url\",\n        Conditions = new[]\n        {\n            \"/admin\",\n            \"/manage\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewWafDedicatedReferenceTableV1(ctx, \"table\", \u0026opentelekomcloud.WafDedicatedReferenceTableV1Args{\n\t\t\tName: pulumi.String(\"%s\"),\n\t\t\tType: pulumi.String(\"url\"),\n\t\t\tConditions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"/admin\"),\n\t\t\t\tpulumi.String(\"/manage\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.WafDedicatedReferenceTableV1;\nimport com.pulumi.opentelekomcloud.WafDedicatedReferenceTableV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var table = new WafDedicatedReferenceTableV1(\"table\", WafDedicatedReferenceTableV1Args.builder()\n            .name(\"%s\")\n            .type(\"url\")\n            .conditions(            \n                \"/admin\",\n                \"/manage\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  table:\n    type: opentelekomcloud:WafDedicatedReferenceTableV1\n    properties:\n      name: '%s'\n      type: url\n      conditions:\n        - /admin\n        - /manage\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDedicated WAF Reference Table can be imported using `id`, e.g.\n\nbash\n\n```sh\n$ pulumi import opentelekomcloud:index/wafDedicatedReferenceTableV1:WafDedicatedReferenceTableV1 table \u003cid\u003e\n```\n\n","properties":{"conditions":{"type":"array","items":{"type":"string"},"description":"The conditions of the reference table. The maximum length is 30. The maximum length of\ncondition is 2048 characters.\n"},"createdAt":{"type":"string","description":"The time when reference table was created.\n"},"description":{"type":"string","description":"The description of the reference table. The maximum length is 128 characters.\nCurrently, could be set only on update.\n"},"name":{"type":"string","description":"The name of the reference table. Only letters, digits, and underscores(_) are allowed. The\nmaximum length is 64 characters.\n"},"region":{"type":"string","description":"The region in which to create the WAF reference table resource. If omitted,\nthe provider-level region will be used. Changing this setting will push a new reference table.\n"},"type":{"type":"string","description":"The type of the reference table, The options are \u003cspan pulumi-lang-nodejs=\"`url`\" pulumi-lang-dotnet=\"`Url`\" pulumi-lang-go=\"`url`\" pulumi-lang-python=\"`url`\" pulumi-lang-yaml=\"`url`\" pulumi-lang-java=\"`url`\"\u003e`url`\u003c/span\u003e, `user-agent`, \u003cspan pulumi-lang-nodejs=\"`ip`\" pulumi-lang-dotnet=\"`Ip`\" pulumi-lang-go=\"`ip`\" pulumi-lang-python=\"`ip`\" pulumi-lang-yaml=\"`ip`\" pulumi-lang-java=\"`ip`\"\u003e`ip`\u003c/span\u003e,\n\u003cspan pulumi-lang-nodejs=\"`params`\" pulumi-lang-dotnet=\"`Params`\" pulumi-lang-go=\"`params`\" pulumi-lang-python=\"`params`\" pulumi-lang-yaml=\"`params`\" pulumi-lang-java=\"`params`\"\u003e`params`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`cookie`\" pulumi-lang-dotnet=\"`Cookie`\" pulumi-lang-go=\"`cookie`\" pulumi-lang-python=\"`cookie`\" pulumi-lang-yaml=\"`cookie`\" pulumi-lang-java=\"`cookie`\"\u003e`cookie`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`referer`\" pulumi-lang-dotnet=\"`Referer`\" pulumi-lang-go=\"`referer`\" pulumi-lang-python=\"`referer`\" pulumi-lang-yaml=\"`referer`\" pulumi-lang-java=\"`referer`\"\u003e`referer`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`header`\" pulumi-lang-dotnet=\"`Header`\" pulumi-lang-go=\"`header`\" pulumi-lang-python=\"`header`\" pulumi-lang-yaml=\"`header`\" pulumi-lang-java=\"`header`\"\u003e`header`\u003c/span\u003e. Changing this setting will push a new reference table.\n"},"wafDedicatedReferenceTableV1Id":{"type":"string","description":"The id of the reference table.\n"}},"type":"object","required":["createdAt","name","region","type","wafDedicatedReferenceTableV1Id"],"inputProperties":{"conditions":{"type":"array","items":{"type":"string"},"description":"The conditions of the reference table. The maximum length is 30. The maximum length of\ncondition is 2048 characters.\n"},"description":{"type":"string","description":"The description of the reference table. The maximum length is 128 characters.\nCurrently, could be set only on update.\n"},"name":{"type":"string","description":"The name of the reference table. Only letters, digits, and underscores(_) are allowed. The\nmaximum length is 64 characters.\n"},"region":{"type":"string","description":"The region in which to create the WAF reference table resource. If omitted,\nthe provider-level region will be used. Changing this setting will push a new reference table.\n"},"type":{"type":"string","description":"The type of the reference table, The options are \u003cspan pulumi-lang-nodejs=\"`url`\" pulumi-lang-dotnet=\"`Url`\" pulumi-lang-go=\"`url`\" pulumi-lang-python=\"`url`\" pulumi-lang-yaml=\"`url`\" pulumi-lang-java=\"`url`\"\u003e`url`\u003c/span\u003e, `user-agent`, \u003cspan pulumi-lang-nodejs=\"`ip`\" pulumi-lang-dotnet=\"`Ip`\" pulumi-lang-go=\"`ip`\" pulumi-lang-python=\"`ip`\" pulumi-lang-yaml=\"`ip`\" pulumi-lang-java=\"`ip`\"\u003e`ip`\u003c/span\u003e,\n\u003cspan pulumi-lang-nodejs=\"`params`\" pulumi-lang-dotnet=\"`Params`\" pulumi-lang-go=\"`params`\" pulumi-lang-python=\"`params`\" pulumi-lang-yaml=\"`params`\" pulumi-lang-java=\"`params`\"\u003e`params`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`cookie`\" pulumi-lang-dotnet=\"`Cookie`\" pulumi-lang-go=\"`cookie`\" pulumi-lang-python=\"`cookie`\" pulumi-lang-yaml=\"`cookie`\" pulumi-lang-java=\"`cookie`\"\u003e`cookie`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`referer`\" pulumi-lang-dotnet=\"`Referer`\" pulumi-lang-go=\"`referer`\" pulumi-lang-python=\"`referer`\" pulumi-lang-yaml=\"`referer`\" pulumi-lang-java=\"`referer`\"\u003e`referer`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`header`\" pulumi-lang-dotnet=\"`Header`\" pulumi-lang-go=\"`header`\" pulumi-lang-python=\"`header`\" pulumi-lang-yaml=\"`header`\" pulumi-lang-java=\"`header`\"\u003e`header`\u003c/span\u003e. Changing this setting will push a new reference table.\n"},"wafDedicatedReferenceTableV1Id":{"type":"string","description":"The id of the reference table.\n"}},"requiredInputs":["type"],"stateInputs":{"description":"Input properties used for looking up and filtering WafDedicatedReferenceTableV1 resources.\n","properties":{"conditions":{"type":"array","items":{"type":"string"},"description":"The conditions of the reference table. The maximum length is 30. The maximum length of\ncondition is 2048 characters.\n"},"createdAt":{"type":"string","description":"The time when reference table was created.\n"},"description":{"type":"string","description":"The description of the reference table. The maximum length is 128 characters.\nCurrently, could be set only on update.\n"},"name":{"type":"string","description":"The name of the reference table. Only letters, digits, and underscores(_) are allowed. The\nmaximum length is 64 characters.\n"},"region":{"type":"string","description":"The region in which to create the WAF reference table resource. If omitted,\nthe provider-level region will be used. Changing this setting will push a new reference table.\n"},"type":{"type":"string","description":"The type of the reference table, The options are \u003cspan pulumi-lang-nodejs=\"`url`\" pulumi-lang-dotnet=\"`Url`\" pulumi-lang-go=\"`url`\" pulumi-lang-python=\"`url`\" pulumi-lang-yaml=\"`url`\" pulumi-lang-java=\"`url`\"\u003e`url`\u003c/span\u003e, `user-agent`, \u003cspan pulumi-lang-nodejs=\"`ip`\" pulumi-lang-dotnet=\"`Ip`\" pulumi-lang-go=\"`ip`\" pulumi-lang-python=\"`ip`\" pulumi-lang-yaml=\"`ip`\" pulumi-lang-java=\"`ip`\"\u003e`ip`\u003c/span\u003e,\n\u003cspan pulumi-lang-nodejs=\"`params`\" pulumi-lang-dotnet=\"`Params`\" pulumi-lang-go=\"`params`\" pulumi-lang-python=\"`params`\" pulumi-lang-yaml=\"`params`\" pulumi-lang-java=\"`params`\"\u003e`params`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`cookie`\" pulumi-lang-dotnet=\"`Cookie`\" pulumi-lang-go=\"`cookie`\" pulumi-lang-python=\"`cookie`\" pulumi-lang-yaml=\"`cookie`\" pulumi-lang-java=\"`cookie`\"\u003e`cookie`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`referer`\" pulumi-lang-dotnet=\"`Referer`\" pulumi-lang-go=\"`referer`\" pulumi-lang-python=\"`referer`\" pulumi-lang-yaml=\"`referer`\" pulumi-lang-java=\"`referer`\"\u003e`referer`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`header`\" pulumi-lang-dotnet=\"`Header`\" pulumi-lang-go=\"`header`\" pulumi-lang-python=\"`header`\" pulumi-lang-yaml=\"`header`\" pulumi-lang-java=\"`header`\"\u003e`header`\u003c/span\u003e. Changing this setting will push a new reference table.\n"},"wafDedicatedReferenceTableV1Id":{"type":"string","description":"The id of the reference table.\n"}},"type":"object"}},"opentelekomcloud:index/wafDedicatedWebTamperRuleV1:WafDedicatedWebTamperRuleV1":{"description":"Up-to-date reference of API arguments for WAF dedicated Web Tamper rule you can get at\n[documentation portal](https://docs-beta.otc.t-systems.com/web-application-firewall-dedicated/api-ref/apis/rule_management/creating_a_web_tamper_protection_rule.html).\n\nManages a WAF Dedicated Web Tamper Rule resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst policy1 = new opentelekomcloud.WafDedicatedPolicyV1(\"policy_1\", {name: \"policy_at\"});\nconst rule1 = new opentelekomcloud.WafDedicatedWebTamperRuleV1(\"rule_1\", {\n    policyId: policy1.wafDedicatedPolicyV1Id,\n    hostname: \"www.domain.com\",\n    url: \"/login\",\n    description: \"test description\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\npolicy1 = opentelekomcloud.WafDedicatedPolicyV1(\"policy_1\", name=\"policy_at\")\nrule1 = opentelekomcloud.WafDedicatedWebTamperRuleV1(\"rule_1\",\n    policy_id=policy1.waf_dedicated_policy_v1_id,\n    hostname=\"www.domain.com\",\n    url=\"/login\",\n    description=\"test description\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var policy1 = new Opentelekomcloud.WafDedicatedPolicyV1(\"policy_1\", new()\n    {\n        Name = \"policy_at\",\n    });\n\n    var rule1 = new Opentelekomcloud.WafDedicatedWebTamperRuleV1(\"rule_1\", new()\n    {\n        PolicyId = policy1.WafDedicatedPolicyV1Id,\n        Hostname = \"www.domain.com\",\n        Url = \"/login\",\n        Description = \"test description\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpolicy1, err := opentelekomcloud.NewWafDedicatedPolicyV1(ctx, \"policy_1\", \u0026opentelekomcloud.WafDedicatedPolicyV1Args{\n\t\t\tName: pulumi.String(\"policy_at\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewWafDedicatedWebTamperRuleV1(ctx, \"rule_1\", \u0026opentelekomcloud.WafDedicatedWebTamperRuleV1Args{\n\t\t\tPolicyId:    policy1.WafDedicatedPolicyV1Id,\n\t\t\tHostname:    pulumi.String(\"www.domain.com\"),\n\t\t\tUrl:         pulumi.String(\"/login\"),\n\t\t\tDescription: pulumi.String(\"test description\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.WafDedicatedPolicyV1;\nimport com.pulumi.opentelekomcloud.WafDedicatedPolicyV1Args;\nimport com.pulumi.opentelekomcloud.WafDedicatedWebTamperRuleV1;\nimport com.pulumi.opentelekomcloud.WafDedicatedWebTamperRuleV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var policy1 = new WafDedicatedPolicyV1(\"policy1\", WafDedicatedPolicyV1Args.builder()\n            .name(\"policy_at\")\n            .build());\n\n        var rule1 = new WafDedicatedWebTamperRuleV1(\"rule1\", WafDedicatedWebTamperRuleV1Args.builder()\n            .policyId(policy1.wafDedicatedPolicyV1Id())\n            .hostname(\"www.domain.com\")\n            .url(\"/login\")\n            .description(\"test description\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  policy1:\n    type: opentelekomcloud:WafDedicatedPolicyV1\n    name: policy_1\n    properties:\n      name: policy_at\n  rule1:\n    type: opentelekomcloud:WafDedicatedWebTamperRuleV1\n    name: rule_1\n    properties:\n      policyId: ${policy1.wafDedicatedPolicyV1Id}\n      hostname: www.domain.com\n      url: /login\n      description: test description\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDedicated WAF Web Tamper Rules can be imported using `policy_id/id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/wafDedicatedWebTamperRuleV1:WafDedicatedWebTamperRuleV1 rule_1 ff95e71c8ae74eba9887193ab22c5757/b39f3a5a1b4f447a8030f0b0703f47f5\n```\n\n","properties":{"createdAt":{"type":"number","description":"Timestamp the rule is created.\n"},"description":{"type":"string","description":"Rule description.\n"},"hostname":{"type":"string","description":"Protected website.\n"},"policyId":{"type":"string","description":"The WAF policy ID. Changing this creates a new rule.\n"},"status":{"type":"number","description":"Rule status. The value can be:\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FWafDedicatedWebTamperRuleV1Timeouts:WafDedicatedWebTamperRuleV1Timeouts"},"updateCache":{"type":"boolean","description":"To update the cache for a web tamper protection Rule.\n"},"url":{"type":"string","description":"URL protected by the web tamper protection rule.\nThe value must be in the standard URL format, for example, `/admin`\n"},"wafDedicatedWebTamperRuleV1Id":{"type":"string","description":"ID of the rule.\n"}},"type":"object","required":["createdAt","hostname","policyId","status","url","wafDedicatedWebTamperRuleV1Id"],"inputProperties":{"description":{"type":"string","description":"Rule description.\n"},"hostname":{"type":"string","description":"Protected website.\n"},"policyId":{"type":"string","description":"The WAF policy ID. Changing this creates a new rule.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FWafDedicatedWebTamperRuleV1Timeouts:WafDedicatedWebTamperRuleV1Timeouts"},"updateCache":{"type":"boolean","description":"To update the cache for a web tamper protection Rule.\n"},"url":{"type":"string","description":"URL protected by the web tamper protection rule.\nThe value must be in the standard URL format, for example, `/admin`\n"},"wafDedicatedWebTamperRuleV1Id":{"type":"string","description":"ID of the rule.\n"}},"requiredInputs":["hostname","policyId","url"],"stateInputs":{"description":"Input properties used for looking up and filtering WafDedicatedWebTamperRuleV1 resources.\n","properties":{"createdAt":{"type":"number","description":"Timestamp the rule is created.\n"},"description":{"type":"string","description":"Rule description.\n"},"hostname":{"type":"string","description":"Protected website.\n"},"policyId":{"type":"string","description":"The WAF policy ID. Changing this creates a new rule.\n"},"status":{"type":"number","description":"Rule status. The value can be:\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FWafDedicatedWebTamperRuleV1Timeouts:WafDedicatedWebTamperRuleV1Timeouts"},"updateCache":{"type":"boolean","description":"To update the cache for a web tamper protection Rule.\n"},"url":{"type":"string","description":"URL protected by the web tamper protection rule.\nThe value must be in the standard URL format, for example, `/admin`\n"},"wafDedicatedWebTamperRuleV1Id":{"type":"string","description":"ID of the rule.\n"}},"type":"object"}},"opentelekomcloud:index/wafDomainV1:WafDomainV1":{"description":"Up-to-date reference of API arguments for WAF domain you can get at\n[documentation portal](https://docs.otc.t-systems.com/web-application-firewall/api-ref/apis/domain_names)\n\nManages a WAF domain resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst content = config.requireObject\u003cany\u003e(\"content\");\nconst certificate1 = new opentelekomcloud.WafCertificateV1(\"certificate_1\", {\n    name: \"cert_1\",\n    content: \"-----BEGIN CERTIFICATE-----MIIDIjCCAougAwIBAgIJALV96mEtVF4EMA0GCSqGSIb3DQEBBQUAMGoxCzAJBgNVBAYTAnh4MQswCQYDVQQIEwJ4eDELMAkGA1UEBxMCeHgxCzAJBgNVBAoTAnh4MQswCQYDVQQLEwJ-----END CERTIFICATE-----\",\n    key: \"-----BEGIN RSA PRIVATE KEY-----MIICXQIBAAKBgQDFPN9ojPndxSC4E1pqWQVKGHCFlXAAGBOxbGfSzXqzsoyacotueqMqXQbxrPSQFATeVmhZPNVEMdvcAMjYsV/mymtAwVqVA6q/OFdX/b3UHO+b/VqLo3J5SrM-----END RSA PRIVATE KEY-----\",\n});\nconst domain1 = new opentelekomcloud.WafDomainV1(\"domain_1\", {\n    hostname: \"www.example.com\",\n    servers: [{\n        clientProtocol: \"HTTPS\",\n        serverProtocol: \"HTTPS\",\n        address: \"80.158.42.162\",\n        port: \"443\",\n    }],\n    certificateId: certificate1.wafCertificateV1Id,\n    proxy: true,\n    sipHeaderName: \"default\",\n    sipHeaderLists: [\"X-Forwarded-For\"],\n    blockPage: {\n        template: \"custom\",\n        statusCode: \"200\",\n        contentType: \"application/json\",\n        content: content,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ncontent = config.require_object(\"content\")\ncertificate1 = opentelekomcloud.WafCertificateV1(\"certificate_1\",\n    name=\"cert_1\",\n    content=\"-----BEGIN CERTIFICATE-----MIIDIjCCAougAwIBAgIJALV96mEtVF4EMA0GCSqGSIb3DQEBBQUAMGoxCzAJBgNVBAYTAnh4MQswCQYDVQQIEwJ4eDELMAkGA1UEBxMCeHgxCzAJBgNVBAoTAnh4MQswCQYDVQQLEwJ-----END CERTIFICATE-----\",\n    key=\"-----BEGIN RSA PRIVATE KEY-----MIICXQIBAAKBgQDFPN9ojPndxSC4E1pqWQVKGHCFlXAAGBOxbGfSzXqzsoyacotueqMqXQbxrPSQFATeVmhZPNVEMdvcAMjYsV/mymtAwVqVA6q/OFdX/b3UHO+b/VqLo3J5SrM-----END RSA PRIVATE KEY-----\")\ndomain1 = opentelekomcloud.WafDomainV1(\"domain_1\",\n    hostname=\"www.example.com\",\n    servers=[{\n        \"client_protocol\": \"HTTPS\",\n        \"server_protocol\": \"HTTPS\",\n        \"address\": \"80.158.42.162\",\n        \"port\": \"443\",\n    }],\n    certificate_id=certificate1.waf_certificate_v1_id,\n    proxy=True,\n    sip_header_name=\"default\",\n    sip_header_lists=[\"X-Forwarded-For\"],\n    block_page={\n        \"template\": \"custom\",\n        \"status_code\": \"200\",\n        \"content_type\": \"application/json\",\n        \"content\": content,\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var content = config.RequireObject\u003cdynamic\u003e(\"content\");\n    var certificate1 = new Opentelekomcloud.WafCertificateV1(\"certificate_1\", new()\n    {\n        Name = \"cert_1\",\n        Content = \"-----BEGIN CERTIFICATE-----MIIDIjCCAougAwIBAgIJALV96mEtVF4EMA0GCSqGSIb3DQEBBQUAMGoxCzAJBgNVBAYTAnh4MQswCQYDVQQIEwJ4eDELMAkGA1UEBxMCeHgxCzAJBgNVBAoTAnh4MQswCQYDVQQLEwJ-----END CERTIFICATE-----\",\n        Key = \"-----BEGIN RSA PRIVATE KEY-----MIICXQIBAAKBgQDFPN9ojPndxSC4E1pqWQVKGHCFlXAAGBOxbGfSzXqzsoyacotueqMqXQbxrPSQFATeVmhZPNVEMdvcAMjYsV/mymtAwVqVA6q/OFdX/b3UHO+b/VqLo3J5SrM-----END RSA PRIVATE KEY-----\",\n    });\n\n    var domain1 = new Opentelekomcloud.WafDomainV1(\"domain_1\", new()\n    {\n        Hostname = \"www.example.com\",\n        Servers = new[]\n        {\n            new Opentelekomcloud.Inputs.WafDomainV1ServerArgs\n            {\n                ClientProtocol = \"HTTPS\",\n                ServerProtocol = \"HTTPS\",\n                Address = \"80.158.42.162\",\n                Port = \"443\",\n            },\n        },\n        CertificateId = certificate1.WafCertificateV1Id,\n        Proxy = true,\n        SipHeaderName = \"default\",\n        SipHeaderLists = new[]\n        {\n            \"X-Forwarded-For\",\n        },\n        BlockPage = new Opentelekomcloud.Inputs.WafDomainV1BlockPageArgs\n        {\n            Template = \"custom\",\n            StatusCode = \"200\",\n            ContentType = \"application/json\",\n            Content = content,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tcontent := cfg.RequireObject(\"content\")\n\t\tcertificate1, err := opentelekomcloud.NewWafCertificateV1(ctx, \"certificate_1\", \u0026opentelekomcloud.WafCertificateV1Args{\n\t\t\tName:    pulumi.String(\"cert_1\"),\n\t\t\tContent: pulumi.String(\"-----BEGIN CERTIFICATE-----MIIDIjCCAougAwIBAgIJALV96mEtVF4EMA0GCSqGSIb3DQEBBQUAMGoxCzAJBgNVBAYTAnh4MQswCQYDVQQIEwJ4eDELMAkGA1UEBxMCeHgxCzAJBgNVBAoTAnh4MQswCQYDVQQLEwJ-----END CERTIFICATE-----\"),\n\t\t\tKey:     pulumi.String(\"-----BEGIN RSA PRIVATE KEY-----MIICXQIBAAKBgQDFPN9ojPndxSC4E1pqWQVKGHCFlXAAGBOxbGfSzXqzsoyacotueqMqXQbxrPSQFATeVmhZPNVEMdvcAMjYsV/mymtAwVqVA6q/OFdX/b3UHO+b/VqLo3J5SrM-----END RSA PRIVATE KEY-----\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewWafDomainV1(ctx, \"domain_1\", \u0026opentelekomcloud.WafDomainV1Args{\n\t\t\tHostname: pulumi.String(\"www.example.com\"),\n\t\t\tServers: opentelekomcloud.WafDomainV1ServerArray{\n\t\t\t\t\u0026opentelekomcloud.WafDomainV1ServerArgs{\n\t\t\t\t\tClientProtocol: pulumi.String(\"HTTPS\"),\n\t\t\t\t\tServerProtocol: pulumi.String(\"HTTPS\"),\n\t\t\t\t\tAddress:        pulumi.String(\"80.158.42.162\"),\n\t\t\t\t\tPort:           pulumi.String(\"443\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tCertificateId: certificate1.WafCertificateV1Id,\n\t\t\tProxy:         pulumi.Bool(true),\n\t\t\tSipHeaderName: pulumi.String(\"default\"),\n\t\t\tSipHeaderLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"X-Forwarded-For\"),\n\t\t\t},\n\t\t\tBlockPage: \u0026opentelekomcloud.WafDomainV1BlockPageArgs{\n\t\t\t\tTemplate:    pulumi.String(\"custom\"),\n\t\t\t\tStatusCode:  pulumi.String(\"200\"),\n\t\t\t\tContentType: pulumi.String(\"application/json\"),\n\t\t\t\tContent:     pulumi.Any(content),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.WafCertificateV1;\nimport com.pulumi.opentelekomcloud.WafCertificateV1Args;\nimport com.pulumi.opentelekomcloud.WafDomainV1;\nimport com.pulumi.opentelekomcloud.WafDomainV1Args;\nimport com.pulumi.opentelekomcloud.inputs.WafDomainV1ServerArgs;\nimport com.pulumi.opentelekomcloud.inputs.WafDomainV1BlockPageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var content = config.get(\"content\");\n        var certificate1 = new WafCertificateV1(\"certificate1\", WafCertificateV1Args.builder()\n            .name(\"cert_1\")\n            .content(\"-----BEGIN CERTIFICATE-----MIIDIjCCAougAwIBAgIJALV96mEtVF4EMA0GCSqGSIb3DQEBBQUAMGoxCzAJBgNVBAYTAnh4MQswCQYDVQQIEwJ4eDELMAkGA1UEBxMCeHgxCzAJBgNVBAoTAnh4MQswCQYDVQQLEwJ-----END CERTIFICATE-----\")\n            .key(\"-----BEGIN RSA PRIVATE KEY-----MIICXQIBAAKBgQDFPN9ojPndxSC4E1pqWQVKGHCFlXAAGBOxbGfSzXqzsoyacotueqMqXQbxrPSQFATeVmhZPNVEMdvcAMjYsV/mymtAwVqVA6q/OFdX/b3UHO+b/VqLo3J5SrM-----END RSA PRIVATE KEY-----\")\n            .build());\n\n        var domain1 = new WafDomainV1(\"domain1\", WafDomainV1Args.builder()\n            .hostname(\"www.example.com\")\n            .servers(WafDomainV1ServerArgs.builder()\n                .clientProtocol(\"HTTPS\")\n                .serverProtocol(\"HTTPS\")\n                .address(\"80.158.42.162\")\n                .port(\"443\")\n                .build())\n            .certificateId(certificate1.wafCertificateV1Id())\n            .proxy(true)\n            .sipHeaderName(\"default\")\n            .sipHeaderLists(\"X-Forwarded-For\")\n            .blockPage(WafDomainV1BlockPageArgs.builder()\n                .template(\"custom\")\n                .statusCode(\"200\")\n                .contentType(\"application/json\")\n                .content(content)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  content:\n    type: dynamic\nresources:\n  certificate1:\n    type: opentelekomcloud:WafCertificateV1\n    name: certificate_1\n    properties:\n      name: cert_1\n      content: '-----BEGIN CERTIFICATE-----MIIDIjCCAougAwIBAgIJALV96mEtVF4EMA0GCSqGSIb3DQEBBQUAMGoxCzAJBgNVBAYTAnh4MQswCQYDVQQIEwJ4eDELMAkGA1UEBxMCeHgxCzAJBgNVBAoTAnh4MQswCQYDVQQLEwJ-----END CERTIFICATE-----'\n      key: '-----BEGIN RSA PRIVATE KEY-----MIICXQIBAAKBgQDFPN9ojPndxSC4E1pqWQVKGHCFlXAAGBOxbGfSzXqzsoyacotueqMqXQbxrPSQFATeVmhZPNVEMdvcAMjYsV/mymtAwVqVA6q/OFdX/b3UHO+b/VqLo3J5SrM-----END RSA PRIVATE KEY-----'\n  domain1:\n    type: opentelekomcloud:WafDomainV1\n    name: domain_1\n    properties:\n      hostname: www.example.com\n      servers:\n        - clientProtocol: HTTPS\n          serverProtocol: HTTPS\n          address: 80.158.42.162\n          port: '443'\n      certificateId: ${certificate1.wafCertificateV1Id}\n      proxy: true\n      sipHeaderName: default\n      sipHeaderLists:\n        - X-Forwarded-For\n      blockPage:\n        template: custom\n        statusCode: '200'\n        contentType: application/json\n        content: ${content}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDomains can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/wafDomainV1:WafDomainV1 dom_1 7117d38e-4c8f-4624-a505-bd96b97d024c\n```\n\n","properties":{"accessCode":{"type":"string","description":"The access code.\n"},"accessStatus":{"type":"number","description":"Whether a domain name is connected to WAF. \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e: The domain name is not connected to WAF,\n\u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e: The domain name is connected to WAF.\n"},"blockPage":{"$ref":"#/types/opentelekomcloud:index%2FWafDomainV1BlockPage:WafDomainV1BlockPage","description":"Alarm page configuration\nThe \u003cspan pulumi-lang-nodejs=\"`blockPage`\" pulumi-lang-dotnet=\"`BlockPage`\" pulumi-lang-go=\"`blockPage`\" pulumi-lang-python=\"`block_page`\" pulumi-lang-yaml=\"`blockPage`\" pulumi-lang-java=\"`blockPage`\"\u003e`block_page`\u003c/span\u003e block supports:\n"},"certificateId":{"type":"string","description":"The certificate ID. This parameter is mandatory when\n\u003cspan pulumi-lang-nodejs=\"`frontProtocol`\" pulumi-lang-dotnet=\"`FrontProtocol`\" pulumi-lang-go=\"`frontProtocol`\" pulumi-lang-python=\"`front_protocol`\" pulumi-lang-yaml=\"`frontProtocol`\" pulumi-lang-java=\"`frontProtocol`\"\u003e`front_protocol`\u003c/span\u003e/\u003cspan pulumi-lang-nodejs=\"`clientProtocol`\" pulumi-lang-dotnet=\"`ClientProtocol`\" pulumi-lang-go=\"`clientProtocol`\" pulumi-lang-python=\"`client_protocol`\" pulumi-lang-yaml=\"`clientProtocol`\" pulumi-lang-java=\"`clientProtocol`\"\u003e`client_protocol`\u003c/span\u003e is set to `HTTPS`.\n"},"cipher":{"type":"string","description":"Cipher suite to use with TLS. Possible values are:\n"},"cname":{"type":"string","description":"The CNAME value.\n"},"hostname":{"type":"string","description":"The domain name. For example, `www.example.com` or `*.example.com`.\nChanging this creates a new domain.\n"},"policyId":{"type":"string","description":"The policy ID associate with the domain.\n\n-\u003e\nIf no policy ID is defined, default policy will be automatically created and assigned to the domain.\n"},"protectStatus":{"type":"number","description":"The WAF mode. `-1`: \u003cspan pulumi-lang-nodejs=\"`bypassed`\" pulumi-lang-dotnet=\"`Bypassed`\" pulumi-lang-go=\"`bypassed`\" pulumi-lang-python=\"`bypassed`\" pulumi-lang-yaml=\"`bypassed`\" pulumi-lang-java=\"`bypassed`\"\u003e`bypassed`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e: \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e: \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e.\n"},"protocol":{"type":"string","description":"The protocol type of the client. The options are `HTTP`, `HTTPS`, and `HTTP\u0026HTTPS`.\n"},"proxy":{"type":"boolean","description":"Specifies whether a proxy is configured.\n"},"servers":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FWafDomainV1Server:WafDomainV1Server"},"description":"Array of server object. The server object structure is documented below.\nThe \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e block supports:\n"},"sipHeaderLists":{"type":"array","items":{"type":"string"},"description":"Array of HTTP request header for identifying the real source IP address.\nThis parameter is required only when proxy is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n* If \u003cspan pulumi-lang-nodejs=\"`sipHeaderName`\" pulumi-lang-dotnet=\"`SipHeaderName`\" pulumi-lang-go=\"`sipHeaderName`\" pulumi-lang-python=\"`sip_header_name`\" pulumi-lang-yaml=\"`sipHeaderName`\" pulumi-lang-java=\"`sipHeaderName`\"\u003e`sip_header_name`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sipHeaderList`\" pulumi-lang-dotnet=\"`SipHeaderList`\" pulumi-lang-go=\"`sipHeaderList`\" pulumi-lang-python=\"`sip_header_list`\" pulumi-lang-yaml=\"`sipHeaderList`\" pulumi-lang-java=\"`sipHeaderList`\"\u003e`sip_header_list`\u003c/span\u003e is `[\"X-Forwarded-For\"]`.\n* If \u003cspan pulumi-lang-nodejs=\"`sipHeaderName`\" pulumi-lang-dotnet=\"`SipHeaderName`\" pulumi-lang-go=\"`sipHeaderName`\" pulumi-lang-python=\"`sip_header_name`\" pulumi-lang-yaml=\"`sipHeaderName`\" pulumi-lang-java=\"`sipHeaderName`\"\u003e`sip_header_name`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`cloudflare`\" pulumi-lang-dotnet=\"`Cloudflare`\" pulumi-lang-go=\"`cloudflare`\" pulumi-lang-python=\"`cloudflare`\" pulumi-lang-yaml=\"`cloudflare`\" pulumi-lang-java=\"`cloudflare`\"\u003e`cloudflare`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sipHeaderList`\" pulumi-lang-dotnet=\"`SipHeaderList`\" pulumi-lang-go=\"`sipHeaderList`\" pulumi-lang-python=\"`sip_header_list`\" pulumi-lang-yaml=\"`sipHeaderList`\" pulumi-lang-java=\"`sipHeaderList`\"\u003e`sip_header_list`\u003c/span\u003e is `[\"CF-Connecting-IP\", \"X-Forwarded-For\"]`.\n* If \u003cspan pulumi-lang-nodejs=\"`sipHeaderName`\" pulumi-lang-dotnet=\"`SipHeaderName`\" pulumi-lang-go=\"`sipHeaderName`\" pulumi-lang-python=\"`sip_header_name`\" pulumi-lang-yaml=\"`sipHeaderName`\" pulumi-lang-java=\"`sipHeaderName`\"\u003e`sip_header_name`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`akamai`\" pulumi-lang-dotnet=\"`Akamai`\" pulumi-lang-go=\"`akamai`\" pulumi-lang-python=\"`akamai`\" pulumi-lang-yaml=\"`akamai`\" pulumi-lang-java=\"`akamai`\"\u003e`akamai`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sipHeaderList`\" pulumi-lang-dotnet=\"`SipHeaderList`\" pulumi-lang-go=\"`sipHeaderList`\" pulumi-lang-python=\"`sip_header_list`\" pulumi-lang-yaml=\"`sipHeaderList`\" pulumi-lang-java=\"`sipHeaderList`\"\u003e`sip_header_list`\u003c/span\u003e is `[\"True-Client-IP\"]`.\n* If \u003cspan pulumi-lang-nodejs=\"`sipHeaderName`\" pulumi-lang-dotnet=\"`SipHeaderName`\" pulumi-lang-go=\"`sipHeaderName`\" pulumi-lang-python=\"`sip_header_name`\" pulumi-lang-yaml=\"`sipHeaderName`\" pulumi-lang-java=\"`sipHeaderName`\"\u003e`sip_header_name`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\"\u003e`custom`\u003c/span\u003e, you can customize a value.\n"},"sipHeaderName":{"type":"string","description":"The type of the source IP header. This parameter is required only when proxy is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\nThe options are as follows: \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`cloudflare`\" pulumi-lang-dotnet=\"`Cloudflare`\" pulumi-lang-go=\"`cloudflare`\" pulumi-lang-python=\"`cloudflare`\" pulumi-lang-yaml=\"`cloudflare`\" pulumi-lang-java=\"`cloudflare`\"\u003e`cloudflare`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`akamai`\" pulumi-lang-dotnet=\"`Akamai`\" pulumi-lang-go=\"`akamai`\" pulumi-lang-python=\"`akamai`\" pulumi-lang-yaml=\"`akamai`\" pulumi-lang-java=\"`akamai`\"\u003e`akamai`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\"\u003e`custom`\u003c/span\u003e.\n"},"subDomain":{"type":"string","description":"The subdomain name. This attribute is returned only when proxy is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FWafDomainV1Timeouts:WafDomainV1Timeouts"},"tls":{"type":"string","description":"Minimum TLS version for accessing the protected domain name  if \u003cspan pulumi-lang-nodejs=\"`clientProtocol`\" pulumi-lang-dotnet=\"`ClientProtocol`\" pulumi-lang-go=\"`clientProtocol`\" pulumi-lang-python=\"`client_protocol`\" pulumi-lang-yaml=\"`clientProtocol`\" pulumi-lang-java=\"`clientProtocol`\"\u003e`client_protocol`\u003c/span\u003e is set to `HTTPS`.\nPossible values are: `TLS v1.1` and `TLS v1.2`.\n"},"txtCode":{"type":"string","description":"The TXT record. This attribute is returned only when proxy is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"wafDomainV1Id":{"type":"string","description":"ID of the domain.\n"}},"type":"object","required":["accessCode","accessStatus","cipher","cname","hostname","policyId","protectStatus","protocol","proxy","servers","subDomain","tls","txtCode","wafDomainV1Id"],"inputProperties":{"blockPage":{"$ref":"#/types/opentelekomcloud:index%2FWafDomainV1BlockPage:WafDomainV1BlockPage","description":"Alarm page configuration\nThe \u003cspan pulumi-lang-nodejs=\"`blockPage`\" pulumi-lang-dotnet=\"`BlockPage`\" pulumi-lang-go=\"`blockPage`\" pulumi-lang-python=\"`block_page`\" pulumi-lang-yaml=\"`blockPage`\" pulumi-lang-java=\"`blockPage`\"\u003e`block_page`\u003c/span\u003e block supports:\n"},"certificateId":{"type":"string","description":"The certificate ID. This parameter is mandatory when\n\u003cspan pulumi-lang-nodejs=\"`frontProtocol`\" pulumi-lang-dotnet=\"`FrontProtocol`\" pulumi-lang-go=\"`frontProtocol`\" pulumi-lang-python=\"`front_protocol`\" pulumi-lang-yaml=\"`frontProtocol`\" pulumi-lang-java=\"`frontProtocol`\"\u003e`front_protocol`\u003c/span\u003e/\u003cspan pulumi-lang-nodejs=\"`clientProtocol`\" pulumi-lang-dotnet=\"`ClientProtocol`\" pulumi-lang-go=\"`clientProtocol`\" pulumi-lang-python=\"`client_protocol`\" pulumi-lang-yaml=\"`clientProtocol`\" pulumi-lang-java=\"`clientProtocol`\"\u003e`client_protocol`\u003c/span\u003e is set to `HTTPS`.\n"},"cipher":{"type":"string","description":"Cipher suite to use with TLS. Possible values are:\n"},"hostname":{"type":"string","description":"The domain name. For example, `www.example.com` or `*.example.com`.\nChanging this creates a new domain.\n"},"policyId":{"type":"string","description":"The policy ID associate with the domain.\n\n-\u003e\nIf no policy ID is defined, default policy will be automatically created and assigned to the domain.\n"},"proxy":{"type":"boolean","description":"Specifies whether a proxy is configured.\n"},"servers":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FWafDomainV1Server:WafDomainV1Server"},"description":"Array of server object. The server object structure is documented below.\nThe \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e block supports:\n"},"sipHeaderLists":{"type":"array","items":{"type":"string"},"description":"Array of HTTP request header for identifying the real source IP address.\nThis parameter is required only when proxy is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n* If \u003cspan pulumi-lang-nodejs=\"`sipHeaderName`\" pulumi-lang-dotnet=\"`SipHeaderName`\" pulumi-lang-go=\"`sipHeaderName`\" pulumi-lang-python=\"`sip_header_name`\" pulumi-lang-yaml=\"`sipHeaderName`\" pulumi-lang-java=\"`sipHeaderName`\"\u003e`sip_header_name`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sipHeaderList`\" pulumi-lang-dotnet=\"`SipHeaderList`\" pulumi-lang-go=\"`sipHeaderList`\" pulumi-lang-python=\"`sip_header_list`\" pulumi-lang-yaml=\"`sipHeaderList`\" pulumi-lang-java=\"`sipHeaderList`\"\u003e`sip_header_list`\u003c/span\u003e is `[\"X-Forwarded-For\"]`.\n* If \u003cspan pulumi-lang-nodejs=\"`sipHeaderName`\" pulumi-lang-dotnet=\"`SipHeaderName`\" pulumi-lang-go=\"`sipHeaderName`\" pulumi-lang-python=\"`sip_header_name`\" pulumi-lang-yaml=\"`sipHeaderName`\" pulumi-lang-java=\"`sipHeaderName`\"\u003e`sip_header_name`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`cloudflare`\" pulumi-lang-dotnet=\"`Cloudflare`\" pulumi-lang-go=\"`cloudflare`\" pulumi-lang-python=\"`cloudflare`\" pulumi-lang-yaml=\"`cloudflare`\" pulumi-lang-java=\"`cloudflare`\"\u003e`cloudflare`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sipHeaderList`\" pulumi-lang-dotnet=\"`SipHeaderList`\" pulumi-lang-go=\"`sipHeaderList`\" pulumi-lang-python=\"`sip_header_list`\" pulumi-lang-yaml=\"`sipHeaderList`\" pulumi-lang-java=\"`sipHeaderList`\"\u003e`sip_header_list`\u003c/span\u003e is `[\"CF-Connecting-IP\", \"X-Forwarded-For\"]`.\n* If \u003cspan pulumi-lang-nodejs=\"`sipHeaderName`\" pulumi-lang-dotnet=\"`SipHeaderName`\" pulumi-lang-go=\"`sipHeaderName`\" pulumi-lang-python=\"`sip_header_name`\" pulumi-lang-yaml=\"`sipHeaderName`\" pulumi-lang-java=\"`sipHeaderName`\"\u003e`sip_header_name`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`akamai`\" pulumi-lang-dotnet=\"`Akamai`\" pulumi-lang-go=\"`akamai`\" pulumi-lang-python=\"`akamai`\" pulumi-lang-yaml=\"`akamai`\" pulumi-lang-java=\"`akamai`\"\u003e`akamai`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sipHeaderList`\" pulumi-lang-dotnet=\"`SipHeaderList`\" pulumi-lang-go=\"`sipHeaderList`\" pulumi-lang-python=\"`sip_header_list`\" pulumi-lang-yaml=\"`sipHeaderList`\" pulumi-lang-java=\"`sipHeaderList`\"\u003e`sip_header_list`\u003c/span\u003e is `[\"True-Client-IP\"]`.\n* If \u003cspan pulumi-lang-nodejs=\"`sipHeaderName`\" pulumi-lang-dotnet=\"`SipHeaderName`\" pulumi-lang-go=\"`sipHeaderName`\" pulumi-lang-python=\"`sip_header_name`\" pulumi-lang-yaml=\"`sipHeaderName`\" pulumi-lang-java=\"`sipHeaderName`\"\u003e`sip_header_name`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\"\u003e`custom`\u003c/span\u003e, you can customize a value.\n"},"sipHeaderName":{"type":"string","description":"The type of the source IP header. This parameter is required only when proxy is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\nThe options are as follows: \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`cloudflare`\" pulumi-lang-dotnet=\"`Cloudflare`\" pulumi-lang-go=\"`cloudflare`\" pulumi-lang-python=\"`cloudflare`\" pulumi-lang-yaml=\"`cloudflare`\" pulumi-lang-java=\"`cloudflare`\"\u003e`cloudflare`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`akamai`\" pulumi-lang-dotnet=\"`Akamai`\" pulumi-lang-go=\"`akamai`\" pulumi-lang-python=\"`akamai`\" pulumi-lang-yaml=\"`akamai`\" pulumi-lang-java=\"`akamai`\"\u003e`akamai`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\"\u003e`custom`\u003c/span\u003e.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FWafDomainV1Timeouts:WafDomainV1Timeouts"},"tls":{"type":"string","description":"Minimum TLS version for accessing the protected domain name  if \u003cspan pulumi-lang-nodejs=\"`clientProtocol`\" pulumi-lang-dotnet=\"`ClientProtocol`\" pulumi-lang-go=\"`clientProtocol`\" pulumi-lang-python=\"`client_protocol`\" pulumi-lang-yaml=\"`clientProtocol`\" pulumi-lang-java=\"`clientProtocol`\"\u003e`client_protocol`\u003c/span\u003e is set to `HTTPS`.\nPossible values are: `TLS v1.1` and `TLS v1.2`.\n"},"wafDomainV1Id":{"type":"string","description":"ID of the domain.\n"}},"requiredInputs":["hostname","proxy","servers"],"stateInputs":{"description":"Input properties used for looking up and filtering WafDomainV1 resources.\n","properties":{"accessCode":{"type":"string","description":"The access code.\n"},"accessStatus":{"type":"number","description":"Whether a domain name is connected to WAF. \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e: The domain name is not connected to WAF,\n\u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e: The domain name is connected to WAF.\n"},"blockPage":{"$ref":"#/types/opentelekomcloud:index%2FWafDomainV1BlockPage:WafDomainV1BlockPage","description":"Alarm page configuration\nThe \u003cspan pulumi-lang-nodejs=\"`blockPage`\" pulumi-lang-dotnet=\"`BlockPage`\" pulumi-lang-go=\"`blockPage`\" pulumi-lang-python=\"`block_page`\" pulumi-lang-yaml=\"`blockPage`\" pulumi-lang-java=\"`blockPage`\"\u003e`block_page`\u003c/span\u003e block supports:\n"},"certificateId":{"type":"string","description":"The certificate ID. This parameter is mandatory when\n\u003cspan pulumi-lang-nodejs=\"`frontProtocol`\" pulumi-lang-dotnet=\"`FrontProtocol`\" pulumi-lang-go=\"`frontProtocol`\" pulumi-lang-python=\"`front_protocol`\" pulumi-lang-yaml=\"`frontProtocol`\" pulumi-lang-java=\"`frontProtocol`\"\u003e`front_protocol`\u003c/span\u003e/\u003cspan pulumi-lang-nodejs=\"`clientProtocol`\" pulumi-lang-dotnet=\"`ClientProtocol`\" pulumi-lang-go=\"`clientProtocol`\" pulumi-lang-python=\"`client_protocol`\" pulumi-lang-yaml=\"`clientProtocol`\" pulumi-lang-java=\"`clientProtocol`\"\u003e`client_protocol`\u003c/span\u003e is set to `HTTPS`.\n"},"cipher":{"type":"string","description":"Cipher suite to use with TLS. Possible values are:\n"},"cname":{"type":"string","description":"The CNAME value.\n"},"hostname":{"type":"string","description":"The domain name. For example, `www.example.com` or `*.example.com`.\nChanging this creates a new domain.\n"},"policyId":{"type":"string","description":"The policy ID associate with the domain.\n\n-\u003e\nIf no policy ID is defined, default policy will be automatically created and assigned to the domain.\n"},"protectStatus":{"type":"number","description":"The WAF mode. `-1`: \u003cspan pulumi-lang-nodejs=\"`bypassed`\" pulumi-lang-dotnet=\"`Bypassed`\" pulumi-lang-go=\"`bypassed`\" pulumi-lang-python=\"`bypassed`\" pulumi-lang-yaml=\"`bypassed`\" pulumi-lang-java=\"`bypassed`\"\u003e`bypassed`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e: \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e: \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e.\n"},"protocol":{"type":"string","description":"The protocol type of the client. The options are `HTTP`, `HTTPS`, and `HTTP\u0026HTTPS`.\n"},"proxy":{"type":"boolean","description":"Specifies whether a proxy is configured.\n"},"servers":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FWafDomainV1Server:WafDomainV1Server"},"description":"Array of server object. The server object structure is documented below.\nThe \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e block supports:\n"},"sipHeaderLists":{"type":"array","items":{"type":"string"},"description":"Array of HTTP request header for identifying the real source IP address.\nThis parameter is required only when proxy is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n* If \u003cspan pulumi-lang-nodejs=\"`sipHeaderName`\" pulumi-lang-dotnet=\"`SipHeaderName`\" pulumi-lang-go=\"`sipHeaderName`\" pulumi-lang-python=\"`sip_header_name`\" pulumi-lang-yaml=\"`sipHeaderName`\" pulumi-lang-java=\"`sipHeaderName`\"\u003e`sip_header_name`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sipHeaderList`\" pulumi-lang-dotnet=\"`SipHeaderList`\" pulumi-lang-go=\"`sipHeaderList`\" pulumi-lang-python=\"`sip_header_list`\" pulumi-lang-yaml=\"`sipHeaderList`\" pulumi-lang-java=\"`sipHeaderList`\"\u003e`sip_header_list`\u003c/span\u003e is `[\"X-Forwarded-For\"]`.\n* If \u003cspan pulumi-lang-nodejs=\"`sipHeaderName`\" pulumi-lang-dotnet=\"`SipHeaderName`\" pulumi-lang-go=\"`sipHeaderName`\" pulumi-lang-python=\"`sip_header_name`\" pulumi-lang-yaml=\"`sipHeaderName`\" pulumi-lang-java=\"`sipHeaderName`\"\u003e`sip_header_name`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`cloudflare`\" pulumi-lang-dotnet=\"`Cloudflare`\" pulumi-lang-go=\"`cloudflare`\" pulumi-lang-python=\"`cloudflare`\" pulumi-lang-yaml=\"`cloudflare`\" pulumi-lang-java=\"`cloudflare`\"\u003e`cloudflare`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sipHeaderList`\" pulumi-lang-dotnet=\"`SipHeaderList`\" pulumi-lang-go=\"`sipHeaderList`\" pulumi-lang-python=\"`sip_header_list`\" pulumi-lang-yaml=\"`sipHeaderList`\" pulumi-lang-java=\"`sipHeaderList`\"\u003e`sip_header_list`\u003c/span\u003e is `[\"CF-Connecting-IP\", \"X-Forwarded-For\"]`.\n* If \u003cspan pulumi-lang-nodejs=\"`sipHeaderName`\" pulumi-lang-dotnet=\"`SipHeaderName`\" pulumi-lang-go=\"`sipHeaderName`\" pulumi-lang-python=\"`sip_header_name`\" pulumi-lang-yaml=\"`sipHeaderName`\" pulumi-lang-java=\"`sipHeaderName`\"\u003e`sip_header_name`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`akamai`\" pulumi-lang-dotnet=\"`Akamai`\" pulumi-lang-go=\"`akamai`\" pulumi-lang-python=\"`akamai`\" pulumi-lang-yaml=\"`akamai`\" pulumi-lang-java=\"`akamai`\"\u003e`akamai`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sipHeaderList`\" pulumi-lang-dotnet=\"`SipHeaderList`\" pulumi-lang-go=\"`sipHeaderList`\" pulumi-lang-python=\"`sip_header_list`\" pulumi-lang-yaml=\"`sipHeaderList`\" pulumi-lang-java=\"`sipHeaderList`\"\u003e`sip_header_list`\u003c/span\u003e is `[\"True-Client-IP\"]`.\n* If \u003cspan pulumi-lang-nodejs=\"`sipHeaderName`\" pulumi-lang-dotnet=\"`SipHeaderName`\" pulumi-lang-go=\"`sipHeaderName`\" pulumi-lang-python=\"`sip_header_name`\" pulumi-lang-yaml=\"`sipHeaderName`\" pulumi-lang-java=\"`sipHeaderName`\"\u003e`sip_header_name`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\"\u003e`custom`\u003c/span\u003e, you can customize a value.\n"},"sipHeaderName":{"type":"string","description":"The type of the source IP header. This parameter is required only when proxy is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\nThe options are as follows: \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`cloudflare`\" pulumi-lang-dotnet=\"`Cloudflare`\" pulumi-lang-go=\"`cloudflare`\" pulumi-lang-python=\"`cloudflare`\" pulumi-lang-yaml=\"`cloudflare`\" pulumi-lang-java=\"`cloudflare`\"\u003e`cloudflare`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`akamai`\" pulumi-lang-dotnet=\"`Akamai`\" pulumi-lang-go=\"`akamai`\" pulumi-lang-python=\"`akamai`\" pulumi-lang-yaml=\"`akamai`\" pulumi-lang-java=\"`akamai`\"\u003e`akamai`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\"\u003e`custom`\u003c/span\u003e.\n"},"subDomain":{"type":"string","description":"The subdomain name. This attribute is returned only when proxy is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FWafDomainV1Timeouts:WafDomainV1Timeouts"},"tls":{"type":"string","description":"Minimum TLS version for accessing the protected domain name  if \u003cspan pulumi-lang-nodejs=\"`clientProtocol`\" pulumi-lang-dotnet=\"`ClientProtocol`\" pulumi-lang-go=\"`clientProtocol`\" pulumi-lang-python=\"`client_protocol`\" pulumi-lang-yaml=\"`clientProtocol`\" pulumi-lang-java=\"`clientProtocol`\"\u003e`client_protocol`\u003c/span\u003e is set to `HTTPS`.\nPossible values are: `TLS v1.1` and `TLS v1.2`.\n"},"txtCode":{"type":"string","description":"The TXT record. This attribute is returned only when proxy is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"wafDomainV1Id":{"type":"string","description":"ID of the domain.\n"}},"type":"object"}},"opentelekomcloud:index/wafFalsealarmmaskingRuleV1:WafFalsealarmmaskingRuleV1":{"description":"Up-to-date reference of API arguments for WAF false alarm masking rules you can get at\n[documentation portal](https://docs.otc.t-systems.com/web-application-firewall/api-ref/apis/false_alarm_masking_rules)\n\nManages a WAF False Alarm Masking Rule resource within OpenTelekomCloud.\n\n!\u003e\nThis resource is known to be broken due to the API changes and will be fixed in the upcoming releases\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst policy1 = new opentelekomcloud.WafPolicyV1(\"policy_1\", {name: \"policy_1\"});\nconst rule1 = new opentelekomcloud.WafFalsealarmmaskingRuleV1(\"rule_1\", {\n    policyId: policy1.wafPolicyV1Id,\n    url: \"/a\",\n    rule: \"100001\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\npolicy1 = opentelekomcloud.WafPolicyV1(\"policy_1\", name=\"policy_1\")\nrule1 = opentelekomcloud.WafFalsealarmmaskingRuleV1(\"rule_1\",\n    policy_id=policy1.waf_policy_v1_id,\n    url=\"/a\",\n    rule=\"100001\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var policy1 = new Opentelekomcloud.WafPolicyV1(\"policy_1\", new()\n    {\n        Name = \"policy_1\",\n    });\n\n    var rule1 = new Opentelekomcloud.WafFalsealarmmaskingRuleV1(\"rule_1\", new()\n    {\n        PolicyId = policy1.WafPolicyV1Id,\n        Url = \"/a\",\n        Rule = \"100001\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpolicy1, err := opentelekomcloud.NewWafPolicyV1(ctx, \"policy_1\", \u0026opentelekomcloud.WafPolicyV1Args{\n\t\t\tName: pulumi.String(\"policy_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewWafFalsealarmmaskingRuleV1(ctx, \"rule_1\", \u0026opentelekomcloud.WafFalsealarmmaskingRuleV1Args{\n\t\t\tPolicyId: policy1.WafPolicyV1Id,\n\t\t\tUrl:      pulumi.String(\"/a\"),\n\t\t\tRule:     pulumi.String(\"100001\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.WafPolicyV1;\nimport com.pulumi.opentelekomcloud.WafPolicyV1Args;\nimport com.pulumi.opentelekomcloud.WafFalsealarmmaskingRuleV1;\nimport com.pulumi.opentelekomcloud.WafFalsealarmmaskingRuleV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var policy1 = new WafPolicyV1(\"policy1\", WafPolicyV1Args.builder()\n            .name(\"policy_1\")\n            .build());\n\n        var rule1 = new WafFalsealarmmaskingRuleV1(\"rule1\", WafFalsealarmmaskingRuleV1Args.builder()\n            .policyId(policy1.wafPolicyV1Id())\n            .url(\"/a\")\n            .rule(\"100001\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  policy1:\n    type: opentelekomcloud:WafPolicyV1\n    name: policy_1\n    properties:\n      name: policy_1\n  rule1:\n    type: opentelekomcloud:WafFalsealarmmaskingRuleV1\n    name: rule_1\n    properties:\n      policyId: ${policy1.wafPolicyV1Id}\n      url: /a\n      rule: '100001'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFalse Alarm Masking Rules can be imported using `policy_id/id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/wafFalsealarmmaskingRuleV1:WafFalsealarmmaskingRuleV1 rule_1 ff95e71c8ae74eba9887193ab22c5757/b39f3a5a1b4f447a8030f0b0703f47f5\n```\n\n","properties":{"policyId":{"type":"string","description":"The WAF policy ID. Changing this creates a new rule.\n"},"rule":{"type":"string","description":"Specifies the rule ID, which consists of six digits and cannot be empty. Changing this creates a new rule.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FWafFalsealarmmaskingRuleV1Timeouts:WafFalsealarmmaskingRuleV1Timeouts"},"url":{"type":"string","description":"Specifies a misreported URL excluding a domain name. Changing this creates a new rule.\n"},"wafFalsealarmmaskingRuleV1Id":{"type":"string","description":"ID of the rule.\n"}},"type":"object","required":["policyId","rule","url","wafFalsealarmmaskingRuleV1Id"],"inputProperties":{"policyId":{"type":"string","description":"The WAF policy ID. Changing this creates a new rule.\n"},"rule":{"type":"string","description":"Specifies the rule ID, which consists of six digits and cannot be empty. Changing this creates a new rule.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FWafFalsealarmmaskingRuleV1Timeouts:WafFalsealarmmaskingRuleV1Timeouts"},"url":{"type":"string","description":"Specifies a misreported URL excluding a domain name. Changing this creates a new rule.\n"},"wafFalsealarmmaskingRuleV1Id":{"type":"string","description":"ID of the rule.\n"}},"requiredInputs":["policyId","rule","url"],"stateInputs":{"description":"Input properties used for looking up and filtering WafFalsealarmmaskingRuleV1 resources.\n","properties":{"policyId":{"type":"string","description":"The WAF policy ID. Changing this creates a new rule.\n"},"rule":{"type":"string","description":"Specifies the rule ID, which consists of six digits and cannot be empty. Changing this creates a new rule.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FWafFalsealarmmaskingRuleV1Timeouts:WafFalsealarmmaskingRuleV1Timeouts"},"url":{"type":"string","description":"Specifies a misreported URL excluding a domain name. Changing this creates a new rule.\n"},"wafFalsealarmmaskingRuleV1Id":{"type":"string","description":"ID of the rule.\n"}},"type":"object"}},"opentelekomcloud:index/wafPolicyV1:WafPolicyV1":{"description":"Up-to-date reference of API arguments for WAF policy you can get at\n[documentation portal](https://docs.otc.t-systems.com/web-application-firewall/api-ref/apis/policies)\n\nManages a WAF policy resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst policy1 = new opentelekomcloud.WafPolicyV1(\"policy_1\", {\n    name: \"policy_1\",\n    options: {\n        webattack: true,\n        crawler: true,\n    },\n    fullDetection: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\npolicy1 = opentelekomcloud.WafPolicyV1(\"policy_1\",\n    name=\"policy_1\",\n    options={\n        \"webattack\": True,\n        \"crawler\": True,\n    },\n    full_detection=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var policy1 = new Opentelekomcloud.WafPolicyV1(\"policy_1\", new()\n    {\n        Name = \"policy_1\",\n        Options = new Opentelekomcloud.Inputs.WafPolicyV1OptionsArgs\n        {\n            Webattack = true,\n            Crawler = true,\n        },\n        FullDetection = false,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewWafPolicyV1(ctx, \"policy_1\", \u0026opentelekomcloud.WafPolicyV1Args{\n\t\t\tName: pulumi.String(\"policy_1\"),\n\t\t\tOptions: \u0026opentelekomcloud.WafPolicyV1OptionsArgs{\n\t\t\t\tWebattack: pulumi.Bool(true),\n\t\t\t\tCrawler:   pulumi.Bool(true),\n\t\t\t},\n\t\t\tFullDetection: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.WafPolicyV1;\nimport com.pulumi.opentelekomcloud.WafPolicyV1Args;\nimport com.pulumi.opentelekomcloud.inputs.WafPolicyV1OptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var policy1 = new WafPolicyV1(\"policy1\", WafPolicyV1Args.builder()\n            .name(\"policy_1\")\n            .options(WafPolicyV1OptionsArgs.builder()\n                .webattack(true)\n                .crawler(true)\n                .build())\n            .fullDetection(false)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  policy1:\n    type: opentelekomcloud:WafPolicyV1\n    name: policy_1\n    properties:\n      name: policy_1\n      options:\n        webattack: true\n        crawler: true\n      fullDetection: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPolicies can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/wafPolicyV1:WafPolicyV1 policy_1 7117d38e-4c8f-4624-a505-bd96b97d024c\n```\n\n","properties":{"action":{"$ref":"#/types/opentelekomcloud:index%2FWafPolicyV1Action:WafPolicyV1Action","description":"Specifies the protective action after a rule is matched. The action object structure is documented below.\n"},"fullDetection":{"type":"boolean","description":"Specifies the detection mode in Precise Protection.\n"},"hosts":{"type":"array","items":{"type":"string"},"description":"An array of the domain IDs.\n","deprecationMessage":"Deprecated"},"level":{"type":"number","description":"Specifies the protection level.\n"},"name":{"type":"string","description":"The policy name. The maximum length is 256 characters. Only digits, letters, underscores(_), and hyphens(-) are allowed.\n"},"options":{"$ref":"#/types/opentelekomcloud:index%2FWafPolicyV1Options:WafPolicyV1Options","description":"Specifies the protection switches. The options object structure is documented below.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FWafPolicyV1Timeouts:WafPolicyV1Timeouts"},"wafPolicyV1Id":{"type":"string","description":"ID of the policy.\n"}},"type":"object","required":["fullDetection","hosts","level","name","wafPolicyV1Id"],"inputProperties":{"action":{"$ref":"#/types/opentelekomcloud:index%2FWafPolicyV1Action:WafPolicyV1Action","description":"Specifies the protective action after a rule is matched. The action object structure is documented below.\n"},"fullDetection":{"type":"boolean","description":"Specifies the detection mode in Precise Protection.\n"},"hosts":{"type":"array","items":{"type":"string"},"description":"An array of the domain IDs.\n","deprecationMessage":"Deprecated"},"level":{"type":"number","description":"Specifies the protection level.\n"},"name":{"type":"string","description":"The policy name. The maximum length is 256 characters. Only digits, letters, underscores(_), and hyphens(-) are allowed.\n"},"options":{"$ref":"#/types/opentelekomcloud:index%2FWafPolicyV1Options:WafPolicyV1Options","description":"Specifies the protection switches. The options object structure is documented below.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FWafPolicyV1Timeouts:WafPolicyV1Timeouts"},"wafPolicyV1Id":{"type":"string","description":"ID of the policy.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering WafPolicyV1 resources.\n","properties":{"action":{"$ref":"#/types/opentelekomcloud:index%2FWafPolicyV1Action:WafPolicyV1Action","description":"Specifies the protective action after a rule is matched. The action object structure is documented below.\n"},"fullDetection":{"type":"boolean","description":"Specifies the detection mode in Precise Protection.\n"},"hosts":{"type":"array","items":{"type":"string"},"description":"An array of the domain IDs.\n","deprecationMessage":"Deprecated"},"level":{"type":"number","description":"Specifies the protection level.\n"},"name":{"type":"string","description":"The policy name. The maximum length is 256 characters. Only digits, letters, underscores(_), and hyphens(-) are allowed.\n"},"options":{"$ref":"#/types/opentelekomcloud:index%2FWafPolicyV1Options:WafPolicyV1Options","description":"Specifies the protection switches. The options object structure is documented below.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FWafPolicyV1Timeouts:WafPolicyV1Timeouts"},"wafPolicyV1Id":{"type":"string","description":"ID of the policy.\n"}},"type":"object"}},"opentelekomcloud:index/wafPreciseprotectionRuleV1:WafPreciseprotectionRuleV1":{"description":"Up-to-date reference of API arguments for WAF precise protection rule you can get at\n[documentation portal](https://docs.otc.t-systems.com/web-application-firewall/api-ref/apis/precise_protection_rules)\n\nManages a WAF Precise Protection Rule resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst policy1 = new opentelekomcloud.WafPolicyV1(\"policy_1\", {name: \"policy_1\"});\nconst rule1 = new opentelekomcloud.WafPreciseprotectionRuleV1(\"rule_1\", {\n    policyId: policy1.wafPolicyV1Id,\n    name: \"rule_1\",\n    conditions: [\n        {\n            category: \"path\",\n            contents: [\"/login\"],\n            logic: \"contain\",\n        },\n        {\n            category: \"ip\",\n            contents: [\"192.168.1.1\"],\n            logic: \"equal\",\n        },\n    ],\n    actionCategory: \"block\",\n    priority: 10,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\npolicy1 = opentelekomcloud.WafPolicyV1(\"policy_1\", name=\"policy_1\")\nrule1 = opentelekomcloud.WafPreciseprotectionRuleV1(\"rule_1\",\n    policy_id=policy1.waf_policy_v1_id,\n    name=\"rule_1\",\n    conditions=[\n        {\n            \"category\": \"path\",\n            \"contents\": [\"/login\"],\n            \"logic\": \"contain\",\n        },\n        {\n            \"category\": \"ip\",\n            \"contents\": [\"192.168.1.1\"],\n            \"logic\": \"equal\",\n        },\n    ],\n    action_category=\"block\",\n    priority=10)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var policy1 = new Opentelekomcloud.WafPolicyV1(\"policy_1\", new()\n    {\n        Name = \"policy_1\",\n    });\n\n    var rule1 = new Opentelekomcloud.WafPreciseprotectionRuleV1(\"rule_1\", new()\n    {\n        PolicyId = policy1.WafPolicyV1Id,\n        Name = \"rule_1\",\n        Conditions = new[]\n        {\n            new Opentelekomcloud.Inputs.WafPreciseprotectionRuleV1ConditionArgs\n            {\n                Category = \"path\",\n                Contents = new[]\n                {\n                    \"/login\",\n                },\n                Logic = \"contain\",\n            },\n            new Opentelekomcloud.Inputs.WafPreciseprotectionRuleV1ConditionArgs\n            {\n                Category = \"ip\",\n                Contents = new[]\n                {\n                    \"192.168.1.1\",\n                },\n                Logic = \"equal\",\n            },\n        },\n        ActionCategory = \"block\",\n        Priority = 10,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpolicy1, err := opentelekomcloud.NewWafPolicyV1(ctx, \"policy_1\", \u0026opentelekomcloud.WafPolicyV1Args{\n\t\t\tName: pulumi.String(\"policy_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewWafPreciseprotectionRuleV1(ctx, \"rule_1\", \u0026opentelekomcloud.WafPreciseprotectionRuleV1Args{\n\t\t\tPolicyId: policy1.WafPolicyV1Id,\n\t\t\tName:     pulumi.String(\"rule_1\"),\n\t\t\tConditions: opentelekomcloud.WafPreciseprotectionRuleV1ConditionArray{\n\t\t\t\t\u0026opentelekomcloud.WafPreciseprotectionRuleV1ConditionArgs{\n\t\t\t\t\tCategory: pulumi.String(\"path\"),\n\t\t\t\t\tContents: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"/login\"),\n\t\t\t\t\t},\n\t\t\t\t\tLogic: pulumi.String(\"contain\"),\n\t\t\t\t},\n\t\t\t\t\u0026opentelekomcloud.WafPreciseprotectionRuleV1ConditionArgs{\n\t\t\t\t\tCategory: pulumi.String(\"ip\"),\n\t\t\t\t\tContents: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"192.168.1.1\"),\n\t\t\t\t\t},\n\t\t\t\t\tLogic: pulumi.String(\"equal\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tActionCategory: pulumi.String(\"block\"),\n\t\t\tPriority:       pulumi.Float64(10),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.WafPolicyV1;\nimport com.pulumi.opentelekomcloud.WafPolicyV1Args;\nimport com.pulumi.opentelekomcloud.WafPreciseprotectionRuleV1;\nimport com.pulumi.opentelekomcloud.WafPreciseprotectionRuleV1Args;\nimport com.pulumi.opentelekomcloud.inputs.WafPreciseprotectionRuleV1ConditionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var policy1 = new WafPolicyV1(\"policy1\", WafPolicyV1Args.builder()\n            .name(\"policy_1\")\n            .build());\n\n        var rule1 = new WafPreciseprotectionRuleV1(\"rule1\", WafPreciseprotectionRuleV1Args.builder()\n            .policyId(policy1.wafPolicyV1Id())\n            .name(\"rule_1\")\n            .conditions(            \n                WafPreciseprotectionRuleV1ConditionArgs.builder()\n                    .category(\"path\")\n                    .contents(\"/login\")\n                    .logic(\"contain\")\n                    .build(),\n                WafPreciseprotectionRuleV1ConditionArgs.builder()\n                    .category(\"ip\")\n                    .contents(\"192.168.1.1\")\n                    .logic(\"equal\")\n                    .build())\n            .actionCategory(\"block\")\n            .priority(10.0)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  policy1:\n    type: opentelekomcloud:WafPolicyV1\n    name: policy_1\n    properties:\n      name: policy_1\n  rule1:\n    type: opentelekomcloud:WafPreciseprotectionRuleV1\n    name: rule_1\n    properties:\n      policyId: ${policy1.wafPolicyV1Id}\n      name: rule_1\n      conditions:\n        - category: path\n          contents:\n            - /login\n          logic: contain\n        - category: ip\n          contents:\n            - 192.168.1.1\n          logic: equal\n      actionCategory: block\n      priority: 10\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPrecise Protection Rules can be imported using `policy_id/id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/wafPreciseprotectionRuleV1:WafPreciseprotectionRuleV1 rule_1 ff95e71c8ae74eba9887193ab22c5757/b39f3a5a1b4f447a8030f0b0703f47f5\n```\n\n","properties":{"actionCategory":{"type":"string"},"conditions":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FWafPreciseprotectionRuleV1Condition:WafPreciseprotectionRuleV1Condition"},"description":"Specifies the condition parameters. Changing this creates a new rule.\nThe conditions object structure is documented below.\n"},"end":{"type":"string","description":"Specifies the time when the precise protection rule expires. If time is set to true,\neither the start time or the end time must be set. Changing this creates a new rule.\n"},"name":{"type":"string","description":"Specifies the name of a precise protection rule. Changing this creates a new rule.\n"},"policyId":{"type":"string","description":"The WAF policy ID. Changing this creates a new rule.\n"},"priority":{"type":"number","description":"Specifies the priority of a rule being executed. Smaller values correspond to higher priorities.\nIf two rules are assigned with the same priority, the rule added earlier has higher priority, the rule added earlier\nhas higher priority. The value ranges from 0 to 65535. Changing this creates a new rule.\n"},"start":{"type":"string","description":"Specifies the time when the precise protection rule takes effect. If time is set to true,\neither the start time or the end time must be set. Changing this creates a new rule.\n"},"time":{"type":"boolean","description":"Specifies the effect time of the precise protection rule. Changing this creates a new rule.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FWafPreciseprotectionRuleV1Timeouts:WafPreciseprotectionRuleV1Timeouts"},"wafPreciseprotectionRuleV1Id":{"type":"string","description":"ID of the rule.\n"}},"type":"object","required":["actionCategory","conditions","end","name","policyId","start","wafPreciseprotectionRuleV1Id"],"inputProperties":{"actionCategory":{"type":"string"},"conditions":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FWafPreciseprotectionRuleV1Condition:WafPreciseprotectionRuleV1Condition"},"description":"Specifies the condition parameters. Changing this creates a new rule.\nThe conditions object structure is documented below.\n"},"end":{"type":"string","description":"Specifies the time when the precise protection rule expires. If time is set to true,\neither the start time or the end time must be set. Changing this creates a new rule.\n"},"name":{"type":"string","description":"Specifies the name of a precise protection rule. Changing this creates a new rule.\n"},"policyId":{"type":"string","description":"The WAF policy ID. Changing this creates a new rule.\n"},"priority":{"type":"number","description":"Specifies the priority of a rule being executed. Smaller values correspond to higher priorities.\nIf two rules are assigned with the same priority, the rule added earlier has higher priority, the rule added earlier\nhas higher priority. The value ranges from 0 to 65535. Changing this creates a new rule.\n"},"start":{"type":"string","description":"Specifies the time when the precise protection rule takes effect. If time is set to true,\neither the start time or the end time must be set. Changing this creates a new rule.\n"},"time":{"type":"boolean","description":"Specifies the effect time of the precise protection rule. Changing this creates a new rule.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FWafPreciseprotectionRuleV1Timeouts:WafPreciseprotectionRuleV1Timeouts"},"wafPreciseprotectionRuleV1Id":{"type":"string","description":"ID of the rule.\n"}},"requiredInputs":["actionCategory","conditions","policyId"],"stateInputs":{"description":"Input properties used for looking up and filtering WafPreciseprotectionRuleV1 resources.\n","properties":{"actionCategory":{"type":"string"},"conditions":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FWafPreciseprotectionRuleV1Condition:WafPreciseprotectionRuleV1Condition"},"description":"Specifies the condition parameters. Changing this creates a new rule.\nThe conditions object structure is documented below.\n"},"end":{"type":"string","description":"Specifies the time when the precise protection rule expires. If time is set to true,\neither the start time or the end time must be set. Changing this creates a new rule.\n"},"name":{"type":"string","description":"Specifies the name of a precise protection rule. Changing this creates a new rule.\n"},"policyId":{"type":"string","description":"The WAF policy ID. Changing this creates a new rule.\n"},"priority":{"type":"number","description":"Specifies the priority of a rule being executed. Smaller values correspond to higher priorities.\nIf two rules are assigned with the same priority, the rule added earlier has higher priority, the rule added earlier\nhas higher priority. The value ranges from 0 to 65535. Changing this creates a new rule.\n"},"start":{"type":"string","description":"Specifies the time when the precise protection rule takes effect. If time is set to true,\neither the start time or the end time must be set. Changing this creates a new rule.\n"},"time":{"type":"boolean","description":"Specifies the effect time of the precise protection rule. Changing this creates a new rule.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FWafPreciseprotectionRuleV1Timeouts:WafPreciseprotectionRuleV1Timeouts"},"wafPreciseprotectionRuleV1Id":{"type":"string","description":"ID of the rule.\n"}},"type":"object"}},"opentelekomcloud:index/wafWebtamperprotectionRuleV1:WafWebtamperprotectionRuleV1":{"description":"Up-to-date reference of API arguments for WAF web tamper protection rule you can get at\n[documentation portal](https://docs.otc.t-systems.com/web-application-firewall/api-ref/apis/web_tamper_protection_rules)\n\nManages a WAF Web Tamper Protection Rule resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst policy1 = new opentelekomcloud.WafPolicyV1(\"policy_1\", {name: \"policy_1\"});\nconst rule1 = new opentelekomcloud.WafWebtamperprotectionRuleV1(\"rule_1\", {\n    policyId: policy1.wafPolicyV1Id,\n    hostname: \"www.abc.com\",\n    url: \"/a\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\npolicy1 = opentelekomcloud.WafPolicyV1(\"policy_1\", name=\"policy_1\")\nrule1 = opentelekomcloud.WafWebtamperprotectionRuleV1(\"rule_1\",\n    policy_id=policy1.waf_policy_v1_id,\n    hostname=\"www.abc.com\",\n    url=\"/a\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var policy1 = new Opentelekomcloud.WafPolicyV1(\"policy_1\", new()\n    {\n        Name = \"policy_1\",\n    });\n\n    var rule1 = new Opentelekomcloud.WafWebtamperprotectionRuleV1(\"rule_1\", new()\n    {\n        PolicyId = policy1.WafPolicyV1Id,\n        Hostname = \"www.abc.com\",\n        Url = \"/a\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpolicy1, err := opentelekomcloud.NewWafPolicyV1(ctx, \"policy_1\", \u0026opentelekomcloud.WafPolicyV1Args{\n\t\t\tName: pulumi.String(\"policy_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewWafWebtamperprotectionRuleV1(ctx, \"rule_1\", \u0026opentelekomcloud.WafWebtamperprotectionRuleV1Args{\n\t\t\tPolicyId: policy1.WafPolicyV1Id,\n\t\t\tHostname: pulumi.String(\"www.abc.com\"),\n\t\t\tUrl:      pulumi.String(\"/a\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.WafPolicyV1;\nimport com.pulumi.opentelekomcloud.WafPolicyV1Args;\nimport com.pulumi.opentelekomcloud.WafWebtamperprotectionRuleV1;\nimport com.pulumi.opentelekomcloud.WafWebtamperprotectionRuleV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var policy1 = new WafPolicyV1(\"policy1\", WafPolicyV1Args.builder()\n            .name(\"policy_1\")\n            .build());\n\n        var rule1 = new WafWebtamperprotectionRuleV1(\"rule1\", WafWebtamperprotectionRuleV1Args.builder()\n            .policyId(policy1.wafPolicyV1Id())\n            .hostname(\"www.abc.com\")\n            .url(\"/a\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  policy1:\n    type: opentelekomcloud:WafPolicyV1\n    name: policy_1\n    properties:\n      name: policy_1\n  rule1:\n    type: opentelekomcloud:WafWebtamperprotectionRuleV1\n    name: rule_1\n    properties:\n      policyId: ${policy1.wafPolicyV1Id}\n      hostname: www.abc.com\n      url: /a\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nWeb Tamper Protection Rules can be imported using the `policy_id/id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/wafWebtamperprotectionRuleV1:WafWebtamperprotectionRuleV1 rule_1 ff95e71c8ae74eba9887193ab22c5757/7117d38e4c8f4624a505-bd96b97d024c\n```\n\n","properties":{"hostname":{"type":"string","description":"Specifies the domain name. Changing this creates a new rule.\n"},"policyId":{"type":"string","description":"The WAF policy ID. Changing this creates a new rule.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FWafWebtamperprotectionRuleV1Timeouts:WafWebtamperprotectionRuleV1Timeouts"},"url":{"type":"string","description":"Specifies the URL protected by the web tamper protection rule, excluding a domain name. Changing this creates a new rule.\n"},"wafWebtamperprotectionRuleV1Id":{"type":"string","description":"ID of the rule.\n"}},"type":"object","required":["hostname","policyId","url","wafWebtamperprotectionRuleV1Id"],"inputProperties":{"hostname":{"type":"string","description":"Specifies the domain name. Changing this creates a new rule.\n"},"policyId":{"type":"string","description":"The WAF policy ID. Changing this creates a new rule.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FWafWebtamperprotectionRuleV1Timeouts:WafWebtamperprotectionRuleV1Timeouts"},"url":{"type":"string","description":"Specifies the URL protected by the web tamper protection rule, excluding a domain name. Changing this creates a new rule.\n"},"wafWebtamperprotectionRuleV1Id":{"type":"string","description":"ID of the rule.\n"}},"requiredInputs":["hostname","policyId","url"],"stateInputs":{"description":"Input properties used for looking up and filtering WafWebtamperprotectionRuleV1 resources.\n","properties":{"hostname":{"type":"string","description":"Specifies the domain name. Changing this creates a new rule.\n"},"policyId":{"type":"string","description":"The WAF policy ID. Changing this creates a new rule.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FWafWebtamperprotectionRuleV1Timeouts:WafWebtamperprotectionRuleV1Timeouts"},"url":{"type":"string","description":"Specifies the URL protected by the web tamper protection rule, excluding a domain name. Changing this creates a new rule.\n"},"wafWebtamperprotectionRuleV1Id":{"type":"string","description":"ID of the rule.\n"}},"type":"object"}},"opentelekomcloud:index/wafWhiteblackipRuleV1:WafWhiteblackipRuleV1":{"description":"Up-to-date reference of API arguments for WAF white and black ip rule you can get at\n[documentation portal](https://docs.otc.t-systems.com/web-application-firewall/api-ref/apis/blacklist_and_whitelist_rules)\n\nManages a WAF WhiteBlackIP Rule resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst policy1 = new opentelekomcloud.WafPolicyV1(\"policy_1\", {name: \"policy_1\"});\nconst rule1 = new opentelekomcloud.WafWhiteblackipRuleV1(\"rule_1\", {\n    policyId: policy1.wafPolicyV1Id,\n    addr: \"192.168.0.0/24\",\n    white: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\npolicy1 = opentelekomcloud.WafPolicyV1(\"policy_1\", name=\"policy_1\")\nrule1 = opentelekomcloud.WafWhiteblackipRuleV1(\"rule_1\",\n    policy_id=policy1.waf_policy_v1_id,\n    addr=\"192.168.0.0/24\",\n    white=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var policy1 = new Opentelekomcloud.WafPolicyV1(\"policy_1\", new()\n    {\n        Name = \"policy_1\",\n    });\n\n    var rule1 = new Opentelekomcloud.WafWhiteblackipRuleV1(\"rule_1\", new()\n    {\n        PolicyId = policy1.WafPolicyV1Id,\n        Addr = \"192.168.0.0/24\",\n        White = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpolicy1, err := opentelekomcloud.NewWafPolicyV1(ctx, \"policy_1\", \u0026opentelekomcloud.WafPolicyV1Args{\n\t\t\tName: pulumi.String(\"policy_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewWafWhiteblackipRuleV1(ctx, \"rule_1\", \u0026opentelekomcloud.WafWhiteblackipRuleV1Args{\n\t\t\tPolicyId: policy1.WafPolicyV1Id,\n\t\t\tAddr:     pulumi.String(\"192.168.0.0/24\"),\n\t\t\tWhite:    pulumi.Float64(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.WafPolicyV1;\nimport com.pulumi.opentelekomcloud.WafPolicyV1Args;\nimport com.pulumi.opentelekomcloud.WafWhiteblackipRuleV1;\nimport com.pulumi.opentelekomcloud.WafWhiteblackipRuleV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var policy1 = new WafPolicyV1(\"policy1\", WafPolicyV1Args.builder()\n            .name(\"policy_1\")\n            .build());\n\n        var rule1 = new WafWhiteblackipRuleV1(\"rule1\", WafWhiteblackipRuleV1Args.builder()\n            .policyId(policy1.wafPolicyV1Id())\n            .addr(\"192.168.0.0/24\")\n            .white(1.0)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  policy1:\n    type: opentelekomcloud:WafPolicyV1\n    name: policy_1\n    properties:\n      name: policy_1\n  rule1:\n    type: opentelekomcloud:WafWhiteblackipRuleV1\n    name: rule_1\n    properties:\n      policyId: ${policy1.wafPolicyV1Id}\n      addr: 192.168.0.0/24\n      white: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nWhiteBlackIP Rules can be imported using `policy_id/id`, e.g.\n\n```sh\n$ pulumi import opentelekomcloud:index/wafWhiteblackipRuleV1:WafWhiteblackipRuleV1 rule_1 ff95e71c8ae74eba9887193ab22c5757/b39f3a5a1b4f447a8030f0b0703f47f5\n```\n\n","properties":{"addr":{"type":"string","description":"Specifies the IP address or range. For example, 192.168.0.125 or 192.168.0.0/24.\n"},"policyId":{"type":"string","description":"The WAF policy ID. Changing this creates a new rule.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FWafWhiteblackipRuleV1Timeouts:WafWhiteblackipRuleV1Timeouts"},"wafWhiteblackipRuleV1Id":{"type":"string","description":"ID of the rule.\n"},"white":{"type":"number","description":"Specifies the IP address type. 1: Whitelist, 0: Blacklist. If you do not configure\nthe white parameter, the value is Blacklist by default.\n"}},"type":"object","required":["addr","policyId","wafWhiteblackipRuleV1Id"],"inputProperties":{"addr":{"type":"string","description":"Specifies the IP address or range. For example, 192.168.0.125 or 192.168.0.0/24.\n"},"policyId":{"type":"string","description":"The WAF policy ID. Changing this creates a new rule.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FWafWhiteblackipRuleV1Timeouts:WafWhiteblackipRuleV1Timeouts"},"wafWhiteblackipRuleV1Id":{"type":"string","description":"ID of the rule.\n"},"white":{"type":"number","description":"Specifies the IP address type. 1: Whitelist, 0: Blacklist. If you do not configure\nthe white parameter, the value is Blacklist by default.\n"}},"requiredInputs":["addr","policyId"],"stateInputs":{"description":"Input properties used for looking up and filtering WafWhiteblackipRuleV1 resources.\n","properties":{"addr":{"type":"string","description":"Specifies the IP address or range. For example, 192.168.0.125 or 192.168.0.0/24.\n"},"policyId":{"type":"string","description":"The WAF policy ID. Changing this creates a new rule.\n"},"timeouts":{"$ref":"#/types/opentelekomcloud:index%2FWafWhiteblackipRuleV1Timeouts:WafWhiteblackipRuleV1Timeouts"},"wafWhiteblackipRuleV1Id":{"type":"string","description":"ID of the rule.\n"},"white":{"type":"number","description":"Specifies the IP address type. 1: Whitelist, 0: Blacklist. If you do not configure\nthe white parameter, the value is Blacklist by default.\n"}},"type":"object"}}},"functions":{"opentelekomcloud:index/getAntiddosV1:getAntiddosV1":{"description":"Up-to-date reference of API arguments for EIP status you can get at\n[documentation portal](https://docs.otc.t-systems.com/anti-ddos/api-ref/api/anti-ddos_apis/querying_the_list_of_defense_statuses_of_eips.html#antiddos-02-0023)\n\nUse this data source to query the status of EIP, regardless whether an EIP has been bound to an Elastic Cloud Server (ECS) or not.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst id = config.requireObject\u003cany\u003e(\"id\");\nconst antiddos = opentelekomcloud.getAntiddosV1({\n    floatingIpId: eipId,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nid = config.require_object(\"id\")\nantiddos = opentelekomcloud.get_antiddos_v1(floating_ip_id=eip_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var id = config.RequireObject\u003cdynamic\u003e(\"id\");\n    var antiddos = Opentelekomcloud.GetAntiddosV1.Invoke(new()\n    {\n        FloatingIpId = eipId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tid := cfg.RequireObject(\"id\")\n\t\t_, err := opentelekomcloud.LookupAntiddosV1(ctx, \u0026opentelekomcloud.LookupAntiddosV1Args{\n\t\t\tFloatingIpId: pulumi.StringRef(eipId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetAntiddosV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var id = config.get(\"id\");\n        final var antiddos = OpentelekomcloudFunctions.getAntiddosV1(GetAntiddosV1Args.builder()\n            .floatingIpId(eipId)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  id:\n    type: dynamic\nvariables:\n  antiddos:\n    fn::invoke:\n      function: opentelekomcloud:getAntiddosV1\n      arguments:\n        floatingIpId: ${eipId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getAntiddosV1.\n","properties":{"floatingIpAddress":{"type":"string","description":"The Elastic IP address.\n"},"floatingIpId":{"type":"string","description":"The Elastic IP ID.\n"},"id":{"type":"string"},"region":{"type":"string"},"status":{"type":"string","description":"The defense status.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getAntiddosV1.\n","properties":{"bpsAttacks":{"description":"The Attack traffic in (bit/s).\n","items":{"type":"number"},"type":"array"},"bpsIns":{"description":"The inbound traffic in (bit/s).\n","items":{"type":"number"},"type":"array"},"endTimes":{"description":"The end time of cleaning and blackhole event.\n","items":{"type":"number"},"type":"array"},"floatingIpAddress":{"type":"string"},"floatingIpId":{"type":"string"},"id":{"type":"string"},"networkType":{"description":"The EIP type.\n","type":"string"},"periodStarts":{"description":"The Start time.\n","items":{"type":"number"},"type":"array"},"ppsAttacks":{"description":"The attack packet rate (number of packets per second).\n","items":{"type":"number"},"type":"array"},"ppsIns":{"description":"The inbound packet rate (number of packets per second).\n","items":{"type":"number"},"type":"array"},"region":{"type":"string"},"startTimes":{"description":"The start time of cleaning and blackhole event.\n","items":{"type":"number"},"type":"array"},"status":{"type":"string"},"totalBps":{"description":"The total traffic.\n","items":{"type":"number"},"type":"array"},"totalPps":{"description":"The total packet rate.\n","items":{"type":"number"},"type":"array"},"trafficCleaningStatuses":{"description":"The traffic cleaning status.\n","items":{"type":"number"},"type":"array"},"triggerBps":{"description":"The traffic at the triggering point.\n","items":{"type":"number"},"type":"array"},"triggerHttpPps":{"description":"The HTTP request rate at the triggering point.\n","items":{"type":"number"},"type":"array"},"triggerPps":{"description":"The packet rate at the triggering point.\n","items":{"type":"number"},"type":"array"}},"required":["bpsAttacks","bpsIns","endTimes","floatingIpAddress","floatingIpId","id","networkType","periodStarts","ppsAttacks","ppsIns","region","startTimes","status","totalBps","totalPps","trafficCleaningStatuses","triggerBps","triggerHttpPps","triggerPps"],"type":"object"}},"opentelekomcloud:index/getApigwApiHistoryV2:getApigwApiHistoryV2":{"description":"Up-to-date reference of API arguments for APIGW API history you can get at\n[documentation portal](https://docs.otc.t-systems.com/api-gateway/api-ref/dedicated_gateway_apis_v2/api_management/querying_historical_versions_of_an_api.html)\n\nThis API is used to query the historical versions of an API within OpenTelekomCloud.\nAPIGW retains a maximum of 10 historical versions for each API in an environment.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst gatewayId = config.requireObject\u003cany\u003e(\"gatewayId\");\nconst environmentId = config.requireObject\u003cany\u003e(\"environmentId\");\nconst apiId = config.requireObject\u003cany\u003e(\"apiId\");\nconst pub = new opentelekomcloud.ApigwApiPublishmentV2(\"pub\", {\n    gatewayId: instanceId,\n    environmentId: environmentId,\n    apiId: apiId,\n});\nconst hist = opentelekomcloud.getApigwApiHistoryV2({\n    gatewayId: gateway.id,\n    environmentId: env.id,\n    apiId: api.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ngateway_id = config.require_object(\"gatewayId\")\nenvironment_id = config.require_object(\"environmentId\")\napi_id = config.require_object(\"apiId\")\npub = opentelekomcloud.ApigwApiPublishmentV2(\"pub\",\n    gateway_id=instance_id,\n    environment_id=environment_id,\n    api_id=api_id)\nhist = opentelekomcloud.get_apigw_api_history_v2(gateway_id=gateway[\"id\"],\n    environment_id=env[\"id\"],\n    api_id=api[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var gatewayId = config.RequireObject\u003cdynamic\u003e(\"gatewayId\");\n    var environmentId = config.RequireObject\u003cdynamic\u003e(\"environmentId\");\n    var apiId = config.RequireObject\u003cdynamic\u003e(\"apiId\");\n    var pub = new Opentelekomcloud.ApigwApiPublishmentV2(\"pub\", new()\n    {\n        GatewayId = instanceId,\n        EnvironmentId = environmentId,\n        ApiId = apiId,\n    });\n\n    var hist = Opentelekomcloud.GetApigwApiHistoryV2.Invoke(new()\n    {\n        GatewayId = gateway.Id,\n        EnvironmentId = env.Id,\n        ApiId = api.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tgatewayId := cfg.RequireObject(\"gatewayId\")\n\t\tenvironmentId := cfg.RequireObject(\"environmentId\")\n\t\tapiId := cfg.RequireObject(\"apiId\")\n\t\t_, err := opentelekomcloud.NewApigwApiPublishmentV2(ctx, \"pub\", \u0026opentelekomcloud.ApigwApiPublishmentV2Args{\n\t\t\tGatewayId:     pulumi.Any(instanceId),\n\t\t\tEnvironmentId: pulumi.Any(environmentId),\n\t\t\tApiId:         pulumi.Any(apiId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.GetApigwApiHistoryV2(ctx, \u0026opentelekomcloud.GetApigwApiHistoryV2Args{\n\t\t\tGatewayId:     gateway.Id,\n\t\t\tEnvironmentId: pulumi.StringRef(env.Id),\n\t\t\tApiId:         api.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ApigwApiPublishmentV2;\nimport com.pulumi.opentelekomcloud.ApigwApiPublishmentV2Args;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetApigwApiHistoryV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var gatewayId = config.get(\"gatewayId\");\n        final var environmentId = config.get(\"environmentId\");\n        final var apiId = config.get(\"apiId\");\n        var pub = new ApigwApiPublishmentV2(\"pub\", ApigwApiPublishmentV2Args.builder()\n            .gatewayId(instanceId)\n            .environmentId(environmentId)\n            .apiId(apiId)\n            .build());\n\n        final var hist = OpentelekomcloudFunctions.getApigwApiHistoryV2(GetApigwApiHistoryV2Args.builder()\n            .gatewayId(gateway.id())\n            .environmentId(env.id())\n            .apiId(api.id())\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  gatewayId:\n    type: dynamic\n  environmentId:\n    type: dynamic\n  apiId:\n    type: dynamic\nresources:\n  pub:\n    type: opentelekomcloud:ApigwApiPublishmentV2\n    properties:\n      gatewayId: ${instanceId}\n      environmentId: ${environmentId}\n      apiId: ${apiId}\nvariables:\n  hist:\n    fn::invoke:\n      function: opentelekomcloud:getApigwApiHistoryV2\n      arguments:\n        gatewayId: ${gateway.id}\n        environmentId: ${env.id}\n        apiId: ${api.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getApigwApiHistoryV2.\n","properties":{"apiId":{"type":"string","description":"Specifies the ID of the API to be published or already published.\n"},"environmentId":{"type":"string","description":"Specifies the environment ID.\n"},"environmentName":{"type":"string","description":"Specifies the environment name.\n"},"gatewayId":{"type":"string","description":"Specifies an ID of the APIGW dedicated instance to which the API\nenvironment belongs.\n"},"id":{"type":"string","description":"API version ID.\n"}},"type":"object","required":["apiId","gatewayId"]},"outputs":{"description":"A collection of values returned by getApigwApiHistoryV2.\n","properties":{"apiId":{"type":"string"},"environmentId":{"type":"string"},"environmentName":{"type":"string"},"gatewayId":{"type":"string"},"histories":{"description":"List of APIGW history details.\nThe object structure is documented below.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetApigwApiHistoryV2History:getApigwApiHistoryV2History"},"type":"array"},"id":{"description":"API version ID.\n","type":"string"},"region":{"description":"The region in which to APIs was published.\n","type":"string"}},"required":["apiId","gatewayId","histories","id","region"],"type":"object"}},"opentelekomcloud:index/getApigwEnvironmentsV2:getApigwEnvironmentsV2":{"description":"Use this data source to query the environment list under the APIGW instance within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst instanceId = config.requireObject\u003cany\u003e(\"instanceId\");\nconst environmentName = config.requireObject\u003cany\u003e(\"environmentName\");\nconst test = opentelekomcloud.getApigwEnvironmentsV2({\n    instanceId: instanceId,\n    name: environmentName,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ninstance_id = config.require_object(\"instanceId\")\nenvironment_name = config.require_object(\"environmentName\")\ntest = opentelekomcloud.get_apigw_environments_v2(instance_id=instance_id,\n    name=environment_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var instanceId = config.RequireObject\u003cdynamic\u003e(\"instanceId\");\n    var environmentName = config.RequireObject\u003cdynamic\u003e(\"environmentName\");\n    var test = Opentelekomcloud.GetApigwEnvironmentsV2.Invoke(new()\n    {\n        InstanceId = instanceId,\n        Name = environmentName,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tinstanceId := cfg.RequireObject(\"instanceId\")\n\t\tenvironmentName := cfg.RequireObject(\"environmentName\")\n\t\t_, err := opentelekomcloud.GetApigwEnvironmentsV2(ctx, \u0026opentelekomcloud.GetApigwEnvironmentsV2Args{\n\t\t\tInstanceId: instanceId,\n\t\t\tName:       pulumi.StringRef(environmentName),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetApigwEnvironmentsV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var instanceId = config.get(\"instanceId\");\n        final var environmentName = config.get(\"environmentName\");\n        final var test = OpentelekomcloudFunctions.getApigwEnvironmentsV2(GetApigwEnvironmentsV2Args.builder()\n            .instanceId(instanceId)\n            .name(environmentName)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  instanceId:\n    type: dynamic\n  environmentName:\n    type: dynamic\nvariables:\n  test:\n    fn::invoke:\n      function: opentelekomcloud:getApigwEnvironmentsV2\n      arguments:\n        instanceId: ${instanceId}\n        name: ${environmentName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getApigwEnvironmentsV2.\n","properties":{"id":{"type":"string","description":"ID of the APIGW environment.\n"},"instanceId":{"type":"string","description":"Specifies an ID of the APIGW dedicated instance to which the API\nenvironment belongs.\n"},"name":{"type":"string","description":"Specifies the name of the API environment. The API environment name consists of 3 to 64\ncharacters, starting with a letter. Only letters, digits and underscores (_) are allowed.\n"}},"type":"object","required":["instanceId"]},"outputs":{"description":"A collection of values returned by getApigwEnvironmentsV2.\n","properties":{"environments":{"description":"List of APIGW environment details. The structure is documented below.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetApigwEnvironmentsV2Environment:getApigwEnvironmentsV2Environment"},"type":"array"},"id":{"description":"ID of the APIGW environment.\n","type":"string"},"instanceId":{"type":"string"},"name":{"description":"The environment name.\n","type":"string"},"region":{"description":"The region in which queried the data source.\n","type":"string"}},"required":["environments","id","instanceId","region"],"type":"object"}},"opentelekomcloud:index/getApigwGatewayFeaturesV2:getApigwGatewayFeaturesV2":{"description":"Up-to-date reference of API arguments for API Gateway environment variable service you can get at\n[documentation portal](https://docs.otc.t-systems.com/api-gateway/api-ref/dedicated_gateway_apis_v2/gateway_feature_management/querying_gateway_features.html)\n\nUse this data source to get the list of the features under the APIGW gateway within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst gatewayId = config.requireObject\u003cany\u003e(\"gatewayId\");\nconst ft = opentelekomcloud.getApigwGatewayFeaturesV2({\n    gatewayId: gatewayId,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ngateway_id = config.require_object(\"gatewayId\")\nft = opentelekomcloud.get_apigw_gateway_features_v2(gateway_id=gateway_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var gatewayId = config.RequireObject\u003cdynamic\u003e(\"gatewayId\");\n    var ft = Opentelekomcloud.GetApigwGatewayFeaturesV2.Invoke(new()\n    {\n        GatewayId = gatewayId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tgatewayId := cfg.RequireObject(\"gatewayId\")\n\t\t_, err := opentelekomcloud.GetApigwGatewayFeaturesV2(ctx, \u0026opentelekomcloud.GetApigwGatewayFeaturesV2Args{\n\t\t\tGatewayId: gatewayId,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetApigwGatewayFeaturesV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var gatewayId = config.get(\"gatewayId\");\n        final var ft = OpentelekomcloudFunctions.getApigwGatewayFeaturesV2(GetApigwGatewayFeaturesV2Args.builder()\n            .gatewayId(gatewayId)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  gatewayId:\n    type: dynamic\nvariables:\n  ft:\n    fn::invoke:\n      function: opentelekomcloud:getApigwGatewayFeaturesV2\n      arguments:\n        gatewayId: ${gatewayId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getApigwGatewayFeaturesV2.\n","properties":{"gatewayId":{"type":"string","description":"Specified the ID of the dedicated gateway to which the features belong.\n"},"id":{"type":"string","description":"The ID of the feature.\n"},"name":{"type":"string","description":"Specified the name of the feature.\n"}},"type":"object","required":["gatewayId"]},"outputs":{"description":"A collection of values returned by getApigwGatewayFeaturesV2.\n","properties":{"features":{"description":"All instance features that match the filter parameters.\nThe features structure is documented below.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetApigwGatewayFeaturesV2Feature:getApigwGatewayFeaturesV2Feature"},"type":"array"},"gatewayId":{"type":"string"},"id":{"description":"The ID of the feature.\n","type":"string"},"name":{"description":"The name of the feature.\n","type":"string"},"region":{"description":"The region in which to query the data source.\n","type":"string"}},"required":["features","gatewayId","id","region"],"type":"object"}},"opentelekomcloud:index/getApigwGroupsV2:getApigwGroupsV2":{"description":"Up-to-date reference of API arguments for API Gateway groups service you can get at\n[documentation portal](https://docs.otc.t-systems.com/api-gateway/api-ref/dedicated_gateway_apis_v2/api_group_management/querying_api_groups.html)\n\nUse this data source to query the group list under the APIGW instance within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst instanceId = config.requireObject\u003cany\u003e(\"instanceId\");\nconst groupName = config.requireObject\u003cany\u003e(\"groupName\");\nconst test = opentelekomcloud.getApigwGroupsV2({\n    instanceId: instanceId,\n    name: groupName,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ninstance_id = config.require_object(\"instanceId\")\ngroup_name = config.require_object(\"groupName\")\ntest = opentelekomcloud.get_apigw_groups_v2(instance_id=instance_id,\n    name=group_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var instanceId = config.RequireObject\u003cdynamic\u003e(\"instanceId\");\n    var groupName = config.RequireObject\u003cdynamic\u003e(\"groupName\");\n    var test = Opentelekomcloud.GetApigwGroupsV2.Invoke(new()\n    {\n        InstanceId = instanceId,\n        Name = groupName,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tinstanceId := cfg.RequireObject(\"instanceId\")\n\t\tgroupName := cfg.RequireObject(\"groupName\")\n\t\t_, err := opentelekomcloud.GetApigwGroupsV2(ctx, \u0026opentelekomcloud.GetApigwGroupsV2Args{\n\t\t\tInstanceId: instanceId,\n\t\t\tName:       pulumi.StringRef(groupName),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetApigwGroupsV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var instanceId = config.get(\"instanceId\");\n        final var groupName = config.get(\"groupName\");\n        final var test = OpentelekomcloudFunctions.getApigwGroupsV2(GetApigwGroupsV2Args.builder()\n            .instanceId(instanceId)\n            .name(groupName)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  instanceId:\n    type: dynamic\n  groupName:\n    type: dynamic\nvariables:\n  test:\n    fn::invoke:\n      function: opentelekomcloud:getApigwGroupsV2\n      arguments:\n        instanceId: ${instanceId}\n        name: ${groupName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getApigwGroupsV2.\n","properties":{"groupId":{"type":"string","description":"Specifies the API group ID used to query.\n"},"id":{"type":"string","description":"The variable ID.\n"},"instanceId":{"type":"string","description":"Specifies an ID of the APIGW dedicated instance to which the API group belongs.\n"},"name":{"type":"string","description":"Specifies the API group name used to query.\n"},"region":{"type":"string","description":"The region in which to query the data source.\n"}},"type":"object","required":["instanceId"]},"outputs":{"description":"A collection of values returned by getApigwGroupsV2.\n","properties":{"groupId":{"type":"string"},"groups":{"description":"All groups that match the filter parameters.\nThe groups structure is documented below.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetApigwGroupsV2Group:getApigwGroupsV2Group"},"type":"array"},"id":{"description":"The variable ID.\n","type":"string"},"instanceId":{"type":"string"},"name":{"description":"The variable name.\n","type":"string"},"region":{"description":"The region in which to query the data source.\n","type":"string"}},"required":["groups","id","instanceId","region"],"type":"object"}},"opentelekomcloud:index/getAsmServiceMeshV1:getAsmServiceMeshV1":{"description":"Up-to-date reference of API arguments for ASM service mesh you can get at\n[documentation portal](https://docs.otc.t-systems.com/application-service-mesh/api-ref/api/service_mesh_apis/index.html)\n\nManages an ASM Service Mesh v1 data source within OpenTelekomCloud.\n\n## Example Usage\n\n### List all ASM service meshes\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst mesh1 = opentelekomcloud.getAsmServiceMeshV1({});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nmesh1 = opentelekomcloud.get_asm_service_mesh_v1()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var mesh1 = Opentelekomcloud.GetAsmServiceMeshV1.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.LookupAsmServiceMeshV1(ctx, \u0026opentelekomcloud.LookupAsmServiceMeshV1Args{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetAsmServiceMeshV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var mesh1 = OpentelekomcloudFunctions.getAsmServiceMeshV1(GetAsmServiceMeshV1Args.builder()\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  mesh1:\n    fn::invoke:\n      function: opentelekomcloud:getAsmServiceMeshV1\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Get ASM service mesh using ID\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst meshId = config.requireObject\u003cany\u003e(\"meshId\");\nconst mesh1 = opentelekomcloud.getAsmServiceMeshV1({\n    id: meshId,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nmesh_id = config.require_object(\"meshId\")\nmesh1 = opentelekomcloud.get_asm_service_mesh_v1(id=mesh_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var meshId = config.RequireObject\u003cdynamic\u003e(\"meshId\");\n    var mesh1 = Opentelekomcloud.GetAsmServiceMeshV1.Invoke(new()\n    {\n        Id = meshId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tmeshId := cfg.RequireObject(\"meshId\")\n\t\t_, err := opentelekomcloud.LookupAsmServiceMeshV1(ctx, \u0026opentelekomcloud.LookupAsmServiceMeshV1Args{\n\t\t\tId: pulumi.StringRef(meshId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetAsmServiceMeshV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var meshId = config.get(\"meshId\");\n        final var mesh1 = OpentelekomcloudFunctions.getAsmServiceMeshV1(GetAsmServiceMeshV1Args.builder()\n            .id(meshId)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  meshId:\n    type: dynamic\nvariables:\n  mesh1:\n    fn::invoke:\n      function: opentelekomcloud:getAsmServiceMeshV1\n      arguments:\n        id: ${meshId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getAsmServiceMeshV1.\n","properties":{"id":{"type":"string","description":"Specifies the service mesh ID.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getAsmServiceMeshV1.\n","properties":{"id":{"type":"string"},"serviceMeshes":{"description":"The service mesh list. The structure is documented below:\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetAsmServiceMeshV1ServiceMesh:getAsmServiceMeshV1ServiceMesh"},"type":"array"}},"required":["serviceMeshes"],"type":"object"}},"opentelekomcloud:index/getCbrBackupIdsV3:getCbrBackupIdsV3":{"description":"Up-to-date reference of API arguments for CBR backups you can get at\n[documentation portal](https://docs.otc.t-systems.com/cloud-backup-recovery/api-ref/cbr_apis/backups/querying_all_backups.html#listbackups)\n\nUse this data source to get details about backup resources from OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst checkpointId = config.requireObject\u003cany\u003e(\"checkpointId\");\nconst cbrBackups = opentelekomcloud.getCbrBackupIdsV3({\n    checkpointId: checkpointId,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ncheckpoint_id = config.require_object(\"checkpointId\")\ncbr_backups = opentelekomcloud.get_cbr_backup_ids_v3(checkpoint_id=checkpoint_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var checkpointId = config.RequireObject\u003cdynamic\u003e(\"checkpointId\");\n    var cbrBackups = Opentelekomcloud.GetCbrBackupIdsV3.Invoke(new()\n    {\n        CheckpointId = checkpointId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tcheckpointId := cfg.RequireObject(\"checkpointId\")\n\t\t_, err := opentelekomcloud.GetCbrBackupIdsV3(ctx, \u0026opentelekomcloud.GetCbrBackupIdsV3Args{\n\t\t\tCheckpointId: pulumi.StringRef(checkpointId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetCbrBackupIdsV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var checkpointId = config.get(\"checkpointId\");\n        final var cbrBackups = OpentelekomcloudFunctions.getCbrBackupIdsV3(GetCbrBackupIdsV3Args.builder()\n            .checkpointId(checkpointId)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  checkpointId:\n    type: dynamic\nvariables:\n  cbrBackups:\n    fn::invoke:\n      function: opentelekomcloud:getCbrBackupIdsV3\n      arguments:\n        checkpointId: ${checkpointId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getCbrBackupIdsV3.\n","properties":{"checkpointId":{"type":"string"},"id":{"type":"string","description":"Specifies the ID of backup.\n"},"imageType":{"type":"string","description":"Specifies the backup type.\n"},"name":{"type":"string","description":"Specifies the backup name\n"},"parentId":{"type":"string","description":"Specifies the ID of parent backup.\n"},"resourceAz":{"type":"string","description":"Specifies the AZ of backup.\n"},"resourceId":{"type":"string","description":"Specifies the backup object ID.\n"},"resourceName":{"type":"string","description":"Specifies the backup resource name.\n"},"resourceType":{"type":"string","description":"Specifies the type of backup objects.\n"},"status":{"type":"string","description":"Specifies the backup status.\n"},"vaultId":{"type":"string","description":"Specifies the ID of backup vault.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getCbrBackupIdsV3.\n","properties":{"checkpointId":{"type":"string"},"id":{"type":"string"},"ids":{"description":"A list of all the backup ids found. This data source will fail if none are found.\n","items":{"type":"string"},"type":"array"},"imageType":{"type":"string"},"name":{"type":"string"},"parentId":{"type":"string"},"resourceAz":{"type":"string"},"resourceId":{"type":"string"},"resourceName":{"type":"string"},"resourceType":{"type":"string"},"status":{"type":"string"},"vaultId":{"type":"string"}},"required":["checkpointId","id","ids","imageType","name","parentId","resourceAz","resourceId","resourceName","resourceType","status","vaultId"],"type":"object"}},"opentelekomcloud:index/getCbrBackupV3:getCbrBackupV3":{"description":"Up-to-date reference of API arguments for CBR backups you can get at\n[documentation portal](https://docs.otc.t-systems.com/cloud-backup-recovery/api-ref/cbr_apis/backups/querying_all_backups.html#listbackups)\n\n\nUse this data source to get details about backup resources from OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst backupId = config.requireObject\u003cany\u003e(\"backupId\");\nconst cbrBackup = opentelekomcloud.getCbrBackupV3({\n    id: backupId,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nbackup_id = config.require_object(\"backupId\")\ncbr_backup = opentelekomcloud.get_cbr_backup_v3(id=backup_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var backupId = config.RequireObject\u003cdynamic\u003e(\"backupId\");\n    var cbrBackup = Opentelekomcloud.GetCbrBackupV3.Invoke(new()\n    {\n        Id = backupId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tbackupId := cfg.RequireObject(\"backupId\")\n\t\t_, err := opentelekomcloud.GetCbrBackupV3(ctx, \u0026opentelekomcloud.GetCbrBackupV3Args{\n\t\t\tId: pulumi.StringRef(backupId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetCbrBackupV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var backupId = config.get(\"backupId\");\n        final var cbrBackup = OpentelekomcloudFunctions.getCbrBackupV3(GetCbrBackupV3Args.builder()\n            .id(backupId)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  backupId:\n    type: dynamic\nvariables:\n  cbrBackup:\n    fn::invoke:\n      function: opentelekomcloud:getCbrBackupV3\n      arguments:\n        id: ${backupId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getCbrBackupV3.\n","properties":{"autoTrigger":{"type":"boolean","description":"Specifies whether the backup is automatically generated.\n"},"bootable":{"type":"boolean","description":"Specifies whether the backup is a system disk backup.\n"},"checkpointId":{"type":"string"},"containSystemDisk":{"type":"boolean"},"createdAt":{"type":"string","description":"The time the backup was created.\n"},"description":{"type":"string","description":"Backup description.\n"},"encrypted":{"type":"boolean","description":"Specifies whether the backup is encrypted.\n"},"expiredAt":{"type":"string","description":"The time the backup will be expired.\n"},"id":{"type":"string","description":"Specifies the ID of backup.\n"},"imageType":{"type":"string","description":"Specifies the backup type.\n"},"incremental":{"type":"boolean","description":"Specifies whether the backup is an incremental backup.\n"},"name":{"type":"string","description":"Specifies the backup name\n"},"parentId":{"type":"string","description":"Specifies the ID of parent backup.\n"},"projectId":{"type":"string","description":"The project ID of backup.\n"},"providerId":{"type":"string","description":"Backup provider ID which is used to distinguish backup objects.\n"},"resourceAz":{"type":"string","description":"Specifies the AZ of backup.\n"},"resourceId":{"type":"string","description":"Specifies the backup object ID.\n"},"resourceName":{"type":"string","description":"Specifies the backup resource name.\n"},"resourceSize":{"type":"number","description":"Backup size in GB.\n"},"resourceType":{"type":"string","description":"Specifies the type of backup objects.\n"},"snapshotId":{"type":"string","description":"The snapshot ID of the disk backup.\n"},"status":{"type":"string","description":"Specifies the backup status.\n"},"supportLld":{"type":"boolean","description":"Specifies whether to allow lazyloading for fast restoration.\n"},"supportedRestoreMode":{"type":"string","description":"Restoration mode of the backup.\n"},"systemDisk":{"type":"boolean","description":"Specifies whether a disk is a system disk.\n"},"updatedAt":{"type":"string","description":"Indicates the update time.\n"},"vaultId":{"type":"string","description":"Specifies the ID of backup vault.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getCbrBackupV3.\n","properties":{"autoTrigger":{"description":"Specifies whether the backup is automatically generated.\n","type":"boolean"},"bootable":{"description":"Specifies whether the backup is a system disk backup.\n","type":"boolean"},"checkpointId":{"type":"string"},"containSystemDisk":{"type":"boolean"},"createdAt":{"description":"The time the backup was created.\n","type":"string"},"description":{"description":"Backup description.\n","type":"string"},"encrypted":{"description":"Specifies whether the backup is encrypted.\n","type":"boolean"},"expiredAt":{"description":"The time the backup will be expired.\n","type":"string"},"id":{"type":"string"},"imageType":{"type":"string"},"incremental":{"description":"Specifies whether the backup is an incremental backup.\n","type":"boolean"},"name":{"type":"string"},"parentId":{"type":"string"},"projectId":{"description":"The project ID of backup.\n","type":"string"},"providerId":{"description":"Backup provider ID which is used to distinguish backup objects.\n","type":"string"},"resourceAz":{"type":"string"},"resourceId":{"type":"string"},"resourceName":{"type":"string"},"resourceSize":{"description":"Backup size in GB.\n","type":"number"},"resourceType":{"type":"string"},"snapshotId":{"description":"The snapshot ID of the disk backup.\n","type":"string"},"status":{"type":"string"},"supportLld":{"description":"Specifies whether to allow lazyloading for fast restoration.\n","type":"boolean"},"supportedRestoreMode":{"description":"Restoration mode of the backup.\n","type":"string"},"systemDisk":{"description":"Specifies whether a disk is a system disk.\n","type":"boolean"},"updatedAt":{"description":"Indicates the update time.\n","type":"string"},"vaultId":{"type":"string"}},"required":["autoTrigger","bootable","checkpointId","containSystemDisk","createdAt","description","encrypted","expiredAt","id","imageType","incremental","name","parentId","projectId","providerId","resourceAz","resourceId","resourceName","resourceSize","resourceType","snapshotId","status","supportLld","supportedRestoreMode","systemDisk","updatedAt","vaultId"],"type":"object"}},"opentelekomcloud:index/getCceAddonTemplateV3:getCceAddonTemplateV3":{"description":"Up-to-date reference of API arguments for CCE Addon template you can get at\n[documentation portal](https://docs.otc.t-systems.com/cloud-container-engine/api-ref/apis/add-on_management/reading_add-on_templates.html#cce-02-0321)\n\nUse this data source to get from OpenTelekomCloud a CCE Addon template info.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst template = opentelekomcloud.getCceAddonTemplateV3({\n    addonVersion: \"1.23.1\",\n    addonName: \"coredns\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ntemplate = opentelekomcloud.get_cce_addon_template_v3(addon_version=\"1.23.1\",\n    addon_name=\"coredns\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var template = Opentelekomcloud.GetCceAddonTemplateV3.Invoke(new()\n    {\n        AddonVersion = \"1.23.1\",\n        AddonName = \"coredns\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.GetCceAddonTemplateV3(ctx, \u0026opentelekomcloud.GetCceAddonTemplateV3Args{\n\t\t\tAddonVersion: \"1.23.1\",\n\t\t\tAddonName:    \"coredns\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetCceAddonTemplateV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var template = OpentelekomcloudFunctions.getCceAddonTemplateV3(GetCceAddonTemplateV3Args.builder()\n            .addonVersion(\"1.23.1\")\n            .addonName(\"coredns\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  template:\n    fn::invoke:\n      function: opentelekomcloud:getCceAddonTemplateV3\n      arguments:\n        addonVersion: 1.23.1\n        addonName: coredns\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getCceAddonTemplateV3.\n","properties":{"addonName":{"type":"string","description":"The name of the CCE addon. For example: \u003cspan pulumi-lang-nodejs=\"`autoscaler`\" pulumi-lang-dotnet=\"`Autoscaler`\" pulumi-lang-go=\"`autoscaler`\" pulumi-lang-python=\"`autoscaler`\" pulumi-lang-yaml=\"`autoscaler`\" pulumi-lang-java=\"`autoscaler`\"\u003e`autoscaler`\u003c/span\u003e.\n"},"addonVersion":{"type":"string","description":"The version of the CCE cluster addon. For example: `1.23.6`.\n"},"clusterIp":{"type":"string","description":"The cluster ip.\n"},"clusterVersions":{"type":"string","description":"Supported cluster versions.\n"},"id":{"type":"string","description":"The ID of the addon.\n"},"imageVersion":{"type":"string","description":"The cluster image version.\n"},"swrAddr":{"type":"string","description":"The cluster \u003cspan pulumi-lang-nodejs=\"`swrAddr`\" pulumi-lang-dotnet=\"`SwrAddr`\" pulumi-lang-go=\"`swrAddr`\" pulumi-lang-python=\"`swr_addr`\" pulumi-lang-yaml=\"`swrAddr`\" pulumi-lang-java=\"`swrAddr`\"\u003e`swr_addr`\u003c/span\u003e.\n"},"swrUser":{"type":"string","description":"The cluster \u003cspan pulumi-lang-nodejs=\"`swrUser`\" pulumi-lang-dotnet=\"`SwrUser`\" pulumi-lang-go=\"`swrUser`\" pulumi-lang-python=\"`swr_user`\" pulumi-lang-yaml=\"`swrUser`\" pulumi-lang-java=\"`swrUser`\"\u003e`swr_user`\u003c/span\u003e.\n"}},"type":"object","required":["addonName","addonVersion"]},"outputs":{"description":"A collection of values returned by getCceAddonTemplateV3.\n","properties":{"addonName":{"type":"string"},"addonVersion":{"type":"string"},"clusterIp":{"description":"The cluster ip.\n","type":"string"},"clusterVersions":{"description":"Supported cluster versions.\n","type":"string"},"id":{"description":"The ID of the addon.\n","type":"string"},"imageVersion":{"description":"The cluster image version.\n","type":"string"},"swrAddr":{"description":"The cluster \u003cspan pulumi-lang-nodejs=\"`swrAddr`\" pulumi-lang-dotnet=\"`SwrAddr`\" pulumi-lang-go=\"`swrAddr`\" pulumi-lang-python=\"`swr_addr`\" pulumi-lang-yaml=\"`swrAddr`\" pulumi-lang-java=\"`swrAddr`\"\u003e`swr_addr`\u003c/span\u003e.\n","type":"string"},"swrUser":{"description":"The cluster \u003cspan pulumi-lang-nodejs=\"`swrUser`\" pulumi-lang-dotnet=\"`SwrUser`\" pulumi-lang-go=\"`swrUser`\" pulumi-lang-python=\"`swr_user`\" pulumi-lang-yaml=\"`swrUser`\" pulumi-lang-java=\"`swrUser`\"\u003e`swr_user`\u003c/span\u003e.\n","type":"string"}},"required":["addonName","addonVersion","clusterIp","clusterVersions","id","imageVersion","swrAddr","swrUser"],"type":"object"}},"opentelekomcloud:index/getCceAddonTemplatesV3:getCceAddonTemplatesV3":{"description":"Up-to-date reference of API arguments for CCE Addon template you can get at\n[documentation portal](https://docs.otc.t-systems.com/cloud-container-engine/api-ref/apis/add-on_management/reading_add-on_templates.html#cce-02-0321)\n\nUse this data source to get from OpenTelekomCloud a CCE Addon template versions and additional info based on cluster version.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst templates = opentelekomcloud.getCceAddonTemplatesV3({\n    clusterVersion: \"1.21.3\",\n    addonName: \"volcano\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ntemplates = opentelekomcloud.get_cce_addon_templates_v3(cluster_version=\"1.21.3\",\n    addon_name=\"volcano\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var templates = Opentelekomcloud.GetCceAddonTemplatesV3.Invoke(new()\n    {\n        ClusterVersion = \"1.21.3\",\n        AddonName = \"volcano\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.GetCceAddonTemplatesV3(ctx, \u0026opentelekomcloud.GetCceAddonTemplatesV3Args{\n\t\t\tClusterVersion: \"1.21.3\",\n\t\t\tAddonName:      \"volcano\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetCceAddonTemplatesV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var templates = OpentelekomcloudFunctions.getCceAddonTemplatesV3(GetCceAddonTemplatesV3Args.builder()\n            .clusterVersion(\"1.21.3\")\n            .addonName(\"volcano\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  templates:\n    fn::invoke:\n      function: opentelekomcloud:getCceAddonTemplatesV3\n      arguments:\n        clusterVersion: 1.21.3\n        addonName: volcano\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getCceAddonTemplatesV3.\n","properties":{"addonName":{"type":"string","description":"The name of the CCE addon. For example: \u003cspan pulumi-lang-nodejs=\"`autoscaler`\" pulumi-lang-dotnet=\"`Autoscaler`\" pulumi-lang-go=\"`autoscaler`\" pulumi-lang-python=\"`autoscaler`\" pulumi-lang-yaml=\"`autoscaler`\" pulumi-lang-java=\"`autoscaler`\"\u003e`autoscaler`\u003c/span\u003e.\n"},"clusterType":{"type":"string","description":"The type of the CCE cluster. Default value: `VirtualMachine`.\nThe valid values are as follows:\n+ **VirtualMachine**: The instance is running properly.\n+ **ARM64**: The instance has been properly stopped.\n+ **BareMetal**: An error has occurred on the instance.\n"},"clusterVersion":{"type":"string","description":"The version of the CCE cluster. For example: `1.23.6`.\n"},"id":{"type":"string","description":"The data source ID.\n"}},"type":"object","required":["addonName","clusterVersion"]},"outputs":{"description":"A collection of values returned by getCceAddonTemplatesV3.\n","properties":{"addonName":{"type":"string"},"addons":{"description":"List of CCE addons details. The object structure of each CCE addon is documented below.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetCceAddonTemplatesV3Addon:getCceAddonTemplatesV3Addon"},"type":"array"},"clusterType":{"type":"string"},"clusterVersion":{"type":"string"},"id":{"description":"The data source ID.\n","type":"string"}},"required":["addonName","addons","clusterVersion","id"],"type":"object"}},"opentelekomcloud:index/getCceClusterKubeconfigV3:getCceClusterKubeconfigV3":{"description":"Use this data source to get a cluster's kubeconfig file from OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst clusterId = config.requireObject\u003cany\u003e(\"clusterId\");\nconst _this = opentelekomcloud.getCceClusterKubeconfigV3({\n    clusterId: clusterId,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ncluster_id = config.require_object(\"clusterId\")\nthis = opentelekomcloud.get_cce_cluster_kubeconfig_v3(cluster_id=cluster_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var clusterId = config.RequireObject\u003cdynamic\u003e(\"clusterId\");\n    var @this = Opentelekomcloud.GetCceClusterKubeconfigV3.Invoke(new()\n    {\n        ClusterId = clusterId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tclusterId := cfg.RequireObject(\"clusterId\")\n\t\t_, err := opentelekomcloud.GetCceClusterKubeconfigV3(ctx, \u0026opentelekomcloud.GetCceClusterKubeconfigV3Args{\n\t\t\tClusterId: clusterId,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetCceClusterKubeconfigV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var clusterId = config.get(\"clusterId\");\n        final var this = OpentelekomcloudFunctions.getCceClusterKubeconfigV3(GetCceClusterKubeconfigV3Args.builder()\n            .clusterId(clusterId)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  clusterId:\n    type: dynamic\nvariables:\n  this:\n    fn::invoke:\n      function: opentelekomcloud:getCceClusterKubeconfigV3\n      arguments:\n        clusterId: ${clusterId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Example with expiration date\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst clusterId = config.requireObject\u003cany\u003e(\"clusterId\");\nconst _this = opentelekomcloud.getCceClusterKubeconfigV3({\n    clusterId: cluster1.id,\n    expiryDate: \"2024-02-01\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ncluster_id = config.require_object(\"clusterId\")\nthis = opentelekomcloud.get_cce_cluster_kubeconfig_v3(cluster_id=cluster1[\"id\"],\n    expiry_date=\"2024-02-01\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var clusterId = config.RequireObject\u003cdynamic\u003e(\"clusterId\");\n    var @this = Opentelekomcloud.GetCceClusterKubeconfigV3.Invoke(new()\n    {\n        ClusterId = cluster1.Id,\n        ExpiryDate = \"2024-02-01\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tclusterId := cfg.RequireObject(\"clusterId\")\n\t\t_, err := opentelekomcloud.GetCceClusterKubeconfigV3(ctx, \u0026opentelekomcloud.GetCceClusterKubeconfigV3Args{\n\t\t\tClusterId:  cluster1.Id,\n\t\t\tExpiryDate: pulumi.StringRef(\"2024-02-01\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetCceClusterKubeconfigV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var clusterId = config.get(\"clusterId\");\n        final var this = OpentelekomcloudFunctions.getCceClusterKubeconfigV3(GetCceClusterKubeconfigV3Args.builder()\n            .clusterId(cluster1.id())\n            .expiryDate(\"2024-02-01\")\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  clusterId:\n    type: dynamic\nvariables:\n  this:\n    fn::invoke:\n      function: opentelekomcloud:getCceClusterKubeconfigV3\n      arguments:\n        clusterId: ${cluster1.id}\n        expiryDate: 2024-02-01\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getCceClusterKubeconfigV3.\n","properties":{"clusterId":{"type":"string","description":"The Name of the cluster resource.\n"},"duration":{"type":"number","description":"Period during which a cluster certificate is valid, in days. A cluster certificate can\nbe valid for \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`1825`\" pulumi-lang-dotnet=\"`1825`\" pulumi-lang-go=\"`1825`\" pulumi-lang-python=\"`1825`\" pulumi-lang-yaml=\"`1825`\" pulumi-lang-java=\"`1825`\"\u003e`1825`\u003c/span\u003e days. If this parameter is set to `-1`, the validity period is \u003cspan pulumi-lang-nodejs=\"`1825`\" pulumi-lang-dotnet=\"`1825`\" pulumi-lang-go=\"`1825`\" pulumi-lang-python=\"`1825`\" pulumi-lang-yaml=\"`1825`\" pulumi-lang-java=\"`1825`\"\u003e`1825`\u003c/span\u003e days (about 5 years).\nDefault vault `-1`.\n"},"expiryDate":{"type":"string","description":"Specifies the date until which the certificate will be valid, in RFC3339 format, like `2023-02-01`.\nConflicts with \u003cspan pulumi-lang-nodejs=\"`duration`\" pulumi-lang-dotnet=\"`Duration`\" pulumi-lang-go=\"`duration`\" pulumi-lang-python=\"`duration`\" pulumi-lang-yaml=\"`duration`\" pulumi-lang-java=\"`duration`\"\u003e`duration`\u003c/span\u003e attribute.\n"},"id":{"type":"string","description":"The ID of the cluster.\n"}},"type":"object","required":["clusterId"]},"outputs":{"description":"A collection of values returned by getCceClusterKubeconfigV3.\n","properties":{"clusterId":{"type":"string"},"duration":{"type":"number"},"expiryDate":{"type":"string"},"id":{"description":"The ID of the cluster.\n","type":"string"},"kubeconfig":{"description":"The cluster's kubeconfig file contents.\n","type":"string"}},"required":["clusterId","id","kubeconfig"],"type":"object"}},"opentelekomcloud:index/getCceClusterV3:getCceClusterV3":{"description":"Up-to-date reference of API arguments for CCE cluster you can get at\n[documentation portal](https://docs.otc.t-systems.com/cloud-container-engine/api-ref/apis/cluster_management/listing_clusters_in_a_specified_project.html#cce-02-0239)\n\nUse this data source to get details about all clusters and obtains the certificate for accessing cluster information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst clusterName = config.requireObject\u003cany\u003e(\"clusterName\");\nconst clusterId = config.requireObject\u003cany\u003e(\"clusterId\");\nconst vpcId = config.requireObject\u003cany\u003e(\"vpcId\");\nconst cluster = opentelekomcloud.getCceClusterV3({\n    name: clusterName,\n    status: \"Available\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ncluster_name = config.require_object(\"clusterName\")\ncluster_id = config.require_object(\"clusterId\")\nvpc_id = config.require_object(\"vpcId\")\ncluster = opentelekomcloud.get_cce_cluster_v3(name=cluster_name,\n    status=\"Available\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var clusterName = config.RequireObject\u003cdynamic\u003e(\"clusterName\");\n    var clusterId = config.RequireObject\u003cdynamic\u003e(\"clusterId\");\n    var vpcId = config.RequireObject\u003cdynamic\u003e(\"vpcId\");\n    var cluster = Opentelekomcloud.GetCceClusterV3.Invoke(new()\n    {\n        Name = clusterName,\n        Status = \"Available\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tclusterName := cfg.RequireObject(\"clusterName\")\n\t\tclusterId := cfg.RequireObject(\"clusterId\")\n\t\tvpcId := cfg.RequireObject(\"vpcId\")\n\t\t_, err := opentelekomcloud.LookupCceClusterV3(ctx, \u0026opentelekomcloud.LookupCceClusterV3Args{\n\t\t\tName:   pulumi.StringRef(clusterName),\n\t\t\tStatus: pulumi.StringRef(\"Available\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetCceClusterV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var clusterName = config.get(\"clusterName\");\n        final var clusterId = config.get(\"clusterId\");\n        final var vpcId = config.get(\"vpcId\");\n        final var cluster = OpentelekomcloudFunctions.getCceClusterV3(GetCceClusterV3Args.builder()\n            .name(clusterName)\n            .status(\"Available\")\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  clusterName:\n    type: dynamic\n  clusterId:\n    type: dynamic\n  vpcId:\n    type: dynamic\nvariables:\n  cluster:\n    fn::invoke:\n      function: opentelekomcloud:getCceClusterV3\n      arguments:\n        name: ${clusterName}\n        status: Available\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getCceClusterV3.\n","properties":{"clusterType":{"type":"string","description":"Type of the cluster. Possible values: `VirtualMachine`, `BareMetal` or `Windows`.\n"},"id":{"type":"string","description":"The ID of the cluster.\n"},"name":{"type":"string","description":"The Name of the cluster resource.\n"},"region":{"type":"string"},"status":{"type":"string","description":"The state of the cluster.\n"},"vpcId":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getCceClusterV3.\n","properties":{"authenticationMode":{"description":"(Optional) Authentication mode of the cluster, possible values are \u003cspan pulumi-lang-nodejs=\"`rbac`\" pulumi-lang-dotnet=\"`Rbac`\" pulumi-lang-go=\"`rbac`\" pulumi-lang-python=\"`rbac`\" pulumi-lang-yaml=\"`rbac`\" pulumi-lang-java=\"`rbac`\"\u003e`rbac`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`authenticatingProxy`\" pulumi-lang-dotnet=\"`AuthenticatingProxy`\" pulumi-lang-go=\"`authenticatingProxy`\" pulumi-lang-python=\"`authenticating_proxy`\" pulumi-lang-yaml=\"`authenticatingProxy`\" pulumi-lang-java=\"`authenticatingProxy`\"\u003e`authenticating_proxy`\u003c/span\u003e.\n","type":"string"},"billingMode":{"type":"number"},"certificateClusters":{"items":{"$ref":"#/types/opentelekomcloud:index%2FgetCceClusterV3CertificateCluster:getCceClusterV3CertificateCluster"},"type":"array"},"certificateUsers":{"items":{"$ref":"#/types/opentelekomcloud:index%2FgetCceClusterV3CertificateUser:getCceClusterV3CertificateUser"},"type":"array"},"clusterType":{"type":"string"},"clusterVersion":{"description":"The version of cluster in string format.\n","type":"string"},"containerNetworkCidr":{"description":"The container network segment.\n","type":"string"},"containerNetworkType":{"description":"The container network type:\u003cspan pulumi-lang-nodejs=\" overlayL2 \" pulumi-lang-dotnet=\" OverlayL2 \" pulumi-lang-go=\" overlayL2 \" pulumi-lang-python=\" overlay_l2 \" pulumi-lang-yaml=\" overlayL2 \" pulumi-lang-java=\" overlayL2 \"\u003e overlay_l2 \u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\" underlayIpvlan \" pulumi-lang-dotnet=\" UnderlayIpvlan \" pulumi-lang-go=\" underlayIpvlan \" pulumi-lang-python=\" underlay_ipvlan \" pulumi-lang-yaml=\" underlayIpvlan \" pulumi-lang-java=\" underlayIpvlan \"\u003e underlay_ipvlan \u003c/span\u003eor vpc-router.\n","type":"string"},"description":{"description":"Cluster description.\n","type":"string"},"eniSubnetCidr":{"description":"ENI network segment.\n","type":"string"},"eniSubnetId":{"description":"ENI subnet ID.\n","type":"string"},"external":{"description":"The external network address.\n","type":"string"},"externalOtc":{"description":"The endpoint of the cluster to be accessed through API Gateway.\n","type":"string"},"flavorId":{"description":"The cluster specification in string format.\n","type":"string"},"highwaySubnetId":{"description":"The ID of the high speed network used to create bare metal nodes.\n","type":"string"},"id":{"description":"The ID of the cluster.\n","type":"string"},"internal":{"description":"The internal network address.\n","type":"string"},"name":{"description":"The name of the cluster in string format.\n","type":"string"},"region":{"type":"string"},"status":{"type":"string"},"subnetId":{"description":"The ID of the subnet used to create the node.\n","type":"string"},"vpcId":{"type":"string"}},"required":["authenticationMode","billingMode","certificateClusters","certificateUsers","clusterVersion","containerNetworkCidr","containerNetworkType","description","eniSubnetCidr","eniSubnetId","external","externalOtc","flavorId","highwaySubnetId","id","internal","region","subnetId"],"type":"object"}},"opentelekomcloud:index/getCceClustersV3:getCceClustersV3":{"description":"Up-to-date reference of API arguments for CCE cluster you can get at\n[documentation portal](https://docs.otc.t-systems.com/cloud-container-engine/api-ref/apis/cluster_management/listing_clusters_in_a_specified_project.html#cce-02-0239)\n\nUse this data source to get a list of CCE clusters.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst clusterName = config.requireObject\u003cany\u003e(\"clusterName\");\nconst clusters = opentelekomcloud.getCceClustersV3({\n    name: clusterName,\n    status: \"Available\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ncluster_name = config.require_object(\"clusterName\")\nclusters = opentelekomcloud.get_cce_clusters_v3(name=cluster_name,\n    status=\"Available\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var clusterName = config.RequireObject\u003cdynamic\u003e(\"clusterName\");\n    var clusters = Opentelekomcloud.GetCceClustersV3.Invoke(new()\n    {\n        Name = clusterName,\n        Status = \"Available\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tclusterName := cfg.RequireObject(\"clusterName\")\n\t\t_, err := opentelekomcloud.GetCceClustersV3(ctx, \u0026opentelekomcloud.GetCceClustersV3Args{\n\t\t\tName:   pulumi.StringRef(clusterName),\n\t\t\tStatus: pulumi.StringRef(\"Available\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetCceClustersV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var clusterName = config.get(\"clusterName\");\n        final var clusters = OpentelekomcloudFunctions.getCceClustersV3(GetCceClustersV3Args.builder()\n            .name(clusterName)\n            .status(\"Available\")\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  clusterName:\n    type: dynamic\nvariables:\n  clusters:\n    fn::invoke:\n      function: opentelekomcloud:getCceClustersV3\n      arguments:\n        name: ${clusterName}\n        status: Available\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getCceClustersV3.\n","properties":{"clusterId":{"type":"string","description":"Specifies the ID of the cluster.\n"},"clusterType":{"type":"string","description":"Specifies the type of the cluster. Possible values: `VirtualMachine`, `BareMetal`.\n"},"enterpriseProjectId":{"type":"string","description":"Specifies the enterprise project ID of the cluster.\n"},"id":{"type":"string","description":"The ID of the cluster.\n"},"name":{"type":"string","description":"Specifies the name of the cluster.\n"},"region":{"type":"string","description":"Specifies the region in which to obtain the CCE clusters. If omitted, the\nprovider-level region will be used.\n"},"status":{"type":"string","description":"Specifies the status of the cluster.\n"},"vpcId":{"type":"string","description":"Specifies the VPC ID to which the cluster belongs.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getCceClustersV3.\n","properties":{"clusterId":{"type":"string"},"clusterType":{"description":"The type of the cluster. Possible values: `VirtualMachine`, `ARM64`.\n","type":"string"},"clusters":{"description":"Indicates a list of CCE clusters found. Structure is documented below.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetCceClustersV3Cluster:getCceClustersV3Cluster"},"type":"array"},"enterpriseProjectId":{"description":"The enterprise project ID of the CCE cluster.\n","type":"string"},"id":{"description":"The ID of the cluster.\n","type":"string"},"ids":{"description":"Indicates a list of IDs of all CCE clusters found.\n","items":{"type":"string"},"type":"array"},"name":{"description":"The user name.\n","type":"string"},"region":{"type":"string"},"status":{"description":"The status of the cluster.\n","type":"string"},"vpcId":{"description":"The vpc ID of the cluster.\n","type":"string"}},"required":["clusters","id","ids","region"],"type":"object"}},"opentelekomcloud:index/getCceNodeIdsV3:getCceNodeIdsV3":{"description":"Up-to-date reference of API arguments for CCE nodes you can get at\n[documentation portal](https://docs.otc.t-systems.com/cloud-container-engine/api-ref/apis/cluster_management/listing_all_nodes_in_a_cluster.html)\n\nUse this data source to get a list of node ids for a CCE cluster from OpenTelekomCloud.\nThis data source can be useful for getting back a list of node ids for a CCE cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst nodeIds = opentelekomcloud.getCceNodeIdsV3({\n    clusterId: clusterId,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nnode_ids = opentelekomcloud.get_cce_node_ids_v3(cluster_id=cluster_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var nodeIds = Opentelekomcloud.GetCceNodeIdsV3.Invoke(new()\n    {\n        ClusterId = clusterId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.GetCceNodeIdsV3(ctx, \u0026opentelekomcloud.GetCceNodeIdsV3Args{\n\t\t\tClusterId: clusterId,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetCceNodeIdsV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var nodeIds = OpentelekomcloudFunctions.getCceNodeIdsV3(GetCceNodeIdsV3Args.builder()\n            .clusterId(clusterId)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  nodeIds:\n    fn::invoke:\n      function: opentelekomcloud:getCceNodeIdsV3\n      arguments:\n        clusterId: ${clusterId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getCceNodeIdsV3.\n","properties":{"clusterId":{"type":"string","description":"Specifies the CCE cluster ID used as the query filter.\n"},"id":{"type":"string"},"region":{"type":"string"}},"type":"object","required":["clusterId"]},"outputs":{"description":"A collection of values returned by getCceNodeIdsV3.\n","properties":{"clusterId":{"type":"string"},"id":{"type":"string"},"ids":{"description":"A list of all the node ids found. This data source will fail if none are found.\n","items":{"type":"string"},"type":"array"},"region":{"type":"string"}},"required":["clusterId","id","ids","region"],"type":"object"}},"opentelekomcloud:index/getCceNodeV3:getCceNodeV3":{"description":"Up-to-date reference of API arguments for CCE nodes you can get at\n[documentation portal](https://docs.otc.t-systems.com/cloud-container-engine/api-ref/apis/cluster_management/listing_all_nodes_in_a_cluster.html)\n\nUse this data source to get the specified node in a cluster from OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst clusterId = config.requireObject\u003cany\u003e(\"clusterId\");\nconst nodeId = config.requireObject\u003cany\u003e(\"nodeId\");\nconst node = opentelekomcloud.getCceNodeV3({\n    clusterId: clusterId,\n    nodeId: nodeId,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ncluster_id = config.require_object(\"clusterId\")\nnode_id = config.require_object(\"nodeId\")\nnode = opentelekomcloud.get_cce_node_v3(cluster_id=cluster_id,\n    node_id=node_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var clusterId = config.RequireObject\u003cdynamic\u003e(\"clusterId\");\n    var nodeId = config.RequireObject\u003cdynamic\u003e(\"nodeId\");\n    var node = Opentelekomcloud.GetCceNodeV3.Invoke(new()\n    {\n        ClusterId = clusterId,\n        NodeId = nodeId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tclusterId := cfg.RequireObject(\"clusterId\")\n\t\tnodeId := cfg.RequireObject(\"nodeId\")\n\t\t_, err := opentelekomcloud.LookupCceNodeV3(ctx, \u0026opentelekomcloud.LookupCceNodeV3Args{\n\t\t\tClusterId: clusterId,\n\t\t\tNodeId:    pulumi.StringRef(nodeId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetCceNodeV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var clusterId = config.get(\"clusterId\");\n        final var nodeId = config.get(\"nodeId\");\n        final var node = OpentelekomcloudFunctions.getCceNodeV3(GetCceNodeV3Args.builder()\n            .clusterId(clusterId)\n            .nodeId(nodeId)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  clusterId:\n    type: dynamic\n  nodeId:\n    type: dynamic\nvariables:\n  node:\n    fn::invoke:\n      function: opentelekomcloud:getCceNodeV3\n      arguments:\n        clusterId: ${clusterId}\n        nodeId: ${nodeId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getCceNodeV3.\n","properties":{"clusterId":{"type":"string","description":"The id of container cluster.\n"},"id":{"type":"string"},"name":{"type":"string","description":"Name of the node.\n"},"nodeId":{"type":"string","description":"The id of the node.\n"},"region":{"type":"string"},"status":{"type":"string","description":"The state of the node.\n"}},"type":"object","required":["clusterId"]},"outputs":{"description":"A collection of values returned by getCceNodeV3.\n","properties":{"availabilityZone":{"description":"Available partitions where the node is located.\n","type":"string"},"bandwidthSize":{"description":"Bandwidth (Mbit/s), in the range of `[1, 2000]`.\n","type":"number"},"billingMode":{"description":"Node's billing mode: The value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (on demand).\n","type":"number"},"chargeMode":{"description":"Bandwidth billing type.\n","type":"string"},"clusterId":{"type":"string"},"dataVolumes":{"description":"Represents the data disks configuration.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetCceNodeV3DataVolume:getCceNodeV3DataVolume"},"type":"array"},"diskSize":{"description":"Root volume disk size in GB.\n","type":"number"},"eipCount":{"type":"number"},"eipIds":{"description":"List of existing elastic IP IDs.\n","items":{"type":"string"},"type":"array"},"flavorId":{"description":"The flavor id to be used.\n","type":"string"},"id":{"type":"string"},"ipType":{"description":"Elastic IP address type.\n","type":"string"},"keyPair":{"description":"Key pair name when logging in to select the key pair mode.\n","type":"string"},"name":{"type":"string"},"nodeId":{"type":"string"},"privateIp":{"description":"Private IP of the node\n","type":"string"},"publicIp":{"description":"Elastic IP parameters of the node.\n","type":"string"},"region":{"type":"string"},"runtime":{"description":"The runtime of the node.\n","type":"string"},"serverId":{"description":"The node's virtual machine ID in ECS.\n","type":"string"},"shareType":{"description":"The bandwidth sharing type.\n","type":"string"},"status":{"type":"string"},"volumeType":{"description":"Root volume disk type.\n","type":"string"}},"required":["availabilityZone","bandwidthSize","billingMode","chargeMode","clusterId","dataVolumes","diskSize","eipCount","eipIds","flavorId","id","ipType","keyPair","privateIp","publicIp","region","runtime","serverId","shareType","volumeType"],"type":"object"}},"opentelekomcloud:index/getCesAlarmRulesV2:getCesAlarmRulesV2":{"description":"Up-to-date reference of API arguments for CES alarm rules you can get at\n[documentation portal](https://docs.otc.t-systems.com/cloud-eye/api-ref/api_v2/alarm_rules/index.html)\n\nUse this data source to get the list of CES alarm rules within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst all = opentelekomcloud.getCesAlarmRulesV2({});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nall = opentelekomcloud.get_ces_alarm_rules_v2()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var all = Opentelekomcloud.GetCesAlarmRulesV2.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.GetCesAlarmRulesV2(ctx, \u0026opentelekomcloud.GetCesAlarmRulesV2Args{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetCesAlarmRulesV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var all = OpentelekomcloudFunctions.getCesAlarmRulesV2(GetCesAlarmRulesV2Args.builder()\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  all:\n    fn::invoke:\n      function: opentelekomcloud:getCesAlarmRulesV2\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Filter by alarm rule name\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst byName = opentelekomcloud.getCesAlarmRulesV2({\n    name: \"my-alarm-rule\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nby_name = opentelekomcloud.get_ces_alarm_rules_v2(name=\"my-alarm-rule\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var byName = Opentelekomcloud.GetCesAlarmRulesV2.Invoke(new()\n    {\n        Name = \"my-alarm-rule\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.GetCesAlarmRulesV2(ctx, \u0026opentelekomcloud.GetCesAlarmRulesV2Args{\n\t\t\tName: pulumi.StringRef(\"my-alarm-rule\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetCesAlarmRulesV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var byName = OpentelekomcloudFunctions.getCesAlarmRulesV2(GetCesAlarmRulesV2Args.builder()\n            .name(\"my-alarm-rule\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  byName:\n    fn::invoke:\n      function: opentelekomcloud:getCesAlarmRulesV2\n      arguments:\n        name: my-alarm-rule\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Filter by namespace\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst byNamespace = opentelekomcloud.getCesAlarmRulesV2({\n    namespace: \"SYS.ECS\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nby_namespace = opentelekomcloud.get_ces_alarm_rules_v2(namespace=\"SYS.ECS\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var byNamespace = Opentelekomcloud.GetCesAlarmRulesV2.Invoke(new()\n    {\n        Namespace = \"SYS.ECS\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.GetCesAlarmRulesV2(ctx, \u0026opentelekomcloud.GetCesAlarmRulesV2Args{\n\t\t\tNamespace: pulumi.StringRef(\"SYS.ECS\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetCesAlarmRulesV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var byNamespace = OpentelekomcloudFunctions.getCesAlarmRulesV2(GetCesAlarmRulesV2Args.builder()\n            .namespace(\"SYS.ECS\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  byNamespace:\n    fn::invoke:\n      function: opentelekomcloud:getCesAlarmRulesV2\n      arguments:\n        namespace: SYS.ECS\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getCesAlarmRulesV2.\n","properties":{"alarmId":{"type":"string","description":"Specifies the alarm rule ID.\n"},"id":{"type":"string","description":"The data source ID.\n"},"name":{"type":"string","description":"Specifies the name of an alarm rule.\n"},"namespace":{"type":"string","description":"Specifies the namespace of a service.\n"},"resourceId":{"type":"string","description":"Specifies the alarm resource ID.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getCesAlarmRulesV2.\n","properties":{"alarmId":{"description":"The alarm rule ID.\n","type":"string"},"alarms":{"description":"The alarm rule list.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetCesAlarmRulesV2Alarm:getCesAlarmRulesV2Alarm"},"type":"array"},"id":{"description":"The data source ID.\n","type":"string"},"name":{"description":"The name of the metric dimension.\n","type":"string"},"namespace":{"description":"The namespace of a service.\n","type":"string"},"resourceId":{"type":"string"}},"required":["alarms","id"],"type":"object"}},"opentelekomcloud:index/getCesEventDetailsV1:getCesEventDetailsV1":{"description":"Up-to-date reference of API arguments for CES event details v1 you can get at\n[documentation portal](https://docs.otc.t-systems.com/cloud-eye/api-ref/api_description/event_monitoring/index.html)\n\nGet details about a CES event within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst eventDetails1 = opentelekomcloud.getCesEventDetailsV1({\n    eventName: \"Test_Acc_tf_event\",\n    eventType: \"EVENT.CUSTOM\",\n    from: 1257893000000,\n    to: 1257895000000,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nevent_details1 = opentelekomcloud.get_ces_event_details_v1(event_name=\"Test_Acc_tf_event\",\n    event_type=\"EVENT.CUSTOM\",\n    from_=1257893000000,\n    to=1257895000000)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var eventDetails1 = Opentelekomcloud.GetCesEventDetailsV1.Invoke(new()\n    {\n        EventName = \"Test_Acc_tf_event\",\n        EventType = \"EVENT.CUSTOM\",\n        From = 1257893000000,\n        To = 1257895000000,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.GetCesEventDetailsV1(ctx, \u0026opentelekomcloud.GetCesEventDetailsV1Args{\n\t\t\tEventName: \"Test_Acc_tf_event\",\n\t\t\tEventType: \"EVENT.CUSTOM\",\n\t\t\tFrom:      pulumi.Float64Ref(1257893000000),\n\t\t\tTo:        pulumi.Float64Ref(1257895000000),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetCesEventDetailsV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var eventDetails1 = OpentelekomcloudFunctions.getCesEventDetailsV1(GetCesEventDetailsV1Args.builder()\n            .eventName(\"Test_Acc_tf_event\")\n            .eventType(\"EVENT.CUSTOM\")\n            .from(1257893000000)\n            .to(1257895000000)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  eventDetails1:\n    fn::invoke:\n      function: opentelekomcloud:getCesEventDetailsV1\n      arguments:\n        eventName: Test_Acc_tf_event\n        eventType: EVENT.CUSTOM\n        from: 1.257893e+12\n        to: 1.257895e+12\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getCesEventDetailsV1.\n","properties":{"eventLevel":{"type":"string","description":"Specifies the event severity. The value can be `Critical`, `Major`, `Minor`, or `Info`.\n"},"eventName":{"type":"string","description":"Specifies the event name.\n"},"eventSource":{"type":"string","description":"Specifies the event name. The name can be a system event name or a custom event name.\n"},"eventState":{"type":"string","description":"Specifies the event status. The value can be \u003cspan pulumi-lang-nodejs=\"`normal`\" pulumi-lang-dotnet=\"`Normal`\" pulumi-lang-go=\"`normal`\" pulumi-lang-python=\"`normal`\" pulumi-lang-yaml=\"`normal`\" pulumi-lang-java=\"`normal`\"\u003e`normal`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`warning`\" pulumi-lang-dotnet=\"`Warning`\" pulumi-lang-go=\"`warning`\" pulumi-lang-python=\"`warning`\" pulumi-lang-yaml=\"`warning`\" pulumi-lang-java=\"`warning`\"\u003e`warning`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`incident`\" pulumi-lang-dotnet=\"`Incident`\" pulumi-lang-go=\"`incident`\" pulumi-lang-python=\"`incident`\" pulumi-lang-yaml=\"`incident`\" pulumi-lang-java=\"`incident`\"\u003e`incident`\u003c/span\u003e.\n"},"eventType":{"type":"string","description":"Specifies the event type. The value can be `EVENT.SYS` (system event) or `EVENT.CUSTOM` (custom event).\n"},"eventUser":{"type":"string","description":"Specifies the name of the user who reports the event monitoring data. It can also be a project ID.\n"},"from":{"type":"number","description":"Specifies the start time of the query, which is a UNIX timestamp (ms).\n"},"id":{"type":"string"},"limit":{"type":"number","description":"Specifies the maximum number of records that can be queried at a time. Supported range: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e (default)\n"},"to":{"type":"number","description":"Specifies the end time of the query, which is a UNIX timestamp (ms).\n"}},"type":"object","required":["eventName","eventType"]},"outputs":{"description":"A collection of values returned by getCesEventDetailsV1.\n","properties":{"eventInfos":{"description":"Specifies details of one or more events. The structure is described below.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetCesEventDetailsV1EventInfo:getCesEventDetailsV1EventInfo"},"type":"array"},"eventLevel":{"description":"Specifies the event severity.\n","type":"string"},"eventName":{"description":"Specifies the event name.\n","type":"string"},"eventSource":{"description":"Specifies the event source in the format of service.item.\n","type":"string"},"eventSources":{"description":"Specifies the event source. For a system event, the source is the namespace of each service.\n","items":{"type":"string"},"type":"array"},"eventState":{"description":"Specifies the event status.\n","type":"string"},"eventType":{"description":"Specifies the event type.\n","type":"string"},"eventUser":{"description":"Specifies the event user.\n","type":"string"},"eventUsers":{"description":"Specifies the name of the user who reports the event. It can also be a project ID.\n","items":{"type":"string"},"type":"array"},"from":{"type":"number"},"id":{"type":"string"},"limit":{"type":"number"},"metaDatas":{"description":"Specifies the number of metadata records in the query result. The structure is described below.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetCesEventDetailsV1MetaData:getCesEventDetailsV1MetaData"},"type":"array"},"to":{"type":"number"}},"required":["eventInfos","eventName","eventSources","eventType","eventUsers","id","metaDatas"],"type":"object"}},"opentelekomcloud:index/getCesEventsV1:getCesEventsV1":{"description":"Up-to-date reference of API arguments for CES events v1 you can get at\n[documentation portal](https://docs.otc.t-systems.com/cloud-eye/api-ref/api_description/event_monitoring/index.html)\n\nGet details about CES events within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst events1 = opentelekomcloud.getCesEventsV1({\n    eventType: \"EVENT.CUSTOM\",\n    from: 1257893000000,\n    to: 1257895000000,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nevents1 = opentelekomcloud.get_ces_events_v1(event_type=\"EVENT.CUSTOM\",\n    from_=1257893000000,\n    to=1257895000000)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var events1 = Opentelekomcloud.GetCesEventsV1.Invoke(new()\n    {\n        EventType = \"EVENT.CUSTOM\",\n        From = 1257893000000,\n        To = 1257895000000,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.GetCesEventsV1(ctx, \u0026opentelekomcloud.GetCesEventsV1Args{\n\t\t\tEventType: pulumi.StringRef(\"EVENT.CUSTOM\"),\n\t\t\tFrom:      pulumi.Float64Ref(1257893000000),\n\t\t\tTo:        pulumi.Float64Ref(1257895000000),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetCesEventsV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var events1 = OpentelekomcloudFunctions.getCesEventsV1(GetCesEventsV1Args.builder()\n            .eventType(\"EVENT.CUSTOM\")\n            .from(1257893000000)\n            .to(1257895000000)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  events1:\n    fn::invoke:\n      function: opentelekomcloud:getCesEventsV1\n      arguments:\n        eventType: EVENT.CUSTOM\n        from: 1.257893e+12\n        to: 1.257895e+12\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getCesEventsV1.\n","properties":{"eventName":{"type":"string","description":"Specifies the event name.\n"},"eventType":{"type":"string","description":"Specifies the event type. The value can be `EVENT.SYS` (system event) or `EVENT.CUSTOM` (custom event).\n"},"from":{"type":"number","description":"Specifies the start time of the query, which is a UNIX timestamp (ms).\n"},"id":{"type":"string"},"limit":{"type":"number","description":"Specifies the maximum number of records that can be queried at a time. Supported range: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e (default)\n"},"to":{"type":"number","description":"Specifies the end time of the query, which is a UNIX timestamp (ms).\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getCesEventsV1.\n","properties":{"eventName":{"description":"Specifies the event name.\n","type":"string"},"eventType":{"description":"Specifies the event type.\n","type":"string"},"events":{"description":"Specifies one or more pieces of event data. The structure is described below.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetCesEventsV1Event:getCesEventsV1Event"},"type":"array"},"from":{"type":"number"},"id":{"type":"string"},"limit":{"type":"number"},"metaDatas":{"description":"Specifies the number of metadata records in the query result. The structure is described below.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetCesEventsV1MetaData:getCesEventsV1MetaData"},"type":"array"},"to":{"type":"number"}},"required":["events","id","metaDatas"],"type":"object"}},"opentelekomcloud:index/getCesMetricDataV1:getCesMetricDataV1":{"description":"Up-to-date reference of API arguments for CES metric data v1 you can get at\n[documentation portal](https://docs.otc.t-systems.com/cloud-eye/api-ref/api_description/monitoring_data/index.html)\n\nGet details about CES metric data within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst metricData1 = opentelekomcloud.getCesMetricDataV1({\n    namespace: \"TEST.TF_ACC\",\n    metricName: \"cpu_util\",\n    from: \"1257892000000\",\n    to: \"1257895000000\",\n    period: 1,\n    filter: \"average\",\n    dim0: \"instance_id,72d1377e-09e4-47bd-8ea4-71a815d4815d\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nmetric_data1 = opentelekomcloud.get_ces_metric_data_v1(namespace=\"TEST.TF_ACC\",\n    metric_name=\"cpu_util\",\n    from_=\"1257892000000\",\n    to=\"1257895000000\",\n    period=1,\n    filter=\"average\",\n    dim0=\"instance_id,72d1377e-09e4-47bd-8ea4-71a815d4815d\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var metricData1 = Opentelekomcloud.GetCesMetricDataV1.Invoke(new()\n    {\n        Namespace = \"TEST.TF_ACC\",\n        MetricName = \"cpu_util\",\n        From = \"1257892000000\",\n        To = \"1257895000000\",\n        Period = 1,\n        Filter = \"average\",\n        Dim0 = \"instance_id,72d1377e-09e4-47bd-8ea4-71a815d4815d\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.LookupCesMetricDataV1(ctx, \u0026opentelekomcloud.LookupCesMetricDataV1Args{\n\t\t\tNamespace:  \"TEST.TF_ACC\",\n\t\t\tMetricName: \"cpu_util\",\n\t\t\tFrom:       \"1257892000000\",\n\t\t\tTo:         \"1257895000000\",\n\t\t\tPeriod:     1,\n\t\t\tFilter:     \"average\",\n\t\t\tDim0:       \"instance_id,72d1377e-09e4-47bd-8ea4-71a815d4815d\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetCesMetricDataV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var metricData1 = OpentelekomcloudFunctions.getCesMetricDataV1(GetCesMetricDataV1Args.builder()\n            .namespace(\"TEST.TF_ACC\")\n            .metricName(\"cpu_util\")\n            .from(\"1257892000000\")\n            .to(\"1257895000000\")\n            .period(1)\n            .filter(\"average\")\n            .dim0(\"instance_id,72d1377e-09e4-47bd-8ea4-71a815d4815d\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  metricData1:\n    fn::invoke:\n      function: opentelekomcloud:getCesMetricDataV1\n      arguments:\n        namespace: TEST.TF_ACC\n        metricName: cpu_util\n        from: '1257892000000'\n        to: '1257895000000'\n        period: 1\n        filter: average\n        dim0: instance_id,72d1377e-09e4-47bd-8ea4-71a815d4815d\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getCesMetricDataV1.\n","properties":{"dim0":{"type":"string","description":"Specifies the metric dimension. The format is `key,value`. \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\"\u003e`key`\u003c/span\u003e cannot exceed 32 characters and \u003cspan pulumi-lang-nodejs=\"`value`\" pulumi-lang-dotnet=\"`Value`\" pulumi-lang-go=\"`value`\" pulumi-lang-python=\"`value`\" pulumi-lang-yaml=\"`value`\" pulumi-lang-java=\"`value`\"\u003e`value`\u003c/span\u003e cannot exceed 256 characters. For example: `instance_id,72d1377e-09e4-47bd-8ea4-71a815d4815d`\n"},"dim1":{"type":"string","description":"Specifies the additional metric dimension. The format is same as \u003cspan pulumi-lang-nodejs=\"`dim0`\" pulumi-lang-dotnet=\"`Dim0`\" pulumi-lang-go=\"`dim0`\" pulumi-lang-python=\"`dim0`\" pulumi-lang-yaml=\"`dim0`\" pulumi-lang-java=\"`dim0`\"\u003e`dim0`\u003c/span\u003e.\n"},"filter":{"type":"string","description":"Specifies the data rollup method. Possible values are:\n"},"from":{"type":"string","description":"Specifies the start time of the query. The time is a UNIX timestamp and the unit is ms. Rollup aggregates the raw data generated within a period to the start time of the period. If \u003cspan pulumi-lang-nodejs=\"`from`\" pulumi-lang-dotnet=\"`From`\" pulumi-lang-go=\"`from`\" pulumi-lang-python=\"`from`\" pulumi-lang-yaml=\"`from`\" pulumi-lang-java=\"`from`\"\u003e`from`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`to`\" pulumi-lang-dotnet=\"`To`\" pulumi-lang-go=\"`to`\" pulumi-lang-python=\"`to`\" pulumi-lang-yaml=\"`to`\" pulumi-lang-java=\"`to`\"\u003e`to`\u003c/span\u003e are within a period, the query result will be empty due to the rollup failure. Set \u003cspan pulumi-lang-nodejs=\"`from`\" pulumi-lang-dotnet=\"`From`\" pulumi-lang-go=\"`from`\" pulumi-lang-python=\"`from`\" pulumi-lang-yaml=\"`from`\" pulumi-lang-java=\"`from`\"\u003e`from`\u003c/span\u003e to at least one period earlier than the current time. Take the 5-minute period as an example. If it is 10:35 now, the raw data generated between 10:30 and 10:35 will be aggregated to 10:30. In this example, if period is 5 minutes, from should be 10:30.\n"},"id":{"type":"string"},"metricName":{"type":"string","description":"Specifies the metric name.\n"},"namespace":{"type":"string","description":"Specifies the namespace of a service.\n"},"period":{"type":"number","description":"Specifies how often Cloud Eye aggregates data. Possible values are:\n"},"to":{"type":"string","description":"Specifies the end time of the query. The time is a UNIX timestamp and the unit is ms. \u003cspan pulumi-lang-nodejs=\"`from`\" pulumi-lang-dotnet=\"`From`\" pulumi-lang-go=\"`from`\" pulumi-lang-python=\"`from`\" pulumi-lang-yaml=\"`from`\" pulumi-lang-java=\"`from`\"\u003e`from`\u003c/span\u003e must be earlier than \u003cspan pulumi-lang-nodejs=\"`to`\" pulumi-lang-dotnet=\"`To`\" pulumi-lang-go=\"`to`\" pulumi-lang-python=\"`to`\" pulumi-lang-yaml=\"`to`\" pulumi-lang-java=\"`to`\"\u003e`to`\u003c/span\u003e.\n"}},"type":"object","required":["dim0","filter","from","metricName","namespace","period","to"]},"outputs":{"description":"A collection of values returned by getCesMetricDataV1.\n","properties":{"datapoints":{"description":"Specifies the metric data list. Since Cloud Eye rounds up from based on the level of granularity for data query, datapoints may contain more data points than expected. The structure is described below.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetCesMetricDataV1Datapoint:getCesMetricDataV1Datapoint"},"type":"array"},"dim0":{"type":"string"},"dim1":{"type":"string"},"filter":{"type":"string"},"from":{"type":"string"},"id":{"type":"string"},"metricName":{"type":"string"},"namespace":{"type":"string"},"period":{"type":"number"},"to":{"type":"string"}},"required":["datapoints","dim0","filter","from","id","metricName","namespace","period","to"],"type":"object"}},"opentelekomcloud:index/getCesMetricsV1:getCesMetricsV1":{"description":"Up-to-date reference of API arguments for CES metrics v1 you can get at\n[documentation portal](https://docs.otc.t-systems.com/cloud-eye/api-ref/api_description/metrics/index.html)\n\nGet details about CES metrics within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst metrics1 = opentelekomcloud.getCesMetricsV1({\n    namespace: \"SYS.ECS\",\n    metricName: \"cpu_util\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nmetrics1 = opentelekomcloud.get_ces_metrics_v1(namespace=\"SYS.ECS\",\n    metric_name=\"cpu_util\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var metrics1 = Opentelekomcloud.GetCesMetricsV1.Invoke(new()\n    {\n        Namespace = \"SYS.ECS\",\n        MetricName = \"cpu_util\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.GetCesMetricsV1(ctx, \u0026opentelekomcloud.GetCesMetricsV1Args{\n\t\t\tNamespace:  pulumi.StringRef(\"SYS.ECS\"),\n\t\t\tMetricName: pulumi.StringRef(\"cpu_util\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetCesMetricsV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var metrics1 = OpentelekomcloudFunctions.getCesMetricsV1(GetCesMetricsV1Args.builder()\n            .namespace(\"SYS.ECS\")\n            .metricName(\"cpu_util\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  metrics1:\n    fn::invoke:\n      function: opentelekomcloud:getCesMetricsV1\n      arguments:\n        namespace: SYS.ECS\n        metricName: cpu_util\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getCesMetricsV1.\n","properties":{"dim":{"type":"string","description":"Specifies the dimension. A maximum of three dimensions are supported, and the dimensions are numbered from \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e in `dim.{i}=key,value` format. key cannot exceed \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e characters and value cannot exceed 256 characters.\nSingle dimension: `dim.0=instance_id,xxxx-xxxx-xxxx`,\nMultiple dimensions: `dim.0=key,value\u0026dim.1=key,value`\n"},"id":{"type":"string"},"limit":{"type":"number","description":"Specifies the maximum number of records that can be queried at a time. Supported range: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e (default)\n"},"metricName":{"type":"string","description":"Specifies the metric ID.\n"},"namespace":{"type":"string","description":"Specifies the namespace of a service.\n"},"order":{"type":"string","description":"Specifies the result sorting method, which is sorted by timestamp. The default method is \u003cspan pulumi-lang-nodejs=\"`desc`\" pulumi-lang-dotnet=\"`Desc`\" pulumi-lang-go=\"`desc`\" pulumi-lang-python=\"`desc`\" pulumi-lang-yaml=\"`desc`\" pulumi-lang-java=\"`desc`\"\u003e`desc`\u003c/span\u003e. Supported values:\n\u003cspan pulumi-lang-nodejs=\"`asc`\" pulumi-lang-dotnet=\"`Asc`\" pulumi-lang-go=\"`asc`\" pulumi-lang-python=\"`asc`\" pulumi-lang-yaml=\"`asc`\" pulumi-lang-java=\"`asc`\"\u003e`asc`\u003c/span\u003e: The query results are displayed in the ascending order.\n\u003cspan pulumi-lang-nodejs=\"`desc`\" pulumi-lang-dotnet=\"`Desc`\" pulumi-lang-go=\"`desc`\" pulumi-lang-python=\"`desc`\" pulumi-lang-yaml=\"`desc`\" pulumi-lang-java=\"`desc`\"\u003e`desc`\u003c/span\u003e: The query results are displayed in the descending order.\n\n\u003e **NOTE:**\n\u003cspan pulumi-lang-nodejs=\"`namespaces`\" pulumi-lang-dotnet=\"`Namespaces`\" pulumi-lang-go=\"`namespaces`\" pulumi-lang-python=\"`namespaces`\" pulumi-lang-yaml=\"`namespaces`\" pulumi-lang-java=\"`namespaces`\"\u003e`namespaces`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`dimensions`\" pulumi-lang-dotnet=\"`Dimensions`\" pulumi-lang-go=\"`dimensions`\" pulumi-lang-python=\"`dimensions`\" pulumi-lang-yaml=\"`dimensions`\" pulumi-lang-java=\"`dimensions`\"\u003e`dimensions`\u003c/span\u003e are available on our github link or [official documentation](https://docs.otc.t-systems.com/cloud-eye/api-ref/appendix/services_interconnected_with_cloud_eye.html).\n"},"start":{"type":"string","description":"Specifies the paging start value. The format is `namespace.metric_name.key:value`.\nExample: start=SYS.ECS.cpu_util.instance_id:d9112af5-6913-4f3b-bd0a-3f96711e004d.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getCesMetricsV1.\n","properties":{"dim":{"type":"string"},"id":{"type":"string"},"limit":{"type":"number"},"metaDatas":{"description":"Specifies the metadata of query results, including the pagination information. The structure is described below.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetCesMetricsV1MetaData:getCesMetricsV1MetaData"},"type":"array"},"metricName":{"description":"Specifies the metric name, such as cpu_util.\n","type":"string"},"metrics":{"description":"Specifies the list of metric objects. The structure is described below.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetCesMetricsV1Metric:getCesMetricsV1Metric"},"type":"array"},"namespace":{"description":"Specifies the metric namespace.\n","type":"string"},"order":{"type":"string"},"start":{"type":"string"}},"required":["id","metaDatas","metrics"],"type":"object"}},"opentelekomcloud:index/getCesMultipleMetricDataV1:getCesMultipleMetricDataV1":{"description":"Up-to-date reference of API arguments for CES multiple metric data v1 you can get at\n[documentation portal](https://docs.otc.t-systems.com/cloud-eye/api-ref/api_description/monitoring_data/index.html)\n\nGet details about CES metric data in a batch within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst metricData1 = opentelekomcloud.getCesMultipleMetricDataV1({\n    metrics: [{\n        namespace: \"TEST.TF_ACC\",\n        metricName: \"cpu_util\",\n        dimensions: [{\n            name: \"instance_id\",\n            value: \"72d1377e-09e4-47bd-8ea4-71a815d4815d\",\n        }],\n    }],\n    from: 1257892000000,\n    to: 1257895000000,\n    period: \"1\",\n    filter: \"average\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nmetric_data1 = opentelekomcloud.get_ces_multiple_metric_data_v1(metrics=[{\n        \"namespace\": \"TEST.TF_ACC\",\n        \"metric_name\": \"cpu_util\",\n        \"dimensions\": [{\n            \"name\": \"instance_id\",\n            \"value\": \"72d1377e-09e4-47bd-8ea4-71a815d4815d\",\n        }],\n    }],\n    from_=1257892000000,\n    to=1257895000000,\n    period=\"1\",\n    filter=\"average\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var metricData1 = Opentelekomcloud.GetCesMultipleMetricDataV1.Invoke(new()\n    {\n        Metrics = new[]\n        {\n            new Opentelekomcloud.Inputs.GetCesMultipleMetricDataV1MetricInputArgs\n            {\n                Namespace = \"TEST.TF_ACC\",\n                MetricName = \"cpu_util\",\n                Dimensions = new[]\n                {\n                    new Opentelekomcloud.Inputs.GetCesMultipleMetricDataV1MetricDimensionInputArgs\n                    {\n                        Name = \"instance_id\",\n                        Value = \"72d1377e-09e4-47bd-8ea4-71a815d4815d\",\n                    },\n                },\n            },\n        },\n        From = 1257892000000,\n        To = 1257895000000,\n        Period = \"1\",\n        Filter = \"average\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.GetCesMultipleMetricDataV1(ctx, \u0026opentelekomcloud.GetCesMultipleMetricDataV1Args{\n\t\t\tMetrics: []opentelekomcloud.GetCesMultipleMetricDataV1Metric{\n\t\t\t\t{\n\t\t\t\t\tNamespace:  \"TEST.TF_ACC\",\n\t\t\t\t\tMetricName: \"cpu_util\",\n\t\t\t\t\tDimensions: []opentelekomcloud.GetCesMultipleMetricDataV1MetricDimension{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tName:  \"instance_id\",\n\t\t\t\t\t\t\tValue: \"72d1377e-09e4-47bd-8ea4-71a815d4815d\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tFrom:   1257892000000,\n\t\t\tTo:     1257895000000,\n\t\t\tPeriod: \"1\",\n\t\t\tFilter: \"average\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetCesMultipleMetricDataV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var metricData1 = OpentelekomcloudFunctions.getCesMultipleMetricDataV1(GetCesMultipleMetricDataV1Args.builder()\n            .metrics(GetCesMultipleMetricDataV1MetricArgs.builder()\n                .namespace(\"TEST.TF_ACC\")\n                .metricName(\"cpu_util\")\n                .dimensions(GetCesMultipleMetricDataV1MetricDimensionArgs.builder()\n                    .name(\"instance_id\")\n                    .value(\"72d1377e-09e4-47bd-8ea4-71a815d4815d\")\n                    .build())\n                .build())\n            .from(1257892000000)\n            .to(1257895000000)\n            .period(\"1\")\n            .filter(\"average\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  metricData1:\n    fn::invoke:\n      function: opentelekomcloud:getCesMultipleMetricDataV1\n      arguments:\n        metrics:\n          - namespace: TEST.TF_ACC\n            metricName: cpu_util\n            dimensions:\n              - name: instance_id\n                value: 72d1377e-09e4-47bd-8ea4-71a815d4815d\n        from: 1.257892e+12\n        to: 1.257895e+12\n        period: '1'\n        filter: average\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getCesMultipleMetricDataV1.\n","properties":{"filter":{"type":"string","description":"Specifies the data rollup method. Possible values are:\n"},"from":{"type":"number","description":"Specifies the start time of the query. The time is a UNIX timestamp and the unit is ms. Rollup aggregates the raw data generated within a period to the start time of the period. If \u003cspan pulumi-lang-nodejs=\"`from`\" pulumi-lang-dotnet=\"`From`\" pulumi-lang-go=\"`from`\" pulumi-lang-python=\"`from`\" pulumi-lang-yaml=\"`from`\" pulumi-lang-java=\"`from`\"\u003e`from`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`to`\" pulumi-lang-dotnet=\"`To`\" pulumi-lang-go=\"`to`\" pulumi-lang-python=\"`to`\" pulumi-lang-yaml=\"`to`\" pulumi-lang-java=\"`to`\"\u003e`to`\u003c/span\u003e are within a period, the query result will be empty due to the rollup failure. Set \u003cspan pulumi-lang-nodejs=\"`from`\" pulumi-lang-dotnet=\"`From`\" pulumi-lang-go=\"`from`\" pulumi-lang-python=\"`from`\" pulumi-lang-yaml=\"`from`\" pulumi-lang-java=\"`from`\"\u003e`from`\u003c/span\u003e to at least one period earlier than the current time. Take the 5-minute period as an example. If it is 10:35 now, the raw data generated between 10:30 and 10:35 will be aggregated to 10:30. In this example, if period is 5 minutes, from should be 10:30.\n"},"id":{"type":"string"},"metrics":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FgetCesMultipleMetricDataV1Metric:getCesMultipleMetricDataV1Metric"},"description":"Specifies the metric data. The maximum length of the array is 10. The structure is documented below.\n"},"period":{"type":"string","description":"Specifies how often Cloud Eye aggregates data. Possible values are:\n"},"to":{"type":"number","description":"Specifies the end time of the query. The time is a UNIX timestamp and the unit is ms. \u003cspan pulumi-lang-nodejs=\"`from`\" pulumi-lang-dotnet=\"`From`\" pulumi-lang-go=\"`from`\" pulumi-lang-python=\"`from`\" pulumi-lang-yaml=\"`from`\" pulumi-lang-java=\"`from`\"\u003e`from`\u003c/span\u003e must be earlier than \u003cspan pulumi-lang-nodejs=\"`to`\" pulumi-lang-dotnet=\"`To`\" pulumi-lang-go=\"`to`\" pulumi-lang-python=\"`to`\" pulumi-lang-yaml=\"`to`\" pulumi-lang-java=\"`to`\"\u003e`to`\u003c/span\u003e.\n"}},"type":"object","required":["filter","from","metrics","period","to"]},"outputs":{"description":"A collection of values returned by getCesMultipleMetricDataV1.\n","properties":{"filter":{"type":"string"},"from":{"type":"number"},"id":{"type":"string"},"metrics":{"description":"Specifies the metric data. The structure is documented below.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetCesMultipleMetricDataV1Metric:getCesMultipleMetricDataV1Metric"},"type":"array"},"period":{"type":"string"},"to":{"type":"number"}},"required":["filter","from","id","metrics","period","to"],"type":"object"}},"opentelekomcloud:index/getCesQuotasV1:getCesQuotasV1":{"description":"Up-to-date reference of API arguments for CES quotas v1 you can get at\n[documentation portal](https://docs.otc.t-systems.com/cloud-eye/api-ref/api_description/quotas/index.html)\n\nGet details about CES quotas within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst quotas1 = opentelekomcloud.getCesQuotasV1({});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nquotas1 = opentelekomcloud.get_ces_quotas_v1()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var quotas1 = Opentelekomcloud.GetCesQuotasV1.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.GetCesQuotasV1(ctx, \u0026opentelekomcloud.GetCesQuotasV1Args{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetCesQuotasV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var quotas1 = OpentelekomcloudFunctions.getCesQuotasV1(GetCesQuotasV1Args.builder()\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  quotas1:\n    fn::invoke:\n      function: opentelekomcloud:getCesQuotasV1\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getCesQuotasV1.\n","properties":{"id":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getCesQuotasV1.\n","properties":{"id":{"type":"string"},"quotas":{"description":"Specifies the quota list. The structure is described below.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetCesQuotasV1Quota:getCesQuotasV1Quota"},"type":"array"}},"required":["id","quotas"],"type":"object"}},"opentelekomcloud:index/getCfwFirewallV1:getCfwFirewallV1":{"description":"Up-to-date reference of API arguments for CFW firewall instance you can get at\n[documentation portal](https://docs.otc.t-systems.com/cloud-firewall/api-ref/api/firewall_management/index.html)\n\nGet details about a CFW Firewall Instance resource within OpenTelekomCloud.\n\n## Example Usage\n\n### Creating A Basic CFW Firewall Instance\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nconfiguration:\n  firewallId:\n    type: dynamic\nresources:\n  firewall1:\n    type: opentelekomcloud:CfwFirewallV1\n    name: firewall_1\n    properties:\n      id: ${firewallId}\n      serviceType: '0'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getCfwFirewallV1.\n","properties":{"id":{"type":"string","description":"Specifies the Firewall instance ID.\n"},"serviceType":{"type":"string","description":"Specifies the Firewall protection type. Currently, its value can only be \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (Internet protection).\n"}},"type":"object","required":["id"]},"outputs":{"description":"A collection of values returned by getCfwFirewallV1.\n","properties":{"chargeMode":{"description":"Indicates the billing mode: 0 (yearly/monthly), 1 (pay-per-use).\n","type":"number"},"engineType":{"description":"Indicates the engine type. Its value can only be 1 (Hillstone engine).\n","type":"number"},"enterpriseProjectId":{"description":"Indicates the Enterprise project ID, which is the ID of a project planned based on organizations.\n","type":"string"},"featureToggle":{"additionalProperties":{"type":"boolean"},"description":"Provides a map of features indicating whether a feature is enabled: true (yes), false (no).\n","type":"object"},"flavors":{"description":"Indicates the Firewall specifications. The flavor structure is documented below.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetCfwFirewallV1Flavor:getCfwFirewallV1Flavor"},"type":"array"},"haType":{"description":"Indicates the Cluster type: 0 (active/standby), 1 (cluster). In active/standby mode, there are four nodes. Two active nodes form a cluster, and the other two are the standby of the active nodes. In cluster mode, only two nodes are started to form a cluster..\n","type":"number"},"id":{"type":"string"},"isAvailableObs":{"description":"Indicates whether OBS is supported: true (yes), false (no).\n","type":"boolean"},"isOldFirewallInstance":{"description":"Indicates whether an engine is old: true (yes), false (no)..\n","type":"boolean"},"isSupportThreatTags":{"description":"Indicates whether threat intelligence tags are supported: true (yes), false (no).\n","type":"boolean"},"name":{"description":"Specifies the CFW firewall instance name. The CFW firewall instance name of the same\ntype is unique in the same tenant.\n","type":"string"},"protectObjects":{"description":"Indicates the protected object list. The\u003cspan pulumi-lang-nodejs=\" protectObjects \" pulumi-lang-dotnet=\" ProtectObjects \" pulumi-lang-go=\" protectObjects \" pulumi-lang-python=\" protect_objects \" pulumi-lang-yaml=\" protectObjects \" pulumi-lang-java=\" protectObjects \"\u003e protect_objects \u003c/span\u003estructure is documented below.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetCfwFirewallV1ProtectObject:getCfwFirewallV1ProtectObject"},"type":"array"},"resourceId":{"description":"Indicates the resource ID. It can be the firewall ID, bandwidth ID, EIP ID, VPC ID, or the ID returned after CBC callback.\n","type":"string"},"resources":{"description":"Indicates the firewall resource list. The resources structure is documented below.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetCfwFirewallV1Resource:getCfwFirewallV1Resource"},"type":"array"},"serviceType":{"type":"string"},"status":{"description":"Indicates the firewall status: -1 (waiting for payment), 0 (creating), 1 (deleting), 2 (running), 3 (upgrading), 4 (deleted), 5 (frozen), 6 (creation failed), 7 (deletion failed), 8 (freezing failed), or 9 (being stored), 10 (storage failed), or 11 (upgrade failed).\n","type":"number"},"supportIpv6":{"description":"Indicates whether IPv6 is supported: true (yes), false (no).\n","type":"boolean"},"supportUrlFiltering":{"description":"Indicates whether website filtering is supported: true (yes), false (no).\n","type":"boolean"}},"required":["chargeMode","engineType","enterpriseProjectId","featureToggle","flavors","haType","id","isAvailableObs","isOldFirewallInstance","isSupportThreatTags","name","protectObjects","resourceId","resources","status","supportIpv6","supportUrlFiltering"],"type":"object"}},"opentelekomcloud:index/getComputeAvailabilityZonesV2:getComputeAvailabilityZonesV2":{"description":"Up-to-date reference of API arguments for Compute AZs you can get at\n[documentation portal](https://docs.otc.t-systems.com/elastic-cloud-server/api-ref/native_openstack_nova_apis/az/querying_azs.html#en-us-topic-0065817728)\n\nUse this data source to get a list of availability zones from OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst zones = opentelekomcloud.getComputeAvailabilityZonesV2({});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nzones = opentelekomcloud.get_compute_availability_zones_v2()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var zones = Opentelekomcloud.GetComputeAvailabilityZonesV2.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.GetComputeAvailabilityZonesV2(ctx, \u0026opentelekomcloud.GetComputeAvailabilityZonesV2Args{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetComputeAvailabilityZonesV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var zones = OpentelekomcloudFunctions.getComputeAvailabilityZonesV2(GetComputeAvailabilityZonesV2Args.builder()\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  zones:\n    fn::invoke:\n      function: opentelekomcloud:getComputeAvailabilityZonesV2\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getComputeAvailabilityZonesV2.\n","properties":{"id":{"type":"string"},"region":{"type":"string","description":"The \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e to fetch availability zones from, defaults to the provider's \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e.\n"},"state":{"type":"string","description":"The \u003cspan pulumi-lang-nodejs=\"`state`\" pulumi-lang-dotnet=\"`State`\" pulumi-lang-go=\"`state`\" pulumi-lang-python=\"`state`\" pulumi-lang-yaml=\"`state`\" pulumi-lang-java=\"`state`\"\u003e`state`\u003c/span\u003e of the availability zones to match, default (\"available\").\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getComputeAvailabilityZonesV2.\n","properties":{"id":{"type":"string"},"names":{"description":"The names of the availability zones, ordered alphanumerically, that match the queried \u003cspan pulumi-lang-nodejs=\"`state`\" pulumi-lang-dotnet=\"`State`\" pulumi-lang-go=\"`state`\" pulumi-lang-python=\"`state`\" pulumi-lang-yaml=\"`state`\" pulumi-lang-java=\"`state`\"\u003e`state`\u003c/span\u003e.\n","items":{"type":"string"},"type":"array"},"region":{"type":"string"},"state":{"type":"string"}},"required":["id","names","region"],"type":"object"}},"opentelekomcloud:index/getComputeBmsFlavorsV2:getComputeBmsFlavorsV2":{"description":"Up-to-date reference of API arguments for BMSs flavors you can get at\n[documentation portal](https://docs.otc.t-systems.com/bare-metal-server/api-ref/native_openstack_nova_v2.1_apis/bms_flavor_query/querying_bms_flavors_native_openstack_api.html#en-us-topic-0053158684)\n\nUse this data source to get details about flavors of BMSs from OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst flavorId = config.requireObject\u003cany\u003e(\"flavorId\");\nconst diskSize = config.requireObject\u003cany\u003e(\"diskSize\");\nconst queryBmsFlavors = opentelekomcloud.getComputeBmsFlavorsV2({\n    id: bmsId,\n    minDisk: diskSize,\n    sortKey: \"id\",\n    sortDir: \"desc\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nflavor_id = config.require_object(\"flavorId\")\ndisk_size = config.require_object(\"diskSize\")\nquery_bms_flavors = opentelekomcloud.get_compute_bms_flavors_v2(id=bms_id,\n    min_disk=disk_size,\n    sort_key=\"id\",\n    sort_dir=\"desc\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var flavorId = config.RequireObject\u003cdynamic\u003e(\"flavorId\");\n    var diskSize = config.RequireObject\u003cdynamic\u003e(\"diskSize\");\n    var queryBmsFlavors = Opentelekomcloud.GetComputeBmsFlavorsV2.Invoke(new()\n    {\n        Id = bmsId,\n        MinDisk = diskSize,\n        SortKey = \"id\",\n        SortDir = \"desc\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tflavorId := cfg.RequireObject(\"flavorId\")\n\t\tdiskSize := cfg.RequireObject(\"diskSize\")\n\t\t_, err := opentelekomcloud.GetComputeBmsFlavorsV2(ctx, \u0026opentelekomcloud.GetComputeBmsFlavorsV2Args{\n\t\t\tId:      pulumi.StringRef(bmsId),\n\t\t\tMinDisk: pulumi.Float64Ref(diskSize),\n\t\t\tSortKey: pulumi.StringRef(\"id\"),\n\t\t\tSortDir: pulumi.StringRef(\"desc\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetComputeBmsFlavorsV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var flavorId = config.get(\"flavorId\");\n        final var diskSize = config.get(\"diskSize\");\n        final var queryBmsFlavors = OpentelekomcloudFunctions.getComputeBmsFlavorsV2(GetComputeBmsFlavorsV2Args.builder()\n            .id(bmsId)\n            .minDisk(diskSize)\n            .sortKey(\"id\")\n            .sortDir(\"desc\")\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  flavorId:\n    type: dynamic\n  diskSize:\n    type: dynamic\nvariables:\n  queryBmsFlavors:\n    fn::invoke:\n      function: opentelekomcloud:getComputeBmsFlavorsV2\n      arguments:\n        id: ${bmsId}\n        minDisk: ${diskSize}\n        sortKey: id\n        sortDir: desc\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getComputeBmsFlavorsV2.\n","properties":{"id":{"type":"string","description":"The BMS flavor id.\n"},"minDisk":{"type":"number","description":"The minimum disk size in GB. Only the BMSs with a disk size greater than or equal to the minimum size can be queried.\n"},"minRam":{"type":"number","description":"The minimum memory size in MB. Only the BMSs with the memory size greater than or equal to the minimum size can be queried.\n"},"name":{"type":"string","description":"The name of the BMS flavor.\n"},"region":{"type":"string"},"sortDir":{"type":"string","description":"The sorting order, which can be **ascending** (**asc**) or **descending** (**desc**). The default value is **asc**.\n"},"sortKey":{"type":"string","description":"The sorting field. The default value is **flavorid**. The other values are **name**, **memory_mb**, **vcpus**, **root_gb**, or **flavorid**.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getComputeBmsFlavorsV2.\n","properties":{"disk":{"description":"Specifies the disk size (GB) in the BMS flavor.\n","type":"number"},"id":{"type":"string"},"minDisk":{"type":"number"},"minRam":{"type":"number"},"name":{"type":"string"},"ram":{"description":"It is the memory size (in MB) of the flavor.\n","type":"number"},"region":{"type":"string"},"rxTxFactor":{"description":"This is a reserved attribute.\n","type":"number"},"sortDir":{"type":"string"},"sortKey":{"type":"string"},"swap":{"description":"This is a reserved attribute.\n","type":"number"},"vcpus":{"description":"It is the number of CPU cores in the BMS flavor.\n","type":"number"}},"required":["disk","ram","region","rxTxFactor","swap","vcpus"],"type":"object"}},"opentelekomcloud:index/getComputeBmsKeypairsV2:getComputeBmsKeypairsV2":{"description":"Up-to-date reference of API arguments for BMSs SSH key pairs you can get at\n[documentation portal](https://docs.otc.t-systems.com/bare-metal-server/api-ref/native_openstack_nova_v2.1_apis/bms_ssh_key_pair_management/querying_ssh_key_pairs_native_openstack_api.html#en-us-topic-0060384658)\n\nUse this data source to get details about SSH key pairs of BMSs from OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst keypairName = config.requireObject\u003cany\u003e(\"keypairName\");\nconst queryBmsKeypair = opentelekomcloud.getComputeBmsKeypairsV2({\n    name: keypairName,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nkeypair_name = config.require_object(\"keypairName\")\nquery_bms_keypair = opentelekomcloud.get_compute_bms_keypairs_v2(name=keypair_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var keypairName = config.RequireObject\u003cdynamic\u003e(\"keypairName\");\n    var queryBmsKeypair = Opentelekomcloud.GetComputeBmsKeypairsV2.Invoke(new()\n    {\n        Name = keypairName,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tkeypairName := cfg.RequireObject(\"keypairName\")\n\t\t_, err := opentelekomcloud.GetComputeBmsKeypairsV2(ctx, \u0026opentelekomcloud.GetComputeBmsKeypairsV2Args{\n\t\t\tName: keypairName,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetComputeBmsKeypairsV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var keypairName = config.get(\"keypairName\");\n        final var queryBmsKeypair = OpentelekomcloudFunctions.getComputeBmsKeypairsV2(GetComputeBmsKeypairsV2Args.builder()\n            .name(keypairName)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  keypairName:\n    type: dynamic\nvariables:\n  queryBmsKeypair:\n    fn::invoke:\n      function: opentelekomcloud:getComputeBmsKeypairsV2\n      arguments:\n        name: ${keypairName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getComputeBmsKeypairsV2.\n","properties":{"id":{"type":"string"},"name":{"type":"string","description":"It is the key pair name.\n"},"region":{"type":"string"}},"type":"object","required":["name"]},"outputs":{"description":"A collection of values returned by getComputeBmsKeypairsV2.\n","properties":{"fingerprint":{"description":"It is the fingerprint information about the key pair.\n","type":"string"},"id":{"type":"string"},"name":{"type":"string"},"publicKey":{"description":"It gives the information about the public key in the key pair.\n","type":"string"},"region":{"type":"string"}},"required":["fingerprint","id","name","publicKey","region"],"type":"object"}},"opentelekomcloud:index/getComputeBmsNicV2:getComputeBmsNicV2":{"description":"Up-to-date reference of API arguments for BMS NIC you can get at\n[documentation portal](https://docs.otc.t-systems.com/bare-metal-server/api-ref/native_openstack_nova_v2.1_apis/bms_nic_management/querying_information_about_bms_nics_native_openstack_api.html#en-us-topic-0053158678)\n\nUse this data source to get details about a BMS NIC based on the NIC ID from OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst bmsId = config.requireObject\u003cany\u003e(\"bmsId\");\nconst nicId = config.requireObject\u003cany\u003e(\"nicId\");\nconst queryBmsNic = opentelekomcloud.getComputeBmsNicV2({\n    serverId: bmsId,\n    id: nicId,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nbms_id = config.require_object(\"bmsId\")\nnic_id = config.require_object(\"nicId\")\nquery_bms_nic = opentelekomcloud.get_compute_bms_nic_v2(server_id=bms_id,\n    id=nic_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var bmsId = config.RequireObject\u003cdynamic\u003e(\"bmsId\");\n    var nicId = config.RequireObject\u003cdynamic\u003e(\"nicId\");\n    var queryBmsNic = Opentelekomcloud.GetComputeBmsNicV2.Invoke(new()\n    {\n        ServerId = bmsId,\n        Id = nicId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tbmsId := cfg.RequireObject(\"bmsId\")\n\t\tnicId := cfg.RequireObject(\"nicId\")\n\t\t_, err := opentelekomcloud.GetComputeBmsNicV2(ctx, \u0026opentelekomcloud.GetComputeBmsNicV2Args{\n\t\t\tServerId: bmsId,\n\t\t\tId:       pulumi.StringRef(nicId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetComputeBmsNicV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var bmsId = config.get(\"bmsId\");\n        final var nicId = config.get(\"nicId\");\n        final var queryBmsNic = OpentelekomcloudFunctions.getComputeBmsNicV2(GetComputeBmsNicV2Args.builder()\n            .serverId(bmsId)\n            .id(nicId)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  bmsId:\n    type: dynamic\n  nicId:\n    type: dynamic\nvariables:\n  queryBmsNic:\n    fn::invoke:\n      function: opentelekomcloud:getComputeBmsNicV2\n      arguments:\n        serverId: ${bmsId}\n        id: ${nicId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getComputeBmsNicV2.\n","properties":{"id":{"type":"string","description":"The ID of the NIC.\n"},"region":{"type":"string"},"serverId":{"type":"string","description":"This is the unique BMS id.\n"},"status":{"type":"string","description":"The NIC port status.\n"}},"type":"object","required":["serverId"]},"outputs":{"description":"A collection of values returned by getComputeBmsNicV2.\n","properties":{"fixedIps":{"description":"The NIC IP address.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetComputeBmsNicV2FixedIp:getComputeBmsNicV2FixedIp"},"type":"array"},"id":{"type":"string"},"macAddress":{"description":"It is NIC's mac address.\n","type":"string"},"networkId":{"description":"The ID of the network to which the NIC port belongs.\n","type":"string"},"region":{"type":"string"},"serverId":{"type":"string"},"status":{"type":"string"}},"required":["fixedIps","macAddress","networkId","region","serverId"],"type":"object"}},"opentelekomcloud:index/getComputeBmsServerV2:getComputeBmsServerV2":{"description":"Up-to-date reference of API arguments for BMS you can get at\n[documentation portal](https://docs.otc.t-systems.com/bare-metal-server/api-ref/native_openstack_nova_v2.1_apis/bms_lifecycle_management/querying_details_about_bmss_native_openstack_api.html#en-us-topic-0053158679)\n\nUse this data source to get details about a BMS or BMSs from OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst bmsId = config.requireObject\u003cany\u003e(\"bmsId\");\nconst bmsName = config.requireObject\u003cany\u003e(\"bmsName\");\nconst queryBms = opentelekomcloud.getComputeBmsServerV2({\n    id: bmsId,\n    name: bmsName,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nbms_id = config.require_object(\"bmsId\")\nbms_name = config.require_object(\"bmsName\")\nquery_bms = opentelekomcloud.get_compute_bms_server_v2(id=bms_id,\n    name=bms_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var bmsId = config.RequireObject\u003cdynamic\u003e(\"bmsId\");\n    var bmsName = config.RequireObject\u003cdynamic\u003e(\"bmsName\");\n    var queryBms = Opentelekomcloud.GetComputeBmsServerV2.Invoke(new()\n    {\n        Id = bmsId,\n        Name = bmsName,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tbmsId := cfg.RequireObject(\"bmsId\")\n\t\tbmsName := cfg.RequireObject(\"bmsName\")\n\t\t_, err := opentelekomcloud.LookupComputeBmsServerV2(ctx, \u0026opentelekomcloud.LookupComputeBmsServerV2Args{\n\t\t\tId:   pulumi.StringRef(bmsId),\n\t\t\tName: pulumi.StringRef(bmsName),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetComputeBmsServerV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var bmsId = config.get(\"bmsId\");\n        final var bmsName = config.get(\"bmsName\");\n        final var queryBms = OpentelekomcloudFunctions.getComputeBmsServerV2(GetComputeBmsServerV2Args.builder()\n            .id(bmsId)\n            .name(bmsName)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  bmsId:\n    type: dynamic\n  bmsName:\n    type: dynamic\nvariables:\n  queryBms:\n    fn::invoke:\n      function: opentelekomcloud:getComputeBmsServerV2\n      arguments:\n        id: ${bmsId}\n        name: ${bmsName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getComputeBmsServerV2.\n","properties":{"flavorId":{"type":"string","description":"It gives the BMS flavor information.\n"},"hostStatus":{"type":"string","description":"The nova-compute status: `UP`, `UNKNOWN`, `DOWN`, `MAINTENANCE` and `Null`.\n"},"id":{"type":"string","description":"The unique ID of the BMS.\n"},"imageId":{"type":"string","description":"The BMS image.\n"},"keyName":{"type":"string","description":"It is the SSH key name.\n"},"name":{"type":"string","description":"The name of BMS.\n"},"region":{"type":"string"},"status":{"type":"string","description":"The BMS status.\n"},"userId":{"type":"string","description":"The ID of the user to which the BMS belongs.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getComputeBmsServerV2.\n","properties":{"accessIpV4":{"description":"This is a reserved attribute.\n","type":"string"},"accessIpV6":{"description":"This is a reserved attribute.\n","type":"string"},"availabilityZone":{"description":"Specifies the AZ ID.\n","type":"string"},"configDrive":{"description":"This is a reserved attribute.\n","type":"string"},"description":{"description":"Provides supplementary information about the pool.\n","type":"string"},"flavorId":{"type":"string"},"hostId":{"description":"It is the host ID of the BMS.\n","type":"string"},"hostStatus":{"type":"string"},"hypervisorHostname":{"description":"It is the name of a host on the hypervisor.\n","type":"string"},"id":{"type":"string"},"imageId":{"type":"string"},"instanceName":{"description":"Instance name is specified.\n","type":"string"},"kernelId":{"description":"The UUID of the kernel image when the AMI image is used.\n","type":"string"},"keyName":{"type":"string"},"locked":{"description":"It specifies whether a BMS is locked, true: The BMS is locked, false: The BMS is not locked.\n","type":"boolean"},"metadata":{"additionalProperties":{"type":"string"},"description":"The BMS metadata is specified.\n","type":"object"},"name":{"type":"string"},"networks":{"items":{"$ref":"#/types/opentelekomcloud:index%2FgetComputeBmsServerV2Network:getComputeBmsServerV2Network"},"type":"array"},"progress":{"description":"This is a reserved attribute.\n","type":"number"},"region":{"type":"string"},"securityGroups":{"description":"The list of security groups to which the BMS belongs.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetComputeBmsServerV2SecurityGroup:getComputeBmsServerV2SecurityGroup"},"type":"array"},"status":{"type":"string"},"tags":{"description":"Specifies the BMS tag.\n","items":{"type":"string"},"type":"array"},"tenantId":{"type":"string"},"userId":{"type":"string"}},"required":["accessIpV4","accessIpV6","availabilityZone","configDrive","description","hostId","hypervisorHostname","instanceName","kernelId","locked","metadata","networks","progress","region","securityGroups","tags","tenantId"],"type":"object"}},"opentelekomcloud:index/getComputeFlavorV2:getComputeFlavorV2":{"description":"Up-to-date reference of API arguments for ECS flavor you can get at\n[documentation portal](https://docs.otc.t-systems.com/elastic-cloud-server/api-ref/native_openstack_nova_apis/flavor_management/querying_ecs_flavors.html#en-us-topic-0065817705)\n\nUse this data source to get the ID of an available OpenTelekomCloud flavor.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst medium_s2 = opentelekomcloud.getComputeFlavorV2({\n    vcpus: 1,\n    ram: 4096,\n    resourceType: \"IOoptimizedS2\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nmedium_s2 = opentelekomcloud.get_compute_flavor_v2(vcpus=1,\n    ram=4096,\n    resource_type=\"IOoptimizedS2\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var medium_s2 = Opentelekomcloud.GetComputeFlavorV2.Invoke(new()\n    {\n        Vcpus = 1,\n        Ram = 4096,\n        ResourceType = \"IOoptimizedS2\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.GetComputeFlavorV2(ctx, \u0026opentelekomcloud.GetComputeFlavorV2Args{\n\t\t\tVcpus:        pulumi.Float64Ref(1),\n\t\t\tRam:          pulumi.Float64Ref(4096),\n\t\t\tResourceType: pulumi.StringRef(\"IOoptimizedS2\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetComputeFlavorV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var medium-s2 = OpentelekomcloudFunctions.getComputeFlavorV2(GetComputeFlavorV2Args.builder()\n            .vcpus(1)\n            .ram(4096)\n            .resourceType(\"IOoptimizedS2\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  medium-s2:\n    fn::invoke:\n      function: opentelekomcloud:getComputeFlavorV2\n      arguments:\n        vcpus: 1\n        ram: 4096\n        resourceType: IOoptimizedS2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getComputeFlavorV2.\n","properties":{"availabilityZone":{"type":"string","description":"Whether flavor should be in \u003cspan pulumi-lang-nodejs=\"`normal`\" pulumi-lang-dotnet=\"`Normal`\" pulumi-lang-go=\"`normal`\" pulumi-lang-python=\"`normal`\" pulumi-lang-yaml=\"`normal`\" pulumi-lang-java=\"`normal`\"\u003e`normal`\u003c/span\u003e state.\n"},"disk":{"type":"number","description":"The exact amount of disk (in gigabytes).\n"},"flavorId":{"type":"string","description":"The ID of the flavor. Conflicts with the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e,\n\u003cspan pulumi-lang-nodejs=\"`minRam`\" pulumi-lang-dotnet=\"`MinRam`\" pulumi-lang-go=\"`minRam`\" pulumi-lang-python=\"`min_ram`\" pulumi-lang-yaml=\"`minRam`\" pulumi-lang-java=\"`minRam`\"\u003e`min_ram`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`minDisk`\" pulumi-lang-dotnet=\"`MinDisk`\" pulumi-lang-go=\"`minDisk`\" pulumi-lang-python=\"`min_disk`\" pulumi-lang-yaml=\"`minDisk`\" pulumi-lang-java=\"`minDisk`\"\u003e`min_disk`\u003c/span\u003e\n"},"id":{"type":"string"},"minDisk":{"type":"number","description":"The minimum amount of disk (in gigabytes). Conflicts\nwith the \u003cspan pulumi-lang-nodejs=\"`flavorId`\" pulumi-lang-dotnet=\"`FlavorId`\" pulumi-lang-go=\"`flavorId`\" pulumi-lang-python=\"`flavor_id`\" pulumi-lang-yaml=\"`flavorId`\" pulumi-lang-java=\"`flavorId`\"\u003e`flavor_id`\u003c/span\u003e.\n"},"minRam":{"type":"number","description":"The minimum amount of RAM (in megabytes). Conflicts\nwith the \u003cspan pulumi-lang-nodejs=\"`flavorId`\" pulumi-lang-dotnet=\"`FlavorId`\" pulumi-lang-go=\"`flavorId`\" pulumi-lang-python=\"`flavor_id`\" pulumi-lang-yaml=\"`flavorId`\" pulumi-lang-java=\"`flavorId`\"\u003e`flavor_id`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the flavor. Conflicts with the \u003cspan pulumi-lang-nodejs=\"`flavorId`\" pulumi-lang-dotnet=\"`FlavorId`\" pulumi-lang-go=\"`flavorId`\" pulumi-lang-python=\"`flavor_id`\" pulumi-lang-yaml=\"`flavorId`\" pulumi-lang-java=\"`flavorId`\"\u003e`flavor_id`\u003c/span\u003e.\n"},"ram":{"type":"number","description":"The exact amount of RAM (in megabytes).\n"},"region":{"type":"string","description":"The region in which to obtain the V2 Compute client.\nIf omitted, the \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e argument of the provider is used.\n"},"resourceType":{"type":"string","description":"Flavor resource type.\n"},"rxTxFactor":{"type":"number","description":"The \u003cspan pulumi-lang-nodejs=\"`rxTxFactor`\" pulumi-lang-dotnet=\"`RxTxFactor`\" pulumi-lang-go=\"`rxTxFactor`\" pulumi-lang-python=\"`rx_tx_factor`\" pulumi-lang-yaml=\"`rxTxFactor`\" pulumi-lang-java=\"`rxTxFactor`\"\u003e`rx_tx_factor`\u003c/span\u003e of the flavor.\n"},"swap":{"type":"number","description":"The amount of swap (in gigabytes).\n"},"vcpus":{"type":"number","description":"The amount of VCPUs.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getComputeFlavorV2.\n","properties":{"availabilityZone":{"type":"string"},"disk":{"type":"number"},"extraSpecs":{"additionalProperties":{"type":"string"},"description":"Key/Value pairs of metadata for the flavor.\n","type":"object"},"flavorId":{"type":"string"},"id":{"type":"string"},"minDisk":{"type":"number"},"minRam":{"type":"number"},"name":{"type":"string"},"ram":{"type":"number"},"region":{"type":"string"},"resourceType":{"type":"string"},"rxTxFactor":{"type":"number"},"swap":{"type":"number"},"vcpus":{"type":"number"}},"required":["extraSpecs","id","region"],"type":"object"}},"opentelekomcloud:index/getComputeInstanceV2:getComputeInstanceV2":{"description":"Up-to-date reference of API arguments for ECS instance you can get at\n[documentation portal](https://docs.otc.t-systems.com/elastic-cloud-server/api-ref/native_openstack_nova_apis/lifecycle_management/querying_ecss.html#en-us-topic-0020212688)\n\nGet information on an ECS instance.\n\n","inputs":{"description":"A collection of arguments for invoking getComputeInstanceV2.\n","properties":{"id":{"type":"string","description":"The UUID of the instance\n"},"name":{"type":"string","description":"The name of the network\n"},"networks":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FgetComputeInstanceV2Network:getComputeInstanceV2Network"},"description":"An array of maps, detailed below.\n"},"region":{"type":"string"},"sshPrivateKeyPath":{"type":"string","description":"The path to the private key to use for SSH access. Required only if you want to\nget the password from the windows instance.\n","secret":true},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A set of string tags assigned to this server.\n"},"userData":{"type":"string","description":"The user data added when the server was created.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getComputeInstanceV2.\n","properties":{"accessIpV4":{"description":"The first IPv4 address assigned to this server.\n","type":"string"},"accessIpV6":{"description":"The first IPv6 address assigned to this server.\n","type":"string"},"adminPass":{"secret":true,"type":"string"},"availabilityZone":{"description":"The availability zone of this server.\n","type":"string"},"description":{"description":"Server description.\n","type":"string"},"encryptedPassword":{"description":"The encrypted password of the server. This is only available if the server is a Windows server.\nIf privateKey == nil the encrypted password is returned and can be decrypted with:\necho '\u003cpwd\u003e' | base64 -D | openssl rsautl -decrypt -inkey \u003cprivate_key\u003e\n","secret":true,"type":"string"},"flavorId":{"description":"The flavor ID used to create the server.\n","type":"string"},"flavorName":{"description":"The flavor name used to create the server.\n","type":"string"},"id":{"type":"string"},"imageId":{"description":"The image ID used to create the server.\n","type":"string"},"imageName":{"description":"The image name used to create the server.\n","type":"string"},"keyPair":{"description":"The name of the key pair assigned to this server.\n","type":"string"},"metadata":{"additionalProperties":{"type":"string"},"description":"A set of key/value pairs made available to the server.\n","type":"object"},"name":{"description":"The name of the network\n","type":"string"},"networks":{"description":"An array of maps, detailed below.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetComputeInstanceV2Network:getComputeInstanceV2Network"},"type":"array"},"password":{"description":"The password of the server. This is only available if the server is a Windows server.\nIf privateKey != nil the password is decrypted with the private key.\n","secret":true,"type":"string"},"powerState":{"type":"string"},"region":{"type":"string"},"securityGroups":{"description":"An array of security group names associated with this server.\n","items":{"type":"string"},"type":"array"},"sshPrivateKeyPath":{"secret":true,"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A set of string tags assigned to this server.\n","type":"object"},"userData":{"description":"The user data added when the server was created.\n","type":"string"}},"required":["accessIpV4","accessIpV6","adminPass","availabilityZone","description","encryptedPassword","flavorId","flavorName","id","imageId","imageName","keyPair","metadata","name","password","powerState","region","securityGroups","userData"],"type":"object"}},"opentelekomcloud:index/getComputeInstancesV2:getComputeInstancesV2":{"description":"Up-to-date reference of API arguments for ECS instances you can get at\n[documentation portal](https://docs.otc.t-systems.com/elastic-cloud-server/api-ref/native_openstack_nova_apis/lifecycle_management/querying_ecss.html#en-us-topic-0020212688)\n\nGet information on an ECS instances.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst nameRegex = config.requireObject\u003cany\u003e(\"nameRegex\");\nconst test = opentelekomcloud.getComputeInstancesV2({\n    name: nameRegex,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nname_regex = config.require_object(\"nameRegex\")\ntest = opentelekomcloud.get_compute_instances_v2(name=name_regex)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var nameRegex = config.RequireObject\u003cdynamic\u003e(\"nameRegex\");\n    var test = Opentelekomcloud.GetComputeInstancesV2.Invoke(new()\n    {\n        Name = nameRegex,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tnameRegex := cfg.RequireObject(\"nameRegex\")\n\t\t_, err := opentelekomcloud.GetComputeInstancesV2(ctx, \u0026opentelekomcloud.GetComputeInstancesV2Args{\n\t\t\tName: pulumi.StringRef(nameRegex),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetComputeInstancesV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var nameRegex = config.get(\"nameRegex\");\n        final var test = OpentelekomcloudFunctions.getComputeInstancesV2(GetComputeInstancesV2Args.builder()\n            .name(nameRegex)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  nameRegex:\n    type: dynamic\nvariables:\n  test:\n    fn::invoke:\n      function: opentelekomcloud:getComputeInstancesV2\n      arguments:\n        name: ${nameRegex}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst test = opentelekomcloud.getComputeInstancesV2({\n    status: \"ACTIVE\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ntest = opentelekomcloud.get_compute_instances_v2(status=\"ACTIVE\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = Opentelekomcloud.GetComputeInstancesV2.Invoke(new()\n    {\n        Status = \"ACTIVE\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.GetComputeInstancesV2(ctx, \u0026opentelekomcloud.GetComputeInstancesV2Args{\n\t\t\tStatus: pulumi.StringRef(\"ACTIVE\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetComputeInstancesV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var test = OpentelekomcloudFunctions.getComputeInstancesV2(GetComputeInstancesV2Args.builder()\n            .status(\"ACTIVE\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  test:\n    fn::invoke:\n      function: opentelekomcloud:getComputeInstancesV2\n      arguments:\n        status: ACTIVE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getComputeInstancesV2.\n","properties":{"availabilityZone":{"type":"string","description":"The availability zone of this server.\n"},"flavorId":{"type":"string","description":"Specifies the flavor ID.\n"},"flavorName":{"type":"string","description":"Specifies the flavor name of the instance.\n"},"id":{"type":"string","description":"The instance ID in UUID format.\n"},"imageId":{"type":"string","description":"Specifies the image ID of the instance.\n"},"instanceId":{"type":"string","description":"Specifies the ECS ID.\n"},"keyPair":{"type":"string","description":"Specifies the key pair that is used to authenticate the instance.\n"},"limit":{"type":"number","description":"Specifies the number of instances to be queried. The value is an integer and is 100 by default.\n"},"name":{"type":"string","description":"Specifies the instance name, which can be queried with a regular expression.\nThe instance name supports fuzzy matching query too.\n"},"projectId":{"type":"string","description":"Specifies the project where instance hosted.\n"},"status":{"type":"string","description":"Specifies the status of the instance. The valid values are as follows:\n+ **ACTIVE**: The instance is running properly.\n+ **SHUTOFF**: The instance has been properly stopped.\n+ **ERROR**: An error has occurred on the instance.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getComputeInstancesV2.\n","properties":{"availabilityZone":{"description":"The availability zone of this server.\n","type":"string"},"flavorId":{"description":"The flavor ID used to create the server.\n","type":"string"},"flavorName":{"type":"string"},"id":{"description":"The instance ID in UUID format.\n","type":"string"},"imageId":{"description":"The image ID used to create the server.\n","type":"string"},"instanceId":{"type":"string"},"instances":{"description":"List of ECS instance details. The object structure of each ECS instance is documented below.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetComputeInstancesV2Instance:getComputeInstancesV2Instance"},"type":"array"},"keyPair":{"description":"The key pair that is used to authenticate the instance.\n","type":"string"},"limit":{"type":"number"},"name":{"description":"The name of the network\n","type":"string"},"projectId":{"description":"The instance project ID.\n","type":"string"},"status":{"description":"The instance status.\n","type":"string"}},"required":["id","instances"],"type":"object"}},"opentelekomcloud:index/getComputeKeypairV2:getComputeKeypairV2":{"description":"Up-to-date reference of API arguments for ECS keypair you can get at\n[documentation portal](https://docs.otc.t-systems.com/elastic-cloud-server/api-ref/native_openstack_nova_apis/key_and_password_management/querying_ssh_key_pairs.html#en-us-topic-0020212676)\n\nUse this data source to get details about Compute SSH key pairs from OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst kp1 = new opentelekomcloud.ComputeKeypairV2(\"kp_1\", {\n    name: \"key_1\",\n    publicKey: \"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIALRzbIOR9HUYNwfKtII/et98eGXDJhf8YxHf9BtRdAU\",\n});\nconst key1 = opentelekomcloud.getComputeKeypairV2({\n    name: \"key_1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nkp1 = opentelekomcloud.ComputeKeypairV2(\"kp_1\",\n    name=\"key_1\",\n    public_key=\"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIALRzbIOR9HUYNwfKtII/et98eGXDJhf8YxHf9BtRdAU\")\nkey1 = opentelekomcloud.get_compute_keypair_v2(name=\"key_1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var kp1 = new Opentelekomcloud.ComputeKeypairV2(\"kp_1\", new()\n    {\n        Name = \"key_1\",\n        PublicKey = \"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIALRzbIOR9HUYNwfKtII/et98eGXDJhf8YxHf9BtRdAU\",\n    });\n\n    var key1 = Opentelekomcloud.GetComputeKeypairV2.Invoke(new()\n    {\n        Name = \"key_1\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewComputeKeypairV2(ctx, \"kp_1\", \u0026opentelekomcloud.ComputeKeypairV2Args{\n\t\t\tName:      pulumi.String(\"key_1\"),\n\t\t\tPublicKey: pulumi.String(\"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIALRzbIOR9HUYNwfKtII/et98eGXDJhf8YxHf9BtRdAU\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.LookupComputeKeypairV2(ctx, \u0026opentelekomcloud.LookupComputeKeypairV2Args{\n\t\t\tName: pulumi.StringRef(\"key_1\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.ComputeKeypairV2;\nimport com.pulumi.opentelekomcloud.ComputeKeypairV2Args;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetComputeKeypairV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var kp1 = new ComputeKeypairV2(\"kp1\", ComputeKeypairV2Args.builder()\n            .name(\"key_1\")\n            .publicKey(\"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIALRzbIOR9HUYNwfKtII/et98eGXDJhf8YxHf9BtRdAU\")\n            .build());\n\n        final var key1 = OpentelekomcloudFunctions.getComputeKeypairV2(GetComputeKeypairV2Args.builder()\n            .name(\"key_1\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  kp1:\n    type: opentelekomcloud:ComputeKeypairV2\n    name: kp_1\n    properties:\n      name: key_1\n      publicKey: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIALRzbIOR9HUYNwfKtII/et98eGXDJhf8YxHf9BtRdAU\nvariables:\n  key1:\n    fn::invoke:\n      function: opentelekomcloud:getComputeKeypairV2\n      arguments:\n        name: key_1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getComputeKeypairV2.\n","properties":{"id":{"type":"string"},"name":{"type":"string","description":"The name of the keypair.\n"},"nameRegex":{"type":"string","description":"A regex string to apply to the keypairs list.\nThis allows more advanced filtering not supported from the OpenTelekomCloud API.\nThis filtering is done locally on what OpenTelekomCloud returns.\n"},"region":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getComputeKeypairV2.\n","properties":{"fingerprint":{"description":"It is the fingerprint information about the key pair.\n","type":"string"},"id":{"type":"string"},"name":{"description":"See Argument Reference above.\n","type":"string"},"nameRegex":{"type":"string"},"publicKey":{"description":"It gives the information about the public key in the key pair.\n","type":"string"},"region":{"type":"string"},"userId":{"description":"The user id of the owner of the key pair. Not filled by API now.\n","type":"string"}},"required":["fingerprint","id","publicKey","region","userId"],"type":"object"}},"opentelekomcloud:index/getCsbsBackupPolicyV1:getCsbsBackupPolicyV1":{"description":"Up-to-date reference of API arguments for CSBS backup policy you can get at\n[documentation portal](https://docs.otc.t-systems.com/cloud-server-backup-service/api-ref/api_description/backup_policy_management/querying_the_backup_policy_list.html#en-us-topic-0059304227)\n\nUse this data source to get details about backup Policy resources from OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst policyId = config.requireObject\u003cany\u003e(\"policyId\");\nconst csbsPolicy = opentelekomcloud.getCsbsBackupPolicyV1({\n    id: policyId,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\npolicy_id = config.require_object(\"policyId\")\ncsbs_policy = opentelekomcloud.get_csbs_backup_policy_v1(id=policy_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var policyId = config.RequireObject\u003cdynamic\u003e(\"policyId\");\n    var csbsPolicy = Opentelekomcloud.GetCsbsBackupPolicyV1.Invoke(new()\n    {\n        Id = policyId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tpolicyId := cfg.RequireObject(\"policyId\")\n\t\t_, err := opentelekomcloud.LookupCsbsBackupPolicyV1(ctx, \u0026opentelekomcloud.LookupCsbsBackupPolicyV1Args{\n\t\t\tId: pulumi.StringRef(policyId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetCsbsBackupPolicyV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var policyId = config.get(\"policyId\");\n        final var csbsPolicy = OpentelekomcloudFunctions.getCsbsBackupPolicyV1(GetCsbsBackupPolicyV1Args.builder()\n            .id(policyId)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  policyId:\n    type: dynamic\nvariables:\n  csbsPolicy:\n    fn::invoke:\n      function: opentelekomcloud:getCsbsBackupPolicyV1\n      arguments:\n        id: ${policyId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getCsbsBackupPolicyV1.\n","properties":{"id":{"type":"string","description":"Specifies the ID of backup policy.\n"},"name":{"type":"string","description":"Specifies the backup policy name.\n"},"region":{"type":"string"},"status":{"type":"string","description":"Specifies the backup policy status.\n"},"tags":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FgetCsbsBackupPolicyV1Tag:getCsbsBackupPolicyV1Tag"}}},"type":"object"},"outputs":{"description":"A collection of values returned by getCsbsBackupPolicyV1.\n","properties":{"common":{"additionalProperties":{"type":"string"},"type":"object"},"description":{"description":"Specifies Scheduling period description.\n","type":"string"},"id":{"description":"Specifies the ID of the object to be backed up.\n","type":"string"},"name":{"description":"Specifies backup object name.\n","type":"string"},"providerId":{"description":"Provides the Backup provider ID.\n","type":"string"},"region":{"type":"string"},"resources":{"items":{"$ref":"#/types/opentelekomcloud:index%2FgetCsbsBackupPolicyV1Resource:getCsbsBackupPolicyV1Resource"},"type":"array"},"scheduledOperations":{"items":{"$ref":"#/types/opentelekomcloud:index%2FgetCsbsBackupPolicyV1ScheduledOperation:getCsbsBackupPolicyV1ScheduledOperation"},"type":"array"},"status":{"type":"string"},"tags":{"items":{"$ref":"#/types/opentelekomcloud:index%2FgetCsbsBackupPolicyV1Tag:getCsbsBackupPolicyV1Tag"},"type":"array"}},"required":["common","description","id","name","providerId","region","resources","scheduledOperations","status"],"type":"object"}},"opentelekomcloud:index/getCsbsBackupV1:getCsbsBackupV1":{"description":"Up-to-date reference of API arguments for CSBS backup you can get at\n[documentation portal](https://docs.otc.t-systems.com/cloud-server-backup-service/api-ref/api_description/backup_management/querying_all_backups.html#en-us-topic-0059304235)\n\nUse this data source to get details about backup resources from OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst backupName = config.requireObject\u003cany\u003e(\"backupName\");\nconst csbs = opentelekomcloud.getCsbsBackupV1({\n    backupName: backupName,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nbackup_name = config.require_object(\"backupName\")\ncsbs = opentelekomcloud.get_csbs_backup_v1(backup_name=backup_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var backupName = config.RequireObject\u003cdynamic\u003e(\"backupName\");\n    var csbs = Opentelekomcloud.GetCsbsBackupV1.Invoke(new()\n    {\n        BackupName = backupName,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tbackupName := cfg.RequireObject(\"backupName\")\n\t\t_, err := opentelekomcloud.LookupCsbsBackupV1(ctx, \u0026opentelekomcloud.LookupCsbsBackupV1Args{\n\t\t\tBackupName: pulumi.StringRef(backupName),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetCsbsBackupV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var backupName = config.get(\"backupName\");\n        final var csbs = OpentelekomcloudFunctions.getCsbsBackupV1(GetCsbsBackupV1Args.builder()\n            .backupName(backupName)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  backupName:\n    type: dynamic\nvariables:\n  csbs:\n    fn::invoke:\n      function: opentelekomcloud:getCsbsBackupV1\n      arguments:\n        backupName: ${backupName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getCsbsBackupV1.\n","properties":{"backupName":{"type":"string","description":"Specifies the backup name.\n"},"backupRecordId":{"type":"string","description":"Specifies the backup record ID.\n"},"id":{"type":"string","description":"Specifies the ID of backup.\n"},"policyId":{"type":"string","description":"Specifies the Policy Id.\n"},"region":{"type":"string"},"resourceId":{"type":"string","description":"Specifies the backup object ID.\n"},"resourceName":{"type":"string","description":"Specifies the backup object name.\n"},"resourceType":{"type":"string","description":"Specifies the type of backup objects.\n"},"status":{"type":"string","description":"Specifies the backup status.\n"},"tags":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FgetCsbsBackupV1Tag:getCsbsBackupV1Tag"}},"vmIp":{"type":"string","description":"Specifies the ip of VM.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getCsbsBackupV1.\n","properties":{"autoTrigger":{"description":"Specifies whether automatic trigger is enabled.\n","type":"boolean"},"averageSpeed":{"description":"Specifies the average speed.\n","type":"number"},"backupName":{"type":"string"},"backupRecordId":{"type":"string"},"description":{"description":"Provides the backup description.\n","type":"string"},"id":{"description":"Specifies Cinder backup ID.\n","type":"string"},"policyId":{"type":"string"},"region":{"type":"string"},"resourceId":{"type":"string"},"resourceName":{"type":"string"},"resourceType":{"type":"string"},"size":{"description":"Specifies accumulated size (MB) of backups.\n","type":"number"},"status":{"description":"Status of backup Volume.\n","type":"string"},"tags":{"items":{"$ref":"#/types/opentelekomcloud:index%2FgetCsbsBackupV1Tag:getCsbsBackupV1Tag"},"type":"array"},"vmIp":{"type":"string"},"vmMetadatas":{"items":{"$ref":"#/types/opentelekomcloud:index%2FgetCsbsBackupV1VmMetadata:getCsbsBackupV1VmMetadata"},"type":"array"},"volumeBackups":{"items":{"$ref":"#/types/opentelekomcloud:index%2FgetCsbsBackupV1VolumeBackup:getCsbsBackupV1VolumeBackup"},"type":"array"}},"required":["autoTrigger","averageSpeed","backupName","backupRecordId","description","region","resourceId","resourceName","resourceType","size","status","vmMetadatas","volumeBackups"],"type":"object"}},"opentelekomcloud:index/getCssCertificateV1:getCssCertificateV1":{"description":"Up-to-date reference of API arguments for CSS flavor you can get at\n[documentation portal](https://docs.otc.t-systems.com/cloud-search-service/api-ref/cluster_management_apis/downloading_the_certificate.html#css-03-0050)\n\nUse this data source to search matching CSS cluster flavor from OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst cert = opentelekomcloud.getCssCertificateV1({});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ncert = opentelekomcloud.get_css_certificate_v1()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var cert = Opentelekomcloud.GetCssCertificateV1.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.GetCssCertificateV1(ctx, \u0026opentelekomcloud.GetCssCertificateV1Args{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetCssCertificateV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var cert = OpentelekomcloudFunctions.getCssCertificateV1(GetCssCertificateV1Args.builder()\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  cert:\n    fn::invoke:\n      function: opentelekomcloud:getCssCertificateV1\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getCssCertificateV1.\n","properties":{"id":{"type":"string","description":"Certificate ID.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getCssCertificateV1.\n","properties":{"certificate":{"description":"String representation of server certificate.\n","type":"string"},"id":{"description":"Certificate ID.\n","type":"string"},"projectId":{"description":"Indicates the project id of the certificate.\n","type":"string"},"region":{"description":"Indicates the region of the certificate.\n","type":"string"}},"required":["certificate","id","projectId","region"],"type":"object"}},"opentelekomcloud:index/getCssFlavorV1:getCssFlavorV1":{"description":"Up-to-date reference of API arguments for CSS flavor you can get at\n[documentation portal](https://docs.otc.t-systems.com/cloud-search-service/api-ref/cluster_management_apis/obtaining_the_list_of_instance_flavors.html#listflavors)\n\nUse this data source to search matching CSS cluster flavor from OpenTelekomCloud.\n\n## Example Usage\n\n### Search by name\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst flavor = opentelekomcloud.getCssFlavorV1({\n    name: \"css.medium.8\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nflavor = opentelekomcloud.get_css_flavor_v1(name=\"css.medium.8\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var flavor = Opentelekomcloud.GetCssFlavorV1.Invoke(new()\n    {\n        Name = \"css.medium.8\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.GetCssFlavorV1(ctx, \u0026opentelekomcloud.GetCssFlavorV1Args{\n\t\t\tName: pulumi.StringRef(\"css.medium.8\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetCssFlavorV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var flavor = OpentelekomcloudFunctions.getCssFlavorV1(GetCssFlavorV1Args.builder()\n            .name(\"css.medium.8\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  flavor:\n    fn::invoke:\n      function: opentelekomcloud:getCssFlavorV1\n      arguments:\n        name: css.medium.8\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Search by specs\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst flavor = opentelekomcloud.getCssFlavorV1({\n    minCpu: 4,\n    minRam: 32,\n    diskRange: {\n        minFrom: 320,\n        minTo: 800,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nflavor = opentelekomcloud.get_css_flavor_v1(min_cpu=4,\n    min_ram=32,\n    disk_range={\n        \"min_from\": 320,\n        \"min_to\": 800,\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var flavor = Opentelekomcloud.GetCssFlavorV1.Invoke(new()\n    {\n        MinCpu = 4,\n        MinRam = 32,\n        DiskRange = new Opentelekomcloud.Inputs.GetCssFlavorV1DiskRangeInputArgs\n        {\n            MinFrom = 320,\n            MinTo = 800,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.GetCssFlavorV1(ctx, \u0026opentelekomcloud.GetCssFlavorV1Args{\n\t\t\tMinCpu: pulumi.Float64Ref(4),\n\t\t\tMinRam: pulumi.Float64Ref(32),\n\t\t\tDiskRange: opentelekomcloud.GetCssFlavorV1DiskRange{\n\t\t\t\tMinFrom: pulumi.Float64Ref(320),\n\t\t\t\tMinTo:   pulumi.Float64Ref(800),\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetCssFlavorV1Args;\nimport com.pulumi.opentelekomcloud.inputs.GetCssFlavorV1DiskRangeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var flavor = OpentelekomcloudFunctions.getCssFlavorV1(GetCssFlavorV1Args.builder()\n            .minCpu(4)\n            .minRam(32)\n            .diskRange(GetCssFlavorV1DiskRangeArgs.builder()\n                .minFrom(320)\n                .minTo(800)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  flavor:\n    fn::invoke:\n      function: opentelekomcloud:getCssFlavorV1\n      arguments:\n        minCpu: 4\n        minRam: 32\n        diskRange:\n          minFrom: 320\n          minTo: 800\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getCssFlavorV1.\n","properties":{"diskRange":{"$ref":"#/types/opentelekomcloud:index%2FgetCssFlavorV1DiskRange:getCssFlavorV1DiskRange","description":"Disk range restrictions the flavor should match. Disk range describes available storage\nvolume of the CSS node. Unit: `GB`.\n"},"id":{"type":"string","description":"Flavor ID.\n"},"minCpu":{"type":"number","description":"Minimal count of CPU the flavor should have.\n"},"minRam":{"type":"number","description":"Minimal RAM size (`GB`) the flavor should have.\n"},"name":{"type":"string","description":"Name of the flavor.\n"},"type":{"type":"string","description":"Flavor type, one of \u003cspan pulumi-lang-nodejs=\"`ess`\" pulumi-lang-dotnet=\"`Ess`\" pulumi-lang-go=\"`ess`\" pulumi-lang-python=\"`ess`\" pulumi-lang-yaml=\"`ess`\" pulumi-lang-java=\"`ess`\"\u003e`ess`\u003c/span\u003e, `ess-master`, `ess-client`, `ess-cold`. Default is \u003cspan pulumi-lang-nodejs=\"`ess`\" pulumi-lang-dotnet=\"`Ess`\" pulumi-lang-go=\"`ess`\" pulumi-lang-python=\"`ess`\" pulumi-lang-yaml=\"`ess`\" pulumi-lang-java=\"`ess`\"\u003e`ess`\u003c/span\u003e.\n"},"version":{"type":"string","description":"Version of cluster.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getCssFlavorV1.\n","properties":{"cpu":{"description":"Flavor CPU count.\n","type":"number"},"diskRange":{"$ref":"#/types/opentelekomcloud:index%2FgetCssFlavorV1DiskRange:getCssFlavorV1DiskRange","description":"Disk range specifications.\n"},"id":{"description":"Flavor ID.\n","type":"string"},"minCpu":{"type":"number"},"minRam":{"type":"number"},"name":{"description":"Flavor name.\n","type":"string"},"ram":{"description":"Flavor RAM (`GB`).\n","type":"number"},"region":{"description":"Region the flavor is available.\n","type":"string"},"type":{"type":"string"},"version":{"type":"string"}},"required":["cpu","id","name","ram","region","version"],"type":"object"}},"opentelekomcloud:index/getCtsTrackerV1:getCtsTrackerV1":{"description":"Up-to-date reference of API arguments for CTS tracker you can get at\n[documentation portal](https://docs.otc.t-systems.com/cloud-trace-service/api-ref/out-of-date_apis/tracker_management/querying_a_tracker.html#cts-api-0016)\n\nUse this data source to get details about OpenTelekomCloud Cloud Trace Service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst trackerV1 = opentelekomcloud.getCtsTrackerV1({});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ntracker_v1 = opentelekomcloud.get_cts_tracker_v1()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var trackerV1 = Opentelekomcloud.GetCtsTrackerV1.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.LookupCtsTrackerV1(ctx, \u0026opentelekomcloud.LookupCtsTrackerV1Args{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetCtsTrackerV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var trackerV1 = OpentelekomcloudFunctions.getCtsTrackerV1(GetCtsTrackerV1Args.builder()\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  trackerV1:\n    fn::invoke:\n      function: opentelekomcloud:getCtsTrackerV1\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getCtsTrackerV1.\n","properties":{"id":{"type":"string"},"trackerName":{"type":"string","description":"The tracker name. Currently, only tracker \u003cspan pulumi-lang-nodejs=\"`system`\" pulumi-lang-dotnet=\"`System`\" pulumi-lang-go=\"`system`\" pulumi-lang-python=\"`system`\" pulumi-lang-yaml=\"`system`\" pulumi-lang-java=\"`system`\"\u003e`system`\u003c/span\u003e is available.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getCtsTrackerV1.\n","properties":{"bucketName":{"description":"The OBS bucket name for a tracker to store trace info.\n","type":"string"},"filePrefixName":{"description":"The prefix of a log that needs to be stored in an OBS bucket.\n","type":"string"},"id":{"type":"string"},"isLtsEnabled":{"description":"Specifies whether to enable trace analysis.\n","type":"boolean"},"logGroupName":{"description":"Specifies LTS log group name.\n","type":"string"},"logTopicName":{"description":"Specifies LTS log stream.\n","type":"string"},"region":{"description":"Specifies the tracker region.\n","type":"string"},"status":{"description":"Specifies current status of the tracker.\n","type":"string"},"trackerName":{"description":"The tracker name. Currently, only tracker \u003cspan pulumi-lang-nodejs=\"`system`\" pulumi-lang-dotnet=\"`System`\" pulumi-lang-go=\"`system`\" pulumi-lang-python=\"`system`\" pulumi-lang-yaml=\"`system`\" pulumi-lang-java=\"`system`\"\u003e`system`\u003c/span\u003e is available.\n","type":"string"}},"required":["bucketName","filePrefixName","id","isLtsEnabled","logGroupName","logTopicName","region","status","trackerName"],"type":"object"}},"opentelekomcloud:index/getDcsAzV1:getDcsAzV1":{"description":"Up-to-date reference of API arguments for DCS AZ you can get at\n[documentation portal](https://docs.otc.t-systems.com/distributed-cache-service/api-ref/apis_v2_recommended/other_apis/querying_azs.html#listavailablezones)\n\nUse this data source to get the ID of an available DCS AZ from OpenTelekomCloud.\n\n## Example Usage\n\n### Query AZ \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e by providing \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e argument\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst az1 = opentelekomcloud.getDcsAzV1({\n    name: \"eu-de-01\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\naz1 = opentelekomcloud.get_dcs_az_v1(name=\"eu-de-01\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var az1 = Opentelekomcloud.GetDcsAzV1.Invoke(new()\n    {\n        Name = \"eu-de-01\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.GetDcsAzV1(ctx, \u0026opentelekomcloud.GetDcsAzV1Args{\n\t\t\tName: pulumi.StringRef(\"eu-de-01\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetDcsAzV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var az1 = OpentelekomcloudFunctions.getDcsAzV1(GetDcsAzV1Args.builder()\n            .name(\"eu-de-01\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  az1:\n    fn::invoke:\n      function: opentelekomcloud:getDcsAzV1\n      arguments:\n        name: eu-de-01\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Query AZ \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e by providing \u003cspan pulumi-lang-nodejs=\"`port`\" pulumi-lang-dotnet=\"`Port`\" pulumi-lang-go=\"`port`\" pulumi-lang-python=\"`port`\" pulumi-lang-yaml=\"`port`\" pulumi-lang-java=\"`port`\"\u003e`port`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`code`\" pulumi-lang-dotnet=\"`Code`\" pulumi-lang-go=\"`code`\" pulumi-lang-python=\"`code`\" pulumi-lang-yaml=\"`code`\" pulumi-lang-java=\"`code`\"\u003e`code`\u003c/span\u003e arguments\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst az2 = opentelekomcloud.getDcsAzV1({\n    port: \"8003\",\n    code: \"eu-de-02\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\naz2 = opentelekomcloud.get_dcs_az_v1(port=\"8003\",\n    code=\"eu-de-02\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var az2 = Opentelekomcloud.GetDcsAzV1.Invoke(new()\n    {\n        Port = \"8003\",\n        Code = \"eu-de-02\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.GetDcsAzV1(ctx, \u0026opentelekomcloud.GetDcsAzV1Args{\n\t\t\tPort: pulumi.StringRef(\"8003\"),\n\t\t\tCode: pulumi.StringRef(\"eu-de-02\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetDcsAzV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var az2 = OpentelekomcloudFunctions.getDcsAzV1(GetDcsAzV1Args.builder()\n            .port(\"8003\")\n            .code(\"eu-de-02\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  az2:\n    fn::invoke:\n      function: opentelekomcloud:getDcsAzV1\n      arguments:\n        port: '8003'\n        code: eu-de-02\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Query AZ \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e by providing all arguments\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst az2 = opentelekomcloud.getDcsAzV1({\n    name: \"eu-de-02\",\n    port: \"8003\",\n    code: \"eu-de-02\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\naz2 = opentelekomcloud.get_dcs_az_v1(name=\"eu-de-02\",\n    port=\"8003\",\n    code=\"eu-de-02\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var az2 = Opentelekomcloud.GetDcsAzV1.Invoke(new()\n    {\n        Name = \"eu-de-02\",\n        Port = \"8003\",\n        Code = \"eu-de-02\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.GetDcsAzV1(ctx, \u0026opentelekomcloud.GetDcsAzV1Args{\n\t\t\tName: pulumi.StringRef(\"eu-de-02\"),\n\t\t\tPort: pulumi.StringRef(\"8003\"),\n\t\t\tCode: pulumi.StringRef(\"eu-de-02\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetDcsAzV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var az2 = OpentelekomcloudFunctions.getDcsAzV1(GetDcsAzV1Args.builder()\n            .name(\"eu-de-02\")\n            .port(\"8003\")\n            .code(\"eu-de-02\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  az2:\n    fn::invoke:\n      function: opentelekomcloud:getDcsAzV1\n      arguments:\n        name: eu-de-02\n        port: '8003'\n        code: eu-de-02\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getDcsAzV1.\n","properties":{"code":{"type":"string","description":"Indicates the code of an AZ.\n"},"id":{"type":"string"},"name":{"type":"string","description":"Indicates the name of an AZ.\n"},"port":{"type":"string","description":"Indicates the port number of an AZ.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getDcsAzV1.\n","properties":{"code":{"description":"See Argument Reference above.\n","type":"string"},"id":{"type":"string"},"name":{"description":"See Argument Reference above.\n","type":"string"},"port":{"description":"See Argument Reference above.\n","type":"string"}},"required":["code","id","name","port"],"type":"object"}},"opentelekomcloud:index/getDcsCertificateV2:getDcsCertificateV2":{"description":"Up-to-date reference of API arguments for DCS certificate you can get at\n[documentation portal](https://docs.otc.t-systems.com/distributed-cache-service/api-ref/apis_v2_recommended/network_security/downloading_the_ssl_certificate_of_an_instance.html#downloadsslcert)\n\nUse this data source to get the certificate of OpenTelekomCloud DCS instance.\n\n~\u003e\n    SSL certificate download is available only for DCS 6.0 instances with enabled SSL.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst dcsId = config.requireObject\u003cany\u003e(\"dcsId\");\nconst cert = opentelekomcloud.getDcsCertificateV2({\n    instanceId: dcsId,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ndcs_id = config.require_object(\"dcsId\")\ncert = opentelekomcloud.get_dcs_certificate_v2(instance_id=dcs_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var dcsId = config.RequireObject\u003cdynamic\u003e(\"dcsId\");\n    var cert = Opentelekomcloud.GetDcsCertificateV2.Invoke(new()\n    {\n        InstanceId = dcsId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tdcsId := cfg.RequireObject(\"dcsId\")\n\t\t_, err := opentelekomcloud.GetDcsCertificateV2(ctx, \u0026opentelekomcloud.GetDcsCertificateV2Args{\n\t\t\tInstanceId: dcsId,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetDcsCertificateV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var dcsId = config.get(\"dcsId\");\n        final var cert = OpentelekomcloudFunctions.getDcsCertificateV2(GetDcsCertificateV2Args.builder()\n            .instanceId(dcsId)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  dcsId:\n    type: dynamic\nvariables:\n  cert:\n    fn::invoke:\n      function: opentelekomcloud:getDcsCertificateV2\n      arguments:\n        instanceId: ${dcsId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getDcsCertificateV2.\n","properties":{"id":{"type":"string"},"instanceId":{"type":"string","description":"A DCS instance ID.\n"}},"type":"object","required":["instanceId"]},"outputs":{"description":"A collection of values returned by getDcsCertificateV2.\n","properties":{"bucketName":{"description":"Name of the OBS bucket for storing the SSL certificate.\n","type":"string"},"certificate":{"description":"SSL certificate of an instance.\n","type":"string"},"fileName":{"description":"SSL certificate file name.\n","type":"string"},"id":{"type":"string"},"instanceId":{"type":"string"},"link":{"description":"Download link of the SSL certificate.\n","type":"string"}},"required":["bucketName","certificate","fileName","id","instanceId","link"],"type":"object"}},"opentelekomcloud:index/getDcsMaintainwindowV1:getDcsMaintainwindowV1":{"description":"Up-to-date reference of API arguments for DCS certificate you can get at\n[documentation portal](https://docs.otc.t-systems.com/distributed-cache-service/api-ref/apis_v2_recommended/other_apis/listing_maintenance_time_windows.html)\n\nUse this data source to get the ID of an available OpenTelekomCloud DCS maintain window.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst maintainwindow1 = opentelekomcloud.getDcsMaintainwindowV1({\n    seq: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nmaintainwindow1 = opentelekomcloud.get_dcs_maintainwindow_v1(seq=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var maintainwindow1 = Opentelekomcloud.GetDcsMaintainwindowV1.Invoke(new()\n    {\n        Seq = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.GetDcsMaintainwindowV1(ctx, \u0026opentelekomcloud.GetDcsMaintainwindowV1Args{\n\t\t\tSeq: pulumi.Float64Ref(1),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetDcsMaintainwindowV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var maintainwindow1 = OpentelekomcloudFunctions.getDcsMaintainwindowV1(GetDcsMaintainwindowV1Args.builder()\n            .seq(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  maintainwindow1:\n    fn::invoke:\n      function: opentelekomcloud:getDcsMaintainwindowV1\n      arguments:\n        seq: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getDcsMaintainwindowV1.\n","properties":{"begin":{"type":"string","description":"Indicates the time at which a maintenance time window starts.\n"},"default":{"type":"boolean","description":"Indicates whether a maintenance time window is set to the default time segment.\n"},"end":{"type":"string","description":"Indicates the time at which a maintenance time window ends.\n"},"id":{"type":"string"},"seq":{"type":"number","description":"Indicates the sequential number of a maintenance time window.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getDcsMaintainwindowV1.\n","properties":{"begin":{"description":"See Argument Reference above.\n","type":"string"},"default":{"description":"See Argument Reference above.\n","type":"boolean"},"end":{"description":"See Argument Reference above.\n","type":"string"},"id":{"type":"string"},"seq":{"type":"number"}},"required":["begin","default","end","id","seq"],"type":"object"}},"opentelekomcloud:index/getDcsProductV1:getDcsProductV1":{"description":"Up-to-date reference of API arguments for DCS product you can get at\n[documentation portal](https://docs.otc.t-systems.com/distributed-cache-service/api-ref/outdated_apis_v1/other_apis/querying_service_specifications.html#dcs-api-0312040)\n\nUse this data source to get the ID of an available DCS product.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst product1 = opentelekomcloud.getDcsProductV1({\n    specCode: \"dcs.single_node\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nproduct1 = opentelekomcloud.get_dcs_product_v1(spec_code=\"dcs.single_node\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var product1 = Opentelekomcloud.GetDcsProductV1.Invoke(new()\n    {\n        SpecCode = \"dcs.single_node\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.GetDcsProductV1(ctx, \u0026opentelekomcloud.GetDcsProductV1Args{\n\t\t\tSpecCode: pulumi.StringRef(\"dcs.single_node\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetDcsProductV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var product1 = OpentelekomcloudFunctions.getDcsProductV1(GetDcsProductV1Args.builder()\n            .specCode(\"dcs.single_node\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  product1:\n    fn::invoke:\n      function: opentelekomcloud:getDcsProductV1\n      arguments:\n        specCode: dcs.single_node\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getDcsProductV1.\n","properties":{"id":{"type":"string"},"specCode":{"type":"string","description":"Indicates an I/O specification.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getDcsProductV1.\n","properties":{"id":{"type":"string"},"specCode":{"description":"See Argument Reference above.\n","type":"string"}},"required":["id","specCode"],"type":"object"}},"opentelekomcloud:index/getDdmEnginesV1:getDdmEnginesV1":{"description":"Up-to-date reference of API arguments for DDM engines you can get at\n[documentation portal](https://docs.otc.t-systems.com/distributed-database-middleware/api-ref/apis_recommended/ddm_instances/querying_ddm_engine_information.html)\n\nUse this data source to get info of OpenTelekomCloud DDM engines.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst engineList = opentelekomcloud.getDdmEnginesV1({});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nengine_list = opentelekomcloud.get_ddm_engines_v1()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var engineList = Opentelekomcloud.GetDdmEnginesV1.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.GetDdmEnginesV1(ctx, \u0026opentelekomcloud.GetDdmEnginesV1Args{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetDdmEnginesV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var engineList = OpentelekomcloudFunctions.getDdmEnginesV1(GetDdmEnginesV1Args.builder()\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  engineList:\n    fn::invoke:\n      function: opentelekomcloud:getDdmEnginesV1\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getDdmEnginesV1.\n","properties":{"id":{"type":"string","description":"Indicates the DDM engine ID.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getDdmEnginesV1.\n","properties":{"engines":{"description":"Indicates the DDM engines information. Structure is documented below.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetDdmEnginesV1Engine:getDdmEnginesV1Engine"},"type":"array"},"id":{"description":"Indicates the DDM engine ID.\n","type":"string"},"region":{"description":"Indicates the region of the DDM engines.\n","type":"string"}},"required":["engines","id","region"],"type":"object"}},"opentelekomcloud:index/getDdmFlavorsV1:getDdmFlavorsV1":{"description":"Up-to-date reference of API arguments for DDM compute flavors you can get at\n[documentation portal](https://docs.otc.t-systems.com/distributed-database-middleware/api-ref/apis_recommended/ddm_instances/querying_ddm_node_classes_available_in_an_az.html)\n\nUse this data source to get info of OpenTelekomCloud DDM compute flavors.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst engineList = opentelekomcloud.getDdmEnginesV1({});\nconst flavorList = engineList.then(engineList =\u003e opentelekomcloud.getDdmFlavorsV1({\n    engineId: engineList.engines?.[0]?.id,\n}));\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nengine_list = opentelekomcloud.get_ddm_engines_v1()\nflavor_list = opentelekomcloud.get_ddm_flavors_v1(engine_id=engine_list.engines[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var engineList = Opentelekomcloud.GetDdmEnginesV1.Invoke();\n\n    var flavorList = Opentelekomcloud.GetDdmFlavorsV1.Invoke(new()\n    {\n        EngineId = engineList.Apply(getDdmEnginesV1Result =\u003e getDdmEnginesV1Result.Engines[0]?.Id),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tengineList, err := opentelekomcloud.GetDdmEnginesV1(ctx, \u0026opentelekomcloud.GetDdmEnginesV1Args{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.GetDdmFlavorsV1(ctx, \u0026opentelekomcloud.GetDdmFlavorsV1Args{\n\t\t\tEngineId: engineList.Engines[0].Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetDdmEnginesV1Args;\nimport com.pulumi.opentelekomcloud.inputs.GetDdmFlavorsV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var engineList = OpentelekomcloudFunctions.getDdmEnginesV1(GetDdmEnginesV1Args.builder()\n            .build());\n\n        final var flavorList = OpentelekomcloudFunctions.getDdmFlavorsV1(GetDdmFlavorsV1Args.builder()\n            .engineId(engineList.engines()[0].id())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  engineList:\n    fn::invoke:\n      function: opentelekomcloud:getDdmEnginesV1\n      arguments: {}\n  flavorList:\n    fn::invoke:\n      function: opentelekomcloud:getDdmFlavorsV1\n      arguments:\n        engineId: ${engineList.engines[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getDdmFlavorsV1.\n","properties":{"engineId":{"type":"string","description":"Specifies the DDM engine ID.\n"},"id":{"type":"string","description":"Indicates the compute flavor ID.\n"}},"type":"object","required":["engineId"]},"outputs":{"description":"A collection of values returned by getDdmFlavorsV1.\n","properties":{"engineId":{"description":"See Argument Reference above.\n","type":"string"},"flavorGroups":{"description":"Indicates the DDM compute flvaor groups information. Structure is documented below.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetDdmFlavorsV1FlavorGroup:getDdmFlavorsV1FlavorGroup"},"type":"array"},"id":{"description":"Indicates the compute flavor ID.\n","type":"string"},"region":{"description":"Indicates the region of the DDM compute flavors.\n","type":"string"}},"required":["engineId","flavorGroups","id","region"],"type":"object"}},"opentelekomcloud:index/getDdmInstanceV1:getDdmInstanceV1":{"description":"Up-to-date reference of API arguments for DDM instance you can get at\n[documentation portal](https://docs.otc.t-systems.com/distributed-database-middleware/api-ref/apis_recommended/ddm_instances/querying_details_of_a_ddm_instance.html)\n\nUse this data source to get info of the OpenTelekomCloud DDM instance.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst instanceId = config.requireObject\u003cany\u003e(\"instanceId\");\nconst instance = opentelekomcloud.getDdmInstanceV1({\n    instanceId: instanceId,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ninstance_id = config.require_object(\"instanceId\")\ninstance = opentelekomcloud.get_ddm_instance_v1(instance_id=instance_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var instanceId = config.RequireObject\u003cdynamic\u003e(\"instanceId\");\n    var instance = Opentelekomcloud.GetDdmInstanceV1.Invoke(new()\n    {\n        InstanceId = instanceId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tinstanceId := cfg.RequireObject(\"instanceId\")\n\t\t_, err := opentelekomcloud.LookupDdmInstanceV1(ctx, \u0026opentelekomcloud.LookupDdmInstanceV1Args{\n\t\t\tInstanceId: instanceId,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetDdmInstanceV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var instanceId = config.get(\"instanceId\");\n        final var instance = OpentelekomcloudFunctions.getDdmInstanceV1(GetDdmInstanceV1Args.builder()\n            .instanceId(instanceId)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  instanceId:\n    type: dynamic\nvariables:\n  instance:\n    fn::invoke:\n      function: opentelekomcloud:getDdmInstanceV1\n      arguments:\n        instanceId: ${instanceId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getDdmInstanceV1.\n","properties":{"id":{"type":"string"},"instanceId":{"type":"string","description":"Specifies the DDM instance ID.\n"}},"type":"object","required":["instanceId"]},"outputs":{"description":"A collection of values returned by getDdmInstanceV1.\n","properties":{"accessIp":{"type":"string"},"accessPort":{"description":"Indicates the DDM access port.\n","type":"string"},"availabilityZone":{"description":"Indicates the availability zone of DDM instance.\n","type":"string"},"createdAt":{"description":"Indicates the creation time.\n","type":"string"},"id":{"type":"string"},"instanceId":{"description":"See Argument Reference above.\n","type":"string"},"name":{"description":"Indicates the name of DDM instance.\n","type":"string"},"nodeNum":{"description":"Indicates the disk encryption ID of the instance.\n","type":"number"},"nodeStatus":{"description":"Indicates the DDM nodes status.\n","type":"string"},"nodes":{"description":"Indicates the instance nodes information. Structure is documented below.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetDdmInstanceV1Node:getDdmInstanceV1Node"},"type":"array"},"region":{"description":"Indicates the region of the DDM instance.\n","type":"string"},"securityGroupId":{"description":"Indicates the security group ID of the DDM instance.\n","type":"string"},"status":{"description":"Indicates the node status.\n","type":"string"},"subnetId":{"description":"Indicates the subnet Network ID.\n","type":"string"},"updatedAt":{"description":"Indicates the update time.\n","type":"string"},"username":{"description":"Indicates the Administrator username of the DDM instance.\n","type":"string"},"vpcId":{"description":"Indicates the VPC ID.\n","type":"string"}},"required":["accessIp","accessPort","availabilityZone","createdAt","id","instanceId","name","nodeNum","nodeStatus","nodes","region","securityGroupId","status","subnetId","updatedAt","username","vpcId"],"type":"object"}},"opentelekomcloud:index/getDdsFlavorsV3:getDdsFlavorsV3":{"description":"Up-to-date reference of API arguments for DDS flavors you can get at\n[documentation portal](https://docs.otc.t-systems.com/document-database-service/api-ref/apis_v3.0_recommended/querying_database_specifications.html)\n\nUse this data source to get info of available OpenTelekomCloud DDS flavors.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst flavor = opentelekomcloud.getDdsFlavorsV3({\n    engineName: \"DDS-Community\",\n    vcpus: \"8\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nflavor = opentelekomcloud.get_dds_flavors_v3(engine_name=\"DDS-Community\",\n    vcpus=\"8\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var flavor = Opentelekomcloud.GetDdsFlavorsV3.Invoke(new()\n    {\n        EngineName = \"DDS-Community\",\n        Vcpus = \"8\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.GetDdsFlavorsV3(ctx, \u0026opentelekomcloud.GetDdsFlavorsV3Args{\n\t\t\tEngineName: \"DDS-Community\",\n\t\t\tVcpus:      pulumi.StringRef(\"8\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetDdsFlavorsV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var flavor = OpentelekomcloudFunctions.getDdsFlavorsV3(GetDdsFlavorsV3Args.builder()\n            .engineName(\"DDS-Community\")\n            .vcpus(\"8\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  flavor:\n    fn::invoke:\n      function: opentelekomcloud:getDdsFlavorsV3\n      arguments:\n        engineName: DDS-Community\n        vcpus: 8\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getDdsFlavorsV3.\n","properties":{"engineName":{"type":"string","description":"Specifies the engine name of the DDS, `DDS-Community` is supported.\n"},"id":{"type":"string"},"memory":{"type":"string","description":"Specifies the RAM of the DDS flavor in GB.\n"},"type":{"type":"string","description":"Specifies the type of the DDS flavor. \u003cspan pulumi-lang-nodejs=\"`mongos`\" pulumi-lang-dotnet=\"`Mongos`\" pulumi-lang-go=\"`mongos`\" pulumi-lang-python=\"`mongos`\" pulumi-lang-yaml=\"`mongos`\" pulumi-lang-java=\"`mongos`\"\u003e`mongos`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`shard`\" pulumi-lang-dotnet=\"`Shard`\" pulumi-lang-go=\"`shard`\" pulumi-lang-python=\"`shard`\" pulumi-lang-yaml=\"`shard`\" pulumi-lang-java=\"`shard`\"\u003e`shard`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`config`\" pulumi-lang-dotnet=\"`Config`\" pulumi-lang-go=\"`config`\" pulumi-lang-python=\"`config`\" pulumi-lang-yaml=\"`config`\" pulumi-lang-java=\"`config`\"\u003e`config`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`replica`\" pulumi-lang-dotnet=\"`Replica`\" pulumi-lang-go=\"`replica`\" pulumi-lang-python=\"`replica`\" pulumi-lang-yaml=\"`replica`\" pulumi-lang-java=\"`replica`\"\u003e`replica`\u003c/span\u003e are supported.\n"},"vcpus":{"type":"string","description":"Specifies the vCPUs of the DDS flavor.\n"}},"type":"object","required":["engineName"]},"outputs":{"description":"A collection of values returned by getDdsFlavorsV3.\n","properties":{"engineName":{"type":"string"},"flavors":{"description":"Indicates the flavors information. Structure is documented below.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetDdsFlavorsV3Flavor:getDdsFlavorsV3Flavor"},"type":"array"},"id":{"type":"string"},"memory":{"description":"See \u003cspan pulumi-lang-nodejs=\"`memory`\" pulumi-lang-dotnet=\"`Memory`\" pulumi-lang-go=\"`memory`\" pulumi-lang-python=\"`memory`\" pulumi-lang-yaml=\"`memory`\" pulumi-lang-java=\"`memory`\"\u003e`memory`\u003c/span\u003e above.\n","type":"string"},"region":{"description":"See Argument Reference above.\n","type":"string"},"type":{"description":"See \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e above.\n","type":"string"},"vcpus":{"description":"See \u003cspan pulumi-lang-nodejs=\"`vcpus`\" pulumi-lang-dotnet=\"`Vcpus`\" pulumi-lang-go=\"`vcpus`\" pulumi-lang-python=\"`vcpus`\" pulumi-lang-yaml=\"`vcpus`\" pulumi-lang-java=\"`vcpus`\"\u003e`vcpus`\u003c/span\u003e above.\n","type":"string"}},"required":["engineName","flavors","id","region"],"type":"object"}},"opentelekomcloud:index/getDdsInstanceV3:getDdsInstanceV3":{"description":"Up-to-date reference of API arguments for DDS instance you can get at\n[documentation portal](https://docs.otc.t-systems.com/document-database-service/api-ref/apis_v3.0_recommended/db_instance_management/querying_instances_and_details.html)\n\nUse this data source to get info of the OpenTelekomCloud DDS instance.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst instanceId = config.requireObject\u003cany\u003e(\"instanceId\");\nconst instance = opentelekomcloud.getDdsInstanceV3({\n    instanceId: instanceId,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ninstance_id = config.require_object(\"instanceId\")\ninstance = opentelekomcloud.get_dds_instance_v3(instance_id=instance_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var instanceId = config.RequireObject\u003cdynamic\u003e(\"instanceId\");\n    var instance = Opentelekomcloud.GetDdsInstanceV3.Invoke(new()\n    {\n        InstanceId = instanceId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tinstanceId := cfg.RequireObject(\"instanceId\")\n\t\t_, err := opentelekomcloud.LookupDdsInstanceV3(ctx, \u0026opentelekomcloud.LookupDdsInstanceV3Args{\n\t\t\tInstanceId: pulumi.StringRef(instanceId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetDdsInstanceV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var instanceId = config.get(\"instanceId\");\n        final var instance = OpentelekomcloudFunctions.getDdsInstanceV3(GetDdsInstanceV3Args.builder()\n            .instanceId(instanceId)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  instanceId:\n    type: dynamic\nvariables:\n  instance:\n    fn::invoke:\n      function: opentelekomcloud:getDdsInstanceV3\n      arguments:\n        instanceId: ${instanceId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getDdsInstanceV3.\n","properties":{"datastoreType":{"type":"string","description":"Specifies the database type. The value is `DDS-Community`.\n"},"id":{"type":"string","description":"Indicates the DB instance ID.\n"},"instanceId":{"type":"string","description":"Specifies the DB instance ID.\n"},"name":{"type":"string","description":"Specifies the DB instance name.\n"},"subnetId":{"type":"string","description":"Specifies the network ID of the subnet. You can log in to\nthe VPC console and obtain the network ID of the subnet in the VPC where the DDS\ninstance is located.\n"},"vpcId":{"type":"string","description":"Specifies the VPC ID. You can log in to the VPC console and\nobtain the ID of the VPC where the DDS instance is located.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getDdsInstanceV3.\n","properties":{"backupStrategies":{"items":{"$ref":"#/types/opentelekomcloud:index%2FgetDdsInstanceV3BackupStrategy:getDdsInstanceV3BackupStrategy"},"type":"array"},"datastoreType":{"type":"string"},"datastores":{"items":{"$ref":"#/types/opentelekomcloud:index%2FgetDdsInstanceV3Datastore:getDdsInstanceV3Datastore"},"type":"array"},"dbUsername":{"description":"Indicates the default username.\n","type":"string"},"diskEncryptionId":{"description":"Indicates the disk encryption key ID. This parameter is returned\nonly when the instance disk is encrypted.\n","type":"string"},"id":{"description":"Indicates the DB instance ID.\n","type":"string"},"instanceId":{"type":"string"},"mode":{"description":"Indicates the instance type, which is the same as the request parameter.\n","type":"string"},"name":{"description":"Indicates the DB instance name.\n","type":"string"},"nodes":{"items":{"$ref":"#/types/opentelekomcloud:index%2FgetDdsInstanceV3Node:getDdsInstanceV3Node"},"type":"array"},"payMode":{"type":"string"},"port":{"type":"number"},"region":{"description":"Indicates the region where the DB instance is deployed.\n","type":"string"},"securityGroupId":{"description":"Indicates the security group ID.\n","type":"string"},"ssl":{"description":"Indicates that SSL is enabled or not.\n","type":"boolean"},"status":{"description":"Indicates the DB instance status.\n","type":"string"},"subnetId":{"description":"Indicates the subnet ID.\n","type":"string"},"vpcId":{"description":"Indicates the VPC ID.\n","type":"string"}},"required":["backupStrategies","datastores","dbUsername","diskEncryptionId","id","mode","nodes","payMode","port","region","securityGroupId","ssl","status"],"type":"object"}},"opentelekomcloud:index/getDehHostV1:getDehHostV1":{"description":"Up-to-date reference of API arguments for DEH host you can get at\n[documentation portal](https://docs.otc.t-systems.com/dedicated-host/api-ref/api/querying_dehs.html#deh-02-0020)\n\nUse this data source to get details about the allocated dedicated hosts from OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst dehId = config.requireObject\u003cany\u003e(\"dehId\");\nconst dehHost = opentelekomcloud.getDehHostV1({\n    id: dehId,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ndeh_id = config.require_object(\"dehId\")\ndeh_host = opentelekomcloud.get_deh_host_v1(id=deh_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var dehId = config.RequireObject\u003cdynamic\u003e(\"dehId\");\n    var dehHost = Opentelekomcloud.GetDehHostV1.Invoke(new()\n    {\n        Id = dehId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tdehId := cfg.RequireObject(\"dehId\")\n\t\t_, err := opentelekomcloud.LookupDehHostV1(ctx, \u0026opentelekomcloud.LookupDehHostV1Args{\n\t\t\tId: pulumi.StringRef(dehId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetDehHostV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var dehId = config.get(\"dehId\");\n        final var dehHost = OpentelekomcloudFunctions.getDehHostV1(GetDehHostV1Args.builder()\n            .id(dehId)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  dehId:\n    type: dynamic\nvariables:\n  dehHost:\n    fn::invoke:\n      function: opentelekomcloud:getDehHostV1\n      arguments:\n        id: ${dehId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getDehHostV1.\n","properties":{"availabilityZone":{"type":"string","description":"The Availability Zone to which the Dedicated Host belongs.\n"},"id":{"type":"string","description":"The Dedicated Host ID.\n"},"name":{"type":"string","description":"The Dedicated Host name.\n"},"region":{"type":"string"},"status":{"type":"string","description":"The Dedicated Host status.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getDehHostV1.\n","properties":{"autoPlacement":{"description":"Allows a instance to be automatically placed onto the available Dedicated Hosts.\n","type":"string"},"availabilityZone":{"description":"The Availability Zone to which the Dedicated Host belongs.\n","type":"string"},"availableInstanceCapacities":{"description":"The VM flavors placed on the Dedicated Host.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetDehHostV1AvailableInstanceCapacity:getDehHostV1AvailableInstanceCapacity"},"type":"array"},"availableMemory":{"description":"The size of available memory for the Dedicated Host.\n","type":"number"},"availableVcpus":{"description":"Thenumber of available vCPUs for the Dedicated Host.\n","type":"number"},"cores":{"description":"The number of hosts physical cores.\n","type":"number"},"hostType":{"description":"The Dedicated Host type.\n","type":"string"},"hostTypeName":{"description":"The Dedicated Host name of type.\n","type":"string"},"id":{"type":"string"},"instanceTotal":{"description":"The number of the placed VMs.\n","type":"number"},"instanceUuids":{"description":"The VMs started on the Dedicated Host.\n","items":{"type":"string"},"type":"array"},"memory":{"description":"The size of host physical memory (MB).\n","type":"number"},"name":{"type":"string"},"region":{"type":"string"},"sockets":{"description":"The number of host physical sockets.\n","type":"number"},"status":{"description":"The Dedicated Host status.\n","type":"string"},"tenantId":{"description":"The UUID of the tenant in a multi-tenancy cloud.\n","type":"string"},"vcpus":{"description":"The number of host vCPUs.\n","type":"number"}},"required":["autoPlacement","availableInstanceCapacities","availableMemory","availableVcpus","cores","hostType","hostTypeName","instanceTotal","instanceUuids","memory","region","sockets","tenantId","vcpus"],"type":"object"}},"opentelekomcloud:index/getDehServerV1:getDehServerV1":{"description":"Up-to-date reference of API arguments for DEH ECSs you can get at\n[documentation portal](https://docs.otc.t-systems.com/dedicated-host/api-ref/api/querying_ecss_on_a_deh.html)\n\nUse this data source to get details about the server on a specified Dedicated Host.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst dehId = config.requireObject\u003cany\u003e(\"dehId\");\nconst serverId = config.requireObject\u003cany\u003e(\"serverId\");\nconst dehServer = opentelekomcloud.getDehServerV1({\n    id: dehId,\n    serverId: serverId,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ndeh_id = config.require_object(\"dehId\")\nserver_id = config.require_object(\"serverId\")\ndeh_server = opentelekomcloud.get_deh_server_v1(id=deh_id,\n    server_id=server_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var dehId = config.RequireObject\u003cdynamic\u003e(\"dehId\");\n    var serverId = config.RequireObject\u003cdynamic\u003e(\"serverId\");\n    var dehServer = Opentelekomcloud.GetDehServerV1.Invoke(new()\n    {\n        Id = dehId,\n        ServerId = serverId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tdehId := cfg.RequireObject(\"dehId\")\n\t\tserverId := cfg.RequireObject(\"serverId\")\n\t\t_, err := opentelekomcloud.GetDehServerV1(ctx, \u0026opentelekomcloud.GetDehServerV1Args{\n\t\t\tId:       pulumi.StringRef(dehId),\n\t\t\tServerId: pulumi.StringRef(serverId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetDehServerV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var dehId = config.get(\"dehId\");\n        final var serverId = config.get(\"serverId\");\n        final var dehServer = OpentelekomcloudFunctions.getDehServerV1(GetDehServerV1Args.builder()\n            .id(dehId)\n            .serverId(serverId)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  dehId:\n    type: dynamic\n  serverId:\n    type: dynamic\nvariables:\n  dehServer:\n    fn::invoke:\n      function: opentelekomcloud:getDehServerV1\n      arguments:\n        id: ${dehId}\n        serverId: ${serverId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getDehServerV1.\n","properties":{"addresses":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FgetDehServerV1Address:getDehServerV1Address"},"description":"The network addresses of the server.\n"},"dedicatedHostId":{"type":"string","description":"The Dedicated Host ID.\n"},"id":{"type":"string"},"region":{"type":"string"},"serverId":{"type":"string","description":"The Server ID.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getDehServerV1.\n","properties":{"addresses":{"description":"The network addresses of the server.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetDehServerV1Address:getDehServerV1Address"},"type":"array"},"dedicatedHostId":{"type":"string"},"flavor":{"additionalProperties":{"type":"string"},"description":"The ID of server specifications.\n","type":"object"},"id":{"type":"string"},"metadata":{"additionalProperties":{"type":"string"},"description":"The metadata of the server.\n","type":"object"},"name":{"description":"The server name.\n","type":"string"},"region":{"type":"string"},"serverId":{"type":"string"},"status":{"description":"The status of the server.\n","type":"string"},"tenantId":{"description":"The ID of the tenant to which the server belongs.\n","type":"string"},"userId":{"description":"The ID of the user to which the server belongs.\n","type":"string"}},"required":["flavor","id","metadata","name","region","status","tenantId","userId"],"type":"object"}},"opentelekomcloud:index/getDirectConnectV2:getDirectConnectV2":{"description":"Up-to-date reference of API arguments for DCaaS connection you can get at\n[documentation portal](https://docs.otc.t-systems.com/direct-connect/api-ref/apis/connection/querying_the_connection_list.html)\n\nUse this data source to get details about a specific Direct Connect (DCaaS) connection.\n\n## Example usage\n\n-----------------\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst directConnect = opentelekomcloud.getDirectConnectV2({\n    id: \"direct_connect_id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ndirect_connect = opentelekomcloud.get_direct_connect_v2(id=\"direct_connect_id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var directConnect = Opentelekomcloud.GetDirectConnectV2.Invoke(new()\n    {\n        Id = \"direct_connect_id\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.LookupDirectConnectV2(ctx, \u0026opentelekomcloud.LookupDirectConnectV2Args{\n\t\t\tId: pulumi.StringRef(\"direct_connect_id\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetDirectConnectV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var directConnect = OpentelekomcloudFunctions.getDirectConnectV2(GetDirectConnectV2Args.builder()\n            .id(\"direct_connect_id\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  directConnect:\n    fn::invoke:\n      function: opentelekomcloud:getDirectConnectV2\n      arguments:\n        id: direct_connect_id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getDirectConnectV2.\n","properties":{"bandwidth":{"type":"number","description":"(Number) - Specifies the bandwidth of the connection in Mbit/s.\n"},"description":{"type":"string","description":"(String) - Provides supplementary information about the connection.\n"},"deviceId":{"type":"string","description":"(String) - Specifies the gateway device ID of the connection.\n"},"id":{"type":"string","description":"Specifies the direct connection ID.\n"},"location":{"type":"string","description":"(String) - Specifies the connection access location.\n"},"name":{"type":"string","description":"(String) - Specifies the connection name.\n"},"portType":{"type":"string","description":"(String) - Specifies the type of the port used by the connection. The value can be 1G, 10G, 40G, or 100G.\n"},"region":{"type":"string"},"vlan":{"type":"number","description":"(Number) - Specifies the VLAN ID of the connection.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getDirectConnectV2.\n","properties":{"adminStateUp":{"description":"(Boolean)  - Specifies the administrative status of the connection. The value can be true or false.\n","type":"boolean"},"applicant":{"description":"(String) - This is a reserved field, which is not used currently.\n","type":"string"},"applyTime":{"description":"(String) - Specifies the time when the connection was requested.\n","type":"string"},"bandwidth":{"description":"(Number) - Specifies the bandwidth of the connection in Mbit/s.\n","type":"number"},"buildingLineProductId":{"description":"(String) - This is a reserved field, which is not used currently.\n","type":"string"},"cableLabel":{"description":"(String) - This is a reserved field, which is not used currently.\n","type":"string"},"chargeMode":{"description":"(String) - Specifies the billing mode. The value can only be port for operations connections.\n","type":"string"},"createTime":{"description":"(String) - Specifies the time when the connection is created.\n","type":"string"},"deleteTime":{"description":"(String) - Specifies the time when the connection was deleted.\n","type":"string"},"description":{"description":"(String) - Provides supplementary information about the connection.\n","type":"string"},"deviceId":{"description":"(String) - Specifies the gateway device ID of the connection.\n","type":"string"},"email":{"description":"(String) - This is a reserved field, which is not used currently.\n","type":"string"},"hostingId":{"description":"(String) - Specifies the ID of the operations connection on which the hosted connection is created.\n","type":"string"},"id":{"description":"(String) - Specifies the connection ID.\n","type":"string"},"interfaceName":{"description":"(String) - Specifies the name of the interface accessed by the connection.\n","type":"string"},"lagId":{"description":"(String) - This is a reserved field, which is not used currently.\n","type":"string"},"lastOnestopProductId":{"description":"(String) - This is a reserved field, which is not used currently.\n","type":"string"},"location":{"description":"(String) - Specifies the connection access location.\n","type":"string"},"mobile":{"description":"(String) - This is a reserved field, which is not used currently.\n","type":"string"},"name":{"description":"(String) - Specifies the connection name.\n","type":"string"},"onestopProductId":{"description":"(String) - This is a reserved field, which is not used currently.\n","type":"string"},"orderId":{"description":"(String) - Specifies the connection order ID, which is used to support duration-based billing and identify user orders.\n","type":"string"},"peerLocation":{"description":"(String) - Specifies the physical location of the peer device accessed by the connection, specific to the street or data center name.\n","type":"string"},"peerPortType":{"description":"(String) - This is a reserved field, which is not used currently.\n","type":"string"},"peerProvider":{"description":"(String) - This is a reserved field, which is not used currently.\n","type":"string"},"periodNum":{"description":"(Number) - This is a reserved field, which is not used currently.\n","type":"number"},"periodType":{"description":"(Number) - This is a reserved field, which is not used currently.\n","type":"number"},"portType":{"description":"(String) - Specifies the type of the port used by the connection. The value can be 1G, 10G, 40G, or 100G.\n","type":"string"},"productId":{"description":"(String) - Specifies the product ID corresponding to the connection's order, which is used to custom billing policies such as duration-based packages.\n","type":"string"},"providerName":{"description":"(String) - Specifies the carrier who provides the leased line.\n","type":"string"},"providerStatus":{"description":"(String) - Specifies the status of the carrier's leased line. The value can be ACTIVE or DOWN.\n","type":"string"},"reason":{"description":"(String) - This is a reserved field, which is not used currently.\n","type":"string"},"redundantId":{"description":"(String) - Specifies the ID of the redundant connection using the same gateway.\n","type":"string"},"region":{"type":"string"},"regionId":{"description":"(String) - Specifies the region ID.\n","type":"string"},"serviceKey":{"description":"(String) - This is a reserved field, which is not used currently.\n","type":"string"},"specCode":{"description":"(String) - This is a reserved field, which is not used currently.\n","type":"string"},"status":{"description":"(String) - Specifies the connection status.\nThe value can be ACTIVE, DOWN, BUILD, ERROR, PENDING_DELETE, DELETED, APPLY, DENY, PENDING_PAY, PAID, ORDERING, ACCEPT, or REJECTED.\n","type":"string"},"tenantId":{"description":"(String) - Specifies the project ID.\n","type":"string"},"type":{"description":"(String) - Specifies the connection type. The value can only be hosted.\n","type":"string"},"vgwType":{"description":"(String) - Specifies the type of the gateway. Currently, only the default type is supported.\n","type":"string"},"vlan":{"description":"(Number) - Specifies the VLAN ID of the connection.\n","type":"number"}},"required":["adminStateUp","applicant","applyTime","bandwidth","buildingLineProductId","cableLabel","chargeMode","createTime","deleteTime","description","deviceId","email","hostingId","id","interfaceName","lagId","lastOnestopProductId","location","mobile","name","onestopProductId","orderId","peerLocation","peerPortType","peerProvider","periodNum","periodType","portType","productId","providerName","providerStatus","reason","redundantId","region","regionId","serviceKey","specCode","status","tenantId","type","vgwType","vlan"],"type":"object"}},"opentelekomcloud:index/getDmsAzV1:getDmsAzV1":{"description":"Up-to-date reference of API arguments for DMS AZ you can get at\n[documentation portal](https://docs.otc.t-systems.com/distributed-message-service/api-ref/apis_v2_recommended/other_apis/listing_az_information.html#listavailablezones)\n\nUse this data source to get the ID of an available OpenTelekomCloud DMS AZ.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst az1 = opentelekomcloud.getDmsAzV1({\n    name: \"eu-de-01\",\n    port: \"8002\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\naz1 = opentelekomcloud.get_dms_az_v1(name=\"eu-de-01\",\n    port=\"8002\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var az1 = Opentelekomcloud.GetDmsAzV1.Invoke(new()\n    {\n        Name = \"eu-de-01\",\n        Port = \"8002\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.GetDmsAzV1(ctx, \u0026opentelekomcloud.GetDmsAzV1Args{\n\t\t\tName: pulumi.StringRef(\"eu-de-01\"),\n\t\t\tPort: pulumi.StringRef(\"8002\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetDmsAzV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var az1 = OpentelekomcloudFunctions.getDmsAzV1(GetDmsAzV1Args.builder()\n            .name(\"eu-de-01\")\n            .port(\"8002\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  az1:\n    fn::invoke:\n      function: opentelekomcloud:getDmsAzV1\n      arguments:\n        name: eu-de-01\n        port: '8002'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getDmsAzV1.\n","properties":{"code":{"type":"string","description":"Indicates the code of an AZ.\n"},"id":{"type":"string"},"name":{"type":"string","description":"Indicates the name of an AZ.\n"},"port":{"type":"string","description":"Indicates the port number of an AZ.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getDmsAzV1.\n","properties":{"code":{"description":"See Argument Reference above.\n","type":"string"},"id":{"type":"string"},"name":{"description":"See Argument Reference above.\n","type":"string"},"port":{"description":"See Argument Reference above.\n","type":"string"}},"required":["code","id","name","port"],"type":"object"}},"opentelekomcloud:index/getDmsFlavorV2:getDmsFlavorV2":{"description":"Use this data source to get the list of available flavor details within OpenTelekomCloud.\n\n## Example Usage\n\n### Query the list of kafka flavors for cluster type\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst test = opentelekomcloud.getDmsFlavorV2({\n    type: \"cluster\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ntest = opentelekomcloud.get_dms_flavor_v2(type=\"cluster\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = Opentelekomcloud.GetDmsFlavorV2.Invoke(new()\n    {\n        Type = \"cluster\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.GetDmsFlavorV2(ctx, \u0026opentelekomcloud.GetDmsFlavorV2Args{\n\t\t\tType: pulumi.StringRef(\"cluster\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetDmsFlavorV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var test = OpentelekomcloudFunctions.getDmsFlavorV2(GetDmsFlavorV2Args.builder()\n            .type(\"cluster\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  test:\n    fn::invoke:\n      function: opentelekomcloud:getDmsFlavorV2\n      arguments:\n        type: cluster\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Query the kafka flavor details of the specified ID\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst test = opentelekomcloud.getDmsFlavorV2({\n    flavorId: \"c6.2u4g.cluster\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ntest = opentelekomcloud.get_dms_flavor_v2(flavor_id=\"c6.2u4g.cluster\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = Opentelekomcloud.GetDmsFlavorV2.Invoke(new()\n    {\n        FlavorId = \"c6.2u4g.cluster\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.GetDmsFlavorV2(ctx, \u0026opentelekomcloud.GetDmsFlavorV2Args{\n\t\t\tFlavorId: pulumi.StringRef(\"c6.2u4g.cluster\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetDmsFlavorV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var test = OpentelekomcloudFunctions.getDmsFlavorV2(GetDmsFlavorV2Args.builder()\n            .flavorId(\"c6.2u4g.cluster\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  test:\n    fn::invoke:\n      function: opentelekomcloud:getDmsFlavorV2\n      arguments:\n        flavorId: c6.2u4g.cluster\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Query list of kafka flavors that available in the availability zone list\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst az1 = config.requireObject\u003cany\u003e(\"az1\");\nconst az2 = config.requireObject\u003cany\u003e(\"az2\");\nconst test = opentelekomcloud.getDmsFlavorV2({\n    availabilityZones: [\n        az1,\n        az2,\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\naz1 = config.require_object(\"az1\")\naz2 = config.require_object(\"az2\")\ntest = opentelekomcloud.get_dms_flavor_v2(availability_zones=[\n    az1,\n    az2,\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var az1 = config.RequireObject\u003cdynamic\u003e(\"az1\");\n    var az2 = config.RequireObject\u003cdynamic\u003e(\"az2\");\n    var test = Opentelekomcloud.GetDmsFlavorV2.Invoke(new()\n    {\n        AvailabilityZones = new[]\n        {\n            az1,\n            az2,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\naz1 := cfg.RequireObject(\"az1\")\naz2 := cfg.RequireObject(\"az2\")\n_, err := opentelekomcloud.GetDmsFlavorV2(ctx, \u0026opentelekomcloud.GetDmsFlavorV2Args{\nAvailabilityZones: interface{}{\naz1,\naz2,\n},\n}, nil);\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetDmsFlavorV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var az1 = config.get(\"az1\");\n        final var az2 = config.get(\"az2\");\n        final var test = OpentelekomcloudFunctions.getDmsFlavorV2(GetDmsFlavorV2Args.builder()\n            .availabilityZones(            \n                az1,\n                az2)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  az1:\n    type: dynamic\n  az2:\n    type: dynamic\nvariables:\n  test:\n    fn::invoke:\n      function: opentelekomcloud:getDmsFlavorV2\n      arguments:\n        availabilityZones:\n          - ${az1}\n          - ${az2}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getDmsFlavorV2.\n","properties":{"archType":{"type":"string","description":"Specifies the type of CPU architecture, e.g. **X86**.\n"},"availabilityZones":{"type":"array","items":{"type":"string"},"description":"Specifies the list of availability zones with available resources.\n"},"chargingMode":{"type":"string","description":"Specifies the flavor billing mode.\nThe valid values are **prePaid** and **postPaid**.\n"},"flavorId":{"type":"string","description":"Specifies the DMS flavor ID, e.g. **c6.2u4g.cluster**.\n"},"id":{"type":"string","description":"The flavor ID.\n"},"storageSpecCode":{"type":"string","description":"Specifies the disk IO encoding.\n+ **dms.physical.storage.high.v2**: Type of the disk that uses high I/O.\n+ **dms.physical.storage.ultra.v2**: Type of the disk that uses ultra-high I/O.\n"},"type":{"type":"string","description":"Specifies flavor type. The valid values are **single** and **cluster**.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getDmsFlavorV2.\n","properties":{"archType":{"type":"string"},"availabilityZones":{"description":"The list of availability zones with available resources.\n","items":{"type":"string"},"type":"array"},"chargingMode":{"type":"string"},"flavorId":{"type":"string"},"flavors":{"description":"The list of flavor details.\nThe object structure is documented below.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetDmsFlavorV2Flavor:getDmsFlavorV2Flavor"},"type":"array"},"id":{"description":"The flavor ID.\n","type":"string"},"region":{"description":"The region in which to obtain the dms kafka flavors.\n","type":"string"},"storageSpecCode":{"description":"The disk IO encoding.\n","type":"string"},"type":{"description":"The disk type.\n","type":"string"},"versions":{"description":"The supported flavor versions.\n","items":{"type":"string"},"type":"array"}},"required":["flavors","id","region","versions"],"type":"object"}},"opentelekomcloud:index/getDmsMaintainwindowV1:getDmsMaintainwindowV1":{"description":"Up-to-date reference of API arguments for DMS maintain window you can get at\n[documentation portal](https://docs.otc.t-systems.com/distributed-message-service/api-ref/apis_v2_recommended/other_apis/listing_maintenance_time_windows.html)\n\nUse this data source to get the ID of an available OpenTelekomCloud DMS maintainwindow.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst maintainwindow1 = opentelekomcloud.getDmsMaintainwindowV1({\n    seq: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nmaintainwindow1 = opentelekomcloud.get_dms_maintainwindow_v1(seq=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var maintainwindow1 = Opentelekomcloud.GetDmsMaintainwindowV1.Invoke(new()\n    {\n        Seq = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.GetDmsMaintainwindowV1(ctx, \u0026opentelekomcloud.GetDmsMaintainwindowV1Args{\n\t\t\tSeq: pulumi.Float64Ref(1),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetDmsMaintainwindowV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var maintainwindow1 = OpentelekomcloudFunctions.getDmsMaintainwindowV1(GetDmsMaintainwindowV1Args.builder()\n            .seq(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  maintainwindow1:\n    fn::invoke:\n      function: opentelekomcloud:getDmsMaintainwindowV1\n      arguments:\n        seq: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getDmsMaintainwindowV1.\n","properties":{"begin":{"type":"string","description":"Indicates the time at which a maintenance time window starts.\n"},"default":{"type":"boolean","description":"Indicates whether a maintenance time window is set to the default time segment.\n"},"end":{"type":"string","description":"Indicates the time at which a maintenance time window ends.\n"},"id":{"type":"string"},"seq":{"type":"number","description":"Indicates the sequential number of a maintenance time window.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getDmsMaintainwindowV1.\n","properties":{"begin":{"description":"See Argument Reference above.\n","type":"string"},"default":{"description":"See Argument Reference above.\n","type":"boolean"},"end":{"description":"See Argument Reference above.\n","type":"string"},"id":{"type":"string"},"seq":{"description":"See Argument Reference above.\n","type":"number"}},"required":["begin","default","end","id","seq"],"type":"object"}},"opentelekomcloud:index/getDmsProductV1:getDmsProductV1":{"description":"Up-to-date reference of API arguments for DMS product you can get at\n[documentation portal](https://docs.otc.t-systems.com/distributed-message-service/api-ref/apis_v2_recommended/other_apis/querying_product_specifications_list.html)\n\nUse this data source to get the ID of an available DMS product within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst product1 = opentelekomcloud.getDmsProductV1({\n    engine: \"kafka\",\n    version: \"2.3.0\",\n    instanceType: \"cluster\",\n    partitionNum: \"300\",\n    storage: \"600\",\n    storageSpecCode: \"dms.physical.storage.high\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nproduct1 = opentelekomcloud.get_dms_product_v1(engine=\"kafka\",\n    version=\"2.3.0\",\n    instance_type=\"cluster\",\n    partition_num=\"300\",\n    storage=\"600\",\n    storage_spec_code=\"dms.physical.storage.high\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var product1 = Opentelekomcloud.GetDmsProductV1.Invoke(new()\n    {\n        Engine = \"kafka\",\n        Version = \"2.3.0\",\n        InstanceType = \"cluster\",\n        PartitionNum = \"300\",\n        Storage = \"600\",\n        StorageSpecCode = \"dms.physical.storage.high\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.GetDmsProductV1(ctx, \u0026opentelekomcloud.GetDmsProductV1Args{\n\t\t\tEngine:          \"kafka\",\n\t\t\tVersion:         pulumi.StringRef(\"2.3.0\"),\n\t\t\tInstanceType:    \"cluster\",\n\t\t\tPartitionNum:    pulumi.StringRef(\"300\"),\n\t\t\tStorage:         pulumi.StringRef(\"600\"),\n\t\t\tStorageSpecCode: pulumi.StringRef(\"dms.physical.storage.high\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetDmsProductV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var product1 = OpentelekomcloudFunctions.getDmsProductV1(GetDmsProductV1Args.builder()\n            .engine(\"kafka\")\n            .version(\"2.3.0\")\n            .instanceType(\"cluster\")\n            .partitionNum(\"300\")\n            .storage(\"600\")\n            .storageSpecCode(\"dms.physical.storage.high\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  product1:\n    fn::invoke:\n      function: opentelekomcloud:getDmsProductV1\n      arguments:\n        engine: kafka\n        version: 2.3.0\n        instanceType: cluster\n        partitionNum: 300\n        storage: 600\n        storageSpecCode: dms.physical.storage.high\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getDmsProductV1.\n","properties":{"bandwidth":{"type":"string","description":"Indicates the baseline bandwidth of a Kafka instance.\n"},"engine":{"type":"string","description":"Indicates the name of a message engine. Only \"kafka\" is supported now.\n"},"id":{"type":"string"},"instanceType":{"type":"string","description":"Indicates an instance type. Only \"cluster\" is supported now.\n"},"ioType":{"type":"string","description":"Indicates an I/O type.\n"},"nodeNum":{"type":"string","description":"Indicates the number of nodes in a cluster.\n"},"partitionNum":{"type":"string","description":"Indicates the maximum number of topics that can be created for a Kafka instance.\n"},"storage":{"type":"string","description":"Indicates the message storage space.\n"},"storageSpecCode":{"type":"string","description":"Indicates an I/O specification.\n"},"version":{"type":"string","description":"Indicates the version of a message engine. Only \"2.3.0\" is supported now.\n"},"vmSpecification":{"type":"string","description":"Indicates VM specifications.\n"}},"type":"object","required":["engine","instanceType"]},"outputs":{"description":"A collection of values returned by getDmsProductV1.\n","properties":{"bandwidth":{"description":"See Argument Reference above.\n","type":"string"},"engine":{"description":"See Argument Reference above.\n","type":"string"},"id":{"type":"string"},"instanceType":{"description":"See Argument Reference above.\n","type":"string"},"ioType":{"description":"See Argument Reference above.\n","type":"string"},"nodeNum":{"description":"See Argument Reference above.\n","type":"string"},"partitionNum":{"description":"See Argument Reference above.\n","type":"string"},"storage":{"type":"string"},"storageSpecCode":{"description":"See Argument Reference above.\n","type":"string"},"version":{"description":"See Argument Reference above.\n","type":"string"},"vmSpecification":{"description":"See Argument Reference above.\n","type":"string"}},"required":["engine","id","instanceType","ioType","nodeNum","storage","storageSpecCode","version","vmSpecification"],"type":"object"}},"opentelekomcloud:index/getDnsNameserversV2:getDnsNameserversV2":{"inputs":{"description":"A collection of arguments for invoking getDnsNameserversV2.\n","properties":{"id":{"type":"string"},"nameservers":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FgetDnsNameserversV2Nameserver:getDnsNameserversV2Nameserver"}},"zoneId":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getDnsNameserversV2.\n","properties":{"id":{"type":"string"},"nameservers":{"items":{"$ref":"#/types/opentelekomcloud:index%2FgetDnsNameserversV2Nameserver:getDnsNameserversV2Nameserver"},"type":"array"},"zoneId":{"type":"string"}},"required":["id","zoneId"],"type":"object"}},"opentelekomcloud:index/getDnsZoneV2:getDnsZoneV2":{"description":"Up-to-date reference of API arguments for DNS zone you can get at\n[documentation portal (private zone)](https://docs.otc.t-systems.com/domain-name-service/api-ref/apis/private_zone_management/querying_private_zones.html#dns-api-63006) and\n[documentation portal (public zone)](https://docs.otc.t-systems.com/domain-name-service/api-ref/apis/public_zone_management/querying_public_zones.html#dns-api-62003)\n\nUse this data source to get the ID of an available OpenTelekomCloud DNS zone.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst zone1 = opentelekomcloud.getDnsZoneV2({\n    name: \"example.com.\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nzone1 = opentelekomcloud.get_dns_zone_v2(name=\"example.com.\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var zone1 = Opentelekomcloud.GetDnsZoneV2.Invoke(new()\n    {\n        Name = \"example.com.\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.LookupDnsZoneV2(ctx, \u0026opentelekomcloud.LookupDnsZoneV2Args{\n\t\t\tName: pulumi.StringRef(\"example.com.\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetDnsZoneV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var zone1 = OpentelekomcloudFunctions.getDnsZoneV2(GetDnsZoneV2Args.builder()\n            .name(\"example.com.\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  zone1:\n    fn::invoke:\n      function: opentelekomcloud:getDnsZoneV2\n      arguments:\n        name: example.com.\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getDnsZoneV2.\n","properties":{"description":{"type":"string","description":"A description of the zone.\n"},"email":{"type":"string","description":"The email contact for the zone record.\n"},"id":{"type":"string"},"name":{"type":"string","description":"The name of the zone. A fuzzy search will be performed.\n"},"status":{"type":"string","description":"The zone's status.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags map to be matched.\nAn exact match will be performed. If the value starts with an\nasterisk (*), the string following the asterisk is fuzzy matched.\n"},"ttl":{"type":"number","description":"The time to live (TTL) of the zone.\n"},"zoneType":{"type":"string","description":"The type of the zone: \u003cspan pulumi-lang-nodejs=\"`private`\" pulumi-lang-dotnet=\"`Private`\" pulumi-lang-go=\"`private`\" pulumi-lang-python=\"`private`\" pulumi-lang-yaml=\"`private`\" pulumi-lang-java=\"`private`\"\u003e`private`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`public`\" pulumi-lang-dotnet=\"`Public`\" pulumi-lang-go=\"`public`\" pulumi-lang-python=\"`public`\" pulumi-lang-yaml=\"`public`\" pulumi-lang-java=\"`public`\"\u003e`public`\u003c/span\u003e.\nThis argument is **required** to match \u003cspan pulumi-lang-nodejs=\"`private`\" pulumi-lang-dotnet=\"`Private`\" pulumi-lang-go=\"`private`\" pulumi-lang-python=\"`private`\" pulumi-lang-yaml=\"`private`\" pulumi-lang-java=\"`private`\"\u003e`private`\u003c/span\u003e zones.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getDnsZoneV2.\n","properties":{"createdAt":{"description":"The time the zone was created.\n","type":"string"},"description":{"type":"string"},"email":{"type":"string"},"id":{"type":"string"},"links":{"additionalProperties":{"type":"string"},"type":"object"},"masters":{"description":"An array of master DNS servers.\n","items":{"type":"string"},"type":"array"},"name":{"type":"string"},"poolId":{"description":"The ID of the pool hosting the zone.\n","type":"string"},"projectId":{"description":"The project ID that owns the zone.\n","type":"string"},"serial":{"description":"The serial number of the zone.\n","type":"number"},"status":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"type":"object"},"ttl":{"type":"number"},"updatedAt":{"description":"The time the zone was last updated.\n","type":"string"},"zoneType":{"type":"string"}},"required":["createdAt","description","email","id","links","masters","name","poolId","projectId","serial","status","ttl","updatedAt","zoneType"],"type":"object"}},"opentelekomcloud:index/getDwsFlavorsV2:getDwsFlavorsV2":{"description":"Use this data source to get details about flavors from OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst flavor = opentelekomcloud.getDwsFlavorsV2({\n    vcpus: 32,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nflavor = opentelekomcloud.get_dws_flavors_v2(vcpus=32)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var flavor = Opentelekomcloud.GetDwsFlavorsV2.Invoke(new()\n    {\n        Vcpus = 32,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.GetDwsFlavorsV2(ctx, \u0026opentelekomcloud.GetDwsFlavorsV2Args{\n\t\t\tVcpus: pulumi.Float64Ref(32),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetDwsFlavorsV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var flavor = OpentelekomcloudFunctions.getDwsFlavorsV2(GetDwsFlavorsV2Args.builder()\n            .vcpus(32)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  flavor:\n    fn::invoke:\n      function: opentelekomcloud:getDwsFlavorsV2\n      arguments:\n        vcpus: 32\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getDwsFlavorsV2.\n","properties":{"availabilityZone":{"type":"string","description":"Specifies the availability zone name.\n"},"id":{"type":"string","description":"Indicates a data source ID in UUID format.\n"},"memory":{"type":"number","description":"Specifies the ram of the dws node flavor in GB.\n"},"region":{"type":"string","description":"Specifies the region in which to obtain the dws cluster client. If omitted, the\nprovider-level region will be used.\n"},"vcpus":{"type":"number","description":"Specifies the vcpus of the dws node flavor.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getDwsFlavorsV2.\n","properties":{"availabilityZone":{"description":"Indicates the availability zone where the node resides.\n","type":"string"},"flavors":{"description":"Indicates the flavors information. Structure is documented below.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetDwsFlavorsV2Flavor:getDwsFlavorsV2Flavor"},"type":"array"},"id":{"description":"Indicates a data source ID in UUID format.\n","type":"string"},"memory":{"description":"Indicates the ram of the dws node flavor in GB.\n","type":"number"},"region":{"type":"string"},"vcpus":{"description":"Indicates the vcpus of the dws node flavor.\n","type":"number"}},"required":["flavors","id","region"],"type":"object"}},"opentelekomcloud:index/getEnterpriseVpnConnectionV5:getEnterpriseVpnConnectionV5":{"inputs":{"description":"A collection of arguments for invoking getEnterpriseVpnConnectionV5.\n","properties":{"id":{"type":"string"},"tags":{"type":"object","additionalProperties":{"type":"string"}}},"type":"object","required":["id"]},"outputs":{"description":"A collection of values returned by getEnterpriseVpnConnectionV5.\n","properties":{"createdAt":{"type":"string"},"customerGatewayId":{"type":"string"},"enableNqa":{"type":"boolean"},"gatewayId":{"type":"string"},"gatewayIp":{"type":"string"},"haRole":{"type":"string"},"id":{"type":"string"},"ikepolicies":{"items":{"$ref":"#/types/opentelekomcloud:index%2FgetEnterpriseVpnConnectionV5Ikepolicy:getEnterpriseVpnConnectionV5Ikepolicy"},"type":"array"},"ipsecpolicies":{"items":{"$ref":"#/types/opentelekomcloud:index%2FgetEnterpriseVpnConnectionV5Ipsecpolicy:getEnterpriseVpnConnectionV5Ipsecpolicy"},"type":"array"},"name":{"type":"string"},"peerSubnets":{"items":{"type":"string"},"type":"array"},"policyRules":{"items":{"$ref":"#/types/opentelekomcloud:index%2FgetEnterpriseVpnConnectionV5PolicyRule:getEnterpriseVpnConnectionV5PolicyRule"},"type":"array"},"region":{"type":"string"},"status":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"type":"object"},"tunnelLocalAddress":{"type":"string"},"tunnelPeerAddress":{"type":"string"},"updatedAt":{"type":"string"},"vpnType":{"type":"string"}},"required":["createdAt","customerGatewayId","enableNqa","gatewayId","gatewayIp","haRole","id","ikepolicies","ipsecpolicies","name","peerSubnets","policyRules","region","status","tunnelLocalAddress","tunnelPeerAddress","updatedAt","vpnType"],"type":"object"}},"opentelekomcloud:index/getEnterpriseVpnCustomerGatewayV5:getEnterpriseVpnCustomerGatewayV5":{"inputs":{"description":"A collection of arguments for invoking getEnterpriseVpnCustomerGatewayV5.\n","properties":{"id":{"type":"string"}},"type":"object","required":["id"]},"outputs":{"description":"A collection of values returned by getEnterpriseVpnCustomerGatewayV5.\n","properties":{"asn":{"type":"number"},"createdAt":{"type":"string"},"id":{"type":"string"},"idType":{"type":"string"},"idValue":{"type":"string"},"ip":{"type":"string"},"name":{"type":"string"},"region":{"type":"string"},"routeMode":{"type":"string"},"updatedAt":{"type":"string"}},"required":["asn","createdAt","id","idType","idValue","ip","name","region","routeMode","updatedAt"],"type":"object"}},"opentelekomcloud:index/getEnterpriseVpnGatewayV5:getEnterpriseVpnGatewayV5":{"inputs":{"description":"A collection of arguments for invoking getEnterpriseVpnGatewayV5.\n","properties":{"id":{"type":"string"}},"type":"object","required":["id"]},"outputs":{"description":"A collection of values returned by getEnterpriseVpnGatewayV5.\n","properties":{"accessPrivateIp1":{"type":"string"},"accessPrivateIp2":{"type":"string"},"accessSubnetId":{"type":"string"},"accessVpcId":{"type":"string"},"asn":{"type":"number"},"attachmentType":{"type":"string"},"availabilityZones":{"items":{"type":"string"},"type":"array"},"connectSubnet":{"type":"string"},"createdAt":{"type":"string"},"eip1s":{"items":{"$ref":"#/types/opentelekomcloud:index%2FgetEnterpriseVpnGatewayV5Eip1:getEnterpriseVpnGatewayV5Eip1"},"type":"array"},"eip2s":{"items":{"$ref":"#/types/opentelekomcloud:index%2FgetEnterpriseVpnGatewayV5Eip2:getEnterpriseVpnGatewayV5Eip2"},"type":"array"},"erId":{"type":"string"},"flavor":{"type":"string"},"haMode":{"type":"string"},"id":{"type":"string"},"localSubnets":{"items":{"type":"string"},"type":"array"},"name":{"type":"string"},"networkType":{"type":"string"},"region":{"type":"string"},"status":{"type":"string"},"updatedAt":{"type":"string"},"usedConnectionGroup":{"type":"number"},"usedConnectionNumber":{"type":"number"},"vpcId":{"type":"string"}},"required":["accessPrivateIp1","accessPrivateIp2","accessSubnetId","accessVpcId","asn","attachmentType","availabilityZones","connectSubnet","createdAt","eip1s","eip2s","erId","flavor","haMode","id","localSubnets","name","networkType","region","status","updatedAt","usedConnectionGroup","usedConnectionNumber","vpcId"],"type":"object"}},"opentelekomcloud:index/getErAssociationsV3:getErAssociationsV3":{"description":"Use this data source to get the list of associations.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst instanceId = config.requireObject\u003cany\u003e(\"instanceId\");\nconst routeTableId = config.requireObject\u003cany\u003e(\"routeTableId\");\nconst test = opentelekomcloud.getErAssociationsV3({\n    instanceId: instanceId,\n    routeTableId: routeTableId,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ninstance_id = config.require_object(\"instanceId\")\nroute_table_id = config.require_object(\"routeTableId\")\ntest = opentelekomcloud.get_er_associations_v3(instance_id=instance_id,\n    route_table_id=route_table_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var instanceId = config.RequireObject\u003cdynamic\u003e(\"instanceId\");\n    var routeTableId = config.RequireObject\u003cdynamic\u003e(\"routeTableId\");\n    var test = Opentelekomcloud.GetErAssociationsV3.Invoke(new()\n    {\n        InstanceId = instanceId,\n        RouteTableId = routeTableId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tinstanceId := cfg.RequireObject(\"instanceId\")\n\t\trouteTableId := cfg.RequireObject(\"routeTableId\")\n\t\t_, err := opentelekomcloud.GetErAssociationsV3(ctx, \u0026opentelekomcloud.GetErAssociationsV3Args{\n\t\t\tInstanceId:   instanceId,\n\t\t\tRouteTableId: routeTableId,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetErAssociationsV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var instanceId = config.get(\"instanceId\");\n        final var routeTableId = config.get(\"routeTableId\");\n        final var test = OpentelekomcloudFunctions.getErAssociationsV3(GetErAssociationsV3Args.builder()\n            .instanceId(instanceId)\n            .routeTableId(routeTableId)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  instanceId:\n    type: dynamic\n  routeTableId:\n    type: dynamic\nvariables:\n  test:\n    fn::invoke:\n      function: opentelekomcloud:getErAssociationsV3\n      arguments:\n        instanceId: ${instanceId}\n        routeTableId: ${routeTableId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getErAssociationsV3.\n","properties":{"attachmentId":{"type":"string","description":"Specifies the attachment ID corresponding to the association.\n"},"attachmentType":{"type":"string","description":"Specifies the attachment type corresponding to the association.\n"},"id":{"type":"string","description":"The association ID.\n"},"instanceId":{"type":"string","description":"Specifies the ER instance ID to which the association belongs.\n"},"routeTableId":{"type":"string","description":"Specifies the route table ID to which the association belongs.\n"},"status":{"type":"string","description":"Specifies the status of the association. Default value is \u003cspan pulumi-lang-nodejs=\"`available`\" pulumi-lang-dotnet=\"`Available`\" pulumi-lang-go=\"`available`\" pulumi-lang-python=\"`available`\" pulumi-lang-yaml=\"`available`\" pulumi-lang-java=\"`available`\"\u003e`available`\u003c/span\u003e.\nThe valid values are as follows:\n+ **available**\n+ **failed**\n"}},"type":"object","required":["instanceId","routeTableId"]},"outputs":{"description":"A collection of values returned by getErAssociationsV3.\n","properties":{"associations":{"description":"All associations that match the filter parameters.\nThe associations structure is documented below.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetErAssociationsV3Association:getErAssociationsV3Association"},"type":"array"},"attachmentId":{"description":"The attachment ID corresponding to the association.\n","type":"string"},"attachmentType":{"description":"The type of the attachment corresponding to the association.\n","type":"string"},"id":{"description":"The association ID.\n","type":"string"},"instanceId":{"type":"string"},"routeTableId":{"type":"string"},"status":{"description":"The current status of the association.\n","type":"string"}},"required":["associations","id","instanceId","routeTableId"],"type":"object"}},"opentelekomcloud:index/getErAvailabilityZonesV3:getErAvailabilityZonesV3":{"description":"Use this data source to query availability zones where ER instances can be created within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst zones = opentelekomcloud.getErAvailabilityZonesV3({});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nzones = opentelekomcloud.get_er_availability_zones_v3()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var zones = Opentelekomcloud.GetErAvailabilityZonesV3.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.GetErAvailabilityZonesV3(ctx, \u0026opentelekomcloud.GetErAvailabilityZonesV3Args{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetErAvailabilityZonesV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var zones = OpentelekomcloudFunctions.getErAvailabilityZonesV3(GetErAvailabilityZonesV3Args.builder()\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  zones:\n    fn::invoke:\n      function: opentelekomcloud:getErAvailabilityZonesV3\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getErAvailabilityZonesV3.\n","properties":{"id":{"type":"string","description":"The data source ID.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getErAvailabilityZonesV3.\n","properties":{"id":{"description":"The data source ID.\n","type":"string"},"names":{"description":"The names of availability zone.\n","items":{"type":"string"},"type":"array"},"region":{"description":"The region where resources are located.\n","type":"string"}},"required":["id","names","region"],"type":"object"}},"opentelekomcloud:index/getErFlowLogsV3:getErFlowLogsV3":{"description":"Use this data source to get the list of flow logs.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst instanceId = config.requireObject\u003cany\u003e(\"instanceId\");\nconst resourceId = config.requireObject\u003cany\u003e(\"resourceId\");\nconst test = opentelekomcloud.getErFlowLogsV3({\n    instanceId: instanceId,\n    resourceId: resourceId,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ninstance_id = config.require_object(\"instanceId\")\nresource_id = config.require_object(\"resourceId\")\ntest = opentelekomcloud.get_er_flow_logs_v3(instance_id=instance_id,\n    resource_id=resource_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var instanceId = config.RequireObject\u003cdynamic\u003e(\"instanceId\");\n    var resourceId = config.RequireObject\u003cdynamic\u003e(\"resourceId\");\n    var test = Opentelekomcloud.GetErFlowLogsV3.Invoke(new()\n    {\n        InstanceId = instanceId,\n        ResourceId = resourceId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tinstanceId := cfg.RequireObject(\"instanceId\")\n\t\tresourceId := cfg.RequireObject(\"resourceId\")\n\t\t_, err := opentelekomcloud.GetErFlowLogsV3(ctx, \u0026opentelekomcloud.GetErFlowLogsV3Args{\n\t\t\tInstanceId: instanceId,\n\t\t\tResourceId: pulumi.StringRef(resourceId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetErFlowLogsV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var instanceId = config.get(\"instanceId\");\n        final var resourceId = config.get(\"resourceId\");\n        final var test = OpentelekomcloudFunctions.getErFlowLogsV3(GetErFlowLogsV3Args.builder()\n            .instanceId(instanceId)\n            .resourceId(resourceId)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  instanceId:\n    type: dynamic\n  resourceId:\n    type: dynamic\nvariables:\n  test:\n    fn::invoke:\n      function: opentelekomcloud:getErFlowLogsV3\n      arguments:\n        instanceId: ${instanceId}\n        resourceId: ${resourceId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getErFlowLogsV3.\n","properties":{"enabled":{"type":"string","description":"Specifies the switch status of the flow log.\nThe value can be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"flowLogId":{"type":"string","description":"Specifies the ID of the flow log.\n"},"id":{"type":"string","description":"The ID of the flow log.\n"},"instanceId":{"type":"string","description":"Specifies the ID of the ER instance to which the flow logs belong.\n"},"logGroupId":{"type":"string","description":"Specifies the ID of the log group to which the flow logs belong.\n"},"logStreamId":{"type":"string","description":"Specifies the ID of the log stream to which the flow logs belong.\n"},"name":{"type":"string","description":"Specifies the name of the flow log.\n"},"resourceId":{"type":"string","description":"Specifies the ID of the attachment to which the flow logs belong.\n"},"resourceType":{"type":"string","description":"Specifies the type of the flow logs.\nThe valid values are as follows:\n"},"status":{"type":"string","description":"Specifies the status of the flow logs.\n"}},"type":"object","required":["instanceId"]},"outputs":{"description":"A collection of values returned by getErFlowLogsV3.\n","properties":{"enabled":{"description":"The switch of the flow log.\n","type":"string"},"flowLogId":{"type":"string"},"flowLogs":{"description":"The list ot the flow logs.\nThe\u003cspan pulumi-lang-nodejs=\" flowLogs \" pulumi-lang-dotnet=\" FlowLogs \" pulumi-lang-go=\" flowLogs \" pulumi-lang-python=\" flow_logs \" pulumi-lang-yaml=\" flowLogs \" pulumi-lang-java=\" flowLogs \"\u003e flow_logs \u003c/span\u003estructure is documented below.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetErFlowLogsV3FlowLog:getErFlowLogsV3FlowLog"},"type":"array"},"id":{"description":"The ID of the flow log.\n","type":"string"},"instanceId":{"type":"string"},"logGroupId":{"description":"The ID of the log group to which the flow log belongs.\n","type":"string"},"logStreamId":{"description":"The ID of the log stream to which the flow log belongs.\n","type":"string"},"name":{"description":"The name of the flow log.\n","type":"string"},"region":{"description":"Region where the flow logs are located.\n","type":"string"},"resourceId":{"description":"The ID of the attachment to which the flow log belongs.\n","type":"string"},"resourceType":{"description":"The type of the flow log.\n","type":"string"},"status":{"description":"The status of the flow log.\n","type":"string"}},"required":["flowLogs","id","instanceId","region"],"type":"object"}},"opentelekomcloud:index/getErInstancesV3:getErInstancesV3":{"description":"Use this data source to filter ER instances within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst test = opentelekomcloud.getErInstancesV3({\n    tags: {\n        foo: \"bar\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ntest = opentelekomcloud.get_er_instances_v3(tags={\n    \"foo\": \"bar\",\n})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = Opentelekomcloud.GetErInstancesV3.Invoke(new()\n    {\n        Tags = \n        {\n            { \"foo\", \"bar\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.GetErInstancesV3(ctx, \u0026opentelekomcloud.GetErInstancesV3Args{\n\t\t\tTags: map[string]interface{}{\n\t\t\t\t\"foo\": \"bar\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetErInstancesV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var test = OpentelekomcloudFunctions.getErInstancesV3(GetErInstancesV3Args.builder()\n            .tags(Map.of(\"foo\", \"bar\"))\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  test:\n    fn::invoke:\n      function: opentelekomcloud:getErInstancesV3\n      arguments:\n        tags:\n          foo: bar\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getErInstancesV3.\n","properties":{"id":{"type":"string","description":"The ER instance ID.\n"},"instanceId":{"type":"string","description":"Specifies the ID used to query specified ER instance.\n"},"name":{"type":"string","description":"Specifies the name used to filter the ER instances.\nThe valid length is limited from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e, only Chinese and English letters, digits, underscores (_) and\nhyphens (-) are allowed.\n"},"region":{"type":"string","description":"The region where the ER instances are located.\n"},"status":{"type":"string","description":"Specifies the status used to filter the ER instances.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the key/value pairs used to filter the ER instances.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getErInstancesV3.\n","properties":{"id":{"description":"The ER instance ID.\n","type":"string"},"instanceId":{"type":"string"},"instances":{"description":"All instances that match the filter parameters.\nThe object structure is documented below.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetErInstancesV3Instance:getErInstancesV3Instance"},"type":"array"},"name":{"description":"The name of the ER instance.\n","type":"string"},"region":{"description":"The region where the ER instances are located.\n","type":"string"},"status":{"description":"The current status of the ER instance.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"The key/value pairs to associate with the ER instance.\n","type":"object"}},"required":["id","instances"],"type":"object"}},"opentelekomcloud:index/getErPropagationsV3:getErPropagationsV3":{"description":"Use this data source to get the list of propagations.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst instanceId = config.requireObject\u003cany\u003e(\"instanceId\");\nconst routeTableId = config.requireObject\u003cany\u003e(\"routeTableId\");\nconst attachmentId = config.requireObject\u003cany\u003e(\"attachmentId\");\nconst test = opentelekomcloud.getErPropagationsV3({\n    instanceId: instanceId,\n    routeTableId: routeTableId,\n    attachmentId: attachmentId,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ninstance_id = config.require_object(\"instanceId\")\nroute_table_id = config.require_object(\"routeTableId\")\nattachment_id = config.require_object(\"attachmentId\")\ntest = opentelekomcloud.get_er_propagations_v3(instance_id=instance_id,\n    route_table_id=route_table_id,\n    attachment_id=attachment_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var instanceId = config.RequireObject\u003cdynamic\u003e(\"instanceId\");\n    var routeTableId = config.RequireObject\u003cdynamic\u003e(\"routeTableId\");\n    var attachmentId = config.RequireObject\u003cdynamic\u003e(\"attachmentId\");\n    var test = Opentelekomcloud.GetErPropagationsV3.Invoke(new()\n    {\n        InstanceId = instanceId,\n        RouteTableId = routeTableId,\n        AttachmentId = attachmentId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tinstanceId := cfg.RequireObject(\"instanceId\")\n\t\trouteTableId := cfg.RequireObject(\"routeTableId\")\n\t\tattachmentId := cfg.RequireObject(\"attachmentId\")\n\t\t_, err := opentelekomcloud.GetErPropagationsV3(ctx, \u0026opentelekomcloud.GetErPropagationsV3Args{\n\t\t\tInstanceId:   instanceId,\n\t\t\tRouteTableId: routeTableId,\n\t\t\tAttachmentId: pulumi.StringRef(attachmentId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetErPropagationsV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var instanceId = config.get(\"instanceId\");\n        final var routeTableId = config.get(\"routeTableId\");\n        final var attachmentId = config.get(\"attachmentId\");\n        final var test = OpentelekomcloudFunctions.getErPropagationsV3(GetErPropagationsV3Args.builder()\n            .instanceId(instanceId)\n            .routeTableId(routeTableId)\n            .attachmentId(attachmentId)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  instanceId:\n    type: dynamic\n  routeTableId:\n    type: dynamic\n  attachmentId:\n    type: dynamic\nvariables:\n  test:\n    fn::invoke:\n      function: opentelekomcloud:getErPropagationsV3\n      arguments:\n        instanceId: ${instanceId}\n        routeTableId: ${routeTableId}\n        attachmentId: ${attachmentId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getErPropagationsV3.\n","properties":{"attachmentId":{"type":"string","description":"Specifies the attachment ID to which the propagation belongs.\n"},"attachmentType":{"type":"string","description":"Specifies the attachment type of corresponding to the propagation.\nThe valid values are as follows:\n+ **vpc**: Virtual private cloud.\n+ **vpn**: VPN gateway.\n+ **vgw**: Virtual gateway of cloud private line.\n+ **peering**: Peering connection, through the cloud connection (CC) to load ERs in different regions to create a\npeering connection.\n+ **enc**: Enterprise connect network in EC.\n+ **cfw**: VPC border firewall.\n"},"id":{"type":"string","description":"The propagation ID.\n"},"instanceId":{"type":"string","description":"Specifies the ER instance ID to which the propagation belongs.\n"},"routeTableId":{"type":"string","description":"Specifies the route table ID to which the propagation belongs.\n"},"status":{"type":"string","description":"Specifies the status of the propagation. Default value is \u003cspan pulumi-lang-nodejs=\"`available`\" pulumi-lang-dotnet=\"`Available`\" pulumi-lang-go=\"`available`\" pulumi-lang-python=\"`available`\" pulumi-lang-yaml=\"`available`\" pulumi-lang-java=\"`available`\"\u003e`available`\u003c/span\u003e.\nThe valid values are as follows:\n+ **available**\n+ **failed**\n"}},"type":"object","required":["instanceId","routeTableId"]},"outputs":{"description":"A collection of values returned by getErPropagationsV3.\n","properties":{"attachmentId":{"description":"The attachment ID corresponding to the propagation.\n","type":"string"},"attachmentType":{"description":"The attachment type corresponding to the propagation.\n","type":"string"},"id":{"description":"The propagation ID.\n","type":"string"},"instanceId":{"description":"The ER instance ID to which the propagation belongs.\n","type":"string"},"propagations":{"description":"All propagations that match the filter parameters.\nThe propagations structure is documented below.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetErPropagationsV3Propagation:getErPropagationsV3Propagation"},"type":"array"},"routeTableId":{"description":"The route table ID of corresponding to the propagation.\n","type":"string"},"status":{"description":"The current status of the propagation.\n","type":"string"}},"required":["id","instanceId","propagations","routeTableId"],"type":"object"}},"opentelekomcloud:index/getErQuotasV3:getErQuotasV3":{"description":"Using this data source to query the list of available resource quotas within OpenTelekomCloud.\n\n\u003e Using an invalid ID to filter the results will not report an error or return an empty list, but will return a quota\n   list with all usage equal to 0.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst test = opentelekomcloud.getErQuotasV3({});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ntest = opentelekomcloud.get_er_quotas_v3()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = Opentelekomcloud.GetErQuotasV3.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.GetErQuotasV3(ctx, \u0026opentelekomcloud.GetErQuotasV3Args{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetErQuotasV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var test = OpentelekomcloudFunctions.getErQuotasV3(GetErQuotasV3Args.builder()\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  test:\n    fn::invoke:\n      function: opentelekomcloud:getErQuotasV3\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getErQuotasV3.\n","properties":{"id":{"type":"string","description":"The data source ID.\n"},"instanceId":{"type":"string","description":"The instance ID.\n"},"routeTableId":{"type":"string","description":"The route table ID.\n"},"type":{"type":"string","description":"The quota type to be queried.\nThe valid values are as follows:\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getErQuotasV3.\n","properties":{"id":{"description":"The data source ID.\n","type":"string"},"instanceId":{"type":"string"},"quotas":{"description":"All quotas that match the filter parameters.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetErQuotasV3Quota:getErQuotasV3Quota"},"type":"array"},"region":{"description":"The region where resources are located.\n","type":"string"},"routeTableId":{"type":"string"},"type":{"description":"The quota type.\n","type":"string"}},"required":["id","quotas","region"],"type":"object"}},"opentelekomcloud:index/getErRouteTablesV3:getErRouteTablesV3":{"description":"Use this data source to query the route tables under the ER instance within OpenTelekomCloud.\n\n## Example Usage\n\n### Querying specified route tables under ER instance using name\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst instanceId = config.requireObject\u003cany\u003e(\"instanceId\");\nconst routeTableName = config.requireObject\u003cany\u003e(\"routeTableName\");\nconst test = opentelekomcloud.getErRouteTablesV3({\n    instanceId: instanceId,\n    name: routeTableName,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ninstance_id = config.require_object(\"instanceId\")\nroute_table_name = config.require_object(\"routeTableName\")\ntest = opentelekomcloud.get_er_route_tables_v3(instance_id=instance_id,\n    name=route_table_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var instanceId = config.RequireObject\u003cdynamic\u003e(\"instanceId\");\n    var routeTableName = config.RequireObject\u003cdynamic\u003e(\"routeTableName\");\n    var test = Opentelekomcloud.GetErRouteTablesV3.Invoke(new()\n    {\n        InstanceId = instanceId,\n        Name = routeTableName,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tinstanceId := cfg.RequireObject(\"instanceId\")\n\t\trouteTableName := cfg.RequireObject(\"routeTableName\")\n\t\t_, err := opentelekomcloud.GetErRouteTablesV3(ctx, \u0026opentelekomcloud.GetErRouteTablesV3Args{\n\t\t\tInstanceId: instanceId,\n\t\t\tName:       pulumi.StringRef(routeTableName),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetErRouteTablesV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var instanceId = config.get(\"instanceId\");\n        final var routeTableName = config.get(\"routeTableName\");\n        final var test = OpentelekomcloudFunctions.getErRouteTablesV3(GetErRouteTablesV3Args.builder()\n            .instanceId(instanceId)\n            .name(routeTableName)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  instanceId:\n    type: dynamic\n  routeTableName:\n    type: dynamic\nvariables:\n  test:\n    fn::invoke:\n      function: opentelekomcloud:getErRouteTablesV3\n      arguments:\n        instanceId: ${instanceId}\n        name: ${routeTableName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Querying specified route tables under ER instance using tags\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst instanceId = config.requireObject\u003cany\u003e(\"instanceId\");\nconst test = opentelekomcloud.getErRouteTablesV3({\n    instanceId: instanceId,\n    tags: {\n        foo: \"bar\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ninstance_id = config.require_object(\"instanceId\")\ntest = opentelekomcloud.get_er_route_tables_v3(instance_id=instance_id,\n    tags={\n        \"foo\": \"bar\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var instanceId = config.RequireObject\u003cdynamic\u003e(\"instanceId\");\n    var test = Opentelekomcloud.GetErRouteTablesV3.Invoke(new()\n    {\n        InstanceId = instanceId,\n        Tags = \n        {\n            { \"foo\", \"bar\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tinstanceId := cfg.RequireObject(\"instanceId\")\n\t\t_, err := opentelekomcloud.GetErRouteTablesV3(ctx, \u0026opentelekomcloud.GetErRouteTablesV3Args{\n\t\t\tInstanceId: instanceId,\n\t\t\tTags: map[string]interface{}{\n\t\t\t\t\"foo\": \"bar\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetErRouteTablesV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var instanceId = config.get(\"instanceId\");\n        final var test = OpentelekomcloudFunctions.getErRouteTablesV3(GetErRouteTablesV3Args.builder()\n            .instanceId(instanceId)\n            .tags(Map.of(\"foo\", \"bar\"))\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  instanceId:\n    type: dynamic\nvariables:\n  test:\n    fn::invoke:\n      function: opentelekomcloud:getErRouteTablesV3\n      arguments:\n        instanceId: ${instanceId}\n        tags:\n          foo: bar\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getErRouteTablesV3.\n","properties":{"id":{"type":"string","description":"The route ID.\n"},"instanceId":{"type":"string","description":"Specifies the ID of the ER instance to which the route tables belongs.\n"},"name":{"type":"string","description":"Specifies the name used to filter the route tables.\nThe name can contain \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e characters, only English letters, digits, underscore (_),\nhyphens (-) and dots (.) allowed.\n"},"routeTableId":{"type":"string","description":"Specifies the route table ID used to query specified route table.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the key/value pairs used to filter the route tables.\n"}},"type":"object","required":["instanceId"]},"outputs":{"description":"A collection of values returned by getErRouteTablesV3.\n","properties":{"id":{"description":"The route ID.\n","type":"string"},"instanceId":{"type":"string"},"name":{"description":"The name of the route table.\n","type":"string"},"routeTableId":{"type":"string"},"routeTables":{"description":"All route tables that match the filter parameters.\nThe object structure is documented below.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetErRouteTablesV3RouteTable:getErRouteTablesV3RouteTable"},"type":"array"},"tags":{"additionalProperties":{"type":"string"},"type":"object"}},"required":["id","instanceId","routeTables"],"type":"object"}},"opentelekomcloud:index/getEvsVolumesV2:getEvsVolumesV2":{"description":"Use this data source to query the detailed information list of the EVS disks within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst targetServer = config.requireObject\u003cany\u003e(\"targetServer\");\nconst test = opentelekomcloud.getEvsVolumesV2({\n    serverId: targetServer,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ntarget_server = config.require_object(\"targetServer\")\ntest = opentelekomcloud.get_evs_volumes_v2(server_id=target_server)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var targetServer = config.RequireObject\u003cdynamic\u003e(\"targetServer\");\n    var test = Opentelekomcloud.GetEvsVolumesV2.Invoke(new()\n    {\n        ServerId = targetServer,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\ttargetServer := cfg.RequireObject(\"targetServer\")\n\t\t_, err := opentelekomcloud.GetEvsVolumesV2(ctx, \u0026opentelekomcloud.GetEvsVolumesV2Args{\n\t\t\tServerId: pulumi.StringRef(targetServer),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetEvsVolumesV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var targetServer = config.get(\"targetServer\");\n        final var test = OpentelekomcloudFunctions.getEvsVolumesV2(GetEvsVolumesV2Args.builder()\n            .serverId(targetServer)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  targetServer:\n    type: dynamic\nvariables:\n  test:\n    fn::invoke:\n      function: opentelekomcloud:getEvsVolumesV2\n      arguments:\n        serverId: ${targetServer}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getEvsVolumesV2.\n","properties":{"availabilityZone":{"type":"string","description":"Specifies the availability zone for the disks.\n"},"id":{"type":"string","description":"The ID of the attached resource in UUID format.\n"},"name":{"type":"string","description":"Specifies the name for the disks. This field will undergo a fuzzy matching query, the\nquery result is for all disks whose names contain this value.\n"},"serverId":{"type":"string","description":"Specifies the server ID to which the disks are attached.\n"},"shareable":{"type":"boolean","description":"Specifies whether the disk is shareable.\n"},"status":{"type":"string","description":"Specifies the disk status. The valid values are as following:\n+ **FREEZED**\n+ **BIND_ERROR**\n+ **BINDING**\n+ **PENDING_DELETE**\n+ **PENDING_CREATE**\n+ **NOTIFYING**\n+ **NOTIFY_DELETE**\n+ **PENDING_UPDATE**\n+ **DOWN**\n+ **ACTIVE**\n+ **ELB**\n+ **ERROR**\n+ **VPN**\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Specifies the included key/value pairs which associated with the desired disk.\n"},"volumeId":{"type":"string","description":"Specifies the ID for the disk.\n"},"volumeTypeId":{"type":"string","description":"Specifies the type ID for the disks.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getEvsVolumesV2.\n","properties":{"availabilityZone":{"description":"The availability zone of the disk.\n","type":"string"},"id":{"description":"The ID of the attached resource in UUID format.\n","type":"string"},"name":{"description":"The disk name.\n","type":"string"},"serverId":{"description":"The ID of the server to which the disk is attached.\n","type":"string"},"shareable":{"description":"Whether the disk is shareable.\n","type":"boolean"},"status":{"description":"The disk status.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"The disk tags.\n","type":"object"},"volumeId":{"type":"string"},"volumeTypeId":{"type":"string"},"volumes":{"description":"The detailed information of the disks. Structure is documented below.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetEvsVolumesV2Volume:getEvsVolumesV2Volume"},"type":"array"}},"required":["id","volumes"],"type":"object"}},"opentelekomcloud:index/getFgsFunctionsV2:getFgsFunctionsV2":{"description":"Use this data source to filter FGS functions within OpenTelekomCloud.\n\n## Example Usage\n\n### Obtain all public functions\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst test = opentelekomcloud.getFgsFunctionsV2({});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ntest = opentelekomcloud.get_fgs_functions_v2()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = Opentelekomcloud.GetFgsFunctionsV2.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.GetFgsFunctionsV2(ctx, \u0026opentelekomcloud.GetFgsFunctionsV2Args{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetFgsFunctionsV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var test = OpentelekomcloudFunctions.getFgsFunctionsV2(GetFgsFunctionsV2Args.builder()\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  test:\n    fn::invoke:\n      function: opentelekomcloud:getFgsFunctionsV2\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getFgsFunctionsV2.\n","properties":{"enterpriseProjectId":{"type":"string","description":"Specifies the ID of the enterprise project to which the functions belong.\n"},"id":{"type":"string","description":"The data source ID.\n"},"name":{"type":"string","description":"Specifies the function name used to query the specified function.\n"},"packageName":{"type":"string","description":"Specifies the package name used to query the functions.\n"},"runtime":{"type":"string","description":"Specifies the dependency package runtime used to query the functions.\nThe valid values are as follows:\n+ **Java8**\n+ **Java11**\n+ **Node.js6.10**\n+ **Node.js8.10**\n+ **Node.js10.16**\n+ **Node.js12.13**\n+ **Node.js14.18**\n+ **Node.js16.17**\n+ **Node.js18.15**\n+ **Python2.7**\n+ **Python3.6**\n+ **Python3.9**\n+ **Python3.10**\n+ **Go1.x**\n+ **C#(.NET Core 2.1)**\n+ **C#(.NET Core 3.1)**\n+ **Custom**\n+ **PHP7.3**\n+ **http**\n+ **Custom Image**\n+ **Cangjie1.0**\n"},"urn":{"type":"string","description":"Specifies the function URN used to query the specified function.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getFgsFunctionsV2.\n","properties":{"enterpriseProjectId":{"description":"The enterprise project ID to which the function belongs.\n","type":"string"},"functions":{"description":"All functions that match the filter parameters.\nThe functions structure is documented below.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetFgsFunctionsV2Function:getFgsFunctionsV2Function"},"type":"array"},"id":{"description":"The data source ID.\n","type":"string"},"name":{"description":"The function name.\n","type":"string"},"packageName":{"type":"string"},"region":{"description":"The functionGraph region.\n","type":"string"},"runtime":{"description":"The dependency package runtime of the function.\n","type":"string"},"urn":{"description":"The function URN.\n","type":"string"}},"required":["functions","id","region"],"type":"object"}},"opentelekomcloud:index/getGeminiInstanceTemplateV3:getGeminiInstanceTemplateV3":{"description":"Use this data source to query GeminiDB instance parameter settings.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst instanceId = config.requireObject\u003cany\u003e(\"instanceId\");\nconst test = opentelekomcloud.getGeminiInstanceTemplateV3({\n    instanceId: instanceId,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ninstance_id = config.require_object(\"instanceId\")\ntest = opentelekomcloud.get_gemini_instance_template_v3(instance_id=instance_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var instanceId = config.RequireObject\u003cdynamic\u003e(\"instanceId\");\n    var test = Opentelekomcloud.GetGeminiInstanceTemplateV3.Invoke(new()\n    {\n        InstanceId = instanceId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tinstanceId := cfg.RequireObject(\"instanceId\")\n\t\t_, err := opentelekomcloud.GetGeminiInstanceTemplateV3(ctx, \u0026opentelekomcloud.GetGeminiInstanceTemplateV3Args{\n\t\t\tInstanceId: instanceId,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetGeminiInstanceTemplateV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var instanceId = config.get(\"instanceId\");\n        final var test = OpentelekomcloudFunctions.getGeminiInstanceTemplateV3(GetGeminiInstanceTemplateV3Args.builder()\n            .instanceId(instanceId)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  instanceId:\n    type: dynamic\nvariables:\n  test:\n    fn::invoke:\n      function: opentelekomcloud:getGeminiInstanceTemplateV3\n      arguments:\n        instanceId: ${instanceId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getGeminiInstanceTemplateV3.\n","properties":{"id":{"type":"string","description":"The parameter template ID.\n"},"instanceId":{"type":"string","description":"Specifies the instance ID.\n"}},"type":"object","required":["instanceId"]},"outputs":{"description":"A collection of values returned by getGeminiInstanceTemplateV3.\n","properties":{"configurationParameters":{"description":"Indicates the list of parameters defined by users based on a default parameter template.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetGeminiInstanceTemplateV3ConfigurationParameter:getGeminiInstanceTemplateV3ConfigurationParameter"},"type":"array"},"createdAt":{"description":"Indicates the creation time in the **yyyy-MM-ddTHH:mm:ssZ** format.\n","type":"string"},"datastoreName":{"description":"Indicates the database name.\n","type":"string"},"datastoreVersionName":{"description":"Indicates the database version name.\n","type":"string"},"id":{"description":"The parameter template ID.\n","type":"string"},"instanceId":{"type":"string"},"mode":{"description":"Indicates the instance type.\n","type":"string"},"region":{"description":"The parameter region.\n","type":"string"},"updatedAt":{"description":"Indicates the update time in the **yyyy-MM-ddTHH:mm:ssZ** format.\n","type":"string"}},"required":["configurationParameters","createdAt","datastoreName","datastoreVersionName","id","instanceId","mode","region","updatedAt"],"type":"object"}},"opentelekomcloud:index/getGeminiInstancesV3:getGeminiInstancesV3":{"description":"Use this data source to get available OpenTelekomCloud GeminiDB Cassandra instances.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst _this = opentelekomcloud.getGeminiInstancesV3({\n    name: \"gemini-instance\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nthis = opentelekomcloud.get_gemini_instances_v3(name=\"gemini-instance\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = Opentelekomcloud.GetGeminiInstancesV3.Invoke(new()\n    {\n        Name = \"gemini-instance\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.GetGeminiInstancesV3(ctx, \u0026opentelekomcloud.GetGeminiInstancesV3Args{\n\t\t\tName: pulumi.StringRef(\"gemini-instance\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetGeminiInstancesV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var this = OpentelekomcloudFunctions.getGeminiInstancesV3(GetGeminiInstancesV3Args.builder()\n            .name(\"gemini-instance\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  this:\n    fn::invoke:\n      function: opentelekomcloud:getGeminiInstancesV3\n      arguments:\n        name: gemini-instance\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getGeminiInstancesV3.\n","properties":{"id":{"type":"string","description":"Indicates the node ID.\n"},"name":{"type":"string","description":"Specifies the name of the instance.\n"},"subnetId":{"type":"string","description":"Specifies the network ID of a subnet.\n"},"vpcId":{"type":"string","description":"Specifies the VPC ID.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getGeminiInstancesV3.\n","properties":{"id":{"description":"Indicates the node ID.\n","type":"string"},"instances":{"description":"An array of available instances.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetGeminiInstancesV3Instance:getGeminiInstancesV3Instance"},"type":"array"},"name":{"description":"Indicates the node name.\n","type":"string"},"subnetId":{"description":"Indicates the network ID of a subnet.\n","type":"string"},"vpcId":{"description":"Indicates the VPC ID.\n","type":"string"}},"required":["id","instances"],"type":"object"}},"opentelekomcloud:index/getGeminiQuotasV3:getGeminiQuotasV3":{"description":"Use this data source to get the list of GeminiDB resource quotas for your tenant.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst test = opentelekomcloud.getGeminiQuotasV3({});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ntest = opentelekomcloud.get_gemini_quotas_v3()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = Opentelekomcloud.GetGeminiQuotasV3.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.GetGeminiQuotasV3(ctx, \u0026opentelekomcloud.GetGeminiQuotasV3Args{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetGeminiQuotasV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var test = OpentelekomcloudFunctions.getGeminiQuotasV3(GetGeminiQuotasV3Args.builder()\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  test:\n    fn::invoke:\n      function: opentelekomcloud:getGeminiQuotasV3\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getGeminiQuotasV3.\n","properties":{"id":{"type":"string","description":"The data source ID.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getGeminiQuotasV3.\n","properties":{"id":{"description":"The data source ID.\n","type":"string"},"quotas":{"description":"Indicates the list of resource quotas.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetGeminiQuotasV3Quota:getGeminiQuotasV3Quota"},"type":"array"},"region":{"description":"The data source region.\n","type":"string"}},"required":["id","quotas","region"],"type":"object"}},"opentelekomcloud:index/getGeminiTemplatesV3:getGeminiTemplatesV3":{"description":"Use this data source to get the list of GeminiDB parameter templates, including all of the default and custom parameter templates.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst test = opentelekomcloud.getGeminiTemplatesV3({});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ntest = opentelekomcloud.get_gemini_templates_v3()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = Opentelekomcloud.GetGeminiTemplatesV3.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.GetGeminiTemplatesV3(ctx, \u0026opentelekomcloud.GetGeminiTemplatesV3Args{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetGeminiTemplatesV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var test = OpentelekomcloudFunctions.getGeminiTemplatesV3(GetGeminiTemplatesV3Args.builder()\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  test:\n    fn::invoke:\n      function: opentelekomcloud:getGeminiTemplatesV3\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getGeminiTemplatesV3.\n","properties":{"id":{"type":"string","description":"Indicates the ID of the parameter template.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getGeminiTemplatesV3.\n","properties":{"id":{"description":"Indicates the ID of the parameter template.\n","type":"string"},"region":{"description":"The data source region.\n","type":"string"},"templates":{"description":"Indicates the list of parameter templates.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetGeminiTemplatesV3Template:getGeminiTemplatesV3Template"},"type":"array"}},"required":["id","region","templates"],"type":"object"}},"opentelekomcloud:index/getHssHostGroupsV5:getHssHostGroupsV5":{"description":"Up-to-date reference of API arguments for EIP status you can get at\n[documentation portal](https://docs.otc.t-systems.com/host-security-service/api-ref/api_description/server_management/querying_server_groups.html#listhostgroups)\n\nUse this data source to get the list of HSS host groups within OpenTelekomCloud.\n\n","inputs":{"description":"A collection of arguments for invoking getHssHostGroupsV5.\n","properties":{"groupId":{"type":"string","description":"Specifies the ID of the host group to be queried.\n"},"hostNum":{"type":"string","description":"Specifies the number of hosts in the host groups to be queried.\n"},"id":{"type":"string","description":"The ID of the host group.\n"},"name":{"type":"string","description":"Specifies the name of the host group to be queried. This field will undergo a fuzzy\nmatching query, the query result is for all host groups whose names contain this value.\n"},"riskHostNum":{"type":"string","description":"Specifies the number of risky hosts in the host groups to be queried.\n"},"unprotectHostNum":{"type":"string","description":"Specifies the number of unprotected hosts in the host groups to be queried.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getHssHostGroupsV5.\n","properties":{"groupId":{"type":"string"},"groups":{"description":"All host groups that match the filter parameters.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetHssHostGroupsV5Group:getHssHostGroupsV5Group"},"type":"array"},"hostNum":{"description":"The number of hosts in the host group.\n","type":"string"},"id":{"description":"The ID of the host group.\n","type":"string"},"name":{"description":"The name of the host group.\n","type":"string"},"region":{"description":"The region in which to query the HSS host groups.\n","type":"string"},"riskHostNum":{"description":"The number of risky hosts in the host group.\n","type":"string"},"unprotectHostNum":{"description":"The number of unprotected hosts in the host group.\n","type":"string"}},"required":["groups","id","region"],"type":"object"}},"opentelekomcloud:index/getHssHostsV5:getHssHostsV5":{"description":"Up-to-date reference of API arguments for EIP status you can get at\n[documentation portal](https://docs.otc.t-systems.com/host-security-service/api-ref/api_description/server_management/querying_ecss.html#listhoststatus)\n\nUse this data source to get the list of HSS hosts within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst hostId = config.requireObject\u003cany\u003e(\"hostId\");\nconst test = opentelekomcloud.getHssHostsV5({\n    hostId: hostId,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nhost_id = config.require_object(\"hostId\")\ntest = opentelekomcloud.get_hss_hosts_v5(host_id=host_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var hostId = config.RequireObject\u003cdynamic\u003e(\"hostId\");\n    var test = Opentelekomcloud.GetHssHostsV5.Invoke(new()\n    {\n        HostId = hostId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\thostId := cfg.RequireObject(\"hostId\")\n\t\t_, err := opentelekomcloud.GetHssHostsV5(ctx, \u0026opentelekomcloud.GetHssHostsV5Args{\n\t\t\tHostId: pulumi.StringRef(hostId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetHssHostsV5Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var hostId = config.get(\"hostId\");\n        final var test = OpentelekomcloudFunctions.getHssHostsV5(GetHssHostsV5Args.builder()\n            .hostId(hostId)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  hostId:\n    type: dynamic\nvariables:\n  test:\n    fn::invoke:\n      function: opentelekomcloud:getHssHostsV5\n      arguments:\n        hostId: ${hostId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getHssHostsV5.\n","properties":{"agentStatus":{"type":"string","description":"Specifies the agent status of the hosts to be queried.\nThe valid values are as follows:\n"},"assetValue":{"type":"string","description":"Specifies the asset importance of the hosts to be queried.\nThe valid values are as follows:\n"},"detectResult":{"type":"string","description":"Specifies the security detection result of the hosts to be queried.\nThe valid values are as follows:\n"},"groupId":{"type":"string","description":"Specifies the host group ID of the hosts to be queried.\n"},"hostId":{"type":"string","description":"Specifies the ID of the host to be queried.\n"},"id":{"type":"string","description":"The ID of the host.\n"},"name":{"type":"string","description":"Specifies the name of the host to be queried.\nThis field will undergo a fuzzy matching query, the query result is for all hosts whose names contain this value.\n"},"osType":{"type":"string","description":"Specifies the operating system type of the hosts to be queried.\nThe valid values are as follows:\n+ `Linux`\n+ `Windows`\n"},"policyGroupId":{"type":"string","description":"Specifies the policy group ID of the hosts to be queried.\n"},"protectChargingMode":{"type":"string","description":"Specifies the charging mode for the hosts protection quota to be queried.\nThe valid values are as follows:\n"},"protectStatus":{"type":"string","description":"Specifies the protection status of the hosts to be queried.\nThe valid values are as follows:\n"},"protectVersion":{"type":"string","description":"Specifies the protection version enabled by the hosts to be queried.\nThe valid values are as follows:\n+ `hss.version.null`\n+ `hss.version.enterprise`\n+ `hss.version.premium`\n+ `hss.version.container.enterprise`\n"},"status":{"type":"string","description":"Specifies the status of the hosts to be queried.\nThe valid values are as follows:\n+ `ACTIVE`\n+ `SHUTOFF`\n+ `BUILDING`\n+ `ERROR`\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getHssHostsV5.\n","properties":{"agentStatus":{"description":"The agent status of the host.\n","type":"string"},"assetValue":{"description":"The asset importance of the host.\n","type":"string"},"detectResult":{"description":"The security detection result of the host.\n","type":"string"},"groupId":{"description":"The host group ID to which the host belongs.\n","type":"string"},"hostId":{"type":"string"},"hosts":{"description":"All hosts that match the filter parameters.\nThe hosts structure is documented below.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetHssHostsV5Host:getHssHostsV5Host"},"type":"array"},"id":{"description":"The ID of the host.\n","type":"string"},"name":{"description":"The name of the host.\n","type":"string"},"osType":{"description":"The operating system type of the host.\n","type":"string"},"policyGroupId":{"description":"The policy group ID to which the host belongs.\n","type":"string"},"protectChargingMode":{"description":"The charging mode for the host protection quota.\n","type":"string"},"protectStatus":{"description":"The protection status of the host.\n","type":"string"},"protectVersion":{"description":"The protection version enabled by the host.\n","type":"string"},"region":{"description":"The region in which to query the HSS hosts.\n","type":"string"},"status":{"description":"The status of the host.\n","type":"string"}},"required":["hosts","id","region"],"type":"object"}},"opentelekomcloud:index/getHssIntrusionEventsV5:getHssIntrusionEventsV5":{"inputs":{"description":"A collection of arguments for invoking getHssIntrusionEventsV5.\n","properties":{"beginTime":{"type":"string"},"category":{"type":"string"},"containerName":{"type":"string"},"days":{"type":"number"},"endTime":{"type":"string"},"enterpriseProjectId":{"type":"string"},"eventTypes":{"type":"array","items":{"type":"string"}},"handleStatus":{"type":"string"},"hostId":{"type":"string"},"hostName":{"type":"string"},"id":{"type":"string"},"privateIp":{"type":"string"},"severity":{"type":"string"}},"type":"object","required":["category"]},"outputs":{"description":"A collection of values returned by getHssIntrusionEventsV5.\n","properties":{"beginTime":{"type":"string"},"category":{"type":"string"},"containerName":{"type":"string"},"days":{"type":"number"},"endTime":{"type":"string"},"enterpriseProjectId":{"type":"string"},"eventTypes":{"items":{"type":"string"},"type":"array"},"events":{"items":{"$ref":"#/types/opentelekomcloud:index%2FgetHssIntrusionEventsV5Event:getHssIntrusionEventsV5Event"},"type":"array"},"handleStatus":{"type":"string"},"hostId":{"type":"string"},"hostName":{"type":"string"},"id":{"type":"string"},"privateIp":{"type":"string"},"region":{"type":"string"},"severity":{"type":"string"}},"required":["category","events","id","region"],"type":"object"}},"opentelekomcloud:index/getHssQuotasV5:getHssQuotasV5":{"description":"Up-to-date reference of API arguments for EIP status you can get at\n[documentation portal](https://docs.otc.t-systems.com/host-security-service/api-ref/api_description/quota_management/querying_quota_details.html#listquotasdetail)\n\nUse this data source to get the list of HSS quotas within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst resourceId = config.requireObject\u003cany\u003e(\"resourceId\");\nconst qt = opentelekomcloud.getHssQuotasV5({\n    resourceId: resourceId,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nresource_id = config.require_object(\"resourceId\")\nqt = opentelekomcloud.get_hss_quotas_v5(resource_id=resource_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var resourceId = config.RequireObject\u003cdynamic\u003e(\"resourceId\");\n    var qt = Opentelekomcloud.GetHssQuotasV5.Invoke(new()\n    {\n        ResourceId = resourceId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tresourceId := cfg.RequireObject(\"resourceId\")\n\t\t_, err := opentelekomcloud.GetHssQuotasV5(ctx, \u0026opentelekomcloud.GetHssQuotasV5Args{\n\t\t\tResourceId: pulumi.StringRef(resourceId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetHssQuotasV5Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var resourceId = config.get(\"resourceId\");\n        final var qt = OpentelekomcloudFunctions.getHssQuotasV5(GetHssQuotasV5Args.builder()\n            .resourceId(resourceId)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  resourceId:\n    type: dynamic\nvariables:\n  qt:\n    fn::invoke:\n      function: opentelekomcloud:getHssQuotasV5\n      arguments:\n        resourceId: ${resourceId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getHssQuotasV5.\n","properties":{"category":{"type":"string","description":"Specifies the category of the quotas to be queried.\nThe valid values are as follows:\n"},"chargingMode":{"type":"string","description":"Specifies the charging mode of the quotas to be queried.\nThe valid values are as follows:\n"},"hostName":{"type":"string","description":"Specifies the host name for the quota binding to be queried.\n"},"id":{"type":"string","description":"The ID of quota.\n"},"resourceId":{"type":"string","description":"Specifies the resource ID of the HSS quota.\n"},"status":{"type":"string","description":"Specifies the status of the quotas to be queried.\nThe value can be \u003cspan pulumi-lang-nodejs=\"`normal`\" pulumi-lang-dotnet=\"`Normal`\" pulumi-lang-go=\"`normal`\" pulumi-lang-python=\"`normal`\" pulumi-lang-yaml=\"`normal`\" pulumi-lang-java=\"`normal`\"\u003e`normal`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`expired`\" pulumi-lang-dotnet=\"`Expired`\" pulumi-lang-go=\"`expired`\" pulumi-lang-python=\"`expired`\" pulumi-lang-yaml=\"`expired`\" pulumi-lang-java=\"`expired`\"\u003e`expired`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`freeze`\" pulumi-lang-dotnet=\"`Freeze`\" pulumi-lang-go=\"`freeze`\" pulumi-lang-python=\"`freeze`\" pulumi-lang-yaml=\"`freeze`\" pulumi-lang-java=\"`freeze`\"\u003e`freeze`\u003c/span\u003e.\n"},"usedStatus":{"type":"string","description":"Specifies the usage status of the quotas to be queried.\nThe value can be \u003cspan pulumi-lang-nodejs=\"`idle`\" pulumi-lang-dotnet=\"`Idle`\" pulumi-lang-go=\"`idle`\" pulumi-lang-python=\"`idle`\" pulumi-lang-yaml=\"`idle`\" pulumi-lang-java=\"`idle`\"\u003e`idle`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`used`\" pulumi-lang-dotnet=\"`Used`\" pulumi-lang-go=\"`used`\" pulumi-lang-python=\"`used`\" pulumi-lang-yaml=\"`used`\" pulumi-lang-java=\"`used`\"\u003e`used`\u003c/span\u003e.\n"},"version":{"type":"string","description":"Specifies the version of the quotas to be queried.\nThe valid values are as follows:\n+ `hss.version.enterprise`: Enterprise version.\n+ `hss.version.premium`: Ultimate version.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getHssQuotasV5.\n","properties":{"category":{"type":"string"},"chargingMode":{"description":"The charging mode of quota.\n","type":"string"},"hostName":{"description":"The host name for quota binding.\n","type":"string"},"id":{"description":"The ID of quota.\n","type":"string"},"quotas":{"description":"All quotas that match the filter parameters.\nThe quotas structure is documented below.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetHssQuotasV5Quota:getHssQuotasV5Quota"},"type":"array"},"region":{"description":"The region in which to query the HSS quotas.\n","type":"string"},"resourceId":{"type":"string"},"status":{"description":"The status of quota.\n","type":"string"},"usedStatus":{"description":"The usage status of quota.\n","type":"string"},"version":{"description":"The version of quota.\n","type":"string"}},"required":["id","quotas","region"],"type":"object"}},"opentelekomcloud:index/getIdentityAgencyV3:getIdentityAgencyV3":{"description":"Up-to-date reference of API arguments for IAM agency you can get at\n[documentation portal](https://docs.otc.t-systems.com/identity-access-management/api-ref/apis/agency_management/querying_an_agency_list_based_on_the_specified_conditions.html#en-us-topic-0079467614)\n\nUse this data source to get an agency information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst agency1 = opentelekomcloud.getIdentityAgencyV3({\n    name: \"test-agency\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nagency1 = opentelekomcloud.get_identity_agency_v3(name=\"test-agency\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var agency1 = Opentelekomcloud.GetIdentityAgencyV3.Invoke(new()\n    {\n        Name = \"test-agency\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.LookupIdentityAgencyV3(ctx, \u0026opentelekomcloud.LookupIdentityAgencyV3Args{\n\t\t\tName: pulumi.StringRef(\"test-agency\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetIdentityAgencyV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var agency1 = OpentelekomcloudFunctions.getIdentityAgencyV3(GetIdentityAgencyV3Args.builder()\n            .name(\"test-agency\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  agency1:\n    fn::invoke:\n      function: opentelekomcloud:getIdentityAgencyV3\n      arguments:\n        name: test-agency\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getIdentityAgencyV3.\n","properties":{"id":{"type":"string","description":"ID of an agency.\n"},"name":{"type":"string","description":"Name of the agency\n"},"trustDomainId":{"type":"string","description":"ID of the delegated domain.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getIdentityAgencyV3.\n","properties":{"createTime":{"description":"Time when an agency is created.\n","type":"string"},"description":{"description":"Description of an agency.\n","type":"string"},"duration":{"description":"Validity period of an agency.\nThe default value is \u003cspan pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\"\u003e`null`\u003c/span\u003e, indicating that the agency is permanently valid.\n","type":"string"},"expireTime":{"description":"Expiration time of an agency.\n","type":"string"},"id":{"description":"ID of an agency.\n","type":"string"},"name":{"description":"Name of an agency.\n","type":"string"},"trustDomainId":{"type":"string"},"trustDomainName":{"description":"Name of the delegated domain.\n","type":"string"}},"required":["createTime","description","duration","expireTime","id","trustDomainName"],"type":"object"}},"opentelekomcloud:index/getIdentityAuthScopeV3:getIdentityAuthScopeV3":{"description":"Use this data source to get authentication information about the current\nauth scope in use within OpenTelekomCloud. This can be used as self-discovery or introspection of\nthe username or project name currently in use.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst scope = opentelekomcloud.getIdentityAuthScopeV3({\n    name: \"my_scope\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nscope = opentelekomcloud.get_identity_auth_scope_v3(name=\"my_scope\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var scope = Opentelekomcloud.GetIdentityAuthScopeV3.Invoke(new()\n    {\n        Name = \"my_scope\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.GetIdentityAuthScopeV3(ctx, \u0026opentelekomcloud.GetIdentityAuthScopeV3Args{\n\t\t\tName: \"my_scope\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetIdentityAuthScopeV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var scope = OpentelekomcloudFunctions.getIdentityAuthScopeV3(GetIdentityAuthScopeV3Args.builder()\n            .name(\"my_scope\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  scope:\n    fn::invoke:\n      function: opentelekomcloud:getIdentityAuthScopeV3\n      arguments:\n        name: my_scope\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getIdentityAuthScopeV3.\n","properties":{"id":{"type":"string"},"name":{"type":"string"},"region":{"type":"string"}},"type":"object","required":["name"]},"outputs":{"description":"A collection of values returned by getIdentityAuthScopeV3.\n","properties":{"domainId":{"type":"string"},"domainName":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"},"projectDomainId":{"description":"The domain ID of the project.\n","type":"string"},"projectDomainName":{"description":"The domain name of the project.\n","type":"string"},"projectId":{"description":"The project ID of the scope.\n","type":"string"},"projectName":{"description":"The project name of the scope.\n","type":"string"},"region":{"type":"string"},"roles":{"description":"A list of roles in the current scope. See reference below.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetIdentityAuthScopeV3Role:getIdentityAuthScopeV3Role"},"type":"array"},"userDomainId":{"description":"The domain ID of the user.\n","type":"string"},"userDomainName":{"description":"The domain name of the user.\n","type":"string"},"userId":{"description":"The user ID the of the scope.\n","type":"string"},"userName":{"description":"The username of the scope.\n","type":"string"}},"required":["domainId","domainName","id","name","projectDomainId","projectDomainName","projectId","projectName","region","roles","userDomainId","userDomainName","userId","userName"],"type":"object"}},"opentelekomcloud:index/getIdentityCredentialV3:getIdentityCredentialV3":{"inputs":{"description":"A collection of arguments for invoking getIdentityCredentialV3.\n","properties":{"id":{"type":"string"},"userId":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getIdentityCredentialV3.\n","properties":{"credentials":{"items":{"$ref":"#/types/opentelekomcloud:index%2FgetIdentityCredentialV3Credential:getIdentityCredentialV3Credential"},"type":"array"},"id":{"type":"string"},"userId":{"type":"string"}},"required":["credentials","id"],"type":"object"}},"opentelekomcloud:index/getIdentityGroupV3:getIdentityGroupV3":{"description":"Up-to-date reference of API arguments for IAM group you can get at\n[documentation portal](https://docs.otc.t-systems.com/identity-access-management/api-ref/apis/user_group_management/listing_user_groups.html#en-us-topic-0057845602)\n\nUse this data source to get the ID of an OpenTelekomCloud group.\n\n\u003e **Note:** You _must_ have `Security Administrator` privileges in your OpenTelekomCloud\ncloud to use this data source. Please refer to [User Management Model](https://docs.otc.t-systems.com/en-us/usermanual/iam/iam_01_0034.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst admins = opentelekomcloud.getIdentityGroupV3({\n    name: \"admins\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nadmins = opentelekomcloud.get_identity_group_v3(name=\"admins\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var admins = Opentelekomcloud.GetIdentityGroupV3.Invoke(new()\n    {\n        Name = \"admins\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.LookupIdentityGroupV3(ctx, \u0026opentelekomcloud.LookupIdentityGroupV3Args{\n\t\t\tName: \"admins\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetIdentityGroupV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var admins = OpentelekomcloudFunctions.getIdentityGroupV3(GetIdentityGroupV3Args.builder()\n            .name(\"admins\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  admins:\n    fn::invoke:\n      function: opentelekomcloud:getIdentityGroupV3\n      arguments:\n        name: admins\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getIdentityGroupV3.\n","properties":{"domainId":{"type":"string","description":"The domain the group belongs to.\n"},"id":{"type":"string"},"name":{"type":"string","description":"The name of the group.\n"},"region":{"type":"string"}},"type":"object","required":["name"]},"outputs":{"description":"A collection of values returned by getIdentityGroupV3.\n","properties":{"domainId":{"description":"See Argument Reference above.\n","type":"string"},"id":{"type":"string"},"name":{"description":"See Argument Reference above.\n","type":"string"},"region":{"type":"string"}},"required":["domainId","id","name","region"],"type":"object"}},"opentelekomcloud:index/getIdentityProjectV3:getIdentityProjectV3":{"description":"Up-to-date reference of API arguments for IAM project you can get at\n[documentation portal](https://docs.otc.t-systems.com/identity-access-management/api-ref/apis/project_management/querying_project_information_based_on_the_specified_criteria.html#en-us-topic-0057845625)\n\nUse this data source to get the ID of an OpenTelekomCloud project.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst project1 = opentelekomcloud.getIdentityProjectV3({\n    name: \"demo\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nproject1 = opentelekomcloud.get_identity_project_v3(name=\"demo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var project1 = Opentelekomcloud.GetIdentityProjectV3.Invoke(new()\n    {\n        Name = \"demo\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.LookupIdentityProjectV3(ctx, \u0026opentelekomcloud.LookupIdentityProjectV3Args{\n\t\t\tName: pulumi.StringRef(\"demo\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetIdentityProjectV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var project1 = OpentelekomcloudFunctions.getIdentityProjectV3(GetIdentityProjectV3Args.builder()\n            .name(\"demo\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  project1:\n    fn::invoke:\n      function: opentelekomcloud:getIdentityProjectV3\n      arguments:\n        name: demo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Query Current Project details\n\nIf \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`domainId`\" pulumi-lang-dotnet=\"`DomainId`\" pulumi-lang-go=\"`domainId`\" pulumi-lang-python=\"`domain_id`\" pulumi-lang-yaml=\"`domainId`\" pulumi-lang-java=\"`domainId`\"\u003e`domain_id`\u003c/span\u003e are not provided, data source gets info about current project.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst project1 = opentelekomcloud.getIdentityProjectV3({});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nproject1 = opentelekomcloud.get_identity_project_v3()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var project1 = Opentelekomcloud.GetIdentityProjectV3.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.LookupIdentityProjectV3(ctx, \u0026opentelekomcloud.LookupIdentityProjectV3Args{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetIdentityProjectV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var project1 = OpentelekomcloudFunctions.getIdentityProjectV3(GetIdentityProjectV3Args.builder()\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  project1:\n    fn::invoke:\n      function: opentelekomcloud:getIdentityProjectV3\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getIdentityProjectV3.\n","properties":{"domainId":{"type":"string","description":"The domain this project belongs to.\n"},"enabled":{"type":"boolean","description":"Whether the project is enabled or disabled. Valid values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"id":{"type":"string"},"isDomain":{"type":"boolean","description":"Whether this project is a domain. Valid values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the project.\n"},"parentId":{"type":"string","description":"The parent of this project.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getIdentityProjectV3.\n","properties":{"description":{"description":"The description of the project.\n","type":"string"},"domainId":{"description":"ID of an enterprise account to which a project belongs.\n","type":"string"},"enabled":{"description":"Whether a project is available.\n","type":"boolean"},"id":{"type":"string"},"isDomain":{"description":"Indicates whether the user calling the API is a tenant.\n","type":"boolean"},"name":{"description":"Project name.\n","type":"string"},"parentId":{"description":"Parent ID of the project.\n","type":"string"},"region":{"description":"Indicates the region where the project is present.\n","type":"string"}},"required":["description","domainId","enabled","id","isDomain","region"],"type":"object"}},"opentelekomcloud:index/getIdentityProjectsV3:getIdentityProjectsV3":{"description":"Up-to-date reference of API arguments for IAM projects you can get at\n[documentation portal](https://docs.otc.t-systems.com/identity-access-management/api-ref/apis/project_management/querying_project_information_based_on_the_specified_criteria.html#en-us-topic-0057845625)\n\nUse this data source to get the list of all OpenTelekomCloud projects.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst all = opentelekomcloud.getIdentityProjectsV3({});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nall = opentelekomcloud.get_identity_projects_v3()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var all = Opentelekomcloud.GetIdentityProjectsV3.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.GetIdentityProjectsV3(ctx, \u0026opentelekomcloud.GetIdentityProjectsV3Args{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetIdentityProjectsV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var all = OpentelekomcloudFunctions.getIdentityProjectsV3(GetIdentityProjectsV3Args.builder()\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  all:\n    fn::invoke:\n      function: opentelekomcloud:getIdentityProjectsV3\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getIdentityProjectsV3.\n","properties":{"id":{"type":"string","description":"Indicates the domain of queried projects.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getIdentityProjectsV3.\n","properties":{"id":{"description":"Indicates the domain of queried projects.\n","type":"string"},"projects":{"description":"List of projects details. The object structure of each Project is documented below.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetIdentityProjectsV3Project:getIdentityProjectsV3Project"},"type":"array"},"region":{"description":"Indicates the region where the project is present.\n","type":"string"}},"required":["id","projects","region"],"type":"object"}},"opentelekomcloud:index/getIdentityRoleCustomV3:getIdentityRoleCustomV3":{"description":"Up-to-date reference of API arguments for IAM role you can get at\n[documentation portal](https://docs.otc.t-systems.com/identity-access-management/api-ref/apis/permission_management/querying_role_details.html)\n\nUse this data source to get the info of custom OpenTelekomCloud role.\n\n\u003e For pre-defined user roles usage please refer to \u003cspan pulumi-lang-nodejs=\"`opentelekomcloud.IdentityRoleV3`\" pulumi-lang-dotnet=\"`opentelekomcloud.IdentityRoleV3`\" pulumi-lang-go=\"`IdentityRoleV3`\" pulumi-lang-python=\"`IdentityRoleV3`\" pulumi-lang-yaml=\"`opentelekomcloud.IdentityRoleV3`\" pulumi-lang-java=\"`opentelekomcloud.IdentityRoleV3`\"\u003e`opentelekomcloud.IdentityRoleV3`\u003c/span\u003e\n\n## Example Usage\n\n### Querying custom role by \u003cspan pulumi-lang-nodejs=\"`displayName`\" pulumi-lang-dotnet=\"`DisplayName`\" pulumi-lang-go=\"`displayName`\" pulumi-lang-python=\"`display_name`\" pulumi-lang-yaml=\"`displayName`\" pulumi-lang-java=\"`displayName`\"\u003e`display_name`\u003c/span\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst authAdmin = opentelekomcloud.getIdentityRoleCustomV3({\n    displayName: \"my-custom-policy\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nauth_admin = opentelekomcloud.get_identity_role_custom_v3(display_name=\"my-custom-policy\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var authAdmin = Opentelekomcloud.GetIdentityRoleCustomV3.Invoke(new()\n    {\n        DisplayName = \"my-custom-policy\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.GetIdentityRoleCustomV3(ctx, \u0026opentelekomcloud.GetIdentityRoleCustomV3Args{\n\t\t\tDisplayName: pulumi.StringRef(\"my-custom-policy\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetIdentityRoleCustomV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var authAdmin = OpentelekomcloudFunctions.getIdentityRoleCustomV3(GetIdentityRoleCustomV3Args.builder()\n            .displayName(\"my-custom-policy\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  authAdmin:\n    fn::invoke:\n      function: opentelekomcloud:getIdentityRoleCustomV3\n      arguments:\n        displayName: my-custom-policy\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Querying custom role by resource \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst authAdmin = opentelekomcloud.getIdentityRoleCustomV3({\n    id: \"13f0e753101649699664672d7b7af752\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nauth_admin = opentelekomcloud.get_identity_role_custom_v3(id=\"13f0e753101649699664672d7b7af752\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var authAdmin = Opentelekomcloud.GetIdentityRoleCustomV3.Invoke(new()\n    {\n        Id = \"13f0e753101649699664672d7b7af752\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.GetIdentityRoleCustomV3(ctx, \u0026opentelekomcloud.GetIdentityRoleCustomV3Args{\n\t\t\tId: pulumi.StringRef(\"13f0e753101649699664672d7b7af752\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetIdentityRoleCustomV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var authAdmin = OpentelekomcloudFunctions.getIdentityRoleCustomV3(GetIdentityRoleCustomV3Args.builder()\n            .id(\"13f0e753101649699664672d7b7af752\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  authAdmin:\n    fn::invoke:\n      function: opentelekomcloud:getIdentityRoleCustomV3\n      arguments:\n        id: 13f0e753101649699664672d7b7af752\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getIdentityRoleCustomV3.\n","properties":{"displayName":{"type":"string","description":"The name of the role.\n"},"id":{"type":"string","description":"The \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e of custom role.\n"},"type":{"type":"string","description":"Display layer of a role.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getIdentityRoleCustomV3.\n","properties":{"description":{"description":"Description of a role.\n","type":"string"},"displayName":{"type":"string"},"domainId":{"description":"ID of the domain to which a role belongs\n","type":"string"},"id":{"type":"string"},"name":{"description":"Name of a role\n","type":"string"},"statements":{"description":"Statement: The Statement field contains the Effect and Action\nelements. Effect indicates whether the policy allows or denies\naccess. Action indicates authorization items. The number of\nstatements cannot exceed 8. Structure is documented below.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetIdentityRoleCustomV3Statement:getIdentityRoleCustomV3Statement"},"type":"array"},"type":{"type":"string"}},"required":["description","displayName","domainId","id","name","statements"],"type":"object"}},"opentelekomcloud:index/getIdentityRoleV3:getIdentityRoleV3":{"inputs":{"description":"A collection of arguments for invoking getIdentityRoleV3.\n","properties":{"domainId":{"type":"string","description":"The domain the role belongs to.\n"},"id":{"type":"string"},"name":{"type":"string","description":"The name of the role.\n"},"region":{"type":"string"}},"type":"object","required":["name"]},"outputs":{"description":"A collection of values returned by getIdentityRoleV3.\n","properties":{"domainId":{"description":"See Argument Reference above.\n","type":"string"},"id":{"type":"string"},"name":{"description":"See Argument Reference above.\n","type":"string"},"region":{"type":"string"}},"required":["domainId","id","name","region"],"type":"object"}},"opentelekomcloud:index/getIdentityTemporaryAkskV3:getIdentityTemporaryAkskV3":{"inputs":{"description":"A collection of arguments for invoking getIdentityTemporaryAkskV3.\n","properties":{"agencyName":{"type":"string","description":"Name of the agency created by a delegating party.\nWhen specified, the temporary credentials will be generated with the permissions of the agency.\n"},"durationSeconds":{"type":"number","description":"Validity period (in seconds) of the temporary credentials.\nThe value ranges from 900 (15 minutes) to 86400 (24 hours). The default value is 900 seconds (15 minutes).\n"},"id":{"type":"string","description":"The access key, which serves as the unique identifier for the temporary credentials.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getIdentityTemporaryAkskV3.\n","properties":{"access":{"description":"The temporary Access Key (AK) for authentication.\n","secret":true,"type":"string"},"agencyName":{"type":"string"},"durationSeconds":{"type":"number"},"expiresAt":{"description":"The expiration time of the temporary credentials in ISO 8601 format.\n","type":"string"},"id":{"description":"The access key, which serves as the unique identifier for the temporary credentials.\n","type":"string"},"secret":{"description":"The temporary Secret Key (SK) for authentication.\n","secret":true,"type":"string"},"securityToken":{"description":"The security token used for subsequent API calls. This token must be included\nin requests when using the temporary AK/SK.\n","secret":true,"type":"string"}},"required":["access","expiresAt","id","secret","securityToken"],"type":"object"}},"opentelekomcloud:index/getIdentityUserV3:getIdentityUserV3":{"description":"Up-to-date reference of API arguments for IAM user you can get at\n[documentation portal](https://docs.otc.t-systems.com/identity-access-management/api-ref/apis/user_management/querying_a_user_list.html#en-us-topic-0057845638)\n\nUse this data source to get the ID of an OpenTelekomCloud user.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst user1 = opentelekomcloud.getIdentityUserV3({\n    name: \"user_1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nuser1 = opentelekomcloud.get_identity_user_v3(name=\"user_1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var user1 = Opentelekomcloud.GetIdentityUserV3.Invoke(new()\n    {\n        Name = \"user_1\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.LookupIdentityUserV3(ctx, \u0026opentelekomcloud.LookupIdentityUserV3Args{\n\t\t\tName: pulumi.StringRef(\"user_1\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetIdentityUserV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var user1 = OpentelekomcloudFunctions.getIdentityUserV3(GetIdentityUserV3Args.builder()\n            .name(\"user_1\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  user1:\n    fn::invoke:\n      function: opentelekomcloud:getIdentityUserV3\n      arguments:\n        name: user_1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getIdentityUserV3.\n","properties":{"domainId":{"type":"string","description":"The domain this user belongs to.\n"},"enabled":{"type":"boolean","description":"Whether the user is enabled or disabled. Valid values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\nDefault value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"id":{"type":"string"},"name":{"type":"string","description":"The name of the user.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getIdentityUserV3.\n","properties":{"domainId":{"type":"string"},"enabled":{"type":"boolean"},"id":{"type":"string"},"mfaDevice":{"description":"Serial number of user MFA device.\n`Security administrator` permissions are needed to set this attribute.\n","type":"string"},"name":{"type":"string"},"passwordExpiresAt":{"description":"Password expiration date of the user.\n","type":"string"}},"required":["domainId","id","mfaDevice","passwordExpiresAt"],"type":"object"}},"opentelekomcloud:index/getImagesImageV2:getImagesImageV2":{"description":"Up-to-date reference of API arguments for Image you can get at\n[documentation portal](https://docs.otc.t-systems.com/image-management-service/api-ref/native_openstack_apis/image_native_openstack_apis/querying_images_native_openstack_api.html#en-us-topic-0060804959)\n\nUse this data source to get the ID of an available OpenTelekomCloud image.\n\n## Example Usage\n\n### Get Ubuntu_20.04 latest\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst ubuntu = opentelekomcloud.getImagesImageV2({\n    name: \"Standard_Ubuntu_20.04_latest\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nubuntu = opentelekomcloud.get_images_image_v2(name=\"Standard_Ubuntu_20.04_latest\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var ubuntu = Opentelekomcloud.GetImagesImageV2.Invoke(new()\n    {\n        Name = \"Standard_Ubuntu_20.04_latest\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.LookupImagesImageV2(ctx, \u0026opentelekomcloud.LookupImagesImageV2Args{\n\t\t\tName: pulumi.StringRef(\"Standard_Ubuntu_20.04_latest\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetImagesImageV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var ubuntu = OpentelekomcloudFunctions.getImagesImageV2(GetImagesImageV2Args.builder()\n            .name(\"Standard_Ubuntu_20.04_latest\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  ubuntu:\n    fn::invoke:\n      function: opentelekomcloud:getImagesImageV2\n      arguments:\n        name: Standard_Ubuntu_20.04_latest\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Get most recent Debian\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst latest_debian = opentelekomcloud.getImagesImageV2({\n    nameRegex: \"^Standard_Debian.?\",\n    mostRecent: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nlatest_debian = opentelekomcloud.get_images_image_v2(name_regex=\"^Standard_Debian.?\",\n    most_recent=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var latest_debian = Opentelekomcloud.GetImagesImageV2.Invoke(new()\n    {\n        NameRegex = \"^Standard_Debian.?\",\n        MostRecent = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.LookupImagesImageV2(ctx, \u0026opentelekomcloud.LookupImagesImageV2Args{\n\t\t\tNameRegex:  pulumi.StringRef(\"^Standard_Debian.?\"),\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetImagesImageV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var latest-debian = OpentelekomcloudFunctions.getImagesImageV2(GetImagesImageV2Args.builder()\n            .nameRegex(\"^Standard_Debian.?\")\n            .mostRecent(true)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  latest-debian:\n    fn::invoke:\n      function: opentelekomcloud:getImagesImageV2\n      arguments:\n        nameRegex: ^Standard_Debian.?\n        mostRecent: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getImagesImageV2.\n","properties":{"mostRecent":{"type":"boolean","description":"If more than one result is returned, use the most recent image.\n"},"name":{"type":"string","description":"The name of the image.\n"},"nameRegex":{"type":"string","description":"A regex string to apply to the images list.\nThis allows more advanced filtering not supported from the OpenTelekomCloud API.\nThis filtering is done locally on what OpenTelekomCloud returns.\n"},"owner":{"type":"string","description":"The owner (UUID) of the image.\n"},"sizeMax":{"type":"number","description":"The maximum size (in bytes) of the image to return.\n"},"sizeMin":{"type":"number","description":"The minimum size (in bytes) of the image to return.\n"},"sortDirection":{"type":"string","description":"Order the results in either \u003cspan pulumi-lang-nodejs=\"`asc`\" pulumi-lang-dotnet=\"`Asc`\" pulumi-lang-go=\"`asc`\" pulumi-lang-python=\"`asc`\" pulumi-lang-yaml=\"`asc`\" pulumi-lang-java=\"`asc`\"\u003e`asc`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`desc`\" pulumi-lang-dotnet=\"`Desc`\" pulumi-lang-go=\"`desc`\" pulumi-lang-python=\"`desc`\" pulumi-lang-yaml=\"`desc`\" pulumi-lang-java=\"`desc`\"\u003e`desc`\u003c/span\u003e.\n"},"sortKey":{"type":"string","description":"Sort images based on a certain key. Defaults to \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e.\n"},"tag":{"type":"string","description":"Search for images with a specific tag.\n"},"visibility":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getImagesImageV2.\n","properties":{"backupId":{"description":"Specifies the backup ID.\n","type":"string"},"checksum":{"description":"The checksum of the data associated with the image.\n","type":"string"},"containerFormat":{"description":"The format of the image's container.\n","type":"string"},"createdAt":{"description":"The date the image was created.\n","type":"string"},"dataOrigin":{"description":"Specifies the image source.\n","type":"string"},"description":{"description":"Specifies the image description.\n","type":"string"},"diskFormat":{"description":"The format of the image's disk.\n","type":"string"},"file":{"description":"the trailing path after the glance endpoint that represent the\nlocation of the image, or the path to retrieve it.\n","type":"string"},"hwFirmwareType":{"description":"Specifies the boot mode. The value can be \u003cspan pulumi-lang-nodejs=\"`bios`\" pulumi-lang-dotnet=\"`Bios`\" pulumi-lang-go=\"`bios`\" pulumi-lang-python=\"`bios`\" pulumi-lang-yaml=\"`bios`\" pulumi-lang-java=\"`bios`\"\u003e`bios`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`uefi`\" pulumi-lang-dotnet=\"`Uefi`\" pulumi-lang-go=\"`uefi`\" pulumi-lang-python=\"`uefi`\" pulumi-lang-yaml=\"`uefi`\" pulumi-lang-java=\"`uefi`\"\u003e`uefi`\u003c/span\u003e if set during image creation.\n","type":"string"},"id":{"type":"string"},"imageSourceType":{"description":"Specifies the image backend storage type. Only `UDS` is currently supported.\n","type":"string"},"imageType":{"description":"Specifies the image type.\n","type":"string"},"isRegistered":{"description":"Specifies whether the image is available.\n","type":"string"},"loginUser":{"description":"Specifies default image login user.\n","type":"string"},"minDisk":{"description":"The minimum amount of disk space required to use the image.\n","type":"number"},"minRam":{"description":"The minimum amount of ram required to use the image.\n","type":"number"},"mostRecent":{"type":"boolean"},"name":{"type":"string"},"nameRegex":{"type":"string"},"originalImageName":{"description":"Specifies the parent image ID.\n","type":"string"},"osBit":{"description":"Specifies the OS architecture, 32 bit or 64 bit.\n","type":"string"},"osType":{"description":"Specifies the OS type. The value can be Linux, Windows, or Other.\n","type":"string"},"osVersion":{"description":"Specifies the OS version.\n","type":"string"},"owner":{"type":"string"},"platform":{"description":"Specifies the image platform type. The value can be Windows, Ubuntu, Red Hat, SUSE, CentOS,\nDebian, OpenSUSE, Oracle Linux, Fedora, Other, CoreOS, or EulerOS.\n","type":"string"},"protected":{"description":"Whether the image is protected.\n","type":"boolean"},"schema":{"description":"The path to the JSON-schema that represent the image or image.\n","type":"string"},"sizeBytes":{"description":"The size of the image (in bytes).\n","type":"number"},"sizeMax":{"type":"number"},"sizeMin":{"type":"number"},"sortDirection":{"type":"string"},"sortKey":{"type":"string"},"status":{"description":"The image status.\n","type":"string"},"supportDiskIntensive":{"description":"Specifies whether the image supports disk-intensive ECSs.\n","type":"string"},"supportHighPerformance":{"description":"Specifies whether the image supports high-performance ECSs.\n","type":"string"},"supportKvm":{"description":"Specifies whether the image supports KVM.\n","type":"string"},"supportKvmGpuType":{"description":"Specifies whether the image supports GPU-accelerated ECSs on the KVM platform.\n","type":"string"},"supportKvmInfiniband":{"description":"Specifies whether the image supports ECSs with the InfiniBand NIC on the KVM platform.\n","type":"string"},"supportLargeMemory":{"description":"Specifies whether the image supports large-memory ECSs.\n","type":"string"},"supportXen":{"description":"Specifies whether the image supports Xen.\n","type":"string"},"supportXenGpuType":{"description":"Specifies whether the image supports GPU-accelerated ECSs on the Xen platform.\n","type":"string"},"supportXenHana":{"description":"Specifies whether the image supports HANA ECSs on the Xen platform.\n","type":"string"},"systemCmkId":{"description":"Specifies the ID of the key used to encrypt the image.\n","type":"string"},"tag":{"type":"string"},"tags":{"description":"See Argument Reference above.\n","items":{"type":"string"},"type":"array"},"updatedAt":{"description":"The date the image was modified.\n","type":"string"},"virtualEnvType":{"description":"Specifies the environment where the image is used.\nThe value can be `FusionCompute`, `Ironic`, `DataImage`, or `IsoImage`.\n","type":"string"},"visibility":{"type":"string"}},"required":["backupId","checksum","containerFormat","createdAt","dataOrigin","description","diskFormat","file","hwFirmwareType","id","imageSourceType","imageType","isRegistered","loginUser","minDisk","minRam","originalImageName","osBit","osType","osVersion","platform","protected","schema","sizeBytes","status","supportDiskIntensive","supportHighPerformance","supportKvm","supportKvmGpuType","supportKvmInfiniband","supportLargeMemory","supportXen","supportXenGpuType","supportXenHana","systemCmkId","tags","updatedAt","virtualEnvType"],"type":"object"}},"opentelekomcloud:index/getKmsDataKeyV1:getKmsDataKeyV1":{"description":"Use this data source to get the plaintext and the ciphertext of an available OpenTelekomCloud KMS DEK (data encryption key).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst key1 = new opentelekomcloud.KmsKeyV1(\"key1\", {\n    keyAlias: \"key_1\",\n    pendingDays: \"7\",\n    keyDescription: \"first test key\",\n});\nconst kmsDatakey1 = opentelekomcloud.getKmsDataKeyV1Output({\n    keyId: key1.kmsKeyV1Id,\n    datakeyLength: \"512\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nkey1 = opentelekomcloud.KmsKeyV1(\"key1\",\n    key_alias=\"key_1\",\n    pending_days=\"7\",\n    key_description=\"first test key\")\nkms_datakey1 = opentelekomcloud.get_kms_data_key_v1_output(key_id=key1.kms_key_v1_id,\n    datakey_length=\"512\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var key1 = new Opentelekomcloud.KmsKeyV1(\"key1\", new()\n    {\n        KeyAlias = \"key_1\",\n        PendingDays = \"7\",\n        KeyDescription = \"first test key\",\n    });\n\n    var kmsDatakey1 = Opentelekomcloud.GetKmsDataKeyV1.Invoke(new()\n    {\n        KeyId = key1.KmsKeyV1Id,\n        DatakeyLength = \"512\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tkey1, err := opentelekomcloud.NewKmsKeyV1(ctx, \"key1\", \u0026opentelekomcloud.KmsKeyV1Args{\n\t\t\tKeyAlias:       pulumi.String(\"key_1\"),\n\t\t\tPendingDays:    pulumi.String(\"7\"),\n\t\t\tKeyDescription: pulumi.String(\"first test key\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = opentelekomcloud.GetKmsDataKeyV1Output(ctx, opentelekomcloud.GetKmsDataKeyV1OutputArgs{\n\t\t\tKeyId:         key1.KmsKeyV1Id,\n\t\t\tDatakeyLength: pulumi.String(\"512\"),\n\t\t}, nil)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.KmsKeyV1;\nimport com.pulumi.opentelekomcloud.KmsKeyV1Args;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetKmsDataKeyV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var key1 = new KmsKeyV1(\"key1\", KmsKeyV1Args.builder()\n            .keyAlias(\"key_1\")\n            .pendingDays(\"7\")\n            .keyDescription(\"first test key\")\n            .build());\n\n        final var kmsDatakey1 = OpentelekomcloudFunctions.getKmsDataKeyV1(GetKmsDataKeyV1Args.builder()\n            .keyId(key1.kmsKeyV1Id())\n            .datakeyLength(\"512\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  key1:\n    type: opentelekomcloud:KmsKeyV1\n    properties:\n      keyAlias: key_1\n      pendingDays: '7'\n      keyDescription: first test key\nvariables:\n  kmsDatakey1:\n    fn::invoke:\n      function: opentelekomcloud:getKmsDataKeyV1\n      arguments:\n        keyId: ${key1.kmsKeyV1Id}\n        datakeyLength: '512'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getKmsDataKeyV1.\n","properties":{"datakeyLength":{"type":"string","description":"Number of bits in the length of a DEK (data encryption keys).\nThe maximum number is 512. Changing this gets the new data encryption key.\n"},"encryptionContext":{"type":"string","description":"The value of this parameter must be a series of\n\"key:value\" pairs used to record resource context information. The value of this\nparameter must not contain sensitive information and must be within 8192 characters\nin length. Example: {\"Key1\":\"Value1\",\"Key2\":\"Value2\"}\n"},"id":{"type":"string"},"keyId":{"type":"string","description":"The globally unique identifier for the key.\nChanging this gets the new data encryption key.\n"}},"type":"object","required":["datakeyLength","keyId"]},"outputs":{"description":"A collection of values returned by getKmsDataKeyV1.\n","properties":{"cipherText":{"description":"The ciphertext of a DEK is expressed in hexadecimal format, and two\ncharacters indicate one byte.\n","type":"string"},"datakeyLength":{"type":"string"},"encryptionContext":{"type":"string"},"id":{"type":"string"},"keyId":{"type":"string"},"plainText":{"description":"The plaintext of a DEK is expressed in hexadecimal format, and two\ncharacters indicate one byte.\n","type":"string"}},"required":["cipherText","datakeyLength","id","keyId","plainText"],"type":"object"}},"opentelekomcloud:index/getKmsKeyMaterialParametersV1:getKmsKeyMaterialParametersV1":{"description":"Up-to-date reference of API arguments for Obtaining CMK Import parameters you can get at\n[documentation portal](https://docs.otc.t-systems.com/key-management-service/api-ref/apis/cmk_management/obtaining_cmk_import_parameters.html)\n\nUse this data source to get the data required to import key material into a CMK in OpenTelekomCloud KMS.\n\n\u003e **Warning** This data source returns parameters for a CMK in `Pending_import` state.\n  Once the key is successfully imported and the state changes to `Enabled`, the data source will no longer fetch\n  new parameters and its computed attributes will be nulled. If other resources utilize fields from this data source, consider\n  adding `lifecycle {\u003cspan pulumi-lang-nodejs=\" ignoreChanges \" pulumi-lang-dotnet=\" IgnoreChanges \" pulumi-lang-go=\" ignoreChanges \" pulumi-lang-python=\" ignore_changes \" pulumi-lang-yaml=\" ignoreChanges \" pulumi-lang-java=\" ignoreChanges \"\u003e ignore_changes \u003c/span\u003e= [...] }` to handle state transitions properly.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst params = opentelekomcloud.getKmsKeyMaterialParametersV1({\n    keyId: \"0d0466b0-e727-4d9c-b35d-f84bb474a37f\",\n    wrappingAlgorithm: \"RSAES_PKCS1_V1_5\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nparams = opentelekomcloud.get_kms_key_material_parameters_v1(key_id=\"0d0466b0-e727-4d9c-b35d-f84bb474a37f\",\n    wrapping_algorithm=\"RSAES_PKCS1_V1_5\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @params = Opentelekomcloud.GetKmsKeyMaterialParametersV1.Invoke(new()\n    {\n        KeyId = \"0d0466b0-e727-4d9c-b35d-f84bb474a37f\",\n        WrappingAlgorithm = \"RSAES_PKCS1_V1_5\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.GetKmsKeyMaterialParametersV1(ctx, \u0026opentelekomcloud.GetKmsKeyMaterialParametersV1Args{\n\t\t\tKeyId:             \"0d0466b0-e727-4d9c-b35d-f84bb474a37f\",\n\t\t\tWrappingAlgorithm: \"RSAES_PKCS1_V1_5\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetKmsKeyMaterialParametersV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var params = OpentelekomcloudFunctions.getKmsKeyMaterialParametersV1(GetKmsKeyMaterialParametersV1Args.builder()\n            .keyId(\"0d0466b0-e727-4d9c-b35d-f84bb474a37f\")\n            .wrappingAlgorithm(\"RSAES_PKCS1_V1_5\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  params:\n    fn::invoke:\n      function: opentelekomcloud:getKmsKeyMaterialParametersV1\n      arguments:\n        keyId: 0d0466b0-e727-4d9c-b35d-f84bb474a37f\n        wrappingAlgorithm: RSAES_PKCS1_V1_5\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getKmsKeyMaterialParametersV1.\n","properties":{"id":{"type":"string"},"keyId":{"type":"string","description":"The ID of the CMK to import key material into. Must be 36 bytes and match\nregexp `^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$`.\n"},"sequence":{"type":"string","description":"36-byte serial number of the request message.\n"},"wrappingAlgorithm":{"type":"string","description":"The algorithm to be used for wrapping the imported key material.\nValid values are:\n* `RSAES_PKCS1_V1_5`\n* `RSAES_OAEP_SHA_1`\n* `RSAES_OAEP_SHA_256`\n"}},"type":"object","required":["keyId","wrappingAlgorithm"]},"outputs":{"description":"A collection of values returned by getKmsKeyMaterialParametersV1.\n","properties":{"expirationTime":{"description":"The time at which the import token and public key expire.\n","type":"number"},"id":{"type":"string"},"importToken":{"description":"The import token to use in subsequent ImportKey requests.\n","type":"string"},"keyId":{"type":"string"},"publicKey":{"description":"The public key to use to encrypt the key material before import (Base64 encoded).\n","type":"string"},"sequence":{"type":"string"},"wrappingAlgorithm":{"type":"string"}},"required":["expirationTime","id","importToken","keyId","publicKey","wrappingAlgorithm"],"type":"object"}},"opentelekomcloud:index/getKmsKeyV1:getKmsKeyV1":{"description":"Up-to-date reference of API arguments for KMS key you can get at\n[documentation portal](https://docs.otc.t-systems.com/key-management-service/api-ref/apis/cmk_management/querying_the_list_of_cmks.html#kms-02-0017)\n\nUse this data source to get the ID of an available OpenTelekomCloud KMS key.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst key1 = opentelekomcloud.getKmsKeyV1({\n    keyAlias: \"test_key\",\n    keyDescription: \"test key description\",\n    keyState: \"2\",\n    keyId: \"af650527-a0ff-4527-aef3-c493df1f3012\",\n    realm: \"eu-de-01\",\n    defaultKeyFlag: \"0\",\n    domainId: \"b168fe00ff56492495a7d22974df2d0b\",\n    origin: \"kms\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nkey1 = opentelekomcloud.get_kms_key_v1(key_alias=\"test_key\",\n    key_description=\"test key description\",\n    key_state=\"2\",\n    key_id=\"af650527-a0ff-4527-aef3-c493df1f3012\",\n    realm=\"eu-de-01\",\n    default_key_flag=\"0\",\n    domain_id=\"b168fe00ff56492495a7d22974df2d0b\",\n    origin=\"kms\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var key1 = Opentelekomcloud.GetKmsKeyV1.Invoke(new()\n    {\n        KeyAlias = \"test_key\",\n        KeyDescription = \"test key description\",\n        KeyState = \"2\",\n        KeyId = \"af650527-a0ff-4527-aef3-c493df1f3012\",\n        Realm = \"eu-de-01\",\n        DefaultKeyFlag = \"0\",\n        DomainId = \"b168fe00ff56492495a7d22974df2d0b\",\n        Origin = \"kms\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.LookupKmsKeyV1(ctx, \u0026opentelekomcloud.LookupKmsKeyV1Args{\n\t\t\tKeyAlias:       pulumi.StringRef(\"test_key\"),\n\t\t\tKeyDescription: pulumi.StringRef(\"test key description\"),\n\t\t\tKeyState:       pulumi.StringRef(\"2\"),\n\t\t\tKeyId:          pulumi.StringRef(\"af650527-a0ff-4527-aef3-c493df1f3012\"),\n\t\t\tRealm:          pulumi.StringRef(\"eu-de-01\"),\n\t\t\tDefaultKeyFlag: pulumi.StringRef(\"0\"),\n\t\t\tDomainId:       pulumi.StringRef(\"b168fe00ff56492495a7d22974df2d0b\"),\n\t\t\tOrigin:         pulumi.StringRef(\"kms\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetKmsKeyV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var key1 = OpentelekomcloudFunctions.getKmsKeyV1(GetKmsKeyV1Args.builder()\n            .keyAlias(\"test_key\")\n            .keyDescription(\"test key description\")\n            .keyState(\"2\")\n            .keyId(\"af650527-a0ff-4527-aef3-c493df1f3012\")\n            .realm(\"eu-de-01\")\n            .defaultKeyFlag(\"0\")\n            .domainId(\"b168fe00ff56492495a7d22974df2d0b\")\n            .origin(\"kms\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  key1:\n    fn::invoke:\n      function: opentelekomcloud:getKmsKeyV1\n      arguments:\n        keyAlias: test_key\n        keyDescription: test key description\n        keyState: '2'\n        keyId: af650527-a0ff-4527-aef3-c493df1f3012\n        realm: eu-de-01\n        defaultKeyFlag: '0'\n        domainId: b168fe00ff56492495a7d22974df2d0b\n        origin: kms\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getKmsKeyV1.\n","properties":{"defaultKeyFlag":{"type":"string","description":"Identification of a Master Key. The value \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e indicates a Default\nMaster Key, and the value \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e indicates a key. Changing this gets a new key.\n"},"domainId":{"type":"string","description":"ID of a user domain for the key. Changing this gets a new key.\n"},"id":{"type":"string"},"keyAlias":{"type":"string","description":"The alias in which to create the key. It is required when\nwe create a new key. Changing this gets the new key.\n"},"keyDescription":{"type":"string","description":"The description of the key. Changing this gets a new key.\n"},"keyId":{"type":"string","description":"The globally unique identifier for the key. Changing this gets the new key.\n"},"keyState":{"type":"string","description":"The state of a key. \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e indicates that the key is waiting to be activated.\n\u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e indicates that the key is enabled. \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e indicates that the key is disabled. \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e indicates that\nthe key is scheduled for deletion. \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e indicates that the key waiting to be imported. Changing this gets a new key.\n"},"origin":{"type":"string","description":"Origin of a key. Such as: \u003cspan pulumi-lang-nodejs=\"`kms`\" pulumi-lang-dotnet=\"`Kms`\" pulumi-lang-go=\"`kms`\" pulumi-lang-python=\"`kms`\" pulumi-lang-yaml=\"`kms`\" pulumi-lang-java=\"`kms`\"\u003e`kms`\u003c/span\u003e. Changing this gets a new key.\n"},"realm":{"type":"string","description":"Region where a key resides. Changing this gets a new key.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getKmsKeyV1.\n","properties":{"creationDate":{"description":"Creation time (time stamp) of a key.\n","type":"string"},"defaultKeyFlag":{"description":"See Argument Reference above.\n","type":"string"},"domainId":{"description":"See Argument Reference above.\n","type":"string"},"expirationTime":{"description":"Expiration time.\n","type":"string"},"id":{"type":"string"},"keyAlias":{"description":"See Argument Reference above.\n","type":"string"},"keyDescription":{"description":"See Argument Reference above.\n","type":"string"},"keyId":{"description":"See Argument Reference above.\n","type":"string"},"keyState":{"description":"See Argument Reference above.\n","type":"string"},"origin":{"description":"See Argument Reference above.\n","type":"string"},"realm":{"description":"See Argument Reference above.\n","type":"string"},"scheduledDeletionDate":{"description":"Scheduled deletion time (time stamp) of a key.\n","type":"string"}},"required":["creationDate","defaultKeyFlag","domainId","expirationTime","id","keyAlias","keyDescription","keyId","keyState","origin","realm","scheduledDeletionDate"],"type":"object"}},"opentelekomcloud:index/getLbCertificateV3:getLbCertificateV3":{"description":"Up-to-date reference of API arguments for ELBv3 certificate you can get at\n[documentation portal](https://docs.otc.t-systems.com/elastic-load-balancing/api-ref/apis_v3/certificate/querying_certificates.html#listcertificates)\n\nUse this data source to get the info about an existing ELBv3 certificate.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst certificate1 = opentelekomcloud.getLbCertificateV3({\n    name: certificateId,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ncertificate1 = opentelekomcloud.get_lb_certificate_v3(name=certificate_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var certificate1 = Opentelekomcloud.GetLbCertificateV3.Invoke(new()\n    {\n        Name = certificateId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.LookupLbCertificateV3(ctx, \u0026opentelekomcloud.LookupLbCertificateV3Args{\n\t\t\tName: pulumi.StringRef(certificateId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetLbCertificateV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var certificate1 = OpentelekomcloudFunctions.getLbCertificateV3(GetLbCertificateV3Args.builder()\n            .name(certificateId)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  certificate1:\n    fn::invoke:\n      function: opentelekomcloud:getLbCertificateV3\n      arguments:\n        name: ${certificateId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getLbCertificateV3.\n","properties":{"domain":{"type":"string","description":"The domain of the Certificate.\n"},"id":{"type":"string","description":"Specifies the certificate ID.\n"},"name":{"type":"string","description":"Specifies the certificate name.\n"},"type":{"type":"string","description":"The type of certificate the container holds. Either \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`client`\" pulumi-lang-dotnet=\"`Client`\" pulumi-lang-go=\"`client`\" pulumi-lang-python=\"`client`\" pulumi-lang-yaml=\"`client`\" pulumi-lang-java=\"`client`\"\u003e`client`\u003c/span\u003e.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getLbCertificateV3.\n","properties":{"certificate":{"description":"The public encrypted key of the Certificate, PEM format.\n","type":"string"},"createdAt":{"type":"string"},"description":{"description":"Provides supplementary information about the certificate.\n","type":"string"},"domain":{"type":"string"},"expireTime":{"description":"Indicates the expiration time.\n","type":"string"},"id":{"type":"string"},"name":{"type":"string"},"privateKey":{"description":"The private encrypted key of the Certificate, PEM format.\n","type":"string"},"type":{"type":"string"},"updatedAt":{"description":"Indicates the update time.\n","type":"string"}},"required":["certificate","createdAt","description","domain","expireTime","id","name","privateKey","type","updatedAt"],"type":"object"}},"opentelekomcloud:index/getLbFlavorV3:getLbFlavorV3":{"description":"Up-to-date reference of API arguments for ELBv3 flavor you can get at\n[documentation portal](https://docs.otc.t-systems.com/elastic-load-balancing/api-ref/apis_v3/load_balancer_flavor/querying_flavors.html#listflavors)\n\nUse this data source to get the info about an existing ELBv3 flavor.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst l7S2Small = opentelekomcloud.getLbFlavorV3({\n    name: \"L7_flavor.elb.s2.small\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nl7_s2_small = opentelekomcloud.get_lb_flavor_v3(name=\"L7_flavor.elb.s2.small\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var l7S2Small = Opentelekomcloud.GetLbFlavorV3.Invoke(new()\n    {\n        Name = \"L7_flavor.elb.s2.small\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.GetLbFlavorV3(ctx, \u0026opentelekomcloud.GetLbFlavorV3Args{\n\t\t\tName: pulumi.StringRef(\"L7_flavor.elb.s2.small\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetLbFlavorV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var l7S2Small = OpentelekomcloudFunctions.getLbFlavorV3(GetLbFlavorV3Args.builder()\n            .name(\"L7_flavor.elb.s2.small\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  l7S2Small:\n    fn::invoke:\n      function: opentelekomcloud:getLbFlavorV3\n      arguments:\n        name: L7_flavor.elb.s2.small\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getLbFlavorV3.\n","properties":{"id":{"type":"string","description":"Specifies the flavor ID.\n"},"name":{"type":"string","description":"Specifies the flavor name.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getLbFlavorV3.\n","properties":{"bandwidth":{"description":"Specifies the inbound and outbound bandwidth in the unit of Kbit/s.\n","type":"number"},"cps":{"description":"Specifies the number of new connections per second.\n","type":"number"},"id":{"type":"string"},"maxConnections":{"description":"Specifies the maximum concurrent connections.\n","type":"number"},"name":{"type":"string"},"qps":{"description":"Specifies the number of requests per second at Layer 7.\n","type":"number"},"shared":{"description":"Specifies whether the flavor is available to all users.\n","type":"boolean"},"type":{"description":"Specifies the flavor type.\n","type":"string"}},"required":["bandwidth","cps","id","maxConnections","name","qps","shared","type"],"type":"object"}},"opentelekomcloud:index/getLbFlavorsV3:getLbFlavorsV3":{"description":"Up-to-date reference of API arguments for ELBv3 flavor you can get at\n[documentation portal](https://docs.otc.t-systems.com/elastic-load-balancing/api-ref/apis_v3/load_balancer_flavor/querying_flavors.html#listflavors)\n\nUse this data source to get list of ELBv3 flavors names.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst flavorsNames = opentelekomcloud.getLbFlavorsV3({});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nflavors_names = opentelekomcloud.get_lb_flavors_v3()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var flavorsNames = Opentelekomcloud.GetLbFlavorsV3.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.GetLbFlavorsV3(ctx, \u0026opentelekomcloud.GetLbFlavorsV3Args{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetLbFlavorsV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var flavorsNames = OpentelekomcloudFunctions.getLbFlavorsV3(GetLbFlavorsV3Args.builder()\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  flavorsNames:\n    fn::invoke:\n      function: opentelekomcloud:getLbFlavorsV3\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getLbFlavorsV3.\n","properties":{"id":{"type":"string","description":"Specifies the flavor ID.\n"},"name":{"type":"string","description":"Specifies the flavor name.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getLbFlavorsV3.\n","properties":{"flavors":{"description":"A list of all the flavors names found. This data source will fail if none are found.\n","items":{"type":"string"},"type":"array"},"id":{"type":"string"},"name":{"type":"string"}},"required":["flavors","id","name"],"type":"object"}},"opentelekomcloud:index/getLbListenerV3:getLbListenerV3":{"description":"Up-to-date reference of API arguments for ELBv3 listener you can get at\n[documentation portal](https://docs.otc.t-systems.com/elastic-load-balancing/api-ref/apis_v3/listener/querying_listeners.html#listlisteners)\n\nUse this data source to get the info about an existing ELBv3 listener.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst listener = opentelekomcloud.getLbListenerV3({\n    loadbalancerId: loadbalancerId,\n    name: \"https_listener\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nlistener = opentelekomcloud.get_lb_listener_v3(loadbalancer_id=loadbalancer_id,\n    name=\"https_listener\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var listener = Opentelekomcloud.GetLbListenerV3.Invoke(new()\n    {\n        LoadbalancerId = loadbalancerId,\n        Name = \"https_listener\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.LookupLbListenerV3(ctx, \u0026opentelekomcloud.LookupLbListenerV3Args{\n\t\t\tLoadbalancerId: pulumi.StringRef(loadbalancerId),\n\t\t\tName:           pulumi.StringRef(\"https_listener\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetLbListenerV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var listener = OpentelekomcloudFunctions.getLbListenerV3(GetLbListenerV3Args.builder()\n            .loadbalancerId(loadbalancerId)\n            .name(\"https_listener\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  listener:\n    fn::invoke:\n      function: opentelekomcloud:getLbListenerV3\n      arguments:\n        loadbalancerId: ${loadbalancerId}\n        name: https_listener\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getLbListenerV3.\n","properties":{"clientCaTlsContainerRef":{"type":"string","description":"Specifies the ID of the CA certificate used by the listener.\n"},"clientTimeout":{"type":"number","description":"Specifies the timeout duration for waiting for a request from a client, in seconds.\nThis parameter is available only for `HTTP` and `HTTPS` listeners. The value ranges from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e, and\nthe default value is \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e. An error will be returned if you configure this parameter for `TCP` and `UDP` listeners.\n"},"defaultPoolId":{"type":"string","description":"Specifies the ID of the default backend server group.\n"},"defaultTlsContainerRef":{"type":"string","description":"Specifies the ID of the server certificate used by the listener.\n"},"description":{"type":"string","description":"Provides supplementary information about the listener.\n"},"id":{"type":"string","description":"Specifies the listener ID.\n"},"keepAliveTimeout":{"type":"number","description":"Specifies the idle timeout duration, in seconds.\n"},"loadbalancerId":{"type":"string","description":"Specifies the ID of the load balancer that the listener is added to.\n"},"memberAddress":{"type":"string","description":"Specifies the private IP address bound to the backend server.\nThis parameter is used only as a query condition and is not included in the response.\n"},"memberDeviceId":{"type":"string","description":"Specifies the ID of the cloud server that serves as a backend server.\nThis parameter is used only as a query condition and is not included in the response.\n"},"memberTimeout":{"type":"number","description":"Specifies the timeout duration for waiting for a request from a\nbackend server, in seconds. This parameter is available only for `HTTP` and `HTTPS` listeners.\nThe value ranges from \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e, and the default value is \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e. An error will be returned if\nyou configure this parameter for `TCP` and `UDP` listeners.\n"},"name":{"type":"string","description":"Specifies the listener name.\n"},"protocol":{"type":"string","description":"The protocol - can either be `TCP`, `HTTP`, `HTTPS` or `UDP`.\n"},"protocolPort":{"type":"number","description":"Specifies the port used by the listener. Changing this creates a new Listener.\n"},"tlsCiphersPolicy":{"type":"string","description":"Specifies the TLS version used.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getLbListenerV3.\n","properties":{"adminStateUp":{"type":"boolean"},"advancedForwarding":{"description":"Specifies whether to enable advanced forwarding.\n","type":"boolean"},"clientCaTlsContainerRef":{"type":"string"},"clientTimeout":{"type":"number"},"createdAt":{"description":"Indicates the creation time.\n","type":"string"},"defaultPoolId":{"type":"string"},"defaultTlsContainerRef":{"type":"string"},"description":{"type":"string"},"http2Enable":{"description":"Specifies whether to use HTTP/2.\n","type":"boolean"},"id":{"type":"string"},"insertHeaders":{"description":"Specifies the HTTP header fields.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetLbListenerV3InsertHeader:getLbListenerV3InsertHeader"},"type":"array"},"ipGroups":{"description":"Specifies the IP address group associated with the listener.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetLbListenerV3IpGroup:getLbListenerV3IpGroup"},"type":"array"},"keepAliveTimeout":{"type":"number"},"loadbalancerId":{"type":"string"},"memberAddress":{"type":"string"},"memberDeviceId":{"type":"string"},"memberRetryEnable":{"description":"Specifies whether to enable health check retries for backend servers.\n","type":"boolean"},"memberTimeout":{"type":"number"},"memoryRetryEnable":{"type":"boolean"},"name":{"type":"string"},"projectId":{"description":"Specifies the project ID.\n","type":"string"},"protocol":{"type":"string"},"protocolPort":{"type":"number"},"securityPolicyId":{"description":"Specifies the ID of the custom security policy.\n","type":"string"},"sniContainerRefs":{"description":"Lists the IDs of SNI certificates (server certificates with domain names) used by the listener.\n","items":{"type":"string"},"type":"array"},"sniMatchAlgo":{"description":"Specifies how wildcard domain name matches with the SNI certificates\nused by the listener.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"Tags key/value pairs to associate with the loadbalancer listener.\n","type":"object"},"tlsCiphersPolicy":{"type":"string"},"updatedAt":{"description":"Indicates the update time.\n","type":"string"}},"required":["adminStateUp","advancedForwarding","createdAt","http2Enable","insertHeaders","ipGroups","memberRetryEnable","memoryRetryEnable","projectId","securityPolicyId","sniContainerRefs","sniMatchAlgo","tags","updatedAt"],"type":"object"}},"opentelekomcloud:index/getLbLoadbalancerV3:getLbLoadbalancerV3":{"description":"Up-to-date reference of API arguments for ELBv3 loadbalancer you can get at\n[documentation portal](https://docs.otc.t-systems.com/elastic-load-balancing/api-ref/apis_v3/load_balancer/querying_load_balancers.html#listloadbalancers)\n\nUse this data source to get the info about an existing ELBv3 load balancer.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst loadbalancer1 = opentelekomcloud.getLbLoadbalancerV3({\n    id: lbId,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nloadbalancer1 = opentelekomcloud.get_lb_loadbalancer_v3(id=lb_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var loadbalancer1 = Opentelekomcloud.GetLbLoadbalancerV3.Invoke(new()\n    {\n        Id = lbId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.LookupLbLoadbalancerV3(ctx, \u0026opentelekomcloud.LookupLbLoadbalancerV3Args{\n\t\t\tId: pulumi.StringRef(lbId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetLbLoadbalancerV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var loadbalancer1 = OpentelekomcloudFunctions.getLbLoadbalancerV3(GetLbLoadbalancerV3Args.builder()\n            .id(lbId)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  loadbalancer1:\n    fn::invoke:\n      function: opentelekomcloud:getLbLoadbalancerV3\n      arguments:\n        id: ${lbId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getLbLoadbalancerV3.\n","properties":{"id":{"type":"string","description":"Specifies the LoadBalancer ID.\n"},"l4Flavor":{"type":"string"},"l7Flavor":{"type":"string"},"name":{"type":"string","description":"Specifies the LoadBalancer name.\n"},"routerId":{"type":"string","description":"The ID of the router (or VPC) this LoadBalancer belongs.\n"},"subnetId":{"type":"string","description":"The ID of the subnet to which the LoadBalancer belongs.\n"},"vipAddress":{"type":"string","description":"The IP address of the LoadBalancer.\n"},"vipPortId":{"type":"string","description":"The Port ID of the Load Balancer IP.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getLbLoadbalancerV3.\n","properties":{"adminStateUp":{"description":"The administrative state of the LoadBalancer.\n","type":"boolean"},"availabilityZones":{"description":"Specifies the availability zones where the LoadBalancer will be located.\n","items":{"type":"string"},"type":"array"},"createdAt":{"description":"The time the LoadBalancer was created.\n","type":"string"},"deletionProtection":{"description":"Specifies whether to enable deletion protection for the load balancer.\n","type":"boolean"},"description":{"description":"Specifies supplementary information about the load balancer.\n","type":"string"},"id":{"description":"Elastic IP ID.\n","type":"string"},"ipTargetEnable":{"description":"The value can be \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e (enabled) or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e (disabled).\n","type":"boolean"},"l4Flavor":{"type":"string"},"l7Flavor":{"type":"string"},"name":{"type":"string"},"networkIds":{"description":"Specifies the subnet Network ID.\n","items":{"type":"string"},"type":"array"},"publicIps":{"description":"The elastic IP address of the instance.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetLbLoadbalancerV3PublicIp:getLbLoadbalancerV3PublicIp"},"type":"array"},"routerId":{"type":"string"},"subnetId":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"type":"object"},"updatedAt":{"description":"The time the LoadBalancer was last updated.\n","type":"string"},"vipAddress":{"type":"string"},"vipPortId":{"type":"string"}},"required":["adminStateUp","availabilityZones","createdAt","deletionProtection","description","id","ipTargetEnable","l4Flavor","l7Flavor","name","networkIds","publicIps","routerId","subnetId","tags","updatedAt","vipAddress","vipPortId"],"type":"object"}},"opentelekomcloud:index/getLbMemberIdsV2:getLbMemberIdsV2":{"description":"Up-to-date reference of API arguments for ELBv3 pool members you can get at\n[documentation portal](https://docs.otc.t-systems.com/elastic-load-balancing/api-ref/apis_v2.0/backend_server/querying_backend_servers.html#elb-zq-hd-0002)\n\nUse this data source to get a list of member IDs for a ELBv2 pool from OpenTelekomCloud.\nThis data source can be useful for getting back a list of member IDs for a ELBv2 pool.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst _this = opentelekomcloud.getLbMemberIdsV2({\n    poolId: poolId,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nthis = opentelekomcloud.get_lb_member_ids_v2(pool_id=pool_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = Opentelekomcloud.GetLbMemberIdsV2.Invoke(new()\n    {\n        PoolId = poolId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.GetLbMemberIdsV2(ctx, \u0026opentelekomcloud.GetLbMemberIdsV2Args{\n\t\t\tPoolId: poolId,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetLbMemberIdsV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var this = OpentelekomcloudFunctions.getLbMemberIdsV2(GetLbMemberIdsV2Args.builder()\n            .poolId(poolId)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  this:\n    fn::invoke:\n      function: opentelekomcloud:getLbMemberIdsV2\n      arguments:\n        poolId: ${poolId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getLbMemberIdsV2.\n","properties":{"id":{"type":"string"},"poolId":{"type":"string","description":"Specifies the ELBv2 pool ID used as the query filter.\n"},"region":{"type":"string"}},"type":"object","required":["poolId"]},"outputs":{"description":"A collection of values returned by getLbMemberIdsV2.\n","properties":{"id":{"type":"string"},"ids":{"description":"A list of all the member IDs found.\n","items":{"type":"string"},"type":"array"},"poolId":{"type":"string"},"region":{"type":"string"}},"required":["id","ids","poolId","region"],"type":"object"}},"opentelekomcloud:index/getLtsGroupsV2:getLtsGroupsV2":{"description":"Up-to-date reference of API arguments for LTS Groups you can get at\n[documentation portal](https://docs.otc.t-systems.com/log-tank-service/api-ref/apis/log_group_management/querying_all_log_groups_of_an_account.html#listloggroups)\n\nUse this data source to get the list of LTS log groups.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst test = opentelekomcloud.getLtsGroupsV2({});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ntest = opentelekomcloud.get_lts_groups_v2()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = Opentelekomcloud.GetLtsGroupsV2.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.GetLtsGroupsV2(ctx, \u0026opentelekomcloud.GetLtsGroupsV2Args{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetLtsGroupsV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var test = OpentelekomcloudFunctions.getLtsGroupsV2(GetLtsGroupsV2Args.builder()\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  test:\n    fn::invoke:\n      function: opentelekomcloud:getLtsGroupsV2\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getLtsGroupsV2.\n","properties":{"id":{"type":"string","description":"The log group ID.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getLtsGroupsV2.\n","properties":{"groups":{"description":"All log groups that match the filter parameters.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetLtsGroupsV2Group:getLtsGroupsV2Group"},"type":"array"},"id":{"description":"The log group ID.\n","type":"string"},"region":{"description":"Region in which to query the resources are placed.\n","type":"string"}},"required":["groups","id","region"],"type":"object"}},"opentelekomcloud:index/getLtsStreamsV2:getLtsStreamsV2":{"description":"Up-to-date reference of API arguments for LTS log streams service you can get at\n[documentation portal](https://docs.otc.t-systems.com/log-tank-service/api-ref/apis/log_stream_management/querying_log_streams.html#listlogstreams)\n\nUse this data source to get the list of LTS log streams.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst test = opentelekomcloud.getLtsStreamsV2({});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ntest = opentelekomcloud.get_lts_streams_v2()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = Opentelekomcloud.GetLtsStreamsV2.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.GetLtsStreamsV2(ctx, \u0026opentelekomcloud.GetLtsStreamsV2Args{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetLtsStreamsV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var test = OpentelekomcloudFunctions.getLtsStreamsV2(GetLtsStreamsV2Args.builder()\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  test:\n    fn::invoke:\n      function: opentelekomcloud:getLtsStreamsV2\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getLtsStreamsV2.\n","properties":{"id":{"type":"string","description":"The ID of the log stream.\n"},"logGroupName":{"type":"string","description":"Specifies the name of the log group.\n"},"name":{"type":"string","description":"Specifies the name of the log stream.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getLtsStreamsV2.\n","properties":{"id":{"description":"The ID of the log stream.\n","type":"string"},"logGroupName":{"type":"string"},"name":{"description":"The name of the log stream.\n","type":"string"},"region":{"description":"Shows the region in the log stream resources created.\n","type":"string"},"streams":{"description":"All log streams that match the filter parameters.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetLtsStreamsV2Stream:getLtsStreamsV2Stream"},"type":"array"}},"required":["id","region","streams"],"type":"object"}},"opentelekomcloud:index/getNatDnatRulesV2:getNatDnatRulesV2":{"description":"Up-to-date reference of API arguments for NAT Gateway you can get at\n[documentation portal](https://docs.otc.t-systems.com/nat-gateway/api-ref/api_v2.0/dnat_rules/querying_dnat_rules.html#nat-api-0012)\n\nUse this data source to get the list of DNAT rules within OpenTelekomCloud..\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst protocol = config.requireObject\u003cany\u003e(\"protocol\");\nconst rule = opentelekomcloud.getNatDnatRulesV2({\n    protocol: protocol,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nprotocol = config.require_object(\"protocol\")\nrule = opentelekomcloud.get_nat_dnat_rules_v2(protocol=protocol)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var protocol = config.RequireObject\u003cdynamic\u003e(\"protocol\");\n    var rule = Opentelekomcloud.GetNatDnatRulesV2.Invoke(new()\n    {\n        Protocol = protocol,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tprotocol := cfg.RequireObject(\"protocol\")\n\t\t_, err := opentelekomcloud.GetNatDnatRulesV2(ctx, \u0026opentelekomcloud.GetNatDnatRulesV2Args{\n\t\t\tProtocol: pulumi.StringRef(protocol),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetNatDnatRulesV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var protocol = config.get(\"protocol\");\n        final var rule = OpentelekomcloudFunctions.getNatDnatRulesV2(GetNatDnatRulesV2Args.builder()\n            .protocol(protocol)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  protocol:\n    type: dynamic\nvariables:\n  rule:\n    fn::invoke:\n      function: opentelekomcloud:getNatDnatRulesV2\n      arguments:\n        protocol: ${protocol}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getNatDnatRulesV2.\n","properties":{"description":{"type":"string","description":"Specifies the description of the DNAT rule.\n"},"externalServicePort":{"type":"number","description":"Specifies the port of the EIP associated with the DNAT rule.\n"},"floatingIpAddress":{"type":"string","description":"Specifies the IP address of the EIP associated with the DNAT rule.\n"},"floatingIpId":{"type":"string","description":"Specifies the ID of the EIP associated with the DNAT rule.\n"},"gatewayId":{"type":"string","description":"Specifies the ID of the NAT gateway to which the DNAT rule belongs.\n"},"id":{"type":"string","description":"The ID of the DNAT rule.\n"},"internalServicePort":{"type":"number","description":"Specifies the port of the backend instance to which the DNAT rule\nbelongs.\n"},"portId":{"type":"string","description":"Specifies the port ID of the backend instance to which the DNAT rule belongs.\n"},"privateIp":{"type":"string","description":"Specifies the private IP address of the backend instance to which the DNAT rule\nbelongs.\n"},"protocol":{"type":"string","description":"Specifies the protocol type of the DNAT rule.\nThe value can be one of the following:\n"},"ruleId":{"type":"string","description":"Specifies the ID of the DNAT rule.\n"},"status":{"type":"string","description":"Specifies the status of the DNAT rule.\nThe value can be one of the following:\n* `ACTIVE`: The SNAT rule is available.\n* `EIP_FREEZED`: The EIP is frozen associated with SNAT rule.\n* `INACTIVE`: The SNAT rule is unavailable.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getNatDnatRulesV2.\n","properties":{"description":{"description":"The description of the DNAT rule.\n","type":"string"},"externalServicePort":{"description":"The port of the EIP associated with the DNAT rule belongs.\n","type":"number"},"floatingIpAddress":{"description":"The IP address of the EIP associated with the DNAT rule.\n","type":"string"},"floatingIpId":{"description":"The ID of the EIP associated with the DNAT rule.\n","type":"string"},"gatewayId":{"description":"The ID of the NAT gateway to which the DNAT rule belongs.\n","type":"string"},"id":{"description":"The ID of the DNAT rule.\n","type":"string"},"internalServicePort":{"description":"The port of the backend instance to which the DNAT rule belongs.\n","type":"number"},"portId":{"description":"The port ID of the backend instance to which the DNAT rule belongs.\n","type":"string"},"privateIp":{"description":"The private IP address of the backend instance to which the DNAT rule belongs.\n","type":"string"},"protocol":{"description":"The protocol type of the DNAT rule.\n","type":"string"},"region":{"description":"The region where the DNAT rules are located.\n","type":"string"},"ruleId":{"type":"string"},"rules":{"description":"The list ot the DNAT rules.\nThe rules structure is documented below.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetNatDnatRulesV2Rule:getNatDnatRulesV2Rule"},"type":"array"},"status":{"description":"The status of the DNAT rule.\n","type":"string"}},"required":["id","region","rules"],"type":"object"}},"opentelekomcloud:index/getNatGatewayV2:getNatGatewayV2":{"description":"Up-to-date reference of API arguments for NAT Gateway you can get at\n[documentation portal](https://docs.otc.t-systems.com/nat-gateway/api-ref/api_v2.0/nat_gateway_service/querying_nat_gateways.html#nat-api-0002)\n\nUse this data source to get the info about an existing V2 NAT Gateway resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst _this = opentelekomcloud.getNatGatewayV2({\n    name: \"tf_nat\",\n    spec: \"1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nthis = opentelekomcloud.get_nat_gateway_v2(name=\"tf_nat\",\n    spec=\"1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = Opentelekomcloud.GetNatGatewayV2.Invoke(new()\n    {\n        Name = \"tf_nat\",\n        Spec = \"1\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.LookupNatGatewayV2(ctx, \u0026opentelekomcloud.LookupNatGatewayV2Args{\n\t\t\tName: pulumi.StringRef(\"tf_nat\"),\n\t\t\tSpec: pulumi.StringRef(\"1\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetNatGatewayV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var this = OpentelekomcloudFunctions.getNatGatewayV2(GetNatGatewayV2Args.builder()\n            .name(\"tf_nat\")\n            .spec(\"1\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  this:\n    fn::invoke:\n      function: opentelekomcloud:getNatGatewayV2\n      arguments:\n        name: tf_nat\n        spec: '1'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getNatGatewayV2.\n","properties":{"adminStateUp":{"type":"boolean","description":"Specifies whether the NAT gateway is up or down. Possible values are:\n"},"description":{"type":"string","description":"The description of the NAT Gateway.\n"},"id":{"type":"string","description":"ID of NAT gateway.\n"},"internalNetworkId":{"type":"string","description":"ID of the network this NAT Gateway connects to.\n"},"name":{"type":"string","description":"The name of the NAT Gateway.\n"},"natId":{"type":"string","description":"The ID of the NAT Gateway.\n"},"region":{"type":"string","description":"Region of NAT gateway.\n"},"routerId":{"type":"string","description":"ID of the router (or VPC) this NAT Gateway belongs to.\n"},"spec":{"type":"string","description":"The specification of the NAT Gateway, valid values are `\"1\"`, `\"2\"`, `\"3\"`, `\"4\"`.\n"},"status":{"type":"string","description":"Specifies the NAT gateway status.\n"},"tenantId":{"type":"string","description":"The target tenant ID in which to allocate the NAT\nGateway.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getNatGatewayV2.\n","properties":{"adminStateUp":{"type":"boolean"},"description":{"type":"string"},"id":{"description":"ID of NAT gateway.\n","type":"string"},"internalNetworkId":{"type":"string"},"name":{"type":"string"},"natId":{"type":"string"},"region":{"description":"Region of NAT gateway.\n","type":"string"},"routerId":{"type":"string"},"spec":{"type":"string"},"status":{"type":"string"},"tenantId":{"type":"string"}},"required":["adminStateUp","description","id","internalNetworkId","name","natId","region","routerId","spec","status","tenantId"],"type":"object"}},"opentelekomcloud:index/getNatSnatRulesV2:getNatSnatRulesV2":{"description":"Up-to-date reference of API arguments for NAT Gateway you can get at\n[documentation portal](https://docs.otc.t-systems.com/nat-gateway/api-ref/api_v2.0/snat_rules/querying_snat_rules.html#nat-api-0007)\n\nUse this data source to get the list of SNAT rules.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst ruleId = config.requireObject\u003cany\u003e(\"ruleId\");\nconst rule = opentelekomcloud.getNatSnatRulesV2({\n    ruleId: ruleId,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nrule_id = config.require_object(\"ruleId\")\nrule = opentelekomcloud.get_nat_snat_rules_v2(rule_id=rule_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var ruleId = config.RequireObject\u003cdynamic\u003e(\"ruleId\");\n    var rule = Opentelekomcloud.GetNatSnatRulesV2.Invoke(new()\n    {\n        RuleId = ruleId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\truleId := cfg.RequireObject(\"ruleId\")\n\t\t_, err := opentelekomcloud.GetNatSnatRulesV2(ctx, \u0026opentelekomcloud.GetNatSnatRulesV2Args{\n\t\t\tRuleId: pulumi.StringRef(ruleId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetNatSnatRulesV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var ruleId = config.get(\"ruleId\");\n        final var rule = OpentelekomcloudFunctions.getNatSnatRulesV2(GetNatSnatRulesV2Args.builder()\n            .ruleId(ruleId)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  ruleId:\n    type: dynamic\nvariables:\n  rule:\n    fn::invoke:\n      function: opentelekomcloud:getNatSnatRulesV2\n      arguments:\n        ruleId: ${ruleId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getNatSnatRulesV2.\n","properties":{"cidr":{"type":"string","description":"Specifies the CIDR block to which the SNAT rule belongs.\n"},"description":{"type":"string","description":"Specifies the description of the SNAT rule.\n"},"floatingIpAddress":{"type":"string","description":"Specifies the IP of the EIP associated with SNAT rule.\n"},"floatingIpId":{"type":"string","description":"Specifies the ID of the EIP associated with SNAT rule.\n"},"gatewayId":{"type":"string","description":"Specifies the ID of the NAT gateway to which the SNAT rule belongs.\n"},"id":{"type":"string","description":"The ID of the SNAT rule.\n"},"projectId":{"type":"string","description":"Specifies the project ID to which the SNAT rule belongs.\n"},"ruleId":{"type":"string","description":"Specifies the ID of the SNAT rule.\n"},"sourceType":{"type":"number","description":"Specifies the source type of the SNAT rule.\nThe value can be one of the following:\n"},"status":{"type":"string","description":"Specifies the status of the SNAT rule.\nThe value can be one of the following:\n* `ACTIVE`: The SNAT rule is available.\n* `EIP_FREEZED`: The global EIP is frozen associated with SNAT rule.\n+ `INACTIVE`: The SNAT rule is unavailable.\n"},"subnetId":{"type":"string","description":"Specifies the ID of the subnet to which the SNAT rule belongs.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getNatSnatRulesV2.\n","properties":{"cidr":{"description":"The CIDR block to which the SNAT rule belongs.\n","type":"string"},"description":{"type":"string"},"floatingIpAddress":{"description":"The IPs of the EIP associated with SNAT rule, multiple EIP IPs separate by commas.\ne.g. `IP1,IP2`.\n","type":"string"},"floatingIpId":{"description":"The IDs of the EIP associated with SNAT rule, multiple EIP IDs separate by commas.\ne.g. `ID1,ID2`.\n","type":"string"},"gatewayId":{"description":"The ID of the NAT gateway to which the SNAT rule belongs.\n","type":"string"},"id":{"description":"The ID of the SNAT rule.\n","type":"string"},"projectId":{"description":"The ID of the project ID to which the SNAT rule belongs.\n","type":"string"},"region":{"description":"The region where the SNAT rules are located.\n","type":"string"},"ruleId":{"type":"string"},"rules":{"description":"The list of the SNAT rules.\nThe rules structure is documented below.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetNatSnatRulesV2Rule:getNatSnatRulesV2Rule"},"type":"array"},"sourceType":{"description":"The source type of the SNAT rule.\n","type":"number"},"status":{"description":"The status of the SNAT rule.\n","type":"string"},"subnetId":{"description":"The ID of the subnet to which the SNAT rule belongs.\n","type":"string"}},"required":["id","region","rules"],"type":"object"}},"opentelekomcloud:index/getNetworkingNetworkV2:getNetworkingNetworkV2":{"description":"Up-to-date reference of API arguments for Network you can get at\n[documentation portal](https://docs.otc.t-systems.com/virtual-private-cloud/api-ref/native_openstack_neutron_apis_v2.0/network/querying_networks.html#vpc-network-0001)\n\nUse this data source to get the ID of an available OpenTelekomCloud network.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst network = opentelekomcloud.getNetworkingNetworkV2({\n    name: \"tf_test_network\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nnetwork = opentelekomcloud.get_networking_network_v2(name=\"tf_test_network\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var network = Opentelekomcloud.GetNetworkingNetworkV2.Invoke(new()\n    {\n        Name = \"tf_test_network\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.LookupNetworkingNetworkV2(ctx, \u0026opentelekomcloud.LookupNetworkingNetworkV2Args{\n\t\t\tName: pulumi.StringRef(\"tf_test_network\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetNetworkingNetworkV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var network = OpentelekomcloudFunctions.getNetworkingNetworkV2(GetNetworkingNetworkV2Args.builder()\n            .name(\"tf_test_network\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  network:\n    fn::invoke:\n      function: opentelekomcloud:getNetworkingNetworkV2\n      arguments:\n        name: tf_test_network\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getNetworkingNetworkV2.\n","properties":{"id":{"type":"string"},"matchingSubnetCidr":{"type":"string","description":"The CIDR of a subnet within the network.\n"},"name":{"type":"string","description":"The name of the network.\n"},"networkId":{"type":"string","description":"The ID of the network.\n"},"region":{"type":"string"},"tenantId":{"type":"string","description":"The owner of the network.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getNetworkingNetworkV2.\n","properties":{"adminStateUp":{"description":"The administrative state of the network.\n","type":"string"},"id":{"type":"string"},"matchingSubnetCidr":{"type":"string"},"name":{"description":"See Argument Reference above.\n","type":"string"},"networkId":{"type":"string"},"region":{"type":"string"},"shared":{"description":"Specifies whether the network resource can be accessed by any tenant or not.\n","type":"string"},"tenantId":{"type":"string"}},"required":["adminStateUp","id","region","shared"],"type":"object"}},"opentelekomcloud:index/getNetworkingPortIdsV2:getNetworkingPortIdsV2":{"description":"Up-to-date reference of API arguments for Network port you can get at\n[documentation portal](https://docs.otc.t-systems.com/virtual-private-cloud/api-ref/native_openstack_neutron_apis_v2.0/port/querying_ports.html#vpc-port02-0001)\n\nUse this data source to get a list of OpenTelekomCloud Port IDs matching the\nspecified criteria.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst ports = opentelekomcloud.getNetworkingPortIdsV2({\n    name: \"port\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nports = opentelekomcloud.get_networking_port_ids_v2(name=\"port\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var ports = Opentelekomcloud.GetNetworkingPortIdsV2.Invoke(new()\n    {\n        Name = \"port\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.GetNetworkingPortIdsV2(ctx, \u0026opentelekomcloud.GetNetworkingPortIdsV2Args{\n\t\t\tName: pulumi.StringRef(\"port\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetNetworkingPortIdsV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var ports = OpentelekomcloudFunctions.getNetworkingPortIdsV2(GetNetworkingPortIdsV2Args.builder()\n            .name(\"port\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  ports:\n    fn::invoke:\n      function: opentelekomcloud:getNetworkingPortIdsV2\n      arguments:\n        name: port\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getNetworkingPortIdsV2.\n","properties":{"deviceId":{"type":"string","description":"The ID of the device the port belongs to.\n"},"deviceOwner":{"type":"string","description":"The device owner of the port.\n"},"fixedIp":{"type":"string","description":"The port IP address filter.\n"},"id":{"type":"string"},"macAddress":{"type":"string","description":"The MAC address of the port.\n"},"name":{"type":"string","description":"The name of the port.\n"},"networkId":{"type":"string","description":"The ID of the network the port belongs to.\n"},"projectId":{"type":"string","description":"The owner of the port.\n"},"region":{"type":"string","description":"The region in which to obtain the V2 Neutron client.\nA Neutron client is needed to retrieve port ids. If omitted, the\n\u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e argument of the provider is used.\n"},"securityGroupIds":{"type":"array","items":{"type":"string"},"description":"The list of port security group IDs to filter.\n"},"sortDirection":{"type":"string","description":"Order the results in either \u003cspan pulumi-lang-nodejs=\"`asc`\" pulumi-lang-dotnet=\"`Asc`\" pulumi-lang-go=\"`asc`\" pulumi-lang-python=\"`asc`\" pulumi-lang-yaml=\"`asc`\" pulumi-lang-java=\"`asc`\"\u003e`asc`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`desc`\" pulumi-lang-dotnet=\"`Desc`\" pulumi-lang-go=\"`desc`\" pulumi-lang-python=\"`desc`\" pulumi-lang-yaml=\"`desc`\" pulumi-lang-java=\"`desc`\"\u003e`desc`\u003c/span\u003e.\nDefaults to none.\n"},"sortKey":{"type":"string","description":"Sort ports based on a certain key. Defaults to none.\n"},"status":{"type":"string","description":"The status of the port.\n"},"tenantId":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getNetworkingPortIdsV2.\n","properties":{"deviceId":{"type":"string"},"deviceOwner":{"type":"string"},"fixedIp":{"type":"string"},"id":{"type":"string"},"ids":{"items":{"type":"string"},"type":"array"},"macAddress":{"type":"string"},"name":{"type":"string"},"networkId":{"type":"string"},"projectId":{"type":"string"},"region":{"type":"string"},"securityGroupIds":{"items":{"type":"string"},"type":"array"},"sortDirection":{"type":"string"},"sortKey":{"type":"string"},"status":{"type":"string"},"tenantId":{"type":"string"}},"required":["id","ids"],"type":"object"}},"opentelekomcloud:index/getNetworkingPortV2:getNetworkingPortV2":{"description":"Up-to-date reference of API arguments for Network port you can get at\n[documentation portal](https://docs.otc.t-systems.com/virtual-private-cloud/api-ref/native_openstack_neutron_apis_v2.0/port/querying_ports.html#vpc-port02-0001)\n\nUse this data source to get the ID of an available OpenTelekomCloud port.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst port1 = opentelekomcloud.getNetworkingPortV2({\n    name: \"port_1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nport1 = opentelekomcloud.get_networking_port_v2(name=\"port_1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var port1 = Opentelekomcloud.GetNetworkingPortV2.Invoke(new()\n    {\n        Name = \"port_1\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.LookupNetworkingPortV2(ctx, \u0026opentelekomcloud.LookupNetworkingPortV2Args{\n\t\t\tName: pulumi.StringRef(\"port_1\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetNetworkingPortV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var port1 = OpentelekomcloudFunctions.getNetworkingPortV2(GetNetworkingPortV2Args.builder()\n            .name(\"port_1\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  port1:\n    fn::invoke:\n      function: opentelekomcloud:getNetworkingPortV2\n      arguments:\n        name: port_1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getNetworkingPortV2.\n","properties":{"adminStateUp":{"type":"boolean","description":"The administrative state of the port.\n"},"deviceId":{"type":"string","description":"The ID of the device the port belongs to.\n"},"deviceOwner":{"type":"string","description":"The device owner of the port.\n"},"fixedIp":{"type":"string","description":"The port IP address filter.\n"},"id":{"type":"string"},"macAddress":{"type":"string","description":"The MAC address of the port.\n"},"name":{"type":"string","description":"The name of the port.\n"},"networkId":{"type":"string","description":"The ID of the network the port belongs to.\n"},"portId":{"type":"string","description":"The ID of the port.\n"},"projectId":{"type":"string","description":"The owner of the port.\n"},"region":{"type":"string","description":"The region in which to obtain the V2 Neutron client.\nA Neutron client is needed to retrieve port ids. If omitted, the\n\u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e argument of the provider is used.\n"},"securityGroupIds":{"type":"array","items":{"type":"string"},"description":"The list of port security group IDs to filter.\n"},"status":{"type":"string","description":"The status of the port.\n"},"tenantId":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getNetworkingPortV2.\n","properties":{"adminStateUp":{"description":"See Argument Reference above.\n","type":"boolean"},"allFixedIps":{"description":"The collection of Fixed IP addresses on the port in the\norder returned by the Network v2 API.\n","items":{"type":"string"},"type":"array"},"allSecurityGroupIds":{"description":"The set of security group IDs applied on the port.\n","items":{"type":"string"},"type":"array"},"deviceId":{"description":"See Argument Reference above.\n","type":"string"},"deviceOwner":{"description":"See Argument Reference above.\n","type":"string"},"fixedIp":{"type":"string"},"id":{"type":"string"},"macAddress":{"description":"See Argument Reference above.\n","type":"string"},"name":{"description":"See Argument Reference above.\n","type":"string"},"networkId":{"description":"See Argument Reference above.\n","type":"string"},"portId":{"description":"See Argument Reference above.\n","type":"string"},"projectId":{"description":"See Argument Reference above.\n","type":"string"},"region":{"description":"See Argument Reference above.\n","type":"string"},"securityGroupIds":{"items":{"type":"string"},"type":"array"},"status":{"type":"string"},"tenantId":{"type":"string"}},"required":["allFixedIps","allSecurityGroupIds","id"],"type":"object"}},"opentelekomcloud:index/getNetworkingSecgroupRuleIdsV2:getNetworkingSecgroupRuleIdsV2":{"description":"Up-to-date reference of API arguments for Network security group you can get at\n[documentation portal](https://docs.otc.t-systems.com/virtual-private-cloud/api-ref/native_openstack_neutron_apis_v2.0/security_group/querying_security_groups.html#vpc-sg02-0001)\n\nUse this data source to get a list of security group rules ids for a \u003cspan pulumi-lang-nodejs=\"`securityGroupId`\" pulumi-lang-dotnet=\"`SecurityGroupId`\" pulumi-lang-go=\"`securityGroupId`\" pulumi-lang-python=\"`security_group_id`\" pulumi-lang-yaml=\"`securityGroupId`\" pulumi-lang-java=\"`securityGroupId`\"\u003e`security_group_id`\u003c/span\u003e.\n\nThis resource can be useful for getting back a list of security group rules ids for a Security Group.\n\n## Example Usage\n\nThe following example shows outputting all security group rules for security group.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst securityGroupId = config.requireObject\u003cany\u003e(\"securityGroupId\");\nconst sgIds = opentelekomcloud.getNetworkingSecgroupRuleIdsV2({\n    securityGroupId: securityGroupId,\n});\nexport const secgroupRuleIds = sgIds.then(sgIds =\u003e .map(id =\u003e (id)));\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nsecurity_group_id = config.require_object(\"securityGroupId\")\nsg_ids = opentelekomcloud.get_networking_secgroup_rule_ids_v2(security_group_id=security_group_id)\npulumi.export(\"secgroupRuleIds\", [id for id in sg_ids.ids])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var securityGroupId = config.RequireObject\u003cdynamic\u003e(\"securityGroupId\");\n    var sgIds = Opentelekomcloud.GetNetworkingSecgroupRuleIdsV2.Invoke(new()\n    {\n        SecurityGroupId = securityGroupId,\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"secgroupRuleIds\"] = .Select(id =\u003e \n        {\n            return id;\n        }).ToList(),\n    };\n});\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getNetworkingSecgroupRuleIdsV2.\n","properties":{"id":{"type":"string"},"region":{"type":"string"},"securityGroupId":{"type":"string","description":"Specifies the security group ID used as the query filter.\n"}},"type":"object","required":["securityGroupId"]},"outputs":{"description":"A collection of values returned by getNetworkingSecgroupRuleIdsV2.\n","properties":{"id":{"type":"string"},"ids":{"description":"A list of all the security group rule IDs found. This data source will fail if none are found.\n","items":{"type":"string"},"type":"array"},"region":{"type":"string"},"securityGroupId":{"type":"string"}},"required":["id","ids","region","securityGroupId"],"type":"object"}},"opentelekomcloud:index/getNetworkingSecgroupV2:getNetworkingSecgroupV2":{"description":"Up-to-date reference of API arguments for Network security group you can get at\n[documentation portal](https://docs.otc.t-systems.com/virtual-private-cloud/api-ref/native_openstack_neutron_apis_v2.0/security_group/querying_security_groups.html#vpc-sg02-0001)\n\nUse this data source to get the ID of an available OpenTelekomCloud security group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst secgroup = opentelekomcloud.getNetworkingSecgroupV2({\n    name: \"tf_test_secgroup\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nsecgroup = opentelekomcloud.get_networking_secgroup_v2(name=\"tf_test_secgroup\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var secgroup = Opentelekomcloud.GetNetworkingSecgroupV2.Invoke(new()\n    {\n        Name = \"tf_test_secgroup\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.LookupNetworkingSecgroupV2(ctx, \u0026opentelekomcloud.LookupNetworkingSecgroupV2Args{\n\t\t\tName: pulumi.StringRef(\"tf_test_secgroup\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetNetworkingSecgroupV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var secgroup = OpentelekomcloudFunctions.getNetworkingSecgroupV2(GetNetworkingSecgroupV2Args.builder()\n            .name(\"tf_test_secgroup\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  secgroup:\n    fn::invoke:\n      function: opentelekomcloud:getNetworkingSecgroupV2\n      arguments:\n        name: tf_test_secgroup\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Example Filter by regex\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst secgroup1 = opentelekomcloud.getNetworkingSecgroupV2({\n    nameRegex: \"^secgroup_1.+\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nsecgroup1 = opentelekomcloud.get_networking_secgroup_v2(name_regex=\"^secgroup_1.+\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var secgroup1 = Opentelekomcloud.GetNetworkingSecgroupV2.Invoke(new()\n    {\n        NameRegex = \"^secgroup_1.+\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.LookupNetworkingSecgroupV2(ctx, \u0026opentelekomcloud.LookupNetworkingSecgroupV2Args{\n\t\t\tNameRegex: pulumi.StringRef(\"^secgroup_1.+\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetNetworkingSecgroupV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var secgroup1 = OpentelekomcloudFunctions.getNetworkingSecgroupV2(GetNetworkingSecgroupV2Args.builder()\n            .nameRegex(\"^secgroup_1.+\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  secgroup1:\n    fn::invoke:\n      function: opentelekomcloud:getNetworkingSecgroupV2\n      arguments:\n        nameRegex: ^secgroup_1.+\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getNetworkingSecgroupV2.\n","properties":{"id":{"type":"string"},"name":{"type":"string","description":"The name of the security group.\n"},"nameRegex":{"type":"string","description":"A regex string to apply to the security group list.\nThis allows more advanced filtering not supported from the OpenTelekomCloud API.\nThis filtering is done locally on what OpenTelekomCloud returns.\n"},"region":{"type":"string"},"secgroupId":{"type":"string","description":"The ID of the security group.\n"},"tenantId":{"type":"string","description":"The owner of the security group.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getNetworkingSecgroupV2.\n","properties":{"description":{"description":"The description of the security group.\n","type":"string"},"id":{"type":"string"},"name":{"description":"See Argument Reference above.\n","type":"string"},"nameRegex":{"type":"string"},"region":{"type":"string"},"secgroupId":{"type":"string"},"tenantId":{"type":"string"}},"required":["description","id","region","tenantId"],"type":"object"}},"opentelekomcloud:index/getObsBucket:getObsBucket":{"description":"Up-to-date reference of API arguments for OBS bucket you can get at\n[documentation portal](https://docs.otc.t-systems.com/object-storage-service/api-ref/apis/operations_on_buckets/listing_buckets.html#obs-04-0020)\n\nUse this data source to get details about bucket within OpenTelekomCloud.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst bucket = opentelekomcloud.getObsBucket({\n    bucket: \"my-test-bucket\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nbucket = opentelekomcloud.get_obs_bucket(bucket=\"my-test-bucket\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var bucket = Opentelekomcloud.GetObsBucket.Invoke(new()\n    {\n        Bucket = \"my-test-bucket\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.LookupObsBucket(ctx, \u0026opentelekomcloud.LookupObsBucketArgs{\n\t\t\tBucket: \"my-test-bucket\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetObsBucketArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var bucket = OpentelekomcloudFunctions.getObsBucket(GetObsBucketArgs.builder()\n            .bucket(\"my-test-bucket\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  bucket:\n    fn::invoke:\n      function: opentelekomcloud:getObsBucket\n      arguments:\n        bucket: my-test-bucket\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getObsBucket.\n","properties":{"bucket":{"type":"string","description":"The name of the bucket to read.\n"},"id":{"type":"string"}},"type":"object","required":["bucket"]},"outputs":{"description":"A collection of values returned by getObsBucket.\n","properties":{"bucket":{"type":"string"},"bucketDomainName":{"description":"The bucket domain name. Will be of format `bucketname.obs.region.otc.t-systems.com`.\n","type":"string"},"corsRules":{"description":"A rule of Cross-Origin Resource Sharing (documented below).\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetObsBucketCorsRule:getObsBucketCorsRule"},"type":"array"},"eventNotifications":{"description":"A configuration of bucket event notifications (documented below).\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetObsBucketEventNotification:getObsBucketEventNotification"},"type":"array"},"id":{"type":"string"},"lifecycleRules":{"description":"A configuration of object lifecycle management (documented below).\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetObsBucketLifecycleRule:getObsBucketLifecycleRule"},"type":"array"},"loggings":{"description":"A settings of bucket logging (documented below).\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetObsBucketLogging:getObsBucketLogging"},"type":"array"},"region":{"description":"The region this bucket resides in.\n","type":"string"},"serverSideEncryptions":{"description":"A configuration of server side encryption (documented below).\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetObsBucketServerSideEncryption:getObsBucketServerSideEncryption"},"type":"array"},"storageClass":{"description":"The class of storage used to store the object.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A mapping of tags to assign to the bucket. Each tag is represented by one key-value pair.\n","type":"object"},"versioning":{"type":"boolean"},"websites":{"description":"A website object (documented below).\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetObsBucketWebsite:getObsBucketWebsite"},"type":"array"}},"required":["bucket","bucketDomainName","corsRules","eventNotifications","id","lifecycleRules","loggings","region","serverSideEncryptions","storageClass","tags","versioning","websites"],"type":"object"}},"opentelekomcloud:index/getObsBucketObject:getObsBucketObject":{"description":"Up-to-date reference of API arguments for OBS bucket object you can get at\n[documentation portal](https://docs.otc.t-systems.com/object-storage-service/api-ref/apis/operations_on_buckets/listing_objects_in_a_bucket.html)\n\nUse this data source to get details about the metadata and\n_optionally_ (see below) content of an object stored inside OBS bucket.\n\n\u003e **Note:** The content of an object (\u003cspan pulumi-lang-nodejs=\"`body`\" pulumi-lang-dotnet=\"`Body`\" pulumi-lang-go=\"`body`\" pulumi-lang-python=\"`body`\" pulumi-lang-yaml=\"`body`\" pulumi-lang-java=\"`body`\"\u003e`body`\u003c/span\u003e field) is available only for objects which have a human-readable `Content-Type` (`text/*` and `application/json`).\n  This is to prevent printing unsafe characters and potentially downloading large amount of data which would be thrown away in favour of metadata.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst hello = opentelekomcloud.getObsBucketObject({\n    bucket: \"my-test-bucket\",\n    key: \"hello-world.zip\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nhello = opentelekomcloud.get_obs_bucket_object(bucket=\"my-test-bucket\",\n    key=\"hello-world.zip\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var hello = Opentelekomcloud.GetObsBucketObject.Invoke(new()\n    {\n        Bucket = \"my-test-bucket\",\n        Key = \"hello-world.zip\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.LookupObsBucketObject(ctx, \u0026opentelekomcloud.LookupObsBucketObjectArgs{\n\t\t\tBucket: \"my-test-bucket\",\n\t\t\tKey:    \"hello-world.zip\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetObsBucketObjectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var hello = OpentelekomcloudFunctions.getObsBucketObject(GetObsBucketObjectArgs.builder()\n            .bucket(\"my-test-bucket\")\n            .key(\"hello-world.zip\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  hello:\n    fn::invoke:\n      function: opentelekomcloud:getObsBucketObject\n      arguments:\n        bucket: my-test-bucket\n        key: hello-world.zip\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getObsBucketObject.\n","properties":{"bucket":{"type":"string","description":"The name of the bucket to read the object from.\n"},"id":{"type":"string"},"key":{"type":"string","description":"The full path to the object inside the bucket.\n"},"versionId":{"type":"string","description":"Specific version ID of the object returned (defaults to latest version).\n"}},"type":"object","required":["bucket","key"]},"outputs":{"description":"A collection of values returned by getObsBucketObject.\n","properties":{"body":{"description":"Object data (see **limitations above** to understand cases in which this field is actually available)\n","type":"string"},"bucket":{"type":"string"},"cacheControl":{"description":"Specifies caching behavior along the request/reply chain.\n","type":"string"},"contentDisposition":{"description":"Specifies presentational information for the object.\n","type":"string"},"contentEncoding":{"description":"Specifies what content encodings have been applied to the\nobject and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field.\n","type":"string"},"contentLanguage":{"description":"The language the content is in.\n","type":"string"},"contentLength":{"description":"Size of the body in bytes.\n","type":"number"},"contentType":{"description":"A standard MIME type describing the format of the object data.\n","type":"string"},"etag":{"description":"[ETag](https://en.wikipedia.org/wiki/HTTP_ETag) generated for the object (an MD5 sum of the object content in case it's not encrypted).\n","type":"string"},"expiration":{"description":"If the object expiration is configured\n(see [object lifecycle management](http://docs.opentelekomcloud.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html)), the field includes this header. It includes the expiry-date and rule-id key value pairs providing object expiration information. The value of the rule-id is URL encoded.\n","type":"string"},"expires":{"description":"The date and time at which the object is no longer cacheable.\n","type":"string"},"id":{"type":"string"},"key":{"type":"string"},"lastModified":{"description":"Last modified date of the object in RFC1123 format\n(e.g. `Mon, 02 Jan 2006 15:04:05 MST`)\n","type":"string"},"metadata":{"additionalProperties":{"type":"string"},"description":"A map of metadata stored with the object in S3\n","type":"object"},"versionId":{"description":"The latest version ID of the object returned.\n","type":"string"},"websiteRedirectLocation":{"description":"If the bucket is configured as a website,\nredirects requests for this object to another object in the same bucket or to an external URL. OBS stores the value of this header in the object metadata.\n","type":"string"}},"required":["body","bucket","cacheControl","contentDisposition","contentEncoding","contentLanguage","contentLength","contentType","etag","expiration","expires","id","key","lastModified","metadata","versionId","websiteRedirectLocation"],"type":"object"}},"opentelekomcloud:index/getPrivateNatDnatRuleV3:getPrivateNatDnatRuleV3":{"description":"Up-to-date reference of API arguments for Private NAT DNAT rule you can get at\n[documentation portal](https://docs.otc.t-systems.com/nat-gateway/api-ref/apis_for_private_nat_gateways_v3.0/dnat_rules/index.html)\n\nManages a V3 Private NAT DNAT rule v3 data source within OpenTelekomCloud.\n\n## Example Usage\n\n### List all Private NAT DNAT rules\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst rule1 = opentelekomcloud.getPrivateNatDnatRuleV3({});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nrule1 = opentelekomcloud.get_private_nat_dnat_rule_v3()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var rule1 = Opentelekomcloud.GetPrivateNatDnatRuleV3.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.LookupPrivateNatDnatRuleV3(ctx, \u0026opentelekomcloud.LookupPrivateNatDnatRuleV3Args{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetPrivateNatDnatRuleV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var rule1 = OpentelekomcloudFunctions.getPrivateNatDnatRuleV3(GetPrivateNatDnatRuleV3Args.builder()\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  rule1:\n    fn::invoke:\n      function: opentelekomcloud:getPrivateNatDnatRuleV3\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n","inputs":{"description":"A collection of arguments for invoking getPrivateNatDnatRuleV3.\n","properties":{"id":{"type":"string","description":"Specifies the private NAT DNAT rule ID.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getPrivateNatDnatRuleV3.\n","properties":{"dnatRules":{"items":{"$ref":"#/types/opentelekomcloud:index%2FgetPrivateNatDnatRuleV3DnatRule:getPrivateNatDnatRuleV3DnatRule"},"type":"array"},"id":{"description":"Private NAT DNAT rule ID.\n","type":"string"}},"required":["dnatRules"],"type":"object"}},"opentelekomcloud:index/getPrivateNatGatewayV3:getPrivateNatGatewayV3":{"description":"Up-to-date reference of API arguments for Private NAT gateway you can get at\n[documentation portal](https://docs.otc.t-systems.com/nat-gateway/api-ref/apis_for_private_nat_gateways_v3.0/private_nat_gateways/index.html)\n\nManages a V3 Private NAT Gateway data source within OpenTelekomCloud.\n\n## Example Usage\n\n### List all Private NAT gateways\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst gateway1 = opentelekomcloud.getPrivateNatGatewayV3({});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ngateway1 = opentelekomcloud.get_private_nat_gateway_v3()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var gateway1 = Opentelekomcloud.GetPrivateNatGatewayV3.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.LookupPrivateNatGatewayV3(ctx, \u0026opentelekomcloud.LookupPrivateNatGatewayV3Args{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetPrivateNatGatewayV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var gateway1 = OpentelekomcloudFunctions.getPrivateNatGatewayV3(GetPrivateNatGatewayV3Args.builder()\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  gateway1:\n    fn::invoke:\n      function: opentelekomcloud:getPrivateNatGatewayV3\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Get Private NAT gateway using ID\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst gatewayId = config.requireObject\u003cany\u003e(\"gatewayId\");\nconst gateway1 = opentelekomcloud.getPrivateNatGatewayV3({\n    id: gatewayId,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ngateway_id = config.require_object(\"gatewayId\")\ngateway1 = opentelekomcloud.get_private_nat_gateway_v3(id=gateway_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var gatewayId = config.RequireObject\u003cdynamic\u003e(\"gatewayId\");\n    var gateway1 = Opentelekomcloud.GetPrivateNatGatewayV3.Invoke(new()\n    {\n        Id = gatewayId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tgatewayId := cfg.RequireObject(\"gatewayId\")\n\t\t_, err := opentelekomcloud.LookupPrivateNatGatewayV3(ctx, \u0026opentelekomcloud.LookupPrivateNatGatewayV3Args{\n\t\t\tId: pulumi.StringRef(gatewayId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetPrivateNatGatewayV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var gatewayId = config.get(\"gatewayId\");\n        final var gateway1 = OpentelekomcloudFunctions.getPrivateNatGatewayV3(GetPrivateNatGatewayV3Args.builder()\n            .id(gatewayId)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  gatewayId:\n    type: dynamic\nvariables:\n  gateway1:\n    fn::invoke:\n      function: opentelekomcloud:getPrivateNatGatewayV3\n      arguments:\n        id: ${gatewayId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Get Private NAT gateway using Name\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst gatewayName = config.requireObject\u003cany\u003e(\"gatewayName\");\nconst gateway1 = opentelekomcloud.getPrivateNatGatewayV3({\n    name: gatewayName,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ngateway_name = config.require_object(\"gatewayName\")\ngateway1 = opentelekomcloud.get_private_nat_gateway_v3(name=gateway_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var gatewayName = config.RequireObject\u003cdynamic\u003e(\"gatewayName\");\n    var gateway1 = Opentelekomcloud.GetPrivateNatGatewayV3.Invoke(new()\n    {\n        Name = gatewayName,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tgatewayName := cfg.RequireObject(\"gatewayName\")\n\t\t_, err := opentelekomcloud.LookupPrivateNatGatewayV3(ctx, \u0026opentelekomcloud.LookupPrivateNatGatewayV3Args{\n\t\t\tName: pulumi.StringRef(gatewayName),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetPrivateNatGatewayV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var gatewayName = config.get(\"gatewayName\");\n        final var gateway1 = OpentelekomcloudFunctions.getPrivateNatGatewayV3(GetPrivateNatGatewayV3Args.builder()\n            .name(gatewayName)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  gatewayName:\n    type: dynamic\nvariables:\n  gateway1:\n    fn::invoke:\n      function: opentelekomcloud:getPrivateNatGatewayV3\n      arguments:\n        name: ${gatewayName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getPrivateNatGatewayV3.\n","properties":{"id":{"type":"string","description":"Specifies the private NAT gateway name.\n"},"name":{"type":"string","description":"Specifies the private NAT gateway name.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getPrivateNatGatewayV3.\n","properties":{"gateways":{"description":"Indicates the private NAT gateways. The structure is defined below.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetPrivateNatGatewayV3Gateway:getPrivateNatGatewayV3Gateway"},"type":"array"},"id":{"description":"Private NAT gateway ID.\n","type":"string"},"name":{"description":"Indicates the private NAT gateway name.\n","type":"string"}},"required":["gateways"],"type":"object"}},"opentelekomcloud:index/getPrivateNatSnatRuleV3:getPrivateNatSnatRuleV3":{"description":"Up-to-date reference of API arguments for Private NAT SNAT rule you can get at\n[documentation portal](https://docs.otc.t-systems.com/nat-gateway/api-ref/apis_for_private_nat_gateways_v3.0/snat_rules/index.html)\n\nManages a V3 Private NAT SNAT rule data source within OpenTelekomCloud.\n\n## Example Usage\n\n### List all Private NAT SNAT rules\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst rule1 = opentelekomcloud.getPrivateNatSnatRuleV3({});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nrule1 = opentelekomcloud.get_private_nat_snat_rule_v3()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var rule1 = Opentelekomcloud.GetPrivateNatSnatRuleV3.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.LookupPrivateNatSnatRuleV3(ctx, \u0026opentelekomcloud.LookupPrivateNatSnatRuleV3Args{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetPrivateNatSnatRuleV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var rule1 = OpentelekomcloudFunctions.getPrivateNatSnatRuleV3(GetPrivateNatSnatRuleV3Args.builder()\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  rule1:\n    fn::invoke:\n      function: opentelekomcloud:getPrivateNatSnatRuleV3\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n","inputs":{"description":"A collection of arguments for invoking getPrivateNatSnatRuleV3.\n","properties":{"id":{"type":"string","description":"Specifies the private NAT SNAT rule ID.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getPrivateNatSnatRuleV3.\n","properties":{"id":{"description":"Private NAT SNAT rule ID.\n","type":"string"},"snatRules":{"description":"Indicates the private NAT SNAT rules. The structure is defined below.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetPrivateNatSnatRuleV3SnatRule:getPrivateNatSnatRuleV3SnatRule"},"type":"array"}},"required":["snatRules"],"type":"object"}},"opentelekomcloud:index/getPrivateNatTransitIpV3:getPrivateNatTransitIpV3":{"description":"Up-to-date reference of API arguments for Private NAT Transit IP you can get at\n[documentation portal](https://docs.otc.t-systems.com/nat-gateway/api-ref/apis_for_private_nat_gateways_v3.0/transit_ip_addresses/index.html)\n\nManages a V3 Private NAT Transit IP data source within OpenTelekomCloud.\n\n## Example Usage\n\n### List all Transit IPs\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst transitIp1 = opentelekomcloud.getPrivateNatTransitIpV3({});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ntransit_ip1 = opentelekomcloud.get_private_nat_transit_ip_v3()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var transitIp1 = Opentelekomcloud.GetPrivateNatTransitIpV3.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.LookupPrivateNatTransitIpV3(ctx, \u0026opentelekomcloud.LookupPrivateNatTransitIpV3Args{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetPrivateNatTransitIpV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var transitIp1 = OpentelekomcloudFunctions.getPrivateNatTransitIpV3(GetPrivateNatTransitIpV3Args.builder()\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  transitIp1:\n    fn::invoke:\n      function: opentelekomcloud:getPrivateNatTransitIpV3\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### List all Transit IPs in a subnet\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst networkId = config.requireObject\u003cany\u003e(\"networkId\");\nconst transitIp1 = opentelekomcloud.getPrivateNatTransitIpV3({\n    virsubnetId: networkId,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nnetwork_id = config.require_object(\"networkId\")\ntransit_ip1 = opentelekomcloud.get_private_nat_transit_ip_v3(virsubnet_id=network_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var networkId = config.RequireObject\u003cdynamic\u003e(\"networkId\");\n    var transitIp1 = Opentelekomcloud.GetPrivateNatTransitIpV3.Invoke(new()\n    {\n        VirsubnetId = networkId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tnetworkId := cfg.RequireObject(\"networkId\")\n\t\t_, err := opentelekomcloud.LookupPrivateNatTransitIpV3(ctx, \u0026opentelekomcloud.LookupPrivateNatTransitIpV3Args{\n\t\t\tVirsubnetId: pulumi.StringRef(networkId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetPrivateNatTransitIpV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var networkId = config.get(\"networkId\");\n        final var transitIp1 = OpentelekomcloudFunctions.getPrivateNatTransitIpV3(GetPrivateNatTransitIpV3Args.builder()\n            .virsubnetId(networkId)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  networkId:\n    type: dynamic\nvariables:\n  transitIp1:\n    fn::invoke:\n      function: opentelekomcloud:getPrivateNatTransitIpV3\n      arguments:\n        virsubnetId: ${networkId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Get Transit IP by ID\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst id = config.requireObject\u003cany\u003e(\"id\");\nconst transitIp1 = opentelekomcloud.getPrivateNatTransitIpV3({\n    id: id,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nid = config.require_object(\"id\")\ntransit_ip1 = opentelekomcloud.get_private_nat_transit_ip_v3(id=id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var id = config.RequireObject\u003cdynamic\u003e(\"id\");\n    var transitIp1 = Opentelekomcloud.GetPrivateNatTransitIpV3.Invoke(new()\n    {\n        Id = id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tid := cfg.RequireObject(\"id\")\n\t\t_, err := opentelekomcloud.LookupPrivateNatTransitIpV3(ctx, \u0026opentelekomcloud.LookupPrivateNatTransitIpV3Args{\n\t\t\tId: pulumi.StringRef(id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetPrivateNatTransitIpV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var id = config.get(\"id\");\n        final var transitIp1 = OpentelekomcloudFunctions.getPrivateNatTransitIpV3(GetPrivateNatTransitIpV3Args.builder()\n            .id(id)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  id:\n    type: dynamic\nvariables:\n  transitIp1:\n    fn::invoke:\n      function: opentelekomcloud:getPrivateNatTransitIpV3\n      arguments:\n        id: ${id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Get Transit IP by IP address\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst ipAddress = config.requireObject\u003cany\u003e(\"ipAddress\");\nconst transitIp1 = opentelekomcloud.getPrivateNatTransitIpV3({\n    ipAddress: ipAddress,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nip_address = config.require_object(\"ipAddress\")\ntransit_ip1 = opentelekomcloud.get_private_nat_transit_ip_v3(ip_address=ip_address)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var ipAddress = config.RequireObject\u003cdynamic\u003e(\"ipAddress\");\n    var transitIp1 = Opentelekomcloud.GetPrivateNatTransitIpV3.Invoke(new()\n    {\n        IpAddress = ipAddress,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tipAddress := cfg.RequireObject(\"ipAddress\")\n\t\t_, err := opentelekomcloud.LookupPrivateNatTransitIpV3(ctx, \u0026opentelekomcloud.LookupPrivateNatTransitIpV3Args{\n\t\t\tIpAddress: pulumi.StringRef(ipAddress),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetPrivateNatTransitIpV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var ipAddress = config.get(\"ipAddress\");\n        final var transitIp1 = OpentelekomcloudFunctions.getPrivateNatTransitIpV3(GetPrivateNatTransitIpV3Args.builder()\n            .ipAddress(ipAddress)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  ipAddress:\n    type: dynamic\nvariables:\n  transitIp1:\n    fn::invoke:\n      function: opentelekomcloud:getPrivateNatTransitIpV3\n      arguments:\n        ipAddress: ${ipAddress}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getPrivateNatTransitIpV3.\n","properties":{"id":{"type":"string","description":"Specifies the private NAT transit IP ID.\n"},"ipAddress":{"type":"string","description":"Specifies the transit IP address.\n"},"virsubnetId":{"type":"string","description":"Specifies the subnet ID of the current project.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getPrivateNatTransitIpV3.\n","properties":{"id":{"description":"Private NAT Transit IP ID.\n","type":"string"},"ipAddress":{"description":"Indicates the transit IP address.\n","type":"string"},"transitIps":{"description":"The list of private NAT transit IPs. The structure is defined below.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetPrivateNatTransitIpV3TransitIp:getPrivateNatTransitIpV3TransitIp"},"type":"array"},"virsubnetId":{"description":"Indicates the subnet ID of the current project.\n","type":"string"}},"required":["transitIps"],"type":"object"}},"opentelekomcloud:index/getRdsBackupV3:getRdsBackupV3":{"description":"Up-to-date reference of API arguments for RDSv3 instance backup you can get at\n[documentation portal](https://docs.otc.t-systems.com/relational-database-service/api-ref/api_v3_recommended/backup_and_restoration/obtaining_details_about_backups.html#rds-09-0005)\n\nUse this data source to get information about RDSv3 instance backup.\n\n## Example Usage\n\nFinding the latest automatic backup:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst backup = opentelekomcloud.getRdsBackupV3({\n    instanceId: rdsInstanceId,\n    type: \"auto\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nbackup = opentelekomcloud.get_rds_backup_v3(instance_id=rds_instance_id,\n    type=\"auto\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var backup = Opentelekomcloud.GetRdsBackupV3.Invoke(new()\n    {\n        InstanceId = rdsInstanceId,\n        Type = \"auto\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.LookupRdsBackupV3(ctx, \u0026opentelekomcloud.LookupRdsBackupV3Args{\n\t\t\tInstanceId: rdsInstanceId,\n\t\t\tType:       pulumi.StringRef(\"auto\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetRdsBackupV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var backup = OpentelekomcloudFunctions.getRdsBackupV3(GetRdsBackupV3Args.builder()\n            .instanceId(rdsInstanceId)\n            .type(\"auto\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  backup:\n    fn::invoke:\n      function: opentelekomcloud:getRdsBackupV3\n      arguments:\n        instanceId: ${rdsInstanceId}\n        type: auto\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getRdsBackupV3.\n","properties":{"backupId":{"type":"string","description":"Specifies the backup ID.\n"},"id":{"type":"string"},"instanceId":{"type":"string","description":"Specifies the DB instance ID.\n"},"type":{"type":"string","description":"Specifies the backup type.\n\nPossible values:\n"}},"type":"object","required":["instanceId"]},"outputs":{"description":"A collection of values returned by getRdsBackupV3.\n","properties":{"backupId":{"type":"string"},"beginTime":{"description":"Indicates the backup start time in the `yyyy-mm-ddThh:mm:ssZ` format.\n","type":"string"},"databases":{"description":"Indicates a list of self-built Microsoft SQL Server databases that support partial backups.\n","items":{"type":"string"},"type":"array"},"dbType":{"description":"Indicates the DB engine.\n","type":"string"},"dbVersion":{"description":"Indicates the database version.\n","type":"string"},"endTime":{"description":"Indicates the backup end time in the `yyyy-mm-ddThh:mm:ssZ` format.\n","type":"string"},"id":{"type":"string"},"instanceId":{"type":"string"},"name":{"description":"Indicates the backup name.\n","type":"string"},"size":{"description":"Indicates the backup size in kB.\n","type":"number"},"status":{"description":"Indicates the status of the backup.\n","type":"string"},"type":{"description":"Indicates the backup type.\n","type":"string"}},"required":["beginTime","databases","dbType","dbVersion","endTime","id","instanceId","name","size","status","type"],"type":"object"}},"opentelekomcloud:index/getRdsFlavorsV1:getRdsFlavorsV1":{"description":"Up-to-date reference of API arguments for RDSv1 flavor you can get at\n[documentation portal](https://docs.otc.t-systems.com/relational-database-service/api-ref/api_v1_to_be_discarded/db_instance_management/obtaining_all_db_instance_specifications.html#en-us-topic-0032347783)\n\n**DEPRECATED**\nUse this data source to get the ID of an available OpenTelekomCloud RDS flavor.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst flavor = opentelekomcloud.getRdsFlavorsV1({\n    datastoreName: \"PostgreSQL\",\n    datastoreVersion: \"16\",\n    speccode: \"rds.pg.x1.xlarge.4\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nflavor = opentelekomcloud.get_rds_flavors_v1(datastore_name=\"PostgreSQL\",\n    datastore_version=\"16\",\n    speccode=\"rds.pg.x1.xlarge.4\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var flavor = Opentelekomcloud.GetRdsFlavorsV1.Invoke(new()\n    {\n        DatastoreName = \"PostgreSQL\",\n        DatastoreVersion = \"16\",\n        Speccode = \"rds.pg.x1.xlarge.4\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.GetRdsFlavorsV1(ctx, \u0026opentelekomcloud.GetRdsFlavorsV1Args{\n\t\t\tDatastoreName:    \"PostgreSQL\",\n\t\t\tDatastoreVersion: \"16\",\n\t\t\tSpeccode:         pulumi.StringRef(\"rds.pg.x1.xlarge.4\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetRdsFlavorsV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var flavor = OpentelekomcloudFunctions.getRdsFlavorsV1(GetRdsFlavorsV1Args.builder()\n            .datastoreName(\"PostgreSQL\")\n            .datastoreVersion(\"16\")\n            .speccode(\"rds.pg.x1.xlarge.4\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  flavor:\n    fn::invoke:\n      function: opentelekomcloud:getRdsFlavorsV1\n      arguments:\n        datastoreName: PostgreSQL\n        datastoreVersion: '16'\n        speccode: rds.pg.x1.xlarge.4\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getRdsFlavorsV1.\n","properties":{"datastoreName":{"type":"string","description":"The datastore name of the rds.\n"},"datastoreVersion":{"type":"string","description":"The datastore version of the rds.\n"},"id":{"type":"string"},"region":{"type":"string"},"speccode":{"type":"string","description":"The spec code of a rds flavor.\n"}},"type":"object","required":["datastoreName","datastoreVersion"]},"outputs":{"description":"A collection of values returned by getRdsFlavorsV1.\n","properties":{"datastoreName":{"description":"See Argument Reference above.\n","type":"string"},"datastoreVersion":{"description":"See Argument Reference above.\n","type":"string"},"id":{"type":"string"},"name":{"description":"The name of the rds flavor.\n","type":"string"},"ram":{"description":"The name of the rds flavor.\n","type":"number"},"region":{"type":"string"},"speccode":{"description":"See Argument Reference above.\n","type":"string"}},"required":["datastoreName","datastoreVersion","id","name","ram","region","speccode"],"type":"object"}},"opentelekomcloud:index/getRdsFlavorsV3:getRdsFlavorsV3":{"description":"Up-to-date reference of API arguments for RDSv3 flavor you can get at\n[documentation portal](https://docs.otc.t-systems.com/relational-database-service/api-ref/api_v3_recommended/querying_database_specifications.html)\n\nUse this data source to get available OpenTelekomCloud RDSv3 flavors.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst flavor = opentelekomcloud.getRdsFlavorsV3({\n    dbType: \"PostgreSQL\",\n    dbVersion: \"16\",\n    instanceMode: \"ha\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nflavor = opentelekomcloud.get_rds_flavors_v3(db_type=\"PostgreSQL\",\n    db_version=\"16\",\n    instance_mode=\"ha\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var flavor = Opentelekomcloud.GetRdsFlavorsV3.Invoke(new()\n    {\n        DbType = \"PostgreSQL\",\n        DbVersion = \"16\",\n        InstanceMode = \"ha\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.GetRdsFlavorsV3(ctx, \u0026opentelekomcloud.GetRdsFlavorsV3Args{\n\t\t\tDbType:       \"PostgreSQL\",\n\t\t\tDbVersion:    \"16\",\n\t\t\tInstanceMode: \"ha\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetRdsFlavorsV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var flavor = OpentelekomcloudFunctions.getRdsFlavorsV3(GetRdsFlavorsV3Args.builder()\n            .dbType(\"PostgreSQL\")\n            .dbVersion(\"16\")\n            .instanceMode(\"ha\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  flavor:\n    fn::invoke:\n      function: opentelekomcloud:getRdsFlavorsV3\n      arguments:\n        dbType: PostgreSQL\n        dbVersion: '16'\n        instanceMode: ha\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getRdsFlavorsV3.\n","properties":{"dbType":{"type":"string","description":"Specifies the DB engine. Possible values are: `MySQL`, `PostgreSQL`, `SQLServer`.\n"},"dbVersion":{"type":"string","description":"Specifies the database version.\n* MySQL: 8.0, 5.7, and 5.6\n* PostgreSQL: 12 through 16\n* Microsoft SQL Server: 2017 (Enterprise/Standard) through 2022 (Enterprise/Standard)\n"},"id":{"type":"string"},"instanceMode":{"type":"string","description":"The mode of instance. Possible values are:\n\u003cspan pulumi-lang-nodejs=\"`ha`\" pulumi-lang-dotnet=\"`Ha`\" pulumi-lang-go=\"`ha`\" pulumi-lang-python=\"`ha`\" pulumi-lang-yaml=\"`ha`\" pulumi-lang-java=\"`ha`\"\u003e`ha`\u003c/span\u003e indicates primary/standby instance, \u003cspan pulumi-lang-nodejs=\"`single`\" pulumi-lang-dotnet=\"`Single`\" pulumi-lang-go=\"`single`\" pulumi-lang-python=\"`single`\" pulumi-lang-yaml=\"`single`\" pulumi-lang-java=\"`single`\"\u003e`single`\u003c/span\u003e indicates single instance\nand \u003cspan pulumi-lang-nodejs=\"`replica`\" pulumi-lang-dotnet=\"`Replica`\" pulumi-lang-go=\"`replica`\" pulumi-lang-python=\"`replica`\" pulumi-lang-yaml=\"`replica`\" pulumi-lang-java=\"`replica`\"\u003e`replica`\u003c/span\u003e indicates read-replica instance.\n"}},"type":"object","required":["dbType","dbVersion","instanceMode"]},"outputs":{"description":"A collection of values returned by getRdsFlavorsV3.\n","properties":{"dbType":{"type":"string"},"dbVersion":{"type":"string"},"flavors":{"description":"Indicates the \u003cspan pulumi-lang-nodejs=\"`flavors`\" pulumi-lang-dotnet=\"`Flavors`\" pulumi-lang-go=\"`flavors`\" pulumi-lang-python=\"`flavors`\" pulumi-lang-yaml=\"`flavors`\" pulumi-lang-java=\"`flavors`\"\u003e`flavors`\u003c/span\u003e information. Structure is documented below.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetRdsFlavorsV3Flavor:getRdsFlavorsV3Flavor"},"type":"array"},"id":{"type":"string"},"instanceMode":{"type":"string"}},"required":["dbType","dbVersion","flavors","id","instanceMode"],"type":"object"}},"opentelekomcloud:index/getRdsInstanceV3:getRdsInstanceV3":{"description":"Up-to-date reference of API arguments for RDSv3 instance you can get at\n[documentation portal](https://docs.otc.t-systems.com/relational-database-service/api-ref/api_v3_recommended/db_instance_management/querying_details_about_db_instances.html#rds-01-0004)\n\nUse the \u003cspan pulumi-lang-nodejs=\"`opentelekomcloud.RdsInstanceV3`\" pulumi-lang-dotnet=\"`opentelekomcloud.RdsInstanceV3`\" pulumi-lang-go=\"`RdsInstanceV3`\" pulumi-lang-python=\"`RdsInstanceV3`\" pulumi-lang-yaml=\"`opentelekomcloud.RdsInstanceV3`\" pulumi-lang-java=\"`opentelekomcloud.RdsInstanceV3`\"\u003e`opentelekomcloud.RdsInstanceV3`\u003c/span\u003e datasource to query DB instances according to search criteria.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst instance = opentelekomcloud.getRdsInstanceV3({\n    name: \"rds_instance_1\",\n    id: \"rds_instance_1_id\",\n    type: \"single\",\n    datastoreType: \"PostgreSQL\",\n    vpcId: \"vpc-id\",\n    subnetId: \"subnet-id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ninstance = opentelekomcloud.get_rds_instance_v3(name=\"rds_instance_1\",\n    id=\"rds_instance_1_id\",\n    type=\"single\",\n    datastore_type=\"PostgreSQL\",\n    vpc_id=\"vpc-id\",\n    subnet_id=\"subnet-id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var instance = Opentelekomcloud.GetRdsInstanceV3.Invoke(new()\n    {\n        Name = \"rds_instance_1\",\n        Id = \"rds_instance_1_id\",\n        Type = \"single\",\n        DatastoreType = \"PostgreSQL\",\n        VpcId = \"vpc-id\",\n        SubnetId = \"subnet-id\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.LookupRdsInstanceV3(ctx, \u0026opentelekomcloud.LookupRdsInstanceV3Args{\n\t\t\tName:          pulumi.StringRef(\"rds_instance_1\"),\n\t\t\tId:            pulumi.StringRef(\"rds_instance_1_id\"),\n\t\t\tType:          pulumi.StringRef(\"single\"),\n\t\t\tDatastoreType: pulumi.StringRef(\"PostgreSQL\"),\n\t\t\tVpcId:         pulumi.StringRef(\"vpc-id\"),\n\t\t\tSubnetId:      pulumi.StringRef(\"subnet-id\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetRdsInstanceV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var instance = OpentelekomcloudFunctions.getRdsInstanceV3(GetRdsInstanceV3Args.builder()\n            .name(\"rds_instance_1\")\n            .id(\"rds_instance_1_id\")\n            .type(\"single\")\n            .datastoreType(\"PostgreSQL\")\n            .vpcId(\"vpc-id\")\n            .subnetId(\"subnet-id\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  instance:\n    fn::invoke:\n      function: opentelekomcloud:getRdsInstanceV3\n      arguments:\n        name: rds_instance_1\n        id: rds_instance_1_id\n        type: single\n        datastoreType: PostgreSQL\n        vpcId: vpc-id\n        subnetId: subnet-id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getRdsInstanceV3.\n","properties":{"datastoreType":{"type":"string","description":"Specifies the database type.\nIts value can be any of the following and is case-sensitive:\n`MySQL`, ` PostgreSQL`, `SQLServer`\n"},"id":{"type":"string","description":"ID of the RDS instance.\n"},"name":{"type":"string","description":"Specifies the DB instance ID.\n"},"port":{"type":"number","description":"Indicates the database port number.\n"},"region":{"type":"string","description":"Indicates the region where the DB instance is deployed.\n"},"subnetId":{"type":"string","description":"Specifies the network ID of the subnet.\n"},"type":{"type":"string","description":"Specifies the instance type based query.\nThe value is Single, Ha, or Replica, which correspond to single instance,\nprimary/standby instances, and read replica, respectively.\n"},"vpcId":{"type":"string","description":"Specifies the VPC ID.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getRdsInstanceV3.\n","properties":{"availabilityZones":{"description":"Indicates the availability zone.\n","items":{"type":"string"},"type":"array"},"backupStrategies":{"items":{"$ref":"#/types/opentelekomcloud:index%2FgetRdsInstanceV3BackupStrategy:getRdsInstanceV3BackupStrategy"},"type":"array"},"created":{"description":"Indicates the creation time.\n","type":"string"},"datastoreType":{"description":"Indicates the database type.\n","type":"string"},"datastoreVersion":{"description":"Indicates the database version.\n","type":"string"},"dbUsername":{"description":"Indicates the database username.\n","type":"string"},"diskEncryptionId":{"description":"Indicates the disk encryption ID.\n","type":"string"},"fixedIp":{"type":"string"},"flavor":{"description":"Indicates the flavor ID.\n","type":"string"},"ha":{"additionalProperties":{"type":"string"},"type":"object"},"id":{"description":"Indicates the DB instance ID.\n","type":"string"},"name":{"description":"Indicates created the DB instance name.\n","type":"string"},"nodes":{"description":"Indicates the node information.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetRdsInstanceV3Node:getRdsInstanceV3Node"},"type":"array"},"port":{"description":"Indicates the database port number.\n","type":"number"},"privateDomainName":{"description":"Indicates the prefix of the new domain name.\n","type":"string"},"privateFqdn":{"description":"Indicates the fully qualified domain name of an RDS instance.\n","type":"string"},"privateIps":{"description":"Indicates the private IP address. It is a blank string until an ECS is created.\n","items":{"type":"string"},"type":"array"},"publicIps":{"description":"Indicates the public IP address.\n","items":{"type":"string"},"type":"array"},"region":{"description":"Indicates the region where the DB instance is deployed.\n","type":"string"},"securityGroupId":{"description":"Indicates the security group ID.\n","type":"string"},"status":{"description":"Indicates the DB instance status.\n","type":"string"},"subnetId":{"description":"Indicates the network ID of the subnet.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"Indicates the tags.\n","type":"object"},"timezone":{"description":"Indicates the time zone.\n","type":"string"},"type":{"description":"The value is Single, Ha, or Replica, which correspond to single instance,\nprimary/standby instances, and read replica, respectively.\n","type":"string"},"updated":{"description":"Indicates the update time.\n","type":"string"},"volumeSize":{"description":"Indicates the volume size.\n","type":"number"},"volumeType":{"description":"Indicates the volume type.\n","type":"string"},"vpcId":{"description":"Indicates the VPC ID.\n","type":"string"}},"required":["availabilityZones","backupStrategies","created","datastoreVersion","dbUsername","diskEncryptionId","fixedIp","flavor","ha","id","nodes","privateDomainName","privateFqdn","privateIps","publicIps","region","securityGroupId","status","tags","timezone","updated","volumeSize","volumeType"],"type":"object"}},"opentelekomcloud:index/getRdsMajorVersionsV3:getRdsMajorVersionsV3":{"description":"Up-to-date reference of API arguments for RDS major version upgrade you can get at\n[documentation portal](https://docs.otc.t-systems.com/relational-database-service/api-ref/api_v3_recommended/upgrading_a_major_version/querying_the_target_version_to_which_a_db_instance_can_be_upgraded_rds_for_postgresql.html)\n\nUse this data source to get available major versions for upgrading an OpenTelekomCloud RDS instance.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst versions = opentelekomcloud.getRdsMajorVersionsV3({\n    instanceId: instanceId,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nversions = opentelekomcloud.get_rds_major_versions_v3(instance_id=instance_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var versions = Opentelekomcloud.GetRdsMajorVersionsV3.Invoke(new()\n    {\n        InstanceId = instanceId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.GetRdsMajorVersionsV3(ctx, \u0026opentelekomcloud.GetRdsMajorVersionsV3Args{\n\t\t\tInstanceId: instanceId,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetRdsMajorVersionsV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var versions = OpentelekomcloudFunctions.getRdsMajorVersionsV3(GetRdsMajorVersionsV3Args.builder()\n            .instanceId(instanceId)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  versions:\n    fn::invoke:\n      function: opentelekomcloud:getRdsMajorVersionsV3\n      arguments:\n        instanceId: ${instanceId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getRdsMajorVersionsV3.\n","properties":{"id":{"type":"string"},"instanceId":{"type":"string","description":"Specifies the ID of the RDS instance.\n"}},"type":"object","required":["instanceId"]},"outputs":{"description":"A collection of values returned by getRdsMajorVersionsV3.\n","properties":{"availableVersions":{"description":"List of available major versions for upgrade.\n","items":{"type":"string"},"type":"array"},"id":{"type":"string"},"instanceId":{"type":"string"}},"required":["availableVersions","id","instanceId"],"type":"object"}},"opentelekomcloud:index/getRdsVersionsV3:getRdsVersionsV3":{"description":"Up-to-date reference of API arguments for RDSv3 versions you can get at\n[documentation portal](https://docs.otc.t-systems.com/relational-database-service/api-ref/api_v3_recommended/querying_version_information_about_a_db_engine.html)\n\nUse this data source to get available OpenTelekomCloud rds versions.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst versions = opentelekomcloud.getRdsVersionsV3({\n    databaseName: \"mysql\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nversions = opentelekomcloud.get_rds_versions_v3(database_name=\"mysql\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var versions = Opentelekomcloud.GetRdsVersionsV3.Invoke(new()\n    {\n        DatabaseName = \"mysql\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.GetRdsVersionsV3(ctx, \u0026opentelekomcloud.GetRdsVersionsV3Args{\n\t\t\tDatabaseName: \"mysql\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetRdsVersionsV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var versions = OpentelekomcloudFunctions.getRdsVersionsV3(GetRdsVersionsV3Args.builder()\n            .databaseName(\"mysql\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  versions:\n    fn::invoke:\n      function: opentelekomcloud:getRdsVersionsV3\n      arguments:\n        databaseName: mysql\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getRdsVersionsV3.\n","properties":{"databaseName":{"type":"string","description":"Specifies the DB engine. Value: MySQL, PostgreSQL, SQLServer. Case-insensitive.\n"},"id":{"type":"string"}},"type":"object","required":["databaseName"]},"outputs":{"description":"A collection of values returned by getRdsVersionsV3.\n","properties":{"databaseName":{"type":"string"},"id":{"type":"string"},"versions":{"description":"List of version names, sorted by a version (higher to lower). Example: `[\"16\", \"14\", \"14\", \"13\"]`.\n","items":{"type":"string"},"type":"array"}},"required":["databaseName","id","versions"],"type":"object"}},"opentelekomcloud:index/getRmsAdvancedQueriesV1:getRmsAdvancedQueriesV1":{"description":"Up-to-date reference of API arguments for RMS Advanced Queries you can get at\n[documentation portal](https://docs.otc.t-systems.com/config/api-ref/apis/advanced_queries/listing_advanced_queries.html#rms-04-0703)\n\n\nUse this data source to get the list of RMS advanced queries.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst advancedQueryName = config.requireObject\u003cany\u003e(\"advancedQueryName\");\nconst test = opentelekomcloud.getRmsAdvancedQueriesV1({\n    name: advancedQueryName,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nadvanced_query_name = config.require_object(\"advancedQueryName\")\ntest = opentelekomcloud.get_rms_advanced_queries_v1(name=advanced_query_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var advancedQueryName = config.RequireObject\u003cdynamic\u003e(\"advancedQueryName\");\n    var test = Opentelekomcloud.GetRmsAdvancedQueriesV1.Invoke(new()\n    {\n        Name = advancedQueryName,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tadvancedQueryName := cfg.RequireObject(\"advancedQueryName\")\n\t\t_, err := opentelekomcloud.GetRmsAdvancedQueriesV1(ctx, \u0026opentelekomcloud.GetRmsAdvancedQueriesV1Args{\n\t\t\tName: pulumi.StringRef(advancedQueryName),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetRmsAdvancedQueriesV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var advancedQueryName = config.get(\"advancedQueryName\");\n        final var test = OpentelekomcloudFunctions.getRmsAdvancedQueriesV1(GetRmsAdvancedQueriesV1Args.builder()\n            .name(advancedQueryName)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  advancedQueryName:\n    type: dynamic\nvariables:\n  test:\n    fn::invoke:\n      function: opentelekomcloud:getRmsAdvancedQueriesV1\n      arguments:\n        name: ${advancedQueryName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getRmsAdvancedQueriesV1.\n","properties":{"id":{"type":"string","description":"The advanced query ID.\n"},"name":{"type":"string","description":"Specifies the advanced query name.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getRmsAdvancedQueriesV1.\n","properties":{"id":{"description":"The advanced query ID.\n","type":"string"},"name":{"description":"The advanced query name.\n","type":"string"},"queries":{"description":"The list of advanced queries.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetRmsAdvancedQueriesV1Query:getRmsAdvancedQueriesV1Query"},"type":"array"},"region":{"description":"The queries region.\n","type":"string"}},"required":["id","queries","region"],"type":"object"}},"opentelekomcloud:index/getRmsAdvancedQuerySchemasV1:getRmsAdvancedQuerySchemasV1":{"description":"Up-to-date reference of API arguments for RMS Advanced Query Schemas you can get at\n[documentation portal](https://docs.otc.t-systems.com/config/api-ref/apis/advanced_queries/querying_schemas.html)\n\n\nUse this data source to get the list of RMS advanced query schemas.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst test = opentelekomcloud.getRmsAdvancedQuerySchemasV1({\n    type: \"aad.instances\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ntest = opentelekomcloud.get_rms_advanced_query_schemas_v1(type=\"aad.instances\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = Opentelekomcloud.GetRmsAdvancedQuerySchemasV1.Invoke(new()\n    {\n        Type = \"aad.instances\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.GetRmsAdvancedQuerySchemasV1(ctx, \u0026opentelekomcloud.GetRmsAdvancedQuerySchemasV1Args{\n\t\t\tType: pulumi.StringRef(\"aad.instances\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetRmsAdvancedQuerySchemasV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var test = OpentelekomcloudFunctions.getRmsAdvancedQuerySchemasV1(GetRmsAdvancedQuerySchemasV1Args.builder()\n            .type(\"aad.instances\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  test:\n    fn::invoke:\n      function: opentelekomcloud:getRmsAdvancedQuerySchemasV1\n      arguments:\n        type: aad.instances\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getRmsAdvancedQuerySchemasV1.\n","properties":{"id":{"type":"string","description":"The data source ID.\n"},"type":{"type":"string","description":"Specifies the type of the schema.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getRmsAdvancedQuerySchemasV1.\n","properties":{"id":{"description":"The data source ID.\n","type":"string"},"schemas":{"description":"The list of schema.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetRmsAdvancedQuerySchemasV1Schema:getRmsAdvancedQuerySchemasV1Schema"},"type":"array"},"type":{"description":"The schema type.\n","type":"string"}},"required":["id","schemas"],"type":"object"}},"opentelekomcloud:index/getRmsAdvancedQueryV1:getRmsAdvancedQueryV1":{"description":"Up-to-date reference of API arguments for RMS Advanced Query you can get at\n[documentation portal](https://docs.otc.t-systems.com/config/api-ref/apis/advanced_queries/running_advanced_queries.html#rms-04-0701-response-queryinfo)\n\n\nUse this data source to do an RMS advanced query.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nconfiguration:\n  exression:\n    type: dynamic\nvariables:\n  test:\n    fn::invoke:\n      function: opentelekomcloud:getRmsAdvancedQueryV1\n      arguments:\n        exression: ${exression}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getRmsAdvancedQueryV1.\n","properties":{"expression":{"type":"string","description":"Specifies the expression of the query.\n\nFor example, **select name, id from\u003cspan pulumi-lang-nodejs=\" trackedResources \" pulumi-lang-dotnet=\" TrackedResources \" pulumi-lang-go=\" trackedResources \" pulumi-lang-python=\" tracked_resources \" pulumi-lang-yaml=\" trackedResources \" pulumi-lang-java=\" trackedResources \"\u003e tracked_resources \u003c/span\u003ewhere provider = 'ecs' and type = 'cloudservers'**\n"},"id":{"type":"string","description":"The data source ID.\n"}},"type":"object","required":["expression"]},"outputs":{"description":"A collection of values returned by getRmsAdvancedQueryV1.\n","properties":{"expression":{"type":"string"},"id":{"description":"The data source ID.\n","type":"string"},"queryInfos":{"description":"The query info.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetRmsAdvancedQueryV1QueryInfo:getRmsAdvancedQueryV1QueryInfo"},"type":"array"},"results":{"description":"The list of query results.\n","items":{"additionalProperties":{"type":"string"},"type":"object"},"type":"array"}},"required":["expression","id","queryInfos","results"],"type":"object"}},"opentelekomcloud:index/getRmsPolicyDefinitionsV1:getRmsPolicyDefinitionsV1":{"description":"Up-to-date reference of API arguments for RMS Policy Definitions you can get at\n[documentation portal](https://docs.otc.t-systems.com/config/api-ref/apis/compliance/querying_all_built-in_policies.html#rms-04-0501)\n\n\nUse this data source to query policy definition list.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst triggerType = config.requireObject\u003cany\u003e(\"triggerType\");\nconst test = opentelekomcloud.getRmsPolicyDefinitionsV1({\n    triggerType: triggerType,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ntrigger_type = config.require_object(\"triggerType\")\ntest = opentelekomcloud.get_rms_policy_definitions_v1(trigger_type=trigger_type)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var triggerType = config.RequireObject\u003cdynamic\u003e(\"triggerType\");\n    var test = Opentelekomcloud.GetRmsPolicyDefinitionsV1.Invoke(new()\n    {\n        TriggerType = triggerType,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\ttriggerType := cfg.RequireObject(\"triggerType\")\n\t\t_, err := opentelekomcloud.GetRmsPolicyDefinitionsV1(ctx, \u0026opentelekomcloud.GetRmsPolicyDefinitionsV1Args{\n\t\t\tTriggerType: pulumi.StringRef(triggerType),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetRmsPolicyDefinitionsV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var triggerType = config.get(\"triggerType\");\n        final var test = OpentelekomcloudFunctions.getRmsPolicyDefinitionsV1(GetRmsPolicyDefinitionsV1Args.builder()\n            .triggerType(triggerType)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  triggerType:\n    type: dynamic\nvariables:\n  test:\n    fn::invoke:\n      function: opentelekomcloud:getRmsPolicyDefinitionsV1\n      arguments:\n        triggerType: ${triggerType}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getRmsPolicyDefinitionsV1.\n","properties":{"id":{"type":"string","description":"The ID of the policy definition.\n"},"keywords":{"type":"array","items":{"type":"string"},"description":"Specifies the keyword list used to query definition list.\n"},"name":{"type":"string","description":"Specifies the name of the policy definitions used to query definition list.\n"},"policyRuleType":{"type":"string","description":"Specifies the policy rule type used to query definition list.\n"},"policyType":{"type":"string","description":"Specifies the policy type used to query definition list.\nThe valid value is **builtin**.\n"},"triggerType":{"type":"string","description":"Specifies the trigger type used to query definition list.\nThe valid values are **resource** and **period**.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getRmsPolicyDefinitionsV1.\n","properties":{"definitions":{"description":"The policy definition list.\nThe object structure is documented below.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetRmsPolicyDefinitionsV1Definition:getRmsPolicyDefinitionsV1Definition"},"type":"array"},"id":{"description":"The ID of the policy definition.\n","type":"string"},"keywords":{"description":"The keyword list of the policy definition.\n","items":{"type":"string"},"type":"array"},"name":{"description":"The name of the policy definition.\n","type":"string"},"policyRuleType":{"description":"The policy rule type of the policy definition.\n","type":"string"},"policyType":{"description":"The policy type of the policy definition.\n","type":"string"},"triggerType":{"description":"The trigger type of the policy definition.\n","type":"string"}},"required":["definitions","id"],"type":"object"}},"opentelekomcloud:index/getRmsPolicyStatesV1:getRmsPolicyStatesV1":{"inputs":{"description":"A collection of arguments for invoking getRmsPolicyStatesV1.\n","properties":{"complianceState":{"type":"string"},"id":{"type":"string"},"policyAssignmentId":{"type":"string"},"resourceId":{"type":"string"},"resourceName":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getRmsPolicyStatesV1.\n","properties":{"complianceState":{"type":"string"},"id":{"type":"string"},"policyAssignmentId":{"type":"string"},"resourceId":{"type":"string"},"resourceName":{"type":"string"},"states":{"items":{"$ref":"#/types/opentelekomcloud:index%2FgetRmsPolicyStatesV1State:getRmsPolicyStatesV1State"},"type":"array"}},"required":["id","states"],"type":"object"}},"opentelekomcloud:index/getRmsRegionsV1:getRmsRegionsV1":{"description":"Up-to-date reference of API arguments for RMS regions you can get at\n[documentation portal](https://docs.otc.t-systems.com/config/api-ref/apis/region_management/index.html)\n\n\nManages an RMS regions data source, used to query regions visible to you, within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst test = opentelekomcloud.getRmsRegionsV1({});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ntest = opentelekomcloud.get_rms_regions_v1()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = Opentelekomcloud.GetRmsRegionsV1.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.GetRmsRegionsV1(ctx, \u0026opentelekomcloud.GetRmsRegionsV1Args{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetRmsRegionsV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var test = OpentelekomcloudFunctions.getRmsRegionsV1(GetRmsRegionsV1Args.builder()\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  test:\n    fn::invoke:\n      function: opentelekomcloud:getRmsRegionsV1\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getRmsRegionsV1.\n","properties":{"id":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getRmsRegionsV1.\n","properties":{"id":{"type":"string"},"regions":{"description":"Specifies the list of region information. The structure is documented below:\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetRmsRegionsV1Region:getRmsRegionsV1Region"},"type":"array"}},"required":["id","regions"],"type":"object"}},"opentelekomcloud:index/getRmsResourceRelationshipsV1:getRmsResourceRelationshipsV1":{"description":"Up-to-date reference of API arguments for RMS resource relationships you can get at\n[documentation portal](https://docs.otc.t-systems.com/config/api-ref/apis/resource_relationships/index.html)\n\n\nManages an RMS resource relationships data source, used to query the relationship between a resource and other resources by the resource ID, within OpenTelekomCloud.\n\n  \u003e **NOTE:**\n  Resource recorder must be enabled to query resource relationships.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst resourceId = config.requireObject\u003cany\u003e(\"resourceId\");\nconst relations1 = opentelekomcloud.getRmsResourceRelationshipsV1({\n    resourceId: resourceId,\n    direction: \"in\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nresource_id = config.require_object(\"resourceId\")\nrelations1 = opentelekomcloud.get_rms_resource_relationships_v1(resource_id=resource_id,\n    direction=\"in\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var resourceId = config.RequireObject\u003cdynamic\u003e(\"resourceId\");\n    var relations1 = Opentelekomcloud.GetRmsResourceRelationshipsV1.Invoke(new()\n    {\n        ResourceId = resourceId,\n        Direction = \"in\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tresourceId := cfg.RequireObject(\"resourceId\")\n\t\t_, err := opentelekomcloud.GetRmsResourceRelationshipsV1(ctx, \u0026opentelekomcloud.GetRmsResourceRelationshipsV1Args{\n\t\t\tResourceId: resourceId,\n\t\t\tDirection:  \"in\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetRmsResourceRelationshipsV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var resourceId = config.get(\"resourceId\");\n        final var relations1 = OpentelekomcloudFunctions.getRmsResourceRelationshipsV1(GetRmsResourceRelationshipsV1Args.builder()\n            .resourceId(resourceId)\n            .direction(\"in\")\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  resourceId:\n    type: dynamic\nvariables:\n  relations1:\n    fn::invoke:\n      function: opentelekomcloud:getRmsResourceRelationshipsV1\n      arguments:\n        resourceId: ${resourceId}\n        direction: in\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getRmsResourceRelationshipsV1.\n","properties":{"direction":{"type":"string","description":"Specifies the direction of a resource relationship. Permitted values: \u003cspan pulumi-lang-nodejs=\"`in`\" pulumi-lang-dotnet=\"`In`\" pulumi-lang-go=\"`in`\" pulumi-lang-python=\"`in`\" pulumi-lang-yaml=\"`in`\" pulumi-lang-java=\"`in`\"\u003e`in`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`out`\" pulumi-lang-dotnet=\"`Out`\" pulumi-lang-go=\"`out`\" pulumi-lang-python=\"`out`\" pulumi-lang-yaml=\"`out`\" pulumi-lang-java=\"`out`\"\u003e`out`\u003c/span\u003e.\n"},"id":{"type":"string"},"resourceId":{"type":"string","description":"Specifies the resource ID. Maximum length: \u003cspan pulumi-lang-nodejs=\"`512`\" pulumi-lang-dotnet=\"`512`\" pulumi-lang-go=\"`512`\" pulumi-lang-python=\"`512`\" pulumi-lang-yaml=\"`512`\" pulumi-lang-java=\"`512`\"\u003e`512`\u003c/span\u003e.\n"}},"type":"object","required":["direction","resourceId"]},"outputs":{"description":"A collection of values returned by getRmsResourceRelationshipsV1.\n","properties":{"direction":{"type":"string"},"id":{"type":"string"},"relations":{"description":"Specifies the list of the resource relationships. The structure is documented below:\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetRmsResourceRelationshipsV1Relation:getRmsResourceRelationshipsV1Relation"},"type":"array"},"resourceId":{"type":"string"}},"required":["direction","id","relations","resourceId"],"type":"object"}},"opentelekomcloud:index/getRmsResourceTagsV1:getRmsResourceTagsV1":{"description":"Up-to-date reference of API arguments for RMS resource tags you can get at\n[documentation portal](https://docs.otc.t-systems.com/config/api-ref/apis/resource_query/querying_resource_tags.html#rms-04-0106)\n\n\nManages an RMS resource tags data source, used to query all resource tags under your account, within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst test = opentelekomcloud.getRmsResourceTagsV1({});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ntest = opentelekomcloud.get_rms_resource_tags_v1()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = Opentelekomcloud.GetRmsResourceTagsV1.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.GetRmsResourceTagsV1(ctx, \u0026opentelekomcloud.GetRmsResourceTagsV1Args{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetRmsResourceTagsV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var test = OpentelekomcloudFunctions.getRmsResourceTagsV1(GetRmsResourceTagsV1Args.builder()\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  test:\n    fn::invoke:\n      function: opentelekomcloud:getRmsResourceTagsV1\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getRmsResourceTagsV1.\n","properties":{"id":{"type":"string"},"key":{"type":"string","description":"Specifies the name of the tag key. Maximum length: \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getRmsResourceTagsV1.\n","properties":{"id":{"type":"string"},"key":{"description":"Specifies the tag key.\n","type":"string"},"tags":{"description":"Specifies the list of tags. The structure is documented below:\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetRmsResourceTagsV1Tag:getRmsResourceTagsV1Tag"},"type":"array"}},"required":["id","tags"],"type":"object"}},"opentelekomcloud:index/getRtsSoftwareConfigV1:getRtsSoftwareConfigV1":{"inputs":{"description":"A collection of arguments for invoking getRtsSoftwareConfigV1.\n","properties":{"id":{"type":"string"},"name":{"type":"string"},"region":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getRtsSoftwareConfigV1.\n","properties":{"config":{"type":"string"},"group":{"type":"string"},"id":{"type":"string"},"inputValues":{"items":{"additionalProperties":{"type":"string"},"type":"object"},"type":"array"},"name":{"type":"string"},"options":{"additionalProperties":{"type":"string"},"type":"object"},"outputValues":{"items":{"additionalProperties":{"type":"string"},"type":"object"},"type":"array"},"region":{"type":"string"}},"required":["config","group","inputValues","options","outputValues","region"],"type":"object"}},"opentelekomcloud:index/getRtsSoftwareDeploymentV1:getRtsSoftwareDeploymentV1":{"inputs":{"description":"A collection of arguments for invoking getRtsSoftwareDeploymentV1.\n","properties":{"action":{"type":"string"},"configId":{"type":"string"},"id":{"type":"string"},"region":{"type":"string"},"serverId":{"type":"string"},"status":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getRtsSoftwareDeploymentV1.\n","properties":{"action":{"type":"string"},"configId":{"type":"string"},"id":{"type":"string"},"inputValues":{"additionalProperties":{"type":"string"},"type":"object"},"outputValues":{"additionalProperties":{"type":"string"},"type":"object"},"region":{"type":"string"},"serverId":{"type":"string"},"status":{"type":"string"},"statusReason":{"type":"string"}},"required":["inputValues","outputValues","region","statusReason"],"type":"object"}},"opentelekomcloud:index/getRtsStackResourceV1:getRtsStackResourceV1":{"description":"Use this data source to get details about RTS resource metadata.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst stackName = config.requireObject\u003cany\u003e(\"stackName\");\nconst resourceName = config.requireObject\u003cany\u003e(\"resourceName\");\nconst stackresource = opentelekomcloud.getRtsStackResourceV1({\n    stackName: stackName,\n    resourceName: resourceName,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nstack_name = config.require_object(\"stackName\")\nresource_name = config.require_object(\"resourceName\")\nstackresource = opentelekomcloud.get_rts_stack_resource_v1(stack_name=stack_name,\n    resource_name=resource_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var stackName = config.RequireObject\u003cdynamic\u003e(\"stackName\");\n    var resourceName = config.RequireObject\u003cdynamic\u003e(\"resourceName\");\n    var stackresource = Opentelekomcloud.GetRtsStackResourceV1.Invoke(new()\n    {\n        StackName = stackName,\n        ResourceName = resourceName,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tstackName := cfg.RequireObject(\"stackName\")\n\t\tresourceName := cfg.RequireObject(\"resourceName\")\n\t\t_, err := opentelekomcloud.GetRtsStackResourceV1(ctx, \u0026opentelekomcloud.GetRtsStackResourceV1Args{\n\t\t\tStackName:    stackName,\n\t\t\tResourceName: pulumi.StringRef(resourceName),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetRtsStackResourceV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var stackName = config.get(\"stackName\");\n        final var resourceName = config.get(\"resourceName\");\n        final var stackresource = OpentelekomcloudFunctions.getRtsStackResourceV1(GetRtsStackResourceV1Args.builder()\n            .stackName(stackName)\n            .resourceName(resourceName)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  stackName:\n    type: dynamic\n  resourceName:\n    type: dynamic\nvariables:\n  stackresource:\n    fn::invoke:\n      function: opentelekomcloud:getRtsStackResourceV1\n      arguments:\n        stackName: ${stackName}\n        resourceName: ${resourceName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getRtsStackResourceV1.\n","properties":{"id":{"type":"string"},"physicalResourceId":{"type":"string","description":"The physical resource ID.\n"},"region":{"type":"string"},"resourceName":{"type":"string","description":"The name of a resource in the stack.\n"},"resourceType":{"type":"string","description":"The resource type.\n"},"stackName":{"type":"string","description":"The unique stack name.\n"}},"type":"object","required":["stackName"]},"outputs":{"description":"A collection of values returned by getRtsStackResourceV1.\n","properties":{"id":{"type":"string"},"logicalResourceId":{"description":"The logical resource ID.\n","type":"string"},"physicalResourceId":{"type":"string"},"region":{"type":"string"},"requiredBies":{"description":"Specifies the resource dependency.\n","items":{"type":"string"},"type":"array"},"resourceName":{"type":"string"},"resourceStatus":{"description":"The status of the resource.\n","type":"string"},"resourceStatusReason":{"description":"The resource operation reason.\n","type":"string"},"resourceType":{"type":"string"},"stackName":{"type":"string"}},"required":["id","logicalResourceId","region","requiredBies","resourceStatus","resourceStatusReason","stackName"],"type":"object"}},"opentelekomcloud:index/getRtsStackV1:getRtsStackV1":{"description":"Use this data source to get details about RTS outputs and other useful data including the template body.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst stackName = config.requireObject\u003cany\u003e(\"stackName\");\nconst mystack = opentelekomcloud.getRtsStackV1({\n    name: stackName,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nstack_name = config.require_object(\"stackName\")\nmystack = opentelekomcloud.get_rts_stack_v1(name=stack_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var stackName = config.RequireObject\u003cdynamic\u003e(\"stackName\");\n    var mystack = Opentelekomcloud.GetRtsStackV1.Invoke(new()\n    {\n        Name = stackName,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tstackName := cfg.RequireObject(\"stackName\")\n\t\t_, err := opentelekomcloud.LookupRtsStackV1(ctx, \u0026opentelekomcloud.LookupRtsStackV1Args{\n\t\t\tName: stackName,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetRtsStackV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var stackName = config.get(\"stackName\");\n        final var mystack = OpentelekomcloudFunctions.getRtsStackV1(GetRtsStackV1Args.builder()\n            .name(stackName)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  stackName:\n    type: dynamic\nvariables:\n  mystack:\n    fn::invoke:\n      function: opentelekomcloud:getRtsStackV1\n      arguments:\n        name: ${stackName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getRtsStackV1.\n","properties":{"id":{"type":"string","description":"A unique identifier of the stack.\n"},"name":{"type":"string","description":"The name of the stack.\n"},"region":{"type":"string"}},"type":"object","required":["name"]},"outputs":{"description":"A collection of values returned by getRtsStackV1.\n","properties":{"capabilities":{"description":"List of stack capabilities for stack.\n","items":{"type":"string"},"type":"array"},"disableRollback":{"description":"Whether the rollback of the stack is disabled when stack creation fails.\n","type":"boolean"},"id":{"description":"A unique identifier of the stack.\n","type":"string"},"name":{"type":"string"},"notificationTopics":{"description":"List of notification topics for stack.\n","items":{"type":"string"},"type":"array"},"outputs":{"additionalProperties":{"type":"string"},"description":"A list of stack outputs.\n","type":"object"},"parameters":{"additionalProperties":{"type":"string"},"description":"A map of parameters that specify input parameters for the stack.\n","type":"object"},"region":{"type":"string"},"status":{"description":"Specifies the stack status.\n","type":"string"},"statusReason":{"type":"string"},"templateBody":{"description":"Structure containing the template body.\n","type":"string"},"timeoutMins":{"description":"Specifies the timeout duration.\n","type":"number"}},"required":["capabilities","disableRollback","id","name","notificationTopics","outputs","parameters","region","status","statusReason","templateBody","timeoutMins"],"type":"object"}},"opentelekomcloud:index/getS3BucketObject:getS3BucketObject":{"description":"Use this data source to get details about the metadata and\n_optionally_ (see below) content of an object stored inside S3 bucket.\n\n\u003e **Note:** The content of an object (\u003cspan pulumi-lang-nodejs=\"`body`\" pulumi-lang-dotnet=\"`Body`\" pulumi-lang-go=\"`body`\" pulumi-lang-python=\"`body`\" pulumi-lang-yaml=\"`body`\" pulumi-lang-java=\"`body`\"\u003e`body`\u003c/span\u003e field) is available only for objects which have a human-readable `Content-Type` (`text/*` and `application/json`). This is to prevent printing unsafe characters and potentially downloading large amount of data which would be thrown away in favour of metadata.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst b = opentelekomcloud.getS3BucketObject({\n    bucket: \"my-test-bucket\",\n    key: \"hello-world.zip\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nb = opentelekomcloud.get_s3_bucket_object(bucket=\"my-test-bucket\",\n    key=\"hello-world.zip\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var b = Opentelekomcloud.GetS3BucketObject.Invoke(new()\n    {\n        Bucket = \"my-test-bucket\",\n        Key = \"hello-world.zip\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.LookupS3BucketObject(ctx, \u0026opentelekomcloud.LookupS3BucketObjectArgs{\n\t\t\tBucket: \"my-test-bucket\",\n\t\t\tKey:    \"hello-world.zip\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetS3BucketObjectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var b = OpentelekomcloudFunctions.getS3BucketObject(GetS3BucketObjectArgs.builder()\n            .bucket(\"my-test-bucket\")\n            .key(\"hello-world.zip\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  b:\n    fn::invoke:\n      function: opentelekomcloud:getS3BucketObject\n      arguments:\n        bucket: my-test-bucket\n        key: hello-world.zip\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getS3BucketObject.\n","properties":{"bucket":{"type":"string","description":"The name of the bucket to read the object from.\n"},"id":{"type":"string"},"key":{"type":"string","description":"The full path to the object inside the bucket.\n"},"range":{"type":"string"},"versionId":{"type":"string","description":"Specific version ID of the object returned (defaults to latest version).\n"}},"type":"object","required":["bucket","key"]},"outputs":{"description":"A collection of values returned by getS3BucketObject.\n","properties":{"body":{"description":"Object data (see **limitations above** to understand cases in which this field is actually available)\n","type":"string"},"bucket":{"type":"string"},"cacheControl":{"description":"Specifies caching behavior along the request/reply chain.\n","type":"string"},"contentDisposition":{"description":"Specifies presentational information for the object.\n","type":"string"},"contentEncoding":{"description":"Specifies what content encodings have been applied to the\nobject and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field.\n","type":"string"},"contentLanguage":{"description":"The language the content is in.\n","type":"string"},"contentLength":{"description":"Size of the body in bytes.\n","type":"number"},"contentType":{"description":"A standard MIME type describing the format of the object data.\n","type":"string"},"etag":{"description":"[ETag](https://en.wikipedia.org/wiki/HTTP_ETag) generated for the object (an MD5 sum of the object content in case it's not encrypted).\n","type":"string"},"expiration":{"description":"If the object expiration is configured\n(see [object lifecycle management](http://docs.opentelekomcloud.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html)), the field includes this header. It includes the expiry-date and rule-id key value pairs providing object expiration information. The value of the rule-id is URL encoded.\n","type":"string"},"expires":{"description":"The date and time at which the object is no longer cacheable.\n","type":"string"},"id":{"type":"string"},"key":{"type":"string"},"lastModified":{"description":"Last modified date of the object in RFC1123 format\n(e.g. `Mon, 02 Jan 2006 15:04:05 MST`)\n","type":"string"},"metadata":{"additionalProperties":{"type":"string"},"description":"A map of metadata stored with the object in S3\n","type":"object"},"range":{"type":"string"},"serverSideEncryption":{"description":"If the object is stored using server-side encryption\n(KMS or Amazon S3-managed encryption key), this field includes the chosen encryption and algorithm used.\n","type":"string"},"sseKmsKeyId":{"description":"If present, specifies the ID of the Key Management Service\n(KMS) master encryption key that was used for the object.\n","type":"string"},"versionId":{"description":"The latest version ID of the object returned.\n","type":"string"},"websiteRedirectLocation":{"description":"If the bucket is configured as a website,\nredirects requests for this object to another object in the same bucket or to an external URL. Amazon S3 stores the value of this header in the object metadata.\n","type":"string"}},"required":["body","bucket","cacheControl","contentDisposition","contentEncoding","contentLanguage","contentLength","contentType","etag","expiration","expires","id","key","lastModified","metadata","serverSideEncryption","sseKmsKeyId","versionId","websiteRedirectLocation"],"type":"object"}},"opentelekomcloud:index/getSdrsDomainV1:getSdrsDomainV1":{"description":"Up-to-date reference of API arguments for SDRS domain you can get at\n[documentation portal](https://docs.otc.t-systems.com/storage-disaster-recovery-service/api-ref/sdrs_apis/active-active_domain/querying_an_active-active_domain.html#sdrs-05-0301)\n\nUse this data source to get the ID of an available OpenTelekomcloud SDRS domain.\n\n~\u003e\n    OTC supports a single ``active-active domain`` with default name `\u003cspan pulumi-lang-nodejs=\"`domain001`\" pulumi-lang-dotnet=\"`Domain001`\" pulumi-lang-go=\"`domain001`\" pulumi-lang-python=\"`domain_001`\" pulumi-lang-yaml=\"`domain001`\" pulumi-lang-java=\"`domain001`\"\u003e`domain_001`\u003c/span\u003e`.\n\n## Example Usage\n\n~\u003e\n  **Result of both examples will be the same.**\n\n### Querying ``active-active domain`` with `\u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e` parameter.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst dom1 = opentelekomcloud.getSdrsDomainV1({\n    name: \"domain_001\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ndom1 = opentelekomcloud.get_sdrs_domain_v1(name=\"domain_001\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var dom1 = Opentelekomcloud.GetSdrsDomainV1.Invoke(new()\n    {\n        Name = \"domain_001\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.GetSdrsDomainV1(ctx, \u0026opentelekomcloud.GetSdrsDomainV1Args{\n\t\t\tName: pulumi.StringRef(\"domain_001\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetSdrsDomainV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var dom1 = OpentelekomcloudFunctions.getSdrsDomainV1(GetSdrsDomainV1Args.builder()\n            .name(\"domain_001\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  dom1:\n    fn::invoke:\n      function: opentelekomcloud:getSdrsDomainV1\n      arguments:\n        name: domain_001\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Querying ``active-active domain`` without `\u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e` parameter.\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst dom1 = opentelekomcloud.getSdrsDomainV1({});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ndom1 = opentelekomcloud.get_sdrs_domain_v1()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var dom1 = Opentelekomcloud.GetSdrsDomainV1.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.GetSdrsDomainV1(ctx, \u0026opentelekomcloud.GetSdrsDomainV1Args{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetSdrsDomainV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var dom1 = OpentelekomcloudFunctions.getSdrsDomainV1(GetSdrsDomainV1Args.builder()\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  dom1:\n    fn::invoke:\n      function: opentelekomcloud:getSdrsDomainV1\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getSdrsDomainV1.\n","properties":{"id":{"type":"string"},"name":{"type":"string","description":"Specifies the name of an active-active domain.\nThis parameter serves as filter for querying ``active-active`` domains and can be skipped in current version.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getSdrsDomainV1.\n","properties":{"description":{"description":"Specifies the description of an active-active domain.\n","type":"string"},"id":{"type":"string"},"name":{"description":"See Argument Reference above.\n","type":"string"}},"required":["description","id","name"],"type":"object"}},"opentelekomcloud:index/getSfsFileSystemV2:getSfsFileSystemV2":{"description":"Up-to-date reference of API arguments for SFS you can get at\n[documentation portal](https://docs.otc.t-systems.com/scalable-file-service/api-ref/sfs_capacity-oriented_apis/file_systems/querying_all_shared_file_systems.html#sfs-02-0022)\n\nUse this data source to get details about a Scalable File Service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst shareName = config.requireObject\u003cany\u003e(\"shareName\");\nconst shareId = config.requireObject\u003cany\u003e(\"shareId\");\nconst sharedFile = opentelekomcloud.getSfsFileSystemV2({\n    name: shareName,\n    id: shareId,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nshare_name = config.require_object(\"shareName\")\nshare_id = config.require_object(\"shareId\")\nshared_file = opentelekomcloud.get_sfs_file_system_v2(name=share_name,\n    id=share_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var shareName = config.RequireObject\u003cdynamic\u003e(\"shareName\");\n    var shareId = config.RequireObject\u003cdynamic\u003e(\"shareId\");\n    var sharedFile = Opentelekomcloud.GetSfsFileSystemV2.Invoke(new()\n    {\n        Name = shareName,\n        Id = shareId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tshareName := cfg.RequireObject(\"shareName\")\n\t\tshareId := cfg.RequireObject(\"shareId\")\n\t\t_, err := opentelekomcloud.LookupSfsFileSystemV2(ctx, \u0026opentelekomcloud.LookupSfsFileSystemV2Args{\n\t\t\tName: pulumi.StringRef(shareName),\n\t\t\tId:   pulumi.StringRef(shareId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetSfsFileSystemV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var shareName = config.get(\"shareName\");\n        final var shareId = config.get(\"shareId\");\n        final var sharedFile = OpentelekomcloudFunctions.getSfsFileSystemV2(GetSfsFileSystemV2Args.builder()\n            .name(shareName)\n            .id(shareId)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  shareName:\n    type: dynamic\n  shareId:\n    type: dynamic\nvariables:\n  sharedFile:\n    fn::invoke:\n      function: opentelekomcloud:getSfsFileSystemV2\n      arguments:\n        name: ${shareName}\n        id: ${shareId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getSfsFileSystemV2.\n","properties":{"id":{"type":"string","description":"The UUID of the shared file system.\n"},"name":{"type":"string","description":"The name of the shared file system.\n"},"region":{"type":"string"},"status":{"type":"string","description":"The status of the shared file system.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getSfsFileSystemV2.\n","properties":{"accessLevel":{"description":"The level of the access rule.\n","type":"string"},"accessTo":{"description":"The access that the back end grants or denies.\n","type":"string"},"accessType":{"description":"The type of the share access rule.\n","type":"string"},"availabilityZone":{"description":"The availability zone name.\n","type":"string"},"description":{"type":"string"},"exportLocation":{"description":"The path for accessing the shared file system.\n","type":"string"},"exportLocations":{"items":{"type":"string"},"type":"array"},"host":{"description":"The host name of the shared file system.\n","type":"string"},"id":{"type":"string"},"isPublic":{"description":"The level of visibility for the shared file system.\n","type":"boolean"},"metadata":{"additionalProperties":{"type":"string"},"description":"Metadata key and value pairs as a dictionary of strings.\n","type":"object"},"mountId":{"description":"The UUID of the mount location of the shared file system.\n","type":"string"},"name":{"type":"string"},"preferred":{"description":"Identifies which mount locations are most efficient and are used preferentially when multiple mount locations exist.\n","type":"boolean"},"projectId":{"type":"string"},"region":{"type":"string"},"shareAccessId":{"description":"The UUID of the share access rule.\n","type":"string"},"shareInstanceId":{"description":"The access that the back end grants or denies.\n","type":"string"},"shareProto":{"description":"The protocol for sharing file systems.\n","type":"string"},"shareType":{"description":"The storage service type for the shared file system, such as high-performance storage (composed of SSDs) or large-capacity storage (composed of SATA disks).\n","type":"string"},"size":{"description":"The size (GB) of the shared file system.\n","type":"number"},"state":{"type":"string"},"status":{"description":"The status of the shared file system.\n","type":"string"},"volumeType":{"description":"The volume type.\n","type":"string"}},"required":["accessLevel","accessTo","accessType","availabilityZone","description","exportLocation","exportLocations","host","isPublic","metadata","mountId","preferred","projectId","region","shareAccessId","shareInstanceId","shareProto","shareType","size","state","volumeType"],"type":"object"}},"opentelekomcloud:index/getSfsTurboShareV1:getSfsTurboShareV1":{"description":"Up-to-date reference of API arguments for SFS you can get at\n[documentation portal](https://docs.otc.t-systems.com/scalable-file-service/api-ref/sfs_turbo_apis/lifecycle_management/querying_details_about_all_file_systems.html#sfs-02-0053)\n\nUse this data source to get details about a Shared File System (SFS) Turbo resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst turbo = opentelekomcloud.getSfsTurboShareV1({\n    name: \"turbo-share-1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nturbo = opentelekomcloud.get_sfs_turbo_share_v1(name=\"turbo-share-1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var turbo = Opentelekomcloud.GetSfsTurboShareV1.Invoke(new()\n    {\n        Name = \"turbo-share-1\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.LookupSfsTurboShareV1(ctx, \u0026opentelekomcloud.LookupSfsTurboShareV1Args{\n\t\t\tName: \"turbo-share-1\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetSfsTurboShareV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var turbo = OpentelekomcloudFunctions.getSfsTurboShareV1(GetSfsTurboShareV1Args.builder()\n            .name(\"turbo-share-1\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  turbo:\n    fn::invoke:\n      function: opentelekomcloud:getSfsTurboShareV1\n      arguments:\n        name: turbo-share-1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getSfsTurboShareV1.\n","properties":{"id":{"type":"string","description":"The UUID of the SFS Turbo file system.\n"},"name":{"type":"string","description":"The name of an SFS Turbo share.\n"}},"type":"object","required":["name"]},"outputs":{"description":"A collection of values returned by getSfsTurboShareV1.\n","properties":{"availabilityZone":{"description":"Tthe availability zone where the file system is located.\n","type":"string"},"availableCapacity":{"description":"The available capacity of the SFS Turbo file system in the unit of GB.\n","type":"string"},"cryptKeyId":{"description":"The ID of a KMS key to encrypt the file system.\n","type":"string"},"expandType":{"description":"Specifies the extension type.\n","type":"string"},"exportLocation":{"description":"The mount point of the SFS Turbo file system.\n","type":"string"},"hpcBw":{"description":"Specifies the file system bandwidth.\n","type":"string"},"id":{"description":"The UUID of the SFS Turbo file system.\n","type":"string"},"name":{"type":"string"},"region":{"description":"The region of SFS Turbo share.\n","type":"string"},"securityGroupId":{"description":"The share security group ID.\n","type":"string"},"shareProto":{"description":"The protocol for sharing file systems.\n","type":"string"},"shareType":{"description":"The file system type.\n","type":"string"},"size":{"description":"Capacity of the share common file system, in GB.\n","type":"number"},"subnetId":{"description":"Specifies the share network ID of the subnet.\n","type":"string"},"version":{"description":"The version ID of the SFS Turbo file system.\n","type":"string"},"vpcId":{"description":"The share VPC ID.\n","type":"string"}},"required":["availabilityZone","availableCapacity","cryptKeyId","expandType","exportLocation","hpcBw","id","name","region","securityGroupId","shareProto","shareType","size","subnetId","version","vpcId"],"type":"object"}},"opentelekomcloud:index/getSmnMessageTemplatesV2:getSmnMessageTemplatesV2":{"description":"Use this data source to get the list of SMN message templates.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst name = config.requireObject\u003cany\u003e(\"name\");\nconst test = opentelekomcloud.getSmnMessageTemplatesV2({\n    name: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nname = config.require_object(\"name\")\ntest = opentelekomcloud.get_smn_message_templates_v2(name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var name = config.RequireObject\u003cdynamic\u003e(\"name\");\n    var test = Opentelekomcloud.GetSmnMessageTemplatesV2.Invoke(new()\n    {\n        Name = name,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := cfg.RequireObject(\"name\")\n\t\t_, err := opentelekomcloud.GetSmnMessageTemplatesV2(ctx, \u0026opentelekomcloud.GetSmnMessageTemplatesV2Args{\n\t\t\tName: pulumi.StringRef(name),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetSmnMessageTemplatesV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var name = config.get(\"name\");\n        final var test = OpentelekomcloudFunctions.getSmnMessageTemplatesV2(GetSmnMessageTemplatesV2Args.builder()\n            .name(name)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  name:\n    type: dynamic\nvariables:\n  test:\n    fn::invoke:\n      function: opentelekomcloud:getSmnMessageTemplatesV2\n      arguments:\n        name: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getSmnMessageTemplatesV2.\n","properties":{"id":{"type":"string","description":"Indicates the message template ID.\n"},"name":{"type":"string","description":"Specifies the name of the message template.\n"},"protocol":{"type":"string","description":"Specifies the protocol of the message template.\n"},"templateId":{"type":"string","description":"Specifies the message template ID.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getSmnMessageTemplatesV2.\n","properties":{"id":{"description":"Indicates the message template ID.\n","type":"string"},"name":{"description":"Indicates the message template name.\n","type":"string"},"protocol":{"description":"Indicates the protocol supported by the template.\n","type":"string"},"templateId":{"type":"string"},"templates":{"description":"The list of message templates.\nThe templates structure is documented below.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetSmnMessageTemplatesV2Template:getSmnMessageTemplatesV2Template"},"type":"array"}},"required":["id","templates"],"type":"object"}},"opentelekomcloud:index/getSmnSubscriptionV2:getSmnSubscriptionV2":{"description":"Up-to-date reference of API arguments for SMN subscription you can get at\n[documentation portal](https://docs.otc.t-systems.com/simple-message-notification/api-ref/apis/subscription_operations/querying_subscriptions.html#smn-api-52001)\n\nGet details about an SMN subscription V2 resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst subscriptionUrn = config.requireObject\u003cany\u003e(\"subscriptionUrn\");\nconst data_sub = opentelekomcloud.getSmnSubscriptionV2({\n    subscriptionUrn: subscriptionUrn,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nsubscription_urn = config.require_object(\"subscriptionUrn\")\ndata_sub = opentelekomcloud.get_smn_subscription_v2(subscription_urn=subscription_urn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var subscriptionUrn = config.RequireObject\u003cdynamic\u003e(\"subscriptionUrn\");\n    var data_sub = Opentelekomcloud.GetSmnSubscriptionV2.Invoke(new()\n    {\n        SubscriptionUrn = subscriptionUrn,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tsubscriptionUrn := cfg.RequireObject(\"subscriptionUrn\")\n\t\t_, err := opentelekomcloud.LookupSmnSubscriptionV2(ctx, \u0026opentelekomcloud.LookupSmnSubscriptionV2Args{\n\t\t\tSubscriptionUrn: subscriptionUrn,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetSmnSubscriptionV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var subscriptionUrn = config.get(\"subscriptionUrn\");\n        final var data-sub = OpentelekomcloudFunctions.getSmnSubscriptionV2(GetSmnSubscriptionV2Args.builder()\n            .subscriptionUrn(subscriptionUrn)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  subscriptionUrn:\n    type: dynamic\nvariables:\n  data-sub:\n    fn::invoke:\n      function: opentelekomcloud:getSmnSubscriptionV2\n      arguments:\n        subscriptionUrn: ${subscriptionUrn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getSmnSubscriptionV2.\n","properties":{"id":{"type":"string"},"subscriptionUrn":{"type":"string","description":"The urn of subscription to be fetched.\n"}},"type":"object","required":["subscriptionUrn"]},"outputs":{"description":"A collection of values returned by getSmnSubscriptionV2.\n","properties":{"description":{"description":"Subscription description.\n","type":"string"},"endpoint":{"description":"Message receiving endpoint.\n","type":"string"},"id":{"type":"string"},"owner":{"description":"Project ID of the topic creator.\n","type":"string"},"protocol":{"description":"Subscription protocol.\n","type":"string"},"status":{"description":"Subscription status.\n","type":"number"},"subscriptionUrn":{"type":"string"},"topicUrn":{"description":"Resource identifier of a topic, which is unique.\n","type":"string"}},"required":["description","endpoint","id","owner","protocol","status","subscriptionUrn","topicUrn"],"type":"object"}},"opentelekomcloud:index/getSmnTopicSubscriptionV2:getSmnTopicSubscriptionV2":{"description":"Up-to-date reference of API arguments for SMN topic subscription you can get at\n[documentation portal](https://docs.otc.t-systems.com/simple-message-notification/api-ref/apis/subscription_operations/querying_subscriptions_of_a_specified_topic.html#)\n\nGet details about an SMN topic subscription V2 resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nconfiguration:\n  topicUrn:\n    type: dynamic\nvariables:\n  data-sub:\n    fn::invoke:\n      function: opentelekomcloud:getSmnTopicSubscriptionV2\n      arguments:\n        topocUrn: ${topicUrn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getSmnTopicSubscriptionV2.\n","properties":{"endpoint":{"type":"string","description":"Message receiving endpoint.\n"},"id":{"type":"string"},"protocol":{"type":"string","description":"Subscription protocol.\n"},"topicUrn":{"type":"string","description":"The resource ID of a topic\n"}},"type":"object","required":["topicUrn"]},"outputs":{"description":"A collection of values returned by getSmnTopicSubscriptionV2.\n","properties":{"description":{"description":"Subscription description.\n","type":"string"},"endpoint":{"type":"string"},"id":{"type":"string"},"owner":{"description":"Project ID of the topic creator.\n","type":"string"},"protocol":{"type":"string"},"status":{"description":"Subscription status.\n","type":"number"},"subscriptionUrn":{"description":"Resource identifier of a subscription, which is unique.\n","type":"string"},"topicUrn":{"type":"string"}},"required":["description","endpoint","id","owner","protocol","status","subscriptionUrn","topicUrn"],"type":"object"}},"opentelekomcloud:index/getSmnTopicV2:getSmnTopicV2":{"description":"Up-to-date reference of API arguments for SMN topic you can get at\n[documentation portal](https://docs.otc.t-systems.com/simple-message-notification/api-ref/apis/topic_operations)\n\nGet details about an SMN topic V2 resource within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst topic1 = opentelekomcloud.getSmnTopicV2({\n    name: \"topic_1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ntopic1 = opentelekomcloud.get_smn_topic_v2(name=\"topic_1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var topic1 = Opentelekomcloud.GetSmnTopicV2.Invoke(new()\n    {\n        Name = \"topic_1\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.LookupSmnTopicV2(ctx, \u0026opentelekomcloud.LookupSmnTopicV2Args{\n\t\t\tName: \"topic_1\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetSmnTopicV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var topic1 = OpentelekomcloudFunctions.getSmnTopicV2(GetSmnTopicV2Args.builder()\n            .name(\"topic_1\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  topic1:\n    fn::invoke:\n      function: opentelekomcloud:getSmnTopicV2\n      arguments:\n        name: topic_1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getSmnTopicV2.\n","properties":{"id":{"type":"string"},"name":{"type":"string","description":"The name of the topic to be fetched.\n"}},"type":"object","required":["name"]},"outputs":{"description":"A collection of values returned by getSmnTopicV2.\n","properties":{"createTime":{"description":"Time when the topic was created.\n","type":"string"},"displayName":{"description":"Topic display name, which is presented as the\nname of the email sender in an email message.\n","type":"string"},"id":{"type":"string"},"name":{"description":"See Argument Reference above.\n","type":"string"},"pushPolicy":{"description":"Message pushing policy. 0 indicates that the message\nsending fails and the message is cached in the queue. 1 indicates that the\nfailed message is discarded.\n","type":"number"},"topicUrn":{"description":"Resource identifier of a topic, which is unique.\n","type":"string"},"updateTime":{"description":"Time when the topic was updated.\n","type":"string"}},"required":["createTime","displayName","id","name","pushPolicy","topicUrn","updateTime"],"type":"object"}},"opentelekomcloud:index/getTaurusdbMysqlBackupsV3:getTaurusdbMysqlBackupsV3":{"description":"Use this data source to get the list of TaurusDB MySQL backups.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst instanceId = config.requireObject\u003cany\u003e(\"instanceId\");\nconst test = opentelekomcloud.getTaurusdbMysqlBackupsV3({\n    instanceId: instanceId,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ninstance_id = config.require_object(\"instanceId\")\ntest = opentelekomcloud.get_taurusdb_mysql_backups_v3(instance_id=instance_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var instanceId = config.RequireObject\u003cdynamic\u003e(\"instanceId\");\n    var test = Opentelekomcloud.GetTaurusdbMysqlBackupsV3.Invoke(new()\n    {\n        InstanceId = instanceId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tinstanceId := cfg.RequireObject(\"instanceId\")\n\t\t_, err := opentelekomcloud.GetTaurusdbMysqlBackupsV3(ctx, \u0026opentelekomcloud.GetTaurusdbMysqlBackupsV3Args{\n\t\t\tInstanceId: pulumi.StringRef(instanceId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetTaurusdbMysqlBackupsV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var instanceId = config.get(\"instanceId\");\n        final var test = OpentelekomcloudFunctions.getTaurusdbMysqlBackupsV3(GetTaurusdbMysqlBackupsV3Args.builder()\n            .instanceId(instanceId)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  instanceId:\n    type: dynamic\nvariables:\n  test:\n    fn::invoke:\n      function: opentelekomcloud:getTaurusdbMysqlBackupsV3\n      arguments:\n        instanceId: ${instanceId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getTaurusdbMysqlBackupsV3.\n","properties":{"backupId":{"type":"string","description":"Specifies the ID of the backup.\n"},"backupType":{"type":"string","description":"Specifies the backup type.\nValue options:\n+ **auto**: automated full backup.\n+ **manual**: manual full backup.\n"},"beginTime":{"type":"string","description":"Specifies the backup start time.\nThe format is **yyyy-mm-ddThh:mm:ssZ**.\n"},"endTime":{"type":"string","description":"Specifies the backup end time.\nThe format is **yyyy-mm-ddThh:mm:ssZ**.\nThe end time must be later than the start time.\n"},"id":{"type":"string","description":"Indicates the ID of the backup.\n"},"instanceId":{"type":"string","description":"Specifies the ID of the TaurusDB MySQL instance.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getTaurusdbMysqlBackupsV3.\n","properties":{"backupId":{"type":"string"},"backupType":{"type":"string"},"backups":{"description":"Indicates the list of backups.\nThe backups structure is documented below.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetTaurusdbMysqlBackupsV3Backup:getTaurusdbMysqlBackupsV3Backup"},"type":"array"},"beginTime":{"description":"Indicates the backup start time in the **yyyy-mm-ddThh:mm:ssZ** format.\n","type":"string"},"endTime":{"description":"Indicates the backup end time in the **yyyy-mm-ddThh:mm:ssZ** format.\n","type":"string"},"id":{"description":"Indicates the ID of the backup.\n","type":"string"},"instanceId":{"description":"Indicates the ID of the TaurusDB MySQL instance.\n","type":"string"}},"required":["backups","id"],"type":"object"}},"opentelekomcloud:index/getTaurusdbMysqlConfigurationV3:getTaurusdbMysqlConfigurationV3":{"description":"Use this data source to get available OpenTelekomCloud TaurusDB MySQL configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst _this = opentelekomcloud.getTaurusdbMysqlConfigurationV3({\n    name: \"Default-TaurusDB V2.0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nthis = opentelekomcloud.get_taurusdb_mysql_configuration_v3(name=\"Default-TaurusDB V2.0\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = Opentelekomcloud.GetTaurusdbMysqlConfigurationV3.Invoke(new()\n    {\n        Name = \"Default-TaurusDB V2.0\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.GetTaurusdbMysqlConfigurationV3(ctx, \u0026opentelekomcloud.GetTaurusdbMysqlConfigurationV3Args{\n\t\t\tName: pulumi.StringRef(\"Default-TaurusDB V2.0\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetTaurusdbMysqlConfigurationV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var this = OpentelekomcloudFunctions.getTaurusdbMysqlConfigurationV3(GetTaurusdbMysqlConfigurationV3Args.builder()\n            .name(\"Default-TaurusDB V2.0\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  this:\n    fn::invoke:\n      function: opentelekomcloud:getTaurusdbMysqlConfigurationV3\n      arguments:\n        name: Default-TaurusDB V2.0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getTaurusdbMysqlConfigurationV3.\n","properties":{"id":{"type":"string","description":"Indicates the ID of the configuration.\n"},"name":{"type":"string","description":"Specifies the name of the parameter template.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getTaurusdbMysqlConfigurationV3.\n","properties":{"datastoreName":{"description":"Indicates the datastore name of the configuration.\n","type":"string"},"datastoreVersion":{"description":"Indicates the datastore version of the configuration.\n","type":"string"},"description":{"description":"Indicates the description of the configuration.\n","type":"string"},"id":{"description":"Indicates the ID of the configuration.\n","type":"string"},"name":{"type":"string"},"region":{"description":"Indicates the region of the configuration.\n","type":"string"}},"required":["datastoreName","datastoreVersion","description","id","name","region"],"type":"object"}},"opentelekomcloud:index/getTaurusdbMysqlConfigurationsV3:getTaurusdbMysqlConfigurationsV3":{"description":"Use this data source to get the list of parameter templates.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst test = opentelekomcloud.getTaurusdbMysqlConfigurationsV3({});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ntest = opentelekomcloud.get_taurusdb_mysql_configurations_v3()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = Opentelekomcloud.GetTaurusdbMysqlConfigurationsV3.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.GetTaurusdbMysqlConfigurationsV3(ctx, \u0026opentelekomcloud.GetTaurusdbMysqlConfigurationsV3Args{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetTaurusdbMysqlConfigurationsV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var test = OpentelekomcloudFunctions.getTaurusdbMysqlConfigurationsV3(GetTaurusdbMysqlConfigurationsV3Args.builder()\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  test:\n    fn::invoke:\n      function: opentelekomcloud:getTaurusdbMysqlConfigurationsV3\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getTaurusdbMysqlConfigurationsV3.\n","properties":{"id":{"type":"string","description":"Indicates the ID of the parameter template.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getTaurusdbMysqlConfigurationsV3.\n","properties":{"configurations":{"description":"Indicates the list of parameter templates.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetTaurusdbMysqlConfigurationsV3Configuration:getTaurusdbMysqlConfigurationsV3Configuration"},"type":"array"},"id":{"description":"Indicates the ID of the parameter template.\n","type":"string"},"region":{"description":"The data source region.\n","type":"string"}},"required":["configurations","id","region"],"type":"object"}},"opentelekomcloud:index/getTaurusdbMysqlEngineVersionsV3:getTaurusdbMysqlEngineVersionsV3":{"description":"Use this data source to get the database specifications of a specified DB engine.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst test = opentelekomcloud.getTaurusdbMysqlEngineVersionsV3({\n    databaseName: \"gaussdb-mysql\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ntest = opentelekomcloud.get_taurusdb_mysql_engine_versions_v3(database_name=\"gaussdb-mysql\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = Opentelekomcloud.GetTaurusdbMysqlEngineVersionsV3.Invoke(new()\n    {\n        DatabaseName = \"gaussdb-mysql\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.GetTaurusdbMysqlEngineVersionsV3(ctx, \u0026opentelekomcloud.GetTaurusdbMysqlEngineVersionsV3Args{\n\t\t\tDatabaseName: \"gaussdb-mysql\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetTaurusdbMysqlEngineVersionsV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var test = OpentelekomcloudFunctions.getTaurusdbMysqlEngineVersionsV3(GetTaurusdbMysqlEngineVersionsV3Args.builder()\n            .databaseName(\"gaussdb-mysql\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  test:\n    fn::invoke:\n      function: opentelekomcloud:getTaurusdbMysqlEngineVersionsV3\n      arguments:\n        databaseName: gaussdb-mysql\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getTaurusdbMysqlEngineVersionsV3.\n","properties":{"databaseName":{"type":"string","description":"Specifies the DB engine.\nValue options: **gaussdb-mysql**.\n"},"id":{"type":"string","description":"Indicates the DB version ID.\n"}},"type":"object","required":["databaseName"]},"outputs":{"description":"A collection of values returned by getTaurusdbMysqlEngineVersionsV3.\n","properties":{"databaseName":{"type":"string"},"datastores":{"description":"Indicates the DB version list.\nThe datastores structure is documented below.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetTaurusdbMysqlEngineVersionsV3Datastore:getTaurusdbMysqlEngineVersionsV3Datastore"},"type":"array"},"id":{"description":"Indicates the DB version ID.\n","type":"string"},"region":{"type":"string"}},"required":["databaseName","datastores","id","region"],"type":"object"}},"opentelekomcloud:index/getTaurusdbMysqlErrorLogsV3:getTaurusdbMysqlErrorLogsV3":{"description":"Use this data source to get the list of TaurusDB MySQL error logs.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst instanceId = config.requireObject\u003cany\u003e(\"instanceId\");\nconst nodeId = config.requireObject\u003cany\u003e(\"nodeId\");\nconst startTime = config.requireObject\u003cany\u003e(\"startTime\");\nconst endTime = config.requireObject\u003cany\u003e(\"endTime\");\nconst test = opentelekomcloud.getTaurusdbMysqlErrorLogsV3({\n    instanceId: instanceId,\n    nodeId: nodeId,\n    startTime: startTime,\n    endTime: endTime,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ninstance_id = config.require_object(\"instanceId\")\nnode_id = config.require_object(\"nodeId\")\nstart_time = config.require_object(\"startTime\")\nend_time = config.require_object(\"endTime\")\ntest = opentelekomcloud.get_taurusdb_mysql_error_logs_v3(instance_id=instance_id,\n    node_id=node_id,\n    start_time=start_time,\n    end_time=end_time)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var instanceId = config.RequireObject\u003cdynamic\u003e(\"instanceId\");\n    var nodeId = config.RequireObject\u003cdynamic\u003e(\"nodeId\");\n    var startTime = config.RequireObject\u003cdynamic\u003e(\"startTime\");\n    var endTime = config.RequireObject\u003cdynamic\u003e(\"endTime\");\n    var test = Opentelekomcloud.GetTaurusdbMysqlErrorLogsV3.Invoke(new()\n    {\n        InstanceId = instanceId,\n        NodeId = nodeId,\n        StartTime = startTime,\n        EndTime = endTime,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tinstanceId := cfg.RequireObject(\"instanceId\")\n\t\tnodeId := cfg.RequireObject(\"nodeId\")\n\t\tstartTime := cfg.RequireObject(\"startTime\")\n\t\tendTime := cfg.RequireObject(\"endTime\")\n\t\t_, err := opentelekomcloud.GetTaurusdbMysqlErrorLogsV3(ctx, \u0026opentelekomcloud.GetTaurusdbMysqlErrorLogsV3Args{\n\t\t\tInstanceId: instanceId,\n\t\t\tNodeId:     nodeId,\n\t\t\tStartTime:  startTime,\n\t\t\tEndTime:    endTime,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetTaurusdbMysqlErrorLogsV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var instanceId = config.get(\"instanceId\");\n        final var nodeId = config.get(\"nodeId\");\n        final var startTime = config.get(\"startTime\");\n        final var endTime = config.get(\"endTime\");\n        final var test = OpentelekomcloudFunctions.getTaurusdbMysqlErrorLogsV3(GetTaurusdbMysqlErrorLogsV3Args.builder()\n            .instanceId(instanceId)\n            .nodeId(nodeId)\n            .startTime(startTime)\n            .endTime(endTime)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  instanceId:\n    type: dynamic\n  nodeId:\n    type: dynamic\n  startTime:\n    type: dynamic\n  endTime:\n    type: dynamic\nvariables:\n  test:\n    fn::invoke:\n      function: opentelekomcloud:getTaurusdbMysqlErrorLogsV3\n      arguments:\n        instanceId: ${instanceId}\n        nodeId: ${nodeId}\n        startTime: ${startTime}\n        endTime: ${endTime}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getTaurusdbMysqlErrorLogsV3.\n","properties":{"endTime":{"type":"string","description":"Specifies the end time in the **yyyy-mm-ddThh:mm:ssZ** format.\n"},"id":{"type":"string","description":"The data source ID.\n"},"instanceId":{"type":"string","description":"Specifies the ID of the TaurusDB MySQL instance.\n"},"level":{"type":"string","description":"Specifies the log level.\n"},"nodeId":{"type":"string","description":"Specifies the ID of the TaurusDB MySQL instance node.\n"},"startTime":{"type":"string","description":"Specifies the start time in the **yyyy-mm-ddThh:mm:ssZ** format.\n"}},"type":"object","required":["endTime","instanceId","nodeId","startTime"]},"outputs":{"description":"A collection of values returned by getTaurusdbMysqlErrorLogsV3.\n","properties":{"endTime":{"type":"string"},"errorLogLists":{"description":"Indicates the list of the error logs.\nThe\u003cspan pulumi-lang-nodejs=\" errorLogList \" pulumi-lang-dotnet=\" ErrorLogList \" pulumi-lang-go=\" errorLogList \" pulumi-lang-python=\" error_log_list \" pulumi-lang-yaml=\" errorLogList \" pulumi-lang-java=\" errorLogList \"\u003e error_log_list \u003c/span\u003estructure is documented below.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetTaurusdbMysqlErrorLogsV3ErrorLogList:getTaurusdbMysqlErrorLogsV3ErrorLogList"},"type":"array"},"id":{"description":"The data source ID.\n","type":"string"},"instanceId":{"type":"string"},"level":{"description":"Indicates the error log level.\n","type":"string"},"nodeId":{"description":"Indicates the ID of the TaurusDB MySQL instance node.\n","type":"string"},"region":{"description":"The data source region.\n","type":"string"},"startTime":{"type":"string"}},"required":["endTime","errorLogLists","id","instanceId","nodeId","region","startTime"],"type":"object"}},"opentelekomcloud:index/getTaurusdbMysqlFlavorsV3:getTaurusdbMysqlFlavorsV3":{"description":"Use this data source to get available OpenTelekomCloud TaurusDB MySQL flavors.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst flavors = opentelekomcloud.getTaurusdbMysqlFlavorsV3({});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nflavors = opentelekomcloud.get_taurusdb_mysql_flavors_v3()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var flavors = Opentelekomcloud.GetTaurusdbMysqlFlavorsV3.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.GetTaurusdbMysqlFlavorsV3(ctx, \u0026opentelekomcloud.GetTaurusdbMysqlFlavorsV3Args{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetTaurusdbMysqlFlavorsV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var flavors = OpentelekomcloudFunctions.getTaurusdbMysqlFlavorsV3(GetTaurusdbMysqlFlavorsV3Args.builder()\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  flavors:\n    fn::invoke:\n      function: opentelekomcloud:getTaurusdbMysqlFlavorsV3\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getTaurusdbMysqlFlavorsV3.\n","properties":{"availabilityZoneMode":{"type":"string","description":"Specifies the availability zone mode. Currently supports **single** and **multi**. Defaults to **single**.\n"},"engine":{"type":"string","description":"Specifies the database engine. Only **gaussdb-mysql** is supported now.\n"},"id":{"type":"string","description":"The data source ID.\n"},"version":{"type":"string","description":"Specifies the database version. Only **8.0** is supported now.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getTaurusdbMysqlFlavorsV3.\n","properties":{"availabilityZoneMode":{"type":"string"},"engine":{"type":"string"},"flavors":{"description":"Indicates the flavors information.\nThe flavors structure is documented below.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetTaurusdbMysqlFlavorsV3Flavor:getTaurusdbMysqlFlavorsV3Flavor"},"type":"array"},"id":{"description":"The data source ID.\n","type":"string"},"region":{"description":"The region in which flavors are obtained.\n","type":"string"},"version":{"description":"Indicates the database version.\n","type":"string"}},"required":["flavors","id","region"],"type":"object"}},"opentelekomcloud:index/getTaurusdbMysqlInstanceV3:getTaurusdbMysqlInstanceV3":{"description":"Use this data source to get available OpenTelekomCloud TaurusDB MySQL instance.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst _this = opentelekomcloud.getTaurusdbMysqlInstanceV3({\n    name: \"taurusdb-instance\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nthis = opentelekomcloud.get_taurusdb_mysql_instance_v3(name=\"taurusdb-instance\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = Opentelekomcloud.GetTaurusdbMysqlInstanceV3.Invoke(new()\n    {\n        Name = \"taurusdb-instance\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.LookupTaurusdbMysqlInstanceV3(ctx, \u0026opentelekomcloud.LookupTaurusdbMysqlInstanceV3Args{\n\t\t\tName: pulumi.StringRef(\"taurusdb-instance\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetTaurusdbMysqlInstanceV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var this = OpentelekomcloudFunctions.getTaurusdbMysqlInstanceV3(GetTaurusdbMysqlInstanceV3Args.builder()\n            .name(\"taurusdb-instance\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  this:\n    fn::invoke:\n      function: opentelekomcloud:getTaurusdbMysqlInstanceV3\n      arguments:\n        name: taurusdb-instance\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getTaurusdbMysqlInstanceV3.\n","properties":{"id":{"type":"string","description":"Indicates the node ID.\n"},"name":{"type":"string","description":"Specifies the name of the instance.\n"},"region":{"type":"string","description":"Indicates the instance region.\n"},"subnetId":{"type":"string","description":"Specifies the network ID of a subnet.\n"},"vpcId":{"type":"string","description":"Specifies the VPC ID.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getTaurusdbMysqlInstanceV3.\n","properties":{"availabilityZoneMode":{"description":"Indicates the availability zone mode: **single** or **multi**.\n","type":"string"},"backupStrategies":{"description":"Indicates the advanced backup policy.\nThe\u003cspan pulumi-lang-nodejs=\" backupStrategy \" pulumi-lang-dotnet=\" BackupStrategy \" pulumi-lang-go=\" backupStrategy \" pulumi-lang-python=\" backup_strategy \" pulumi-lang-yaml=\" backupStrategy \" pulumi-lang-java=\" backupStrategy \"\u003e backup_strategy \u003c/span\u003estructure is documented below.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetTaurusdbMysqlInstanceV3BackupStrategy:getTaurusdbMysqlInstanceV3BackupStrategy"},"type":"array"},"configurationId":{"description":"Indicates the configuration ID.\n","type":"string"},"datastores":{"description":"Indicates the database information.\nThe datastore structure is documented below.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetTaurusdbMysqlInstanceV3Datastore:getTaurusdbMysqlInstanceV3Datastore"},"type":"array"},"dbUserName":{"description":"Indicates the default username.\n","type":"string"},"flavor":{"description":"Indicates the instance specifications.\n","type":"string"},"id":{"description":"Indicates the node ID.\n","type":"string"},"masterAvailabilityZone":{"description":"Indicates the availability zone where the master node resides.\n","type":"string"},"mode":{"description":"Indicates the instance mode.\n","type":"string"},"name":{"description":"Indicates the node name.\n","type":"string"},"nodes":{"description":"Indicates the instance nodes information.\nThe nodes structure is documented below.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetTaurusdbMysqlInstanceV3Node:getTaurusdbMysqlInstanceV3Node"},"type":"array"},"port":{"description":"Indicates the database port.\n","type":"number"},"privateWriteIp":{"description":"Indicates the private IP address of the DB instance.\n","type":"string"},"readReplicas":{"description":"Indicates the count of read replicas.\n","type":"number"},"region":{"description":"Indicates the instance region.\n","type":"string"},"securityGroupId":{"description":"Indicates the security group ID.\n","type":"string"},"status":{"description":"Indicates the node status.\n","type":"string"},"subnetId":{"type":"string"},"timeZone":{"description":"Indicates the time zone.\n","type":"string"},"vpcId":{"type":"string"}},"required":["availabilityZoneMode","backupStrategies","configurationId","datastores","dbUserName","flavor","id","masterAvailabilityZone","mode","name","nodes","port","privateWriteIp","readReplicas","region","securityGroupId","status","subnetId","timeZone","vpcId"],"type":"object"}},"opentelekomcloud:index/getTaurusdbMysqlProjectQuotasV3:getTaurusdbMysqlProjectQuotasV3":{"description":"Use this data source to get the project quotas of a specified tenant.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst test = opentelekomcloud.getTaurusdbMysqlProjectQuotasV3({});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ntest = opentelekomcloud.get_taurusdb_mysql_project_quotas_v3()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = Opentelekomcloud.GetTaurusdbMysqlProjectQuotasV3.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.GetTaurusdbMysqlProjectQuotasV3(ctx, \u0026opentelekomcloud.GetTaurusdbMysqlProjectQuotasV3Args{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetTaurusdbMysqlProjectQuotasV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var test = OpentelekomcloudFunctions.getTaurusdbMysqlProjectQuotasV3(GetTaurusdbMysqlProjectQuotasV3Args.builder()\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  test:\n    fn::invoke:\n      function: opentelekomcloud:getTaurusdbMysqlProjectQuotasV3\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getTaurusdbMysqlProjectQuotasV3.\n","properties":{"id":{"type":"string","description":"The data source ID.\n"},"type":{"type":"string","description":"Specifies the resource type used to filter quotas. Value options: **instance**.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getTaurusdbMysqlProjectQuotasV3.\n","properties":{"id":{"description":"The data source ID.\n","type":"string"},"quotas":{"description":"Indicates the tenant instance quota information.\nThe quotas structure is documented below.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetTaurusdbMysqlProjectQuotasV3Quota:getTaurusdbMysqlProjectQuotasV3Quota"},"type":"array"},"region":{"description":"The data source region.\n","type":"string"},"type":{"description":"Indicates the quota of the specified type.\n","type":"string"}},"required":["id","quotas","region"],"type":"object"}},"opentelekomcloud:index/getTaurusdbMysqlProxiesV3:getTaurusdbMysqlProxiesV3":{"description":"Use this data source to get the list of TaurusDB MySQL proxies.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst instanceId = config.requireObject\u003cany\u003e(\"instanceId\");\nconst test = opentelekomcloud.getTaurusdbMysqlProxiesV3({\n    instanceId: instanceId,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ninstance_id = config.require_object(\"instanceId\")\ntest = opentelekomcloud.get_taurusdb_mysql_proxies_v3(instance_id=instance_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var instanceId = config.RequireObject\u003cdynamic\u003e(\"instanceId\");\n    var test = Opentelekomcloud.GetTaurusdbMysqlProxiesV3.Invoke(new()\n    {\n        InstanceId = instanceId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tinstanceId := cfg.RequireObject(\"instanceId\")\n\t\t_, err := opentelekomcloud.GetTaurusdbMysqlProxiesV3(ctx, \u0026opentelekomcloud.GetTaurusdbMysqlProxiesV3Args{\n\t\t\tInstanceId: instanceId,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetTaurusdbMysqlProxiesV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var instanceId = config.get(\"instanceId\");\n        final var test = OpentelekomcloudFunctions.getTaurusdbMysqlProxiesV3(GetTaurusdbMysqlProxiesV3Args.builder()\n            .instanceId(instanceId)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  instanceId:\n    type: dynamic\nvariables:\n  test:\n    fn::invoke:\n      function: opentelekomcloud:getTaurusdbMysqlProxiesV3\n      arguments:\n        instanceId: ${instanceId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getTaurusdbMysqlProxiesV3.\n","properties":{"id":{"type":"string","description":"Indicates the node ID.\n"},"instanceId":{"type":"string","description":"Specifies the ID of the TaurusDB MySQL instance.\n"}},"type":"object","required":["instanceId"]},"outputs":{"description":"A collection of values returned by getTaurusdbMysqlProxiesV3.\n","properties":{"id":{"description":"Indicates the node ID.\n","type":"string"},"instanceId":{"type":"string"},"proxyLists":{"description":"Indicates the list of proxies.\nThe\u003cspan pulumi-lang-nodejs=\" proxyList \" pulumi-lang-dotnet=\" ProxyList \" pulumi-lang-go=\" proxyList \" pulumi-lang-python=\" proxy_list \" pulumi-lang-yaml=\" proxyList \" pulumi-lang-java=\" proxyList \"\u003e proxy_list \u003c/span\u003estructure is documented below.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetTaurusdbMysqlProxiesV3ProxyList:getTaurusdbMysqlProxiesV3ProxyList"},"type":"array"},"region":{"description":"The region in which to query the resource.\n","type":"string"}},"required":["id","instanceId","proxyLists","region"],"type":"object"}},"opentelekomcloud:index/getTaurusdbMysqlProxyFlavorsV3:getTaurusdbMysqlProxyFlavorsV3":{"description":"Use this data source to get the list of OpenTelekomCloud TaurusDB MySQL proxy flavors.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst instanceId = config.requireObject\u003cany\u003e(\"instanceId\");\nconst test = opentelekomcloud.getTaurusdbMysqlProxyFlavorsV3({\n    instanceId: instanceId,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ninstance_id = config.require_object(\"instanceId\")\ntest = opentelekomcloud.get_taurusdb_mysql_proxy_flavors_v3(instance_id=instance_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var instanceId = config.RequireObject\u003cdynamic\u003e(\"instanceId\");\n    var test = Opentelekomcloud.GetTaurusdbMysqlProxyFlavorsV3.Invoke(new()\n    {\n        InstanceId = instanceId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tinstanceId := cfg.RequireObject(\"instanceId\")\n\t\t_, err := opentelekomcloud.GetTaurusdbMysqlProxyFlavorsV3(ctx, \u0026opentelekomcloud.GetTaurusdbMysqlProxyFlavorsV3Args{\n\t\t\tInstanceId: instanceId,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetTaurusdbMysqlProxyFlavorsV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var instanceId = config.get(\"instanceId\");\n        final var test = OpentelekomcloudFunctions.getTaurusdbMysqlProxyFlavorsV3(GetTaurusdbMysqlProxyFlavorsV3Args.builder()\n            .instanceId(instanceId)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  instanceId:\n    type: dynamic\nvariables:\n  test:\n    fn::invoke:\n      function: opentelekomcloud:getTaurusdbMysqlProxyFlavorsV3\n      arguments:\n        instanceId: ${instanceId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getTaurusdbMysqlProxyFlavorsV3.\n","properties":{"id":{"type":"string","description":"Indicates the ID of the proxy flavor.\n"},"instanceId":{"type":"string","description":"Specifies the ID of TaurusDB MySQL Instance.\n"}},"type":"object","required":["instanceId"]},"outputs":{"description":"A collection of values returned by getTaurusdbMysqlProxyFlavorsV3.\n","properties":{"flavorGroups":{"description":"Indicates the list of flavor groups.\nThe\u003cspan pulumi-lang-nodejs=\" flavorGroups \" pulumi-lang-dotnet=\" FlavorGroups \" pulumi-lang-go=\" flavorGroups \" pulumi-lang-python=\" flavor_groups \" pulumi-lang-yaml=\" flavorGroups \" pulumi-lang-java=\" flavorGroups \"\u003e flavor_groups \u003c/span\u003estructure is documented below.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetTaurusdbMysqlProxyFlavorsV3FlavorGroup:getTaurusdbMysqlProxyFlavorsV3FlavorGroup"},"type":"array"},"id":{"description":"Indicates the ID of the proxy flavor.\n","type":"string"},"instanceId":{"type":"string"},"region":{"description":"The region in which proxy flavors are obtained.\n","type":"string"}},"required":["flavorGroups","id","instanceId","region"],"type":"object"}},"opentelekomcloud:index/getTaurusdbMysqlSlowLogsV3:getTaurusdbMysqlSlowLogsV3":{"description":"Use this data source to get the list of TaurusDB MySQL slow logs.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst instanceId = config.requireObject\u003cany\u003e(\"instanceId\");\nconst nodeId = config.requireObject\u003cany\u003e(\"nodeId\");\nconst startDate = config.requireObject\u003cany\u003e(\"startDate\");\nconst endDate = config.requireObject\u003cany\u003e(\"endDate\");\nconst test = opentelekomcloud.getTaurusdbMysqlSlowLogsV3({\n    instanceId: instanceId,\n    nodeId: nodeId,\n    startDate: startDate,\n    endDate: endDate,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\ninstance_id = config.require_object(\"instanceId\")\nnode_id = config.require_object(\"nodeId\")\nstart_date = config.require_object(\"startDate\")\nend_date = config.require_object(\"endDate\")\ntest = opentelekomcloud.get_taurusdb_mysql_slow_logs_v3(instance_id=instance_id,\n    node_id=node_id,\n    start_date=start_date,\n    end_date=end_date)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var instanceId = config.RequireObject\u003cdynamic\u003e(\"instanceId\");\n    var nodeId = config.RequireObject\u003cdynamic\u003e(\"nodeId\");\n    var startDate = config.RequireObject\u003cdynamic\u003e(\"startDate\");\n    var endDate = config.RequireObject\u003cdynamic\u003e(\"endDate\");\n    var test = Opentelekomcloud.GetTaurusdbMysqlSlowLogsV3.Invoke(new()\n    {\n        InstanceId = instanceId,\n        NodeId = nodeId,\n        StartDate = startDate,\n        EndDate = endDate,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tinstanceId := cfg.RequireObject(\"instanceId\")\n\t\tnodeId := cfg.RequireObject(\"nodeId\")\n\t\tstartDate := cfg.RequireObject(\"startDate\")\n\t\tendDate := cfg.RequireObject(\"endDate\")\n\t\t_, err := opentelekomcloud.GetTaurusdbMysqlSlowLogsV3(ctx, \u0026opentelekomcloud.GetTaurusdbMysqlSlowLogsV3Args{\n\t\t\tInstanceId: instanceId,\n\t\t\tNodeId:     nodeId,\n\t\t\tStartDate:  startDate,\n\t\t\tEndDate:    endDate,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetTaurusdbMysqlSlowLogsV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var instanceId = config.get(\"instanceId\");\n        final var nodeId = config.get(\"nodeId\");\n        final var startDate = config.get(\"startDate\");\n        final var endDate = config.get(\"endDate\");\n        final var test = OpentelekomcloudFunctions.getTaurusdbMysqlSlowLogsV3(GetTaurusdbMysqlSlowLogsV3Args.builder()\n            .instanceId(instanceId)\n            .nodeId(nodeId)\n            .startDate(startDate)\n            .endDate(endDate)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  instanceId:\n    type: dynamic\n  nodeId:\n    type: dynamic\n  startDate:\n    type: dynamic\n  endDate:\n    type: dynamic\nvariables:\n  test:\n    fn::invoke:\n      function: opentelekomcloud:getTaurusdbMysqlSlowLogsV3\n      arguments:\n        instanceId: ${instanceId}\n        nodeId: ${nodeId}\n        startDate: ${startDate}\n        endDate: ${endDate}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getTaurusdbMysqlSlowLogsV3.\n","properties":{"endDate":{"type":"string","description":"Specifies the end date in the **yyyy-mm-ddThh:mm:ssZ** format.\n"},"id":{"type":"string","description":"The data source ID.\n"},"instanceId":{"type":"string","description":"Specifies the ID of the TaurusDB MySQL instance.\n"},"nodeId":{"type":"string","description":"Specifies the ID of the TaurusDB MySQL instance node.\n"},"startDate":{"type":"string","description":"Specifies the start date in the **yyyy-mm-ddThh:mm:ssZ** format.\n"},"type":{"type":"string","description":"Specifies the SQL statement type.\n"}},"type":"object","required":["endDate","instanceId","nodeId","startDate"]},"outputs":{"description":"A collection of values returned by getTaurusdbMysqlSlowLogsV3.\n","properties":{"endDate":{"type":"string"},"id":{"description":"The data source ID.\n","type":"string"},"instanceId":{"type":"string"},"nodeId":{"description":"Indicates the ID of the TaurusDB MySQL instance node.\n","type":"string"},"region":{"description":"The data source region.\n","type":"string"},"slowLogLists":{"description":"Indicates the list of the slow logs.\nThe\u003cspan pulumi-lang-nodejs=\" slowLogList \" pulumi-lang-dotnet=\" SlowLogList \" pulumi-lang-go=\" slowLogList \" pulumi-lang-python=\" slow_log_list \" pulumi-lang-yaml=\" slowLogList \" pulumi-lang-java=\" slowLogList \"\u003e slow_log_list \u003c/span\u003estructure is documented below.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetTaurusdbMysqlSlowLogsV3SlowLogList:getTaurusdbMysqlSlowLogsV3SlowLogList"},"type":"array"},"startDate":{"type":"string"},"type":{"description":"Indicates the statement type.\n","type":"string"}},"required":["endDate","id","instanceId","nodeId","region","slowLogLists","startDate"],"type":"object"}},"opentelekomcloud:index/getTmsQuotasV1:getTmsQuotasV1":{"description":"Up-to-date reference of API arguments for TMS quotas you can get at\n[documentation portal](https://docs.otc.t-systems.com/tag-management-service/api-ref/api_description/quotas/index.html)\n\nUse this data source to get the list of tag quotas within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst test = opentelekomcloud.getTmsQuotasV1({});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ntest = opentelekomcloud.get_tms_quotas_v1()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = Opentelekomcloud.GetTmsQuotasV1.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.GetTmsQuotasV1(ctx, \u0026opentelekomcloud.GetTmsQuotasV1Args{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetTmsQuotasV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var test = OpentelekomcloudFunctions.getTmsQuotasV1(GetTmsQuotasV1Args.builder()\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  test:\n    fn::invoke:\n      function: opentelekomcloud:getTmsQuotasV1\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getTmsQuotasV1.\n","properties":{"id":{"type":"string","description":"The data source ID.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getTmsQuotasV1.\n","properties":{"id":{"description":"The data source ID.\n","type":"string"},"quotas":{"description":"Indicates the list of quotas. The structure is documented below.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetTmsQuotasV1Quota:getTmsQuotasV1Quota"},"type":"array"}},"required":["id","quotas"],"type":"object"}},"opentelekomcloud:index/getTmsResourceInstancesV1:getTmsResourceInstancesV1":{"description":"Up-to-date reference of API arguments for TMS resource instances you can get at\n[documentation portal](https://docs.otc.t-systems.com/tag-management-service/api-ref/api_description/resource_tags/querying_resources_by_tag.html)\n\nUse this data source to get the list of resource instances filtered by tag within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst projectId = config.requireObject\u003cany\u003e(\"projectId\");\nconst tagsDs1 = opentelekomcloud.getTmsResourceInstancesV1({\n    resourceTypes: [\n        \"disk\",\n        \"ecs\",\n    ],\n    tags: [{\n        key: \"test\",\n        values: [\"test-tf-acc\"],\n    }],\n    projectId: projectId,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nproject_id = config.require_object(\"projectId\")\ntags_ds1 = opentelekomcloud.get_tms_resource_instances_v1(resource_types=[\n        \"disk\",\n        \"ecs\",\n    ],\n    tags=[{\n        \"key\": \"test\",\n        \"values\": [\"test-tf-acc\"],\n    }],\n    project_id=project_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var projectId = config.RequireObject\u003cdynamic\u003e(\"projectId\");\n    var tagsDs1 = Opentelekomcloud.GetTmsResourceInstancesV1.Invoke(new()\n    {\n        ResourceTypes = new[]\n        {\n            \"disk\",\n            \"ecs\",\n        },\n        Tags = new[]\n        {\n            new Opentelekomcloud.Inputs.GetTmsResourceInstancesV1TagInputArgs\n            {\n                Key = \"test\",\n                Values = new[]\n                {\n                    \"test-tf-acc\",\n                },\n            },\n        },\n        ProjectId = projectId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tprojectId := cfg.RequireObject(\"projectId\")\n\t\t_, err := opentelekomcloud.GetTmsResourceInstancesV1(ctx, \u0026opentelekomcloud.GetTmsResourceInstancesV1Args{\n\t\t\tResourceTypes: []string{\n\t\t\t\t\"disk\",\n\t\t\t\t\"ecs\",\n\t\t\t},\n\t\t\tTags: []opentelekomcloud.GetTmsResourceInstancesV1Tag{\n\t\t\t\t{\n\t\t\t\t\tKey: \"test\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"test-tf-acc\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tProjectId: pulumi.StringRef(projectId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetTmsResourceInstancesV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var projectId = config.get(\"projectId\");\n        final var tagsDs1 = OpentelekomcloudFunctions.getTmsResourceInstancesV1(GetTmsResourceInstancesV1Args.builder()\n            .resourceTypes(            \n                \"disk\",\n                \"ecs\")\n            .tags(GetTmsResourceInstancesV1TagArgs.builder()\n                .key(\"test\")\n                .values(\"test-tf-acc\")\n                .build())\n            .projectId(projectId)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  projectId:\n    type: dynamic\nvariables:\n  tagsDs1:\n    fn::invoke:\n      function: opentelekomcloud:getTmsResourceInstancesV1\n      arguments:\n        resourceTypes:\n          - disk\n          - ecs\n        tags:\n          - key: test\n            values:\n              - test-tf-acc\n        projectId: ${projectId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getTmsResourceInstancesV1.\n","properties":{"id":{"type":"string","description":"The data source ID.\n"},"projectId":{"type":"string","description":"Specifies the Project ID. This parameter is mandatory when\u003cspan pulumi-lang-nodejs=\" resourceType \" pulumi-lang-dotnet=\" ResourceType \" pulumi-lang-go=\" resourceType \" pulumi-lang-python=\" resource_type \" pulumi-lang-yaml=\" resourceType \" pulumi-lang-java=\" resourceType \"\u003e resource_type \u003c/span\u003eis a region-specific service.\n"},"resourceTypes":{"type":"array","items":{"type":"string"},"description":"Specifies the resource type. This parameter is case-sensitive. Supported resource types can be provided as ecs,scaling_group, images, disk,vpcs,security-groups, shared_bandwidth,eip, cdn.\n"},"tags":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FgetTmsResourceInstancesV1Tag:getTmsResourceInstancesV1Tag"},"description":"Specifies the list of tags. The structure is documented below.\n"},"withoutAnyTag":{"type":"boolean","description":"Specifies whether to query only untagged resources. If this parameter is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, only untagged resources are queried.\n"}},"type":"object","required":["resourceTypes","tags"]},"outputs":{"description":"A collection of values returned by getTmsResourceInstancesV1.\n","properties":{"id":{"description":"The data source ID.\n","type":"string"},"projectId":{"description":"Indicates the project ID.\n","type":"string"},"resourceTypes":{"items":{"type":"string"},"type":"array"},"resources":{"description":"Indicates the list of resources. The structure is documented below.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetTmsResourceInstancesV1Resource:getTmsResourceInstancesV1Resource"},"type":"array"},"tags":{"description":"Indicates the resource tags.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetTmsResourceInstancesV1Tag:getTmsResourceInstancesV1Tag"},"type":"array"},"withoutAnyTag":{"type":"boolean"}},"required":["id","resourceTypes","resources","tags"],"type":"object"}},"opentelekomcloud:index/getTmsResourceTagKeysV1:getTmsResourceTagKeysV1":{"description":"Use this data source to get the list of tag keys.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst test = opentelekomcloud.getTmsResourceTagKeysV1({});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ntest = opentelekomcloud.get_tms_resource_tag_keys_v1()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = Opentelekomcloud.GetTmsResourceTagKeysV1.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.GetTmsResourceTagKeysV1(ctx, \u0026opentelekomcloud.GetTmsResourceTagKeysV1Args{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetTmsResourceTagKeysV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var test = OpentelekomcloudFunctions.getTmsResourceTagKeysV1(GetTmsResourceTagKeysV1Args.builder()\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  test:\n    fn::invoke:\n      function: opentelekomcloud:getTmsResourceTagKeysV1\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getTmsResourceTagKeysV1.\n","properties":{"id":{"type":"string","description":"The data source ID.\n"},"regionId":{"type":"string","description":"Specifies the region ID.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getTmsResourceTagKeysV1.\n","properties":{"id":{"description":"The data source ID.\n","type":"string"},"keys":{"description":"Indicates the tag keys.\n","items":{"type":"string"},"type":"array"},"regionId":{"type":"string"}},"required":["id","keys"],"type":"object"}},"opentelekomcloud:index/getTmsResourceTagValuesV1:getTmsResourceTagValuesV1":{"description":"Use this data source to get the list of tag values by tag key.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst test = opentelekomcloud.getTmsResourceTagValuesV1({\n    key: \"tag_key\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ntest = opentelekomcloud.get_tms_resource_tag_values_v1(key=\"tag_key\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = Opentelekomcloud.GetTmsResourceTagValuesV1.Invoke(new()\n    {\n        Key = \"tag_key\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.GetTmsResourceTagValuesV1(ctx, \u0026opentelekomcloud.GetTmsResourceTagValuesV1Args{\n\t\t\tKey: \"tag_key\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetTmsResourceTagValuesV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var test = OpentelekomcloudFunctions.getTmsResourceTagValuesV1(GetTmsResourceTagValuesV1Args.builder()\n            .key(\"tag_key\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  test:\n    fn::invoke:\n      function: opentelekomcloud:getTmsResourceTagValuesV1\n      arguments:\n        key: tag_key\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getTmsResourceTagValuesV1.\n","properties":{"id":{"type":"string","description":"The data source ID.\n"},"key":{"type":"string","description":"Specifies the tag key.\n"},"regionId":{"type":"string","description":"Specifies the region ID.\n"}},"type":"object","required":["key"]},"outputs":{"description":"A collection of values returned by getTmsResourceTagValuesV1.\n","properties":{"id":{"description":"The data source ID.\n","type":"string"},"key":{"type":"string"},"regionId":{"type":"string"},"values":{"description":"Indicates the tag values.\n","items":{"type":"string"},"type":"array"}},"required":["id","key","values"],"type":"object"}},"opentelekomcloud:index/getTmsResourceTypesV1:getTmsResourceTypesV1":{"description":"Using this data source to query supported resource types information that used to manage resource tags within\nOpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst supportedRegion = config.requireObject\u003cany\u003e(\"supportedRegion\");\nconst test = opentelekomcloud.getTmsResourceTypesV1({\n    region: supportedRegion,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nsupported_region = config.require_object(\"supportedRegion\")\ntest = opentelekomcloud.get_tms_resource_types_v1(region=supported_region)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var supportedRegion = config.RequireObject\u003cdynamic\u003e(\"supportedRegion\");\n    var test = Opentelekomcloud.GetTmsResourceTypesV1.Invoke(new()\n    {\n        Region = supportedRegion,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tsupportedRegion := cfg.RequireObject(\"supportedRegion\")\n\t\t_, err := opentelekomcloud.GetTmsResourceTypesV1(ctx, \u0026opentelekomcloud.GetTmsResourceTypesV1Args{\n\t\t\tRegion: pulumi.StringRef(supportedRegion),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetTmsResourceTypesV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var supportedRegion = config.get(\"supportedRegion\");\n        final var test = OpentelekomcloudFunctions.getTmsResourceTypesV1(GetTmsResourceTypesV1Args.builder()\n            .region(supportedRegion)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  supportedRegion:\n    type: dynamic\nvariables:\n  test:\n    fn::invoke:\n      function: opentelekomcloud:getTmsResourceTypesV1\n      arguments:\n        region: ${supportedRegion}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getTmsResourceTypesV1.\n","properties":{"id":{"type":"string","description":"The data source ID.\n"},"region":{"type":"string","description":"Specifies the region name used to filter resource types information\n"},"serviceName":{"type":"string","description":"Specifies the service name used to filter resource types information.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getTmsResourceTypesV1.\n","properties":{"id":{"description":"The data source ID.\n","type":"string"},"region":{"type":"string"},"serviceName":{"description":"The name of the service to which the resource type belong.\n","type":"string"},"types":{"description":"All resource types that match the filter parameters.\nThe types structure is documented below.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetTmsResourceTypesV1Type:getTmsResourceTypesV1Type"},"type":"array"}},"required":["id","types"],"type":"object"}},"opentelekomcloud:index/getTmsTagsV1:getTmsTagsV1":{"description":"Use this data source to get the list of predefined tags within OpenTelekomCloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst test = opentelekomcloud.getTmsTagsV1({});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ntest = opentelekomcloud.get_tms_tags_v1()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = Opentelekomcloud.GetTmsTagsV1.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.LookupTmsTagsV1(ctx, \u0026opentelekomcloud.LookupTmsTagsV1Args{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetTmsTagsV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var test = OpentelekomcloudFunctions.getTmsTagsV1(GetTmsTagsV1Args.builder()\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  test:\n    fn::invoke:\n      function: opentelekomcloud:getTmsTagsV1\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getTmsTagsV1.\n","properties":{"id":{"type":"string","description":"The data source ID.\n"},"key":{"type":"string","description":"Specifies the tag key. Fuzzy search is supported. Key is case-insensitive.\n"},"value":{"type":"string","description":"Specifies the tag value. Fuzzy search is supported. Value is case-insensitive.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getTmsTagsV1.\n","properties":{"id":{"description":"The data source ID.\n","type":"string"},"key":{"description":"Indicates the key of the tag.\n","type":"string"},"tags":{"description":"Indicates the list of tags.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetTmsTagsV1Tag:getTmsTagsV1Tag"},"type":"array"},"value":{"description":"Indicates the value of the tag.\n","type":"string"}},"required":["id","tags"],"type":"object"}},"opentelekomcloud:index/getVbsBackupPolicyV2:getVbsBackupPolicyV2":{"description":"Up-to-date reference of API arguments for VBS backup policy you can get at\n[documentation portal](https://docs.otc.t-systems.com/volume-backup-service/api-ref/api_description/backup_policies/querying_backup_policies.html#en-us-topic-0043410558)\n\nUse this data source to get details about a specific VBS backup policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst policyName = config.requireObject\u003cany\u003e(\"policyName\");\nconst policyId = config.requireObject\u003cany\u003e(\"policyId\");\nconst policies = opentelekomcloud.getVbsBackupPolicyV2({\n    name: policyName,\n    id: policyId,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\npolicy_name = config.require_object(\"policyName\")\npolicy_id = config.require_object(\"policyId\")\npolicies = opentelekomcloud.get_vbs_backup_policy_v2(name=policy_name,\n    id=policy_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var policyName = config.RequireObject\u003cdynamic\u003e(\"policyName\");\n    var policyId = config.RequireObject\u003cdynamic\u003e(\"policyId\");\n    var policies = Opentelekomcloud.GetVbsBackupPolicyV2.Invoke(new()\n    {\n        Name = policyName,\n        Id = policyId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tpolicyName := cfg.RequireObject(\"policyName\")\n\t\tpolicyId := cfg.RequireObject(\"policyId\")\n\t\t_, err := opentelekomcloud.LookupVbsBackupPolicyV2(ctx, \u0026opentelekomcloud.LookupVbsBackupPolicyV2Args{\n\t\t\tName: pulumi.StringRef(policyName),\n\t\t\tId:   pulumi.StringRef(policyId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetVbsBackupPolicyV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var policyName = config.get(\"policyName\");\n        final var policyId = config.get(\"policyId\");\n        final var policies = OpentelekomcloudFunctions.getVbsBackupPolicyV2(GetVbsBackupPolicyV2Args.builder()\n            .name(policyName)\n            .id(policyId)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  policyName:\n    type: dynamic\n  policyId:\n    type: dynamic\nvariables:\n  policies:\n    fn::invoke:\n      function: opentelekomcloud:getVbsBackupPolicyV2\n      arguments:\n        name: ${policyName}\n        id: ${policyId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getVbsBackupPolicyV2.\n","properties":{"filterTags":{"type":"array","items":{"$ref":"#/types/opentelekomcloud:index%2FgetVbsBackupPolicyV2FilterTag:getVbsBackupPolicyV2FilterTag"},"description":"Represents the list of tags. Backup policy with these tags will be filtered.\n"},"id":{"type":"string","description":"The ID of the specific VBS backup policy to retrieve.\n"},"name":{"type":"string","description":"The name of the specific VBS backup policy to retrieve.\n"},"policyResourceCount":{"type":"number","description":"Specifies the number of volumes associated with the backup policy.\n"},"region":{"type":"string"},"status":{"type":"string","description":"The status of the specific VBS backup policy to retrieve. The values can be ON or OFF.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getVbsBackupPolicyV2.\n","properties":{"filterTags":{"items":{"$ref":"#/types/opentelekomcloud:index%2FgetVbsBackupPolicyV2FilterTag:getVbsBackupPolicyV2FilterTag"},"type":"array"},"frequency":{"description":"Specifies the backup interval. The value is in the range of 1 to 14 days.\n","type":"number"},"id":{"description":"See Argument Reference above.\n","type":"string"},"name":{"description":"See Argument Reference above.\n","type":"string"},"policyResourceCount":{"description":"Specifies the number of volumes associated with the backup policy.\n","type":"number"},"region":{"type":"string"},"remainFirstBackup":{"type":"string"},"rententionNum":{"description":"Specifies number of retained backups.\n","type":"number"},"startTime":{"description":"Specifies the start time of the backup job.The value is in the HH:mm format.\n","type":"string"},"status":{"description":"See Argument Reference above.\n","type":"string"},"tags":{"items":{"$ref":"#/types/opentelekomcloud:index%2FgetVbsBackupPolicyV2Tag:getVbsBackupPolicyV2Tag"},"type":"array"}},"required":["frequency","region","remainFirstBackup","rententionNum","startTime","tags"],"type":"object"}},"opentelekomcloud:index/getVbsBackupV2:getVbsBackupV2":{"description":"Up-to-date reference of API arguments for VBS backup you can get at\n[documentation portal](https://docs.otc.t-systems.com/volume-backup-service/api-ref/api_description/vbs_backups/querying_details_about_vbs_backups_native_openstack_api.html#en-us-topic-0020237259)\n\nUse this data source to get details about a specific VBS Backup.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst backupId = config.requireObject\u003cany\u003e(\"backupId\");\nconst mybackup = opentelekomcloud.getVbsBackupV2({\n    id: backupId,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nbackup_id = config.require_object(\"backupId\")\nmybackup = opentelekomcloud.get_vbs_backup_v2(id=backup_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var backupId = config.RequireObject\u003cdynamic\u003e(\"backupId\");\n    var mybackup = Opentelekomcloud.GetVbsBackupV2.Invoke(new()\n    {\n        Id = backupId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tbackupId := cfg.RequireObject(\"backupId\")\n\t\t_, err := opentelekomcloud.LookupVbsBackupV2(ctx, \u0026opentelekomcloud.LookupVbsBackupV2Args{\n\t\t\tId: pulumi.StringRef(backupId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetVbsBackupV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var backupId = config.get(\"backupId\");\n        final var mybackup = OpentelekomcloudFunctions.getVbsBackupV2(GetVbsBackupV2Args.builder()\n            .id(backupId)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  backupId:\n    type: dynamic\nvariables:\n  mybackup:\n    fn::invoke:\n      function: opentelekomcloud:getVbsBackupV2\n      arguments:\n        id: ${backupId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getVbsBackupV2.\n","properties":{"id":{"type":"string","description":"The id of the vbs backup.\n"},"name":{"type":"string","description":"The name of the vbs backup.\n"},"region":{"type":"string"},"snapshotId":{"type":"string","description":"ID of the snapshot associated with the backup.\n"},"status":{"type":"string","description":"The status of the VBS backup.\n"},"volumeId":{"type":"string","description":"The source volume ID of the backup.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getVbsBackupV2.\n","properties":{"availabilityZone":{"description":"The AZ where the backup resides.\n","type":"string"},"container":{"description":"The container of the backup.\n","type":"string"},"description":{"description":"The description of the vbs backup.\n","type":"string"},"id":{"type":"string"},"name":{"type":"string"},"region":{"type":"string"},"serviceMetadata":{"description":"The metadata of the vbs backup.\n","type":"string"},"shareIds":{"description":"The backup share IDs.\n","items":{"type":"string"},"type":"array"},"size":{"description":"The size of the vbs backup.\n","type":"number"},"snapshotId":{"type":"string"},"status":{"type":"string"},"toProjectIds":{"description":"IDs of projects with which the backup is shared.\n","items":{"type":"string"},"type":"array"},"volumeId":{"type":"string"}},"required":["availabilityZone","container","description","region","serviceMetadata","shareIds","size","toProjectIds"],"type":"object"}},"opentelekomcloud:index/getVpcBandwidth:getVpcBandwidth":{"description":"Up-to-date reference of API arguments for VPC shared bandwidth you can get at\n[documentation portal](https://docs.otc.t-systems.com/virtual-private-cloud/api-ref/apis/bandwidth/querying_bandwidths.html#vpc-bandwidth-0002)\n\nProvides details about a specific shared bandwidth.\n\n~\u003e\nDeprecated, use \u003cspan pulumi-lang-nodejs=\"`opentelekomcloud.VpcBandwidthV2`\" pulumi-lang-dotnet=\"`opentelekomcloud.VpcBandwidthV2`\" pulumi-lang-go=\"`VpcBandwidthV2`\" pulumi-lang-python=\"`VpcBandwidthV2`\" pulumi-lang-yaml=\"`opentelekomcloud.VpcBandwidthV2`\" pulumi-lang-java=\"`opentelekomcloud.VpcBandwidthV2`\"\u003e`opentelekomcloud.VpcBandwidthV2`\u003c/span\u003e data source instead\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst bandwidthName = config.requireObject\u003cany\u003e(\"bandwidthName\");\nconst bandwidth1 = opentelekomcloud.getVpcBandwidth({\n    name: bandwidthName,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nbandwidth_name = config.require_object(\"bandwidthName\")\nbandwidth1 = opentelekomcloud.get_vpc_bandwidth(name=bandwidth_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var bandwidthName = config.RequireObject\u003cdynamic\u003e(\"bandwidthName\");\n    var bandwidth1 = Opentelekomcloud.GetVpcBandwidth.Invoke(new()\n    {\n        Name = bandwidthName,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tbandwidthName := cfg.RequireObject(\"bandwidthName\")\n\t\t_, err := opentelekomcloud.GetVpcBandwidth(ctx, \u0026opentelekomcloud.GetVpcBandwidthArgs{\n\t\t\tName: bandwidthName,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetVpcBandwidthArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var bandwidthName = config.get(\"bandwidthName\");\n        final var bandwidth1 = OpentelekomcloudFunctions.getVpcBandwidth(GetVpcBandwidthArgs.builder()\n            .name(bandwidthName)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  bandwidthName:\n    type: dynamic\nvariables:\n  bandwidth1:\n    fn::invoke:\n      function: opentelekomcloud:getVpcBandwidth\n      arguments:\n        name: ${bandwidthName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getVpcBandwidth.\n","properties":{"enterpriseProjectId":{"type":"string"},"id":{"type":"string","description":"ID of the Shared Bandwidth.\n"},"name":{"type":"string","description":"The name of the Shared Bandwidth to retrieve.\n"},"region":{"type":"string","description":"The region in which to obtain the bandwidth. If omitted, the provider-level region will be used.\n"},"size":{"type":"number","description":"The size of the Shared Bandwidth to retrieve. The value ranges from 5 Mbit/s to 2000 Mbit/s.\n"}},"type":"object","required":["name"]},"outputs":{"description":"A collection of values returned by getVpcBandwidth.\n","properties":{"bandwidthType":{"description":"Indicates the bandwidth type.\n","type":"string"},"chargeMode":{"description":"Specifies that the bandwidth is billed by bandwidth. The value can be traffic.\n","type":"string"},"enterpriseProjectId":{"type":"string"},"id":{"description":"ID of the Shared Bandwidth.\n","type":"string"},"name":{"description":"See Argument Reference above.\n","type":"string"},"region":{"type":"string"},"shareType":{"description":"Indicates whether the bandwidth is a shared or dedicated one.\n","type":"string"},"size":{"description":"See Argument Reference above.\n","type":"number"},"status":{"description":"Indicates the bandwidth status.\n","type":"string"}},"required":["bandwidthType","chargeMode","id","name","region","shareType","status"],"type":"object"}},"opentelekomcloud:index/getVpcBandwidthV2:getVpcBandwidthV2":{"description":"Provides details about a specific shared bandwidth.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst bandwidthName = config.requireObject\u003cany\u003e(\"bandwidthName\");\nconst bandwidth1 = opentelekomcloud.getVpcBandwidthV2({\n    name: bandwidthName,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nbandwidth_name = config.require_object(\"bandwidthName\")\nbandwidth1 = opentelekomcloud.get_vpc_bandwidth_v2(name=bandwidth_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var bandwidthName = config.RequireObject\u003cdynamic\u003e(\"bandwidthName\");\n    var bandwidth1 = Opentelekomcloud.GetVpcBandwidthV2.Invoke(new()\n    {\n        Name = bandwidthName,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tbandwidthName := cfg.RequireObject(\"bandwidthName\")\n\t\t_, err := opentelekomcloud.LookupVpcBandwidthV2(ctx, \u0026opentelekomcloud.LookupVpcBandwidthV2Args{\n\t\t\tName: pulumi.StringRef(bandwidthName),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetVpcBandwidthV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var bandwidthName = config.get(\"bandwidthName\");\n        final var bandwidth1 = OpentelekomcloudFunctions.getVpcBandwidthV2(GetVpcBandwidthV2Args.builder()\n            .name(bandwidthName)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  bandwidthName:\n    type: dynamic\nvariables:\n  bandwidth1:\n    fn::invoke:\n      function: opentelekomcloud:getVpcBandwidthV2\n      arguments:\n        name: ${bandwidthName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getVpcBandwidthV2.\n","properties":{"id":{"type":"string","description":"ID of the Shared Bandwidth.\n"},"name":{"type":"string","description":"The name of the Shared Bandwidth to retrieve.\n"},"size":{"type":"number","description":"The size of the Shared Bandwidth to retrieve.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getVpcBandwidthV2.\n","properties":{"bandwidthType":{"description":"Indicates the bandwidth type.\n","type":"string"},"chargeMode":{"description":"Specifies that the bandwidth is billed by bandwidth. The value can be traffic.\n","type":"string"},"id":{"description":"ID of the Shared Bandwidth.\n","type":"string"},"name":{"description":"See Argument Reference above.\n","type":"string"},"shareType":{"description":"Indicates whether the bandwidth is a shared or dedicated one.\n","type":"string"},"size":{"description":"See Argument Reference above.\n","type":"number"},"status":{"description":"Indicates the bandwidth status.\n","type":"string"}},"required":["bandwidthType","chargeMode","id","name","shareType","size","status"],"type":"object"}},"opentelekomcloud:index/getVpcEipV1:getVpcEipV1":{"description":"Up-to-date reference of API arguments for VPC EIP you can get at\n[documentation portal](https://docs.otc.t-systems.com/virtual-private-cloud/api-ref/apis/eip/querying_eips.html#vpc-eip-0003)\n\nUse this data source to get details about a specific VPC elastic IP.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst eipV1 = opentelekomcloud.getVpcEipV1({\n    id: elasticIp,\n});\nexport const eipVpcId = eipV1.then(eipV1 =\u003e eipV1.id);\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\neip_v1 = opentelekomcloud.get_vpc_eip_v1(id=elastic_ip)\npulumi.export(\"eipVpcId\", eip_v1.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var eipV1 = Opentelekomcloud.GetVpcEipV1.Invoke(new()\n    {\n        Id = elasticIp,\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"eipVpcId\"] = eipV1.Apply(getVpcEipV1Result =\u003e getVpcEipV1Result.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\teipV1, err := opentelekomcloud.LookupVpcEipV1(ctx, \u0026opentelekomcloud.LookupVpcEipV1Args{\n\t\t\tId: pulumi.StringRef(elasticIp),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"eipVpcId\", eipV1.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetVpcEipV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var eipV1 = OpentelekomcloudFunctions.getVpcEipV1(GetVpcEipV1Args.builder()\n            .id(elasticIp)\n            .build());\n\n        ctx.export(\"eipVpcId\", eipV1.id());\n    }\n}\n```\n```yaml\nvariables:\n  eipV1:\n    fn::invoke:\n      function: opentelekomcloud:getVpcEipV1\n      arguments:\n        id: ${elasticIp}\noutputs:\n  eipVpcId: ${eipV1.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Search by name regex\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst eip = new opentelekomcloud.VpcEipV1(\"eip\", {\n    publicip: {\n        type: \"5_bgp\",\n        name: \"my_eip\",\n    },\n    bandwidth: {\n        name: \"acc-band\",\n        size: 8,\n        shareType: \"PER\",\n        chargeMode: \"traffic\",\n    },\n});\nconst byRegex = opentelekomcloud.getVpcEipV1({\n    nameRegex: \"^my_.+\",\n});\nexport const eipVpcId = byRegex.then(byRegex =\u003e byRegex.name);\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\neip = opentelekomcloud.VpcEipV1(\"eip\",\n    publicip={\n        \"type\": \"5_bgp\",\n        \"name\": \"my_eip\",\n    },\n    bandwidth={\n        \"name\": \"acc-band\",\n        \"size\": 8,\n        \"share_type\": \"PER\",\n        \"charge_mode\": \"traffic\",\n    })\nby_regex = opentelekomcloud.get_vpc_eip_v1(name_regex=\"^my_.+\")\npulumi.export(\"eipVpcId\", by_regex.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var eip = new Opentelekomcloud.VpcEipV1(\"eip\", new()\n    {\n        Publicip = new Opentelekomcloud.Inputs.VpcEipV1PublicipArgs\n        {\n            Type = \"5_bgp\",\n            Name = \"my_eip\",\n        },\n        Bandwidth = new Opentelekomcloud.Inputs.VpcEipV1BandwidthArgs\n        {\n            Name = \"acc-band\",\n            Size = 8,\n            ShareType = \"PER\",\n            ChargeMode = \"traffic\",\n        },\n    });\n\n    var byRegex = Opentelekomcloud.GetVpcEipV1.Invoke(new()\n    {\n        NameRegex = \"^my_.+\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"eipVpcId\"] = byRegex.Apply(getVpcEipV1Result =\u003e getVpcEipV1Result.Name),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.NewVpcEipV1(ctx, \"eip\", \u0026opentelekomcloud.VpcEipV1Args{\n\t\t\tPublicip: \u0026opentelekomcloud.VpcEipV1PublicipArgs{\n\t\t\t\tType: pulumi.String(\"5_bgp\"),\n\t\t\t\tName: pulumi.String(\"my_eip\"),\n\t\t\t},\n\t\t\tBandwidth: \u0026opentelekomcloud.VpcEipV1BandwidthArgs{\n\t\t\t\tName:       pulumi.String(\"acc-band\"),\n\t\t\t\tSize:       pulumi.Float64(8),\n\t\t\t\tShareType:  pulumi.String(\"PER\"),\n\t\t\t\tChargeMode: pulumi.String(\"traffic\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbyRegex, err := opentelekomcloud.LookupVpcEipV1(ctx, \u0026opentelekomcloud.LookupVpcEipV1Args{\n\t\t\tNameRegex: pulumi.StringRef(\"^my_.+\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"eipVpcId\", byRegex.Name)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.VpcEipV1;\nimport com.pulumi.opentelekomcloud.VpcEipV1Args;\nimport com.pulumi.opentelekomcloud.inputs.VpcEipV1PublicipArgs;\nimport com.pulumi.opentelekomcloud.inputs.VpcEipV1BandwidthArgs;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetVpcEipV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var eip = new VpcEipV1(\"eip\", VpcEipV1Args.builder()\n            .publicip(VpcEipV1PublicipArgs.builder()\n                .type(\"5_bgp\")\n                .name(\"my_eip\")\n                .build())\n            .bandwidth(VpcEipV1BandwidthArgs.builder()\n                .name(\"acc-band\")\n                .size(8.0)\n                .shareType(\"PER\")\n                .chargeMode(\"traffic\")\n                .build())\n            .build());\n\n        final var byRegex = OpentelekomcloudFunctions.getVpcEipV1(GetVpcEipV1Args.builder()\n            .nameRegex(\"^my_.+\")\n            .build());\n\n        ctx.export(\"eipVpcId\", byRegex.name());\n    }\n}\n```\n```yaml\nresources:\n  eip:\n    type: opentelekomcloud:VpcEipV1\n    properties:\n      publicip:\n        type: 5_bgp\n        name: my_eip\n      bandwidth:\n        name: acc-band\n        size: 8\n        shareType: PER\n        chargeMode: traffic\nvariables:\n  byRegex:\n    fn::invoke:\n      function: opentelekomcloud:getVpcEipV1\n      arguments:\n        nameRegex: ^my_.+\noutputs:\n  eipVpcId: ${byRegex.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getVpcEipV1.\n","properties":{"bandwidthId":{"type":"string","description":"The bandwidth ID of specific elastic IP.\n"},"id":{"type":"string","description":"Specifies a resource ID in UUID format.\n"},"nameRegex":{"type":"string","description":"A regex string to apply to the eip list. This allows more advanced filtering.\n"},"portId":{"type":"string","description":"The port ID.\n\n\u003e \u003cspan pulumi-lang-nodejs=\"`privateIpAddress`\" pulumi-lang-dotnet=\"`PrivateIpAddress`\" pulumi-lang-go=\"`privateIpAddress`\" pulumi-lang-python=\"`private_ip_address`\" pulumi-lang-yaml=\"`privateIpAddress`\" pulumi-lang-java=\"`privateIpAddress`\"\u003e`private_ip_address`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`portId`\" pulumi-lang-dotnet=\"`PortId`\" pulumi-lang-go=\"`portId`\" pulumi-lang-python=\"`port_id`\" pulumi-lang-yaml=\"`portId`\" pulumi-lang-java=\"`portId`\"\u003e`port_id`\u003c/span\u003e are returned only when a port/private IP address is\nassociated with the elastic IP.\n"},"privateIpAddress":{"type":"string","description":"The private IP address bound to the elastic IP.\n"},"publicIpAddress":{"type":"string","description":"The public IP address of the elastic IP.\n"},"region":{"type":"string"},"status":{"type":"string","description":"The status of the specific elastic IP to retrieve.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags key/value pairs to filter the elastic IPs.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getVpcEipV1.\n","properties":{"bandwidthId":{"type":"string"},"bandwidthShareType":{"description":"Specifies the EIP bandwidth type.\n","type":"string"},"bandwidthSize":{"description":"Specifies the bandwidth (Mbit/s).\n","type":"number"},"createTime":{"description":"Specifies the time (UTC) when the elastic IP is assigned.\n","type":"string"},"id":{"type":"string"},"ipVersion":{"description":"The IP version of elastic IP.\n","type":"number"},"name":{"description":"Specifies the elastic IP Name.\n","type":"string"},"nameRegex":{"type":"string"},"portId":{"type":"string"},"privateIpAddress":{"type":"string"},"publicIpAddress":{"type":"string"},"region":{"type":"string"},"status":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"type":"object"},"tenantId":{"description":"Specifies the project ID.\n","type":"string"},"type":{"description":"Specifies the elastic IP type.\n","type":"string"}},"required":["bandwidthShareType","bandwidthSize","createTime","ipVersion","name","region","tenantId","type"],"type":"object"}},"opentelekomcloud:index/getVpcPeeringConnectionV2:getVpcPeeringConnectionV2":{"inputs":{"description":"A collection of arguments for invoking getVpcPeeringConnectionV2.\n","properties":{"id":{"type":"string"},"name":{"type":"string"},"peerTenantId":{"type":"string"},"peerVpcId":{"type":"string"},"region":{"type":"string"},"status":{"type":"string"},"vpcId":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getVpcPeeringConnectionV2.\n","properties":{"description":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"},"peerTenantId":{"type":"string"},"peerVpcId":{"type":"string"},"region":{"type":"string"},"status":{"type":"string"},"vpcId":{"type":"string"}},"required":["description","region"],"type":"object"}},"opentelekomcloud:index/getVpcPeeringConnectionsV2:getVpcPeeringConnectionsV2":{"description":"Up-to-date reference of API arguments for VPC peering connections you can get at\n[documentation portal](https://docs.otc.t-systems.com/virtual-private-cloud/api-ref/apis/vpc_peering_connection/querying_vpc_peering_connections.html#vpc-peering-0001)\n\nUse this data source to list VPC peering connections matching the specified criteria.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst peerings = opentelekomcloud.getVpcPeeringConnectionsV2({\n    vpcId: vpc.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\npeerings = opentelekomcloud.get_vpc_peering_connections_v2(vpc_id=vpc[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var peerings = Opentelekomcloud.GetVpcPeeringConnectionsV2.Invoke(new()\n    {\n        VpcId = vpc.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.GetVpcPeeringConnectionsV2(ctx, \u0026opentelekomcloud.GetVpcPeeringConnectionsV2Args{\n\t\t\tVpcId: pulumi.StringRef(vpc.Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetVpcPeeringConnectionsV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var peerings = OpentelekomcloudFunctions.getVpcPeeringConnectionsV2(GetVpcPeeringConnectionsV2Args.builder()\n            .vpcId(vpc.id())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  peerings:\n    fn::invoke:\n      function: opentelekomcloud:getVpcPeeringConnectionsV2\n      arguments:\n        vpcId: ${vpc.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getVpcPeeringConnectionsV2.\n","properties":{"id":{"type":"string","description":"The ID of the VPC peering connection.\n"},"name":{"type":"string","description":"The name of the VPC peering connection to filter by.\n"},"peerTenantId":{"type":"string","description":"The tenant ID of the accepter/peer VPC to filter by.\n"},"peerVpcId":{"type":"string","description":"The ID of the accepter/peer VPC to filter by.\n"},"status":{"type":"string","description":"The status of the VPC peering connection to filter by.\n"},"vpcId":{"type":"string","description":"The ID of the requester VPC to filter by.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getVpcPeeringConnectionsV2.\n","properties":{"id":{"description":"The ID of the VPC peering connection.\n","type":"string"},"name":{"description":"The name of the VPC peering connection.\n","type":"string"},"peerTenantId":{"description":"The tenant ID of the accepter/peer VPC.\n","type":"string"},"peerVpcId":{"description":"The ID of the accepter/peer VPC.\n","type":"string"},"peeringConnections":{"description":"A list of VPC peering connections. Each element contains the following attributes:\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetVpcPeeringConnectionsV2PeeringConnection:getVpcPeeringConnectionsV2PeeringConnection"},"type":"array"},"region":{"description":"The region of the VPC peering connections.\n","type":"string"},"status":{"description":"The status of the VPC peering connection.\n","type":"string"},"vpcId":{"description":"The ID of the requester VPC.\n","type":"string"}},"required":["id","peeringConnections","region"],"type":"object"}},"opentelekomcloud:index/getVpcRouteIdsV2:getVpcRouteIdsV2":{"description":"Up-to-date reference of API arguments for VPC route you can get at\n[documentation portal](https://docs.otc.t-systems.com/virtual-private-cloud/api-ref/apis/vpc_route/querying_vpc_routes.html#vpc-route-0001)\n\nUse this data source to get a list of route ids for a vpc_id.\n\nThis resource can be useful for getting back a list of route ids for a vpc.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst vpcId = config.requireObject\u003cany\u003e(\"vpcId\");\nconst example = opentelekomcloud.getVpcRouteIdsV2({\n    vpcId: vpcId,\n});\nconst vpcRoute = .reduce((__obj, [__key, __value]) =\u003e ({ ...__obj, [__key]: opentelekomcloud.getVpcRouteV2({\n    id: __value,\n}) }));\nexport const routeNexthop = .map(hop =\u003e (hop.cidr));\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nvpc_id = config.require_object(\"vpcId\")\nexample = opentelekomcloud.get_vpc_route_ids_v2(vpc_id=vpc_id)\nvpc_route = {__key: opentelekomcloud.get_vpc_route_v2(id=__value) for __key, __value in subnet_ids[\"ids\"]}\npulumi.export(\"routeNexthop\", [hop[\"cidr\"] for hop in subnet])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var vpcId = config.RequireObject\u003cdynamic\u003e(\"vpcId\");\n    var example = Opentelekomcloud.GetVpcRouteIdsV2.Invoke(new()\n    {\n        VpcId = vpcId,\n    });\n\n    var vpcRoute = .ToDictionary(item =\u003e {\n        var __key = item.Key;\n        return __key;\n    }, item =\u003e {\n        var __value = item.Value;\n        return Opentelekomcloud.GetVpcRouteV2.Invoke(new()\n        {\n            Id = __value,\n        });\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"routeNexthop\"] = .Select(hop =\u003e \n        {\n            return hop.Cidr;\n        }).ToList(),\n    };\n});\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getVpcRouteIdsV2.\n","properties":{"id":{"type":"string"},"region":{"type":"string"},"vpcId":{"type":"string","description":"The VPC ID that you want to filter from.\n"}},"type":"object","required":["vpcId"]},"outputs":{"description":"A collection of values returned by getVpcRouteIdsV2.\n","properties":{"id":{"type":"string"},"ids":{"description":"A list of all the route ids found. This data source will fail if none are found.\n","items":{"type":"string"},"type":"array"},"region":{"type":"string"},"vpcId":{"type":"string"}},"required":["id","ids","region","vpcId"],"type":"object"}},"opentelekomcloud:index/getVpcRouteTableV1:getVpcRouteTableV1":{"inputs":{"description":"A collection of arguments for invoking getVpcRouteTableV1.\n","properties":{"id":{"type":"string"},"name":{"type":"string"},"vpcId":{"type":"string"}},"type":"object","required":["vpcId"]},"outputs":{"description":"A collection of values returned by getVpcRouteTableV1.\n","properties":{"default":{"type":"boolean"},"description":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"},"region":{"type":"string"},"routes":{"items":{"$ref":"#/types/opentelekomcloud:index%2FgetVpcRouteTableV1Route:getVpcRouteTableV1Route"},"type":"array"},"subnets":{"items":{"type":"string"},"type":"array"},"vpcId":{"type":"string"}},"required":["default","description","id","name","region","routes","subnets","vpcId"],"type":"object"}},"opentelekomcloud:index/getVpcRouteTablesV1:getVpcRouteTablesV1":{"description":"Up-to-date reference of API arguments for VPC route table you can get at\n[documentation portal](https://docs.otc.t-systems.com/virtual-private-cloud/api-ref/apis/route_table/querying_route_tables.html)\n\nReturns list of route tables.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nconfiguration:\n  vpcId:\n    type: dynamic\n  routeTableId:\n    type: dynamic\n  subnetNetworkId:\n    type: dynamic\nvariables:\n  # get all route tables\n  allRouteTables:\n    fn::invoke:\n      function: opentelekomcloud:getVpcRouteTablesV1\n      arguments: {}\n  # get route tables for specific vpc\n  vpcRouteTables:\n    fn::invoke:\n      function: opentelekomcloud:getVpcRouteTablesV1\n      arguments:\n        vpcId: ${vpcId}\n  # get a list that includes single specific route table\n  singleRouteTable:\n    fn::invoke:\n      function: opentelekomcloud:getVpcRouteTableV1\n      arguments:\n        id: ${routeTableId}\n  # get a list of route table associated with a specific subnet\n  subnetRouteTable:\n    fn::invoke:\n      function: opentelekomcloud:getVpcRouteTableV1\n      arguments:\n        subnetId: ${subnetNetworkId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getVpcRouteTablesV1.\n","properties":{"id":{"type":"string","description":"Specifies the ID of the route table.\n"},"subnetId":{"type":"string","description":"Specifies the id of the subnet. **Note**: the corresponding subnet resource attribute is \u003cspan pulumi-lang-nodejs=\"`networkId`\" pulumi-lang-dotnet=\"`NetworkId`\" pulumi-lang-go=\"`networkId`\" pulumi-lang-python=\"`network_id`\" pulumi-lang-yaml=\"`networkId`\" pulumi-lang-java=\"`networkId`\"\u003e`network_id`\u003c/span\u003e.\n"},"vpcId":{"type":"string","description":"Specifies the VPC ID where the route tables reside.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getVpcRouteTablesV1.\n","properties":{"id":{"type":"string"},"routetables":{"description":"list of routetable object (documented below)\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetVpcRouteTablesV1Routetable:getVpcRouteTablesV1Routetable"},"type":"array"},"subnetId":{"type":"string"},"vpcId":{"description":"VPC Id to which route table belongs.\n","type":"string"}},"required":["routetables"],"type":"object"}},"opentelekomcloud:index/getVpcRouteV2:getVpcRouteV2":{"description":"Up-to-date reference of API arguments for VPC route you can get at\n[documentation portal](https://docs.otc.t-systems.com/virtual-private-cloud/api-ref/apis/vpc_route/querying_vpc_routes.html#vpc-route-0001)\n\nUse this data source to get details about a specific VPC route.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst routeId = config.requireObject\u003cany\u003e(\"routeId\");\nconst vpcRoute = opentelekomcloud.getVpcRouteV2({\n    id: routeId,\n});\nconst subnetV1 = new opentelekomcloud.VpcSubnetV1(\"subnet_v1\", {\n    name: \"test-subnet\",\n    cidr: \"192.168.0.0/24\",\n    gatewayIp: \"192.168.0.1\",\n    vpcId: vpcRoute.then(vpcRoute =\u003e vpcRoute.vpcId),\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nroute_id = config.require_object(\"routeId\")\nvpc_route = opentelekomcloud.get_vpc_route_v2(id=route_id)\nsubnet_v1 = opentelekomcloud.VpcSubnetV1(\"subnet_v1\",\n    name=\"test-subnet\",\n    cidr=\"192.168.0.0/24\",\n    gateway_ip=\"192.168.0.1\",\n    vpc_id=vpc_route.vpc_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var routeId = config.RequireObject\u003cdynamic\u003e(\"routeId\");\n    var vpcRoute = Opentelekomcloud.GetVpcRouteV2.Invoke(new()\n    {\n        Id = routeId,\n    });\n\n    var subnetV1 = new Opentelekomcloud.VpcSubnetV1(\"subnet_v1\", new()\n    {\n        Name = \"test-subnet\",\n        Cidr = \"192.168.0.0/24\",\n        GatewayIp = \"192.168.0.1\",\n        VpcId = vpcRoute.Apply(getVpcRouteV2Result =\u003e getVpcRouteV2Result.VpcId),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\trouteId := cfg.RequireObject(\"routeId\")\n\t\tvpcRoute, err := opentelekomcloud.LookupVpcRouteV2(ctx, \u0026opentelekomcloud.LookupVpcRouteV2Args{\n\t\t\tId: pulumi.StringRef(routeId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = opentelekomcloud.NewVpcSubnetV1(ctx, \"subnet_v1\", \u0026opentelekomcloud.VpcSubnetV1Args{\n\t\t\tName:      pulumi.String(\"test-subnet\"),\n\t\t\tCidr:      pulumi.String(\"192.168.0.0/24\"),\n\t\t\tGatewayIp: pulumi.String(\"192.168.0.1\"),\n\t\t\tVpcId:     pulumi.String(vpcRoute.VpcId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetVpcRouteV2Args;\nimport com.pulumi.opentelekomcloud.VpcSubnetV1;\nimport com.pulumi.opentelekomcloud.VpcSubnetV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var routeId = config.get(\"routeId\");\n        final var vpcRoute = OpentelekomcloudFunctions.getVpcRouteV2(GetVpcRouteV2Args.builder()\n            .id(routeId)\n            .build());\n\n        var subnetV1 = new VpcSubnetV1(\"subnetV1\", VpcSubnetV1Args.builder()\n            .name(\"test-subnet\")\n            .cidr(\"192.168.0.0/24\")\n            .gatewayIp(\"192.168.0.1\")\n            .vpcId(vpcRoute.vpcId())\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  routeId:\n    type: dynamic\nresources:\n  subnetV1:\n    type: opentelekomcloud:VpcSubnetV1\n    name: subnet_v1\n    properties:\n      name: test-subnet\n      cidr: 192.168.0.0/24\n      gatewayIp: 192.168.0.1\n      vpcId: ${vpcRoute.vpcId}\nvariables:\n  vpcRoute:\n    fn::invoke:\n      function: opentelekomcloud:getVpcRouteV2\n      arguments:\n        id: ${routeId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getVpcRouteV2.\n","properties":{"destination":{"type":"string","description":"The route destination address (CIDR).\n"},"id":{"type":"string","description":"The id of the specific route to retrieve.\n"},"nexthop":{"type":"string","description":"The next hop of the route. If the route type is peering, it will provide VPC peering connection ID.\n"},"region":{"type":"string"},"tenantId":{"type":"string","description":"Only the administrator can specify the tenant ID of other tenants.\n"},"type":{"type":"string","description":"Route type for filtering.\n"},"vpcId":{"type":"string","description":"The id of the VPC that the desired route belongs to.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getVpcRouteV2.\n","properties":{"destination":{"type":"string"},"id":{"type":"string"},"nexthop":{"description":"The next hop of the route. If the route type is peering, it will provide VPC peering connection ID.\n","type":"string"},"region":{"type":"string"},"tenantId":{"type":"string"},"type":{"type":"string"},"vpcId":{"type":"string"}},"required":["region"],"type":"object"}},"opentelekomcloud:index/getVpcSubnetIdsV1:getVpcSubnetIdsV1":{"description":"Up-to-date reference of API arguments for VPC subnet you can get at\n[documentation portal](https://docs.otc.t-systems.com/virtual-private-cloud/api-ref/apis/subnet/querying_subnets.html#vpc-subnet01-0003)\n\nUse this data source to get a list of subnet ids for a\u003cspan pulumi-lang-nodejs=\" vpcId\n\" pulumi-lang-dotnet=\" VpcId\n\" pulumi-lang-go=\" vpcId\n\" pulumi-lang-python=\" vpc_id\n\" pulumi-lang-yaml=\" vpcId\n\" pulumi-lang-java=\" vpcId\n\"\u003e vpc_id\n\u003c/span\u003e\nThis resource can be useful for getting back a list of subnet ids for a VPC.\n\n## Example Usage\n\nThe following example shows outputting all cidr blocks for every subnet id in a VPC.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst subnetIds = opentelekomcloud.getVpcSubnetIdsV1({\n    vpcId: vpcId,\n});\nconst subnet = subnetIds.then(subnetIds =\u003e .reduce((__obj, [__key, __value]) =\u003e ({ ...__obj, [__key]: opentelekomcloud.getVpcSubnetV1({\n    id: __value,\n}) })));\nexport const subnetCidrBlocks = subnet.apply(subnet =\u003e Object.values(subnet).map(s =\u003e (s.cidr)));\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nsubnet_ids = opentelekomcloud.get_vpc_subnet_ids_v1(vpc_id=vpc_id)\nsubnet = {__key: opentelekomcloud.get_vpc_subnet_v1(id=__value) for __key, __value in subnet_ids.ids}\npulumi.export(\"subnetCidrBlocks\", [s.cidr for s in subnet])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var subnetIds = Opentelekomcloud.GetVpcSubnetIdsV1.Invoke(new()\n    {\n        VpcId = vpcId,\n    });\n\n    var subnet = ;\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"subnetCidrBlocks\"] = subnet.Apply(subnet =\u003e (subnet).Values.Select(s =\u003e \n        {\n            return s.Cidr;\n        }).ToList()),\n    };\n});\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getVpcSubnetIdsV1.\n","properties":{"id":{"type":"string"},"region":{"type":"string"},"vpcId":{"type":"string","description":"Specifies the VPC ID used as the query filter.\n"}},"type":"object","required":["vpcId"]},"outputs":{"description":"A collection of values returned by getVpcSubnetIdsV1.\n","properties":{"id":{"type":"string"},"ids":{"description":"A list of all the subnet ids found. This data source will fail if none are found.\n","items":{"type":"string"},"type":"array"},"region":{"type":"string"},"vpcId":{"type":"string"}},"required":["id","ids","region","vpcId"],"type":"object"}},"opentelekomcloud:index/getVpcSubnetV1:getVpcSubnetV1":{"description":"Up-to-date reference of API arguments for VPC subnet you can get at\n[documentation portal](https://docs.otc.t-systems.com/virtual-private-cloud/api-ref/apis/subnet/querying_subnets.html#vpc-subnet01-0003)\n\nUse this data source to get details about a specific VPC subnet.\n\nThis data source can prove useful when a module accepts a subnet id as\nan input variable and needs to, for example, determine the id of the\nVPC that the subnet belongs to.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst subnetV1 = opentelekomcloud.getVpcSubnetV1({\n    id: subnetId,\n});\nexport const subnetVpcId = subnetV1.then(subnetV1 =\u003e subnetV1.vpcId);\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nsubnet_v1 = opentelekomcloud.get_vpc_subnet_v1(id=subnet_id)\npulumi.export(\"subnetVpcId\", subnet_v1.vpc_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var subnetV1 = Opentelekomcloud.GetVpcSubnetV1.Invoke(new()\n    {\n        Id = subnetId,\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"subnetVpcId\"] = subnetV1.Apply(getVpcSubnetV1Result =\u003e getVpcSubnetV1Result.VpcId),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsubnetV1, err := opentelekomcloud.LookupVpcSubnetV1(ctx, \u0026opentelekomcloud.LookupVpcSubnetV1Args{\n\t\t\tId: pulumi.StringRef(subnetId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"subnetVpcId\", subnetV1.VpcId)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetVpcSubnetV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var subnetV1 = OpentelekomcloudFunctions.getVpcSubnetV1(GetVpcSubnetV1Args.builder()\n            .id(subnetId)\n            .build());\n\n        ctx.export(\"subnetVpcId\", subnetV1.vpcId());\n    }\n}\n```\n```yaml\nvariables:\n  subnetV1:\n    fn::invoke:\n      function: opentelekomcloud:getVpcSubnetV1\n      arguments:\n        id: ${subnetId}\noutputs:\n  subnetVpcId: ${subnetV1.vpcId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getVpcSubnetV1.\n","properties":{"availabilityZone":{"type":"string","description":"The availability zone (AZ) to which the subnet should belong.\n"},"cidr":{"type":"string","description":"The network segment of specific subnet to retrieve. The value must be in CIDR format.\n"},"gatewayIp":{"type":"string","description":"The subnet gateway address of specific subnet.\n"},"id":{"type":"string","description":"Specifies a resource ID in UUID format.\n"},"name":{"type":"string","description":"The name of the specific subnet to retrieve.\n"},"primaryDns":{"type":"string","description":"The IP address of DNS server 1 on the specific subnet.\n"},"region":{"type":"string"},"secondaryDns":{"type":"string","description":"The IP address of DNS server 2 on the specific subnet.\n"},"status":{"type":"string","description":"The value can be ACTIVE, DOWN, UNKNOWN, or ERROR.\n"},"vpcId":{"type":"string","description":"The id of the VPC that the desired subnet belongs to.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getVpcSubnetV1.\n","properties":{"availabilityZone":{"type":"string"},"cidr":{"type":"string"},"cidrIpv6":{"type":"string"},"dhcpEnable":{"description":"DHCP function for the subnet.\n","type":"boolean"},"dnsLists":{"description":"The IP address list of DNS servers on the subnet.\n","items":{"type":"string"},"type":"array"},"gatewayIp":{"type":"string"},"gatewayIpv6":{"type":"string"},"id":{"type":"string"},"ipv6Enable":{"type":"boolean"},"name":{"type":"string"},"networkId":{"description":"Specifies the OpenStack network ID.\n","type":"string"},"primaryDns":{"type":"string"},"region":{"type":"string"},"secondaryDns":{"type":"string"},"status":{"type":"string"},"subnetId":{"description":"Specifies the OpenStack subnet ID.\n","type":"string"},"vpcId":{"type":"string"}},"required":["availabilityZone","cidr","cidrIpv6","dhcpEnable","dnsLists","gatewayIp","gatewayIpv6","id","ipv6Enable","name","networkId","primaryDns","region","secondaryDns","status","subnetId","vpcId"],"type":"object"}},"opentelekomcloud:index/getVpcV1:getVpcV1":{"description":"Up-to-date reference of API arguments for VPC you can get at\n[documentation portal](https://docs.otc.t-systems.com/virtual-private-cloud/api-ref/apis/virtual_private_cloud/querying_vpcs.html#vpc-api01-0003)\n\nUse this data source to get details about a specific VPC.\n\nThis data source can prove useful when a module accepts a VPC id as an input variable and needs to, for example,\ndetermine the CIDR block of that VPC.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst vpcName = config.requireObject\u003cany\u003e(\"vpcName\");\nconst vpc = opentelekomcloud.getVpcV1({\n    name: vpcName,\n    shared: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nvpc_name = config.require_object(\"vpcName\")\nvpc = opentelekomcloud.get_vpc_v1(name=vpc_name,\n    shared=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var vpcName = config.RequireObject\u003cdynamic\u003e(\"vpcName\");\n    var vpc = Opentelekomcloud.GetVpcV1.Invoke(new()\n    {\n        Name = vpcName,\n        Shared = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tvpcName := cfg.RequireObject(\"vpcName\")\n\t\t_, err := opentelekomcloud.LookupVpcV1(ctx, \u0026opentelekomcloud.LookupVpcV1Args{\n\t\t\tName:   pulumi.StringRef(vpcName),\n\t\t\tShared: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetVpcV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var vpcName = config.get(\"vpcName\");\n        final var vpc = OpentelekomcloudFunctions.getVpcV1(GetVpcV1Args.builder()\n            .name(vpcName)\n            .shared(true)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  vpcName:\n    type: dynamic\nvariables:\n  vpc:\n    fn::invoke:\n      function: opentelekomcloud:getVpcV1\n      arguments:\n        name: ${vpcName}\n        shared: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getVpcV1.\n","properties":{"cidr":{"type":"string","description":"The cidr block of the desired VPC.\n"},"id":{"type":"string","description":"The id of the specific VPC to retrieve.\n"},"name":{"type":"string","description":"A unique name for the VPC. The name must be unique for a tenant.\nThe value is a string of no more than 64 characters and can contain digits, letters, underscores (_), and hyphens (-).\n"},"region":{"type":"string"},"shared":{"type":"boolean","description":"Enable SNAT (In order to let instances without an EIP access the internet).\n"},"status":{"type":"string","description":"The current status of the desired VPC.\nCan be either `CREATING`, `OK`, `DOWN`, `PENDING_UPDATE`, `PENDING_DELETE`, or `ERROR`.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getVpcV1.\n","properties":{"cidr":{"description":"See Argument Reference above.\n","type":"string"},"id":{"description":"ID of the VPC.\n","type":"string"},"name":{"description":"See Argument Reference above.\n","type":"string"},"region":{"type":"string"},"routes":{"description":"The list of route information with \u003cspan pulumi-lang-nodejs=\"`destination`\" pulumi-lang-dotnet=\"`Destination`\" pulumi-lang-go=\"`destination`\" pulumi-lang-python=\"`destination`\" pulumi-lang-yaml=\"`destination`\" pulumi-lang-java=\"`destination`\"\u003e`destination`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`nexthop`\" pulumi-lang-dotnet=\"`Nexthop`\" pulumi-lang-go=\"`nexthop`\" pulumi-lang-python=\"`nexthop`\" pulumi-lang-yaml=\"`nexthop`\" pulumi-lang-java=\"`nexthop`\"\u003e`nexthop`\u003c/span\u003e fields.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetVpcV1Route:getVpcV1Route"},"type":"array"},"shared":{"description":"Specifies whether the cross-tenant sharing is supported.\n","type":"boolean"},"status":{"description":"See Argument Reference above.\n","type":"string"}},"required":["region","routes"],"type":"object"}},"opentelekomcloud:index/getVpcepPublicServiceV1:getVpcepPublicServiceV1":{"description":"Up-to-date reference of API arguments for VPCEP public service you can get at\n[documentation portal](https://docs.otc.t-systems.com/vpc-endpoint/api-ref/apis/apis_for_managing_vpc_endpoint_services/querying_public_vpc_endpoint_services.html)\n\nUse this data source to get details about a specific VPCEP public service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst obs = opentelekomcloud.getVpcepPublicServiceV1({\n    name: \"com.t-systems.otc.eu-de.obs\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nobs = opentelekomcloud.get_vpcep_public_service_v1(name=\"com.t-systems.otc.eu-de.obs\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var obs = Opentelekomcloud.GetVpcepPublicServiceV1.Invoke(new()\n    {\n        Name = \"com.t-systems.otc.eu-de.obs\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.GetVpcepPublicServiceV1(ctx, \u0026opentelekomcloud.GetVpcepPublicServiceV1Args{\n\t\t\tName: pulumi.StringRef(\"com.t-systems.otc.eu-de.obs\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetVpcepPublicServiceV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var obs = OpentelekomcloudFunctions.getVpcepPublicServiceV1(GetVpcepPublicServiceV1Args.builder()\n            .name(\"com.t-systems.otc.eu-de.obs\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  obs:\n    fn::invoke:\n      function: opentelekomcloud:getVpcepPublicServiceV1\n      arguments:\n        name: com.t-systems.otc.eu-de.obs\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getVpcepPublicServiceV1.\n","properties":{"id":{"type":"string","description":"Specifies the unique ID of the public VPC endpoint service.\n"},"name":{"type":"string","description":"Specifies the name of the public VPC endpoint service. The value is not case-sensitive and supports fuzzy match.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getVpcepPublicServiceV1.\n","properties":{"createdAt":{"description":"Specifies the creation time of the VPC endpoint service.\n","type":"string"},"id":{"type":"string"},"isCharge":{"description":"Specifies whether the associated VPC endpoint carries a charge.\n","type":"boolean"},"name":{"type":"string"},"owner":{"description":"Specifies the owner of the VPC endpoint service.\n","type":"string"},"serviceType":{"description":"Specifies the type of the VPC endpoint service.\n","type":"string"}},"required":["createdAt","id","isCharge","name","owner","serviceType"],"type":"object"}},"opentelekomcloud:index/getVpcepServiceV1:getVpcepServiceV1":{"description":"Up-to-date reference of API arguments for VPCEP service you can get at\n[documentation portal](https://docs.otc.t-systems.com/vpc-endpoint/api-ref/apis/apis_for_managing_vpc_endpoint_services/querying_details_about_a_vpc_endpoint_service.html#vpcep-06-0202)\n\nUse this data source to get details about a specific VPCEP service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst service = opentelekomcloud.getVpcepServiceV1({\n    name: serviceName,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nservice = opentelekomcloud.get_vpcep_service_v1(name=service_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var service = Opentelekomcloud.GetVpcepServiceV1.Invoke(new()\n    {\n        Name = serviceName,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.LookupVpcepServiceV1(ctx, \u0026opentelekomcloud.LookupVpcepServiceV1Args{\n\t\t\tName: pulumi.StringRef(serviceName),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetVpcepServiceV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var service = OpentelekomcloudFunctions.getVpcepServiceV1(GetVpcepServiceV1Args.builder()\n            .name(serviceName)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  service:\n    fn::invoke:\n      function: opentelekomcloud:getVpcepServiceV1\n      arguments:\n        name: ${serviceName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getVpcepServiceV1.\n","properties":{"id":{"type":"string","description":"Specifies the unique ID of the VPC endpoint service.\n"},"name":{"type":"string","description":"Specifies the name of the VPC endpoint service.\nThe value is not case-sensitive and supports fuzzy match.\n"},"status":{"type":"string","description":"Specifies the status of the VPC endpoint service.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of the resource tags.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getVpcepServiceV1.\n","properties":{"approvalEnabled":{"description":"Specifies whether connection approval is required.\n","type":"boolean"},"connectionCount":{"description":"Specifies the number of Creating or Accepted VPC endpoints under the VPC endpoint service.\n","type":"number"},"createdAt":{"description":"Specifies the creation time of the VPC endpoint service.\n","type":"string"},"id":{"type":"string"},"name":{"type":"string"},"portId":{"description":"Specifies the ID for identifying the backend resource of the VPC endpoint service. The ID is in the form of the UUID.\n","type":"string"},"ports":{"items":{"$ref":"#/types/opentelekomcloud:index%2FgetVpcepServiceV1Port:getVpcepServiceV1Port"},"type":"array"},"projectId":{"description":"Specifies the project ID.\n","type":"string"},"serverType":{"description":"Specifies the resource type.\n","type":"string"},"serviceType":{"description":"Specifies the type of the VPC endpoint service.\n","type":"string"},"status":{"type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"Map of the resource tags.\n","type":"object"},"tcpProxy":{"description":"Specifies whether the client IP address and port number or\u003cspan pulumi-lang-nodejs=\" markerId \" pulumi-lang-dotnet=\" MarkerId \" pulumi-lang-go=\" markerId \" pulumi-lang-python=\" marker_id \" pulumi-lang-yaml=\" markerId \" pulumi-lang-java=\" markerId \"\u003e marker_id \u003c/span\u003einformation is transmitted to the server.\n","type":"string"},"updatedAt":{"description":"Specifies the update time of the VPC endpoint service.\n","type":"string"},"vipPortId":{"description":"Specifies the ID of the virtual NIC to which the virtual IP address is bound.\nThis parameter is returned only when \u003cspan pulumi-lang-nodejs=\"`portId`\" pulumi-lang-dotnet=\"`PortId`\" pulumi-lang-go=\"`portId`\" pulumi-lang-python=\"`port_id`\" pulumi-lang-yaml=\"`portId`\" pulumi-lang-java=\"`portId`\"\u003e`port_id`\u003c/span\u003e is set to VIP.\n","type":"string"},"vpcId":{"description":"Specifies the ID of the VPC to which the backend resource of the VPC endpoint service belongs.\n","type":"string"}},"required":["approvalEnabled","connectionCount","createdAt","id","name","portId","ports","projectId","serverType","serviceType","status","tcpProxy","updatedAt","vipPortId","vpcId"],"type":"object"}},"opentelekomcloud:index/getVpnaasServiceV2:getVpnaasServiceV2":{"description":"Up-to-date reference of API arguments for VPN service you can get at\n[documentation portal](https://docs.otc.t-systems.com/virtual-private-network/api-ref/native_openstack_apis/vpn_service_management/querying_vpn_services.html#en-topic-0093011500)\n\nUse this data source to get details about a specific VPN.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst config = new pulumi.Config();\nconst vpnName = config.requireObject\u003cany\u003e(\"vpnName\");\nconst vpn = opentelekomcloud.getVpnaasServiceV2({\n    name: vpnName,\n    adminStateUp: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\nconfig = pulumi.Config()\nvpn_name = config.require_object(\"vpnName\")\nvpn = opentelekomcloud.get_vpnaas_service_v2(name=vpn_name,\n    admin_state_up=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var vpnName = config.RequireObject\u003cdynamic\u003e(\"vpnName\");\n    var vpn = Opentelekomcloud.GetVpnaasServiceV2.Invoke(new()\n    {\n        Name = vpnName,\n        AdminStateUp = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tvpnName := cfg.RequireObject(\"vpnName\")\n\t\t_, err := opentelekomcloud.LookupVpnaasServiceV2(ctx, \u0026opentelekomcloud.LookupVpnaasServiceV2Args{\n\t\t\tName:         pulumi.StringRef(vpnName),\n\t\t\tAdminStateUp: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetVpnaasServiceV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var vpnName = config.get(\"vpnName\");\n        final var vpn = OpentelekomcloudFunctions.getVpnaasServiceV2(GetVpnaasServiceV2Args.builder()\n            .name(vpnName)\n            .adminStateUp(true)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  vpnName:\n    type: dynamic\nvariables:\n  vpn:\n    fn::invoke:\n      function: opentelekomcloud:getVpnaasServiceV2\n      arguments:\n        name: ${vpnName}\n        adminStateUp: 'true'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getVpnaasServiceV2.\n","properties":{"adminStateUp":{"type":"boolean","description":"The administrative state of the resource. Can either be true (Up) or false (Down).\nDefault is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"description":{"type":"string","description":"The human-readable description for the service.\n"},"externalV4Ip":{"type":"string","description":"The read-only external (public) IPv4 address that is used for the VPN service.\n"},"externalV6Ip":{"type":"string","description":"The read-only external (public) IPv6 address that is used for the VPN service.\n"},"flavorId":{"type":"string"},"id":{"type":"string"},"name":{"type":"string","description":"The name of the service.\n"},"projectId":{"type":"string"},"region":{"type":"string","description":"The region in which to obtain details about the V2 VPN service.\n"},"routerId":{"type":"string","description":"The ID of the router. Default is \u003cspan pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\"\u003e`null`\u003c/span\u003e.\n"},"status":{"type":"string","description":"Indicates whether IPsec VPN service is currently operational. Values are `ACTIVE`,\n`DOWN`, `BUILD`, `ERROR`, `PENDING_CREATE`, `PENDING_UPDATE` or `PENDING_DELETE`.\n"},"subnetId":{"type":"string","description":"SubnetID is the ID of the subnet. Default is \u003cspan pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\"\u003e`null`\u003c/span\u003e.\n"},"tenantId":{"type":"string","description":"The owner of the service.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getVpnaasServiceV2.\n","properties":{"adminStateUp":{"description":"See Argument Reference above.\n","type":"boolean"},"description":{"description":"See Argument Reference above.\n","type":"string"},"externalV4Ip":{"description":"The read-only external (public) IPv4 address that is used for the VPN service.\n","type":"string"},"externalV6Ip":{"description":"The read-only external (public) IPv6 address that is used for the VPN service.\n","type":"string"},"flavorId":{"type":"string"},"id":{"type":"string"},"name":{"description":"See Argument Reference above.\n","type":"string"},"projectId":{"type":"string"},"region":{"description":"See Argument Reference above.\n","type":"string"},"routerId":{"description":"See Argument Reference above.\n","type":"string"},"status":{"description":"Indicates whether IPsec VPN service is currently operational. Values are `ACTIVE`,\n`DOWN`, `BUILD`, `ERROR`, `PENDING_CREATE`, `PENDING_UPDATE` or `PENDING_DELETE`.\n","type":"string"},"subnetId":{"description":"See Argument Reference above.\n","type":"string"},"tenantId":{"description":"See Argument Reference above.\n","type":"string"}},"required":["region"],"type":"object"}},"opentelekomcloud:index/getWafDedicatedReferenceTablesV1:getWafDedicatedReferenceTablesV1":{"description":"Up-to-date reference of API arguments for WAF reference table you can get at\n[documentation portal](https://docs.otc.t-systems.com/web-application-firewall-dedicated/api-ref/apis/rule_management/querying_the_reference_table_list.html)\n\nUse this data source to get a list of OpenTelekomCloud WAF reference tables.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as opentelekomcloud from \"@pulumi/opentelekomcloud\";\n\nconst table = opentelekomcloud.getWafDedicatedReferenceTablesV1({\n    name: \"reference_table_1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_opentelekomcloud as opentelekomcloud\n\ntable = opentelekomcloud.get_waf_dedicated_reference_tables_v1(name=\"reference_table_1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Opentelekomcloud = Pulumi.Opentelekomcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var table = Opentelekomcloud.GetWafDedicatedReferenceTablesV1.Invoke(new()\n    {\n        Name = \"reference_table_1\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opentelekomcloud.GetWafDedicatedReferenceTablesV1(ctx, \u0026opentelekomcloud.GetWafDedicatedReferenceTablesV1Args{\n\t\t\tName: pulumi.StringRef(\"reference_table_1\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;\nimport com.pulumi.opentelekomcloud.inputs.GetWafDedicatedReferenceTablesV1Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var table = OpentelekomcloudFunctions.getWafDedicatedReferenceTablesV1(GetWafDedicatedReferenceTablesV1Args.builder()\n            .name(\"reference_table_1\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  table:\n    fn::invoke:\n      function: opentelekomcloud:getWafDedicatedReferenceTablesV1\n      arguments:\n        name: reference_table_1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getWafDedicatedReferenceTablesV1.\n","properties":{"id":{"type":"string","description":"The id of the reference table.\n"},"name":{"type":"string","description":"The name of the reference table. The value is case-sensitive and matches exactly.\n"},"region":{"type":"string","description":"The region in which to create the WAF reference table resource.\nIf omitted, the provider-level region will be used.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getWafDedicatedReferenceTablesV1.\n","properties":{"id":{"description":"The id of the reference table.\n","type":"string"},"name":{"description":"The name of the reference table. The maximum length is 64 characters.\n","type":"string"},"region":{"type":"string"},"tables":{"description":"A list of WAF reference tables.\n","items":{"$ref":"#/types/opentelekomcloud:index%2FgetWafDedicatedReferenceTablesV1Table:getWafDedicatedReferenceTablesV1Table"},"type":"array"}},"required":["id","region","tables"],"type":"object"}},"pulumi:providers:opentelekomcloud/terraformConfig":{"description":"This function returns a Terraform config object with terraform-namecased keys,to be used with the Terraform Module Provider.","inputs":{"properties":{"__self__":{"$ref":"#/resources/pulumi:providers:opentelekomcloud"}},"type":"object","required":["__self__"]},"outputs":{"properties":{"result":{"additionalProperties":{"$ref":"pulumi.json#/Any"},"type":"object"}},"required":["result"],"type":"object"}}},"parameterization":{"baseProvider":{"name":"terraform-provider","version":"1.0.1"},"parameter":"eyJyZW1vdGUiOnsidXJsIjoicmVnaXN0cnkub3BlbnRvZnUub3JnL29wZW50ZWxla29tY2xvdWQvb3BlbnRlbGVrb21jbG91ZCIsInZlcnNpb24iOiIxLjM2LjYxIn19"}}