{"name":"vkcs","version":"0.14.0","description":"A Pulumi provider dynamically bridged from vkcs.","attribution":"This Pulumi package is based on the [`vkcs` Terraform Provider](https://github.com/vk-cs/terraform-provider-vkcs).","repository":"https://github.com/vk-cs/terraform-provider-vkcs","publisher":"vk-cs","meta":{"moduleFormat":"(.*)(?:/[^/]*)"},"language":{"csharp":{"compatibility":"tfbridge20","liftSingleValueMethodReturns":true,"respectSchemaVersion":true},"go":{"generateExtraInputTypes":true,"importBasePath":"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs","liftSingleValueMethodReturns":true,"respectSchemaVersion":true,"rootPackageName":"vkcs"},"java":{"basePackage":"","buildFiles":"","gradleNexusPublishPluginVersion":"","gradleTest":""},"nodejs":{"compatibility":"tfbridge20","disableUnionOutputTypes":true,"liftSingleValueMethodReturns":true,"packageDescription":"A Pulumi provider dynamically bridged from vkcs.","readme":"\u003e This provider is a derived work of the [Terraform Provider](https://github.com/vk-cs/terraform-provider-vkcs)\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-vkcs` repo](https://github.com/vk-cs/terraform-provider-vkcs/issues).","respectSchemaVersion":true},"python":{"compatibility":"tfbridge20","pyproject":{"enabled":true},"readme":"\u003e This provider is a derived work of the [Terraform Provider](https://github.com/vk-cs/terraform-provider-vkcs)\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-vkcs` repo](https://github.com/vk-cs/terraform-provider-vkcs/issues).","respectSchemaVersion":true}},"config":{"variables":{"accessToken":{"type":"string","description":"A temporary token to use for authentication. You alternatively can use `OS_AUTH_TOKEN` environment variable. If both are specified, this attribute takes precedence. _note_ The token will not be renewed and will eventually expire, usually after 1 hour. If access is needed for longer than a token's lifetime, use credentials-based authentication.","secret":true},"authUrl":{"type":"string","description":"The Identity authentication URL."},"cloudContainersApiVersion":{"type":"string","description":"Cloud Containers API version to use. _note_ Only for custom VKCS deployments."},"endpointOverrides":{"$ref":"#/types/vkcs:config%2FendpointOverrides:endpointOverrides","description":"Custom endpoints for corresponding APIs. If not specified, endpoints provided by the catalog will be used."},"password":{"type":"string","description":"Password to login with.","secret":true},"projectId":{"type":"string","description":"The ID of Project to login with."},"region":{"type":"string","description":"A region to use."},"skipClientAuth":{"type":"boolean","description":"Skip authentication on client initialization. Only applicablie if \u003cspan pulumi-lang-nodejs=\"`accessToken`\" pulumi-lang-dotnet=\"`AccessToken`\" pulumi-lang-go=\"`accessToken`\" pulumi-lang-python=\"`access_token`\" pulumi-lang-yaml=\"`accessToken`\" pulumi-lang-java=\"`accessToken`\"\u003e`access_token`\u003c/span\u003e is provided. _note_ If set to true, the endpoint catalog will not be used for discovery and all required endpoints must be provided via \u003cspan pulumi-lang-nodejs=\"`endpointOverrides`\" pulumi-lang-dotnet=\"`EndpointOverrides`\" pulumi-lang-go=\"`endpointOverrides`\" pulumi-lang-python=\"`endpoint_overrides`\" pulumi-lang-yaml=\"`endpointOverrides`\" pulumi-lang-java=\"`endpointOverrides`\"\u003e`endpoint_overrides`\u003c/span\u003e."},"userDomainId":{"type":"string","description":"The id of the domain where the user resides."},"userDomainName":{"type":"string","description":"The name of the domain where the user resides."},"username":{"type":"string","description":"User name to login with."}}},"types":{"vkcs:config/endpointOverrides:endpointOverrides":{"properties":{"backup":{"type":"string","description":"Backup API custom endpoint.\n"},"blockStorage":{"type":"string","description":"Block Storage API custom endpoint.\n"},"cdn":{"type":"string","description":"CDN API custom endpoint.\n"},"compute":{"type":"string","description":"Compute API custom endpoint.\n"},"containerInfra":{"type":"string","description":"Cloud Containers API custom endpoint.\n"},"containerInfraAddons":{"type":"string","description":"Cloud Containers Addons API custom endpoint.\n"},"dataPlatform":{"type":"string","description":"Data Platform API custom endpoint.\n"},"database":{"type":"string","description":"Database API custom endpoint.\n"},"iamServiceUsers":{"type":"string","description":"IAM Service Users API custom endpoint.\n"},"ics":{"type":"string","description":"ICS API custom endpoint.\n"},"image":{"type":"string","description":"Image API custom endpoint.\n"},"keyManager":{"type":"string","description":"Key Manager API custom endpoint.\n"},"loadBalancer":{"type":"string","description":"Load Balancer API custom endpoint.\n"},"mlPlatform":{"type":"string","description":"ML Platform API custom endpoint.\n"},"networking":{"type":"string","description":"Networking API custom endpoint.\n"},"publicDns":{"type":"string","description":"Public DNS API custom endpoint.\n"},"sharedFilesystem":{"type":"string","description":"Shared Filesystem API custom endpoint.\n"},"templater":{"type":"string","description":"Templater API custom endpoint.\n"}},"type":"object"},"vkcs:index/BackupPlanBackupTarget:BackupPlanBackupTarget":{"properties":{"instanceId":{"type":"string","description":"**required** *string* \u0026rarr;  ID of the instance for which specific volumes are backed up.\n"},"volumeIds":{"type":"array","items":{"type":"string"},"description":"optional *set of* *string* \u0026rarr;  Set of volume IDs to back up for the instance. If no list is specified, backups will be created for all disks.\n"}},"type":"object","required":["instanceId"]},"vkcs:index/BackupPlanFullRetention:BackupPlanFullRetention":{"properties":{"maxFullBackup":{"type":"number","description":"**required** *number* \u0026rarr;  Maximum number of backups\n"}},"type":"object","required":["maxFullBackup"]},"vkcs:index/BackupPlanGfsRetention:BackupPlanGfsRetention":{"properties":{"gfsMonthly":{"type":"number","description":"optional *number* \u0026rarr;  Number of months to store backups\n"},"gfsWeekly":{"type":"number","description":"**required** *number* \u0026rarr;  Number of weeks to store backups\n"},"gfsYearly":{"type":"number","description":"optional *number* \u0026rarr;  Number of years to store backups\n"}},"type":"object","required":["gfsWeekly"]},"vkcs:index/BackupPlanSchedule:BackupPlanSchedule":{"properties":{"dates":{"type":"array","items":{"type":"string"},"description":"optional *string* \u0026rarr;  List of days when to perform backups. If\u003cspan pulumi-lang-nodejs=\" incrementalBackups \" pulumi-lang-dotnet=\" IncrementalBackups \" pulumi-lang-go=\" incrementalBackups \" pulumi-lang-python=\" incremental_backups \" pulumi-lang-yaml=\" incrementalBackups \" pulumi-lang-java=\" incrementalBackups \"\u003e incremental_backups \u003c/span\u003eis enabled, only one day should be specified\n"},"everyHours":{"type":"number","description":"optional *number* \u0026rarr;  Hour interval of backups, must be one of: 3, 12, 24. This field is incompatible with date/time fields\n"},"time":{"type":"string","description":"optional *string* \u0026rarr;  Time of backup in format hh:mm (for UTC timezone) or hh:mm+tz (for other timezones, e.g. 10:00+03 for MSK, 10:00-04 for ET)\n"}},"type":"object"},"vkcs:index/BlockstorageSnapshotTimeouts:BlockstorageSnapshotTimeouts":{"properties":{"create":{"type":"string"}},"type":"object"},"vkcs:index/BlockstorageVolumeTimeouts:BlockstorageVolumeTimeouts":{"properties":{"create":{"type":"string"}},"type":"object"},"vkcs:index/CdnOriginGroupOrigin:CdnOriginGroupOrigin":{"properties":{"backup":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Defines whether the origin is a backup, meaning that it will not be used until one of active origins become unavailable. Defaults to false.\n"},"enabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Enables or disables an origin source in the origin group. Enabled by default.\n"},"source":{"type":"string","description":"**required** *string* \u0026rarr;  IP address or domain name of the origin and the port, if custom port is used.\n"}},"type":"object","required":["source"],"language":{"nodejs":{"requiredOutputs":["backup","enabled","source"]}}},"vkcs:index/CdnResourceOptions:CdnResourceOptions":{"properties":{"allowedHttpMethods":{"$ref":"#/types/vkcs:index%2FCdnResourceOptionsAllowedHttpMethods:CdnResourceOptionsAllowedHttpMethods","description":"optional \u0026rarr;  HTTP methods allowed for content requests from the CDN.\n"},"brotliCompression":{"$ref":"#/types/vkcs:index%2FCdnResourceOptionsBrotliCompression:CdnResourceOptionsBrotliCompression","description":"optional \u0026rarr;  Compresses content with Brotli on the CDN side. CDN servers will request only uncompressed content from the origin.\n"},"browserCacheSettings":{"$ref":"#/types/vkcs:index%2FCdnResourceOptionsBrowserCacheSettings:CdnResourceOptionsBrowserCacheSettings","description":"optional \u0026rarr;  Cache settings for users browsers.\nCache expiration time is applied to the following response codes: 200, 201, 204, 206, 301, 302, 303, 304, 307, 308. Responses with other codes will not be cached.\n"},"cors":{"$ref":"#/types/vkcs:index%2FCdnResourceOptionsCors:CdnResourceOptionsCors","description":"optional \u0026rarr;  Enables or disables CORS (Cross-Origin Resource Sharing) header support.\nCORS header support allows the CDN to add the Access-Control-Allow-Origin header to a response to a browser.\n"},"countryAcl":{"$ref":"#/types/vkcs:index%2FCdnResourceOptionsCountryAcl:CdnResourceOptionsCountryAcl","description":"optional \u0026rarr;  Use this option to control access to the content for specified countries.\n"},"edgeCacheSettings":{"$ref":"#/types/vkcs:index%2FCdnResourceOptionsEdgeCacheSettings:CdnResourceOptionsEdgeCacheSettings","description":"optional \u0026rarr;  Cache settings for CDN servers.\n"},"fetchCompressed":{"type":"boolean","description":"optional *boolean* \u0026rarr;  If enabled, CDN servers request and cache compressed content from the origin. The origin server should support compression. CDN servers will not decompress your content even if a user browser does not accept compression. Conflicts with \u003cspan pulumi-lang-nodejs=\"`gzipOn`\" pulumi-lang-dotnet=\"`GzipOn`\" pulumi-lang-go=\"`gzipOn`\" pulumi-lang-python=\"`gzip_on`\" pulumi-lang-yaml=\"`gzipOn`\" pulumi-lang-java=\"`gzipOn`\"\u003e`gzip_on`\u003c/span\u003e if both enabled simultaneously.\n"},"forceReturn":{"$ref":"#/types/vkcs:index%2FCdnResourceOptionsForceReturn:CdnResourceOptionsForceReturn","description":"optional \u0026rarr;  Allows to apply custom HTTP code to the CDN content.\nSpecify HTTP-code you need and text or URL if you're going to set up redirection.\n"},"forwardHostHeader":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Forwards the Host header from a end-user request to an origin server. Conflicts with \u003cspan pulumi-lang-nodejs=\"`hostHeader`\" pulumi-lang-dotnet=\"`HostHeader`\" pulumi-lang-go=\"`hostHeader`\" pulumi-lang-python=\"`host_header`\" pulumi-lang-yaml=\"`hostHeader`\" pulumi-lang-java=\"`hostHeader`\"\u003e`host_header`\u003c/span\u003e if both enabled simultaneously.\n"},"gzipCompression":{"$ref":"#/types/vkcs:index%2FCdnResourceOptionsGzipCompression:CdnResourceOptionsGzipCompression","description":"optional \u0026rarr;  Compresses content with GZip on the CDN side. CDN servers will request only uncompressed content from the origin. Conflicts with \u003cspan pulumi-lang-nodejs=\"`fetchCompressed`\" pulumi-lang-dotnet=\"`FetchCompressed`\" pulumi-lang-go=\"`fetchCompressed`\" pulumi-lang-python=\"`fetch_compressed`\" pulumi-lang-yaml=\"`fetchCompressed`\" pulumi-lang-java=\"`fetchCompressed`\"\u003e`fetch_compressed`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`slice`\" pulumi-lang-dotnet=\"`Slice`\" pulumi-lang-go=\"`slice`\" pulumi-lang-python=\"`slice`\" pulumi-lang-yaml=\"`slice`\" pulumi-lang-java=\"`slice`\"\u003e`slice`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`gzipOn`\" pulumi-lang-dotnet=\"`GzipOn`\" pulumi-lang-go=\"`gzipOn`\" pulumi-lang-python=\"`gzip_on`\" pulumi-lang-yaml=\"`gzipOn`\" pulumi-lang-java=\"`gzipOn`\"\u003e`gzip_on`\u003c/span\u003e if any of them are enabled simultaneously. `application/wasm` value is not supported when the shielded option is disabled, compression in this case is performed on the origin shielding, so it must be active for the MIME type to be compressed.\n"},"gzipOn":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Enables content compression using gzip on the CDN side. CDN servers will request only uncompressed content from the origin. Conflicts with \u003cspan pulumi-lang-nodejs=\"`fetchCompressed`\" pulumi-lang-dotnet=\"`FetchCompressed`\" pulumi-lang-go=\"`fetchCompressed`\" pulumi-lang-python=\"`fetch_compressed`\" pulumi-lang-yaml=\"`fetchCompressed`\" pulumi-lang-java=\"`fetchCompressed`\"\u003e`fetch_compressed`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`slice`\" pulumi-lang-dotnet=\"`Slice`\" pulumi-lang-go=\"`slice`\" pulumi-lang-python=\"`slice`\" pulumi-lang-yaml=\"`slice`\" pulumi-lang-java=\"`slice`\"\u003e`slice`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`gzipCompression`\" pulumi-lang-dotnet=\"`GzipCompression`\" pulumi-lang-go=\"`gzipCompression`\" pulumi-lang-python=\"`gzip_compression`\" pulumi-lang-yaml=\"`gzipCompression`\" pulumi-lang-java=\"`gzipCompression`\"\u003e`gzip_compression`\u003c/span\u003e if any of them are enabled simultaneously.\n"},"hostHeader":{"$ref":"#/types/vkcs:index%2FCdnResourceOptionsHostHeader:CdnResourceOptionsHostHeader","description":"optional \u0026rarr;  Use this option to specify the Host header that CDN servers use when request content from an origin server. If the option is not set, the header value is equal to the first CNAME. Conflicts with \u003cspan pulumi-lang-nodejs=\"`forwardHostHeader`\" pulumi-lang-dotnet=\"`ForwardHostHeader`\" pulumi-lang-go=\"`forwardHostHeader`\" pulumi-lang-python=\"`forward_host_header`\" pulumi-lang-yaml=\"`forwardHostHeader`\" pulumi-lang-java=\"`forwardHostHeader`\"\u003e`forward_host_header`\u003c/span\u003e if both enabled simultaneously.\n"},"ignoreCookie":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Defines whether the files with the Set-Cookies header are cached as one file or as different ones.\n"},"ignoreQueryString":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Allows to specify how a file with different query strings is cached: either as one object (option is enabled) or as different objects (option is disabled.). \u003cspan pulumi-lang-nodejs=\"`ignoreQueryString`\" pulumi-lang-dotnet=\"`IgnoreQueryString`\" pulumi-lang-go=\"`ignoreQueryString`\" pulumi-lang-python=\"`ignore_query_string`\" pulumi-lang-yaml=\"`ignoreQueryString`\" pulumi-lang-java=\"`ignoreQueryString`\"\u003e`ignore_query_string`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`queryParamsWhitelist`\" pulumi-lang-dotnet=\"`QueryParamsWhitelist`\" pulumi-lang-go=\"`queryParamsWhitelist`\" pulumi-lang-python=\"`query_params_whitelist`\" pulumi-lang-yaml=\"`queryParamsWhitelist`\" pulumi-lang-java=\"`queryParamsWhitelist`\"\u003e`query_params_whitelist`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`queryParamsBlacklist`\" pulumi-lang-dotnet=\"`QueryParamsBlacklist`\" pulumi-lang-go=\"`queryParamsBlacklist`\" pulumi-lang-python=\"`query_params_blacklist`\" pulumi-lang-yaml=\"`queryParamsBlacklist`\" pulumi-lang-java=\"`queryParamsBlacklist`\"\u003e`query_params_blacklist`\u003c/span\u003e options cannot be enabled simultaneously.\n"},"ipAddressAcl":{"$ref":"#/types/vkcs:index%2FCdnResourceOptionsIpAddressAcl:CdnResourceOptionsIpAddressAcl","description":"optional \u0026rarr;  The option allows to control access to the CDN Resource content for specific IP addresses.\n"},"queryParamsBlacklist":{"$ref":"#/types/vkcs:index%2FCdnResourceOptionsQueryParamsBlacklist:CdnResourceOptionsQueryParamsBlacklist","description":"optional \u0026rarr;  Use this option to specify query parameters, so files with these query strings will be cached as one object, and files with other parameters will be cached as different objects. \u003cspan pulumi-lang-nodejs=\"`ignoreQueryString`\" pulumi-lang-dotnet=\"`IgnoreQueryString`\" pulumi-lang-go=\"`ignoreQueryString`\" pulumi-lang-python=\"`ignore_query_string`\" pulumi-lang-yaml=\"`ignoreQueryString`\" pulumi-lang-java=\"`ignoreQueryString`\"\u003e`ignore_query_string`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`queryParamsWhitelist`\" pulumi-lang-dotnet=\"`QueryParamsWhitelist`\" pulumi-lang-go=\"`queryParamsWhitelist`\" pulumi-lang-python=\"`query_params_whitelist`\" pulumi-lang-yaml=\"`queryParamsWhitelist`\" pulumi-lang-java=\"`queryParamsWhitelist`\"\u003e`query_params_whitelist`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`queryParamsBlacklist`\" pulumi-lang-dotnet=\"`QueryParamsBlacklist`\" pulumi-lang-go=\"`queryParamsBlacklist`\" pulumi-lang-python=\"`query_params_blacklist`\" pulumi-lang-yaml=\"`queryParamsBlacklist`\" pulumi-lang-java=\"`queryParamsBlacklist`\"\u003e`query_params_blacklist`\u003c/span\u003e options cannot be enabled simultaneously.\n"},"queryParamsWhitelist":{"$ref":"#/types/vkcs:index%2FCdnResourceOptionsQueryParamsWhitelist:CdnResourceOptionsQueryParamsWhitelist","description":"optional \u0026rarr;  Use this option to specify query parameters, so files with these query strings will be cached as different objects, and files with other parameters will be cached as one object. \u003cspan pulumi-lang-nodejs=\"`ignoreQueryString`\" pulumi-lang-dotnet=\"`IgnoreQueryString`\" pulumi-lang-go=\"`ignoreQueryString`\" pulumi-lang-python=\"`ignore_query_string`\" pulumi-lang-yaml=\"`ignoreQueryString`\" pulumi-lang-java=\"`ignoreQueryString`\"\u003e`ignore_query_string`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`queryParamsWhitelist`\" pulumi-lang-dotnet=\"`QueryParamsWhitelist`\" pulumi-lang-go=\"`queryParamsWhitelist`\" pulumi-lang-python=\"`query_params_whitelist`\" pulumi-lang-yaml=\"`queryParamsWhitelist`\" pulumi-lang-java=\"`queryParamsWhitelist`\"\u003e`query_params_whitelist`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`queryParamsBlacklist`\" pulumi-lang-dotnet=\"`QueryParamsBlacklist`\" pulumi-lang-go=\"`queryParamsBlacklist`\" pulumi-lang-python=\"`query_params_blacklist`\" pulumi-lang-yaml=\"`queryParamsBlacklist`\" pulumi-lang-java=\"`queryParamsBlacklist`\"\u003e`query_params_blacklist`\u003c/span\u003e options cannot be enabled simultaneously.\n"},"referrerAcl":{"$ref":"#/types/vkcs:index%2FCdnResourceOptionsReferrerAcl:CdnResourceOptionsReferrerAcl","description":"optional \u0026rarr;  Use this option to control access to the CDN resource content for specified domain names.\n"},"secureKey":{"$ref":"#/types/vkcs:index%2FCdnResourceOptionsSecureKey:CdnResourceOptionsSecureKey","description":"optional \u0026rarr;  Configures access with tokenized URLs. This makes impossible to access content without a valid (unexpired) token.\n"},"slice":{"type":"boolean","description":"optional *boolean* \u0026rarr;  If enabled, CDN servers request and cache files larger than 10 MB in parts. Origins must support HTTP Range requests.\n"},"stale":{"$ref":"#/types/vkcs:index%2FCdnResourceOptionsStale:CdnResourceOptionsStale","description":"optional \u0026rarr;  If enabled, CDN serves stale cached content in case of origin unavailability.\n"},"staticHeaders":{"$ref":"#/types/vkcs:index%2FCdnResourceOptionsStaticHeaders:CdnResourceOptionsStaticHeaders","description":"optional \u0026rarr;  Custom HTTP Headers that a CDN server adds to a response.\n"},"staticRequestHeaders":{"$ref":"#/types/vkcs:index%2FCdnResourceOptionsStaticRequestHeaders:CdnResourceOptionsStaticRequestHeaders","description":"optional \u0026rarr;  Custom HTTP Headers for a CDN server to add to a request.\n"},"tlsVersions":{"$ref":"#/types/vkcs:index%2FCdnResourceOptionsTlsVersions:CdnResourceOptionsTlsVersions","description":"optional \u0026rarr;  Manage the state of the TLS versions option. The option specifies a list of allowed SSL/TLS protocol versions.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["allowedHttpMethods","brotliCompression","browserCacheSettings","cors","countryAcl","edgeCacheSettings","fetchCompressed","forceReturn","forwardHostHeader","gzipCompression","gzipOn","hostHeader","ignoreCookie","ignoreQueryString","ipAddressAcl","queryParamsBlacklist","queryParamsWhitelist","referrerAcl","secureKey","slice","stale","staticHeaders","staticRequestHeaders","tlsVersions"]}}},"vkcs:index/CdnResourceOptionsAllowedHttpMethods:CdnResourceOptionsAllowedHttpMethods":{"properties":{"enabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Controls the option state.\n"},"values":{"type":"array","items":{"type":"string"},"description":"optional *string* \u0026rarr;  List of HTTP methods.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["enabled","values"]}}},"vkcs:index/CdnResourceOptionsBrotliCompression:CdnResourceOptionsBrotliCompression":{"properties":{"enabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Controls the option state.\n"},"values":{"type":"array","items":{"type":"string"},"description":"optional *set of* *string* \u0026rarr;  List of content types to be compressed. It's required to specify text/html here.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["enabled","values"]}}},"vkcs:index/CdnResourceOptionsBrowserCacheSettings:CdnResourceOptionsBrowserCacheSettings":{"properties":{"enabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Controls the option state.\n"},"value":{"type":"string","description":"optional *string* \u0026rarr;  Cache expiration time. Use '0s' to disable caching.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["enabled","value"]}}},"vkcs:index/CdnResourceOptionsCors:CdnResourceOptionsCors":{"properties":{"enabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Controls the option state.\n"},"values":{"type":"array","items":{"type":"string"},"description":"optional *string* \u0026rarr;  Value of the Access-Control-Allow-Origin header.\nPossible values:\n* [\"*\"] - adds \"*\" as the header value, content will be uploaded for requests from any domain.\n*[\"domain.com\", \"second.dom.com\"] - adds \"$http_origin\" as the header value if the origin matches one of the listed domains, content will be uploaded only for requests from the domains specified in the field.\n* [\"$http_origin\"] - adds \"$http_origin\" as the header value, content will be uploaded for requests from any domain, and the domain from which the request was sent will be added to the header in the response.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["enabled","values"]}}},"vkcs:index/CdnResourceOptionsCountryAcl:CdnResourceOptionsCountryAcl":{"properties":{"enabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Controls the option state.\n"},"exceptedValues":{"type":"array","items":{"type":"string"},"description":"optional *string* \u0026rarr;  List of countries according to ISO-3166-1. The meaning of the argument depends on \u003cspan pulumi-lang-nodejs=\"`policyType`\" pulumi-lang-dotnet=\"`PolicyType`\" pulumi-lang-go=\"`policyType`\" pulumi-lang-python=\"`policy_type`\" pulumi-lang-yaml=\"`policyType`\" pulumi-lang-java=\"`policyType`\"\u003e`policy_type`\u003c/span\u003e value.\n"},"policyType":{"type":"string","description":"optional *string* \u0026rarr;  The type of CDN resource access policy. Must be one of following: \"allow\", \"deny\".\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["enabled","exceptedValues","policyType"]}}},"vkcs:index/CdnResourceOptionsEdgeCacheSettings:CdnResourceOptionsEdgeCacheSettings":{"properties":{"customValues":{"type":"object","additionalProperties":{"type":"string"},"description":"optional *map of* *string* \u0026rarr;  A map representing the caching time for a response with a specific response code.\nThese settings have a higher priority than the value field.\n* Use \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 key to specify caching time for all response codes.\n* Use \u003cspan pulumi-lang-nodejs=\"`0s`\" pulumi-lang-dotnet=\"`0s`\" pulumi-lang-go=\"`0s`\" pulumi-lang-python=\"`0s`\" pulumi-lang-yaml=\"`0s`\" pulumi-lang-java=\"`0s`\"\u003e`0s`\u003c/span\u003e value to disable caching for a specific response code.\n"},"default":{"type":"string","description":"optional *string* \u0026rarr;  Enables content caching according to the origin cache settings.\n"},"enabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Controls the option state.\n"},"value":{"type":"string","description":"optional *string* \u0026rarr;  Caching time. The value is applied to the following response codes: 200, 206, 301, 302.\nResponses with codes 4xx, 5xx will not be cached. Use \u003cspan pulumi-lang-nodejs=\"`0s`\" pulumi-lang-dotnet=\"`0s`\" pulumi-lang-go=\"`0s`\" pulumi-lang-python=\"`0s`\" pulumi-lang-yaml=\"`0s`\" pulumi-lang-java=\"`0s`\"\u003e`0s`\u003c/span\u003e to disable caching.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["customValues","default","enabled","value"]}}},"vkcs:index/CdnResourceOptionsForceReturn:CdnResourceOptionsForceReturn":{"properties":{"body":{"type":"string","description":"optional *string* \u0026rarr;  URL for redirection or text.\n"},"code":{"type":"number","description":"optional *number* \u0026rarr;  Status code value.\n"},"enabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Controls the option state.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["body","code","enabled"]}}},"vkcs:index/CdnResourceOptionsGzipCompression:CdnResourceOptionsGzipCompression":{"properties":{"enabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Controls the option state.\n"},"values":{"type":"array","items":{"type":"string"},"description":"optional *set of* *string* \u0026rarr;  List of content types to be compressed. It's required to specify text/html here.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["enabled","values"]}}},"vkcs:index/CdnResourceOptionsHostHeader:CdnResourceOptionsHostHeader":{"properties":{"enabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Controls the option state.\n"},"value":{"type":"string","description":"optional *string* \u0026rarr;  Host Header value.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["enabled","value"]}}},"vkcs:index/CdnResourceOptionsIpAddressAcl:CdnResourceOptionsIpAddressAcl":{"properties":{"enabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Controls the option state.\n"},"exceptedValues":{"type":"array","items":{"type":"string"},"description":"optional *string* \u0026rarr;  List of IP addresses with a subnet mask. The meaning of the argument depends on \u003cspan pulumi-lang-nodejs=\"`policyType`\" pulumi-lang-dotnet=\"`PolicyType`\" pulumi-lang-go=\"`policyType`\" pulumi-lang-python=\"`policy_type`\" pulumi-lang-yaml=\"`policyType`\" pulumi-lang-java=\"`policyType`\"\u003e`policy_type`\u003c/span\u003e value.\n"},"policyType":{"type":"string","description":"optional *string* \u0026rarr;  The type of CDN resource access policy. Must be one of following: \"allow\", \"deny\".\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["enabled","exceptedValues","policyType"]}}},"vkcs:index/CdnResourceOptionsQueryParamsBlacklist:CdnResourceOptionsQueryParamsBlacklist":{"properties":{"enabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Controls the option state.\n"},"values":{"type":"array","items":{"type":"string"},"description":"optional *string* \u0026rarr;  List of query parameters.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["enabled","values"]}}},"vkcs:index/CdnResourceOptionsQueryParamsWhitelist:CdnResourceOptionsQueryParamsWhitelist":{"properties":{"enabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Controls the option state.\n"},"values":{"type":"array","items":{"type":"string"},"description":"optional *string* \u0026rarr;  List of query parameters.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["enabled","values"]}}},"vkcs:index/CdnResourceOptionsReferrerAcl:CdnResourceOptionsReferrerAcl":{"properties":{"enabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Controls the option state.\n"},"exceptedValues":{"type":"array","items":{"type":"string"},"description":"optional *string* \u0026rarr;  List of domain names or wildcard domains, without protocol. The meaning of the argument depends on \u003cspan pulumi-lang-nodejs=\"`policyType`\" pulumi-lang-dotnet=\"`PolicyType`\" pulumi-lang-go=\"`policyType`\" pulumi-lang-python=\"`policy_type`\" pulumi-lang-yaml=\"`policyType`\" pulumi-lang-java=\"`policyType`\"\u003e`policy_type`\u003c/span\u003e value.\n"},"policyType":{"type":"string","description":"optional *string* \u0026rarr;  The type of CDN resource access policy. Must be one of following: \"allow\", \"deny\".\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["enabled","exceptedValues","policyType"]}}},"vkcs:index/CdnResourceOptionsSecureKey:CdnResourceOptionsSecureKey":{"properties":{"enabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Controls the option state.\n"},"key":{"type":"string","description":"optional *string* \u0026rarr;  Secure key generated on your side which will be used for the URL signing.\n"},"type":{"type":"number","description":"optional *number* \u0026rarr;  Type of the URL signing. Choose one of the values: 0 — to include the end user's IP address to secure token generation, 2 — to exclude the end user's IP address from the secure token generation.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["enabled","key","type"]}}},"vkcs:index/CdnResourceOptionsStale:CdnResourceOptionsStale":{"properties":{"enabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Controls the option state.\n"},"values":{"type":"array","items":{"type":"string"},"description":"optional *string* \u0026rarr;  The list of errors to which the option is applied.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["enabled","values"]}}},"vkcs:index/CdnResourceOptionsStaticHeaders:CdnResourceOptionsStaticHeaders":{"properties":{"enabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Controls the option state.\n"},"value":{"type":"object","additionalProperties":{"type":"string"},"description":"optional *map of* *string* \u0026rarr;  A map of static headers in the format \u003cspan pulumi-lang-nodejs=\"\"headerName\"\" pulumi-lang-dotnet=\"\"HeaderName\"\" pulumi-lang-go=\"\"headerName\"\" pulumi-lang-python=\"\"header_name\"\" pulumi-lang-yaml=\"\"headerName\"\" pulumi-lang-java=\"\"headerName\"\"\u003e\"header_name\"\u003c/span\u003e: \u003cspan pulumi-lang-nodejs=\"\"headerValue\"\" pulumi-lang-dotnet=\"\"HeaderValue\"\" pulumi-lang-go=\"\"headerValue\"\" pulumi-lang-python=\"\"header_value\"\" pulumi-lang-yaml=\"\"headerValue\"\" pulumi-lang-java=\"\"headerValue\"\"\u003e\"header_value\"\u003c/span\u003e.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["enabled","value"]}}},"vkcs:index/CdnResourceOptionsStaticRequestHeaders:CdnResourceOptionsStaticRequestHeaders":{"properties":{"enabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Controls the option state.\n"},"value":{"type":"object","additionalProperties":{"type":"string"},"description":"optional *map of* *string* \u0026rarr;  A map of static headers in the format \u003cspan pulumi-lang-nodejs=\"\"headerName\"\" pulumi-lang-dotnet=\"\"HeaderName\"\" pulumi-lang-go=\"\"headerName\"\" pulumi-lang-python=\"\"header_name\"\" pulumi-lang-yaml=\"\"headerName\"\" pulumi-lang-java=\"\"headerName\"\"\u003e\"header_name\"\u003c/span\u003e: \u003cspan pulumi-lang-nodejs=\"\"headerValue\"\" pulumi-lang-dotnet=\"\"HeaderValue\"\" pulumi-lang-go=\"\"headerValue\"\" pulumi-lang-python=\"\"header_value\"\" pulumi-lang-yaml=\"\"headerValue\"\" pulumi-lang-java=\"\"headerValue\"\"\u003e\"header_value\"\u003c/span\u003e.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["enabled","value"]}}},"vkcs:index/CdnResourceOptionsTlsVersions:CdnResourceOptionsTlsVersions":{"properties":{"enabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Controls the option state.\n"},"values":{"type":"array","items":{"type":"string"},"description":"optional *string* \u0026rarr;  List of allowed SSL/TLS protocol versions. Allowed values: `SSLv3`, `TLSv1`, `TLSv1.1`, `TLSv1.2`, `TLSv1.3`.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["enabled","values"]}}},"vkcs:index/CdnResourceShielding:CdnResourceShielding":{"properties":{"enabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Defines whether origin shielding feature is enabled for the resource.\n"},"popId":{"type":"number","description":"optional *number* \u0026rarr;  ID of the origin shielding point of presence.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["enabled","popId"]}}},"vkcs:index/CdnResourceSslCertificate:CdnResourceSslCertificate":{"properties":{"id":{"type":"number","description":"optional *number* \u0026rarr;  ID of the SSL certificate linked to the CDN resource. Must be configured 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 \"own\".\n"},"status":{"type":"string","description":"read-only *string* \u0026rarr;  Status of the SSL certificate.\n"},"type":{"type":"string","description":"optional *string* \u0026rarr;  Type of the SSL certificate. Must be one of following: \u003cspan pulumi-lang-nodejs=\"\"notUsed\"\" pulumi-lang-dotnet=\"\"NotUsed\"\" pulumi-lang-go=\"\"notUsed\"\" pulumi-lang-python=\"\"not_used\"\" pulumi-lang-yaml=\"\"notUsed\"\" pulumi-lang-java=\"\"notUsed\"\"\u003e\"not_used\"\u003c/span\u003e, \"own\", \u003cspan pulumi-lang-nodejs=\"\"letsEncrypt\"\" pulumi-lang-dotnet=\"\"LetsEncrypt\"\" pulumi-lang-go=\"\"letsEncrypt\"\" pulumi-lang-python=\"\"lets_encrypt\"\" pulumi-lang-yaml=\"\"letsEncrypt\"\" pulumi-lang-java=\"\"letsEncrypt\"\"\u003e\"lets_encrypt\"\u003c/span\u003e.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["id","status","type"]}}},"vkcs:index/CdnResourceTimeouts:CdnResourceTimeouts":{"properties":{"create":{"type":"string"},"update":{"type":"string"}},"type":"object"},"vkcs:index/ComputeFloatingipAssociateTimeouts:ComputeFloatingipAssociateTimeouts":{"properties":{"create":{"type":"string"}},"type":"object"},"vkcs:index/ComputeInstanceBlockDevice:ComputeInstanceBlockDevice":{"properties":{"bootIndex":{"type":"number","description":"optional *number* \u0026rarr;  The boot index of the volume. It defaults to 0 if only one \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 is specified, and to -1 if more than one is configured. Changing this creates a new server. \u003cbr\u003e**Note:** You must set the boot index to 0 for one of the block devices if more than one is defined.\n"},"deleteOnTermination":{"type":"boolean"},"destinationType":{"type":"string","description":"optional *string* \u0026rarr;  The type that gets created. Possible values are \"volume\" and \"local\". Changing this creates a new server.\n"},"deviceType":{"type":"string","description":"optional *string* \u0026rarr;  The low-level device type that will be used. Most common thing is to leave this empty. Changing this creates a new server.\n"},"diskBus":{"type":"string","description":"optional *string* \u0026rarr;  The low-level disk bus that will be used. Most common thing is to leave this empty. Changing this creates a new server.\n"},"guestFormat":{"type":"string","description":"optional *string* \u0026rarr;  Specifies the guest server disk file system format, such as \u003cspan pulumi-lang-nodejs=\"`ext2`\" pulumi-lang-dotnet=\"`Ext2`\" pulumi-lang-go=\"`ext2`\" pulumi-lang-python=\"`ext2`\" pulumi-lang-yaml=\"`ext2`\" pulumi-lang-java=\"`ext2`\"\u003e`ext2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ext3`\" pulumi-lang-dotnet=\"`Ext3`\" pulumi-lang-go=\"`ext3`\" pulumi-lang-python=\"`ext3`\" pulumi-lang-yaml=\"`ext3`\" pulumi-lang-java=\"`ext3`\"\u003e`ext3`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ext4`\" pulumi-lang-dotnet=\"`Ext4`\" pulumi-lang-go=\"`ext4`\" pulumi-lang-python=\"`ext4`\" pulumi-lang-yaml=\"`ext4`\" pulumi-lang-java=\"`ext4`\"\u003e`ext4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`xfs`\" pulumi-lang-dotnet=\"`Xfs`\" pulumi-lang-go=\"`xfs`\" pulumi-lang-python=\"`xfs`\" pulumi-lang-yaml=\"`xfs`\" pulumi-lang-java=\"`xfs`\"\u003e`xfs`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`swap`\" pulumi-lang-dotnet=\"`Swap`\" pulumi-lang-go=\"`swap`\" pulumi-lang-python=\"`swap`\" pulumi-lang-yaml=\"`swap`\" pulumi-lang-java=\"`swap`\"\u003e`swap`\u003c/span\u003e. Swap block device mappings have the following restrictions:\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\u003emust be blank and\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\u003emust be local and only one swap disk per server and the size of the swap disk must be less than or equal to the swap size of the flavor. Changing this creates a new server.\n"},"sourceType":{"type":"string","description":"**required** *string* \u0026rarr;  The source type of the device. Must be one of \"blank\", \"image\", \"volume\", or \"snapshot\". Changing this creates a new server.\n"},"uuid":{"type":"string","description":"optional *string* \u0026rarr;  The UUID of the image, volume, or snapshot. Optional if \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 set to `\"blank\"`. Changing this creates a new server.\n"},"volumeSize":{"type":"number","description":"optional *number* \u0026rarr;  The size of the volume to create (in gigabytes). Required in the following combinations: source=image and destination=volume, source=blank and destination=local, and source=blank and destination=volume. Changing this creates a new server.\n"},"volumeType":{"type":"string","description":"optional *string* \u0026rarr;  The volume type that will be used. Changing this creates a new server.\n"}},"type":"object","required":["sourceType"],"language":{"nodejs":{"requiredOutputs":["bootIndex","sourceType"]}}},"vkcs:index/ComputeInstanceCloudMonitoring:ComputeInstanceCloudMonitoring":{"properties":{"script":{"type":"string","description":"**required** sensitive *string* \u0026rarr;  The script of the cloud monitoring.\n","secret":true},"serviceUserId":{"type":"string","description":"**required** *string* \u0026rarr;  The id of the service monitoring user.\n"}},"type":"object","required":["script","serviceUserId"]},"vkcs:index/ComputeInstanceNetwork:ComputeInstanceNetwork":{"properties":{"accessNetwork":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Specifies if this network should be used for provisioning access. Accepts true or false. Defaults to false.\n"},"fixedIpV4":{"type":"string","description":"optional *string* \u0026rarr;  Specifies a fixed IPv4 address to be used on this network. Changing this creates a new server.\n"},"mac":{"type":"string","description":"*string* \u0026rarr;  The MAC address of the NIC on that network.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  The human-readable name of the network. Optional if \u003cspan pulumi-lang-nodejs=\"`uuid`\" pulumi-lang-dotnet=\"`Uuid`\" pulumi-lang-go=\"`uuid`\" pulumi-lang-python=\"`uuid`\" pulumi-lang-yaml=\"`uuid`\" pulumi-lang-java=\"`uuid`\"\u003e`uuid`\u003c/span\u003e or \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 is provided. Changing this creates a new server.\n"},"port":{"type":"string","description":"optional *string* \u0026rarr;  The port UUID of a network to attach to the server. Optional if \u003cspan pulumi-lang-nodejs=\"`uuid`\" pulumi-lang-dotnet=\"`Uuid`\" pulumi-lang-go=\"`uuid`\" pulumi-lang-python=\"`uuid`\" pulumi-lang-yaml=\"`uuid`\" pulumi-lang-java=\"`uuid`\"\u003e`uuid`\u003c/span\u003e or \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 is provided. Changing this creates a new server. \u003cbr\u003e**Note:** If port is used, only its security groups will be applied instead of\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\u003einstance argument.\n"},"uuid":{"type":"string","description":"optional *string* \u0026rarr;  The network UUID to attach to the server. Optional if \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 or \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 is provided. Changing this creates a new server.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["fixedIpV4","mac","name","port","uuid"]}}},"vkcs:index/ComputeInstancePersonality:ComputeInstancePersonality":{"properties":{"content":{"type":"string","description":"**required** *string* \u0026rarr;  The contents of the file.\n"},"file":{"type":"string","description":"**required** *string* \u0026rarr;  The absolute path of the destination file. Limited to 255 bytes.\n"}},"type":"object","required":["content","file"]},"vkcs:index/ComputeInstanceSchedulerHint:ComputeInstanceSchedulerHint":{"properties":{"group":{"type":"string","description":"optional *string* \u0026rarr;  A UUID of a Server Group. The instance will be placed into that group.\n"}},"type":"object"},"vkcs:index/ComputeInstanceTimeouts:ComputeInstanceTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"vkcs:index/ComputeInstanceVendorOptions:ComputeInstanceVendorOptions":{"properties":{"detachPortsBeforeDestroy":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Whether to try to detach all attached ports to the vm before destroying it to make sure the port state is correct after the vm destruction. This is helpful when the port is not deleted.\n"},"getPasswordData":{"type":"boolean","description":"optional *boolean* \u0026rarr;  If true, wait for initial windows admin password to be generated and retrieve it. Use this attribute only for instances running Microsoft Windows. The password data is exported to the \u003cspan pulumi-lang-nodejs=\"`passwordData`\" pulumi-lang-dotnet=\"`PasswordData`\" pulumi-lang-go=\"`passwordData`\" pulumi-lang-python=\"`password_data`\" pulumi-lang-yaml=\"`passwordData`\" pulumi-lang-java=\"`passwordData`\"\u003e`password_data`\u003c/span\u003e attribute. The password will be generated only if you specify the instance \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. The password will be read only once when the instance is created.\u003cbr\u003e**New since v0.9.3**.\n"},"ignoreResizeConfirmation":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Boolean to control whether to ignore manual confirmation of the instance resizing.\n"}},"type":"object"},"vkcs:index/ComputeInterfaceAttachTimeouts:ComputeInterfaceAttachTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"vkcs:index/ComputeVolumeAttachTimeouts:ComputeVolumeAttachTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"vkcs:index/DataplatformClusterConfigs:DataplatformClusterConfigs":{"properties":{"maintenance":{"$ref":"#/types/vkcs:index%2FDataplatformClusterConfigsMaintenance:DataplatformClusterConfigsMaintenance","description":"***required*** \u0026rarr;  Maintenance settings.\n"},"settings":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FDataplatformClusterConfigsSetting:DataplatformClusterConfigsSetting"},"description":"*list* \u0026rarr;  Additional common settings.\n"},"users":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FDataplatformClusterConfigsUser:DataplatformClusterConfigsUser"},"description":"*list* \u0026rarr;  Users settings.\n"},"warehouses":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FDataplatformClusterConfigsWarehouse:DataplatformClusterConfigsWarehouse"},"description":"*list* \u0026rarr;  Warehouses settings. Changing this creates a new resource.\n"}},"type":"object","required":["maintenance"],"language":{"nodejs":{"requiredOutputs":["maintenance","settings","users","warehouses"]}}},"vkcs:index/DataplatformClusterConfigsMaintenance:DataplatformClusterConfigsMaintenance":{"properties":{"backup":{"$ref":"#/types/vkcs:index%2FDataplatformClusterConfigsMaintenanceBackup:DataplatformClusterConfigsMaintenanceBackup","description":"optional \u0026rarr;  Backup settings.\n"},"crontabs":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FDataplatformClusterConfigsMaintenanceCrontab:DataplatformClusterConfigsMaintenanceCrontab"},"description":"*list* \u0026rarr;  Cron tabs settings.\n"},"start":{"type":"string","description":"optional *string* \u0026rarr;  Maintenance cron schedule. Defined in UTC.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["backup","crontabs","start"]}}},"vkcs:index/DataplatformClusterConfigsMaintenanceBackup:DataplatformClusterConfigsMaintenanceBackup":{"properties":{"differential":{"$ref":"#/types/vkcs:index%2FDataplatformClusterConfigsMaintenanceBackupDifferential:DataplatformClusterConfigsMaintenanceBackupDifferential","description":"optional \u0026rarr;  Differential backup settings.\n"},"full":{"$ref":"#/types/vkcs:index%2FDataplatformClusterConfigsMaintenanceBackupFull:DataplatformClusterConfigsMaintenanceBackupFull","description":"optional \u0026rarr;  Full backup settings.\n"},"incremental":{"$ref":"#/types/vkcs:index%2FDataplatformClusterConfigsMaintenanceBackupIncremental:DataplatformClusterConfigsMaintenanceBackupIncremental","description":"optional \u0026rarr;  Incremental backup settings.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["differential","full","incremental"]}}},"vkcs:index/DataplatformClusterConfigsMaintenanceBackupDifferential:DataplatformClusterConfigsMaintenanceBackupDifferential":{"properties":{"enabled":{"type":"boolean","description":"read-only *boolean* \u0026rarr;  Whether differential backup is enabled.\n"},"keepCount":{"type":"number","description":"optional *number*\n"},"keepTime":{"type":"number","description":"optional *number*\n"},"start":{"type":"string","description":"**required** *string* \u0026rarr;  Differential backup schedule. Defined in UTC.\n"}},"type":"object","required":["start"],"language":{"nodejs":{"requiredOutputs":["enabled","keepCount","keepTime","start"]}}},"vkcs:index/DataplatformClusterConfigsMaintenanceBackupFull:DataplatformClusterConfigsMaintenanceBackupFull":{"properties":{"enabled":{"type":"boolean","description":"read-only *boolean* \u0026rarr;  Whether full backup is enabled.\n"},"keepCount":{"type":"number","description":"optional *number*\n"},"keepTime":{"type":"number","description":"optional *number*\n"},"start":{"type":"string","description":"**required** *string* \u0026rarr;  Full backup schedule. Defined in UTC. \u003cbr\u003e**Note:** `configs.maintenance.backup.full.start` must be equal to `configs.maintenance.start`.\n"}},"type":"object","required":["start"],"language":{"nodejs":{"requiredOutputs":["enabled","keepCount","keepTime","start"]}}},"vkcs:index/DataplatformClusterConfigsMaintenanceBackupIncremental:DataplatformClusterConfigsMaintenanceBackupIncremental":{"properties":{"enabled":{"type":"boolean","description":"read-only *boolean* \u0026rarr;  Whether incremental backup is enabled.\n"},"keepCount":{"type":"number","description":"optional *number*\n"},"keepTime":{"type":"number","description":"optional *number*\n"},"start":{"type":"string","description":"**required** *string* \u0026rarr;  Incremental backup schedule. Defined in UTC.\n"}},"type":"object","required":["start"],"language":{"nodejs":{"requiredOutputs":["enabled","keepCount","keepTime","start"]}}},"vkcs:index/DataplatformClusterConfigsMaintenanceCrontab:DataplatformClusterConfigsMaintenanceCrontab":{"properties":{"id":{"type":"string","description":"read-only *string*\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  Cron tab name.\n"},"required":{"type":"boolean","description":"read-only *boolean* \u0026rarr;  Whether cron tab is required.\n"},"settings":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FDataplatformClusterConfigsMaintenanceCrontabSetting:DataplatformClusterConfigsMaintenanceCrontabSetting"},"description":"*list* \u0026rarr;  Additional cron settings.\n"},"start":{"type":"string","description":"optional *string* \u0026rarr;  Cron tab schedule. Defined in UTC.\n"}},"type":"object","required":["name"],"language":{"nodejs":{"requiredOutputs":["id","name","required","settings","start"]}}},"vkcs:index/DataplatformClusterConfigsMaintenanceCrontabSetting:DataplatformClusterConfigsMaintenanceCrontabSetting":{"properties":{"alias":{"type":"string","description":"**required** *string* \u0026rarr;  Setting alias.\n"},"value":{"type":"string","description":"**required** *string* \u0026rarr;  Setting value.\n"}},"type":"object","required":["alias","value"]},"vkcs:index/DataplatformClusterConfigsSetting:DataplatformClusterConfigsSetting":{"properties":{"alias":{"type":"string","description":"**required** *string* \u0026rarr;  Setting alias.\n"},"value":{"type":"string","description":"**required** *string* \u0026rarr;  Setting value.\n"}},"type":"object","required":["alias","value"]},"vkcs:index/DataplatformClusterConfigsUser:DataplatformClusterConfigsUser":{"properties":{"createdAt":{"type":"string","description":"read-only *string*\n"},"id":{"type":"string","description":"read-only *string*\n"},"password":{"type":"string","description":"**required** sensitive *string* \u0026rarr;  Password. Changing this creates a new resource.\n","secret":true},"role":{"type":"string","description":"optional *string* \u0026rarr;  User role. Changing this creates a new resource.\n"},"username":{"type":"string","description":"**required** *string* \u0026rarr;  Username\n"}},"type":"object","required":["password","username"],"language":{"nodejs":{"requiredOutputs":["createdAt","id","password","role","username"]}}},"vkcs:index/DataplatformClusterConfigsWarehouse:DataplatformClusterConfigsWarehouse":{"properties":{"connections":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FDataplatformClusterConfigsWarehouseConnection:DataplatformClusterConfigsWarehouseConnection"},"description":"*list* \u0026rarr;  Warehouse connections.\n"},"id":{"type":"string","description":"read-only *string* \u0026rarr;  Warehouse ID.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  Warehouse name. Changing this creates a new resource.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["connections","id","name"]}}},"vkcs:index/DataplatformClusterConfigsWarehouseConnection:DataplatformClusterConfigsWarehouseConnection":{"properties":{"createdAt":{"type":"string","description":"read-only *string* \u0026rarr;  Connection creation timestamp.\n"},"id":{"type":"string","description":"read-only *string* \u0026rarr;  Connection ID.\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  Connection name.\n"},"plug":{"type":"string","description":"**required** *string* \u0026rarr;  Connection plug.\n"},"settings":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FDataplatformClusterConfigsWarehouseConnectionSetting:DataplatformClusterConfigsWarehouseConnectionSetting"},"description":"*list* \u0026rarr;  Additional warehouse settings.\n"}},"type":"object","required":["name","plug","settings"],"language":{"nodejs":{"requiredOutputs":["createdAt","id","name","plug","settings"]}}},"vkcs:index/DataplatformClusterConfigsWarehouseConnectionSetting:DataplatformClusterConfigsWarehouseConnectionSetting":{"properties":{"alias":{"type":"string","description":"**required** *string* \u0026rarr;  Setting alias.\n"},"value":{"type":"string","description":"**required** *string* \u0026rarr;  Setting value.\n"}},"type":"object","required":["alias","value"]},"vkcs:index/DataplatformClusterInfo:DataplatformClusterInfo":{"properties":{"services":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FDataplatformClusterInfoService:DataplatformClusterInfoService"},"description":"*list* \u0026rarr;  Application services info\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["services"]}}},"vkcs:index/DataplatformClusterInfoService:DataplatformClusterInfoService":{"properties":{"connectionString":{"type":"string","description":"*string* \u0026rarr;  Service connection string\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Cluster description.\n"},"exposed":{"type":"boolean","description":"*boolean* \u0026rarr;  Whether service is exposed\n"},"type":{"type":"string","description":"*string* \u0026rarr;  Service type\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["connectionString","description","exposed","type"]}}},"vkcs:index/DataplatformClusterPodGroup:DataplatformClusterPodGroup":{"properties":{"alias":{"type":"string","description":"read-only *string* \u0026rarr;  Pod group alias.\n"},"availabilityZone":{"type":"string","description":"read-only *string*\n"},"count":{"type":"number","description":"optional *number* \u0026rarr;  Pod count.\n"},"floatingIpPool":{"type":"string","description":"optional *string* \u0026rarr;  Floating IP pool ID. Changing this creates a new resource.\n"},"id":{"type":"string","description":"read-only *string* \u0026rarr;  Pod group ID.\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  Pod group name. Changing this creates a new resource.\n"},"resource":{"$ref":"#/types/vkcs:index%2FDataplatformClusterPodGroupResource:DataplatformClusterPodGroupResource","description":"optional \u0026rarr;  Resource request settings. Changing this creates a new resource.\n"},"volumes":{"type":"object","additionalProperties":{"$ref":"#/types/vkcs:index%2FDataplatformClusterPodGroupVolumes:DataplatformClusterPodGroupVolumes"},"description":"*map* \u0026rarr;  Volumes settings. Changing this creates a new resource.\n"}},"type":"object","required":["name"],"language":{"nodejs":{"requiredOutputs":["alias","availabilityZone","count","floatingIpPool","id","name","resource","volumes"]}}},"vkcs:index/DataplatformClusterPodGroupResource:DataplatformClusterPodGroupResource":{"properties":{"cpuLimit":{"type":"string","description":"read-only *string* \u0026rarr;  CPU limit.\n"},"cpuRequest":{"type":"string","description":"optional *string* \u0026rarr;  Resource request settings. Changing this creates a new resource.\n"},"ramLimit":{"type":"string","description":"read-only *string* \u0026rarr;  RAM limit settings.\n"},"ramRequest":{"type":"string","description":"optional *string* \u0026rarr;  RAM request settings. Changing this creates a new resource.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["cpuLimit","cpuRequest","ramLimit","ramRequest"]}}},"vkcs:index/DataplatformClusterPodGroupVolumes:DataplatformClusterPodGroupVolumes":{"properties":{"count":{"type":"number","description":"**required** *number* \u0026rarr;  Volume count. Changing this creates a new resource.\n"},"storage":{"type":"string","description":"**required** *string* \u0026rarr;  Storage size.\n"},"storageClassName":{"type":"string","description":"**required** *string* \u0026rarr;  Storage class name. Changing this creates a new resource.\n"}},"type":"object","required":["count","storage","storageClassName"]},"vkcs:index/DbBackupDatastore:DbBackupDatastore":{"properties":{"type":{"type":"string","description":"*string* \u0026rarr;  Version of the datastore. Changing this creates a new instance.\n"},"version":{"type":"string","description":"*string* \u0026rarr;  Type of the datastore. Changing this creates a new instance.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["type","version"]}}},"vkcs:index/DbBackupTimeouts:DbBackupTimeouts":{"properties":{"create":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"},"delete":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n"}},"type":"object"},"vkcs:index/DbClusterBackupSchedule:DbClusterBackupSchedule":{"properties":{"intervalHours":{"type":"number","description":"**required** *number* \u0026rarr;  Time interval between backups, specified in hours. Available values: 3, 6, 8, 12, 24.\n"},"keepCount":{"type":"number","description":"**required** *number* \u0026rarr;  Number of backups to be stored.\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  Name of the schedule.\n"},"startHours":{"type":"number","description":"**required** *number* \u0026rarr;  Hours part of timestamp of initial backup.\n"},"startMinutes":{"type":"number","description":"**required** *number* \u0026rarr;  Minutes part of timestamp of initial backup.\n"}},"type":"object","required":["intervalHours","keepCount","name","startHours","startMinutes"]},"vkcs:index/DbClusterCapability:DbClusterCapability":{"properties":{"name":{"type":"string","description":"**required** *string* \u0026rarr;  The name of the capability to apply.\n"},"settings":{"type":"object","additionalProperties":{"type":"string"},"description":"optional *map of* *string* \u0026rarr;  Map of key-value settings of the capability.\n"}},"type":"object","required":["name"]},"vkcs:index/DbClusterDatastore:DbClusterDatastore":{"properties":{"type":{"type":"string","description":"**required** *string* \u0026rarr;  Type of the datastore. Changing this creates a new cluster. Must be one of: \u003cspan pulumi-lang-nodejs=\"`galeraMysql`\" pulumi-lang-dotnet=\"`GaleraMysql`\" pulumi-lang-go=\"`galeraMysql`\" pulumi-lang-python=\"`galera_mysql`\" pulumi-lang-yaml=\"`galeraMysql`\" pulumi-lang-java=\"`galeraMysql`\"\u003e`galera_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, \u003cspan pulumi-lang-nodejs=\"`postgresqlMultiaz`\" pulumi-lang-dotnet=\"`PostgresqlMultiaz`\" pulumi-lang-go=\"`postgresqlMultiaz`\" pulumi-lang-python=\"`postgresql_multiaz`\" pulumi-lang-yaml=\"`postgresqlMultiaz`\" pulumi-lang-java=\"`postgresqlMultiaz`\"\u003e`postgresql_multiaz`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`tarantool`\" pulumi-lang-dotnet=\"`Tarantool`\" pulumi-lang-go=\"`tarantool`\" pulumi-lang-python=\"`tarantool`\" pulumi-lang-yaml=\"`tarantool`\" pulumi-lang-java=\"`tarantool`\"\u003e`tarantool`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`postgresproEnterprise`\" pulumi-lang-dotnet=\"`PostgresproEnterprise`\" pulumi-lang-go=\"`postgresproEnterprise`\" pulumi-lang-python=\"`postgrespro_enterprise`\" pulumi-lang-yaml=\"`postgresproEnterprise`\" pulumi-lang-java=\"`postgresproEnterprise`\"\u003e`postgrespro_enterprise`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`postgresproEnterprise1c`\" pulumi-lang-dotnet=\"`PostgresproEnterprise1c`\" pulumi-lang-go=\"`postgresproEnterprise1c`\" pulumi-lang-python=\"`postgrespro_enterprise_1c`\" pulumi-lang-yaml=\"`postgresproEnterprise1c`\" pulumi-lang-java=\"`postgresproEnterprise1c`\"\u003e`postgrespro_enterprise_1c`\u003c/span\u003e. The following datastores may not be available: \u003cspan pulumi-lang-nodejs=\"`postgresproEnterprise`\" pulumi-lang-dotnet=\"`PostgresproEnterprise`\" pulumi-lang-go=\"`postgresproEnterprise`\" pulumi-lang-python=\"`postgrespro_enterprise`\" pulumi-lang-yaml=\"`postgresproEnterprise`\" pulumi-lang-java=\"`postgresproEnterprise`\"\u003e`postgrespro_enterprise`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`postgresproEnterprise1c`\" pulumi-lang-dotnet=\"`PostgresproEnterprise1c`\" pulumi-lang-go=\"`postgresproEnterprise1c`\" pulumi-lang-python=\"`postgrespro_enterprise_1c`\" pulumi-lang-yaml=\"`postgresproEnterprise1c`\" pulumi-lang-java=\"`postgresproEnterprise1c`\"\u003e`postgrespro_enterprise_1c`\u003c/span\u003e, please contact support for details.\n"},"version":{"type":"string","description":"**required** *string* \u0026rarr;  Version of the datastore. Changing this creates a new cluster.\n"}},"type":"object","required":["type","version"]},"vkcs:index/DbClusterDiskAutoexpand:DbClusterDiskAutoexpand":{"properties":{"autoexpand":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Indicates whether autoresize is enabled.\n"},"maxDiskSize":{"type":"number","description":"optional *number* \u0026rarr;  Maximum disk size for autoresize.\n"}},"type":"object"},"vkcs:index/DbClusterInstance:DbClusterInstance":{"properties":{"instanceId":{"type":"string"},"ips":{"type":"array","items":{"type":"string"}},"role":{"type":"string"}},"type":"object","required":["instanceId","ips","role"]},"vkcs:index/DbClusterNetwork:DbClusterNetwork":{"properties":{"port":{"type":"string","description":"optional deprecated *string* \u0026rarr;  The port id of the network. Changing this creates a new cluster. **Deprecated** This argument is deprecated, please do not use it.\n","deprecationMessage":"Deprecated"},"securityGroups":{"type":"array","items":{"type":"string"},"description":"optional *set of* *string* \u0026rarr;  An array of one or more security group IDs to associate with the cluster instances. Changing this creates a new cluster.\u003cbr\u003e**New since v0.2.0**.\n"},"subnetId":{"type":"string","description":"optional *string* \u0026rarr;  The id of the subnet. Changing this creates a new cluster.\u003cbr\u003e**New since v0.1.15**.\n"},"uuid":{"type":"string","description":"optional *string* \u0026rarr;  The id of the network. Changing this creates a new cluster. \u003cbr\u003e**Note:** Although this argument is marked as optional, it is actually required at the moment. Not setting a value for it may cause an error.\n"}},"type":"object"},"vkcs:index/DbClusterRestorePoint:DbClusterRestorePoint":{"properties":{"backupId":{"type":"string","description":"**required** *string* \u0026rarr;  ID of the backup.\n"},"target":{"type":"string","description":"optional *string* \u0026rarr;  Used only for restoring from PITR backups. Timestamp of needed backup in format \"2021-10-06 01:02:00\". You can specify \"latest\" to use most recent backup.\n"}},"type":"object","required":["backupId"]},"vkcs:index/DbClusterTimeouts:DbClusterTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"vkcs:index/DbClusterVendorOptions:DbClusterVendorOptions":{"properties":{"restartConfirmed":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Boolean to confirm autorestart of the cluster's instances if it is required to apply configuration group changes.\n"}},"type":"object"},"vkcs:index/DbClusterWalDiskAutoexpand:DbClusterWalDiskAutoexpand":{"properties":{"autoexpand":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Indicates whether wal volume autoresize is enabled.\n"},"maxDiskSize":{"type":"number","description":"optional *number* \u0026rarr;  Maximum disk size for wal volume autoresize.\n"}},"type":"object"},"vkcs:index/DbClusterWalVolume:DbClusterWalVolume":{"properties":{"size":{"type":"number","description":"**required** *number* \u0026rarr;  Size of the instance wal volume.\n"},"volumeType":{"type":"string","description":"**required** *string* \u0026rarr;  The type of the cluster wal volume. Changing this creates a new cluster.\n"}},"type":"object","required":["size","volumeType"]},"vkcs:index/DbClusterWithShardsCapability:DbClusterWithShardsCapability":{"properties":{"name":{"type":"string","description":"**required** *string* \u0026rarr;  The name of the capability to apply.\n"},"settings":{"type":"object","additionalProperties":{"type":"string"},"description":"optional *map of* *string* \u0026rarr;  Map of key-value settings of the capability.\n"}},"type":"object","required":["name"]},"vkcs:index/DbClusterWithShardsDatastore:DbClusterWithShardsDatastore":{"properties":{"type":{"type":"string","description":"**required** *string* \u0026rarr;  Type of the datastore. Changing this creates a new cluster. Must be one of: \u003cspan pulumi-lang-nodejs=\"`clickhouse`\" pulumi-lang-dotnet=\"`Clickhouse`\" pulumi-lang-go=\"`clickhouse`\" pulumi-lang-python=\"`clickhouse`\" pulumi-lang-yaml=\"`clickhouse`\" pulumi-lang-java=\"`clickhouse`\"\u003e`clickhouse`\u003c/span\u003e\n"},"version":{"type":"string","description":"**required** *string* \u0026rarr;  Version of the datastore. Changing this creates a new cluster.\n"}},"type":"object","required":["type","version"]},"vkcs:index/DbClusterWithShardsDiskAutoexpand:DbClusterWithShardsDiskAutoexpand":{"properties":{"autoexpand":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Indicates whether autoresize is enabled.\n"},"maxDiskSize":{"type":"number","description":"optional *number* \u0026rarr;  Maximum disk size for autoresize.\n"}},"type":"object"},"vkcs:index/DbClusterWithShardsRestorePoint:DbClusterWithShardsRestorePoint":{"properties":{"backupId":{"type":"string","description":"**required** *string* \u0026rarr;  ID of the backup.\n"}},"type":"object","required":["backupId"]},"vkcs:index/DbClusterWithShardsShard:DbClusterWithShardsShard":{"properties":{"availabilityZone":{"type":"string","description":"optional *string* \u0026rarr;  The name of the availability zone of the cluster shard. Changing this creates a new cluster.\n"},"flavorId":{"type":"string","description":"**required** *string* \u0026rarr;  The ID of flavor for the cluster shard.\n"},"instances":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FDbClusterWithShardsShardInstance:DbClusterWithShardsShardInstance"},"description":"*object* \u0026rarr;  Shard instances info.\u003cbr\u003e**New since v0.1.15**.\n"},"networks":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FDbClusterWithShardsShardNetwork:DbClusterWithShardsShardNetwork"},"description":"optional\n"},"shardId":{"type":"string","description":"**required** *string* \u0026rarr;  The ID of the shard. Changing this creates a new cluster.\n"},"shrinkOptions":{"type":"array","items":{"type":"string"},"description":"optional *string* \u0026rarr;  Used only for shrinking cluster. List of IDs of instances that should remain after shrink. If no options are supplied, shrink operation will choose first non-leader instance to delete.\n"},"size":{"type":"number","description":"**required** *number* \u0026rarr;  The number of instances in the cluster shard.\n"},"volumeSize":{"type":"number","description":"**required** *number* \u0026rarr;  Size of the cluster shard instance volume.\n"},"volumeType":{"type":"string","description":"**required** *string* \u0026rarr;  The type of the cluster shard instance volume.\n"},"walVolumes":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FDbClusterWithShardsShardWalVolume:DbClusterWithShardsShardWalVolume"},"description":"optional \u0026rarr;  Object that represents wal volume of the cluster.\n"}},"type":"object","required":["flavorId","shardId","size","volumeSize","volumeType"],"language":{"nodejs":{"requiredOutputs":["flavorId","instances","shardId","size","volumeSize","volumeType"]}}},"vkcs:index/DbClusterWithShardsShardInstance:DbClusterWithShardsShardInstance":{"properties":{"instanceId":{"type":"string"},"ips":{"type":"array","items":{"type":"string"}}},"type":"object","required":["instanceId","ips"]},"vkcs:index/DbClusterWithShardsShardNetwork:DbClusterWithShardsShardNetwork":{"properties":{"port":{"type":"string","description":"optional deprecated *string* \u0026rarr;  The port id of the network. Changing this creates a new cluster. **Deprecated** This argument is deprecated, please do not use it.\n","deprecationMessage":"Deprecated"},"securityGroups":{"type":"array","items":{"type":"string"},"description":"optional *set of* *string* \u0026rarr;  An array of one or more security group IDs to associate with the shard instances. Changing this creates a new cluster.\u003cbr\u003e**New since v0.2.0**.\n"},"subnetId":{"type":"string","description":"optional *string* \u0026rarr;  The id of the subnet. Changing this creates a new cluster.\u003cbr\u003e**New since v0.1.15**.\n"},"uuid":{"type":"string","description":"optional *string* \u0026rarr;  The id of the network. Changing this creates a new cluster. \u003cbr\u003e**Note:** Although this argument is marked as optional, it is actually required at the moment. Not setting a value for it may cause an error.\n"}},"type":"object"},"vkcs:index/DbClusterWithShardsShardWalVolume:DbClusterWithShardsShardWalVolume":{"properties":{"size":{"type":"number","description":"**required** *number* \u0026rarr;  Size of the instance wal volume.\n"},"volumeType":{"type":"string","description":"**required** *string* \u0026rarr;  The type of the cluster wal volume.\n"}},"type":"object","required":["size","volumeType"]},"vkcs:index/DbClusterWithShardsTimeouts:DbClusterWithShardsTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"vkcs:index/DbClusterWithShardsVendorOptions:DbClusterWithShardsVendorOptions":{"properties":{"restartConfirmed":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Boolean to confirm autorestart of the cluster's instances if it is required to apply configuration group changes.\n"}},"type":"object"},"vkcs:index/DbClusterWithShardsWalDiskAutoexpand:DbClusterWithShardsWalDiskAutoexpand":{"properties":{"autoexpand":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Indicates whether wal volume autoresize is enabled.\n"},"maxDiskSize":{"type":"number","description":"optional *number* \u0026rarr;  Maximum disk size for wal volume autoresize.\n"}},"type":"object"},"vkcs:index/DbConfigGroupDatastore:DbConfigGroupDatastore":{"properties":{"type":{"type":"string","description":"**required** *string* \u0026rarr;  Type of the datastore.\n"},"version":{"type":"string","description":"**required** *string* \u0026rarr;  Version of the datastore.\n"}},"type":"object","required":["type","version"]},"vkcs:index/DbDatabaseTimeouts:DbDatabaseTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"vkcs:index/DbDatabaseVendorOptions:DbDatabaseVendorOptions":{"properties":{"forceDeletion":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Whether to try to force delete the database. Some datastores restricts regular database deletion in some circumstances but provides force deletion for that cases.\n"}},"type":"object"},"vkcs:index/DbInstanceBackupSchedule:DbInstanceBackupSchedule":{"properties":{"intervalHours":{"type":"number","description":"**required** *number* \u0026rarr;  Time interval between backups, specified in hours. Available values: 3, 6, 8, 12, 24.\n"},"keepCount":{"type":"number","description":"**required** *number* \u0026rarr;  Number of backups to be stored.\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  Name of the schedule.\n"},"startHours":{"type":"number","description":"**required** *number* \u0026rarr;  Hours part of timestamp of initial backup.\n"},"startMinutes":{"type":"number","description":"**required** *number* \u0026rarr;  Minutes part of timestamp of initial backup.\n"}},"type":"object","required":["intervalHours","keepCount","name","startHours","startMinutes"]},"vkcs:index/DbInstanceCapability:DbInstanceCapability":{"properties":{"name":{"type":"string","description":"**required** *string* \u0026rarr;  The name of the capability to apply.\n"},"settings":{"type":"object","additionalProperties":{"type":"string"},"description":"optional *map of* *string* \u0026rarr;  Map of key-value settings of the capability.\n"}},"type":"object","required":["name"]},"vkcs:index/DbInstanceDatastore:DbInstanceDatastore":{"properties":{"type":{"type":"string","description":"**required** *string* \u0026rarr;  Type of the datastore. Changing this creates a new instance.\n"},"version":{"type":"string","description":"**required** *string* \u0026rarr;  Version of the datastore. Changing this creates a new instance.\n"}},"type":"object","required":["type","version"]},"vkcs:index/DbInstanceDiskAutoexpand:DbInstanceDiskAutoexpand":{"properties":{"autoexpand":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Indicates whether autoresize is enabled.\n"},"maxDiskSize":{"type":"number","description":"optional *number* \u0026rarr;  Maximum disk size for autoresize.\n"}},"type":"object"},"vkcs:index/DbInstanceNetwork:DbInstanceNetwork":{"properties":{"fixedIpV4":{"type":"string","description":"optional deprecated *string* \u0026rarr;  The IPv4 address. Changing this creates a new instance. \u003cbr\u003e**Note:** This argument conflicts with \u003cspan pulumi-lang-nodejs=\"\"replicaOf\"\" pulumi-lang-dotnet=\"\"ReplicaOf\"\" pulumi-lang-go=\"\"replicaOf\"\" pulumi-lang-python=\"\"replica_of\"\" pulumi-lang-yaml=\"\"replicaOf\"\" pulumi-lang-java=\"\"replicaOf\"\"\u003e\"replica_of\"\u003c/span\u003e. Setting both at the same time causes \u003cspan pulumi-lang-nodejs=\"\"fixedIpV4\"\" pulumi-lang-dotnet=\"\"FixedIpV4\"\" pulumi-lang-go=\"\"fixedIpV4\"\" pulumi-lang-python=\"\"fixed_ip_v4\"\" pulumi-lang-yaml=\"\"fixedIpV4\"\" pulumi-lang-java=\"\"fixedIpV4\"\"\u003e\"fixed_ip_v4\"\u003c/span\u003e to be ignored. **Deprecated** This argument is no longer supported, and the instance will have a random ip address in the selected subnet.\n","deprecationMessage":"Deprecated"},"port":{"type":"string","description":"optional deprecated *string* \u0026rarr;  The port id of the network. Changing this creates a new instance. **Deprecated** This argument is deprecated, please do not use it.\n","deprecationMessage":"Deprecated"},"securityGroups":{"type":"array","items":{"type":"string"},"description":"optional *set of* *string* \u0026rarr;  An array of one or more security group IDs to associate with the instance. Changing this creates a new instance.\u003cbr\u003e**New since v0.2.0**.\n"},"subnetId":{"type":"string","description":"optional *string* \u0026rarr;  The id of the subnet. Changing this creates a new instance.\u003cbr\u003e**New since v0.1.15**.\n"},"uuid":{"type":"string","description":"optional *string* \u0026rarr;  The id of the network. Changing this creates a new instance. \u003cbr\u003e**Note:** Although this argument is marked as optional, it is actually required at the moment. Not setting a value for it may cause an error.\n"}},"type":"object"},"vkcs:index/DbInstanceRestorePoint:DbInstanceRestorePoint":{"properties":{"backupId":{"type":"string","description":"**required** *string* \u0026rarr;  ID of the backup.\n"},"target":{"type":"string","description":"optional *string* \u0026rarr;  Used only for restoring from postgresql PITR backups. Timestamp of needed backup in format \"2021-10-06 01:02:00\". You can specify \"latest\" to use most recent backup.\n"}},"type":"object","required":["backupId"]},"vkcs:index/DbInstanceTimeouts:DbInstanceTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"vkcs:index/DbInstanceVendorOptions:DbInstanceVendorOptions":{"properties":{"restartConfirmed":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Boolean to confirm autorestart of the instance if it is required to apply configuration group changes.\n"}},"type":"object"},"vkcs:index/DbInstanceWalDiskAutoexpand:DbInstanceWalDiskAutoexpand":{"properties":{"autoexpand":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Indicates whether wal volume autoresize is enabled.\n"},"maxDiskSize":{"type":"number","description":"optional *number* \u0026rarr;  Maximum disk size for wal volume autoresize.\n"}},"type":"object"},"vkcs:index/DbInstanceWalVolume:DbInstanceWalVolume":{"properties":{"autoexpand":{"type":"boolean","description":"optional deprecated *boolean* \u0026rarr;  Indicates whether wal volume autoresize is enabled. **Deprecated** Please, use\u003cspan pulumi-lang-nodejs=\" walDiskAutoexpand \" pulumi-lang-dotnet=\" WalDiskAutoexpand \" pulumi-lang-go=\" walDiskAutoexpand \" pulumi-lang-python=\" wal_disk_autoexpand \" pulumi-lang-yaml=\" walDiskAutoexpand \" pulumi-lang-java=\" walDiskAutoexpand \"\u003e wal_disk_autoexpand \u003c/span\u003eblock instead.\n","deprecationMessage":"Deprecated"},"maxDiskSize":{"type":"number","description":"optional deprecated *number* \u0026rarr;  Maximum disk size for wal volume autoresize. **Deprecated** Please, use\u003cspan pulumi-lang-nodejs=\" walDiskAutoexpand \" pulumi-lang-dotnet=\" WalDiskAutoexpand \" pulumi-lang-go=\" walDiskAutoexpand \" pulumi-lang-python=\" wal_disk_autoexpand \" pulumi-lang-yaml=\" walDiskAutoexpand \" pulumi-lang-java=\" walDiskAutoexpand \"\u003e wal_disk_autoexpand \u003c/span\u003eblock instead.\n","deprecationMessage":"Deprecated"},"size":{"type":"number","description":"**required** *number* \u0026rarr;  Size of the instance wal volume.\n"},"volumeType":{"type":"string","description":"**required** *string* \u0026rarr;  The type of the instance wal volume.\n"}},"type":"object","required":["size","volumeType"]},"vkcs:index/DbUserTimeouts:DbUserTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"vkcs:index/DbUserVendorOptions:DbUserVendorOptions":{"properties":{"skipDeletion":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Boolean to control whether to user deletion should be skipped. If set to true, the resource will be removed from the state, but the remote object will not be deleted. This is useful for PostgreSQL, where users cannot be deleted from the API if they own database objects.\n"}},"type":"object"},"vkcs:index/ImagesImageTimeouts:ImagesImageTimeouts":{"properties":{"create":{"type":"string"}},"type":"object"},"vkcs:index/KeymanagerContainerAcl:KeymanagerContainerAcl":{"properties":{"read":{"$ref":"#/types/vkcs:index%2FKeymanagerContainerAclRead:KeymanagerContainerAclRead","description":"optional \u0026rarr;  Block that describes read operation.\n"}},"type":"object"},"vkcs:index/KeymanagerContainerAclRead:KeymanagerContainerAclRead":{"properties":{"createdAt":{"type":"string","description":"*string* \u0026rarr;  The date the container ACL was created.\n"},"projectAccess":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Whether the container is accessible project wide. 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"},"updatedAt":{"type":"string","description":"*string* \u0026rarr;  The date the container ACL was last updated.\n"},"users":{"type":"array","items":{"type":"string"},"description":"optional *set of* *string* \u0026rarr;  The list of user IDs, which are allowed to access the container, when \u003cspan pulumi-lang-nodejs=\"`projectAccess`\" pulumi-lang-dotnet=\"`ProjectAccess`\" pulumi-lang-go=\"`projectAccess`\" pulumi-lang-python=\"`project_access`\" pulumi-lang-yaml=\"`projectAccess`\" pulumi-lang-java=\"`projectAccess`\"\u003e`project_access`\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.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["createdAt","updatedAt"]}}},"vkcs:index/KeymanagerContainerConsumer:KeymanagerContainerConsumer":{"properties":{"name":{"type":"string","description":"optional *string* \u0026rarr;  Human-readable name for the Container. Does not have to be unique.\n"},"url":{"type":"string"}},"type":"object","required":["name","url"]},"vkcs:index/KeymanagerContainerSecretRef:KeymanagerContainerSecretRef":{"properties":{"name":{"type":"string","description":"optional *string* \u0026rarr;  The name of the secret reference. The reference names must correspond the container type, more details are available [here](https://docs.openstack.org/barbican/stein/api/reference/containers.html).\n"},"secretRef":{"type":"string","description":"**required** *string* \u0026rarr;  The secret reference / where to find the secret, URL.\n"}},"type":"object","required":["secretRef"]},"vkcs:index/KeymanagerContainerTimeouts:KeymanagerContainerTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"vkcs:index/KeymanagerSecretAcl:KeymanagerSecretAcl":{"properties":{"read":{"$ref":"#/types/vkcs:index%2FKeymanagerSecretAclRead:KeymanagerSecretAclRead","description":"optional \u0026rarr;  Block that describes read operation.\n"}},"type":"object"},"vkcs:index/KeymanagerSecretAclRead:KeymanagerSecretAclRead":{"properties":{"createdAt":{"type":"string","description":"*string* \u0026rarr;  The date the secret ACL was created.\n"},"projectAccess":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Whether the container is accessible project wide. 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"},"updatedAt":{"type":"string","description":"*string* \u0026rarr;  The date the secret ACL was last updated.\n"},"users":{"type":"array","items":{"type":"string"},"description":"optional *set of* *string* \u0026rarr;  The list of user IDs, which are allowed to access the container, when \u003cspan pulumi-lang-nodejs=\"`projectAccess`\" pulumi-lang-dotnet=\"`ProjectAccess`\" pulumi-lang-go=\"`projectAccess`\" pulumi-lang-python=\"`project_access`\" pulumi-lang-yaml=\"`projectAccess`\" pulumi-lang-java=\"`projectAccess`\"\u003e`project_access`\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.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["createdAt","updatedAt"]}}},"vkcs:index/KeymanagerSecretTimeouts:KeymanagerSecretTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"vkcs:index/KubernetesAddonTimeouts:KubernetesAddonTimeouts":{"properties":{"create":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"},"delete":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n"}},"type":"object"},"vkcs:index/KubernetesClusterTimeouts:KubernetesClusterTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"vkcs:index/KubernetesNodeGroupLabel:KubernetesNodeGroupLabel":{"properties":{"key":{"type":"string","description":"**required** *string*\n"},"value":{"type":"string","description":"optional *string*\n"}},"type":"object","required":["key"]},"vkcs:index/KubernetesNodeGroupTaint:KubernetesNodeGroupTaint":{"properties":{"effect":{"type":"string","description":"**required** *string*\n"},"key":{"type":"string","description":"**required** *string*\n"},"value":{"type":"string","description":"**required** *string*\n"}},"type":"object","required":["effect","key","value"]},"vkcs:index/KubernetesNodeGroupTimeouts:KubernetesNodeGroupTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"vkcs:index/LbL7policyTimeouts:LbL7policyTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"vkcs:index/LbL7ruleTimeouts:LbL7ruleTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"vkcs:index/LbListenerTimeouts:LbListenerTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"vkcs:index/LbLoadbalancerTimeouts:LbLoadbalancerTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"vkcs:index/LbMemberTimeouts:LbMemberTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"vkcs:index/LbMembersMember:LbMembersMember":{"properties":{"address":{"type":"string","description":"**required** *string* \u0026rarr;  The IP address of the members to receive traffic from the load balancer.\n"},"adminStateUp":{"type":"boolean","description":"optional *boolean* \u0026rarr;  The administrative state of the member. A valid value is true (UP) or false (DOWN). Defaults to true.\n"},"backup":{"type":"boolean","description":"optional *boolean* \u0026rarr;  A bool that indicates whether the member is backup.\n"},"id":{"type":"string","description":"*string* \u0026rarr;  The unique ID for the member.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  Human-readable name for the member.\n"},"protocolPort":{"type":"number","description":"**required** *number* \u0026rarr;  The port on which to listen for client traffic.\n"},"subnetId":{"type":"string","description":"optional *string* \u0026rarr;  The subnet in which to access the member.\n"},"weight":{"type":"number","description":"optional *number* \u0026rarr;  A positive integer value that indicates the relative portion of traffic that this members should receive from the pool. For example, a member with a weight of 10 receives five times as much traffic as a member with a weight of 2. Defaults to 1.\n"}},"type":"object","required":["address","protocolPort"],"language":{"nodejs":{"requiredOutputs":["address","id","protocolPort"]}}},"vkcs:index/LbMembersTimeouts:LbMembersTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"vkcs:index/LbMonitorTimeouts:LbMonitorTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"vkcs:index/LbPoolPersistence:LbPoolPersistence":{"properties":{"cookieName":{"type":"string","description":"optional *string* \u0026rarr;  The name of the cookie if persistence mode is set appropriately. Required if `type = APP_COOKIE`.\n"},"type":{"type":"string","description":"**required** *string* \u0026rarr;  The type of persistence mode. The current specification supports SOURCE_IP, HTTP_COOKIE, and APP_COOKIE.\n"}},"type":"object","required":["type"]},"vkcs:index/LbPoolTimeouts:LbPoolTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"vkcs:index/MlplatformJupyterhubBootVolume:MlplatformJupyterhubBootVolume":{"properties":{"name":{"type":"string","description":"read-only *string* \u0026rarr;  Name of the volume\n"},"size":{"type":"number","description":"optional *number* \u0026rarr;  Size of the volume\n"},"volumeId":{"type":"string","description":"read-only *string* \u0026rarr;  ID of the volume\n"},"volumeType":{"type":"string","description":"**required** *string* \u0026rarr;  Type of the volume\n"}},"type":"object","required":["volumeType"],"language":{"nodejs":{"requiredOutputs":["name","size","volumeId","volumeType"]}}},"vkcs:index/MlplatformJupyterhubDataVolume:MlplatformJupyterhubDataVolume":{"properties":{"name":{"type":"string","description":"read-only *string* \u0026rarr;  Name of the volume\n"},"size":{"type":"number","description":"**required** *number* \u0026rarr;  Size of the volume\n"},"volumeId":{"type":"string","description":"read-only *string* \u0026rarr;  ID of the volume\n"},"volumeType":{"type":"string","description":"**required** *string* \u0026rarr;  Type of the volume\n"}},"type":"object","required":["size","volumeType"],"language":{"nodejs":{"requiredOutputs":["name","size","volumeId","volumeType"]}}},"vkcs:index/MlplatformJupyterhubNetwork:MlplatformJupyterhubNetwork":{"properties":{"ipPool":{"type":"string","description":"optional *string* \u0026rarr;  ID of the ip pool\n"},"networkId":{"type":"string","description":"**required** *string* \u0026rarr;  ID of the network\n"}},"type":"object","required":["networkId"]},"vkcs:index/MlplatformJupyterhubTimeouts:MlplatformJupyterhubTimeouts":{"properties":{"create":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"},"delete":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n"},"update":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"vkcs:index/MlplatformK8sRegistryBootVolume:MlplatformK8sRegistryBootVolume":{"properties":{"name":{"type":"string","description":"read-only *string* \u0026rarr;  Name of the volume\n"},"size":{"type":"number","description":"optional *number* \u0026rarr;  Size of the volume\n"},"volumeId":{"type":"string","description":"read-only *string* \u0026rarr;  ID of the volume\n"},"volumeType":{"type":"string","description":"**required** *string* \u0026rarr;  Type of the volume\n"}},"type":"object","required":["volumeType"],"language":{"nodejs":{"requiredOutputs":["name","size","volumeId","volumeType"]}}},"vkcs:index/MlplatformK8sRegistryDataVolume:MlplatformK8sRegistryDataVolume":{"properties":{"name":{"type":"string","description":"read-only *string* \u0026rarr;  Name of the volume\n"},"size":{"type":"number","description":"**required** *number* \u0026rarr;  Size of the volume\n"},"volumeId":{"type":"string","description":"read-only *string* \u0026rarr;  ID of the volume\n"},"volumeType":{"type":"string","description":"**required** *string* \u0026rarr;  Type of the volume\n"}},"type":"object","required":["size","volumeType"],"language":{"nodejs":{"requiredOutputs":["name","size","volumeId","volumeType"]}}},"vkcs:index/MlplatformK8sRegistryNetwork:MlplatformK8sRegistryNetwork":{"properties":{"ipPool":{"type":"string","description":"**required** *string* \u0026rarr;  ID of the ip pool\n"},"networkId":{"type":"string","description":"**required** *string* \u0026rarr;  ID of the network\n"}},"type":"object","required":["ipPool","networkId"]},"vkcs:index/MlplatformK8sRegistryTimeouts:MlplatformK8sRegistryTimeouts":{"properties":{"create":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"},"delete":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n"},"update":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"vkcs:index/MlplatformMlflowBootVolume:MlplatformMlflowBootVolume":{"properties":{"name":{"type":"string","description":"read-only *string* \u0026rarr;  Name of the volume\n"},"size":{"type":"number","description":"optional *number* \u0026rarr;  Size of the volume\n"},"volumeId":{"type":"string","description":"read-only *string* \u0026rarr;  ID of the volume\n"},"volumeType":{"type":"string","description":"**required** *string* \u0026rarr;  Type of the volume\n"}},"type":"object","required":["volumeType"],"language":{"nodejs":{"requiredOutputs":["name","size","volumeId","volumeType"]}}},"vkcs:index/MlplatformMlflowDataVolume:MlplatformMlflowDataVolume":{"properties":{"name":{"type":"string","description":"read-only *string* \u0026rarr;  Name of the volume\n"},"size":{"type":"number","description":"**required** *number* \u0026rarr;  Size of the volume\n"},"volumeId":{"type":"string","description":"read-only *string* \u0026rarr;  ID of the volume\n"},"volumeType":{"type":"string","description":"**required** *string* \u0026rarr;  Type of the volume\n"}},"type":"object","required":["size","volumeType"],"language":{"nodejs":{"requiredOutputs":["name","size","volumeId","volumeType"]}}},"vkcs:index/MlplatformMlflowDeployBootVolume:MlplatformMlflowDeployBootVolume":{"properties":{"name":{"type":"string","description":"read-only *string* \u0026rarr;  Name of the volume\n"},"size":{"type":"number","description":"optional *number* \u0026rarr;  Size of the volume\n"},"volumeId":{"type":"string","description":"read-only *string* \u0026rarr;  ID of the volume\n"},"volumeType":{"type":"string","description":"**required** *string* \u0026rarr;  Type of the volume\n"}},"type":"object","required":["volumeType"],"language":{"nodejs":{"requiredOutputs":["name","size","volumeId","volumeType"]}}},"vkcs:index/MlplatformMlflowDeployDataVolume:MlplatformMlflowDeployDataVolume":{"properties":{"name":{"type":"string","description":"read-only *string* \u0026rarr;  Name of the volume\n"},"size":{"type":"number","description":"**required** *number* \u0026rarr;  Size of the volume\n"},"volumeId":{"type":"string","description":"read-only *string* \u0026rarr;  ID of the volume\n"},"volumeType":{"type":"string","description":"**required** *string* \u0026rarr;  Type of the volume\n"}},"type":"object","required":["size","volumeType"],"language":{"nodejs":{"requiredOutputs":["name","size","volumeId","volumeType"]}}},"vkcs:index/MlplatformMlflowDeployNetwork:MlplatformMlflowDeployNetwork":{"properties":{"ipPool":{"type":"string","description":"optional *string* \u0026rarr;  ID of the ip pool\n"},"networkId":{"type":"string","description":"**required** *string* \u0026rarr;  ID of the network\n"}},"type":"object","required":["networkId"]},"vkcs:index/MlplatformMlflowDeployTimeouts:MlplatformMlflowDeployTimeouts":{"properties":{"create":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"},"delete":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n"},"update":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"vkcs:index/MlplatformMlflowNetwork:MlplatformMlflowNetwork":{"properties":{"ipPool":{"type":"string","description":"optional *string* \u0026rarr;  ID of the ip pool\n"},"networkId":{"type":"string","description":"**required** *string* \u0026rarr;  ID of the network\n"}},"type":"object","required":["networkId"]},"vkcs:index/MlplatformMlflowTimeouts:MlplatformMlflowTimeouts":{"properties":{"create":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"},"delete":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n"},"update":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"vkcs:index/MlplatformSparkK8sNodeGroup:MlplatformSparkK8sNodeGroup":{"properties":{"autoscalingEnabled":{"type":"boolean","description":"**required** *boolean* \u0026rarr;  Enables autoscaling for node group\n"},"flavorId":{"type":"string","description":"**required** *string* \u0026rarr;  ID of the flavor to be used in nodes\n"},"maxNodes":{"type":"number","description":"optional *number* \u0026rarr;  Maximum number of nodes in node group. It is used only when autoscaling is enabled\n"},"minNodes":{"type":"number","description":"optional *number* \u0026rarr;  Minimum count of nodes in node group. It is used only when autoscaling is enabled\n"},"nodeCount":{"type":"number","description":"optional *number* \u0026rarr;  Count of nodes in node group\n"}},"type":"object","required":["autoscalingEnabled","flavorId"]},"vkcs:index/MlplatformSparkK8sTimeouts:MlplatformSparkK8sTimeouts":{"properties":{"create":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"},"delete":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n"},"update":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"vkcs:index/NetworkingAnycastipAssociation:NetworkingAnycastipAssociation":{"properties":{"id":{"type":"string","description":"**required** *string* \u0026rarr;  ID of port / dc interface / octavia loadbalancer vip port.\n"},"type":{"type":"string","description":"**required** *string* \u0026rarr;  Type of association. Can be one of: port, dc_interface, octavia.\n"}},"type":"object","required":["id","type"]},"vkcs:index/NetworkingAnycastipHealthCheck:NetworkingAnycastipHealthCheck":{"properties":{"port":{"type":"number","description":"optional *number* \u0026rarr;  Port for check to connect to.\n"},"type":{"type":"string","description":"optional *string* \u0026rarr;  Check type. Can be one of: TCP, ICMP.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["port","type"]}}},"vkcs:index/NetworkingFloatingipTimeouts:NetworkingFloatingipTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"vkcs:index/NetworkingNetworkTimeouts:NetworkingNetworkTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"vkcs:index/NetworkingPortAllowedAddressPair:NetworkingPortAllowedAddressPair":{"properties":{"ipAddress":{"type":"string","description":"**required** *string* \u0026rarr;  The additional IP address.\n"},"macAddress":{"type":"string","description":"optional *string* \u0026rarr;  The additional MAC address.\n"}},"type":"object","required":["ipAddress"]},"vkcs:index/NetworkingPortExtraDhcpOption:NetworkingPortExtraDhcpOption":{"properties":{"name":{"type":"string","description":"**required** *string* \u0026rarr;  Name of the DHCP option.\n"},"value":{"type":"string","description":"**required** *string* \u0026rarr;  Value of the DHCP option.\n"}},"type":"object","required":["name","value"]},"vkcs:index/NetworkingPortFixedIp:NetworkingPortFixedIp":{"properties":{"ipAddress":{"type":"string","description":"optional *string* \u0026rarr;  IP address desired in the subnet for this port. If 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 the specified subnet will be allocated to this port. This field will not be populated if it is left blank or omitted. To retrieve the assigned IP address, use the \u003cspan pulumi-lang-nodejs=\"`allFixedIps`\" pulumi-lang-dotnet=\"`AllFixedIps`\" pulumi-lang-go=\"`allFixedIps`\" pulumi-lang-python=\"`all_fixed_ips`\" pulumi-lang-yaml=\"`allFixedIps`\" pulumi-lang-java=\"`allFixedIps`\"\u003e`all_fixed_ips`\u003c/span\u003e attribute.\n"},"subnetId":{"type":"string","description":"**required** *string* \u0026rarr;  Subnet in which to allocate IP address for this port.\n"}},"type":"object","required":["subnetId"]},"vkcs:index/NetworkingPortTimeouts:NetworkingPortTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"vkcs:index/NetworkingRouterExternalFixedIp:NetworkingRouterExternalFixedIp":{"properties":{"ipAddress":{"type":"string"},"subnetId":{"type":"string"}},"type":"object","required":["ipAddress","subnetId"]},"vkcs:index/NetworkingRouterInterfaceTimeouts:NetworkingRouterInterfaceTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"vkcs:index/NetworkingRouterTimeouts:NetworkingRouterTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"vkcs:index/NetworkingRouterVendorOptions:NetworkingRouterVendorOptions":{"properties":{"setRouterGatewayAfterCreate":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Boolean to control whether the Router gateway is assigned during creation or updated after creation.\n"}},"type":"object"},"vkcs:index/NetworkingSecgroupRuleTimeouts:NetworkingSecgroupRuleTimeouts":{"properties":{"delete":{"type":"string"}},"type":"object"},"vkcs:index/NetworkingSecgroupTimeouts:NetworkingSecgroupTimeouts":{"properties":{"delete":{"type":"string"}},"type":"object"},"vkcs:index/NetworkingSubnetAllocationPool:NetworkingSubnetAllocationPool":{"properties":{"end":{"type":"string","description":"**required** *string* \u0026rarr;  The ending address.\n"},"start":{"type":"string","description":"**required** *string* \u0026rarr;  The starting address.\n"}},"type":"object","required":["end","start"]},"vkcs:index/NetworkingSubnetTimeouts:NetworkingSubnetTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"vkcs:index/ProviderEndpointOverrides:ProviderEndpointOverrides":{"properties":{"backup":{"type":"string","description":"Backup API custom endpoint.\n"},"blockStorage":{"type":"string","description":"Block Storage API custom endpoint.\n"},"cdn":{"type":"string","description":"CDN API custom endpoint.\n"},"compute":{"type":"string","description":"Compute API custom endpoint.\n"},"containerInfra":{"type":"string","description":"Cloud Containers API custom endpoint.\n"},"containerInfraAddons":{"type":"string","description":"Cloud Containers Addons API custom endpoint.\n"},"dataPlatform":{"type":"string","description":"Data Platform API custom endpoint.\n"},"database":{"type":"string","description":"Database API custom endpoint.\n"},"iamServiceUsers":{"type":"string","description":"IAM Service Users API custom endpoint.\n"},"ics":{"type":"string","description":"ICS API custom endpoint.\n"},"image":{"type":"string","description":"Image API custom endpoint.\n"},"keyManager":{"type":"string","description":"Key Manager API custom endpoint.\n"},"loadBalancer":{"type":"string","description":"Load Balancer API custom endpoint.\n"},"mlPlatform":{"type":"string","description":"ML Platform API custom endpoint.\n"},"networking":{"type":"string","description":"Networking API custom endpoint.\n"},"publicDns":{"type":"string","description":"Public DNS API custom endpoint.\n"},"sharedFilesystem":{"type":"string","description":"Shared Filesystem API custom endpoint.\n"},"templater":{"type":"string","description":"Templater API custom endpoint.\n"}},"type":"object"},"vkcs:index/PublicdnsRecordTimeouts:PublicdnsRecordTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"vkcs:index/PublicdnsZoneTimeouts:PublicdnsZoneTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"vkcs:index/SharedfilesystemSecurityserviceTimeouts:SharedfilesystemSecurityserviceTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"vkcs:index/SharedfilesystemShareAccessTimeouts:SharedfilesystemShareAccessTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"vkcs:index/SharedfilesystemShareTimeouts:SharedfilesystemShareTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"vkcs:index/SharedfilesystemSharenetworkTimeouts:SharedfilesystemSharenetworkTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"vkcs:index/VpnaasEndpointGroupTimeouts:VpnaasEndpointGroupTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"vkcs:index/VpnaasIkePolicyLifetime:VpnaasIkePolicyLifetime":{"properties":{"units":{"type":"string","description":"optional *string* \u0026rarr;  The units for the lifetime of the security association. Can be either seconds or kilobytes. Default is seconds.\n"},"value":{"type":"number","description":"optional *number* \u0026rarr;  The value for the lifetime of the security association. Must be a positive integer. Default is 3600.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["units","value"]}}},"vkcs:index/VpnaasIkePolicyTimeouts:VpnaasIkePolicyTimeouts":{"properties":{"create":{"type":"string"}},"type":"object"},"vkcs:index/VpnaasIpsecPolicyLifetime:VpnaasIpsecPolicyLifetime":{"properties":{"units":{"type":"string","description":"optional *string* \u0026rarr;  The units for the lifetime of the security association. Can be either seconds or kilobytes. Default is seconds.\n"},"value":{"type":"number","description":"optional *number* \u0026rarr;  The value for the lifetime of the security association. Must be a positive integer. Default is 3600.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["units","value"]}}},"vkcs:index/VpnaasIpsecPolicyTimeouts:VpnaasIpsecPolicyTimeouts":{"properties":{"create":{"type":"string"}},"type":"object"},"vkcs:index/VpnaasServiceTimeouts:VpnaasServiceTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"vkcs:index/VpnaasSiteConnectionDpd:VpnaasSiteConnectionDpd":{"properties":{"action":{"type":"string","description":"optional *string* \u0026rarr;  The dead peer detection (DPD) action. A valid value is clear, hold, restart, disabled, or restart-by-peer. Default value is hold.\n"},"interval":{"type":"number","description":"optional *number* \u0026rarr;  The dead peer detection (DPD) interval, in seconds. A valid value is a positive integer. Default is 30.\n"},"timeout":{"type":"number","description":"optional *number* \u0026rarr;  The dead peer detection (DPD) timeout in seconds. A valid value is a positive integer that is greater than the DPD interval value. Default is 120.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["action","interval","timeout"]}}},"vkcs:index/VpnaasSiteConnectionTimeouts:VpnaasSiteConnectionTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"vkcs:index/getBackupPlanBackupTarget:getBackupPlanBackupTarget":{"properties":{"instanceId":{"type":"string","description":"optional *string* \u0026rarr;  ID of the instance that should be included in backup plan\n"},"volumeIds":{"type":"array","items":{"type":"string"},"description":"*set of* *string* \u0026rarr;  Set of volume IDs to back up for the instance. If no list is specified, backups will be created for all disks.\n"}},"type":"object","required":["instanceId"],"language":{"nodejs":{"requiredInputs":[]}}},"vkcs:index/getBackupPlanFullRetention:getBackupPlanFullRetention":{"properties":{"maxFullBackup":{"type":"number","description":"*number* \u0026rarr;  Maximum number of backups\n"}},"type":"object","required":["maxFullBackup"],"language":{"nodejs":{"requiredInputs":[]}}},"vkcs:index/getBackupPlanGfsRetention:getBackupPlanGfsRetention":{"properties":{"gfsMonthly":{"type":"number","description":"*number* \u0026rarr;  Number of months to store backups\n"},"gfsWeekly":{"type":"number","description":"*number* \u0026rarr;  Number of weeks to store backups\n"},"gfsYearly":{"type":"number","description":"*number* \u0026rarr;  Number of years to store backups\n"}},"type":"object","required":["gfsMonthly","gfsWeekly","gfsYearly"],"language":{"nodejs":{"requiredInputs":[]}}},"vkcs:index/getBackupPlanSchedule:getBackupPlanSchedule":{"properties":{"dates":{"type":"array","items":{"type":"string"},"description":"*string* \u0026rarr;  List of days when to perform backups. If\u003cspan pulumi-lang-nodejs=\" incrementalBackups \" pulumi-lang-dotnet=\" IncrementalBackups \" pulumi-lang-go=\" incrementalBackups \" pulumi-lang-python=\" incremental_backups \" pulumi-lang-yaml=\" incrementalBackups \" pulumi-lang-java=\" incrementalBackups \"\u003e incremental_backups \u003c/span\u003eis enabled, this field contains day of full backup\n"},"everyHours":{"type":"number","description":"*number* \u0026rarr;  Hour period of backups\n"},"time":{"type":"string","description":"*string* \u0026rarr;  Time of backup in format hh:mm, using UTC timezone\n"}},"type":"object","required":["dates","everyHours","time"],"language":{"nodejs":{"requiredInputs":[]}}},"vkcs:index/getBackupProvidersProvider:getBackupProvidersProvider":{"properties":{"id":{"type":"string","description":"*string* \u0026rarr;  ID of the backup provider\n"},"name":{"type":"string","description":"*string* \u0026rarr;  Name of the backup provider\n"}},"type":"object","required":["id","name"],"language":{"nodejs":{"requiredInputs":[]}}},"vkcs:index/getCdnOriginGroupOrigin:getCdnOriginGroupOrigin":{"properties":{"backup":{"type":"boolean","description":"*boolean* \u0026rarr;  Defines whether the origin is a backup, meaning that it will not be used until one of active origins become unavailable.\n"},"enabled":{"type":"boolean","description":"*boolean* \u0026rarr;  Enables or disables an origin source in the origin group.\n"},"source":{"type":"string","description":"*string* \u0026rarr;  IP address or domain name of the origin and the port, if custom port is used.\n"}},"type":"object","required":["backup","enabled","source"],"language":{"nodejs":{"requiredInputs":[]}}},"vkcs:index/getCdnShieldingPopsShieldingPop:getCdnShieldingPopsShieldingPop":{"properties":{"city":{"type":"string","description":"*string* \u0026rarr;  City of origin shielding location.\n"},"country":{"type":"string","description":"*string* \u0026rarr;  Country of origin shielding location.\n"},"datacenter":{"type":"string","description":"*string* \u0026rarr;  Name of origin shielding location datacenter.\n"},"id":{"type":"number","description":"*number* \u0026rarr;  ID of the origin shielding location.\n"}},"type":"object","required":["city","country","datacenter","id"],"language":{"nodejs":{"requiredInputs":[]}}},"vkcs:index/getComputeInstanceNetwork:getComputeInstanceNetwork":{"properties":{"fixedIpV4":{"type":"string","description":"*string* \u0026rarr;  The IPv4 address assigned to this network port.\n"},"mac":{"type":"string","description":"*string* \u0026rarr;  The MAC address assigned to this network interface.\n"},"name":{"type":"string","description":"*string* \u0026rarr;  The name of the network\n"},"port":{"type":"string","description":"*string* \u0026rarr;  The port UUID for this network\n"},"uuid":{"type":"string","description":"*string* \u0026rarr;  The UUID of the network\n"}},"type":"object","required":["fixedIpV4","mac","name","port","uuid"],"language":{"nodejs":{"requiredInputs":[]}}},"vkcs:index/getDataplatformProductConfigs:getDataplatformProductConfigs":{"properties":{"connections":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FgetDataplatformProductConfigsConnection:getDataplatformProductConfigsConnection"},"description":"*list* \u0026rarr;  Product connections configuration info\n"},"crontabs":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FgetDataplatformProductConfigsCrontab:getDataplatformProductConfigsCrontab"},"description":"*list* \u0026rarr;  Product crontabs\n"},"settings":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FgetDataplatformProductConfigsSetting:getDataplatformProductConfigsSetting"},"description":"*list* \u0026rarr;  Product settings\n"},"userRoles":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FgetDataplatformProductConfigsUserRole:getDataplatformProductConfigsUserRole"},"description":"*list* \u0026rarr;  User roles list\n"}},"type":"object","required":["connections","crontabs","settings","userRoles"],"language":{"nodejs":{"requiredInputs":[]}}},"vkcs:index/getDataplatformProductConfigsConnection:getDataplatformProductConfigsConnection":{"properties":{"isRequired":{"type":"boolean","description":"*boolean* \u0026rarr;  Is connection required\n"},"plug":{"type":"string","description":"*string* \u0026rarr;  Connection type\n"},"position":{"type":"number","description":"*number* \u0026rarr;  Connection position\n"},"requiredGroup":{"type":"string","description":"*string* \u0026rarr;  Connection required group\n"},"settings":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FgetDataplatformProductConfigsConnectionSetting:getDataplatformProductConfigsConnectionSetting"},"description":"*list* \u0026rarr;  Product settings\n"}},"type":"object","required":["isRequired","plug","position","requiredGroup","settings"],"language":{"nodejs":{"requiredInputs":[]}}},"vkcs:index/getDataplatformProductConfigsConnectionSetting:getDataplatformProductConfigsConnectionSetting":{"properties":{"alias":{"type":"string","description":"*string* \u0026rarr;  Setting alias\n"},"defaultValue":{"type":"string","description":"*string* \u0026rarr;  Setting default value\n"},"isRequire":{"type":"boolean","description":"*boolean* \u0026rarr;  Is setting required\n"},"isSensitive":{"type":"boolean","description":"*boolean* \u0026rarr;  Is setting sensitive\n"},"regexp":{"type":"string","description":"*string* \u0026rarr;  Setting validation regexp\n"},"stringVariations":{"type":"array","items":{"type":"string"},"description":"*string* \u0026rarr;  Available setting values\n"}},"type":"object","required":["alias","defaultValue","isRequire","isSensitive","regexp","stringVariations"],"language":{"nodejs":{"requiredInputs":[]}}},"vkcs:index/getDataplatformProductConfigsCrontab:getDataplatformProductConfigsCrontab":{"properties":{"name":{"type":"string","description":"*string* \u0026rarr;  User role name\n"},"required":{"type":"boolean","description":"*boolean* \u0026rarr;  Crontab required\n"},"settings":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FgetDataplatformProductConfigsCrontabSetting:getDataplatformProductConfigsCrontabSetting"},"description":"*list* \u0026rarr;  Product settings\n"},"start":{"type":"string","description":"*string* \u0026rarr;  Crontab start\n"}},"type":"object","required":["name","required","settings","start"],"language":{"nodejs":{"requiredInputs":[]}}},"vkcs:index/getDataplatformProductConfigsCrontabSetting:getDataplatformProductConfigsCrontabSetting":{"properties":{"alias":{"type":"string","description":"*string* \u0026rarr;  Setting alias\n"},"defaultValue":{"type":"string","description":"*string* \u0026rarr;  Setting default value\n"},"isRequire":{"type":"boolean","description":"*boolean* \u0026rarr;  Is setting required\n"},"isSensitive":{"type":"boolean","description":"*boolean* \u0026rarr;  Is setting sensitive\n"},"regexp":{"type":"string","description":"*string* \u0026rarr;  Setting validation regexp\n"},"stringVariations":{"type":"array","items":{"type":"string"},"description":"*string* \u0026rarr;  Available setting values\n"}},"type":"object","required":["alias","defaultValue","isRequire","isSensitive","regexp","stringVariations"],"language":{"nodejs":{"requiredInputs":[]}}},"vkcs:index/getDataplatformProductConfigsSetting:getDataplatformProductConfigsSetting":{"properties":{"alias":{"type":"string","description":"*string* \u0026rarr;  Setting alias\n"},"defaultValue":{"type":"string","description":"*string* \u0026rarr;  Setting default value\n"},"isRequire":{"type":"boolean","description":"*boolean* \u0026rarr;  Is setting required\n"},"isSensitive":{"type":"boolean","description":"*boolean* \u0026rarr;  Is setting sensitive\n"},"regexp":{"type":"string","description":"*string* \u0026rarr;  Setting validation regexp\n"},"stringVariations":{"type":"array","items":{"type":"string"},"description":"*string* \u0026rarr;  Available setting values\n"}},"type":"object","required":["alias","defaultValue","isRequire","isSensitive","regexp","stringVariations"],"language":{"nodejs":{"requiredInputs":[]}}},"vkcs:index/getDataplatformProductConfigsUserRole:getDataplatformProductConfigsUserRole":{"properties":{"name":{"type":"string","description":"*string* \u0026rarr;  User role name\n"}},"type":"object","required":["name"],"language":{"nodejs":{"requiredInputs":[]}}},"vkcs:index/getDataplatformProductsProduct:getDataplatformProductsProduct":{"properties":{"productName":{"type":"string","description":"*string* \u0026rarr;  Product name\n"},"productVersion":{"type":"string","description":"*string* \u0026rarr;  Product version\n"}},"type":"object","required":["productName","productVersion"],"language":{"nodejs":{"requiredInputs":[]}}},"vkcs:index/getDataplatformTemplatePodGroup:getDataplatformTemplatePodGroup":{"properties":{"count":{"type":"number","description":"*number* \u0026rarr;  Volume count.\n"},"name":{"type":"string","description":"*string* \u0026rarr;  Pod group name.\n"},"resource":{"$ref":"#/types/vkcs:index%2FgetDataplatformTemplatePodGroupResource:getDataplatformTemplatePodGroupResource","description":"\u0026rarr;  Resource settings for the pod group.\n"},"volumes":{"type":"object","additionalProperties":{"$ref":"#/types/vkcs:index%2FgetDataplatformTemplatePodGroupVolumes:getDataplatformTemplatePodGroupVolumes"},"description":"*map* \u0026rarr;  Volumes configuration for the pod group.\n"}},"type":"object","required":["count","name","resource","volumes"],"language":{"nodejs":{"requiredInputs":[]}}},"vkcs:index/getDataplatformTemplatePodGroupResource:getDataplatformTemplatePodGroupResource":{"properties":{"cpuMargin":{"type":"number","description":"*number* \u0026rarr;  CPU margin for the pod group.\n"},"cpuRequest":{"type":"string","description":"*string* \u0026rarr;  CPU request for the pod group.\n"},"ramMargin":{"type":"number","description":"*number* \u0026rarr;  RAM margin for the pod group.\n"},"ramRequest":{"type":"string","description":"*string* \u0026rarr;  RAM request for the pod group.\n"}},"type":"object","required":["cpuMargin","cpuRequest","ramMargin","ramRequest"],"language":{"nodejs":{"requiredInputs":[]}}},"vkcs:index/getDataplatformTemplatePodGroupVolumes:getDataplatformTemplatePodGroupVolumes":{"properties":{"count":{"type":"number","description":"*number* \u0026rarr;  Volume count.\n"},"storage":{"type":"string","description":"*string* \u0026rarr;  Volume storage size.\n"},"storageClassName":{"type":"string","description":"*string* \u0026rarr;  Storage class name for the volume.\n"}},"type":"object","required":["count","storage","storageClassName"],"language":{"nodejs":{"requiredInputs":[]}}},"vkcs:index/getDbBackupDatastore:getDbBackupDatastore":{"properties":{"type":{"type":"string","description":"*string* \u0026rarr;  Type of the datastore.\n"},"version":{"type":"string","description":"*string* \u0026rarr;  Version of the datastore.\n"}},"type":"object","required":["type","version"],"language":{"nodejs":{"requiredInputs":[]}}},"vkcs:index/getDbConfigGroupDatastore:getDbConfigGroupDatastore":{"properties":{"type":{"type":"string","description":"*string* \u0026rarr;  Type of the datastore.\n"},"version":{"type":"string","description":"*string* \u0026rarr;  Version of the datastore.\n"}},"type":"object","required":["type","version"],"language":{"nodejs":{"requiredInputs":[]}}},"vkcs:index/getDbDatastoreCapabilitiesCapability:getDbDatastoreCapabilitiesCapability":{"properties":{"allowMajorUpgrade":{"type":"boolean","description":"*boolean* \u0026rarr;  This attribute indicates whether a capability can be applied in the next major version of data store.\n"},"allowUpgradeFromBackup":{"type":"boolean","description":"*boolean* \u0026rarr;  This attribute indicates whether a capability can be applied to upgrade from backup.\n"},"description":{"type":"string","description":"*string* \u0026rarr;  Description of data store capability.\n"},"name":{"type":"string","description":"*string* \u0026rarr;  Name of a parameter.\n"},"params":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FgetDbDatastoreCapabilitiesCapabilityParam:getDbDatastoreCapabilitiesCapabilityParam"},"description":"*list*\n"},"shouldBeOnMaster":{"type":"boolean","description":"*boolean* \u0026rarr;  This attribute indicates whether a capability applies only to the master node.\n"}},"type":"object","required":["allowMajorUpgrade","allowUpgradeFromBackup","description","name","params","shouldBeOnMaster"],"language":{"nodejs":{"requiredInputs":[]}}},"vkcs:index/getDbDatastoreCapabilitiesCapabilityParam:getDbDatastoreCapabilitiesCapabilityParam":{"properties":{"defaultValue":{"type":"string","description":"*string* \u0026rarr;  Default value for a parameter.\n"},"elementType":{"type":"string","description":"*string* \u0026rarr;  Type of element value for a parameter of \u003cspan pulumi-lang-nodejs=\"`list`\" pulumi-lang-dotnet=\"`List`\" pulumi-lang-go=\"`list`\" pulumi-lang-python=\"`list`\" pulumi-lang-yaml=\"`list`\" pulumi-lang-java=\"`list`\"\u003e`list`\u003c/span\u003e type.\n"},"enumValues":{"type":"array","items":{"type":"string"},"description":"*string* \u0026rarr;  Supported values for a parameter.\n"},"masked":{"type":"boolean","description":"*boolean* \u0026rarr;  Masked indicates whether a parameter value must be a boolean mask.\n"},"max":{"type":"number","description":"*number* \u0026rarr;  Maximum value for a parameter.\n"},"min":{"type":"number","description":"*number* \u0026rarr;  Minimum value for a parameter.\n"},"name":{"type":"string","description":"*string* \u0026rarr;  Name of a parameter.\n"},"regex":{"type":"string","description":"*string* \u0026rarr;  Regular expression that a parameter value must match.\n"},"required":{"type":"boolean","description":"*boolean* \u0026rarr;  Required indicates whether a parameter value must be set.\n"},"type":{"type":"string","description":"*string* \u0026rarr;  Type of value for a parameter.\n"}},"type":"object","required":["defaultValue","elementType","enumValues","masked","max","min","name","regex","required","type"],"language":{"nodejs":{"requiredInputs":[]}}},"vkcs:index/getDbDatastoreParametersParameter:getDbDatastoreParametersParameter":{"properties":{"max":{"type":"number","description":"*number* \u0026rarr;  Maximum value of a configuration parameter.\n"},"min":{"type":"number","description":"*number* \u0026rarr;  Minimum value of a configuration parameter.\n"},"name":{"type":"string","description":"*string* \u0026rarr;  Name of a configuration parameter.\n"},"restartRequired":{"type":"boolean","description":"*boolean* \u0026rarr;  This attribute indicates whether a restart required when a parameter is set.\n"},"type":{"type":"string","description":"*string* \u0026rarr;  Type of a configuration parameter.\n"}},"type":"object","required":["max","min","name","restartRequired","type"],"language":{"nodejs":{"requiredInputs":[]}}},"vkcs:index/getDbDatastoreVersion:getDbDatastoreVersion":{"properties":{"id":{"type":"string","description":"optional *string* \u0026rarr;  The id of the datastore.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  The name of the datastore.\n"}},"type":"object","required":["id","name"],"language":{"nodejs":{"requiredInputs":[]}}},"vkcs:index/getDbDatastoresDatastore:getDbDatastoresDatastore":{"properties":{"id":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"name":{"type":"string","description":"*string* \u0026rarr;  Name of a datastore.\n"}},"type":"object","required":["id","name"],"language":{"nodejs":{"requiredInputs":[]}}},"vkcs:index/getDbInstanceBackupSchedule:getDbInstanceBackupSchedule":{"properties":{"intervalHours":{"type":"number","description":"**required** *number* \u0026rarr;  Time interval between backups, specified in hours. Available values: 3, 6, 8, 12, 24.\n"},"keepCount":{"type":"number","description":"**required** *number* \u0026rarr;  Number of backups to be stored.\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  Name of the schedule.\n"},"startHours":{"type":"number","description":"**required** *number* \u0026rarr;  Hours part of timestamp of initial backup.\n"},"startMinutes":{"type":"number","description":"**required** *number* \u0026rarr;  Minutes part of timestamp of initial backup.\n"}},"type":"object","required":["intervalHours","keepCount","name","startHours","startMinutes"]},"vkcs:index/getDbInstanceDatastore:getDbInstanceDatastore":{"properties":{"type":{"type":"string","description":"**required** *string* \u0026rarr;  Type of the datastore.\n"},"version":{"type":"string","description":"**required** *string* \u0026rarr;  Version of the datastore.\n"}},"type":"object","required":["type","version"]},"vkcs:index/getDbInstanceVolume:getDbInstanceVolume":{"properties":{"size":{"type":"number","description":"**required** *number* \u0026rarr;  Size of the instance volume.\n"},"used":{"type":"number","description":"**required** *number* \u0026rarr;  Size of the used volume space.\n"},"volumeId":{"type":"string","description":"**required** *string* \u0026rarr;  ID of the instance volume.\n"},"volumeType":{"type":"string","description":"**required** *string* \u0026rarr;  Type of the instance volume.\n"}},"type":"object","required":["size","used","volumeId","volumeType"]},"vkcs:index/getImagesImagesImage:getImagesImagesImage":{"properties":{"id":{"type":"string","description":"*string* \u0026rarr;  ID of an image.\n"},"name":{"type":"string","description":"*string* \u0026rarr;  Name of an image.\n"},"properties":{"type":"object","additionalProperties":{"type":"string"},"description":"optional *map of* *string* \u0026rarr;  Search for images with specific properties.\n"}},"type":"object","required":["id","name","properties"],"language":{"nodejs":{"requiredInputs":[]}}},"vkcs:index/getKeymanagerContainerAcl:getKeymanagerContainerAcl":{"properties":{"reads":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FgetKeymanagerContainerAclRead:getKeymanagerContainerAclRead"},"description":"*list* \u0026rarr;  Object that describes read operation.\n"}},"type":"object","required":["reads"],"language":{"nodejs":{"requiredInputs":[]}}},"vkcs:index/getKeymanagerContainerAclRead:getKeymanagerContainerAclRead":{"properties":{"createdAt":{"type":"string","description":"*string* \u0026rarr;  The date the container was created.\n"},"projectAccess":{"type":"boolean","description":"*boolean* \u0026rarr;  Whether the container is accessible project wide.\n"},"updatedAt":{"type":"string","description":"*string* \u0026rarr;  The date the container was last updated.\n"},"users":{"type":"array","items":{"type":"string"},"description":"*set of* *string* \u0026rarr;  The list of user IDs, which are allowed to access the container, when \u003cspan pulumi-lang-nodejs=\"`projectAccess`\" pulumi-lang-dotnet=\"`ProjectAccess`\" pulumi-lang-go=\"`projectAccess`\" pulumi-lang-python=\"`project_access`\" pulumi-lang-yaml=\"`projectAccess`\" pulumi-lang-java=\"`projectAccess`\"\u003e`project_access`\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.\n"}},"type":"object","required":["createdAt","projectAccess","updatedAt","users"],"language":{"nodejs":{"requiredInputs":[]}}},"vkcs:index/getKeymanagerContainerConsumer:getKeymanagerContainerConsumer":{"properties":{"name":{"type":"string","description":"optional *string* \u0026rarr;  The Container name.\n"},"url":{"type":"string","description":"*string* \u0026rarr;  The consumer URL.\n"}},"type":"object"},"vkcs:index/getKeymanagerContainerSecretRef:getKeymanagerContainerSecretRef":{"properties":{"name":{"type":"string","description":"optional *string* \u0026rarr;  The Container name.\n"},"secretRef":{"type":"string","description":"*string*\n"}},"type":"object"},"vkcs:index/getKeymanagerSecretAcl:getKeymanagerSecretAcl":{"properties":{"reads":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FgetKeymanagerSecretAclRead:getKeymanagerSecretAclRead"},"description":"*list* \u0026rarr;  Block that describes read operation.\n"}},"type":"object","required":["reads"],"language":{"nodejs":{"requiredInputs":[]}}},"vkcs:index/getKeymanagerSecretAclRead:getKeymanagerSecretAclRead":{"properties":{"createdAt":{"type":"string","description":"*string* \u0026rarr;  The date the secret was created.\n"},"projectAccess":{"type":"boolean","description":"*boolean* \u0026rarr;  Whether the container is accessible project wide. 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"},"updatedAt":{"type":"string","description":"*string* \u0026rarr;  The date the secret was last updated.\n"},"users":{"type":"array","items":{"type":"string"},"description":"*set of* *string* \u0026rarr;  The list of user IDs, which are allowed to access the container, when \u003cspan pulumi-lang-nodejs=\"`projectAccess`\" pulumi-lang-dotnet=\"`ProjectAccess`\" pulumi-lang-go=\"`projectAccess`\" pulumi-lang-python=\"`project_access`\" pulumi-lang-yaml=\"`projectAccess`\" pulumi-lang-java=\"`projectAccess`\"\u003e`project_access`\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.\n"}},"type":"object","required":["createdAt","updatedAt"],"language":{"nodejs":{"requiredInputs":[]}}},"vkcs:index/getKubernetesAddonsAddon:getKubernetesAddonsAddon":{"properties":{"id":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"installed":{"type":"boolean","description":"*boolean* \u0026rarr;  Whether an addon was installed in the cluster.\n"},"name":{"type":"string","description":"*string* \u0026rarr;  Name of an addon.\n"},"version":{"type":"string","description":"*string* \u0026rarr;  Version of an addon.\n"}},"type":"object","required":["id","installed","name","version"],"language":{"nodejs":{"requiredInputs":[]}}},"vkcs:index/getKubernetesClustertemplatesClusterTemplate:getKubernetesClustertemplatesClusterTemplate":{"properties":{"clusterTemplateUuid":{"type":"string","description":"*string* \u0026rarr;  UUID of a cluster template.\n"},"name":{"type":"string","description":"*string* \u0026rarr;  Name of a cluster template.\n"},"version":{"type":"string","description":"*string* \u0026rarr;  Version of Kubernetes.\n"}},"type":"object","required":["clusterTemplateUuid","name","version"],"language":{"nodejs":{"requiredInputs":[]}}},"vkcs:index/getKubernetesNodeGroupNode:getKubernetesNodeGroupNode":{"properties":{"createdAt":{"type":"string","description":"*string* \u0026rarr;  Time when a node was created.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  `Deprecated: read-only field.` The name of the node group.\n"},"nodeGroupId":{"type":"string","description":"*string* \u0026rarr;  The node group id.\n"},"updatedAt":{"type":"string","description":"*string* \u0026rarr;  Time when a node was updated.\n"},"uuid":{"type":"string","description":"optional deprecated *string* \u0026rarr;  The UUID of the cluster's node group. **Deprecated** This argument is deprecated, please, use 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 attribute instead.\n"}},"type":"object","required":["createdAt","name","nodeGroupId","updatedAt","uuid"],"language":{"nodejs":{"requiredInputs":[]}}},"vkcs:index/getKubernetesSecurityPolicyTemplatesSecurityPolicyTemplate:getKubernetesSecurityPolicyTemplatesSecurityPolicyTemplate":{"properties":{"createdAt":{"type":"string","description":"*string* \u0026rarr;  Template creation timestamp\n"},"description":{"type":"string","description":"*string* \u0026rarr;  Description of the security policy template.\n"},"id":{"type":"string","description":"*string* \u0026rarr;  ID of the template.\n"},"name":{"type":"string","description":"*string* \u0026rarr;  Name of the security policy template.\n"},"settingsDescription":{"type":"string","description":"*string* \u0026rarr;  Security policy settings description.\n"},"updatedAt":{"type":"string","description":"*string* \u0026rarr;  Template update timestamp.\n"},"version":{"type":"string","description":"*string* \u0026rarr;  Version of the security policy template.\n"}},"type":"object","required":["createdAt","description","id","name","settingsDescription","updatedAt","version"],"language":{"nodejs":{"requiredInputs":[]}}},"vkcs:index/getNetworkingPortAllowedAddressPair:getNetworkingPortAllowedAddressPair":{"properties":{"ipAddress":{"type":"string","description":"*string* \u0026rarr;  The additional IP address.\n"},"macAddress":{"type":"string","description":"optional *string* \u0026rarr;  The MAC address of the port.\n"}},"type":"object","required":["ipAddress","macAddress"],"language":{"nodejs":{"requiredInputs":[]}}},"vkcs:index/getNetworkingPortExtraDhcpOption:getNetworkingPortExtraDhcpOption":{"properties":{"name":{"type":"string","description":"optional *string* \u0026rarr;  The name of the port.\n"},"value":{"type":"string","description":"*string* \u0026rarr;  Value of the DHCP option.\n"}},"type":"object","required":["name","value"],"language":{"nodejs":{"requiredInputs":[]}}},"vkcs:index/getNetworkingRouterExternalFixedIp:getNetworkingRouterExternalFixedIp":{"properties":{"ipAddress":{"type":"string"},"subnetId":{"type":"string"}},"type":"object","required":["ipAddress","subnetId"],"language":{"nodejs":{"requiredInputs":[]}}},"vkcs:index/getNetworkingSubnetAllocationPool:getNetworkingSubnetAllocationPool":{"properties":{"end":{"type":"string","description":"*string* \u0026rarr;  The ending address.\n"},"start":{"type":"string","description":"*string* \u0026rarr;  The starting address.\n"}},"type":"object","required":["end","start"],"language":{"nodejs":{"requiredInputs":[]}}},"vkcs:index/getNetworkingSubnetHostRoute:getNetworkingSubnetHostRoute":{"properties":{"destinationCidr":{"type":"string","description":"*string*\n"},"nextHop":{"type":"string","description":"*string*\n"}},"type":"object","required":["destinationCidr","nextHop"],"language":{"nodejs":{"requiredInputs":[]}}}},"provider":{"description":"The provider type for the vkcs 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":{"accessToken":{"type":"string","description":"A temporary token to use for authentication. You alternatively can use `OS_AUTH_TOKEN` environment variable. If both are specified, this attribute takes precedence. _note_ The token will not be renewed and will eventually expire, usually after 1 hour. If access is needed for longer than a token's lifetime, use credentials-based authentication.","secret":true},"authUrl":{"type":"string","description":"The Identity authentication URL."},"cloudContainersApiVersion":{"type":"string","description":"Cloud Containers API version to use. _note_ Only for custom VKCS deployments."},"password":{"type":"string","description":"Password to login with.","secret":true},"projectId":{"type":"string","description":"The ID of Project to login with."},"region":{"type":"string","description":"A region to use."},"userDomainId":{"type":"string","description":"The id of the domain where the user resides."},"userDomainName":{"type":"string","description":"The name of the domain where the user resides."},"username":{"type":"string","description":"User name to login with."}},"type":"object","inputProperties":{"accessToken":{"type":"string","description":"A temporary token to use for authentication. You alternatively can use `OS_AUTH_TOKEN` environment variable. If both are specified, this attribute takes precedence. _note_ The token will not be renewed and will eventually expire, usually after 1 hour. If access is needed for longer than a token's lifetime, use credentials-based authentication.","secret":true},"authUrl":{"type":"string","description":"The Identity authentication URL."},"cloudContainersApiVersion":{"type":"string","description":"Cloud Containers API version to use. _note_ Only for custom VKCS deployments."},"endpointOverrides":{"$ref":"#/types/vkcs:index%2FProviderEndpointOverrides:ProviderEndpointOverrides","description":"Custom endpoints for corresponding APIs. If not specified, endpoints provided by the catalog will be used."},"password":{"type":"string","description":"Password to login with.","secret":true},"projectId":{"type":"string","description":"The ID of Project to login with."},"region":{"type":"string","description":"A region to use."},"skipClientAuth":{"type":"boolean","description":"Skip authentication on client initialization. Only applicablie if \u003cspan pulumi-lang-nodejs=\"`accessToken`\" pulumi-lang-dotnet=\"`AccessToken`\" pulumi-lang-go=\"`accessToken`\" pulumi-lang-python=\"`access_token`\" pulumi-lang-yaml=\"`accessToken`\" pulumi-lang-java=\"`accessToken`\"\u003e`access_token`\u003c/span\u003e is provided. _note_ If set to true, the endpoint catalog will not be used for discovery and all required endpoints must be provided via \u003cspan pulumi-lang-nodejs=\"`endpointOverrides`\" pulumi-lang-dotnet=\"`EndpointOverrides`\" pulumi-lang-go=\"`endpointOverrides`\" pulumi-lang-python=\"`endpoint_overrides`\" pulumi-lang-yaml=\"`endpointOverrides`\" pulumi-lang-java=\"`endpointOverrides`\"\u003e`endpoint_overrides`\u003c/span\u003e."},"userDomainId":{"type":"string","description":"The id of the domain where the user resides."},"userDomainName":{"type":"string","description":"The name of the domain where the user resides."},"username":{"type":"string","description":"User name to login with."}},"methods":{"terraformConfig":"pulumi:providers:vkcs/terraformConfig"}},"resources":{"vkcs:index/backupPlan:BackupPlan":{"description":"Manages a backup plan resource.\n\n**New since v0.4.0**.\n\n## Example Usage\n\n### Incremental backup for compute instance\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst backupPlan = new vkcs.BackupPlan(\"backup_plan\", {\n    name: \"backup-plan-tf-example\",\n    providerName: \"cloud_servers\",\n    incrementalBackup: true,\n    schedule: {\n        dates: [\"Mo\"],\n        time: \"04:00+03\",\n    },\n    fullRetention: {\n        maxFullBackup: 25,\n    },\n    instanceIds: [basic.id],\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\nbackup_plan = vkcs.BackupPlan(\"backup_plan\",\n    name=\"backup-plan-tf-example\",\n    provider_name=\"cloud_servers\",\n    incremental_backup=True,\n    schedule={\n        \"dates\": [\"Mo\"],\n        \"time\": \"04:00+03\",\n    },\n    full_retention={\n        \"max_full_backup\": 25,\n    },\n    instance_ids=[basic[\"id\"]])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var backupPlan = new Vkcs.BackupPlan(\"backup_plan\", new()\n    {\n        Name = \"backup-plan-tf-example\",\n        ProviderName = \"cloud_servers\",\n        IncrementalBackup = true,\n        Schedule = new Vkcs.Inputs.BackupPlanScheduleArgs\n        {\n            Dates = new[]\n            {\n                \"Mo\",\n            },\n            Time = \"04:00+03\",\n        },\n        FullRetention = new Vkcs.Inputs.BackupPlanFullRetentionArgs\n        {\n            MaxFullBackup = 25,\n        },\n        InstanceIds = new[]\n        {\n            basic.Id,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewBackupPlan(ctx, \"backup_plan\", \u0026vkcs.BackupPlanArgs{\n\t\t\tName:              pulumi.String(\"backup-plan-tf-example\"),\n\t\t\tProviderName:      pulumi.String(\"cloud_servers\"),\n\t\t\tIncrementalBackup: pulumi.Bool(true),\n\t\t\tSchedule: \u0026vkcs.BackupPlanScheduleArgs{\n\t\t\t\tDates: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"Mo\"),\n\t\t\t\t},\n\t\t\t\tTime: pulumi.String(\"04:00+03\"),\n\t\t\t},\n\t\t\tFullRetention: \u0026vkcs.BackupPlanFullRetentionArgs{\n\t\t\t\tMaxFullBackup: pulumi.Float64(25),\n\t\t\t},\n\t\t\tInstanceIds: pulumi.StringArray{\n\t\t\t\tbasic.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.vkcs.BackupPlan;\nimport com.pulumi.vkcs.BackupPlanArgs;\nimport com.pulumi.vkcs.inputs.BackupPlanScheduleArgs;\nimport com.pulumi.vkcs.inputs.BackupPlanFullRetentionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 backupPlan = new BackupPlan(\"backupPlan\", BackupPlanArgs.builder()\n            .name(\"backup-plan-tf-example\")\n            .providerName(\"cloud_servers\")\n            .incrementalBackup(true)\n            .schedule(BackupPlanScheduleArgs.builder()\n                .dates(\"Mo\")\n                .time(\"04:00+03\")\n                .build())\n            .fullRetention(BackupPlanFullRetentionArgs.builder()\n                .maxFullBackup(25.0)\n                .build())\n            .instanceIds(basic.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  backupPlan:\n    type: vkcs:BackupPlan\n    name: backup_plan\n    properties:\n      name: backup-plan-tf-example\n      providerName: cloud_servers\n      incrementalBackup: true # Create full backup every Monday at 04:00 MSK\n      #   # Incremental backups are created each other day at the same time\n      schedule:\n        dates:\n          - Mo\n        time: 04:00+03\n      fullRetention:\n        maxFullBackup: 25\n      instanceIds:\n        - ${basic.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Full backup with GFS retention policy for compute instance\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst backupPlan = new vkcs.BackupPlan(\"backup_plan\", {\n    name: \"backup-plan-tf-example\",\n    providerName: \"cloud_servers\",\n    incrementalBackup: false,\n    schedule: {\n        dates: [\n            \"Mo\",\n            \"We\",\n            \"Fr\",\n        ],\n        time: \"23:00\",\n    },\n    gfsRetention: {\n        gfsWeekly: 4,\n        gfsMonthly: 11,\n        gfsYearly: 2,\n    },\n    instanceIds: [basic.id],\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\nbackup_plan = vkcs.BackupPlan(\"backup_plan\",\n    name=\"backup-plan-tf-example\",\n    provider_name=\"cloud_servers\",\n    incremental_backup=False,\n    schedule={\n        \"dates\": [\n            \"Mo\",\n            \"We\",\n            \"Fr\",\n        ],\n        \"time\": \"23:00\",\n    },\n    gfs_retention={\n        \"gfs_weekly\": 4,\n        \"gfs_monthly\": 11,\n        \"gfs_yearly\": 2,\n    },\n    instance_ids=[basic[\"id\"]])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var backupPlan = new Vkcs.BackupPlan(\"backup_plan\", new()\n    {\n        Name = \"backup-plan-tf-example\",\n        ProviderName = \"cloud_servers\",\n        IncrementalBackup = false,\n        Schedule = new Vkcs.Inputs.BackupPlanScheduleArgs\n        {\n            Dates = new[]\n            {\n                \"Mo\",\n                \"We\",\n                \"Fr\",\n            },\n            Time = \"23:00\",\n        },\n        GfsRetention = new Vkcs.Inputs.BackupPlanGfsRetentionArgs\n        {\n            GfsWeekly = 4,\n            GfsMonthly = 11,\n            GfsYearly = 2,\n        },\n        InstanceIds = new[]\n        {\n            basic.Id,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewBackupPlan(ctx, \"backup_plan\", \u0026vkcs.BackupPlanArgs{\n\t\t\tName:              pulumi.String(\"backup-plan-tf-example\"),\n\t\t\tProviderName:      pulumi.String(\"cloud_servers\"),\n\t\t\tIncrementalBackup: pulumi.Bool(false),\n\t\t\tSchedule: \u0026vkcs.BackupPlanScheduleArgs{\n\t\t\t\tDates: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"Mo\"),\n\t\t\t\t\tpulumi.String(\"We\"),\n\t\t\t\t\tpulumi.String(\"Fr\"),\n\t\t\t\t},\n\t\t\t\tTime: pulumi.String(\"23:00\"),\n\t\t\t},\n\t\t\tGfsRetention: \u0026vkcs.BackupPlanGfsRetentionArgs{\n\t\t\t\tGfsWeekly:  pulumi.Float64(4),\n\t\t\t\tGfsMonthly: pulumi.Float64(11),\n\t\t\t\tGfsYearly:  pulumi.Float64(2),\n\t\t\t},\n\t\t\tInstanceIds: pulumi.StringArray{\n\t\t\t\tbasic.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.vkcs.BackupPlan;\nimport com.pulumi.vkcs.BackupPlanArgs;\nimport com.pulumi.vkcs.inputs.BackupPlanScheduleArgs;\nimport com.pulumi.vkcs.inputs.BackupPlanGfsRetentionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 backupPlan = new BackupPlan(\"backupPlan\", BackupPlanArgs.builder()\n            .name(\"backup-plan-tf-example\")\n            .providerName(\"cloud_servers\")\n            .incrementalBackup(false)\n            .schedule(BackupPlanScheduleArgs.builder()\n                .dates(                \n                    \"Mo\",\n                    \"We\",\n                    \"Fr\")\n                .time(\"23:00\")\n                .build())\n            .gfsRetention(BackupPlanGfsRetentionArgs.builder()\n                .gfsWeekly(4.0)\n                .gfsMonthly(11.0)\n                .gfsYearly(2.0)\n                .build())\n            .instanceIds(basic.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  backupPlan:\n    type: vkcs:BackupPlan\n    name: backup_plan\n    properties:\n      name: backup-plan-tf-example\n      providerName: cloud_servers\n      incrementalBackup: false # Backup the instance three times in week at 23:00 (02:00 MSK next day)\n      schedule:\n        dates:\n          - Mo\n          - We\n          - Fr\n        time: 23:00\n      gfsRetention:\n        gfsWeekly: 4\n        gfsMonthly: 11\n        gfsYearly: 2\n      instanceIds:\n        - ${basic.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Backup for db instance\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst backupPlan = new vkcs.BackupPlan(\"backup_plan\", {\n    name: \"backup-plan-tf-example\",\n    providerName: \"dbaas\",\n    incrementalBackup: false,\n    schedule: {\n        everyHours: 12,\n    },\n    fullRetention: {\n        maxFullBackup: 25,\n    },\n    instanceIds: [mysql.id],\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\nbackup_plan = vkcs.BackupPlan(\"backup_plan\",\n    name=\"backup-plan-tf-example\",\n    provider_name=\"dbaas\",\n    incremental_backup=False,\n    schedule={\n        \"every_hours\": 12,\n    },\n    full_retention={\n        \"max_full_backup\": 25,\n    },\n    instance_ids=[mysql[\"id\"]])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var backupPlan = new Vkcs.BackupPlan(\"backup_plan\", new()\n    {\n        Name = \"backup-plan-tf-example\",\n        ProviderName = \"dbaas\",\n        IncrementalBackup = false,\n        Schedule = new Vkcs.Inputs.BackupPlanScheduleArgs\n        {\n            EveryHours = 12,\n        },\n        FullRetention = new Vkcs.Inputs.BackupPlanFullRetentionArgs\n        {\n            MaxFullBackup = 25,\n        },\n        InstanceIds = new[]\n        {\n            mysql.Id,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewBackupPlan(ctx, \"backup_plan\", \u0026vkcs.BackupPlanArgs{\n\t\t\tName:              pulumi.String(\"backup-plan-tf-example\"),\n\t\t\tProviderName:      pulumi.String(\"dbaas\"),\n\t\t\tIncrementalBackup: pulumi.Bool(false),\n\t\t\tSchedule: \u0026vkcs.BackupPlanScheduleArgs{\n\t\t\t\tEveryHours: pulumi.Float64(12),\n\t\t\t},\n\t\t\tFullRetention: \u0026vkcs.BackupPlanFullRetentionArgs{\n\t\t\t\tMaxFullBackup: pulumi.Float64(25),\n\t\t\t},\n\t\t\tInstanceIds: pulumi.StringArray{\n\t\t\t\tmysql.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.vkcs.BackupPlan;\nimport com.pulumi.vkcs.BackupPlanArgs;\nimport com.pulumi.vkcs.inputs.BackupPlanScheduleArgs;\nimport com.pulumi.vkcs.inputs.BackupPlanFullRetentionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 backupPlan = new BackupPlan(\"backupPlan\", BackupPlanArgs.builder()\n            .name(\"backup-plan-tf-example\")\n            .providerName(\"dbaas\")\n            .incrementalBackup(false)\n            .schedule(BackupPlanScheduleArgs.builder()\n                .everyHours(12.0)\n                .build())\n            .fullRetention(BackupPlanFullRetentionArgs.builder()\n                .maxFullBackup(25.0)\n                .build())\n            .instanceIds(mysql.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  backupPlan:\n    type: vkcs:BackupPlan\n    name: backup_plan\n    properties:\n      name: backup-plan-tf-example\n      providerName: dbaas\n      incrementalBackup: false # Backup database data every 12 hours since the next hour after the plan creation\n      schedule:\n        everyHours: 12\n      fullRetention:\n        maxFullBackup: 25\n      instanceIds:\n        - ${mysql.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nBackup plan can be imported using the `name`, e.g.\n\n```sh\n$ pulumi import vkcs:index/backupPlan:BackupPlan mybackupplan 5dfe75cb-a00f-4bc8-9551-bd38f64747e7\n```\n\n","properties":{"backupTargets":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FBackupPlanBackupTarget:BackupPlanBackupTarget"},"description":"*set* \u0026rarr;  Set of backup targets specifying\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\u003eand\u003cspan pulumi-lang-nodejs=\" volumeIds \" pulumi-lang-dotnet=\" VolumeIds \" pulumi-lang-go=\" volumeIds \" pulumi-lang-python=\" volume_ids \" pulumi-lang-yaml=\" volumeIds \" pulumi-lang-java=\" volumeIds \"\u003e volume_ids \u003c/span\u003efor each instance. Either\u003cspan pulumi-lang-nodejs=\" backupTargets \" pulumi-lang-dotnet=\" BackupTargets \" pulumi-lang-go=\" backupTargets \" pulumi-lang-python=\" backup_targets \" pulumi-lang-yaml=\" backupTargets \" pulumi-lang-java=\" backupTargets \"\u003e backup_targets \u003c/span\u003eor\u003cspan pulumi-lang-nodejs=\" instanceIds \" pulumi-lang-dotnet=\" InstanceIds \" pulumi-lang-go=\" instanceIds \" pulumi-lang-python=\" instance_ids \" pulumi-lang-yaml=\" instanceIds \" pulumi-lang-java=\" instanceIds \"\u003e instance_ids \u003c/span\u003emust be specified, but not both.\u003cbr\u003e**New since v0.13.1**.\n"},"fullRetention":{"$ref":"#/types/vkcs:index%2FBackupPlanFullRetention:BackupPlanFullRetention","description":"optional \u0026rarr;  Parameters for full retention policy. Specifies number of full backups stored. Incremental backups (if enabled) are not counted as full. Incompatible with gfs_retention\n"},"gfsRetention":{"$ref":"#/types/vkcs:index%2FBackupPlanGfsRetention:BackupPlanGfsRetention","description":"optional \u0026rarr;  Parameters for gfs retention policy. Specifies number of full backups stored. Incremental backups (if enabled) are not counted as full. Incompatible with full_retention\n"},"incrementalBackup":{"type":"boolean","description":"**required** *boolean* \u0026rarr;  Whether incremental backups strategy should be used. If enabled, the schedule.date field must specify one day, on which full backup will be created. On other days, incremental backups will be created. \u003cbr\u003e**Note:** This option may be enabled for only for 'cloud_servers' provider.\n"},"instanceIds":{"type":"array","items":{"type":"string"},"description":"optional *set of* *string* \u0026rarr;  Set of ids of instances to make backup for. Either\u003cspan pulumi-lang-nodejs=\" backupTargets \" pulumi-lang-dotnet=\" BackupTargets \" pulumi-lang-go=\" backupTargets \" pulumi-lang-python=\" backup_targets \" pulumi-lang-yaml=\" backupTargets \" pulumi-lang-java=\" backupTargets \"\u003e backup_targets \u003c/span\u003eor\u003cspan pulumi-lang-nodejs=\" instanceIds \" pulumi-lang-dotnet=\" InstanceIds \" pulumi-lang-go=\" instanceIds \" pulumi-lang-python=\" instance_ids \" pulumi-lang-yaml=\" instanceIds \" pulumi-lang-java=\" instanceIds \"\u003e instance_ids \u003c/span\u003emust be specified, but not both.\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  Name of the backup plan\n"},"providerId":{"type":"string","description":"optional *string* \u0026rarr;  ID of backup provider\n"},"providerName":{"type":"string","description":"optional *string* \u0026rarr;  Name of backup provider, must be one of: cloud_servers, dbaas\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  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. Changing this creates a new plan.\n"},"schedule":{"$ref":"#/types/vkcs:index%2FBackupPlanSchedule:BackupPlanSchedule","description":"***required***\n"}},"type":"object","required":["incrementalBackup","name","providerId","providerName","region","schedule"],"inputProperties":{"backupTargets":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FBackupPlanBackupTarget:BackupPlanBackupTarget"},"description":"*set* \u0026rarr;  Set of backup targets specifying\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\u003eand\u003cspan pulumi-lang-nodejs=\" volumeIds \" pulumi-lang-dotnet=\" VolumeIds \" pulumi-lang-go=\" volumeIds \" pulumi-lang-python=\" volume_ids \" pulumi-lang-yaml=\" volumeIds \" pulumi-lang-java=\" volumeIds \"\u003e volume_ids \u003c/span\u003efor each instance. Either\u003cspan pulumi-lang-nodejs=\" backupTargets \" pulumi-lang-dotnet=\" BackupTargets \" pulumi-lang-go=\" backupTargets \" pulumi-lang-python=\" backup_targets \" pulumi-lang-yaml=\" backupTargets \" pulumi-lang-java=\" backupTargets \"\u003e backup_targets \u003c/span\u003eor\u003cspan pulumi-lang-nodejs=\" instanceIds \" pulumi-lang-dotnet=\" InstanceIds \" pulumi-lang-go=\" instanceIds \" pulumi-lang-python=\" instance_ids \" pulumi-lang-yaml=\" instanceIds \" pulumi-lang-java=\" instanceIds \"\u003e instance_ids \u003c/span\u003emust be specified, but not both.\u003cbr\u003e**New since v0.13.1**.\n"},"fullRetention":{"$ref":"#/types/vkcs:index%2FBackupPlanFullRetention:BackupPlanFullRetention","description":"optional \u0026rarr;  Parameters for full retention policy. Specifies number of full backups stored. Incremental backups (if enabled) are not counted as full. Incompatible with gfs_retention\n"},"gfsRetention":{"$ref":"#/types/vkcs:index%2FBackupPlanGfsRetention:BackupPlanGfsRetention","description":"optional \u0026rarr;  Parameters for gfs retention policy. Specifies number of full backups stored. Incremental backups (if enabled) are not counted as full. Incompatible with full_retention\n"},"incrementalBackup":{"type":"boolean","description":"**required** *boolean* \u0026rarr;  Whether incremental backups strategy should be used. If enabled, the schedule.date field must specify one day, on which full backup will be created. On other days, incremental backups will be created. \u003cbr\u003e**Note:** This option may be enabled for only for 'cloud_servers' provider.\n"},"instanceIds":{"type":"array","items":{"type":"string"},"description":"optional *set of* *string* \u0026rarr;  Set of ids of instances to make backup for. Either\u003cspan pulumi-lang-nodejs=\" backupTargets \" pulumi-lang-dotnet=\" BackupTargets \" pulumi-lang-go=\" backupTargets \" pulumi-lang-python=\" backup_targets \" pulumi-lang-yaml=\" backupTargets \" pulumi-lang-java=\" backupTargets \"\u003e backup_targets \u003c/span\u003eor\u003cspan pulumi-lang-nodejs=\" instanceIds \" pulumi-lang-dotnet=\" InstanceIds \" pulumi-lang-go=\" instanceIds \" pulumi-lang-python=\" instance_ids \" pulumi-lang-yaml=\" instanceIds \" pulumi-lang-java=\" instanceIds \"\u003e instance_ids \u003c/span\u003emust be specified, but not both.\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  Name of the backup plan\n"},"providerId":{"type":"string","description":"optional *string* \u0026rarr;  ID of backup provider\n"},"providerName":{"type":"string","description":"optional *string* \u0026rarr;  Name of backup provider, must be one of: cloud_servers, dbaas\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  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. Changing this creates a new plan.\n"},"schedule":{"$ref":"#/types/vkcs:index%2FBackupPlanSchedule:BackupPlanSchedule","description":"***required***\n"}},"requiredInputs":["incrementalBackup","schedule"],"stateInputs":{"description":"Input properties used for looking up and filtering BackupPlan resources.\n","properties":{"backupTargets":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FBackupPlanBackupTarget:BackupPlanBackupTarget"},"description":"*set* \u0026rarr;  Set of backup targets specifying\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\u003eand\u003cspan pulumi-lang-nodejs=\" volumeIds \" pulumi-lang-dotnet=\" VolumeIds \" pulumi-lang-go=\" volumeIds \" pulumi-lang-python=\" volume_ids \" pulumi-lang-yaml=\" volumeIds \" pulumi-lang-java=\" volumeIds \"\u003e volume_ids \u003c/span\u003efor each instance. Either\u003cspan pulumi-lang-nodejs=\" backupTargets \" pulumi-lang-dotnet=\" BackupTargets \" pulumi-lang-go=\" backupTargets \" pulumi-lang-python=\" backup_targets \" pulumi-lang-yaml=\" backupTargets \" pulumi-lang-java=\" backupTargets \"\u003e backup_targets \u003c/span\u003eor\u003cspan pulumi-lang-nodejs=\" instanceIds \" pulumi-lang-dotnet=\" InstanceIds \" pulumi-lang-go=\" instanceIds \" pulumi-lang-python=\" instance_ids \" pulumi-lang-yaml=\" instanceIds \" pulumi-lang-java=\" instanceIds \"\u003e instance_ids \u003c/span\u003emust be specified, but not both.\u003cbr\u003e**New since v0.13.1**.\n"},"fullRetention":{"$ref":"#/types/vkcs:index%2FBackupPlanFullRetention:BackupPlanFullRetention","description":"optional \u0026rarr;  Parameters for full retention policy. Specifies number of full backups stored. Incremental backups (if enabled) are not counted as full. Incompatible with gfs_retention\n"},"gfsRetention":{"$ref":"#/types/vkcs:index%2FBackupPlanGfsRetention:BackupPlanGfsRetention","description":"optional \u0026rarr;  Parameters for gfs retention policy. Specifies number of full backups stored. Incremental backups (if enabled) are not counted as full. Incompatible with full_retention\n"},"incrementalBackup":{"type":"boolean","description":"**required** *boolean* \u0026rarr;  Whether incremental backups strategy should be used. If enabled, the schedule.date field must specify one day, on which full backup will be created. On other days, incremental backups will be created. \u003cbr\u003e**Note:** This option may be enabled for only for 'cloud_servers' provider.\n"},"instanceIds":{"type":"array","items":{"type":"string"},"description":"optional *set of* *string* \u0026rarr;  Set of ids of instances to make backup for. Either\u003cspan pulumi-lang-nodejs=\" backupTargets \" pulumi-lang-dotnet=\" BackupTargets \" pulumi-lang-go=\" backupTargets \" pulumi-lang-python=\" backup_targets \" pulumi-lang-yaml=\" backupTargets \" pulumi-lang-java=\" backupTargets \"\u003e backup_targets \u003c/span\u003eor\u003cspan pulumi-lang-nodejs=\" instanceIds \" pulumi-lang-dotnet=\" InstanceIds \" pulumi-lang-go=\" instanceIds \" pulumi-lang-python=\" instance_ids \" pulumi-lang-yaml=\" instanceIds \" pulumi-lang-java=\" instanceIds \"\u003e instance_ids \u003c/span\u003emust be specified, but not both.\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  Name of the backup plan\n"},"providerId":{"type":"string","description":"optional *string* \u0026rarr;  ID of backup provider\n"},"providerName":{"type":"string","description":"optional *string* \u0026rarr;  Name of backup provider, must be one of: cloud_servers, dbaas\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  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. Changing this creates a new plan.\n"},"schedule":{"$ref":"#/types/vkcs:index%2FBackupPlanSchedule:BackupPlanSchedule","description":"***required***\n"}},"type":"object"}},"vkcs:index/blockstorageSnapshot:BlockstorageSnapshot":{"description":"Provides a blockstorage snapshot resource. This can be used to create, modify and delete blockstorage snapshot.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst recentSnapshot = new vkcs.BlockstorageSnapshot(\"recent_snapshot\", {\n    volumeId: data.id,\n    name: \"snapshot-tf-example\",\n    description: \"test snapshot\",\n    metadata: {\n        foo: \"bar\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\nrecent_snapshot = vkcs.BlockstorageSnapshot(\"recent_snapshot\",\n    volume_id=data[\"id\"],\n    name=\"snapshot-tf-example\",\n    description=\"test snapshot\",\n    metadata={\n        \"foo\": \"bar\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var recentSnapshot = new Vkcs.BlockstorageSnapshot(\"recent_snapshot\", new()\n    {\n        VolumeId = data.Id,\n        Name = \"snapshot-tf-example\",\n        Description = \"test snapshot\",\n        Metadata = \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/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewBlockstorageSnapshot(ctx, \"recent_snapshot\", \u0026vkcs.BlockstorageSnapshotArgs{\n\t\t\tVolumeId:    pulumi.Any(data.Id),\n\t\t\tName:        pulumi.String(\"snapshot-tf-example\"),\n\t\t\tDescription: pulumi.String(\"test snapshot\"),\n\t\t\tMetadata: 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.vkcs.BlockstorageSnapshot;\nimport com.pulumi.vkcs.BlockstorageSnapshotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 recentSnapshot = new BlockstorageSnapshot(\"recentSnapshot\", BlockstorageSnapshotArgs.builder()\n            .volumeId(data.id())\n            .name(\"snapshot-tf-example\")\n            .description(\"test snapshot\")\n            .metadata(Map.of(\"foo\", \"bar\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  recentSnapshot:\n    type: vkcs:BlockstorageSnapshot\n    name: recent_snapshot\n    properties:\n      volumeId: ${data.id}\n      name: snapshot-tf-example\n      description: test snapshot\n      metadata:\n        foo: bar\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVolume snapshots can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import vkcs:index/blockstorageSnapshot:BlockstorageSnapshot myvolumesnapshot 0b4f5a9b-554e-4e80-b553-82aba6502315\n```\n\nAfter the import you can use terraform show to view imported fields and write their values to your .tf file.\n\n","properties":{"blockstorageSnapshotId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  The description of the volume.\n"},"force":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Allows or disallows snapshot of a volume when the volume is attached to an instance.\n"},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"optional *map of* *string* \u0026rarr;  Map of key-value metadata of the volume.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  The name of the snapshot.\n"},"region":{"type":"string","description":"optional *string*\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FBlockstorageSnapshotTimeouts:BlockstorageSnapshotTimeouts"},"volumeId":{"type":"string","description":"**required** *string* \u0026rarr;  ID of the volume to create snapshot for. Changing this creates a new snapshot.\n"}},"type":"object","required":["blockstorageSnapshotId","name","region","volumeId"],"inputProperties":{"blockstorageSnapshotId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  The description of the volume.\n"},"force":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Allows or disallows snapshot of a volume when the volume is attached to an instance.\n"},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"optional *map of* *string* \u0026rarr;  Map of key-value metadata of the volume.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  The name of the snapshot.\n"},"region":{"type":"string","description":"optional *string*\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FBlockstorageSnapshotTimeouts:BlockstorageSnapshotTimeouts"},"volumeId":{"type":"string","description":"**required** *string* \u0026rarr;  ID of the volume to create snapshot for. Changing this creates a new snapshot.\n"}},"requiredInputs":["volumeId"],"stateInputs":{"description":"Input properties used for looking up and filtering BlockstorageSnapshot resources.\n","properties":{"blockstorageSnapshotId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  The description of the volume.\n"},"force":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Allows or disallows snapshot of a volume when the volume is attached to an instance.\n"},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"optional *map of* *string* \u0026rarr;  Map of key-value metadata of the volume.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  The name of the snapshot.\n"},"region":{"type":"string","description":"optional *string*\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FBlockstorageSnapshotTimeouts:BlockstorageSnapshotTimeouts"},"volumeId":{"type":"string","description":"**required** *string* \u0026rarr;  ID of the volume to create snapshot for. Changing this creates a new snapshot.\n"}},"type":"object"}},"vkcs:index/blockstorageVolume:BlockstorageVolume":{"description":"Provides a blockstorage volume resource. This can be used to create, modify and delete blockstorage volume.\n\n## Example Usage\n\n### Create an empty volume\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst data = new vkcs.BlockstorageVolume(\"data\", {\n    name: \"data-tf-example\",\n    description: \"test volume\",\n    metadata: {\n        foo: \"bar\",\n    },\n    size: 1,\n    availabilityZone: \"GZ1\",\n    volumeType: \"ceph-ssd\",\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\ndata = vkcs.BlockstorageVolume(\"data\",\n    name=\"data-tf-example\",\n    description=\"test volume\",\n    metadata={\n        \"foo\": \"bar\",\n    },\n    size=1,\n    availability_zone=\"GZ1\",\n    volume_type=\"ceph-ssd\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var data = new Vkcs.BlockstorageVolume(\"data\", new()\n    {\n        Name = \"data-tf-example\",\n        Description = \"test volume\",\n        Metadata = \n        {\n            { \"foo\", \"bar\" },\n        },\n        Size = 1,\n        AvailabilityZone = \"GZ1\",\n        VolumeType = \"ceph-ssd\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewBlockstorageVolume(ctx, \"data\", \u0026vkcs.BlockstorageVolumeArgs{\n\t\t\tName:        pulumi.String(\"data-tf-example\"),\n\t\t\tDescription: pulumi.String(\"test volume\"),\n\t\t\tMetadata: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t\tSize:             pulumi.Float64(1),\n\t\t\tAvailabilityZone: pulumi.String(\"GZ1\"),\n\t\t\tVolumeType:       pulumi.String(\"ceph-ssd\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.vkcs.BlockstorageVolume;\nimport com.pulumi.vkcs.BlockstorageVolumeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 data = new BlockstorageVolume(\"data\", BlockstorageVolumeArgs.builder()\n            .name(\"data-tf-example\")\n            .description(\"test volume\")\n            .metadata(Map.of(\"foo\", \"bar\"))\n            .size(1.0)\n            .availabilityZone(\"GZ1\")\n            .volumeType(\"ceph-ssd\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  data:\n    type: vkcs:BlockstorageVolume\n    properties:\n      name: data-tf-example\n      description: test volume\n      metadata:\n        foo: bar\n      size: 1\n      availabilityZone: GZ1\n      volumeType: ceph-ssd\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create bootable volume\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst bootable = new vkcs.BlockstorageVolume(\"bootable\", {\n    name: \"bootable-tf-example\",\n    size: 10,\n    volumeType: \"ceph-ssd\",\n    imageId: debian.id,\n    availabilityZone: \"GZ1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\nbootable = vkcs.BlockstorageVolume(\"bootable\",\n    name=\"bootable-tf-example\",\n    size=10,\n    volume_type=\"ceph-ssd\",\n    image_id=debian[\"id\"],\n    availability_zone=\"GZ1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var bootable = new Vkcs.BlockstorageVolume(\"bootable\", new()\n    {\n        Name = \"bootable-tf-example\",\n        Size = 10,\n        VolumeType = \"ceph-ssd\",\n        ImageId = debian.Id,\n        AvailabilityZone = \"GZ1\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewBlockstorageVolume(ctx, \"bootable\", \u0026vkcs.BlockstorageVolumeArgs{\n\t\t\tName:             pulumi.String(\"bootable-tf-example\"),\n\t\t\tSize:             pulumi.Float64(10),\n\t\t\tVolumeType:       pulumi.String(\"ceph-ssd\"),\n\t\t\tImageId:          pulumi.Any(debian.Id),\n\t\t\tAvailabilityZone: pulumi.String(\"GZ1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.vkcs.BlockstorageVolume;\nimport com.pulumi.vkcs.BlockstorageVolumeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 bootable = new BlockstorageVolume(\"bootable\", BlockstorageVolumeArgs.builder()\n            .name(\"bootable-tf-example\")\n            .size(10.0)\n            .volumeType(\"ceph-ssd\")\n            .imageId(debian.id())\n            .availabilityZone(\"GZ1\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  bootable:\n    type: vkcs:BlockstorageVolume\n    properties:\n      name: bootable-tf-example\n      size: 10\n      volumeType: ceph-ssd\n      imageId: ${debian.id}\n      availabilityZone: GZ1\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 vkcs:index/blockstorageVolume:BlockstorageVolume myvolume 64f3cfc5-226e-4388-a9b8-365b1441b94f\n```\n\nAfter the import you can use terraform show to view imported fields and write their values to your .tf file.\n\n","properties":{"allMetadata":{"type":"object","additionalProperties":{"type":"string"},"description":"*map of* *string* \u0026rarr;  Map of key-value metadata of the volume.\u003cbr\u003e**New since v0.8.3**.\n"},"availabilityZone":{"type":"string","description":"**required** *string* \u0026rarr;  The name of the availability zone of the volume.\n"},"blockstorageVolumeId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  The description of the volume.\n"},"imageId":{"type":"string","description":"optional *string* \u0026rarr;  ID of the image to create volume with. Changing this creates a new volume. Only one of snapshot_id, source_volume_id,\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\u003efields may be set.\n"},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"optional *map of* *string* \u0026rarr;  Key-value map to configure metadata of the volume. \u003cbr\u003e**Note:** Changes to keys that are not in scope, i.e. not configured here, will not be reflected in planned changes, if any, so those keys can be \u003cspan pulumi-lang-nodejs=\"`silently`\" pulumi-lang-dotnet=\"`Silently`\" pulumi-lang-go=\"`silently`\" pulumi-lang-python=\"`silently`\" pulumi-lang-yaml=\"`silently`\" pulumi-lang-java=\"`silently`\"\u003e`silently`\u003c/span\u003e removed during an update.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  The name of the volume.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  Region to create resource in.\n"},"size":{"type":"number","description":"**required** *number* \u0026rarr;  The size of the volume.\n"},"snapshotId":{"type":"string","description":"optional *string* \u0026rarr;  ID of the snapshot of volume. Changing this creates a new volume. Only one of snapshot_id, source_volume_id,\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\u003efields may be set.\n"},"sourceVolId":{"type":"string","description":"optional *string* \u0026rarr;  ID of the source volume. Changing this creates a new volume. Only one of snapshot_id, source_volume_id,\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\u003efields may be set.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FBlockstorageVolumeTimeouts:BlockstorageVolumeTimeouts"},"volumeType":{"type":"string","description":"**required** *string* \u0026rarr;  The type of the volume.\n"}},"type":"object","required":["allMetadata","availabilityZone","blockstorageVolumeId","name","region","size","volumeType"],"inputProperties":{"availabilityZone":{"type":"string","description":"**required** *string* \u0026rarr;  The name of the availability zone of the volume.\n"},"blockstorageVolumeId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  The description of the volume.\n"},"imageId":{"type":"string","description":"optional *string* \u0026rarr;  ID of the image to create volume with. Changing this creates a new volume. Only one of snapshot_id, source_volume_id,\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\u003efields may be set.\n"},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"optional *map of* *string* \u0026rarr;  Key-value map to configure metadata of the volume. \u003cbr\u003e**Note:** Changes to keys that are not in scope, i.e. not configured here, will not be reflected in planned changes, if any, so those keys can be \u003cspan pulumi-lang-nodejs=\"`silently`\" pulumi-lang-dotnet=\"`Silently`\" pulumi-lang-go=\"`silently`\" pulumi-lang-python=\"`silently`\" pulumi-lang-yaml=\"`silently`\" pulumi-lang-java=\"`silently`\"\u003e`silently`\u003c/span\u003e removed during an update.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  The name of the volume.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  Region to create resource in.\n"},"size":{"type":"number","description":"**required** *number* \u0026rarr;  The size of the volume.\n"},"snapshotId":{"type":"string","description":"optional *string* \u0026rarr;  ID of the snapshot of volume. Changing this creates a new volume. Only one of snapshot_id, source_volume_id,\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\u003efields may be set.\n"},"sourceVolId":{"type":"string","description":"optional *string* \u0026rarr;  ID of the source volume. Changing this creates a new volume. Only one of snapshot_id, source_volume_id,\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\u003efields may be set.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FBlockstorageVolumeTimeouts:BlockstorageVolumeTimeouts"},"volumeType":{"type":"string","description":"**required** *string* \u0026rarr;  The type of the volume.\n"}},"requiredInputs":["availabilityZone","size","volumeType"],"stateInputs":{"description":"Input properties used for looking up and filtering BlockstorageVolume resources.\n","properties":{"allMetadata":{"type":"object","additionalProperties":{"type":"string"},"description":"*map of* *string* \u0026rarr;  Map of key-value metadata of the volume.\u003cbr\u003e**New since v0.8.3**.\n"},"availabilityZone":{"type":"string","description":"**required** *string* \u0026rarr;  The name of the availability zone of the volume.\n"},"blockstorageVolumeId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  The description of the volume.\n"},"imageId":{"type":"string","description":"optional *string* \u0026rarr;  ID of the image to create volume with. Changing this creates a new volume. Only one of snapshot_id, source_volume_id,\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\u003efields may be set.\n"},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"optional *map of* *string* \u0026rarr;  Key-value map to configure metadata of the volume. \u003cbr\u003e**Note:** Changes to keys that are not in scope, i.e. not configured here, will not be reflected in planned changes, if any, so those keys can be \u003cspan pulumi-lang-nodejs=\"`silently`\" pulumi-lang-dotnet=\"`Silently`\" pulumi-lang-go=\"`silently`\" pulumi-lang-python=\"`silently`\" pulumi-lang-yaml=\"`silently`\" pulumi-lang-java=\"`silently`\"\u003e`silently`\u003c/span\u003e removed during an update.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  The name of the volume.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  Region to create resource in.\n"},"size":{"type":"number","description":"**required** *number* \u0026rarr;  The size of the volume.\n"},"snapshotId":{"type":"string","description":"optional *string* \u0026rarr;  ID of the snapshot of volume. Changing this creates a new volume. Only one of snapshot_id, source_volume_id,\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\u003efields may be set.\n"},"sourceVolId":{"type":"string","description":"optional *string* \u0026rarr;  ID of the source volume. Changing this creates a new volume. Only one of snapshot_id, source_volume_id,\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\u003efields may be set.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FBlockstorageVolumeTimeouts:BlockstorageVolumeTimeouts"},"volumeType":{"type":"string","description":"**required** *string* \u0026rarr;  The type of the volume.\n"}},"type":"object"}},"vkcs:index/cdnOriginGroup:CdnOriginGroup":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst originGroup = new vkcs.CdnOriginGroup(\"origin_group\", {\n    name: \"tfexample-origin-group\",\n    origins: [\n        {\n            source: \"origin1.vk.com\",\n        },\n        {\n            source: \"origin2.vk.com\",\n            backup: true,\n        },\n    ],\n    useNext: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\norigin_group = vkcs.CdnOriginGroup(\"origin_group\",\n    name=\"tfexample-origin-group\",\n    origins=[\n        {\n            \"source\": \"origin1.vk.com\",\n        },\n        {\n            \"source\": \"origin2.vk.com\",\n            \"backup\": True,\n        },\n    ],\n    use_next=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var originGroup = new Vkcs.CdnOriginGroup(\"origin_group\", new()\n    {\n        Name = \"tfexample-origin-group\",\n        Origins = new[]\n        {\n            new Vkcs.Inputs.CdnOriginGroupOriginArgs\n            {\n                Source = \"origin1.vk.com\",\n            },\n            new Vkcs.Inputs.CdnOriginGroupOriginArgs\n            {\n                Source = \"origin2.vk.com\",\n                Backup = true,\n            },\n        },\n        UseNext = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewCdnOriginGroup(ctx, \"origin_group\", \u0026vkcs.CdnOriginGroupArgs{\n\t\t\tName: pulumi.String(\"tfexample-origin-group\"),\n\t\t\tOrigins: vkcs.CdnOriginGroupOriginArray{\n\t\t\t\t\u0026vkcs.CdnOriginGroupOriginArgs{\n\t\t\t\t\tSource: pulumi.String(\"origin1.vk.com\"),\n\t\t\t\t},\n\t\t\t\t\u0026vkcs.CdnOriginGroupOriginArgs{\n\t\t\t\t\tSource: pulumi.String(\"origin2.vk.com\"),\n\t\t\t\t\tBackup: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tUseNext: 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.vkcs.CdnOriginGroup;\nimport com.pulumi.vkcs.CdnOriginGroupArgs;\nimport com.pulumi.vkcs.inputs.CdnOriginGroupOriginArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 originGroup = new CdnOriginGroup(\"originGroup\", CdnOriginGroupArgs.builder()\n            .name(\"tfexample-origin-group\")\n            .origins(            \n                CdnOriginGroupOriginArgs.builder()\n                    .source(\"origin1.vk.com\")\n                    .build(),\n                CdnOriginGroupOriginArgs.builder()\n                    .source(\"origin2.vk.com\")\n                    .backup(true)\n                    .build())\n            .useNext(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  originGroup:\n    type: vkcs:CdnOriginGroup\n    name: origin_group\n    properties:\n      name: tfexample-origin-group\n      origins:\n        - source: origin1.vk.com\n        - source: origin2.vk.com\n          backup: true\n      useNext: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAn origin group can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import vkcs:index/cdnOriginGroup:CdnOriginGroup resource \u003cresource_id\u003e\n```\n\n","properties":{"cdnOriginGroupId":{"type":"number","description":"*number* \u0026rarr;  ID of the origin group.\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  Name of the origin group.\n"},"origins":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FCdnOriginGroupOrigin:CdnOriginGroupOrigin"},"description":"*list* \u0026rarr;  List of origin sources in the origin group.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the CDN client. If 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 creates a new resource.\n"},"useNext":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Defines whether to use the next origin from the origin group if origin responds with 4XX or 5XX codes. Defaults to false.\n"}},"type":"object","required":["cdnOriginGroupId","name","origins","region","useNext"],"inputProperties":{"name":{"type":"string","description":"**required** *string* \u0026rarr;  Name of the origin group.\n"},"origins":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FCdnOriginGroupOrigin:CdnOriginGroupOrigin"},"description":"*list* \u0026rarr;  List of origin sources in the origin group.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the CDN client. If 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 creates a new resource.\n"},"useNext":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Defines whether to use the next origin from the origin group if origin responds with 4XX or 5XX codes. Defaults to false.\n"}},"requiredInputs":["origins"],"stateInputs":{"description":"Input properties used for looking up and filtering CdnOriginGroup resources.\n","properties":{"cdnOriginGroupId":{"type":"number","description":"*number* \u0026rarr;  ID of the origin group.\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  Name of the origin group.\n"},"origins":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FCdnOriginGroupOrigin:CdnOriginGroupOrigin"},"description":"*list* \u0026rarr;  List of origin sources in the origin group.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the CDN client. If 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 creates a new resource.\n"},"useNext":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Defines whether to use the next origin from the origin group if origin responds with 4XX or 5XX codes. Defaults to false.\n"}},"type":"object"}},"vkcs:index/cdnResource:CdnResource":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst resource = new vkcs.CdnResource(\"resource\", {\n    cname: cname,\n    originGroup: originGroup.id,\n    options: {\n        edgeCacheSettings: {\n            value: \"10m\",\n        },\n        forwardHostHeader: true,\n        gzipOn: true,\n    },\n    sslCertificate: {\n        type: \"own\",\n        id: certificate.id,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\nresource = vkcs.CdnResource(\"resource\",\n    cname=cname,\n    origin_group=origin_group[\"id\"],\n    options={\n        \"edge_cache_settings\": {\n            \"value\": \"10m\",\n        },\n        \"forward_host_header\": True,\n        \"gzip_on\": True,\n    },\n    ssl_certificate={\n        \"type\": \"own\",\n        \"id\": certificate[\"id\"],\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var resource = new Vkcs.CdnResource(\"resource\", new()\n    {\n        Cname = cname,\n        OriginGroup = originGroup.Id,\n        Options = new Vkcs.Inputs.CdnResourceOptionsArgs\n        {\n            EdgeCacheSettings = new Vkcs.Inputs.CdnResourceOptionsEdgeCacheSettingsArgs\n            {\n                Value = \"10m\",\n            },\n            ForwardHostHeader = true,\n            GzipOn = true,\n        },\n        SslCertificate = new Vkcs.Inputs.CdnResourceSslCertificateArgs\n        {\n            Type = \"own\",\n            Id = certificate.Id,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewCdnResource(ctx, \"resource\", \u0026vkcs.CdnResourceArgs{\n\t\t\tCname:       pulumi.Any(cname),\n\t\t\tOriginGroup: pulumi.Any(originGroup.Id),\n\t\t\tOptions: \u0026vkcs.CdnResourceOptionsArgs{\n\t\t\t\tEdgeCacheSettings: \u0026vkcs.CdnResourceOptionsEdgeCacheSettingsArgs{\n\t\t\t\t\tValue: pulumi.String(\"10m\"),\n\t\t\t\t},\n\t\t\t\tForwardHostHeader: pulumi.Bool(true),\n\t\t\t\tGzipOn:            pulumi.Bool(true),\n\t\t\t},\n\t\t\tSslCertificate: \u0026vkcs.CdnResourceSslCertificateArgs{\n\t\t\t\tType: pulumi.String(\"own\"),\n\t\t\t\tId:   pulumi.Any(certificate.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.vkcs.CdnResource;\nimport com.pulumi.vkcs.CdnResourceArgs;\nimport com.pulumi.vkcs.inputs.CdnResourceOptionsArgs;\nimport com.pulumi.vkcs.inputs.CdnResourceOptionsEdgeCacheSettingsArgs;\nimport com.pulumi.vkcs.inputs.CdnResourceSslCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 resource = new CdnResource(\"resource\", CdnResourceArgs.builder()\n            .cname(cname)\n            .originGroup(originGroup.id())\n            .options(CdnResourceOptionsArgs.builder()\n                .edgeCacheSettings(CdnResourceOptionsEdgeCacheSettingsArgs.builder()\n                    .value(\"10m\")\n                    .build())\n                .forwardHostHeader(true)\n                .gzipOn(true)\n                .build())\n            .sslCertificate(CdnResourceSslCertificateArgs.builder()\n                .type(\"own\")\n                .id(certificate.id())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  resource:\n    type: vkcs:CdnResource\n    properties:\n      cname: ${cname}\n      originGroup: ${originGroup.id}\n      options:\n        edgeCacheSettings:\n          value: 10m\n        forwardHostHeader: true\n        gzipOn: true\n      sslCertificate:\n        type: own\n        id: ${certificate.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Using a Let's Encrypt certificate\n\nTo issue a free [Let's Encrypt](https://letsencrypt.org/) certificate, specify \u003cspan pulumi-lang-nodejs=\"\"letsEncrypt\"\" pulumi-lang-dotnet=\"\"LetsEncrypt\"\" pulumi-lang-go=\"\"letsEncrypt\"\" pulumi-lang-python=\"\"lets_encrypt\"\" pulumi-lang-yaml=\"\"letsEncrypt\"\" pulumi-lang-java=\"\"letsEncrypt\"\"\u003e\"lets_encrypt\"\u003c/span\u003e as \nthe value for `ssl_certificate.type` argument. The certificate will be issued after the CDN \nresource is established, once the origin servers are available and DNS changes involving the \nCNAME records for personal domains have propagated.\n\n\u003e **Note:** The option is only available for an active CDN resource, to achieve this, set the \nvalue of \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 argument to \"true\".\n\n## Configuring ACLs\n\nTo enhance security, you can specify Access Control Lists (ACLs) options. All of the follow the \nsame principles: when \u003cspan pulumi-lang-nodejs=\"`policyType`\" pulumi-lang-dotnet=\"`PolicyType`\" pulumi-lang-go=\"`policyType`\" pulumi-lang-python=\"`policy_type`\" pulumi-lang-yaml=\"`policyType`\" pulumi-lang-java=\"`policyType`\"\u003e`policy_type`\u003c/span\u003e is \"allow\", it means that CDN server will allow access for all \npossible values of ACL subject except for those specified in \u003cspan pulumi-lang-nodejs=\"`exceptedValues`\" pulumi-lang-dotnet=\"`ExceptedValues`\" pulumi-lang-go=\"`exceptedValues`\" pulumi-lang-python=\"`excepted_values`\" pulumi-lang-yaml=\"`exceptedValues`\" pulumi-lang-java=\"`exceptedValues`\"\u003e`excepted_values`\u003c/span\u003e argument, and when \n\u003cspan pulumi-lang-nodejs=\"`policyType`\" pulumi-lang-dotnet=\"`PolicyType`\" pulumi-lang-go=\"`policyType`\" pulumi-lang-python=\"`policy_type`\" pulumi-lang-yaml=\"`policyType`\" pulumi-lang-java=\"`policyType`\"\u003e`policy_type`\u003c/span\u003e is \"deny\", CDN will deny access with the same logic for excepted values.\n\n","properties":{"active":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Enables or disables a CDN resource.\n"},"cdnResourceId":{"type":"number","description":"*number* \u0026rarr;  ID of the CDN resource.\n"},"cname":{"type":"string","description":"**required** *string* \u0026rarr;  Delivery domain that will be used for content delivery through a CDN. Use \u003cspan pulumi-lang-nodejs=\"`secondaryHostnames`\" pulumi-lang-dotnet=\"`SecondaryHostnames`\" pulumi-lang-go=\"`secondaryHostnames`\" pulumi-lang-python=\"`secondary_hostnames`\" pulumi-lang-yaml=\"`secondaryHostnames`\" pulumi-lang-java=\"`secondaryHostnames`\"\u003e`secondary_hostnames`\u003c/span\u003e to add extra domains. \u003cbr\u003e**Note:** Delivery domains should be added to your DNS settings.\n"},"options":{"$ref":"#/types/vkcs:index%2FCdnResourceOptions:CdnResourceOptions","description":"optional \u0026rarr;  Options that configure a CDN resource.\n"},"originGroup":{"type":"number","description":"**required** *number* \u0026rarr;  Origin group ID with which the CDN resource is associated.\n"},"originProtocol":{"type":"string","description":"optional *string* \u0026rarr;  Protocol used by CDN servers to request content from an origin source. If protocol is not specified, HTTP is used to connect to an origin server.\n"},"presetApplied":{"type":"boolean","description":"*boolean* \u0026rarr;  Protocol used by CDN servers to request content from an origin source.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the CDN client. If 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 creates a new resource.\n"},"secondaryHostnames":{"type":"array","items":{"type":"string"},"description":"optional *string* \u0026rarr;  Additional delivery domains (CNAMEs) that will be used to deliver content via the CDN.\n"},"shielding":{"$ref":"#/types/vkcs:index%2FCdnResourceShielding:CdnResourceShielding","description":"optional \u0026rarr;  Use this attribute to configure origin shielding.\n"},"sslCertificate":{"$ref":"#/types/vkcs:index%2FCdnResourceSslCertificate:CdnResourceSslCertificate","description":"optional \u0026rarr;  SSL certificate settings for content delivery over HTTPS protocol.\n"},"status":{"type":"string","description":"*string* \u0026rarr;  CDN resource status.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FCdnResourceTimeouts:CdnResourceTimeouts"},"vpEnabled":{"type":"boolean","description":"*boolean* \u0026rarr;  Defines whether the CDN resource is integrated with the Streaming Platform.\n"}},"type":"object","required":["active","cdnResourceId","cname","options","originGroup","originProtocol","presetApplied","region","secondaryHostnames","shielding","sslCertificate","status","vpEnabled"],"inputProperties":{"active":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Enables or disables a CDN resource.\n"},"cname":{"type":"string","description":"**required** *string* \u0026rarr;  Delivery domain that will be used for content delivery through a CDN. Use \u003cspan pulumi-lang-nodejs=\"`secondaryHostnames`\" pulumi-lang-dotnet=\"`SecondaryHostnames`\" pulumi-lang-go=\"`secondaryHostnames`\" pulumi-lang-python=\"`secondary_hostnames`\" pulumi-lang-yaml=\"`secondaryHostnames`\" pulumi-lang-java=\"`secondaryHostnames`\"\u003e`secondary_hostnames`\u003c/span\u003e to add extra domains. \u003cbr\u003e**Note:** Delivery domains should be added to your DNS settings.\n"},"options":{"$ref":"#/types/vkcs:index%2FCdnResourceOptions:CdnResourceOptions","description":"optional \u0026rarr;  Options that configure a CDN resource.\n"},"originGroup":{"type":"number","description":"**required** *number* \u0026rarr;  Origin group ID with which the CDN resource is associated.\n"},"originProtocol":{"type":"string","description":"optional *string* \u0026rarr;  Protocol used by CDN servers to request content from an origin source. If protocol is not specified, HTTP is used to connect to an origin server.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the CDN client. If 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 creates a new resource.\n"},"secondaryHostnames":{"type":"array","items":{"type":"string"},"description":"optional *string* \u0026rarr;  Additional delivery domains (CNAMEs) that will be used to deliver content via the CDN.\n"},"shielding":{"$ref":"#/types/vkcs:index%2FCdnResourceShielding:CdnResourceShielding","description":"optional \u0026rarr;  Use this attribute to configure origin shielding.\n"},"sslCertificate":{"$ref":"#/types/vkcs:index%2FCdnResourceSslCertificate:CdnResourceSslCertificate","description":"optional \u0026rarr;  SSL certificate settings for content delivery over HTTPS protocol.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FCdnResourceTimeouts:CdnResourceTimeouts"}},"requiredInputs":["cname","originGroup"],"stateInputs":{"description":"Input properties used for looking up and filtering CdnResource resources.\n","properties":{"active":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Enables or disables a CDN resource.\n"},"cdnResourceId":{"type":"number","description":"*number* \u0026rarr;  ID of the CDN resource.\n"},"cname":{"type":"string","description":"**required** *string* \u0026rarr;  Delivery domain that will be used for content delivery through a CDN. Use \u003cspan pulumi-lang-nodejs=\"`secondaryHostnames`\" pulumi-lang-dotnet=\"`SecondaryHostnames`\" pulumi-lang-go=\"`secondaryHostnames`\" pulumi-lang-python=\"`secondary_hostnames`\" pulumi-lang-yaml=\"`secondaryHostnames`\" pulumi-lang-java=\"`secondaryHostnames`\"\u003e`secondary_hostnames`\u003c/span\u003e to add extra domains. \u003cbr\u003e**Note:** Delivery domains should be added to your DNS settings.\n"},"options":{"$ref":"#/types/vkcs:index%2FCdnResourceOptions:CdnResourceOptions","description":"optional \u0026rarr;  Options that configure a CDN resource.\n"},"originGroup":{"type":"number","description":"**required** *number* \u0026rarr;  Origin group ID with which the CDN resource is associated.\n"},"originProtocol":{"type":"string","description":"optional *string* \u0026rarr;  Protocol used by CDN servers to request content from an origin source. If protocol is not specified, HTTP is used to connect to an origin server.\n"},"presetApplied":{"type":"boolean","description":"*boolean* \u0026rarr;  Protocol used by CDN servers to request content from an origin source.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the CDN client. If 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 creates a new resource.\n"},"secondaryHostnames":{"type":"array","items":{"type":"string"},"description":"optional *string* \u0026rarr;  Additional delivery domains (CNAMEs) that will be used to deliver content via the CDN.\n"},"shielding":{"$ref":"#/types/vkcs:index%2FCdnResourceShielding:CdnResourceShielding","description":"optional \u0026rarr;  Use this attribute to configure origin shielding.\n"},"sslCertificate":{"$ref":"#/types/vkcs:index%2FCdnResourceSslCertificate:CdnResourceSslCertificate","description":"optional \u0026rarr;  SSL certificate settings for content delivery over HTTPS protocol.\n"},"status":{"type":"string","description":"*string* \u0026rarr;  CDN resource status.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FCdnResourceTimeouts:CdnResourceTimeouts"},"vpEnabled":{"type":"boolean","description":"*boolean* \u0026rarr;  Defines whether the CDN resource is integrated with the Streaming Platform.\n"}},"type":"object"}},"vkcs:index/cdnSslCertificate:CdnSslCertificate":{"description":"## Example Usage\n\n## Import\n\nA SSL certificate can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import vkcs:index/cdnSslCertificate:CdnSslCertificate resource \u003cresource_id\u003e\n```\n\n","properties":{"cdnSslCertificateId":{"type":"number","description":"*number* \u0026rarr;  ID of the SSL certificate.\n"},"certificate":{"type":"string","description":"**required** sensitive *string* \u0026rarr;  Public part of the SSL certificate. All chain of the SSL certificate should be added.\n","secret":true},"issuer":{"type":"string","description":"*string* \u0026rarr;  Name of the certification center issued the SSL certificate.\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  SSL certificate name.\n"},"privateKey":{"type":"string","description":"**required** sensitive *string* \u0026rarr;  Private key of the SSL certificate.\n","secret":true},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the CDN client. If 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 creates a new resource.\n"},"subjectCn":{"type":"string","description":"*string* \u0026rarr;  Domain name that the SSL certificate secures.\n"},"validityNotAfter":{"type":"string","description":"*string* \u0026rarr;  Date when certificate become untrusted (ISO 8601/RFC 3339 format, UTC.).\n"},"validityNotBefore":{"type":"string","description":"*string* \u0026rarr;  Date when certificate become valid (ISO 8601/RFC 3339 format, UTC.).\n"}},"type":"object","required":["cdnSslCertificateId","certificate","issuer","name","privateKey","region","subjectCn","validityNotAfter","validityNotBefore"],"inputProperties":{"certificate":{"type":"string","description":"**required** sensitive *string* \u0026rarr;  Public part of the SSL certificate. All chain of the SSL certificate should be added.\n","secret":true},"name":{"type":"string","description":"**required** *string* \u0026rarr;  SSL certificate name.\n"},"privateKey":{"type":"string","description":"**required** sensitive *string* \u0026rarr;  Private key of the SSL certificate.\n","secret":true},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the CDN client. If 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 creates a new resource.\n"}},"requiredInputs":["certificate","privateKey"],"stateInputs":{"description":"Input properties used for looking up and filtering CdnSslCertificate resources.\n","properties":{"cdnSslCertificateId":{"type":"number","description":"*number* \u0026rarr;  ID of the SSL certificate.\n"},"certificate":{"type":"string","description":"**required** sensitive *string* \u0026rarr;  Public part of the SSL certificate. All chain of the SSL certificate should be added.\n","secret":true},"issuer":{"type":"string","description":"*string* \u0026rarr;  Name of the certification center issued the SSL certificate.\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  SSL certificate name.\n"},"privateKey":{"type":"string","description":"**required** sensitive *string* \u0026rarr;  Private key of the SSL certificate.\n","secret":true},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the CDN client. If 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 creates a new resource.\n"},"subjectCn":{"type":"string","description":"*string* \u0026rarr;  Domain name that the SSL certificate secures.\n"},"validityNotAfter":{"type":"string","description":"*string* \u0026rarr;  Date when certificate become untrusted (ISO 8601/RFC 3339 format, UTC.).\n"},"validityNotBefore":{"type":"string","description":"*string* \u0026rarr;  Date when certificate become valid (ISO 8601/RFC 3339 format, UTC.).\n"}},"type":"object"}},"vkcs:index/cloudMonitoring:CloudMonitoring":{"description":"Receives settings for cloud monitoring for the `vkcs_compute_instance'.\n\n\u003e **Attention:**\nIf you create a virtual machine with cloud monitoring enabled, then take a disk snapshot and create a new instance from\nit,\nmonitoring will also be enabled on the new one. If you then delete the \u003cspan pulumi-lang-nodejs=\"`vkcs.CloudMonitoring`\" pulumi-lang-dotnet=\"`vkcs.CloudMonitoring`\" pulumi-lang-go=\"`CloudMonitoring`\" pulumi-lang-python=\"`CloudMonitoring`\" pulumi-lang-yaml=\"`vkcs.CloudMonitoring`\" pulumi-lang-java=\"`vkcs.CloudMonitoring`\"\u003e`vkcs.CloudMonitoring`\u003c/span\u003e resource,\nthe monitoring service user will be deleted along with it, causing cloud monitoring to stop working.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst basic = new vkcs.CloudMonitoring(\"basic\", {imageId: debian.id});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\nbasic = vkcs.CloudMonitoring(\"basic\", image_id=debian[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var basic = new Vkcs.CloudMonitoring(\"basic\", new()\n    {\n        ImageId = debian.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewCloudMonitoring(ctx, \"basic\", \u0026vkcs.CloudMonitoringArgs{\n\t\t\tImageId: pulumi.Any(debian.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.vkcs.CloudMonitoring;\nimport com.pulumi.vkcs.CloudMonitoringArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 CloudMonitoring(\"basic\", CloudMonitoringArgs.builder()\n            .imageId(debian.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  basic:\n    type: vkcs:CloudMonitoring\n    properties:\n      imageId: ${debian.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"imageId":{"type":"string","description":"**required** *string* \u0026rarr;  ID of the image to create cloud monitoring for.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the service client. If 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 creates a new cloud_monitoring.\n"},"script":{"type":"string","description":"*string* \u0026rarr;  Shell script of the cloud monitoring.\n","secret":true},"serviceUserId":{"type":"string","description":"*string* \u0026rarr;  ID of the service monitoring user.\n"}},"type":"object","required":["imageId","region","script","serviceUserId"],"inputProperties":{"imageId":{"type":"string","description":"**required** *string* \u0026rarr;  ID of the image to create cloud monitoring for.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the service client. If 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 creates a new cloud_monitoring.\n"}},"requiredInputs":["imageId"],"stateInputs":{"description":"Input properties used for looking up and filtering CloudMonitoring resources.\n","properties":{"imageId":{"type":"string","description":"**required** *string* \u0026rarr;  ID of the image to create cloud monitoring for.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the service client. If 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 creates a new cloud_monitoring.\n"},"script":{"type":"string","description":"*string* \u0026rarr;  Shell script of the cloud monitoring.\n","secret":true},"serviceUserId":{"type":"string","description":"*string* \u0026rarr;  ID of the service monitoring user.\n"}},"type":"object"}},"vkcs:index/computeFloatingipAssociate:ComputeFloatingipAssociate":{"description":"Associate a floating IP to an instance.\n\n## Example Usage\n\n### Automatically detect the correct network\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst fipBasic = new vkcs.NetworkingFloatingip(\"fip_basic\", {pool: \"internet\"});\nconst fipBasicComputeFloatingipAssociate = new vkcs.ComputeFloatingipAssociate(\"fip_basic\", {\n    floatingIp: fipBasic.address,\n    instanceId: basic.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\nfip_basic = vkcs.NetworkingFloatingip(\"fip_basic\", pool=\"internet\")\nfip_basic_compute_floatingip_associate = vkcs.ComputeFloatingipAssociate(\"fip_basic\",\n    floating_ip=fip_basic.address,\n    instance_id=basic[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var fipBasic = new Vkcs.NetworkingFloatingip(\"fip_basic\", new()\n    {\n        Pool = \"internet\",\n    });\n\n    var fipBasicComputeFloatingipAssociate = new Vkcs.ComputeFloatingipAssociate(\"fip_basic\", new()\n    {\n        FloatingIp = fipBasic.Address,\n        InstanceId = basic.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfipBasic, err := vkcs.NewNetworkingFloatingip(ctx, \"fip_basic\", \u0026vkcs.NetworkingFloatingipArgs{\n\t\t\tPool: pulumi.String(\"internet\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vkcs.NewComputeFloatingipAssociate(ctx, \"fip_basic\", \u0026vkcs.ComputeFloatingipAssociateArgs{\n\t\t\tFloatingIp: fipBasic.Address,\n\t\t\tInstanceId: pulumi.Any(basic.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.vkcs.NetworkingFloatingip;\nimport com.pulumi.vkcs.NetworkingFloatingipArgs;\nimport com.pulumi.vkcs.ComputeFloatingipAssociate;\nimport com.pulumi.vkcs.ComputeFloatingipAssociateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 fipBasic = new NetworkingFloatingip(\"fipBasic\", NetworkingFloatingipArgs.builder()\n            .pool(\"internet\")\n            .build());\n\n        var fipBasicComputeFloatingipAssociate = new ComputeFloatingipAssociate(\"fipBasicComputeFloatingipAssociate\", ComputeFloatingipAssociateArgs.builder()\n            .floatingIp(fipBasic.address())\n            .instanceId(basic.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  fipBasic:\n    type: vkcs:NetworkingFloatingip\n    name: fip_basic\n    properties:\n      pool: internet\n  fipBasicComputeFloatingipAssociate:\n    type: vkcs:ComputeFloatingipAssociate\n    name: fip_basic\n    properties:\n      floatingIp: ${fipBasic.address}\n      instanceId: ${basic.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Explicitly set the network to attach to\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst fipExplicit = new vkcs.NetworkingFloatingip(\"fip_explicit\", {pool: \"internet\"});\nconst fipExplicitComputeFloatingipAssociate = new vkcs.ComputeFloatingipAssociate(\"fip_explicit\", {\n    floatingIp: fipExplicit.address,\n    instanceId: multipleNetworks.id,\n    fixedIp: multipleNetworks.network[1].fixedIpV4,\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\nfip_explicit = vkcs.NetworkingFloatingip(\"fip_explicit\", pool=\"internet\")\nfip_explicit_compute_floatingip_associate = vkcs.ComputeFloatingipAssociate(\"fip_explicit\",\n    floating_ip=fip_explicit.address,\n    instance_id=multiple_networks[\"id\"],\n    fixed_ip=multiple_networks[\"network\"][1][\"fixedIpV4\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var fipExplicit = new Vkcs.NetworkingFloatingip(\"fip_explicit\", new()\n    {\n        Pool = \"internet\",\n    });\n\n    var fipExplicitComputeFloatingipAssociate = new Vkcs.ComputeFloatingipAssociate(\"fip_explicit\", new()\n    {\n        FloatingIp = fipExplicit.Address,\n        InstanceId = multipleNetworks.Id,\n        FixedIp = multipleNetworks.Network[1].FixedIpV4,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfipExplicit, err := vkcs.NewNetworkingFloatingip(ctx, \"fip_explicit\", \u0026vkcs.NetworkingFloatingipArgs{\n\t\t\tPool: pulumi.String(\"internet\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vkcs.NewComputeFloatingipAssociate(ctx, \"fip_explicit\", \u0026vkcs.ComputeFloatingipAssociateArgs{\n\t\t\tFloatingIp: fipExplicit.Address,\n\t\t\tInstanceId: pulumi.Any(multipleNetworks.Id),\n\t\t\tFixedIp:    pulumi.Any(multipleNetworks.Network[1].FixedIpV4),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.vkcs.NetworkingFloatingip;\nimport com.pulumi.vkcs.NetworkingFloatingipArgs;\nimport com.pulumi.vkcs.ComputeFloatingipAssociate;\nimport com.pulumi.vkcs.ComputeFloatingipAssociateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 fipExplicit = new NetworkingFloatingip(\"fipExplicit\", NetworkingFloatingipArgs.builder()\n            .pool(\"internet\")\n            .build());\n\n        var fipExplicitComputeFloatingipAssociate = new ComputeFloatingipAssociate(\"fipExplicitComputeFloatingipAssociate\", ComputeFloatingipAssociateArgs.builder()\n            .floatingIp(fipExplicit.address())\n            .instanceId(multipleNetworks.id())\n            .fixedIp(multipleNetworks.network()[1].fixedIpV4())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  fipExplicit:\n    type: vkcs:NetworkingFloatingip\n    name: fip_explicit\n    properties:\n      pool: internet\n  fipExplicitComputeFloatingipAssociate:\n    type: vkcs:ComputeFloatingipAssociate\n    name: fip_explicit\n    properties:\n      floatingIp: ${fipExplicit.address}\n      instanceId: ${multipleNetworks.id}\n      fixedIp: ${multipleNetworks.network[1].fixedIpV4}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThis resource can be imported by specifying all three arguments, separated by a forward slash:\n\n```sh\n$ pulumi import vkcs:index/computeFloatingipAssociate:ComputeFloatingipAssociate fip_1 \u003cfloating_ip\u003e/\u003cinstance_id\u003e/\u003cfixed_ip\u003e\n```\n\n","properties":{"computeFloatingipAssociateId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"fixedIp":{"type":"string","description":"optional *string* \u0026rarr;  The specific IP address to direct traffic to.\n"},"floatingIp":{"type":"string","description":"**required** *string* \u0026rarr;  The floating IP to associate.\n"},"instanceId":{"type":"string","description":"**required** *string* \u0026rarr;  The instance to associate the floating IP with.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the V2 Compute client. Keypairs are associated with accounts, but a Compute client is needed to create one. If 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 creates a new floatingip_associate.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FComputeFloatingipAssociateTimeouts:ComputeFloatingipAssociateTimeouts"},"waitUntilAssociated":{"type":"boolean"}},"type":"object","required":["computeFloatingipAssociateId","floatingIp","instanceId","region"],"inputProperties":{"computeFloatingipAssociateId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"fixedIp":{"type":"string","description":"optional *string* \u0026rarr;  The specific IP address to direct traffic to.\n"},"floatingIp":{"type":"string","description":"**required** *string* \u0026rarr;  The floating IP to associate.\n"},"instanceId":{"type":"string","description":"**required** *string* \u0026rarr;  The instance to associate the floating IP with.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the V2 Compute client. Keypairs are associated with accounts, but a Compute client is needed to create one. If 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 creates a new floatingip_associate.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FComputeFloatingipAssociateTimeouts:ComputeFloatingipAssociateTimeouts"},"waitUntilAssociated":{"type":"boolean"}},"requiredInputs":["floatingIp","instanceId"],"stateInputs":{"description":"Input properties used for looking up and filtering ComputeFloatingipAssociate resources.\n","properties":{"computeFloatingipAssociateId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"fixedIp":{"type":"string","description":"optional *string* \u0026rarr;  The specific IP address to direct traffic to.\n"},"floatingIp":{"type":"string","description":"**required** *string* \u0026rarr;  The floating IP to associate.\n"},"instanceId":{"type":"string","description":"**required** *string* \u0026rarr;  The instance to associate the floating IP with.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the V2 Compute client. Keypairs are associated with accounts, but a Compute client is needed to create one. If 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 creates a new floatingip_associate.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FComputeFloatingipAssociateTimeouts:ComputeFloatingipAssociateTimeouts"},"waitUntilAssociated":{"type":"boolean"}},"type":"object"}},"vkcs:index/computeInstance:ComputeInstance":{"properties":{"accessIpV4":{"type":"string","description":"optional *string* \u0026rarr;  The first detected Fixed IPv4 address.\n"},"adminPass":{"type":"string","description":"optional sensitive *string* \u0026rarr;  The administrative password to assign to the server. For some images, the password must meet certain requirements, which can be found here: https://cloud.vk.com/docs/en/computing/iaas/service-management/vm/vm-manage. \u003cbr\u003e**Note:** If the password does not meet these requirements, the resource creation may hang until the timeout due to repeated attempts to set the password.\n","secret":true},"allMetadata":{"type":"object","additionalProperties":{"type":"string"}},"allTags":{"type":"array","items":{"type":"string"},"description":"*set of* *string* \u0026rarr;  The collection of tags assigned on the instance, which have been explicitly and implicitly added.\n"},"availabilityZone":{"type":"string","description":"optional *string* \u0026rarr;  The availability zone in which to create the server. Conflicts with \u003cspan pulumi-lang-nodejs=\"`availabilityZoneHints`\" pulumi-lang-dotnet=\"`AvailabilityZoneHints`\" pulumi-lang-go=\"`availabilityZoneHints`\" pulumi-lang-python=\"`availability_zone_hints`\" pulumi-lang-yaml=\"`availabilityZoneHints`\" pulumi-lang-java=\"`availabilityZoneHints`\"\u003e`availability_zone_hints`\u003c/span\u003e. Changing this creates a new server.\n"},"blockDevices":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FComputeInstanceBlockDevice:ComputeInstanceBlockDevice"},"description":"optional \u0026rarr;  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 this creates a new server. You can specify multiple block devices which will create an instance with multiple disks. This configuration is very flexible, so please see the following [reference](https://docs.openstack.org/nova/latest/user/block-device-mapping.html) for more information.\n"},"cloudMonitoring":{"$ref":"#/types/vkcs:index%2FComputeInstanceCloudMonitoring:ComputeInstanceCloudMonitoring","description":"optional \u0026rarr;  The settings of the cloud monitoring, it is recommended to set this field with the values of \u003cspan pulumi-lang-nodejs=\"`vkcs.CloudMonitoring`\" pulumi-lang-dotnet=\"`vkcs.CloudMonitoring`\" pulumi-lang-go=\"`CloudMonitoring`\" pulumi-lang-python=\"`CloudMonitoring`\" pulumi-lang-yaml=\"`vkcs.CloudMonitoring`\" pulumi-lang-java=\"`vkcs.CloudMonitoring`\"\u003e`vkcs.CloudMonitoring`\u003c/span\u003e resource fields. Changing this creates a new server.\u003cbr\u003e**New since v0.9.0**.\n"},"computeInstanceId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"configDrive":{"type":"boolean","description":"optional *boolean* \u0026rarr;  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 new server.\n"},"flavorId":{"type":"string","description":"optional *string* \u0026rarr;  The flavor ID of the desired flavor for the server. Required if \u003cspan pulumi-lang-nodejs=\"`flavorName`\" pulumi-lang-dotnet=\"`FlavorName`\" pulumi-lang-go=\"`flavorName`\" pulumi-lang-python=\"`flavor_name`\" pulumi-lang-yaml=\"`flavorName`\" pulumi-lang-java=\"`flavorName`\"\u003e`flavor_name`\u003c/span\u003e is empty. Changing this resizes the existing server.\n"},"flavorName":{"type":"string","description":"optional *string* \u0026rarr;  The name of the desired flavor for the server. Required if \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 is empty. Changing this resizes the existing server.\n"},"forceDelete":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Whether to force the compute instance to be forcefully deleted. This is useful for environments that have reclaim / soft deletion enabled.\n"},"imageId":{"type":"string","description":"optional *string* \u0026rarr;  The image ID of the desired image for the server. 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 from a volume. Changing this creates a new server.\n"},"imageName":{"type":"string","description":"optional *string* \u0026rarr;  The name of the desired image for the server. 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 from a volume. Changing this creates a new server.\n"},"keyPair":{"type":"string","description":"optional *string* \u0026rarr;  The name of a key pair to put on the server. The key pair must already be created and associated with the tenant's account. Changing this creates a new server.\n"},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"optional *map of* *string* \u0026rarr;  Metadata key/value pairs to make available from within the instance. Changing this updates the existing server metadata.\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  A unique name for the resource.\n"},"networkMode":{"type":"string","description":"optional *string* \u0026rarr;  Special string for \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 option to create the server. \u003cspan pulumi-lang-nodejs=\"`networkMode`\" pulumi-lang-dotnet=\"`NetworkMode`\" pulumi-lang-go=\"`networkMode`\" pulumi-lang-python=\"`network_mode`\" pulumi-lang-yaml=\"`networkMode`\" pulumi-lang-java=\"`networkMode`\"\u003e`network_mode`\u003c/span\u003e can be `\"auto\"` or `\"none\"`. Please see the following [reference](https://docs.openstack.org/api-ref/compute/?expanded=create-server-detail#id11) for more information. Conflicts with \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.\n"},"networks":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FComputeInstanceNetwork:ComputeInstanceNetwork"},"description":"optional \u0026rarr;  An array of one or more networks to attach to the instance. The network object structure is documented below. Changing this creates a new server.\n"},"passwordData":{"type":"string","description":"*string* \u0026rarr;  Base-64 encoded encrypted password data for the instance. Use this attribute only for instances running Microsoft Windows. This attribute is only exported if \u003cspan pulumi-lang-nodejs=\"`getPasswordData`\" pulumi-lang-dotnet=\"`GetPasswordData`\" pulumi-lang-go=\"`getPasswordData`\" pulumi-lang-python=\"`get_password_data`\" pulumi-lang-yaml=\"`getPasswordData`\" pulumi-lang-java=\"`getPasswordData`\"\u003e`get_password_data`\u003c/span\u003e is true. If you change the password after creating the instance, these changes will not be visible in this field.\u003cbr\u003e**New since v0.9.3**.\n"},"personalities":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FComputeInstancePersonality:ComputeInstancePersonality"},"description":"optional \u0026rarr;  Customize the personality of an instance by defining one or more files and their contents. The personality structure is described below. \u003cbr\u003e**Note:** 'config_drive' must be enabled.\n"},"powerState":{"type":"string","description":"optional *string* \u0026rarr;  Provide the VM state. Only 'active' and 'shutoff' are supported values. \u003cbr\u003e**Note:** If 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\u003eis the shutoff the VM will be stopped immediately after build and the provisioners like remote-exec or files are not supported.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to create the server instance. If 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 creates a new server.\n"},"schedulerHints":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FComputeInstanceSchedulerHint:ComputeInstanceSchedulerHint"},"description":"optional \u0026rarr;  Provide the Nova scheduler with hints on how the instance should be launched. The available hints are described below.\n"},"securityGroupIds":{"type":"array","items":{"type":"string"},"description":"optional *set of* *string* \u0026rarr;  An array of one or more security group ids to associate with the server. Changing this results in adding/removing security groups from the existing server. \u003cbr\u003e**Note:** When attaching the instance to networks using Ports, place the security groups on the Port and not the instance.\u003cbr\u003e**New since v0.7.3**.\n"},"securityGroups":{"type":"array","items":{"type":"string"},"description":"optional deprecated *set of* *string* \u0026rarr;  An array of one or more security group names to associate with the server. Changing this results in adding/removing security groups from the existing server. \u003cbr\u003e**Note:** When attaching the instance to networks using Ports, place the security groups on the Port and not the instance. **Deprecated** Configure \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 instead.\n","deprecationMessage":"Deprecated"},"stopBeforeDestroy":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Whether to try stop instance gracefully before destroying it, thus giving chance for guest OS daemons to stop correctly. If instance doesn't stop within timeout, it will be destroyed anyway.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"optional *set of* *string* \u0026rarr;  A set of string tags for the instance. Changing this updates the existing instance tags.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FComputeInstanceTimeouts:ComputeInstanceTimeouts"},"userData":{"type":"string","description":"optional *string* \u0026rarr;  The user data to provide when launching the instance. When\u003cspan pulumi-lang-nodejs=\" cloudMonitoring \" pulumi-lang-dotnet=\" CloudMonitoring \" pulumi-lang-go=\" cloudMonitoring \" pulumi-lang-python=\" cloud_monitoring \" pulumi-lang-yaml=\" cloudMonitoring \" pulumi-lang-java=\" cloudMonitoring \"\u003e cloud_monitoring \u003c/span\u003eenabled only #!/bin/bash, #cloud-config, #ps1\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\u003eformats are supported. Changing this creates a new server.\n"},"vendorOptions":{"$ref":"#/types/vkcs:index%2FComputeInstanceVendorOptions:ComputeInstanceVendorOptions","description":"optional \u0026rarr;  Map of additional vendor-specific options. Supported options are described below.\n"}},"type":"object","required":["accessIpV4","allMetadata","allTags","availabilityZone","computeInstanceId","flavorId","flavorName","imageId","imageName","name","passwordData","region","securityGroupIds","securityGroups"],"inputProperties":{"accessIpV4":{"type":"string","description":"optional *string* \u0026rarr;  The first detected Fixed IPv4 address.\n"},"adminPass":{"type":"string","description":"optional sensitive *string* \u0026rarr;  The administrative password to assign to the server. For some images, the password must meet certain requirements, which can be found here: https://cloud.vk.com/docs/en/computing/iaas/service-management/vm/vm-manage. \u003cbr\u003e**Note:** If the password does not meet these requirements, the resource creation may hang until the timeout due to repeated attempts to set the password.\n","secret":true},"availabilityZone":{"type":"string","description":"optional *string* \u0026rarr;  The availability zone in which to create the server. Conflicts with \u003cspan pulumi-lang-nodejs=\"`availabilityZoneHints`\" pulumi-lang-dotnet=\"`AvailabilityZoneHints`\" pulumi-lang-go=\"`availabilityZoneHints`\" pulumi-lang-python=\"`availability_zone_hints`\" pulumi-lang-yaml=\"`availabilityZoneHints`\" pulumi-lang-java=\"`availabilityZoneHints`\"\u003e`availability_zone_hints`\u003c/span\u003e. Changing this creates a new server.\n"},"blockDevices":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FComputeInstanceBlockDevice:ComputeInstanceBlockDevice"},"description":"optional \u0026rarr;  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 this creates a new server. You can specify multiple block devices which will create an instance with multiple disks. This configuration is very flexible, so please see the following [reference](https://docs.openstack.org/nova/latest/user/block-device-mapping.html) for more information.\n"},"cloudMonitoring":{"$ref":"#/types/vkcs:index%2FComputeInstanceCloudMonitoring:ComputeInstanceCloudMonitoring","description":"optional \u0026rarr;  The settings of the cloud monitoring, it is recommended to set this field with the values of \u003cspan pulumi-lang-nodejs=\"`vkcs.CloudMonitoring`\" pulumi-lang-dotnet=\"`vkcs.CloudMonitoring`\" pulumi-lang-go=\"`CloudMonitoring`\" pulumi-lang-python=\"`CloudMonitoring`\" pulumi-lang-yaml=\"`vkcs.CloudMonitoring`\" pulumi-lang-java=\"`vkcs.CloudMonitoring`\"\u003e`vkcs.CloudMonitoring`\u003c/span\u003e resource fields. Changing this creates a new server.\u003cbr\u003e**New since v0.9.0**.\n"},"computeInstanceId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"configDrive":{"type":"boolean","description":"optional *boolean* \u0026rarr;  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 new server.\n"},"flavorId":{"type":"string","description":"optional *string* \u0026rarr;  The flavor ID of the desired flavor for the server. Required if \u003cspan pulumi-lang-nodejs=\"`flavorName`\" pulumi-lang-dotnet=\"`FlavorName`\" pulumi-lang-go=\"`flavorName`\" pulumi-lang-python=\"`flavor_name`\" pulumi-lang-yaml=\"`flavorName`\" pulumi-lang-java=\"`flavorName`\"\u003e`flavor_name`\u003c/span\u003e is empty. Changing this resizes the existing server.\n"},"flavorName":{"type":"string","description":"optional *string* \u0026rarr;  The name of the desired flavor for the server. Required if \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 is empty. Changing this resizes the existing server.\n"},"forceDelete":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Whether to force the compute instance to be forcefully deleted. This is useful for environments that have reclaim / soft deletion enabled.\n"},"imageId":{"type":"string","description":"optional *string* \u0026rarr;  The image ID of the desired image for the server. 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 from a volume. Changing this creates a new server.\n"},"imageName":{"type":"string","description":"optional *string* \u0026rarr;  The name of the desired image for the server. 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 from a volume. Changing this creates a new server.\n"},"keyPair":{"type":"string","description":"optional *string* \u0026rarr;  The name of a key pair to put on the server. The key pair must already be created and associated with the tenant's account. Changing this creates a new server.\n"},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"optional *map of* *string* \u0026rarr;  Metadata key/value pairs to make available from within the instance. Changing this updates the existing server metadata.\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  A unique name for the resource.\n"},"networkMode":{"type":"string","description":"optional *string* \u0026rarr;  Special string for \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 option to create the server. \u003cspan pulumi-lang-nodejs=\"`networkMode`\" pulumi-lang-dotnet=\"`NetworkMode`\" pulumi-lang-go=\"`networkMode`\" pulumi-lang-python=\"`network_mode`\" pulumi-lang-yaml=\"`networkMode`\" pulumi-lang-java=\"`networkMode`\"\u003e`network_mode`\u003c/span\u003e can be `\"auto\"` or `\"none\"`. Please see the following [reference](https://docs.openstack.org/api-ref/compute/?expanded=create-server-detail#id11) for more information. Conflicts with \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.\n"},"networks":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FComputeInstanceNetwork:ComputeInstanceNetwork"},"description":"optional \u0026rarr;  An array of one or more networks to attach to the instance. The network object structure is documented below. Changing this creates a new server.\n"},"personalities":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FComputeInstancePersonality:ComputeInstancePersonality"},"description":"optional \u0026rarr;  Customize the personality of an instance by defining one or more files and their contents. The personality structure is described below. \u003cbr\u003e**Note:** 'config_drive' must be enabled.\n"},"powerState":{"type":"string","description":"optional *string* \u0026rarr;  Provide the VM state. Only 'active' and 'shutoff' are supported values. \u003cbr\u003e**Note:** If 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\u003eis the shutoff the VM will be stopped immediately after build and the provisioners like remote-exec or files are not supported.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to create the server instance. If 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 creates a new server.\n"},"schedulerHints":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FComputeInstanceSchedulerHint:ComputeInstanceSchedulerHint"},"description":"optional \u0026rarr;  Provide the Nova scheduler with hints on how the instance should be launched. The available hints are described below.\n"},"securityGroupIds":{"type":"array","items":{"type":"string"},"description":"optional *set of* *string* \u0026rarr;  An array of one or more security group ids to associate with the server. Changing this results in adding/removing security groups from the existing server. \u003cbr\u003e**Note:** When attaching the instance to networks using Ports, place the security groups on the Port and not the instance.\u003cbr\u003e**New since v0.7.3**.\n"},"securityGroups":{"type":"array","items":{"type":"string"},"description":"optional deprecated *set of* *string* \u0026rarr;  An array of one or more security group names to associate with the server. Changing this results in adding/removing security groups from the existing server. \u003cbr\u003e**Note:** When attaching the instance to networks using Ports, place the security groups on the Port and not the instance. **Deprecated** Configure \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 instead.\n","deprecationMessage":"Deprecated"},"stopBeforeDestroy":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Whether to try stop instance gracefully before destroying it, thus giving chance for guest OS daemons to stop correctly. If instance doesn't stop within timeout, it will be destroyed anyway.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"optional *set of* *string* \u0026rarr;  A set of string tags for the instance. Changing this updates the existing instance tags.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FComputeInstanceTimeouts:ComputeInstanceTimeouts"},"userData":{"type":"string","description":"optional *string* \u0026rarr;  The user data to provide when launching the instance. When\u003cspan pulumi-lang-nodejs=\" cloudMonitoring \" pulumi-lang-dotnet=\" CloudMonitoring \" pulumi-lang-go=\" cloudMonitoring \" pulumi-lang-python=\" cloud_monitoring \" pulumi-lang-yaml=\" cloudMonitoring \" pulumi-lang-java=\" cloudMonitoring \"\u003e cloud_monitoring \u003c/span\u003eenabled only #!/bin/bash, #cloud-config, #ps1\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\u003eformats are supported. Changing this creates a new server.\n"},"vendorOptions":{"$ref":"#/types/vkcs:index%2FComputeInstanceVendorOptions:ComputeInstanceVendorOptions","description":"optional \u0026rarr;  Map of additional vendor-specific options. Supported options are described below.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering ComputeInstance resources.\n","properties":{"accessIpV4":{"type":"string","description":"optional *string* \u0026rarr;  The first detected Fixed IPv4 address.\n"},"adminPass":{"type":"string","description":"optional sensitive *string* \u0026rarr;  The administrative password to assign to the server. For some images, the password must meet certain requirements, which can be found here: https://cloud.vk.com/docs/en/computing/iaas/service-management/vm/vm-manage. \u003cbr\u003e**Note:** If the password does not meet these requirements, the resource creation may hang until the timeout due to repeated attempts to set the password.\n","secret":true},"allMetadata":{"type":"object","additionalProperties":{"type":"string"}},"allTags":{"type":"array","items":{"type":"string"},"description":"*set of* *string* \u0026rarr;  The collection of tags assigned on the instance, which have been explicitly and implicitly added.\n"},"availabilityZone":{"type":"string","description":"optional *string* \u0026rarr;  The availability zone in which to create the server. Conflicts with \u003cspan pulumi-lang-nodejs=\"`availabilityZoneHints`\" pulumi-lang-dotnet=\"`AvailabilityZoneHints`\" pulumi-lang-go=\"`availabilityZoneHints`\" pulumi-lang-python=\"`availability_zone_hints`\" pulumi-lang-yaml=\"`availabilityZoneHints`\" pulumi-lang-java=\"`availabilityZoneHints`\"\u003e`availability_zone_hints`\u003c/span\u003e. Changing this creates a new server.\n"},"blockDevices":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FComputeInstanceBlockDevice:ComputeInstanceBlockDevice"},"description":"optional \u0026rarr;  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 this creates a new server. You can specify multiple block devices which will create an instance with multiple disks. This configuration is very flexible, so please see the following [reference](https://docs.openstack.org/nova/latest/user/block-device-mapping.html) for more information.\n"},"cloudMonitoring":{"$ref":"#/types/vkcs:index%2FComputeInstanceCloudMonitoring:ComputeInstanceCloudMonitoring","description":"optional \u0026rarr;  The settings of the cloud monitoring, it is recommended to set this field with the values of \u003cspan pulumi-lang-nodejs=\"`vkcs.CloudMonitoring`\" pulumi-lang-dotnet=\"`vkcs.CloudMonitoring`\" pulumi-lang-go=\"`CloudMonitoring`\" pulumi-lang-python=\"`CloudMonitoring`\" pulumi-lang-yaml=\"`vkcs.CloudMonitoring`\" pulumi-lang-java=\"`vkcs.CloudMonitoring`\"\u003e`vkcs.CloudMonitoring`\u003c/span\u003e resource fields. Changing this creates a new server.\u003cbr\u003e**New since v0.9.0**.\n"},"computeInstanceId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"configDrive":{"type":"boolean","description":"optional *boolean* \u0026rarr;  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 new server.\n"},"flavorId":{"type":"string","description":"optional *string* \u0026rarr;  The flavor ID of the desired flavor for the server. Required if \u003cspan pulumi-lang-nodejs=\"`flavorName`\" pulumi-lang-dotnet=\"`FlavorName`\" pulumi-lang-go=\"`flavorName`\" pulumi-lang-python=\"`flavor_name`\" pulumi-lang-yaml=\"`flavorName`\" pulumi-lang-java=\"`flavorName`\"\u003e`flavor_name`\u003c/span\u003e is empty. Changing this resizes the existing server.\n"},"flavorName":{"type":"string","description":"optional *string* \u0026rarr;  The name of the desired flavor for the server. Required if \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 is empty. Changing this resizes the existing server.\n"},"forceDelete":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Whether to force the compute instance to be forcefully deleted. This is useful for environments that have reclaim / soft deletion enabled.\n"},"imageId":{"type":"string","description":"optional *string* \u0026rarr;  The image ID of the desired image for the server. 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 from a volume. Changing this creates a new server.\n"},"imageName":{"type":"string","description":"optional *string* \u0026rarr;  The name of the desired image for the server. 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 from a volume. Changing this creates a new server.\n"},"keyPair":{"type":"string","description":"optional *string* \u0026rarr;  The name of a key pair to put on the server. The key pair must already be created and associated with the tenant's account. Changing this creates a new server.\n"},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"optional *map of* *string* \u0026rarr;  Metadata key/value pairs to make available from within the instance. Changing this updates the existing server metadata.\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  A unique name for the resource.\n"},"networkMode":{"type":"string","description":"optional *string* \u0026rarr;  Special string for \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 option to create the server. \u003cspan pulumi-lang-nodejs=\"`networkMode`\" pulumi-lang-dotnet=\"`NetworkMode`\" pulumi-lang-go=\"`networkMode`\" pulumi-lang-python=\"`network_mode`\" pulumi-lang-yaml=\"`networkMode`\" pulumi-lang-java=\"`networkMode`\"\u003e`network_mode`\u003c/span\u003e can be `\"auto\"` or `\"none\"`. Please see the following [reference](https://docs.openstack.org/api-ref/compute/?expanded=create-server-detail#id11) for more information. Conflicts with \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.\n"},"networks":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FComputeInstanceNetwork:ComputeInstanceNetwork"},"description":"optional \u0026rarr;  An array of one or more networks to attach to the instance. The network object structure is documented below. Changing this creates a new server.\n"},"passwordData":{"type":"string","description":"*string* \u0026rarr;  Base-64 encoded encrypted password data for the instance. Use this attribute only for instances running Microsoft Windows. This attribute is only exported if \u003cspan pulumi-lang-nodejs=\"`getPasswordData`\" pulumi-lang-dotnet=\"`GetPasswordData`\" pulumi-lang-go=\"`getPasswordData`\" pulumi-lang-python=\"`get_password_data`\" pulumi-lang-yaml=\"`getPasswordData`\" pulumi-lang-java=\"`getPasswordData`\"\u003e`get_password_data`\u003c/span\u003e is true. If you change the password after creating the instance, these changes will not be visible in this field.\u003cbr\u003e**New since v0.9.3**.\n"},"personalities":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FComputeInstancePersonality:ComputeInstancePersonality"},"description":"optional \u0026rarr;  Customize the personality of an instance by defining one or more files and their contents. The personality structure is described below. \u003cbr\u003e**Note:** 'config_drive' must be enabled.\n"},"powerState":{"type":"string","description":"optional *string* \u0026rarr;  Provide the VM state. Only 'active' and 'shutoff' are supported values. \u003cbr\u003e**Note:** If 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\u003eis the shutoff the VM will be stopped immediately after build and the provisioners like remote-exec or files are not supported.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to create the server instance. If 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 creates a new server.\n"},"schedulerHints":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FComputeInstanceSchedulerHint:ComputeInstanceSchedulerHint"},"description":"optional \u0026rarr;  Provide the Nova scheduler with hints on how the instance should be launched. The available hints are described below.\n"},"securityGroupIds":{"type":"array","items":{"type":"string"},"description":"optional *set of* *string* \u0026rarr;  An array of one or more security group ids to associate with the server. Changing this results in adding/removing security groups from the existing server. \u003cbr\u003e**Note:** When attaching the instance to networks using Ports, place the security groups on the Port and not the instance.\u003cbr\u003e**New since v0.7.3**.\n"},"securityGroups":{"type":"array","items":{"type":"string"},"description":"optional deprecated *set of* *string* \u0026rarr;  An array of one or more security group names to associate with the server. Changing this results in adding/removing security groups from the existing server. \u003cbr\u003e**Note:** When attaching the instance to networks using Ports, place the security groups on the Port and not the instance. **Deprecated** Configure \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 instead.\n","deprecationMessage":"Deprecated"},"stopBeforeDestroy":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Whether to try stop instance gracefully before destroying it, thus giving chance for guest OS daemons to stop correctly. If instance doesn't stop within timeout, it will be destroyed anyway.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"optional *set of* *string* \u0026rarr;  A set of string tags for the instance. Changing this updates the existing instance tags.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FComputeInstanceTimeouts:ComputeInstanceTimeouts"},"userData":{"type":"string","description":"optional *string* \u0026rarr;  The user data to provide when launching the instance. When\u003cspan pulumi-lang-nodejs=\" cloudMonitoring \" pulumi-lang-dotnet=\" CloudMonitoring \" pulumi-lang-go=\" cloudMonitoring \" pulumi-lang-python=\" cloud_monitoring \" pulumi-lang-yaml=\" cloudMonitoring \" pulumi-lang-java=\" cloudMonitoring \"\u003e cloud_monitoring \u003c/span\u003eenabled only #!/bin/bash, #cloud-config, #ps1\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\u003eformats are supported. Changing this creates a new server.\n"},"vendorOptions":{"$ref":"#/types/vkcs:index%2FComputeInstanceVendorOptions:ComputeInstanceVendorOptions","description":"optional \u0026rarr;  Map of additional vendor-specific options. Supported options are described below.\n"}},"type":"object"}},"vkcs:index/computeInterfaceAttach:ComputeInterfaceAttach":{"description":"Attaches a Network Interface (a Port) to an Instance using the VKCS Compute API.\n\n## Example Usage\n\n### Attachment Using an Existing Port\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst etcd = new vkcs.ComputeInterfaceAttach(\"etcd\", {\n    instanceId: basic.id,\n    portId: persistentEtcd.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\netcd = vkcs.ComputeInterfaceAttach(\"etcd\",\n    instance_id=basic[\"id\"],\n    port_id=persistent_etcd[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var etcd = new Vkcs.ComputeInterfaceAttach(\"etcd\", new()\n    {\n        InstanceId = basic.Id,\n        PortId = persistentEtcd.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewComputeInterfaceAttach(ctx, \"etcd\", \u0026vkcs.ComputeInterfaceAttachArgs{\n\t\t\tInstanceId: pulumi.Any(basic.Id),\n\t\t\tPortId:     pulumi.Any(persistentEtcd.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.vkcs.ComputeInterfaceAttach;\nimport com.pulumi.vkcs.ComputeInterfaceAttachArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 etcd = new ComputeInterfaceAttach(\"etcd\", ComputeInterfaceAttachArgs.builder()\n            .instanceId(basic.id())\n            .portId(persistentEtcd.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  etcd:\n    type: vkcs:ComputeInterfaceAttach\n    properties:\n      instanceId: ${basic.id}\n      portId: ${persistentEtcd.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Attachment Using a Network ID\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst db = new vkcs.ComputeInterfaceAttach(\"db\", {\n    instanceId: basic.id,\n    networkId: dbVkcsNetworkingNetwork.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\ndb = vkcs.ComputeInterfaceAttach(\"db\",\n    instance_id=basic[\"id\"],\n    network_id=db_vkcs_networking_network[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var db = new Vkcs.ComputeInterfaceAttach(\"db\", new()\n    {\n        InstanceId = basic.Id,\n        NetworkId = dbVkcsNetworkingNetwork.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewComputeInterfaceAttach(ctx, \"db\", \u0026vkcs.ComputeInterfaceAttachArgs{\n\t\t\tInstanceId: pulumi.Any(basic.Id),\n\t\t\tNetworkId:  pulumi.Any(dbVkcsNetworkingNetwork.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.vkcs.ComputeInterfaceAttach;\nimport com.pulumi.vkcs.ComputeInterfaceAttachArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 db = new ComputeInterfaceAttach(\"db\", ComputeInterfaceAttachArgs.builder()\n            .instanceId(basic.id())\n            .networkId(dbVkcsNetworkingNetwork.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  db:\n    type: vkcs:ComputeInterfaceAttach\n    properties:\n      instanceId: ${basic.id}\n      networkId: ${dbVkcsNetworkingNetwork.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nAttaching multiple interfaces will not guarantee that interfaces are attached in\na deterministic manner. The interfaces will be attached in a seemingly random\norder.\nIf you want to ensure that interfaces are attached in a given order, create\nexplicit dependencies between the interfaces , such as in virtual machines/vkcs_compute_volume_attach\n\n## Import\n\nInterface Attachments can be imported using the Instance ID and Port ID separated by a slash, e.g.\n\n```sh\n$ pulumi import vkcs:index/computeInterfaceAttach:ComputeInterfaceAttach ai_1 89c60255-9bd6-460c-822a-e2b959ede9d2/45670584-225f-46c3-b33e-6707b589b666\n```\n\n","properties":{"computeInterfaceAttachId":{"type":"string"},"fixedIp":{"type":"string","description":"An IP address to assosciate with the port. _note_ This option cannot be used with port_id. You must specify a network_id. The IP address must lie in a range on the supplied network."},"instanceId":{"type":"string","description":"The ID of the Instance to attach the Port or Network to."},"networkId":{"type":"string","description":"The ID of the Network to attach to an Instance. A port will be created automatically. _note_ This option 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 mutually exclusive."},"portId":{"type":"string","description":"The ID of the Port to attach to an Instance. _note_ This option 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 mutually exclusive."},"region":{"type":"string","description":"The region in which to create the interface attachment. If 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 creates a new attachment."},"timeouts":{"$ref":"#/types/vkcs:index%2FComputeInterfaceAttachTimeouts:ComputeInterfaceAttachTimeouts"}},"type":"object","required":["computeInterfaceAttachId","fixedIp","instanceId","networkId","portId","region"],"inputProperties":{"computeInterfaceAttachId":{"type":"string"},"fixedIp":{"type":"string","description":"An IP address to assosciate with the port. _note_ This option cannot be used with port_id. You must specify a network_id. The IP address must lie in a range on the supplied network."},"instanceId":{"type":"string","description":"The ID of the Instance to attach the Port or Network to."},"networkId":{"type":"string","description":"The ID of the Network to attach to an Instance. A port will be created automatically. _note_ This option 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 mutually exclusive."},"portId":{"type":"string","description":"The ID of the Port to attach to an Instance. _note_ This option 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 mutually exclusive."},"region":{"type":"string","description":"The region in which to create the interface attachment. If 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 creates a new attachment."},"timeouts":{"$ref":"#/types/vkcs:index%2FComputeInterfaceAttachTimeouts:ComputeInterfaceAttachTimeouts"}},"requiredInputs":["instanceId"],"stateInputs":{"description":"Input properties used for looking up and filtering ComputeInterfaceAttach resources.\n","properties":{"computeInterfaceAttachId":{"type":"string"},"fixedIp":{"type":"string","description":"An IP address to assosciate with the port. _note_ This option cannot be used with port_id. You must specify a network_id. The IP address must lie in a range on the supplied network."},"instanceId":{"type":"string","description":"The ID of the Instance to attach the Port or Network to."},"networkId":{"type":"string","description":"The ID of the Network to attach to an Instance. A port will be created automatically. _note_ This option 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 mutually exclusive."},"portId":{"type":"string","description":"The ID of the Port to attach to an Instance. _note_ This option 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 mutually exclusive."},"region":{"type":"string","description":"The region in which to create the interface attachment. If 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 creates a new attachment."},"timeouts":{"$ref":"#/types/vkcs:index%2FComputeInterfaceAttachTimeouts:ComputeInterfaceAttachTimeouts"}},"type":"object"}},"vkcs:index/computeKeypair:ComputeKeypair":{"description":"## Example Usage\n\n### Generate a Public/Private Key Pair\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst generatedKey = new vkcs.ComputeKeypair(\"generated_key\", {name: \"generated-key-tf-example\"});\nexport const publicKey = generatedKey.publicKey;\nexport const privateKey = generatedKey.privateKey;\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\ngenerated_key = vkcs.ComputeKeypair(\"generated_key\", name=\"generated-key-tf-example\")\npulumi.export(\"publicKey\", generated_key.public_key)\npulumi.export(\"privateKey\", generated_key.private_key)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var generatedKey = new Vkcs.ComputeKeypair(\"generated_key\", new()\n    {\n        Name = \"generated-key-tf-example\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"publicKey\"] = generatedKey.PublicKey,\n        [\"privateKey\"] = generatedKey.PrivateKey,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tgeneratedKey, err := vkcs.NewComputeKeypair(ctx, \"generated_key\", \u0026vkcs.ComputeKeypairArgs{\n\t\t\tName: pulumi.String(\"generated-key-tf-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"publicKey\", generatedKey.PublicKey)\n\t\tctx.Export(\"privateKey\", generatedKey.PrivateKey)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.vkcs.ComputeKeypair;\nimport com.pulumi.vkcs.ComputeKeypairArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 generatedKey = new ComputeKeypair(\"generatedKey\", ComputeKeypairArgs.builder()\n            .name(\"generated-key-tf-example\")\n            .build());\n\n        ctx.export(\"publicKey\", generatedKey.publicKey());\n        ctx.export(\"privateKey\", generatedKey.privateKey());\n    }\n}\n```\n```yaml\nresources:\n  generatedKey:\n    type: vkcs:ComputeKeypair\n    name: generated_key\n    properties:\n      name: generated-key-tf-example\noutputs:\n  publicKey: ${generatedKey.publicKey}\n  privateKey: ${generatedKey.privateKey}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nKeypairs can be imported using the `name`, e.g.\n\n```sh\n$ pulumi import vkcs:index/computeKeypair:ComputeKeypair my-keypair test-keypair\n```\n\n","properties":{"computeKeypairId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"fingerprint":{"type":"string","description":"*string* \u0026rarr;  The fingerprint of the public key.\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  A unique name for the keypair. Changing this creates a new keypair.\n"},"privateKey":{"type":"string","description":"*string* \u0026rarr;  The generated private key when no public key is specified.\n","secret":true},"publicKey":{"type":"string","description":"optional *string* \u0026rarr;  A pregenerated OpenSSH-formatted public key. Changing this creates a new keypair. If a public key is not specified, then a public/private key pair will be automatically generated. If a pair is created, then destroying this resource means you will lose access to that keypair forever.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Compute client. Keypairs are associated with accounts, but a Compute client is needed to create one. If 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 creates a new keypair.\n"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"},"description":"optional *map of* *string* \u0026rarr;  Map of additional options.\n"}},"type":"object","required":["computeKeypairId","fingerprint","name","privateKey","publicKey","region"],"inputProperties":{"computeKeypairId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  A unique name for the keypair. Changing this creates a new keypair.\n"},"publicKey":{"type":"string","description":"optional *string* \u0026rarr;  A pregenerated OpenSSH-formatted public key. Changing this creates a new keypair. If a public key is not specified, then a public/private key pair will be automatically generated. If a pair is created, then destroying this resource means you will lose access to that keypair forever.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Compute client. Keypairs are associated with accounts, but a Compute client is needed to create one. If 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 creates a new keypair.\n"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"},"description":"optional *map of* *string* \u0026rarr;  Map of additional options.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering ComputeKeypair resources.\n","properties":{"computeKeypairId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"fingerprint":{"type":"string","description":"*string* \u0026rarr;  The fingerprint of the public key.\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  A unique name for the keypair. Changing this creates a new keypair.\n"},"privateKey":{"type":"string","description":"*string* \u0026rarr;  The generated private key when no public key is specified.\n","secret":true},"publicKey":{"type":"string","description":"optional *string* \u0026rarr;  A pregenerated OpenSSH-formatted public key. Changing this creates a new keypair. If a public key is not specified, then a public/private key pair will be automatically generated. If a pair is created, then destroying this resource means you will lose access to that keypair forever.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Compute client. Keypairs are associated with accounts, but a Compute client is needed to create one. If 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 creates a new keypair.\n"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"},"description":"optional *map of* *string* \u0026rarr;  Map of additional options.\n"}},"type":"object"}},"vkcs:index/computeServergroup:ComputeServergroup":{"description":"Manages a Server Group resource within VKCS.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst cusomGroup = new vkcs.ComputeServergroup(\"cusom_group\", {\n    name: \"custom-group-tf-example\",\n    policies: [\"anti-affinity\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\ncusom_group = vkcs.ComputeServergroup(\"cusom_group\",\n    name=\"custom-group-tf-example\",\n    policies=[\"anti-affinity\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var cusomGroup = new Vkcs.ComputeServergroup(\"cusom_group\", new()\n    {\n        Name = \"custom-group-tf-example\",\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/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewComputeServergroup(ctx, \"cusom_group\", \u0026vkcs.ComputeServergroupArgs{\n\t\t\tName: pulumi.String(\"custom-group-tf-example\"),\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.vkcs.ComputeServergroup;\nimport com.pulumi.vkcs.ComputeServergroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 cusomGroup = new ComputeServergroup(\"cusomGroup\", ComputeServergroupArgs.builder()\n            .name(\"custom-group-tf-example\")\n            .policies(\"anti-affinity\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  cusomGroup:\n    type: vkcs:ComputeServergroup\n    name: cusom_group\n    properties:\n      name: custom-group-tf-example\n      policies:\n        - anti-affinity\n```\n\u003c!--End PulumiCodeChooser --\u003e\n## Policies\n\n* \u003cspan pulumi-lang-nodejs=\"`affinity`\" pulumi-lang-dotnet=\"`Affinity`\" pulumi-lang-go=\"`affinity`\" pulumi-lang-python=\"`affinity`\" pulumi-lang-yaml=\"`affinity`\" pulumi-lang-java=\"`affinity`\"\u003e`affinity`\u003c/span\u003e - All instances/servers launched in this group will be hosted on the same compute node.\n\n* `anti-affinity` - All instances/servers launched in this group will be hosted on different compute nodes.\n\n* `soft-affinity` - All instances/servers launched in this group will be hosted on the same compute node if possible, but if not possible they still will be scheduled instead of failure.\n\n* `soft-anti-affinity` - All instances/servers launched in this group will be hosted on different compute nodes if possible, but if not possible they still will be scheduled instead of failure.\n\n## Import\n\nServer Groups can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import vkcs:index/computeServergroup:ComputeServergroup test-sg 1bc30ee9-9d5b-4c30-bdd5-7f1e663f5edf\n```\n\n","properties":{"computeServergroupId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"members":{"type":"array","items":{"type":"string"},"description":"*string* \u0026rarr;  The instances that are part of this server group.\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  A unique name for the server group. Changing this creates a new server group.\n"},"policies":{"type":"array","items":{"type":"string"},"description":"optional *string* \u0026rarr;  The set of policies for the server group. All policies are mutually exclusive. See the Policies section for more information. Changing this creates a new server group.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Compute client. If 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 creates a new server group.\n"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"},"description":"optional *map of* *string* \u0026rarr;  Map of additional options.\n"}},"type":"object","required":["computeServergroupId","members","name","region"],"inputProperties":{"computeServergroupId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  A unique name for the server group. Changing this creates a new server group.\n"},"policies":{"type":"array","items":{"type":"string"},"description":"optional *string* \u0026rarr;  The set of policies for the server group. All policies are mutually exclusive. See the Policies section for more information. Changing this creates a new server group.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Compute client. If 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 creates a new server group.\n"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"},"description":"optional *map of* *string* \u0026rarr;  Map of additional options.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering ComputeServergroup resources.\n","properties":{"computeServergroupId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"members":{"type":"array","items":{"type":"string"},"description":"*string* \u0026rarr;  The instances that are part of this server group.\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  A unique name for the server group. Changing this creates a new server group.\n"},"policies":{"type":"array","items":{"type":"string"},"description":"optional *string* \u0026rarr;  The set of policies for the server group. All policies are mutually exclusive. See the Policies section for more information. Changing this creates a new server group.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Compute client. If 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 creates a new server group.\n"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"},"description":"optional *map of* *string* \u0026rarr;  Map of additional options.\n"}},"type":"object"}},"vkcs:index/computeVolumeAttach:ComputeVolumeAttach":{"description":"Attaches a Block Storage Volume to an Instance using the VKCS Compute API.\n\n## Examples\n\n### Usage with one volume\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst data = new vkcs.ComputeVolumeAttach(\"data\", {\n    instanceId: basic.id,\n    volumeId: dataVkcsBlockstorageVolume.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\ndata = vkcs.ComputeVolumeAttach(\"data\",\n    instance_id=basic[\"id\"],\n    volume_id=data_vkcs_blockstorage_volume[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var data = new Vkcs.ComputeVolumeAttach(\"data\", new()\n    {\n        InstanceId = basic.Id,\n        VolumeId = dataVkcsBlockstorageVolume.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewComputeVolumeAttach(ctx, \"data\", \u0026vkcs.ComputeVolumeAttachArgs{\n\t\t\tInstanceId: pulumi.Any(basic.Id),\n\t\t\tVolumeId:   pulumi.Any(dataVkcsBlockstorageVolume.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.vkcs.ComputeVolumeAttach;\nimport com.pulumi.vkcs.ComputeVolumeAttachArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 data = new ComputeVolumeAttach(\"data\", ComputeVolumeAttachArgs.builder()\n            .instanceId(basic.id())\n            .volumeId(dataVkcsBlockstorageVolume.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  data:\n    type: vkcs:ComputeVolumeAttach\n    properties:\n      instanceId: ${basic.id}\n      volumeId: ${dataVkcsBlockstorageVolume.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Usage with ORDERED multiple volumes\nAttaching multiple volumes will not guarantee that the volumes are attached in\na deterministic manner. The volumes will be attached in a seemingly random\norder.\n\nIf you want to ensure that the volumes are attached in a given order, create\nexplicit dependencies between the volumes, such as:\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst attach1 = new vkcs.ComputeVolumeAttach(\"attach_1\", {\n    instanceId: basic.id,\n    volumeId: volumes[0].id,\n});\nconst attach2 = new vkcs.ComputeVolumeAttach(\"attach_2\", {\n    instanceId: basic.id,\n    volumeId: volumes[1].id,\n}, {\n    dependsOn: [attach1],\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\nattach1 = vkcs.ComputeVolumeAttach(\"attach_1\",\n    instance_id=basic[\"id\"],\n    volume_id=volumes[0][\"id\"])\nattach2 = vkcs.ComputeVolumeAttach(\"attach_2\",\n    instance_id=basic[\"id\"],\n    volume_id=volumes[1][\"id\"],\n    opts = pulumi.ResourceOptions(depends_on=[attach1]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var attach1 = new Vkcs.ComputeVolumeAttach(\"attach_1\", new()\n    {\n        InstanceId = basic.Id,\n        VolumeId = volumes[0].Id,\n    });\n\n    var attach2 = new Vkcs.ComputeVolumeAttach(\"attach_2\", new()\n    {\n        InstanceId = basic.Id,\n        VolumeId = volumes[1].Id,\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            attach1,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tattach1, err := vkcs.NewComputeVolumeAttach(ctx, \"attach_1\", \u0026vkcs.ComputeVolumeAttachArgs{\n\t\t\tInstanceId: pulumi.Any(basic.Id),\n\t\t\tVolumeId:   pulumi.Any(volumes[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vkcs.NewComputeVolumeAttach(ctx, \"attach_2\", \u0026vkcs.ComputeVolumeAttachArgs{\n\t\t\tInstanceId: pulumi.Any(basic.Id),\n\t\t\tVolumeId:   pulumi.Any(volumes[1].Id),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tattach1,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.vkcs.ComputeVolumeAttach;\nimport com.pulumi.vkcs.ComputeVolumeAttachArgs;\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 attach1 = new ComputeVolumeAttach(\"attach1\", ComputeVolumeAttachArgs.builder()\n            .instanceId(basic.id())\n            .volumeId(volumes[0].id())\n            .build());\n\n        var attach2 = new ComputeVolumeAttach(\"attach2\", ComputeVolumeAttachArgs.builder()\n            .instanceId(basic.id())\n            .volumeId(volumes[1].id())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(attach1)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  attach1:\n    type: vkcs:ComputeVolumeAttach\n    name: attach_1\n    properties:\n      instanceId: ${basic.id}\n      volumeId: ${volumes[0].id}\n  attach2:\n    type: vkcs:ComputeVolumeAttach\n    name: attach_2\n    properties:\n      instanceId: ${basic.id}\n      volumeId: ${volumes[1].id}\n    options:\n      dependsOn:\n        - ${attach1}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVolume Attachments can be imported using the Instance ID and Volume ID separated by a slash, e.g.\n\n```sh\n$ pulumi import vkcs:index/computeVolumeAttach:ComputeVolumeAttach va_1 89c60255-9bd6-460c-822a-e2b959ede9d2/45670584-225f-46c3-b33e-6707b589b666\n```\n\n","properties":{"computeVolumeAttachId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"instanceId":{"type":"string","description":"**required** *string* \u0026rarr;  The ID of the Instance to attach the Volume to.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Compute client. A Compute client is needed to create a volume attachment. If 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 creates a new volume attachment.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FComputeVolumeAttachTimeouts:ComputeVolumeAttachTimeouts"},"volumeId":{"type":"string","description":"**required** *string* \u0026rarr;  The ID of the Volume to attach to an Instance.\n"}},"type":"object","required":["computeVolumeAttachId","instanceId","region","volumeId"],"inputProperties":{"computeVolumeAttachId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"instanceId":{"type":"string","description":"**required** *string* \u0026rarr;  The ID of the Instance to attach the Volume to.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Compute client. A Compute client is needed to create a volume attachment. If 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 creates a new volume attachment.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FComputeVolumeAttachTimeouts:ComputeVolumeAttachTimeouts"},"volumeId":{"type":"string","description":"**required** *string* \u0026rarr;  The ID of the Volume to attach to an Instance.\n"}},"requiredInputs":["instanceId","volumeId"],"stateInputs":{"description":"Input properties used for looking up and filtering ComputeVolumeAttach resources.\n","properties":{"computeVolumeAttachId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"instanceId":{"type":"string","description":"**required** *string* \u0026rarr;  The ID of the Instance to attach the Volume to.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Compute client. A Compute client is needed to create a volume attachment. If 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 creates a new volume attachment.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FComputeVolumeAttachTimeouts:ComputeVolumeAttachTimeouts"},"volumeId":{"type":"string","description":"**required** *string* \u0026rarr;  The ID of the Volume to attach to an Instance.\n"}},"type":"object"}},"vkcs:index/dataplatformCluster:DataplatformCluster":{"description":"\u003e **Note:** Dataplatform cluster resource is currently in beta status.\n\n\n\n## Example Usage\n\n# ClickHouse\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst clickhouse = new vkcs.DataplatformCluster(\"clickhouse\", {\n    name: \"clickhouse-tf-guide\",\n    description: \"ClickHouse example instance from Data Platform guide.\",\n    productName: \"clickhouse\",\n    productVersion: \"25.3.0\",\n    networkId: dbVkcsNetworkingNetwork.id,\n    subnetId: dbVkcsNetworkingSubnet.id,\n    availabilityZone: \"GZ1\",\n    floatingIpPool: \"auto\",\n    podGroups: [{\n        count: 3,\n        name: \"clickhouse\",\n        resource: {\n            cpuRequest: \"2.0\",\n            ramRequest: \"8.0\",\n        },\n        volumes: {\n            data: {\n                storageClassName: \"ceph-ssd\",\n                storage: \"150\",\n                count: 1,\n            },\n        },\n    }],\n    configs: {\n        settings: [{\n            alias: \"clickhouse.background_common_pool_size\",\n            value: \"10\",\n        }],\n        users: [\n            {\n                username: \"owner\",\n                password: clickhouseOwner.result,\n                role: \"dbOwner\",\n            },\n            {\n                username: \"trino\",\n                password: clickhouseTrino.result,\n                role: \"readOnly\",\n            },\n        ],\n        warehouses: [{\n            name: \"clickhouse\",\n        }],\n        maintenance: {\n            start: \"0 1 * * 0\",\n            backup: {\n                full: {\n                    keepCount: 5,\n                    start: \"0 1 * * 0\",\n                },\n                incremental: {\n                    keepCount: 7,\n                    start: \"0 1 * * 1-6\",\n                },\n            },\n        },\n    },\n}, {\n    dependsOn: [db],\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\nclickhouse = vkcs.DataplatformCluster(\"clickhouse\",\n    name=\"clickhouse-tf-guide\",\n    description=\"ClickHouse example instance from Data Platform guide.\",\n    product_name=\"clickhouse\",\n    product_version=\"25.3.0\",\n    network_id=db_vkcs_networking_network[\"id\"],\n    subnet_id=db_vkcs_networking_subnet[\"id\"],\n    availability_zone=\"GZ1\",\n    floating_ip_pool=\"auto\",\n    pod_groups=[{\n        \"count\": 3,\n        \"name\": \"clickhouse\",\n        \"resource\": {\n            \"cpu_request\": \"2.0\",\n            \"ram_request\": \"8.0\",\n        },\n        \"volumes\": {\n            \"data\": {\n                \"storage_class_name\": \"ceph-ssd\",\n                \"storage\": \"150\",\n                \"count\": 1,\n            },\n        },\n    }],\n    configs={\n        \"settings\": [{\n            \"alias\": \"clickhouse.background_common_pool_size\",\n            \"value\": \"10\",\n        }],\n        \"users\": [\n            {\n                \"username\": \"owner\",\n                \"password\": clickhouse_owner[\"result\"],\n                \"role\": \"dbOwner\",\n            },\n            {\n                \"username\": \"trino\",\n                \"password\": clickhouse_trino[\"result\"],\n                \"role\": \"readOnly\",\n            },\n        ],\n        \"warehouses\": [{\n            \"name\": \"clickhouse\",\n        }],\n        \"maintenance\": {\n            \"start\": \"0 1 * * 0\",\n            \"backup\": {\n                \"full\": {\n                    \"keep_count\": 5,\n                    \"start\": \"0 1 * * 0\",\n                },\n                \"incremental\": {\n                    \"keep_count\": 7,\n                    \"start\": \"0 1 * * 1-6\",\n                },\n            },\n        },\n    },\n    opts = pulumi.ResourceOptions(depends_on=[db]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var clickhouse = new Vkcs.DataplatformCluster(\"clickhouse\", new()\n    {\n        Name = \"clickhouse-tf-guide\",\n        Description = \"ClickHouse example instance from Data Platform guide.\",\n        ProductName = \"clickhouse\",\n        ProductVersion = \"25.3.0\",\n        NetworkId = dbVkcsNetworkingNetwork.Id,\n        SubnetId = dbVkcsNetworkingSubnet.Id,\n        AvailabilityZone = \"GZ1\",\n        FloatingIpPool = \"auto\",\n        PodGroups = new[]\n        {\n            new Vkcs.Inputs.DataplatformClusterPodGroupArgs\n            {\n                Count = 3,\n                Name = \"clickhouse\",\n                Resource = new Vkcs.Inputs.DataplatformClusterPodGroupResourceArgs\n                {\n                    CpuRequest = \"2.0\",\n                    RamRequest = \"8.0\",\n                },\n                Volumes = \n                {\n                    { \"data\", new Vkcs.Inputs.DataplatformClusterPodGroupVolumesArgs\n                    {\n                        StorageClassName = \"ceph-ssd\",\n                        Storage = \"150\",\n                        Count = 1,\n                    } },\n                },\n            },\n        },\n        Configs = new Vkcs.Inputs.DataplatformClusterConfigsArgs\n        {\n            Settings = new[]\n            {\n                new Vkcs.Inputs.DataplatformClusterConfigsSettingArgs\n                {\n                    Alias = \"clickhouse.background_common_pool_size\",\n                    Value = \"10\",\n                },\n            },\n            Users = new[]\n            {\n                new Vkcs.Inputs.DataplatformClusterConfigsUserArgs\n                {\n                    Username = \"owner\",\n                    Password = clickhouseOwner.Result,\n                    Role = \"dbOwner\",\n                },\n                new Vkcs.Inputs.DataplatformClusterConfigsUserArgs\n                {\n                    Username = \"trino\",\n                    Password = clickhouseTrino.Result,\n                    Role = \"readOnly\",\n                },\n            },\n            Warehouses = new[]\n            {\n                new Vkcs.Inputs.DataplatformClusterConfigsWarehouseArgs\n                {\n                    Name = \"clickhouse\",\n                },\n            },\n            Maintenance = new Vkcs.Inputs.DataplatformClusterConfigsMaintenanceArgs\n            {\n                Start = \"0 1 * * 0\",\n                Backup = new Vkcs.Inputs.DataplatformClusterConfigsMaintenanceBackupArgs\n                {\n                    Full = new Vkcs.Inputs.DataplatformClusterConfigsMaintenanceBackupFullArgs\n                    {\n                        KeepCount = 5,\n                        Start = \"0 1 * * 0\",\n                    },\n                    Incremental = new Vkcs.Inputs.DataplatformClusterConfigsMaintenanceBackupIncrementalArgs\n                    {\n                        KeepCount = 7,\n                        Start = \"0 1 * * 1-6\",\n                    },\n                },\n            },\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            db,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewDataplatformCluster(ctx, \"clickhouse\", \u0026vkcs.DataplatformClusterArgs{\n\t\t\tName:             pulumi.String(\"clickhouse-tf-guide\"),\n\t\t\tDescription:      pulumi.String(\"ClickHouse example instance from Data Platform guide.\"),\n\t\t\tProductName:      pulumi.String(\"clickhouse\"),\n\t\t\tProductVersion:   pulumi.String(\"25.3.0\"),\n\t\t\tNetworkId:        pulumi.Any(dbVkcsNetworkingNetwork.Id),\n\t\t\tSubnetId:         pulumi.Any(dbVkcsNetworkingSubnet.Id),\n\t\t\tAvailabilityZone: pulumi.String(\"GZ1\"),\n\t\t\tFloatingIpPool:   pulumi.String(\"auto\"),\n\t\t\tPodGroups: vkcs.DataplatformClusterPodGroupArray{\n\t\t\t\t\u0026vkcs.DataplatformClusterPodGroupArgs{\n\t\t\t\t\tCount: pulumi.Float64(3),\n\t\t\t\t\tName:  pulumi.String(\"clickhouse\"),\n\t\t\t\t\tResource: \u0026vkcs.DataplatformClusterPodGroupResourceArgs{\n\t\t\t\t\t\tCpuRequest: pulumi.String(\"2.0\"),\n\t\t\t\t\t\tRamRequest: pulumi.String(\"8.0\"),\n\t\t\t\t\t},\n\t\t\t\t\tVolumes: vkcs.DataplatformClusterPodGroupVolumesMap{\n\t\t\t\t\t\t\"data\": \u0026vkcs.DataplatformClusterPodGroupVolumesArgs{\n\t\t\t\t\t\t\tStorageClassName: pulumi.String(\"ceph-ssd\"),\n\t\t\t\t\t\t\tStorage:          pulumi.String(\"150\"),\n\t\t\t\t\t\t\tCount:            pulumi.Float64(1),\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\tConfigs: \u0026vkcs.DataplatformClusterConfigsArgs{\n\t\t\t\tSettings: vkcs.DataplatformClusterConfigsSettingArray{\n\t\t\t\t\t\u0026vkcs.DataplatformClusterConfigsSettingArgs{\n\t\t\t\t\t\tAlias: pulumi.String(\"clickhouse.background_common_pool_size\"),\n\t\t\t\t\t\tValue: pulumi.String(\"10\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tUsers: vkcs.DataplatformClusterConfigsUserArray{\n\t\t\t\t\t\u0026vkcs.DataplatformClusterConfigsUserArgs{\n\t\t\t\t\t\tUsername: pulumi.String(\"owner\"),\n\t\t\t\t\t\tPassword: pulumi.Any(clickhouseOwner.Result),\n\t\t\t\t\t\tRole:     pulumi.String(\"dbOwner\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026vkcs.DataplatformClusterConfigsUserArgs{\n\t\t\t\t\t\tUsername: pulumi.String(\"trino\"),\n\t\t\t\t\t\tPassword: pulumi.Any(clickhouseTrino.Result),\n\t\t\t\t\t\tRole:     pulumi.String(\"readOnly\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tWarehouses: vkcs.DataplatformClusterConfigsWarehouseArray{\n\t\t\t\t\t\u0026vkcs.DataplatformClusterConfigsWarehouseArgs{\n\t\t\t\t\t\tName: pulumi.String(\"clickhouse\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tMaintenance: \u0026vkcs.DataplatformClusterConfigsMaintenanceArgs{\n\t\t\t\t\tStart: pulumi.String(\"0 1 * * 0\"),\n\t\t\t\t\tBackup: \u0026vkcs.DataplatformClusterConfigsMaintenanceBackupArgs{\n\t\t\t\t\t\tFull: \u0026vkcs.DataplatformClusterConfigsMaintenanceBackupFullArgs{\n\t\t\t\t\t\t\tKeepCount: pulumi.Float64(5),\n\t\t\t\t\t\t\tStart:     pulumi.String(\"0 1 * * 0\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tIncremental: \u0026vkcs.DataplatformClusterConfigsMaintenanceBackupIncrementalArgs{\n\t\t\t\t\t\t\tKeepCount: pulumi.Float64(7),\n\t\t\t\t\t\t\tStart:     pulumi.String(\"0 1 * * 1-6\"),\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\tdb,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.vkcs.DataplatformCluster;\nimport com.pulumi.vkcs.DataplatformClusterArgs;\nimport com.pulumi.vkcs.inputs.DataplatformClusterPodGroupArgs;\nimport com.pulumi.vkcs.inputs.DataplatformClusterPodGroupResourceArgs;\nimport com.pulumi.vkcs.inputs.DataplatformClusterConfigsArgs;\nimport com.pulumi.vkcs.inputs.DataplatformClusterConfigsMaintenanceArgs;\nimport com.pulumi.vkcs.inputs.DataplatformClusterConfigsMaintenanceBackupArgs;\nimport com.pulumi.vkcs.inputs.DataplatformClusterConfigsMaintenanceBackupFullArgs;\nimport com.pulumi.vkcs.inputs.DataplatformClusterConfigsMaintenanceBackupIncrementalArgs;\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 clickhouse = new DataplatformCluster(\"clickhouse\", DataplatformClusterArgs.builder()\n            .name(\"clickhouse-tf-guide\")\n            .description(\"ClickHouse example instance from Data Platform guide.\")\n            .productName(\"clickhouse\")\n            .productVersion(\"25.3.0\")\n            .networkId(dbVkcsNetworkingNetwork.id())\n            .subnetId(dbVkcsNetworkingSubnet.id())\n            .availabilityZone(\"GZ1\")\n            .floatingIpPool(\"auto\")\n            .podGroups(DataplatformClusterPodGroupArgs.builder()\n                .count(3.0)\n                .name(\"clickhouse\")\n                .resource(DataplatformClusterPodGroupResourceArgs.builder()\n                    .cpuRequest(\"2.0\")\n                    .ramRequest(\"8.0\")\n                    .build())\n                .volumes(Map.of(\"data\", DataplatformClusterPodGroupVolumesArgs.builder()\n                    .storageClassName(\"ceph-ssd\")\n                    .storage(\"150\")\n                    .count(1.0)\n                    .build()))\n                .build())\n            .configs(DataplatformClusterConfigsArgs.builder()\n                .settings(DataplatformClusterConfigsSettingArgs.builder()\n                    .alias(\"clickhouse.background_common_pool_size\")\n                    .value(\"10\")\n                    .build())\n                .users(                \n                    DataplatformClusterConfigsUserArgs.builder()\n                        .username(\"owner\")\n                        .password(clickhouseOwner.result())\n                        .role(\"dbOwner\")\n                        .build(),\n                    DataplatformClusterConfigsUserArgs.builder()\n                        .username(\"trino\")\n                        .password(clickhouseTrino.result())\n                        .role(\"readOnly\")\n                        .build())\n                .warehouses(DataplatformClusterConfigsWarehouseArgs.builder()\n                    .name(\"clickhouse\")\n                    .build())\n                .maintenance(DataplatformClusterConfigsMaintenanceArgs.builder()\n                    .start(\"0 1 * * 0\")\n                    .backup(DataplatformClusterConfigsMaintenanceBackupArgs.builder()\n                        .full(DataplatformClusterConfigsMaintenanceBackupFullArgs.builder()\n                            .keepCount(5.0)\n                            .start(\"0 1 * * 0\")\n                            .build())\n                        .incremental(DataplatformClusterConfigsMaintenanceBackupIncrementalArgs.builder()\n                            .keepCount(7.0)\n                            .start(\"0 1 * * 1-6\")\n                            .build())\n                        .build())\n                    .build())\n                .build())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(db)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  clickhouse:\n    type: vkcs:DataplatformCluster\n    properties:\n      name: clickhouse-tf-guide\n      description: ClickHouse example instance from Data Platform guide.\n      productName: clickhouse\n      productVersion: 25.3.0\n      networkId: ${dbVkcsNetworkingNetwork.id}\n      subnetId: ${dbVkcsNetworkingSubnet.id}\n      availabilityZone: GZ1\n      floatingIpPool: auto\n      podGroups:\n        - count: 3\n          name: clickhouse\n          resource:\n            cpuRequest: '2.0'\n            ramRequest: '8.0'\n          volumes:\n            data:\n              storageClassName: ceph-ssd\n              storage: '150'\n              count: 1\n      configs:\n        settings:\n          - alias: clickhouse.background_common_pool_size\n            value: 10\n        users:\n          - username: owner\n            password: ${clickhouseOwner.result}\n            role: dbOwner\n          - username: trino\n            password: ${clickhouseTrino.result}\n            role: readOnly\n        warehouses:\n          - name: clickhouse\n        maintenance:\n          start: 0 1 * * 0\n          backup:\n            full:\n              keepCount: 5\n              start: 0 1 * * 0\n            incremental:\n              keepCount: 7\n              start: 0 1 * * 1-6\n    options:\n      dependsOn:\n        - ${db}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nSee more examples on GitHub.\n\nRefer to the `Setting up Data Platform products` guide for details of using the resource in combination with Data Platform datasources.\n\n## Import\n\nA Dataplaform cluster can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import vkcs:index/dataplatformCluster:DataplatformCluster mycluster 83e08ade-c7cd-4382-8ee2-d297abbfc8d0\n```\n\n","properties":{"availabilityZone":{"type":"string","description":"optional *string* \u0026rarr;  Availability zone to create cluster in. Changing this creates a new resource.\n"},"clusterTemplateId":{"type":"string","description":"optional *string* \u0026rarr;  ID of the cluster template. Changing this creates a new resource.\n"},"configs":{"$ref":"#/types/vkcs:index%2FDataplatformClusterConfigs:DataplatformClusterConfigs","description":"***required*** \u0026rarr;  Product configuration.\n"},"createdAt":{"type":"string","description":"*string* \u0026rarr;  Cluster creation timestamp.\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Cluster description.\n"},"floatingIpPool":{"type":"string","description":"optional *string* \u0026rarr;  Floating IP pool ID. Use \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 for autoselect. Changing this creates a new resource.\n"},"info":{"$ref":"#/types/vkcs:index%2FDataplatformClusterInfo:DataplatformClusterInfo","description":"\u0026rarr;  Application info\n"},"multiaz":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Enables multi az support. Changing this creates a new resource.\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  Name of the cluster.\n"},"networkId":{"type":"string","description":"**required** *string* \u0026rarr;  ID of the cluster network. Changing this creates a new resource.\n"},"podGroups":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FDataplatformClusterPodGroup:DataplatformClusterPodGroup"},"description":"*list* \u0026rarr;  Cluster pod groups. Changing this creates a new resource.\n"},"productName":{"type":"string","description":"**required** *string* \u0026rarr;  Name of the product. Changing this creates a new resource.\n"},"productType":{"type":"string","description":"*string* \u0026rarr;  Type of the product.\n"},"productVersion":{"type":"string","description":"**required** *string* \u0026rarr;  Version of the product. Changing this creates a new resource.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Data platform client. If 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 creates a new resource.\n"},"stackId":{"type":"string","description":"optional *string* \u0026rarr;  ID of the cluster stack. Changing this creates a new resource.\n"},"subnetId":{"type":"string","description":"optional *string* \u0026rarr;  ID of the cluster subnet. Changing this creates a new resource.\n"}},"type":"object","required":["availabilityZone","clusterTemplateId","configs","createdAt","description","floatingIpPool","info","multiaz","name","networkId","podGroups","productName","productType","productVersion","region","stackId","subnetId"],"inputProperties":{"availabilityZone":{"type":"string","description":"optional *string* \u0026rarr;  Availability zone to create cluster in. Changing this creates a new resource.\n"},"clusterTemplateId":{"type":"string","description":"optional *string* \u0026rarr;  ID of the cluster template. Changing this creates a new resource.\n"},"configs":{"$ref":"#/types/vkcs:index%2FDataplatformClusterConfigs:DataplatformClusterConfigs","description":"***required*** \u0026rarr;  Product configuration.\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Cluster description.\n"},"floatingIpPool":{"type":"string","description":"optional *string* \u0026rarr;  Floating IP pool ID. Use \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 for autoselect. Changing this creates a new resource.\n"},"multiaz":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Enables multi az support. Changing this creates a new resource.\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  Name of the cluster.\n"},"networkId":{"type":"string","description":"**required** *string* \u0026rarr;  ID of the cluster network. Changing this creates a new resource.\n"},"podGroups":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FDataplatformClusterPodGroup:DataplatformClusterPodGroup"},"description":"*list* \u0026rarr;  Cluster pod groups. Changing this creates a new resource.\n"},"productName":{"type":"string","description":"**required** *string* \u0026rarr;  Name of the product. Changing this creates a new resource.\n"},"productVersion":{"type":"string","description":"**required** *string* \u0026rarr;  Version of the product. Changing this creates a new resource.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Data platform client. If 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 creates a new resource.\n"},"stackId":{"type":"string","description":"optional *string* \u0026rarr;  ID of the cluster stack. Changing this creates a new resource.\n"},"subnetId":{"type":"string","description":"optional *string* \u0026rarr;  ID of the cluster subnet. Changing this creates a new resource.\n"}},"requiredInputs":["configs","networkId","productName","productVersion"],"stateInputs":{"description":"Input properties used for looking up and filtering DataplatformCluster resources.\n","properties":{"availabilityZone":{"type":"string","description":"optional *string* \u0026rarr;  Availability zone to create cluster in. Changing this creates a new resource.\n"},"clusterTemplateId":{"type":"string","description":"optional *string* \u0026rarr;  ID of the cluster template. Changing this creates a new resource.\n"},"configs":{"$ref":"#/types/vkcs:index%2FDataplatformClusterConfigs:DataplatformClusterConfigs","description":"***required*** \u0026rarr;  Product configuration.\n"},"createdAt":{"type":"string","description":"*string* \u0026rarr;  Cluster creation timestamp.\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Cluster description.\n"},"floatingIpPool":{"type":"string","description":"optional *string* \u0026rarr;  Floating IP pool ID. Use \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 for autoselect. Changing this creates a new resource.\n"},"info":{"$ref":"#/types/vkcs:index%2FDataplatformClusterInfo:DataplatformClusterInfo","description":"\u0026rarr;  Application info\n"},"multiaz":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Enables multi az support. Changing this creates a new resource.\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  Name of the cluster.\n"},"networkId":{"type":"string","description":"**required** *string* \u0026rarr;  ID of the cluster network. Changing this creates a new resource.\n"},"podGroups":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FDataplatformClusterPodGroup:DataplatformClusterPodGroup"},"description":"*list* \u0026rarr;  Cluster pod groups. Changing this creates a new resource.\n"},"productName":{"type":"string","description":"**required** *string* \u0026rarr;  Name of the product. Changing this creates a new resource.\n"},"productType":{"type":"string","description":"*string* \u0026rarr;  Type of the product.\n"},"productVersion":{"type":"string","description":"**required** *string* \u0026rarr;  Version of the product. Changing this creates a new resource.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Data platform client. If 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 creates a new resource.\n"},"stackId":{"type":"string","description":"optional *string* \u0026rarr;  ID of the cluster stack. Changing this creates a new resource.\n"},"subnetId":{"type":"string","description":"optional *string* \u0026rarr;  ID of the cluster subnet. Changing this creates a new resource.\n"}},"type":"object"}},"vkcs:index/dbBackup:DbBackup":{"description":"Provides a db backup resource. This can be used to create and delete db backup.\n\n**New since v0.1.4**.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst mysqlBackup = new vkcs.DbBackup(\"mysql_backup\", {\n    name: \"mssql-backup\",\n    dbmsId: mysql.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\nmysql_backup = vkcs.DbBackup(\"mysql_backup\",\n    name=\"mssql-backup\",\n    dbms_id=mysql[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var mysqlBackup = new Vkcs.DbBackup(\"mysql_backup\", new()\n    {\n        Name = \"mssql-backup\",\n        DbmsId = mysql.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewDbBackup(ctx, \"mysql_backup\", \u0026vkcs.DbBackupArgs{\n\t\t\tName:   pulumi.String(\"mssql-backup\"),\n\t\t\tDbmsId: pulumi.Any(mysql.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.vkcs.DbBackup;\nimport com.pulumi.vkcs.DbBackupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 mysqlBackup = new DbBackup(\"mysqlBackup\", DbBackupArgs.builder()\n            .name(\"mssql-backup\")\n            .dbmsId(mysql.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  mysqlBackup:\n    type: vkcs:DbBackup\n    name: mysql_backup\n    properties:\n      name: mssql-backup\n      dbmsId: ${mysql.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nBackups can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import vkcs:index/dbBackup:DbBackup mybackup 67b86ce7-0924-48a6-8a18-683cfc6b4183\n```\n\nAfter the import you can use terraform show to view imported fields and write their values to your .tf file.\n\n","properties":{"containerPrefix":{"type":"string","description":"optional *string* \u0026rarr;  Prefix of S3 bucket ([prefix] - \u003cspan pulumi-lang-nodejs=\"[projectId]\" pulumi-lang-dotnet=\"[ProjectId]\" pulumi-lang-go=\"[projectId]\" pulumi-lang-python=\"[project_id]\" pulumi-lang-yaml=\"[projectId]\" pulumi-lang-java=\"[projectId]\"\u003e[project_id]\u003c/span\u003e) to store backup data. Default: databasebackups\n"},"created":{"type":"string","description":"*string* \u0026rarr;  Backup creation timestamp\n"},"datastores":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FDbBackupDatastore:DbBackupDatastore"},"description":"*list* \u0026rarr;  Object that represents datastore of backup\n"},"dbmsId":{"type":"string","description":"**required** *string* \u0026rarr;  ID of the instance or cluster, to create backup of.\n"},"dbmsType":{"type":"string","description":"*string* \u0026rarr;  Type of dbms for the backup, can be \"instance\" or \"cluster\".\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  The description of the backup\n"},"locationRef":{"type":"string","description":"*string* \u0026rarr;  Location of backup data on backup storage\n"},"meta":{"type":"string","description":"*string* \u0026rarr;  Metadata of the backup\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  The name of the backup. Changing this creates a new backup\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the service client. If 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 creates a new backup.\u003cbr\u003e**New since v0.4.0**.\n"},"size":{"type":"number","description":"*number* \u0026rarr;  Backup's volume size\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FDbBackupTimeouts:DbBackupTimeouts"},"updated":{"type":"string","description":"*string* \u0026rarr;  Timestamp of backup's last update\n"},"walSize":{"type":"number","description":"*number* \u0026rarr;  Backup's WAL volume size\n"}},"type":"object","required":["created","datastores","dbmsId","dbmsType","description","locationRef","meta","name","region","size","updated","walSize"],"inputProperties":{"containerPrefix":{"type":"string","description":"optional *string* \u0026rarr;  Prefix of S3 bucket ([prefix] - \u003cspan pulumi-lang-nodejs=\"[projectId]\" pulumi-lang-dotnet=\"[ProjectId]\" pulumi-lang-go=\"[projectId]\" pulumi-lang-python=\"[project_id]\" pulumi-lang-yaml=\"[projectId]\" pulumi-lang-java=\"[projectId]\"\u003e[project_id]\u003c/span\u003e) to store backup data. Default: databasebackups\n"},"dbmsId":{"type":"string","description":"**required** *string* \u0026rarr;  ID of the instance or cluster, to create backup of.\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  The description of the backup\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  The name of the backup. Changing this creates a new backup\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the service client. If 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 creates a new backup.\u003cbr\u003e**New since v0.4.0**.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FDbBackupTimeouts:DbBackupTimeouts"}},"requiredInputs":["dbmsId"],"stateInputs":{"description":"Input properties used for looking up and filtering DbBackup resources.\n","properties":{"containerPrefix":{"type":"string","description":"optional *string* \u0026rarr;  Prefix of S3 bucket ([prefix] - \u003cspan pulumi-lang-nodejs=\"[projectId]\" pulumi-lang-dotnet=\"[ProjectId]\" pulumi-lang-go=\"[projectId]\" pulumi-lang-python=\"[project_id]\" pulumi-lang-yaml=\"[projectId]\" pulumi-lang-java=\"[projectId]\"\u003e[project_id]\u003c/span\u003e) to store backup data. Default: databasebackups\n"},"created":{"type":"string","description":"*string* \u0026rarr;  Backup creation timestamp\n"},"datastores":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FDbBackupDatastore:DbBackupDatastore"},"description":"*list* \u0026rarr;  Object that represents datastore of backup\n"},"dbmsId":{"type":"string","description":"**required** *string* \u0026rarr;  ID of the instance or cluster, to create backup of.\n"},"dbmsType":{"type":"string","description":"*string* \u0026rarr;  Type of dbms for the backup, can be \"instance\" or \"cluster\".\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  The description of the backup\n"},"locationRef":{"type":"string","description":"*string* \u0026rarr;  Location of backup data on backup storage\n"},"meta":{"type":"string","description":"*string* \u0026rarr;  Metadata of the backup\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  The name of the backup. Changing this creates a new backup\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the service client. If 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 creates a new backup.\u003cbr\u003e**New since v0.4.0**.\n"},"size":{"type":"number","description":"*number* \u0026rarr;  Backup's volume size\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FDbBackupTimeouts:DbBackupTimeouts"},"updated":{"type":"string","description":"*string* \u0026rarr;  Timestamp of backup's last update\n"},"walSize":{"type":"number","description":"*number* \u0026rarr;  Backup's WAL volume size\n"}},"type":"object"}},"vkcs:index/dbCluster:DbCluster":{"description":"Provides a db cluster resource. This can be used to create, modify and delete db cluster for galera_mysql, postgresql, tarantool datastores.\n\n## Example Usage\n\n### Basic cluster\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst pgCluster = new vkcs.DbCluster(\"pg_cluster\", {\n    name: \"pg-cluster-tf-example\",\n    availabilityZone: \"GZ1\",\n    datastore: {\n        type: \"postgresql\",\n        version: \"16\",\n    },\n    clusterSize: 3,\n    flavorId: basic.id,\n    cloudMonitoringEnabled: true,\n    volumeSize: 10,\n    volumeType: \"ceph-ssd\",\n    networks: [{\n        uuid: dbVkcsNetworkingNetwork.id,\n    }],\n}, {\n    dependsOn: [db],\n});\nconst loadbalancer = vkcs.getLbLoadbalancerOutput({\n    id: pgCluster.loadbalancerId,\n});\nconst loadbalancerPort = loadbalancer.apply(loadbalancer =\u003e vkcs.getNetworkingPortOutput({\n    id: loadbalancer.vipPortId,\n}));\nexport const clusterIps = loadbalancerPort.apply(loadbalancerPort =\u003e loadbalancerPort.allFixedIps);\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\npg_cluster = vkcs.DbCluster(\"pg_cluster\",\n    name=\"pg-cluster-tf-example\",\n    availability_zone=\"GZ1\",\n    datastore={\n        \"type\": \"postgresql\",\n        \"version\": \"16\",\n    },\n    cluster_size=3,\n    flavor_id=basic[\"id\"],\n    cloud_monitoring_enabled=True,\n    volume_size=10,\n    volume_type=\"ceph-ssd\",\n    networks=[{\n        \"uuid\": db_vkcs_networking_network[\"id\"],\n    }],\n    opts = pulumi.ResourceOptions(depends_on=[db]))\nloadbalancer = vkcs.get_lb_loadbalancer_output(id=pg_cluster.loadbalancer_id)\nloadbalancer_port = loadbalancer.apply(lambda loadbalancer: vkcs.get_networking_port_output(id=loadbalancer.vip_port_id))\npulumi.export(\"clusterIps\", loadbalancer_port.all_fixed_ips)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var pgCluster = new Vkcs.DbCluster(\"pg_cluster\", new()\n    {\n        Name = \"pg-cluster-tf-example\",\n        AvailabilityZone = \"GZ1\",\n        Datastore = new Vkcs.Inputs.DbClusterDatastoreArgs\n        {\n            Type = \"postgresql\",\n            Version = \"16\",\n        },\n        ClusterSize = 3,\n        FlavorId = basic.Id,\n        CloudMonitoringEnabled = true,\n        VolumeSize = 10,\n        VolumeType = \"ceph-ssd\",\n        Networks = new[]\n        {\n            new Vkcs.Inputs.DbClusterNetworkArgs\n            {\n                Uuid = dbVkcsNetworkingNetwork.Id,\n            },\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            db,\n        },\n    });\n\n    var loadbalancer = Vkcs.GetLbLoadbalancer.Invoke(new()\n    {\n        Id = pgCluster.LoadbalancerId,\n    });\n\n    var loadbalancerPort = Vkcs.GetNetworkingPort.Invoke(new()\n    {\n        Id = loadbalancer.Apply(getLbLoadbalancerResult =\u003e getLbLoadbalancerResult.VipPortId),\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"clusterIps\"] = loadbalancerPort.Apply(getNetworkingPortResult =\u003e getNetworkingPortResult.AllFixedIps),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\npgCluster, err := vkcs.NewDbCluster(ctx, \"pg_cluster\", \u0026vkcs.DbClusterArgs{\nName: pulumi.String(\"pg-cluster-tf-example\"),\nAvailabilityZone: pulumi.String(\"GZ1\"),\nDatastore: \u0026vkcs.DbClusterDatastoreArgs{\nType: pulumi.String(\"postgresql\"),\nVersion: pulumi.String(\"16\"),\n},\nClusterSize: pulumi.Float64(3),\nFlavorId: pulumi.Any(basic.Id),\nCloudMonitoringEnabled: pulumi.Bool(true),\nVolumeSize: pulumi.Float64(10),\nVolumeType: pulumi.String(\"ceph-ssd\"),\nNetworks: vkcs.DbClusterNetworkArray{\n\u0026vkcs.DbClusterNetworkArgs{\nUuid: pulumi.Any(dbVkcsNetworkingNetwork.Id),\n},\n},\n}, pulumi.DependsOn([]pulumi.Resource{\ndb,\n}))\nif err != nil {\nreturn err\n}\nloadbalancer := vkcs.LookupLbLoadbalancerOutput(ctx, vkcs.GetLbLoadbalancerOutputArgs{\nId: pgCluster.LoadbalancerId,\n}, nil);\nloadbalancerPort := loadbalancer.ApplyT(func(loadbalancer vkcs.GetLbLoadbalancerResult) (vkcs.GetNetworkingPortResult, error) {\nreturn vkcs.GetNetworkingPortResult(interface{}(vkcs.LookupNetworkingPortOutput(ctx, vkcs.GetNetworkingPortOutputArgs{\nId: loadbalancer.VipPortId,\n}, nil))), nil\n}).(vkcs.GetNetworkingPortResultOutput)\nctx.Export(\"clusterIps\", loadbalancerPort.ApplyT(func(loadbalancerPort vkcs.GetNetworkingPortResult) (interface{}, error) {\nreturn loadbalancerPort.AllFixedIps, nil\n}).(pulumi.Interface{}Output))\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.vkcs.DbCluster;\nimport com.pulumi.vkcs.DbClusterArgs;\nimport com.pulumi.vkcs.inputs.DbClusterDatastoreArgs;\nimport com.pulumi.vkcs.inputs.DbClusterNetworkArgs;\nimport com.pulumi.vkcs.VkcsFunctions;\nimport com.pulumi.vkcs.inputs.GetLbLoadbalancerArgs;\nimport com.pulumi.vkcs.inputs.GetNetworkingPortArgs;\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 pgCluster = new DbCluster(\"pgCluster\", DbClusterArgs.builder()\n            .name(\"pg-cluster-tf-example\")\n            .availabilityZone(\"GZ1\")\n            .datastore(DbClusterDatastoreArgs.builder()\n                .type(\"postgresql\")\n                .version(\"16\")\n                .build())\n            .clusterSize(3.0)\n            .flavorId(basic.id())\n            .cloudMonitoringEnabled(true)\n            .volumeSize(10.0)\n            .volumeType(\"ceph-ssd\")\n            .networks(DbClusterNetworkArgs.builder()\n                .uuid(dbVkcsNetworkingNetwork.id())\n                .build())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(db)\n                .build());\n\n        final var loadbalancer = VkcsFunctions.getLbLoadbalancer(GetLbLoadbalancerArgs.builder()\n            .id(pgCluster.loadbalancerId())\n            .build());\n\n        final var loadbalancerPort = loadbalancer.applyValue(_loadbalancer -\u003e VkcsFunctions.getNetworkingPort(GetNetworkingPortArgs.builder()\n            .id(_loadbalancer.vipPortId())\n            .build()));\n\n        ctx.export(\"clusterIps\", loadbalancerPort.applyValue(_loadbalancerPort -\u003e _loadbalancerPort.allFixedIps()));\n    }\n}\n```\n```yaml\nresources:\n  pgCluster:\n    type: vkcs:DbCluster\n    name: pg_cluster\n    properties:\n      name: pg-cluster-tf-example\n      availabilityZone: GZ1\n      datastore:\n        type: postgresql\n        version: '16'\n      clusterSize: 3\n      flavorId: ${basic.id}\n      cloudMonitoringEnabled: true\n      volumeSize: 10\n      volumeType: ceph-ssd\n      networks:\n        - uuid: ${dbVkcsNetworkingNetwork.id}\n    options:\n      dependsOn:\n        - ${db}\nvariables:\n  loadbalancer:\n    fn::invoke:\n      function: vkcs:getLbLoadbalancer\n      arguments:\n        id: ${pgCluster.loadbalancerId}\n  loadbalancerPort:\n    fn::invoke:\n      function: vkcs:getNetworkingPort\n      arguments:\n        id: ${loadbalancer.vipPortId}\noutputs:\n  clusterIps: ${loadbalancerPort.allFixedIps}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Cluster restored from backup\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst mydbCluster = new vkcs.DbCluster(\"mydb_cluster\", {\n    name: \"mydb-cluster\",\n    datastore: {\n        type: \"postgresql\",\n        version: \"16\",\n    },\n    clusterSize: 3,\n    flavorId: \"9e931469-1490-489e-88af-29a289681c53\",\n    volumeSize: 10,\n    volumeType: \"ceph-ssd\",\n    networks: [{\n        uuid: \"3ee9b184-3311-4d85-840b-7a9c48e7beac\",\n    }],\n    restorePoint: {\n        backupId: \"backup_id\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\nmydb_cluster = vkcs.DbCluster(\"mydb_cluster\",\n    name=\"mydb-cluster\",\n    datastore={\n        \"type\": \"postgresql\",\n        \"version\": \"16\",\n    },\n    cluster_size=3,\n    flavor_id=\"9e931469-1490-489e-88af-29a289681c53\",\n    volume_size=10,\n    volume_type=\"ceph-ssd\",\n    networks=[{\n        \"uuid\": \"3ee9b184-3311-4d85-840b-7a9c48e7beac\",\n    }],\n    restore_point={\n        \"backup_id\": \"backup_id\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var mydbCluster = new Vkcs.DbCluster(\"mydb_cluster\", new()\n    {\n        Name = \"mydb-cluster\",\n        Datastore = new Vkcs.Inputs.DbClusterDatastoreArgs\n        {\n            Type = \"postgresql\",\n            Version = \"16\",\n        },\n        ClusterSize = 3,\n        FlavorId = \"9e931469-1490-489e-88af-29a289681c53\",\n        VolumeSize = 10,\n        VolumeType = \"ceph-ssd\",\n        Networks = new[]\n        {\n            new Vkcs.Inputs.DbClusterNetworkArgs\n            {\n                Uuid = \"3ee9b184-3311-4d85-840b-7a9c48e7beac\",\n            },\n        },\n        RestorePoint = new Vkcs.Inputs.DbClusterRestorePointArgs\n        {\n            BackupId = \"backup_id\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewDbCluster(ctx, \"mydb_cluster\", \u0026vkcs.DbClusterArgs{\n\t\t\tName: pulumi.String(\"mydb-cluster\"),\n\t\t\tDatastore: \u0026vkcs.DbClusterDatastoreArgs{\n\t\t\t\tType:    pulumi.String(\"postgresql\"),\n\t\t\t\tVersion: pulumi.String(\"16\"),\n\t\t\t},\n\t\t\tClusterSize: pulumi.Float64(3),\n\t\t\tFlavorId:    pulumi.String(\"9e931469-1490-489e-88af-29a289681c53\"),\n\t\t\tVolumeSize:  pulumi.Float64(10),\n\t\t\tVolumeType:  pulumi.String(\"ceph-ssd\"),\n\t\t\tNetworks: vkcs.DbClusterNetworkArray{\n\t\t\t\t\u0026vkcs.DbClusterNetworkArgs{\n\t\t\t\t\tUuid: pulumi.String(\"3ee9b184-3311-4d85-840b-7a9c48e7beac\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRestorePoint: \u0026vkcs.DbClusterRestorePointArgs{\n\t\t\t\tBackupId: pulumi.String(\"backup_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.vkcs.DbCluster;\nimport com.pulumi.vkcs.DbClusterArgs;\nimport com.pulumi.vkcs.inputs.DbClusterDatastoreArgs;\nimport com.pulumi.vkcs.inputs.DbClusterNetworkArgs;\nimport com.pulumi.vkcs.inputs.DbClusterRestorePointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 mydbCluster = new DbCluster(\"mydbCluster\", DbClusterArgs.builder()\n            .name(\"mydb-cluster\")\n            .datastore(DbClusterDatastoreArgs.builder()\n                .type(\"postgresql\")\n                .version(\"16\")\n                .build())\n            .clusterSize(3.0)\n            .flavorId(\"9e931469-1490-489e-88af-29a289681c53\")\n            .volumeSize(10.0)\n            .volumeType(\"ceph-ssd\")\n            .networks(DbClusterNetworkArgs.builder()\n                .uuid(\"3ee9b184-3311-4d85-840b-7a9c48e7beac\")\n                .build())\n            .restorePoint(DbClusterRestorePointArgs.builder()\n                .backupId(\"backup_id\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  mydbCluster:\n    type: vkcs:DbCluster\n    name: mydb_cluster\n    properties:\n      name: mydb-cluster\n      datastore:\n        type: postgresql\n        version: '16'\n      clusterSize: 3\n      flavorId: 9e931469-1490-489e-88af-29a289681c53\n      volumeSize: 10\n      volumeType: ceph-ssd\n      networks:\n        - uuid: 3ee9b184-3311-4d85-840b-7a9c48e7beac\n      restorePoint:\n        backupId: backup_id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Cluster with scheduled PITR backup\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst pgWithBackup = new vkcs.DbCluster(\"pg_with_backup\", {\n    name: \"pg-with-backup-tf-example\",\n    availabilityZone: \"GZ1\",\n    datastore: {\n        type: \"postgresql\",\n        version: \"16\",\n    },\n    clusterSize: 3,\n    flavorId: basic.id,\n    volumeSize: 10,\n    volumeType: \"ceph-ssd\",\n    networks: [{\n        uuid: dbVkcsNetworkingNetwork.id,\n    }],\n    backupSchedule: {\n        name: \"three_hours_backup_tf_example\",\n        startHours: 16,\n        startMinutes: 20,\n        intervalHours: 3,\n        keepCount: 3,\n    },\n}, {\n    dependsOn: [db],\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\npg_with_backup = vkcs.DbCluster(\"pg_with_backup\",\n    name=\"pg-with-backup-tf-example\",\n    availability_zone=\"GZ1\",\n    datastore={\n        \"type\": \"postgresql\",\n        \"version\": \"16\",\n    },\n    cluster_size=3,\n    flavor_id=basic[\"id\"],\n    volume_size=10,\n    volume_type=\"ceph-ssd\",\n    networks=[{\n        \"uuid\": db_vkcs_networking_network[\"id\"],\n    }],\n    backup_schedule={\n        \"name\": \"three_hours_backup_tf_example\",\n        \"start_hours\": 16,\n        \"start_minutes\": 20,\n        \"interval_hours\": 3,\n        \"keep_count\": 3,\n    },\n    opts = pulumi.ResourceOptions(depends_on=[db]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var pgWithBackup = new Vkcs.DbCluster(\"pg_with_backup\", new()\n    {\n        Name = \"pg-with-backup-tf-example\",\n        AvailabilityZone = \"GZ1\",\n        Datastore = new Vkcs.Inputs.DbClusterDatastoreArgs\n        {\n            Type = \"postgresql\",\n            Version = \"16\",\n        },\n        ClusterSize = 3,\n        FlavorId = basic.Id,\n        VolumeSize = 10,\n        VolumeType = \"ceph-ssd\",\n        Networks = new[]\n        {\n            new Vkcs.Inputs.DbClusterNetworkArgs\n            {\n                Uuid = dbVkcsNetworkingNetwork.Id,\n            },\n        },\n        BackupSchedule = new Vkcs.Inputs.DbClusterBackupScheduleArgs\n        {\n            Name = \"three_hours_backup_tf_example\",\n            StartHours = 16,\n            StartMinutes = 20,\n            IntervalHours = 3,\n            KeepCount = 3,\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            db,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewDbCluster(ctx, \"pg_with_backup\", \u0026vkcs.DbClusterArgs{\n\t\t\tName:             pulumi.String(\"pg-with-backup-tf-example\"),\n\t\t\tAvailabilityZone: pulumi.String(\"GZ1\"),\n\t\t\tDatastore: \u0026vkcs.DbClusterDatastoreArgs{\n\t\t\t\tType:    pulumi.String(\"postgresql\"),\n\t\t\t\tVersion: pulumi.String(\"16\"),\n\t\t\t},\n\t\t\tClusterSize: pulumi.Float64(3),\n\t\t\tFlavorId:    pulumi.Any(basic.Id),\n\t\t\tVolumeSize:  pulumi.Float64(10),\n\t\t\tVolumeType:  pulumi.String(\"ceph-ssd\"),\n\t\t\tNetworks: vkcs.DbClusterNetworkArray{\n\t\t\t\t\u0026vkcs.DbClusterNetworkArgs{\n\t\t\t\t\tUuid: pulumi.Any(dbVkcsNetworkingNetwork.Id),\n\t\t\t\t},\n\t\t\t},\n\t\t\tBackupSchedule: \u0026vkcs.DbClusterBackupScheduleArgs{\n\t\t\t\tName:          pulumi.String(\"three_hours_backup_tf_example\"),\n\t\t\t\tStartHours:    pulumi.Float64(16),\n\t\t\t\tStartMinutes:  pulumi.Float64(20),\n\t\t\t\tIntervalHours: pulumi.Float64(3),\n\t\t\t\tKeepCount:     pulumi.Float64(3),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tdb,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.vkcs.DbCluster;\nimport com.pulumi.vkcs.DbClusterArgs;\nimport com.pulumi.vkcs.inputs.DbClusterDatastoreArgs;\nimport com.pulumi.vkcs.inputs.DbClusterNetworkArgs;\nimport com.pulumi.vkcs.inputs.DbClusterBackupScheduleArgs;\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 pgWithBackup = new DbCluster(\"pgWithBackup\", DbClusterArgs.builder()\n            .name(\"pg-with-backup-tf-example\")\n            .availabilityZone(\"GZ1\")\n            .datastore(DbClusterDatastoreArgs.builder()\n                .type(\"postgresql\")\n                .version(\"16\")\n                .build())\n            .clusterSize(3.0)\n            .flavorId(basic.id())\n            .volumeSize(10.0)\n            .volumeType(\"ceph-ssd\")\n            .networks(DbClusterNetworkArgs.builder()\n                .uuid(dbVkcsNetworkingNetwork.id())\n                .build())\n            .backupSchedule(DbClusterBackupScheduleArgs.builder()\n                .name(\"three_hours_backup_tf_example\")\n                .startHours(16.0)\n                .startMinutes(20.0)\n                .intervalHours(3.0)\n                .keepCount(3.0)\n                .build())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(db)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  pgWithBackup:\n    type: vkcs:DbCluster\n    name: pg_with_backup\n    properties:\n      name: pg-with-backup-tf-example\n      availabilityZone: GZ1\n      datastore:\n        type: postgresql\n        version: '16'\n      clusterSize: 3\n      flavorId: ${basic.id}\n      volumeSize: 10\n      volumeType: ceph-ssd\n      networks:\n        - uuid: ${dbVkcsNetworkingNetwork.id}\n      backupSchedule:\n        name: three_hours_backup_tf_example\n        startHours: 16\n        startMinutes: 20\n        intervalHours: 3\n        keepCount: 3\n    options:\n      dependsOn:\n        - ${db}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Multi-zone PostgreSQL cluster\nIn order to improve reliability and fault tolerance, you can set up a cluster in multiple availability zones.\nTo achieve this, use the specific datastore combined with list of availability zones to deploy into.\nTo get the cluster IP address, use the \u003cspan pulumi-lang-nodejs=\"\"vrrpPortId\"\" pulumi-lang-dotnet=\"\"VrrpPortId\"\" pulumi-lang-go=\"\"vrrpPortId\"\" pulumi-lang-python=\"\"vrrp_port_id\"\" pulumi-lang-yaml=\"\"vrrpPortId\"\" pulumi-lang-java=\"\"vrrpPortId\"\"\u003e\"vrrp_port_id\"\u003c/span\u003e attribute.\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst cluster = new vkcs.DbCluster(\"cluster\", {\n    name: \"multiaz-cluster-tf-example\",\n    availabilityZones: [\n        \"GZ1\",\n        \"MS1\",\n    ],\n    clusterSize: 3,\n    flavorId: basic.id,\n    volumeSize: 10,\n    volumeType: \"ceph-ssd\",\n    datastore: {\n        version: \"16\",\n        type: \"postgresql_multiaz\",\n    },\n    networks: [{\n        uuid: dbVkcsNetworkingNetwork.id,\n    }],\n}, {\n    dependsOn: [db],\n});\nconst vrrpPort = vkcs.getNetworkingPortOutput({\n    id: cluster.vrrpPortId,\n});\nexport const clusterIp = vrrpPort.apply(vrrpPort =\u003e vrrpPort.allFixedIps?.[0]);\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\ncluster = vkcs.DbCluster(\"cluster\",\n    name=\"multiaz-cluster-tf-example\",\n    availability_zones=[\n        \"GZ1\",\n        \"MS1\",\n    ],\n    cluster_size=3,\n    flavor_id=basic[\"id\"],\n    volume_size=10,\n    volume_type=\"ceph-ssd\",\n    datastore={\n        \"version\": \"16\",\n        \"type\": \"postgresql_multiaz\",\n    },\n    networks=[{\n        \"uuid\": db_vkcs_networking_network[\"id\"],\n    }],\n    opts = pulumi.ResourceOptions(depends_on=[db]))\nvrrp_port = vkcs.get_networking_port_output(id=cluster.vrrp_port_id)\npulumi.export(\"clusterIp\", vrrp_port.all_fixed_ips[0])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var cluster = new Vkcs.DbCluster(\"cluster\", new()\n    {\n        Name = \"multiaz-cluster-tf-example\",\n        AvailabilityZones = new[]\n        {\n            \"GZ1\",\n            \"MS1\",\n        },\n        ClusterSize = 3,\n        FlavorId = basic.Id,\n        VolumeSize = 10,\n        VolumeType = \"ceph-ssd\",\n        Datastore = new Vkcs.Inputs.DbClusterDatastoreArgs\n        {\n            Version = \"16\",\n            Type = \"postgresql_multiaz\",\n        },\n        Networks = new[]\n        {\n            new Vkcs.Inputs.DbClusterNetworkArgs\n            {\n                Uuid = dbVkcsNetworkingNetwork.Id,\n            },\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            db,\n        },\n    });\n\n    var vrrpPort = Vkcs.GetNetworkingPort.Invoke(new()\n    {\n        Id = cluster.VrrpPortId,\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"clusterIp\"] = vrrpPort.Apply(getNetworkingPortResult =\u003e getNetworkingPortResult.AllFixedIps[0]),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcluster, err := vkcs.NewDbCluster(ctx, \"cluster\", \u0026vkcs.DbClusterArgs{\n\t\t\tName: pulumi.String(\"multiaz-cluster-tf-example\"),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"GZ1\"),\n\t\t\t\tpulumi.String(\"MS1\"),\n\t\t\t},\n\t\t\tClusterSize: pulumi.Float64(3),\n\t\t\tFlavorId:    pulumi.Any(basic.Id),\n\t\t\tVolumeSize:  pulumi.Float64(10),\n\t\t\tVolumeType:  pulumi.String(\"ceph-ssd\"),\n\t\t\tDatastore: \u0026vkcs.DbClusterDatastoreArgs{\n\t\t\t\tVersion: pulumi.String(\"16\"),\n\t\t\t\tType:    pulumi.String(\"postgresql_multiaz\"),\n\t\t\t},\n\t\t\tNetworks: vkcs.DbClusterNetworkArray{\n\t\t\t\t\u0026vkcs.DbClusterNetworkArgs{\n\t\t\t\t\tUuid: pulumi.Any(dbVkcsNetworkingNetwork.Id),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tdb,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvrrpPort := vkcs.LookupNetworkingPortOutput(ctx, vkcs.GetNetworkingPortOutputArgs{\n\t\t\tId: cluster.VrrpPortId,\n\t\t}, nil)\n\t\tctx.Export(\"clusterIp\", vrrpPort.ApplyT(func(vrrpPort vkcs.GetNetworkingPortResult) (*string, error) {\n\t\t\treturn \u0026vrrpPort.AllFixedIps[0], nil\n\t\t}).(pulumi.StringPtrOutput))\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.vkcs.DbCluster;\nimport com.pulumi.vkcs.DbClusterArgs;\nimport com.pulumi.vkcs.inputs.DbClusterDatastoreArgs;\nimport com.pulumi.vkcs.inputs.DbClusterNetworkArgs;\nimport com.pulumi.vkcs.VkcsFunctions;\nimport com.pulumi.vkcs.inputs.GetNetworkingPortArgs;\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 cluster = new DbCluster(\"cluster\", DbClusterArgs.builder()\n            .name(\"multiaz-cluster-tf-example\")\n            .availabilityZones(            \n                \"GZ1\",\n                \"MS1\")\n            .clusterSize(3.0)\n            .flavorId(basic.id())\n            .volumeSize(10.0)\n            .volumeType(\"ceph-ssd\")\n            .datastore(DbClusterDatastoreArgs.builder()\n                .version(\"16\")\n                .type(\"postgresql_multiaz\")\n                .build())\n            .networks(DbClusterNetworkArgs.builder()\n                .uuid(dbVkcsNetworkingNetwork.id())\n                .build())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(db)\n                .build());\n\n        final var vrrpPort = VkcsFunctions.getNetworkingPort(GetNetworkingPortArgs.builder()\n            .id(cluster.vrrpPortId())\n            .build());\n\n        ctx.export(\"clusterIp\", vrrpPort.applyValue(_vrrpPort -\u003e _vrrpPort.allFixedIps()[0]));\n    }\n}\n```\n```yaml\nresources:\n  cluster:\n    type: vkcs:DbCluster\n    properties:\n      name: multiaz-cluster-tf-example\n      availabilityZones:\n        - GZ1\n        - MS1\n      clusterSize: 3\n      flavorId: ${basic.id}\n      volumeSize: 10\n      volumeType: ceph-ssd\n      datastore:\n        version: '16'\n        type: postgresql_multiaz\n      networks:\n        - uuid: ${dbVkcsNetworkingNetwork.id}\n    options:\n      dependsOn:\n        - ${db}\nvariables:\n  vrrpPort:\n    fn::invoke:\n      function: vkcs:getNetworkingPort\n      arguments:\n        id: ${cluster.vrrpPortId}\noutputs:\n  clusterIp: ${vrrpPort.allFixedIps[0]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nClusters can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import vkcs:index/dbCluster:DbCluster mycluster 708a74a1-6b00-4a96-938c-28a8a6d98590\n```\n\nAfter the import you can use terraform show to view imported fields and write their values to your .tf file.\n\nYou should at least add following fields to your .tf file:\n\n`name, flavor_id, cluster_size, volume_size, volume_type, datastore`\n\nPlease, use `\"IMPORTED\"` as value for `volume_type` field.\n\n","properties":{"availabilityZone":{"type":"string","description":"optional *string* \u0026rarr;  The name of the availability zone of the cluster. Changing this creates a new cluster.\n"},"availabilityZones":{"type":"array","items":{"type":"string"},"description":"optional *string* \u0026rarr;  The names of availability zones for the cluster. Changing this creates a new cluster. _\u003cbr\u003e**Note:**_ Only available in multi-AZ configurations\u003cbr\u003e**New since v0.9.3**.\n"},"backupSchedule":{"$ref":"#/types/vkcs:index%2FDbClusterBackupSchedule:DbClusterBackupSchedule","description":"optional \u0026rarr;  Object that represents configuration of PITR backup. This functionality is available only for postgres datastore.\u003cbr\u003e**New since v0.1.4**.\n"},"capabilities":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FDbClusterCapability:DbClusterCapability"},"description":"optional \u0026rarr;  Object that represents capability applied to cluster. There can be several instances of this object.\n"},"cloudMonitoringEnabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Enable cloud monitoring for the cluster.\u003cbr\u003e**New since v0.2.0**.\n"},"clusterSize":{"type":"number","description":"**required** *number* \u0026rarr;  The number of instances in the cluster.\n"},"configurationId":{"type":"string","description":"optional *string* \u0026rarr;  The id of the configuration attached to cluster.\n"},"datastore":{"$ref":"#/types/vkcs:index%2FDbClusterDatastore:DbClusterDatastore","description":"**required** \u0026rarr;  Object that represents datastore of the cluster. Changing this creates a new cluster.\n"},"dbClusterId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"diskAutoexpand":{"$ref":"#/types/vkcs:index%2FDbClusterDiskAutoexpand:DbClusterDiskAutoexpand","description":"optional \u0026rarr;  Object that represents autoresize properties of the cluster.\n"},"flavorId":{"type":"string","description":"**required** *string* \u0026rarr;  The ID of flavor for the cluster.\n"},"floatingIpEnabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Indicates whether floating ip is created for cluster. Changing this creates a new cluster.\n"},"instances":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FDbClusterInstance:DbClusterInstance"},"description":"*object* \u0026rarr;  Cluster instances info.\n"},"keypair":{"type":"string","description":"optional *string* \u0026rarr;  Name of the keypair to be attached to cluster. Changing this creates a new cluster.\n"},"loadbalancerId":{"type":"string","description":"*string* \u0026rarr;  The id of the loadbalancer attached to the cluster.\u003cbr\u003e**New since v0.1.15**.\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  The name of the cluster. Changing this creates a new cluster.\n"},"networks":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FDbClusterNetwork:DbClusterNetwork"},"description":"optional \u0026rarr;  Object that represents network of the cluster. Changing this creates a new cluster.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  Region to create resource in.\n"},"restorePoint":{"$ref":"#/types/vkcs:index%2FDbClusterRestorePoint:DbClusterRestorePoint","description":"optional \u0026rarr;  Object that represents backup to restore cluster from.\u003cbr\u003e**New since v0.1.4**.\n"},"rootEnabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Indicates whether root user is enabled for the cluster.\n"},"rootPassword":{"type":"string","description":"optional sensitive *string* \u0026rarr;  Password for the root user of the cluster. When enabling root, password is autogenerated, use this field to obtain it.\n","secret":true},"shrinkOptions":{"type":"array","items":{"type":"string"},"description":"optional *string* \u0026rarr;  Used only for shrinking cluster. List of IDs of instances that should remain after shrink. If no options are supplied, shrink operation will choose first non-leader instance to delete.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FDbClusterTimeouts:DbClusterTimeouts"},"vendorOptions":{"$ref":"#/types/vkcs:index%2FDbClusterVendorOptions:DbClusterVendorOptions","description":"optional \u0026rarr;  Map of additional vendor-specific options. Supported options are described below.\u003cbr\u003e**New since v0.4.0**.\n"},"volumeSize":{"type":"number","description":"**required** *number* \u0026rarr;  Size of the cluster instance volume.\n"},"volumeType":{"type":"string","description":"**required** *string* \u0026rarr;  The type of the cluster instance volume. Changing this creates a new cluster.\n"},"vrrpPortId":{"type":"string","description":"*string* \u0026rarr;  The id of the VRRP port attached to the cluster. _\u003cbr\u003e**Note:**_ Only available in multi-AZ configurations.\u003cbr\u003e**New since v0.9.3**.\n"},"walDiskAutoexpand":{"$ref":"#/types/vkcs:index%2FDbClusterWalDiskAutoexpand:DbClusterWalDiskAutoexpand","description":"optional \u0026rarr;  Object that represents autoresize properties of wal volume of the cluster.\n"},"walVolumes":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FDbClusterWalVolume:DbClusterWalVolume"},"description":"optional \u0026rarr;  Object that represents wal volume of the cluster. Changing this creates a new cluster.\n"}},"type":"object","required":["clusterSize","datastore","dbClusterId","flavorId","instances","loadbalancerId","name","region","rootPassword","volumeSize","volumeType","vrrpPortId"],"inputProperties":{"availabilityZone":{"type":"string","description":"optional *string* \u0026rarr;  The name of the availability zone of the cluster. Changing this creates a new cluster.\n"},"availabilityZones":{"type":"array","items":{"type":"string"},"description":"optional *string* \u0026rarr;  The names of availability zones for the cluster. Changing this creates a new cluster. _\u003cbr\u003e**Note:**_ Only available in multi-AZ configurations\u003cbr\u003e**New since v0.9.3**.\n"},"backupSchedule":{"$ref":"#/types/vkcs:index%2FDbClusterBackupSchedule:DbClusterBackupSchedule","description":"optional \u0026rarr;  Object that represents configuration of PITR backup. This functionality is available only for postgres datastore.\u003cbr\u003e**New since v0.1.4**.\n"},"capabilities":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FDbClusterCapability:DbClusterCapability"},"description":"optional \u0026rarr;  Object that represents capability applied to cluster. There can be several instances of this object.\n"},"cloudMonitoringEnabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Enable cloud monitoring for the cluster.\u003cbr\u003e**New since v0.2.0**.\n"},"clusterSize":{"type":"number","description":"**required** *number* \u0026rarr;  The number of instances in the cluster.\n"},"configurationId":{"type":"string","description":"optional *string* \u0026rarr;  The id of the configuration attached to cluster.\n"},"datastore":{"$ref":"#/types/vkcs:index%2FDbClusterDatastore:DbClusterDatastore","description":"**required** \u0026rarr;  Object that represents datastore of the cluster. Changing this creates a new cluster.\n"},"dbClusterId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"diskAutoexpand":{"$ref":"#/types/vkcs:index%2FDbClusterDiskAutoexpand:DbClusterDiskAutoexpand","description":"optional \u0026rarr;  Object that represents autoresize properties of the cluster.\n"},"flavorId":{"type":"string","description":"**required** *string* \u0026rarr;  The ID of flavor for the cluster.\n"},"floatingIpEnabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Indicates whether floating ip is created for cluster. Changing this creates a new cluster.\n"},"keypair":{"type":"string","description":"optional *string* \u0026rarr;  Name of the keypair to be attached to cluster. Changing this creates a new cluster.\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  The name of the cluster. Changing this creates a new cluster.\n"},"networks":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FDbClusterNetwork:DbClusterNetwork"},"description":"optional \u0026rarr;  Object that represents network of the cluster. Changing this creates a new cluster.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  Region to create resource in.\n"},"restorePoint":{"$ref":"#/types/vkcs:index%2FDbClusterRestorePoint:DbClusterRestorePoint","description":"optional \u0026rarr;  Object that represents backup to restore cluster from.\u003cbr\u003e**New since v0.1.4**.\n"},"rootEnabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Indicates whether root user is enabled for the cluster.\n"},"rootPassword":{"type":"string","description":"optional sensitive *string* \u0026rarr;  Password for the root user of the cluster. When enabling root, password is autogenerated, use this field to obtain it.\n","secret":true},"shrinkOptions":{"type":"array","items":{"type":"string"},"description":"optional *string* \u0026rarr;  Used only for shrinking cluster. List of IDs of instances that should remain after shrink. If no options are supplied, shrink operation will choose first non-leader instance to delete.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FDbClusterTimeouts:DbClusterTimeouts"},"vendorOptions":{"$ref":"#/types/vkcs:index%2FDbClusterVendorOptions:DbClusterVendorOptions","description":"optional \u0026rarr;  Map of additional vendor-specific options. Supported options are described below.\u003cbr\u003e**New since v0.4.0**.\n"},"volumeSize":{"type":"number","description":"**required** *number* \u0026rarr;  Size of the cluster instance volume.\n"},"volumeType":{"type":"string","description":"**required** *string* \u0026rarr;  The type of the cluster instance volume. Changing this creates a new cluster.\n"},"walDiskAutoexpand":{"$ref":"#/types/vkcs:index%2FDbClusterWalDiskAutoexpand:DbClusterWalDiskAutoexpand","description":"optional \u0026rarr;  Object that represents autoresize properties of wal volume of the cluster.\n"},"walVolumes":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FDbClusterWalVolume:DbClusterWalVolume"},"description":"optional \u0026rarr;  Object that represents wal volume of the cluster. Changing this creates a new cluster.\n"}},"requiredInputs":["clusterSize","datastore","flavorId","volumeSize","volumeType"],"stateInputs":{"description":"Input properties used for looking up and filtering DbCluster resources.\n","properties":{"availabilityZone":{"type":"string","description":"optional *string* \u0026rarr;  The name of the availability zone of the cluster. Changing this creates a new cluster.\n"},"availabilityZones":{"type":"array","items":{"type":"string"},"description":"optional *string* \u0026rarr;  The names of availability zones for the cluster. Changing this creates a new cluster. _\u003cbr\u003e**Note:**_ Only available in multi-AZ configurations\u003cbr\u003e**New since v0.9.3**.\n"},"backupSchedule":{"$ref":"#/types/vkcs:index%2FDbClusterBackupSchedule:DbClusterBackupSchedule","description":"optional \u0026rarr;  Object that represents configuration of PITR backup. This functionality is available only for postgres datastore.\u003cbr\u003e**New since v0.1.4**.\n"},"capabilities":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FDbClusterCapability:DbClusterCapability"},"description":"optional \u0026rarr;  Object that represents capability applied to cluster. There can be several instances of this object.\n"},"cloudMonitoringEnabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Enable cloud monitoring for the cluster.\u003cbr\u003e**New since v0.2.0**.\n"},"clusterSize":{"type":"number","description":"**required** *number* \u0026rarr;  The number of instances in the cluster.\n"},"configurationId":{"type":"string","description":"optional *string* \u0026rarr;  The id of the configuration attached to cluster.\n"},"datastore":{"$ref":"#/types/vkcs:index%2FDbClusterDatastore:DbClusterDatastore","description":"**required** \u0026rarr;  Object that represents datastore of the cluster. Changing this creates a new cluster.\n"},"dbClusterId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"diskAutoexpand":{"$ref":"#/types/vkcs:index%2FDbClusterDiskAutoexpand:DbClusterDiskAutoexpand","description":"optional \u0026rarr;  Object that represents autoresize properties of the cluster.\n"},"flavorId":{"type":"string","description":"**required** *string* \u0026rarr;  The ID of flavor for the cluster.\n"},"floatingIpEnabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Indicates whether floating ip is created for cluster. Changing this creates a new cluster.\n"},"instances":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FDbClusterInstance:DbClusterInstance"},"description":"*object* \u0026rarr;  Cluster instances info.\n"},"keypair":{"type":"string","description":"optional *string* \u0026rarr;  Name of the keypair to be attached to cluster. Changing this creates a new cluster.\n"},"loadbalancerId":{"type":"string","description":"*string* \u0026rarr;  The id of the loadbalancer attached to the cluster.\u003cbr\u003e**New since v0.1.15**.\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  The name of the cluster. Changing this creates a new cluster.\n"},"networks":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FDbClusterNetwork:DbClusterNetwork"},"description":"optional \u0026rarr;  Object that represents network of the cluster. Changing this creates a new cluster.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  Region to create resource in.\n"},"restorePoint":{"$ref":"#/types/vkcs:index%2FDbClusterRestorePoint:DbClusterRestorePoint","description":"optional \u0026rarr;  Object that represents backup to restore cluster from.\u003cbr\u003e**New since v0.1.4**.\n"},"rootEnabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Indicates whether root user is enabled for the cluster.\n"},"rootPassword":{"type":"string","description":"optional sensitive *string* \u0026rarr;  Password for the root user of the cluster. When enabling root, password is autogenerated, use this field to obtain it.\n","secret":true},"shrinkOptions":{"type":"array","items":{"type":"string"},"description":"optional *string* \u0026rarr;  Used only for shrinking cluster. List of IDs of instances that should remain after shrink. If no options are supplied, shrink operation will choose first non-leader instance to delete.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FDbClusterTimeouts:DbClusterTimeouts"},"vendorOptions":{"$ref":"#/types/vkcs:index%2FDbClusterVendorOptions:DbClusterVendorOptions","description":"optional \u0026rarr;  Map of additional vendor-specific options. Supported options are described below.\u003cbr\u003e**New since v0.4.0**.\n"},"volumeSize":{"type":"number","description":"**required** *number* \u0026rarr;  Size of the cluster instance volume.\n"},"volumeType":{"type":"string","description":"**required** *string* \u0026rarr;  The type of the cluster instance volume. Changing this creates a new cluster.\n"},"vrrpPortId":{"type":"string","description":"*string* \u0026rarr;  The id of the VRRP port attached to the cluster. _\u003cbr\u003e**Note:**_ Only available in multi-AZ configurations.\u003cbr\u003e**New since v0.9.3**.\n"},"walDiskAutoexpand":{"$ref":"#/types/vkcs:index%2FDbClusterWalDiskAutoexpand:DbClusterWalDiskAutoexpand","description":"optional \u0026rarr;  Object that represents autoresize properties of wal volume of the cluster.\n"},"walVolumes":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FDbClusterWalVolume:DbClusterWalVolume"},"description":"optional \u0026rarr;  Object that represents wal volume of the cluster. Changing this creates a new cluster.\n"}},"type":"object"}},"vkcs:index/dbClusterWithShards:DbClusterWithShards":{"description":"Provides a db cluster with shards resource. This can be used to create, modify and delete db cluster with shards for clickhouse datastore.\n\n## Example Usage\n\n### Cluster with shards restored from backup\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nresources:\n  dbClusterWithShards:\n    type: vkcs:DbClusterWithShards\n    name: db_cluster_with_shards\n    properties:\n      name: db-cluster-with-shards\n      datastore:\n        type: clickhouse\n        version: '24.3'\n      shards:\n        - size: 2\n          shardId: shard0\n          flavorId: 9e931469-1490-489e-88af-29a289681c53\n          volumeSize: 10\n          volumeType: ceph-ssd\n          networks:\n            - uuid: 3ee9b184-3311-4d85-840b-7a9c48e7beac\n        - size: 2\n          shardId: shard1\n          flavorId: 9e931469-1490-489e-88af-29a289681c53\n          volumeSize: 10\n          volumeType: ceph-ssd\n          networks:\n            - uuid: 3ee9b184-3311-4d85-840b-7a9c48e7beac\n          restorePoint:\n            - backupId: 7c8110f3-6f7f-4dc3-85c2-16feef9ddc2b\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nClusters can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import vkcs:index/dbClusterWithShards:DbClusterWithShards mycluster 708a74a1-6b00-4a96-938c-28a8a6d98590\n```\n\nAfter the import you can use terraform show to view imported fields and write their values to your .tf file.\n\nYou should at least add following fields to your .tf file:\n\n`name, datastore`, and for each shard add: `shard_id, size, flavor_id, volume_size, volume_type`\n\nPlease, use `\"IMPORTED\"` as value for `volume_type` field.\n\n","properties":{"capabilities":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FDbClusterWithShardsCapability:DbClusterWithShardsCapability"},"description":"optional \u0026rarr;  Object that represents capability applied to cluster. There can be several instances of this object.\n"},"cloudMonitoringEnabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Enable cloud monitoring for the cluster.\u003cbr\u003e**New since v0.2.0**.\n"},"configurationId":{"type":"string","description":"optional *string* \u0026rarr;  The id of the configuration attached to cluster.\n"},"datastore":{"$ref":"#/types/vkcs:index%2FDbClusterWithShardsDatastore:DbClusterWithShardsDatastore","description":"**required** \u0026rarr;  Object that represents datastore of the cluster. Changing this creates a new cluster.\n"},"dbClusterWithShardsId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"diskAutoexpand":{"$ref":"#/types/vkcs:index%2FDbClusterWithShardsDiskAutoexpand:DbClusterWithShardsDiskAutoexpand","description":"optional \u0026rarr;  Object that represents autoresize properties of the cluster.\n"},"floatingIpEnabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Boolean field that indicates whether floating ip is created for cluster. Changing this creates a new cluster.\n"},"keypair":{"type":"string","description":"optional *string* \u0026rarr;  Name of the keypair to be attached to cluster. Changing this creates a new cluster.\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  The name of the cluster. Changing this creates a new cluster.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  Region to create resource in.\n"},"restorePoint":{"$ref":"#/types/vkcs:index%2FDbClusterWithShardsRestorePoint:DbClusterWithShardsRestorePoint","description":"optional \u0026rarr;  Object that represents backup to restore instance from.\u003cbr\u003e**New since v0.1.4**.\n"},"rootEnabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Indicates whether root user is enabled for the cluster.\n"},"rootPassword":{"type":"string","description":"optional sensitive *string* \u0026rarr;  Password for the root user of the cluster. When enabling root, password is autogenerated, use this field to obtain it.\n","secret":true},"shards":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FDbClusterWithShardsShard:DbClusterWithShardsShard"},"description":"**required** \u0026rarr;  Object that represents cluster shard. There can be several instances of this object.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FDbClusterWithShardsTimeouts:DbClusterWithShardsTimeouts"},"vendorOptions":{"$ref":"#/types/vkcs:index%2FDbClusterWithShardsVendorOptions:DbClusterWithShardsVendorOptions","description":"optional \u0026rarr;  Map of additional vendor-specific options. Supported options are described below.\u003cbr\u003e**New since v0.4.0**.\n"},"walDiskAutoexpand":{"$ref":"#/types/vkcs:index%2FDbClusterWithShardsWalDiskAutoexpand:DbClusterWithShardsWalDiskAutoexpand","description":"optional \u0026rarr;  Object that represents autoresize properties of wal volume of the cluster.\n"}},"type":"object","required":["datastore","dbClusterWithShardsId","name","region","rootPassword","shards"],"inputProperties":{"capabilities":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FDbClusterWithShardsCapability:DbClusterWithShardsCapability"},"description":"optional \u0026rarr;  Object that represents capability applied to cluster. There can be several instances of this object.\n"},"cloudMonitoringEnabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Enable cloud monitoring for the cluster.\u003cbr\u003e**New since v0.2.0**.\n"},"configurationId":{"type":"string","description":"optional *string* \u0026rarr;  The id of the configuration attached to cluster.\n"},"datastore":{"$ref":"#/types/vkcs:index%2FDbClusterWithShardsDatastore:DbClusterWithShardsDatastore","description":"**required** \u0026rarr;  Object that represents datastore of the cluster. Changing this creates a new cluster.\n"},"dbClusterWithShardsId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"diskAutoexpand":{"$ref":"#/types/vkcs:index%2FDbClusterWithShardsDiskAutoexpand:DbClusterWithShardsDiskAutoexpand","description":"optional \u0026rarr;  Object that represents autoresize properties of the cluster.\n"},"floatingIpEnabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Boolean field that indicates whether floating ip is created for cluster. Changing this creates a new cluster.\n"},"keypair":{"type":"string","description":"optional *string* \u0026rarr;  Name of the keypair to be attached to cluster. Changing this creates a new cluster.\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  The name of the cluster. Changing this creates a new cluster.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  Region to create resource in.\n"},"restorePoint":{"$ref":"#/types/vkcs:index%2FDbClusterWithShardsRestorePoint:DbClusterWithShardsRestorePoint","description":"optional \u0026rarr;  Object that represents backup to restore instance from.\u003cbr\u003e**New since v0.1.4**.\n"},"rootEnabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Indicates whether root user is enabled for the cluster.\n"},"rootPassword":{"type":"string","description":"optional sensitive *string* \u0026rarr;  Password for the root user of the cluster. When enabling root, password is autogenerated, use this field to obtain it.\n","secret":true},"shards":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FDbClusterWithShardsShard:DbClusterWithShardsShard"},"description":"**required** \u0026rarr;  Object that represents cluster shard. There can be several instances of this object.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FDbClusterWithShardsTimeouts:DbClusterWithShardsTimeouts"},"vendorOptions":{"$ref":"#/types/vkcs:index%2FDbClusterWithShardsVendorOptions:DbClusterWithShardsVendorOptions","description":"optional \u0026rarr;  Map of additional vendor-specific options. Supported options are described below.\u003cbr\u003e**New since v0.4.0**.\n"},"walDiskAutoexpand":{"$ref":"#/types/vkcs:index%2FDbClusterWithShardsWalDiskAutoexpand:DbClusterWithShardsWalDiskAutoexpand","description":"optional \u0026rarr;  Object that represents autoresize properties of wal volume of the cluster.\n"}},"requiredInputs":["datastore","shards"],"stateInputs":{"description":"Input properties used for looking up and filtering DbClusterWithShards resources.\n","properties":{"capabilities":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FDbClusterWithShardsCapability:DbClusterWithShardsCapability"},"description":"optional \u0026rarr;  Object that represents capability applied to cluster. There can be several instances of this object.\n"},"cloudMonitoringEnabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Enable cloud monitoring for the cluster.\u003cbr\u003e**New since v0.2.0**.\n"},"configurationId":{"type":"string","description":"optional *string* \u0026rarr;  The id of the configuration attached to cluster.\n"},"datastore":{"$ref":"#/types/vkcs:index%2FDbClusterWithShardsDatastore:DbClusterWithShardsDatastore","description":"**required** \u0026rarr;  Object that represents datastore of the cluster. Changing this creates a new cluster.\n"},"dbClusterWithShardsId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"diskAutoexpand":{"$ref":"#/types/vkcs:index%2FDbClusterWithShardsDiskAutoexpand:DbClusterWithShardsDiskAutoexpand","description":"optional \u0026rarr;  Object that represents autoresize properties of the cluster.\n"},"floatingIpEnabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Boolean field that indicates whether floating ip is created for cluster. Changing this creates a new cluster.\n"},"keypair":{"type":"string","description":"optional *string* \u0026rarr;  Name of the keypair to be attached to cluster. Changing this creates a new cluster.\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  The name of the cluster. Changing this creates a new cluster.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  Region to create resource in.\n"},"restorePoint":{"$ref":"#/types/vkcs:index%2FDbClusterWithShardsRestorePoint:DbClusterWithShardsRestorePoint","description":"optional \u0026rarr;  Object that represents backup to restore instance from.\u003cbr\u003e**New since v0.1.4**.\n"},"rootEnabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Indicates whether root user is enabled for the cluster.\n"},"rootPassword":{"type":"string","description":"optional sensitive *string* \u0026rarr;  Password for the root user of the cluster. When enabling root, password is autogenerated, use this field to obtain it.\n","secret":true},"shards":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FDbClusterWithShardsShard:DbClusterWithShardsShard"},"description":"**required** \u0026rarr;  Object that represents cluster shard. There can be several instances of this object.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FDbClusterWithShardsTimeouts:DbClusterWithShardsTimeouts"},"vendorOptions":{"$ref":"#/types/vkcs:index%2FDbClusterWithShardsVendorOptions:DbClusterWithShardsVendorOptions","description":"optional \u0026rarr;  Map of additional vendor-specific options. Supported options are described below.\u003cbr\u003e**New since v0.4.0**.\n"},"walDiskAutoexpand":{"$ref":"#/types/vkcs:index%2FDbClusterWithShardsWalDiskAutoexpand:DbClusterWithShardsWalDiskAutoexpand","description":"optional \u0026rarr;  Object that represents autoresize properties of wal volume of the cluster.\n"}},"type":"object"}},"vkcs:index/dbConfigGroup:DbConfigGroup":{"description":"Provides a db config group resource. This can be used to create, update and delete db config group.\n\n**New since v0.1.7**.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst mysql80 = new vkcs.DbConfigGroup(\"mysql_80\", {\n    name: \"db-config-group\",\n    datastore: {\n        type: \"mysql\",\n        version: \"8.0\",\n    },\n    values: {\n        activate_all_roles_on_login: \"true\",\n        autocommit: \"1\",\n        block_encryption_mode: \"test\",\n        innodb_segment_reserve_factor: \"0.53\",\n    },\n    description: \"db-config-group-description\",\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\nmysql80 = vkcs.DbConfigGroup(\"mysql_80\",\n    name=\"db-config-group\",\n    datastore={\n        \"type\": \"mysql\",\n        \"version\": \"8.0\",\n    },\n    values={\n        \"activate_all_roles_on_login\": \"true\",\n        \"autocommit\": \"1\",\n        \"block_encryption_mode\": \"test\",\n        \"innodb_segment_reserve_factor\": \"0.53\",\n    },\n    description=\"db-config-group-description\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var mysql80 = new Vkcs.DbConfigGroup(\"mysql_80\", new()\n    {\n        Name = \"db-config-group\",\n        Datastore = new Vkcs.Inputs.DbConfigGroupDatastoreArgs\n        {\n            Type = \"mysql\",\n            Version = \"8.0\",\n        },\n        Values = \n        {\n            { \"activate_all_roles_on_login\", \"true\" },\n            { \"autocommit\", \"1\" },\n            { \"block_encryption_mode\", \"test\" },\n            { \"innodb_segment_reserve_factor\", \"0.53\" },\n        },\n        Description = \"db-config-group-description\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewDbConfigGroup(ctx, \"mysql_80\", \u0026vkcs.DbConfigGroupArgs{\n\t\t\tName: pulumi.String(\"db-config-group\"),\n\t\t\tDatastore: \u0026vkcs.DbConfigGroupDatastoreArgs{\n\t\t\t\tType:    pulumi.String(\"mysql\"),\n\t\t\t\tVersion: pulumi.String(\"8.0\"),\n\t\t\t},\n\t\t\tValues: pulumi.StringMap{\n\t\t\t\t\"activate_all_roles_on_login\":   pulumi.String(\"true\"),\n\t\t\t\t\"autocommit\":                    pulumi.String(\"1\"),\n\t\t\t\t\"block_encryption_mode\":         pulumi.String(\"test\"),\n\t\t\t\t\"innodb_segment_reserve_factor\": pulumi.String(\"0.53\"),\n\t\t\t},\n\t\t\tDescription: pulumi.String(\"db-config-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.vkcs.DbConfigGroup;\nimport com.pulumi.vkcs.DbConfigGroupArgs;\nimport com.pulumi.vkcs.inputs.DbConfigGroupDatastoreArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 mysql80 = new DbConfigGroup(\"mysql80\", DbConfigGroupArgs.builder()\n            .name(\"db-config-group\")\n            .datastore(DbConfigGroupDatastoreArgs.builder()\n                .type(\"mysql\")\n                .version(\"8.0\")\n                .build())\n            .values(Map.ofEntries(\n                Map.entry(\"activate_all_roles_on_login\", \"true\"),\n                Map.entry(\"autocommit\", \"1\"),\n                Map.entry(\"block_encryption_mode\", \"test\"),\n                Map.entry(\"innodb_segment_reserve_factor\", \"0.53\")\n            ))\n            .description(\"db-config-group-description\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  mysql80:\n    type: vkcs:DbConfigGroup\n    name: mysql_80\n    properties:\n      name: db-config-group\n      datastore:\n        type: mysql\n        version: '8.0'\n      values:\n        activate_all_roles_on_login: 'true'\n        autocommit: '1'\n        block_encryption_mode: test\n        innodb_segment_reserve_factor: '0.53'\n      description: db-config-group-description\n```\n\u003c!--End PulumiCodeChooser --\u003e\n## Updating config group\n\nWhile it is possible to create/delete config groups that are not attached to any instance or cluster, in order to update config group, it must be attached.\n\n## Import\n\nConfig groups can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import vkcs:index/dbConfigGroup:DbConfigGroup myconfiggroup d3d6f037-84f6-44f7-a9f4-ac4b40d67859\n```\n\nAfter the import you can use terraform show to view imported fields and write their values to your .tf file.\n\n","properties":{"created":{"type":"string","description":"*string* \u0026rarr;  Timestamp of config group's creation\n"},"datastore":{"$ref":"#/types/vkcs:index%2FDbConfigGroupDatastore:DbConfigGroupDatastore","description":"**required** \u0026rarr;  Object that represents datastore of the config group. Changing this creates a new config group.\n"},"dbConfigGroupId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  The description of the config group.\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  The name of the config group.\n"},"updated":{"type":"string","description":"*string* \u0026rarr;  Timestamp of config group's last update\n"},"values":{"type":"object","additionalProperties":{"type":"string"},"description":"**required** *map of* *string* \u0026rarr;  Map of configuration parameters in format \"key\": \"value\".\n"}},"type":"object","required":["created","datastore","dbConfigGroupId","name","updated","values"],"inputProperties":{"datastore":{"$ref":"#/types/vkcs:index%2FDbConfigGroupDatastore:DbConfigGroupDatastore","description":"**required** \u0026rarr;  Object that represents datastore of the config group. Changing this creates a new config group.\n"},"dbConfigGroupId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  The description of the config group.\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  The name of the config group.\n"},"values":{"type":"object","additionalProperties":{"type":"string"},"description":"**required** *map of* *string* \u0026rarr;  Map of configuration parameters in format \"key\": \"value\".\n"}},"requiredInputs":["datastore","values"],"stateInputs":{"description":"Input properties used for looking up and filtering DbConfigGroup resources.\n","properties":{"created":{"type":"string","description":"*string* \u0026rarr;  Timestamp of config group's creation\n"},"datastore":{"$ref":"#/types/vkcs:index%2FDbConfigGroupDatastore:DbConfigGroupDatastore","description":"**required** \u0026rarr;  Object that represents datastore of the config group. Changing this creates a new config group.\n"},"dbConfigGroupId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  The description of the config group.\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  The name of the config group.\n"},"updated":{"type":"string","description":"*string* \u0026rarr;  Timestamp of config group's last update\n"},"values":{"type":"object","additionalProperties":{"type":"string"},"description":"**required** *map of* *string* \u0026rarr;  Map of configuration parameters in format \"key\": \"value\".\n"}},"type":"object"}},"vkcs:index/dbDatabase:DbDatabase":{"description":"Provides a db database resource. This can be used to create, modify and delete db databases.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst mysqlDb = new vkcs.DbDatabase(\"mysql_db\", {\n    name: \"testdb\",\n    dbmsId: mysql.id,\n    charset: \"utf8\",\n    collate: \"utf8_general_ci\",\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\nmysql_db = vkcs.DbDatabase(\"mysql_db\",\n    name=\"testdb\",\n    dbms_id=mysql[\"id\"],\n    charset=\"utf8\",\n    collate=\"utf8_general_ci\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var mysqlDb = new Vkcs.DbDatabase(\"mysql_db\", new()\n    {\n        Name = \"testdb\",\n        DbmsId = mysql.Id,\n        Charset = \"utf8\",\n        Collate = \"utf8_general_ci\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewDbDatabase(ctx, \"mysql_db\", \u0026vkcs.DbDatabaseArgs{\n\t\t\tName:    pulumi.String(\"testdb\"),\n\t\t\tDbmsId:  pulumi.Any(mysql.Id),\n\t\t\tCharset: pulumi.String(\"utf8\"),\n\t\t\tCollate: pulumi.String(\"utf8_general_ci\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.vkcs.DbDatabase;\nimport com.pulumi.vkcs.DbDatabaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 mysqlDb = new DbDatabase(\"mysqlDb\", DbDatabaseArgs.builder()\n            .name(\"testdb\")\n            .dbmsId(mysql.id())\n            .charset(\"utf8\")\n            .collate(\"utf8_general_ci\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  mysqlDb:\n    type: vkcs:DbDatabase\n    name: mysql_db\n    properties:\n      name: testdb\n      dbmsId: ${mysql.id}\n      charset: utf8\n      collate: utf8_general_ci\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDatabases can be imported using the `dbms_id/name`\n\n```sh\n$ pulumi import vkcs:index/dbDatabase:DbDatabase mydb 67691f3e-a4d1-443e-b1e9-717f505cc458/mydbname\n```\n\nAfter the import you can use terraform show to view imported fields and write their values to your .tf file.\n\nYou should at least add following fields to your .tf file:\n\n`name, dbms_id`\n\n","properties":{"charset":{"type":"string","description":"optional *string* \u0026rarr;  Type of charset used for the database. Changing this creates a new database.\n"},"collate":{"type":"string","description":"optional *string* \u0026rarr;  Collate option of the database.  Changing this creates a new database.\n"},"dbDatabaseId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"dbmsId":{"type":"string","description":"**required** *string* \u0026rarr;  ID of the instance or cluster that database is created for.\n"},"dbmsType":{"type":"string","description":"*string* \u0026rarr;  Type of dbms for the database, can be \"instance\" or \"cluster\".\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  The name of the database. Changing this creates a new database.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FDbDatabaseTimeouts:DbDatabaseTimeouts"},"vendorOptions":{"$ref":"#/types/vkcs:index%2FDbDatabaseVendorOptions:DbDatabaseVendorOptions","description":"optional \u0026rarr;  \u003cbr\u003e**New since v0.5.5**.\n"}},"type":"object","required":["dbDatabaseId","dbmsId","dbmsType","name"],"inputProperties":{"charset":{"type":"string","description":"optional *string* \u0026rarr;  Type of charset used for the database. Changing this creates a new database.\n"},"collate":{"type":"string","description":"optional *string* \u0026rarr;  Collate option of the database.  Changing this creates a new database.\n"},"dbDatabaseId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"dbmsId":{"type":"string","description":"**required** *string* \u0026rarr;  ID of the instance or cluster that database is created for.\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  The name of the database. Changing this creates a new database.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FDbDatabaseTimeouts:DbDatabaseTimeouts"},"vendorOptions":{"$ref":"#/types/vkcs:index%2FDbDatabaseVendorOptions:DbDatabaseVendorOptions","description":"optional \u0026rarr;  \u003cbr\u003e**New since v0.5.5**.\n"}},"requiredInputs":["dbmsId"],"stateInputs":{"description":"Input properties used for looking up and filtering DbDatabase resources.\n","properties":{"charset":{"type":"string","description":"optional *string* \u0026rarr;  Type of charset used for the database. Changing this creates a new database.\n"},"collate":{"type":"string","description":"optional *string* \u0026rarr;  Collate option of the database.  Changing this creates a new database.\n"},"dbDatabaseId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"dbmsId":{"type":"string","description":"**required** *string* \u0026rarr;  ID of the instance or cluster that database is created for.\n"},"dbmsType":{"type":"string","description":"*string* \u0026rarr;  Type of dbms for the database, can be \"instance\" or \"cluster\".\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  The name of the database. Changing this creates a new database.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FDbDatabaseTimeouts:DbDatabaseTimeouts"},"vendorOptions":{"$ref":"#/types/vkcs:index%2FDbDatabaseVendorOptions:DbDatabaseVendorOptions","description":"optional \u0026rarr;  \u003cbr\u003e**New since v0.5.5**.\n"}},"type":"object"}},"vkcs:index/dbInstance:DbInstance":{"description":"Provides a db instance resource. This can be used to create, modify and delete db instance.\n\n## Example Usage\n\n### Basic instance\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst mysql = new vkcs.DbInstance(\"mysql\", {\n    name: \"basic-tf-example\",\n    availabilityZone: \"GZ1\",\n    flavorId: basic.id,\n    datastore: {\n        type: \"mysql\",\n        version: \"8.0\",\n    },\n    networks: [{\n        uuid: dbVkcsNetworkingNetwork.id,\n        securityGroups: [admin.id],\n    }],\n    size: 8,\n    volumeType: \"ceph-ssd\",\n    diskAutoexpand: {\n        autoexpand: true,\n        maxDiskSize: 1000,\n    },\n    configurationId: mysql80.id,\n    capabilities: [{\n        name: \"node_exporter\",\n        settings: {\n            listen_port: \"9100\",\n        },\n    }],\n    cloudMonitoringEnabled: true,\n}, {\n    dependsOn: [db],\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\nmysql = vkcs.DbInstance(\"mysql\",\n    name=\"basic-tf-example\",\n    availability_zone=\"GZ1\",\n    flavor_id=basic[\"id\"],\n    datastore={\n        \"type\": \"mysql\",\n        \"version\": \"8.0\",\n    },\n    networks=[{\n        \"uuid\": db_vkcs_networking_network[\"id\"],\n        \"security_groups\": [admin[\"id\"]],\n    }],\n    size=8,\n    volume_type=\"ceph-ssd\",\n    disk_autoexpand={\n        \"autoexpand\": True,\n        \"max_disk_size\": 1000,\n    },\n    configuration_id=mysql80[\"id\"],\n    capabilities=[{\n        \"name\": \"node_exporter\",\n        \"settings\": {\n            \"listen_port\": \"9100\",\n        },\n    }],\n    cloud_monitoring_enabled=True,\n    opts = pulumi.ResourceOptions(depends_on=[db]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var mysql = new Vkcs.DbInstance(\"mysql\", new()\n    {\n        Name = \"basic-tf-example\",\n        AvailabilityZone = \"GZ1\",\n        FlavorId = basic.Id,\n        Datastore = new Vkcs.Inputs.DbInstanceDatastoreArgs\n        {\n            Type = \"mysql\",\n            Version = \"8.0\",\n        },\n        Networks = new[]\n        {\n            new Vkcs.Inputs.DbInstanceNetworkArgs\n            {\n                Uuid = dbVkcsNetworkingNetwork.Id,\n                SecurityGroups = new[]\n                {\n                    admin.Id,\n                },\n            },\n        },\n        Size = 8,\n        VolumeType = \"ceph-ssd\",\n        DiskAutoexpand = new Vkcs.Inputs.DbInstanceDiskAutoexpandArgs\n        {\n            Autoexpand = true,\n            MaxDiskSize = 1000,\n        },\n        ConfigurationId = mysql80.Id,\n        Capabilities = new[]\n        {\n            new Vkcs.Inputs.DbInstanceCapabilityArgs\n            {\n                Name = \"node_exporter\",\n                Settings = \n                {\n                    { \"listen_port\", \"9100\" },\n                },\n            },\n        },\n        CloudMonitoringEnabled = true,\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            db,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewDbInstance(ctx, \"mysql\", \u0026vkcs.DbInstanceArgs{\n\t\t\tName:             pulumi.String(\"basic-tf-example\"),\n\t\t\tAvailabilityZone: pulumi.String(\"GZ1\"),\n\t\t\tFlavorId:         pulumi.Any(basic.Id),\n\t\t\tDatastore: \u0026vkcs.DbInstanceDatastoreArgs{\n\t\t\t\tType:    pulumi.String(\"mysql\"),\n\t\t\t\tVersion: pulumi.String(\"8.0\"),\n\t\t\t},\n\t\t\tNetworks: vkcs.DbInstanceNetworkArray{\n\t\t\t\t\u0026vkcs.DbInstanceNetworkArgs{\n\t\t\t\t\tUuid: pulumi.Any(dbVkcsNetworkingNetwork.Id),\n\t\t\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\t\t\tadmin.Id,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tSize:       pulumi.Float64(8),\n\t\t\tVolumeType: pulumi.String(\"ceph-ssd\"),\n\t\t\tDiskAutoexpand: \u0026vkcs.DbInstanceDiskAutoexpandArgs{\n\t\t\t\tAutoexpand:  pulumi.Bool(true),\n\t\t\t\tMaxDiskSize: pulumi.Float64(1000),\n\t\t\t},\n\t\t\tConfigurationId: pulumi.Any(mysql80.Id),\n\t\t\tCapabilities: vkcs.DbInstanceCapabilityArray{\n\t\t\t\t\u0026vkcs.DbInstanceCapabilityArgs{\n\t\t\t\t\tName: pulumi.String(\"node_exporter\"),\n\t\t\t\t\tSettings: pulumi.StringMap{\n\t\t\t\t\t\t\"listen_port\": pulumi.String(\"9100\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tCloudMonitoringEnabled: pulumi.Bool(true),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tdb,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.vkcs.DbInstance;\nimport com.pulumi.vkcs.DbInstanceArgs;\nimport com.pulumi.vkcs.inputs.DbInstanceDatastoreArgs;\nimport com.pulumi.vkcs.inputs.DbInstanceNetworkArgs;\nimport com.pulumi.vkcs.inputs.DbInstanceDiskAutoexpandArgs;\nimport com.pulumi.vkcs.inputs.DbInstanceCapabilityArgs;\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 mysql = new DbInstance(\"mysql\", DbInstanceArgs.builder()\n            .name(\"basic-tf-example\")\n            .availabilityZone(\"GZ1\")\n            .flavorId(basic.id())\n            .datastore(DbInstanceDatastoreArgs.builder()\n                .type(\"mysql\")\n                .version(\"8.0\")\n                .build())\n            .networks(DbInstanceNetworkArgs.builder()\n                .uuid(dbVkcsNetworkingNetwork.id())\n                .securityGroups(admin.id())\n                .build())\n            .size(8.0)\n            .volumeType(\"ceph-ssd\")\n            .diskAutoexpand(DbInstanceDiskAutoexpandArgs.builder()\n                .autoexpand(true)\n                .maxDiskSize(1000.0)\n                .build())\n            .configurationId(mysql80.id())\n            .capabilities(DbInstanceCapabilityArgs.builder()\n                .name(\"node_exporter\")\n                .settings(Map.of(\"listen_port\", \"9100\"))\n                .build())\n            .cloudMonitoringEnabled(true)\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(db)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  mysql:\n    type: vkcs:DbInstance\n    properties:\n      name: basic-tf-example\n      availabilityZone: GZ1\n      flavorId: ${basic.id}\n      datastore:\n        type: mysql\n        version: '8.0'\n      networks:\n        - uuid: ${dbVkcsNetworkingNetwork.id}\n          securityGroups:\n            - ${admin.id}\n      size: 8\n      volumeType: ceph-ssd\n      diskAutoexpand:\n        autoexpand: true\n        maxDiskSize: 1000\n      configurationId: ${mysql80.id}\n      capabilities:\n        - name: node_exporter\n          settings:\n            listen_port: '9100'\n      cloudMonitoringEnabled: true # If your configuration also defines a network for the db instance,\n      #   # ensure it is attached to a router before creating of the instance\n    options:\n      dependsOn:\n        - ${db}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Instance restored from backup\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst dbInstance = new vkcs.DbInstance(\"db_instance\", {\n    name: \"db-instance\",\n    datastore: {\n        type: \"postgresql\",\n        version: \"13\",\n    },\n    floatingIpEnabled: true,\n    flavorId: \"9e931469-1490-489e-88af-29a289681c53\",\n    availabilityZone: \"MS1\",\n    size: 8,\n    volumeType: \"MS1\",\n    diskAutoexpand: {\n        autoexpand: true,\n        maxDiskSize: 1000,\n    },\n    networks: [{\n        uuid: \"3ee9b184-3311-4d85-840b-7a9c48e7beac\",\n    }],\n    capabilities: [\n        {\n            name: \"node_exporter\",\n        },\n        {\n            name: \"postgres_extensions\",\n        },\n    ],\n    restorePoint: {\n        backupId: \"backup_id\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\ndb_instance = vkcs.DbInstance(\"db_instance\",\n    name=\"db-instance\",\n    datastore={\n        \"type\": \"postgresql\",\n        \"version\": \"13\",\n    },\n    floating_ip_enabled=True,\n    flavor_id=\"9e931469-1490-489e-88af-29a289681c53\",\n    availability_zone=\"MS1\",\n    size=8,\n    volume_type=\"MS1\",\n    disk_autoexpand={\n        \"autoexpand\": True,\n        \"max_disk_size\": 1000,\n    },\n    networks=[{\n        \"uuid\": \"3ee9b184-3311-4d85-840b-7a9c48e7beac\",\n    }],\n    capabilities=[\n        {\n            \"name\": \"node_exporter\",\n        },\n        {\n            \"name\": \"postgres_extensions\",\n        },\n    ],\n    restore_point={\n        \"backup_id\": \"backup_id\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var dbInstance = new Vkcs.DbInstance(\"db_instance\", new()\n    {\n        Name = \"db-instance\",\n        Datastore = new Vkcs.Inputs.DbInstanceDatastoreArgs\n        {\n            Type = \"postgresql\",\n            Version = \"13\",\n        },\n        FloatingIpEnabled = true,\n        FlavorId = \"9e931469-1490-489e-88af-29a289681c53\",\n        AvailabilityZone = \"MS1\",\n        Size = 8,\n        VolumeType = \"MS1\",\n        DiskAutoexpand = new Vkcs.Inputs.DbInstanceDiskAutoexpandArgs\n        {\n            Autoexpand = true,\n            MaxDiskSize = 1000,\n        },\n        Networks = new[]\n        {\n            new Vkcs.Inputs.DbInstanceNetworkArgs\n            {\n                Uuid = \"3ee9b184-3311-4d85-840b-7a9c48e7beac\",\n            },\n        },\n        Capabilities = new[]\n        {\n            new Vkcs.Inputs.DbInstanceCapabilityArgs\n            {\n                Name = \"node_exporter\",\n            },\n            new Vkcs.Inputs.DbInstanceCapabilityArgs\n            {\n                Name = \"postgres_extensions\",\n            },\n        },\n        RestorePoint = new Vkcs.Inputs.DbInstanceRestorePointArgs\n        {\n            BackupId = \"backup_id\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewDbInstance(ctx, \"db_instance\", \u0026vkcs.DbInstanceArgs{\n\t\t\tName: pulumi.String(\"db-instance\"),\n\t\t\tDatastore: \u0026vkcs.DbInstanceDatastoreArgs{\n\t\t\t\tType:    pulumi.String(\"postgresql\"),\n\t\t\t\tVersion: pulumi.String(\"13\"),\n\t\t\t},\n\t\t\tFloatingIpEnabled: pulumi.Bool(true),\n\t\t\tFlavorId:          pulumi.String(\"9e931469-1490-489e-88af-29a289681c53\"),\n\t\t\tAvailabilityZone:  pulumi.String(\"MS1\"),\n\t\t\tSize:              pulumi.Float64(8),\n\t\t\tVolumeType:        pulumi.String(\"MS1\"),\n\t\t\tDiskAutoexpand: \u0026vkcs.DbInstanceDiskAutoexpandArgs{\n\t\t\t\tAutoexpand:  pulumi.Bool(true),\n\t\t\t\tMaxDiskSize: pulumi.Float64(1000),\n\t\t\t},\n\t\t\tNetworks: vkcs.DbInstanceNetworkArray{\n\t\t\t\t\u0026vkcs.DbInstanceNetworkArgs{\n\t\t\t\t\tUuid: pulumi.String(\"3ee9b184-3311-4d85-840b-7a9c48e7beac\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tCapabilities: vkcs.DbInstanceCapabilityArray{\n\t\t\t\t\u0026vkcs.DbInstanceCapabilityArgs{\n\t\t\t\t\tName: pulumi.String(\"node_exporter\"),\n\t\t\t\t},\n\t\t\t\t\u0026vkcs.DbInstanceCapabilityArgs{\n\t\t\t\t\tName: pulumi.String(\"postgres_extensions\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRestorePoint: \u0026vkcs.DbInstanceRestorePointArgs{\n\t\t\t\tBackupId: pulumi.String(\"backup_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.vkcs.DbInstance;\nimport com.pulumi.vkcs.DbInstanceArgs;\nimport com.pulumi.vkcs.inputs.DbInstanceDatastoreArgs;\nimport com.pulumi.vkcs.inputs.DbInstanceDiskAutoexpandArgs;\nimport com.pulumi.vkcs.inputs.DbInstanceNetworkArgs;\nimport com.pulumi.vkcs.inputs.DbInstanceCapabilityArgs;\nimport com.pulumi.vkcs.inputs.DbInstanceRestorePointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 dbInstance = new DbInstance(\"dbInstance\", DbInstanceArgs.builder()\n            .name(\"db-instance\")\n            .datastore(DbInstanceDatastoreArgs.builder()\n                .type(\"postgresql\")\n                .version(\"13\")\n                .build())\n            .floatingIpEnabled(true)\n            .flavorId(\"9e931469-1490-489e-88af-29a289681c53\")\n            .availabilityZone(\"MS1\")\n            .size(8.0)\n            .volumeType(\"MS1\")\n            .diskAutoexpand(DbInstanceDiskAutoexpandArgs.builder()\n                .autoexpand(true)\n                .maxDiskSize(1000.0)\n                .build())\n            .networks(DbInstanceNetworkArgs.builder()\n                .uuid(\"3ee9b184-3311-4d85-840b-7a9c48e7beac\")\n                .build())\n            .capabilities(            \n                DbInstanceCapabilityArgs.builder()\n                    .name(\"node_exporter\")\n                    .build(),\n                DbInstanceCapabilityArgs.builder()\n                    .name(\"postgres_extensions\")\n                    .build())\n            .restorePoint(DbInstanceRestorePointArgs.builder()\n                .backupId(\"backup_id\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  dbInstance:\n    type: vkcs:DbInstance\n    name: db_instance\n    properties:\n      name: db-instance\n      datastore:\n        type: postgresql\n        version: '13'\n      floatingIpEnabled: true\n      flavorId: 9e931469-1490-489e-88af-29a289681c53\n      availabilityZone: MS1\n      size: 8\n      volumeType: MS1\n      diskAutoexpand:\n        autoexpand: true\n        maxDiskSize: 1000\n      networks:\n        - uuid: 3ee9b184-3311-4d85-840b-7a9c48e7beac\n      capabilities:\n        - name: node_exporter\n        - name: postgres_extensions\n      restorePoint:\n        backupId: backup_id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Postgresql instance with scheduled PITR backup\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst pgWithBackup = new vkcs.DbInstance(\"pg_with_backup\", {\n    name: \"pg-with-backup-tf-example\",\n    availabilityZone: \"GZ1\",\n    flavorId: basic.id,\n    datastore: {\n        type: \"postgresql\",\n        version: \"16\",\n    },\n    networks: [{\n        uuid: dbVkcsNetworkingNetwork.id,\n    }],\n    size: 8,\n    volumeType: \"ceph-ssd\",\n    diskAutoexpand: {\n        autoexpand: true,\n        maxDiskSize: 1000,\n    },\n    backupSchedule: {\n        name: \"three_hours_backup_tf_example\",\n        startHours: 16,\n        startMinutes: 20,\n        intervalHours: 3,\n        keepCount: 3,\n    },\n}, {\n    dependsOn: [db],\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\npg_with_backup = vkcs.DbInstance(\"pg_with_backup\",\n    name=\"pg-with-backup-tf-example\",\n    availability_zone=\"GZ1\",\n    flavor_id=basic[\"id\"],\n    datastore={\n        \"type\": \"postgresql\",\n        \"version\": \"16\",\n    },\n    networks=[{\n        \"uuid\": db_vkcs_networking_network[\"id\"],\n    }],\n    size=8,\n    volume_type=\"ceph-ssd\",\n    disk_autoexpand={\n        \"autoexpand\": True,\n        \"max_disk_size\": 1000,\n    },\n    backup_schedule={\n        \"name\": \"three_hours_backup_tf_example\",\n        \"start_hours\": 16,\n        \"start_minutes\": 20,\n        \"interval_hours\": 3,\n        \"keep_count\": 3,\n    },\n    opts = pulumi.ResourceOptions(depends_on=[db]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var pgWithBackup = new Vkcs.DbInstance(\"pg_with_backup\", new()\n    {\n        Name = \"pg-with-backup-tf-example\",\n        AvailabilityZone = \"GZ1\",\n        FlavorId = basic.Id,\n        Datastore = new Vkcs.Inputs.DbInstanceDatastoreArgs\n        {\n            Type = \"postgresql\",\n            Version = \"16\",\n        },\n        Networks = new[]\n        {\n            new Vkcs.Inputs.DbInstanceNetworkArgs\n            {\n                Uuid = dbVkcsNetworkingNetwork.Id,\n            },\n        },\n        Size = 8,\n        VolumeType = \"ceph-ssd\",\n        DiskAutoexpand = new Vkcs.Inputs.DbInstanceDiskAutoexpandArgs\n        {\n            Autoexpand = true,\n            MaxDiskSize = 1000,\n        },\n        BackupSchedule = new Vkcs.Inputs.DbInstanceBackupScheduleArgs\n        {\n            Name = \"three_hours_backup_tf_example\",\n            StartHours = 16,\n            StartMinutes = 20,\n            IntervalHours = 3,\n            KeepCount = 3,\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            db,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewDbInstance(ctx, \"pg_with_backup\", \u0026vkcs.DbInstanceArgs{\n\t\t\tName:             pulumi.String(\"pg-with-backup-tf-example\"),\n\t\t\tAvailabilityZone: pulumi.String(\"GZ1\"),\n\t\t\tFlavorId:         pulumi.Any(basic.Id),\n\t\t\tDatastore: \u0026vkcs.DbInstanceDatastoreArgs{\n\t\t\t\tType:    pulumi.String(\"postgresql\"),\n\t\t\t\tVersion: pulumi.String(\"16\"),\n\t\t\t},\n\t\t\tNetworks: vkcs.DbInstanceNetworkArray{\n\t\t\t\t\u0026vkcs.DbInstanceNetworkArgs{\n\t\t\t\t\tUuid: pulumi.Any(dbVkcsNetworkingNetwork.Id),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSize:       pulumi.Float64(8),\n\t\t\tVolumeType: pulumi.String(\"ceph-ssd\"),\n\t\t\tDiskAutoexpand: \u0026vkcs.DbInstanceDiskAutoexpandArgs{\n\t\t\t\tAutoexpand:  pulumi.Bool(true),\n\t\t\t\tMaxDiskSize: pulumi.Float64(1000),\n\t\t\t},\n\t\t\tBackupSchedule: \u0026vkcs.DbInstanceBackupScheduleArgs{\n\t\t\t\tName:          pulumi.String(\"three_hours_backup_tf_example\"),\n\t\t\t\tStartHours:    pulumi.Float64(16),\n\t\t\t\tStartMinutes:  pulumi.Float64(20),\n\t\t\t\tIntervalHours: pulumi.Float64(3),\n\t\t\t\tKeepCount:     pulumi.Float64(3),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tdb,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.vkcs.DbInstance;\nimport com.pulumi.vkcs.DbInstanceArgs;\nimport com.pulumi.vkcs.inputs.DbInstanceDatastoreArgs;\nimport com.pulumi.vkcs.inputs.DbInstanceNetworkArgs;\nimport com.pulumi.vkcs.inputs.DbInstanceDiskAutoexpandArgs;\nimport com.pulumi.vkcs.inputs.DbInstanceBackupScheduleArgs;\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 pgWithBackup = new DbInstance(\"pgWithBackup\", DbInstanceArgs.builder()\n            .name(\"pg-with-backup-tf-example\")\n            .availabilityZone(\"GZ1\")\n            .flavorId(basic.id())\n            .datastore(DbInstanceDatastoreArgs.builder()\n                .type(\"postgresql\")\n                .version(\"16\")\n                .build())\n            .networks(DbInstanceNetworkArgs.builder()\n                .uuid(dbVkcsNetworkingNetwork.id())\n                .build())\n            .size(8.0)\n            .volumeType(\"ceph-ssd\")\n            .diskAutoexpand(DbInstanceDiskAutoexpandArgs.builder()\n                .autoexpand(true)\n                .maxDiskSize(1000.0)\n                .build())\n            .backupSchedule(DbInstanceBackupScheduleArgs.builder()\n                .name(\"three_hours_backup_tf_example\")\n                .startHours(16.0)\n                .startMinutes(20.0)\n                .intervalHours(3.0)\n                .keepCount(3.0)\n                .build())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(db)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  pgWithBackup:\n    type: vkcs:DbInstance\n    name: pg_with_backup\n    properties:\n      name: pg-with-backup-tf-example\n      availabilityZone: GZ1\n      flavorId: ${basic.id}\n      datastore:\n        type: postgresql\n        version: '16'\n      networks:\n        - uuid: ${dbVkcsNetworkingNetwork.id}\n      size: 8\n      volumeType: ceph-ssd\n      diskAutoexpand:\n        autoexpand: true\n        maxDiskSize: 1000\n      backupSchedule:\n        name: three_hours_backup_tf_example\n        startHours: 16\n        startMinutes: 20\n        intervalHours: 3\n        keepCount: 3\n    options:\n      dependsOn:\n        - ${db}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nInstances can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import vkcs:index/dbInstance:DbInstance myinstance 708a74a1-6b00-4a96-938c-28a8a6d98590\n```\n\nAfter the import you can use terraform show to view imported fields and write their values to your .tf file.\n\nYou should at least add following fields to your .tf file:\n\n`name, flavor_id, size, volume_type, datastore`\n\nPlease, use `\"IMPORTED\"` as value for `volume_type` field.\n\n","properties":{"availabilityZone":{"type":"string","description":"optional *string* \u0026rarr;  The name of the availability zone of the instance. Changing this creates a new instance.\n"},"backupSchedule":{"$ref":"#/types/vkcs:index%2FDbInstanceBackupSchedule:DbInstanceBackupSchedule","description":"optional \u0026rarr;  Object that represents configuration of PITR backup. This functionality is available only for postgres datastore.\u003cbr\u003e**New since v0.1.4**.\n"},"capabilities":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FDbInstanceCapability:DbInstanceCapability"},"description":"optional \u0026rarr;  Object that represents capability applied to instance. There can be several instances of this object (see example).\n"},"cloudMonitoringEnabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Enable cloud monitoring for the instance. Changing this for Redis creates a new instance.\u003cbr\u003e**New since v0.2.0**.\n"},"configurationId":{"type":"string","description":"optional *string* \u0026rarr;  The id of the configuration attached to instance.\n"},"datastore":{"$ref":"#/types/vkcs:index%2FDbInstanceDatastore:DbInstanceDatastore","description":"**required** \u0026rarr;  Object that represents datastore of the instance. Changing this creates a new instance.\n"},"dbInstanceId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"diskAutoexpand":{"$ref":"#/types/vkcs:index%2FDbInstanceDiskAutoexpand:DbInstanceDiskAutoexpand","description":"optional \u0026rarr;  Object that represents autoresize properties of the instance.\n"},"flavorId":{"type":"string","description":"**required** *string* \u0026rarr;  The ID of flavor for the instance.\n"},"floatingIpEnabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Indicates whether floating ip is created for instance. Changing this creates a new instance.\n"},"ips":{"type":"array","items":{"type":"string"},"description":"*string* \u0026rarr;  IP address of the instance.\n"},"keypair":{"type":"string","description":"optional *string* \u0026rarr;  Name of the keypair to be attached to instance. Changing this creates a new instance.\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  The name of the instance. Changing this creates a new instance\n"},"networks":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FDbInstanceNetwork:DbInstanceNetwork"},"description":"optional \u0026rarr;  Object that represents network of the instance. Changing this creates a new instance.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  Region to create resource in.\n"},"replicaOf":{"type":"string","description":"optional *string* \u0026rarr;  ID of the instance, that current instance is replica of. Instance's datastore must be one of: \u003cspan pulumi-lang-nodejs=\"`postgresproEnterprise`\" pulumi-lang-dotnet=\"`PostgresproEnterprise`\" pulumi-lang-go=\"`postgresproEnterprise`\" pulumi-lang-python=\"`postgrespro_enterprise`\" pulumi-lang-yaml=\"`postgresproEnterprise`\" pulumi-lang-java=\"`postgresproEnterprise`\"\u003e`postgrespro_enterprise`\u003c/span\u003e, \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, \u003cspan pulumi-lang-nodejs=\"`postgresproEnterprise1c`\" pulumi-lang-dotnet=\"`PostgresproEnterprise1c`\" pulumi-lang-go=\"`postgresproEnterprise1c`\" pulumi-lang-python=\"`postgrespro_enterprise_1c`\" pulumi-lang-yaml=\"`postgresproEnterprise1c`\" pulumi-lang-java=\"`postgresproEnterprise1c`\"\u003e`postgrespro_enterprise_1c`\u003c/span\u003e\n"},"restorePoint":{"$ref":"#/types/vkcs:index%2FDbInstanceRestorePoint:DbInstanceRestorePoint","description":"optional \u0026rarr;  Object that represents backup to restore instance from.\u003cbr\u003e**New since v0.1.4**.\n"},"rootEnabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Indicates whether root user is enabled for the instance.\n"},"rootPassword":{"type":"string","description":"optional sensitive *string* \u0026rarr;  Password for the root user of the instance. If this field is empty and root user is enabled, then after creation of the instance this field will contain auto-generated root user password.\n","secret":true},"size":{"type":"number","description":"**required** *number* \u0026rarr;  Size of the instance volume.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FDbInstanceTimeouts:DbInstanceTimeouts"},"vendorOptions":{"$ref":"#/types/vkcs:index%2FDbInstanceVendorOptions:DbInstanceVendorOptions","description":"optional \u0026rarr;  Map of additional vendor-specific options. Supported options are described below.\u003cbr\u003e**New since v0.4.0**.\n"},"volumeType":{"type":"string","description":"**required** *string* \u0026rarr;  The type of the instance volume. Changing this creates a new instance.\n"},"walDiskAutoexpand":{"$ref":"#/types/vkcs:index%2FDbInstanceWalDiskAutoexpand:DbInstanceWalDiskAutoexpand","description":"optional \u0026rarr;  Object that represents autoresize properties of the instance wal volume.\n"},"walVolume":{"$ref":"#/types/vkcs:index%2FDbInstanceWalVolume:DbInstanceWalVolume","description":"optional \u0026rarr;  Object that represents wal volume of the instance. Changing this creates a new instance.\n"}},"type":"object","required":["datastore","dbInstanceId","flavorId","ips","name","region","rootPassword","size","volumeType"],"inputProperties":{"availabilityZone":{"type":"string","description":"optional *string* \u0026rarr;  The name of the availability zone of the instance. Changing this creates a new instance.\n"},"backupSchedule":{"$ref":"#/types/vkcs:index%2FDbInstanceBackupSchedule:DbInstanceBackupSchedule","description":"optional \u0026rarr;  Object that represents configuration of PITR backup. This functionality is available only for postgres datastore.\u003cbr\u003e**New since v0.1.4**.\n"},"capabilities":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FDbInstanceCapability:DbInstanceCapability"},"description":"optional \u0026rarr;  Object that represents capability applied to instance. There can be several instances of this object (see example).\n"},"cloudMonitoringEnabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Enable cloud monitoring for the instance. Changing this for Redis creates a new instance.\u003cbr\u003e**New since v0.2.0**.\n"},"configurationId":{"type":"string","description":"optional *string* \u0026rarr;  The id of the configuration attached to instance.\n"},"datastore":{"$ref":"#/types/vkcs:index%2FDbInstanceDatastore:DbInstanceDatastore","description":"**required** \u0026rarr;  Object that represents datastore of the instance. Changing this creates a new instance.\n"},"dbInstanceId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"diskAutoexpand":{"$ref":"#/types/vkcs:index%2FDbInstanceDiskAutoexpand:DbInstanceDiskAutoexpand","description":"optional \u0026rarr;  Object that represents autoresize properties of the instance.\n"},"flavorId":{"type":"string","description":"**required** *string* \u0026rarr;  The ID of flavor for the instance.\n"},"floatingIpEnabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Indicates whether floating ip is created for instance. Changing this creates a new instance.\n"},"keypair":{"type":"string","description":"optional *string* \u0026rarr;  Name of the keypair to be attached to instance. Changing this creates a new instance.\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  The name of the instance. Changing this creates a new instance\n"},"networks":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FDbInstanceNetwork:DbInstanceNetwork"},"description":"optional \u0026rarr;  Object that represents network of the instance. Changing this creates a new instance.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  Region to create resource in.\n"},"replicaOf":{"type":"string","description":"optional *string* \u0026rarr;  ID of the instance, that current instance is replica of. Instance's datastore must be one of: \u003cspan pulumi-lang-nodejs=\"`postgresproEnterprise`\" pulumi-lang-dotnet=\"`PostgresproEnterprise`\" pulumi-lang-go=\"`postgresproEnterprise`\" pulumi-lang-python=\"`postgrespro_enterprise`\" pulumi-lang-yaml=\"`postgresproEnterprise`\" pulumi-lang-java=\"`postgresproEnterprise`\"\u003e`postgrespro_enterprise`\u003c/span\u003e, \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, \u003cspan pulumi-lang-nodejs=\"`postgresproEnterprise1c`\" pulumi-lang-dotnet=\"`PostgresproEnterprise1c`\" pulumi-lang-go=\"`postgresproEnterprise1c`\" pulumi-lang-python=\"`postgrespro_enterprise_1c`\" pulumi-lang-yaml=\"`postgresproEnterprise1c`\" pulumi-lang-java=\"`postgresproEnterprise1c`\"\u003e`postgrespro_enterprise_1c`\u003c/span\u003e\n"},"restorePoint":{"$ref":"#/types/vkcs:index%2FDbInstanceRestorePoint:DbInstanceRestorePoint","description":"optional \u0026rarr;  Object that represents backup to restore instance from.\u003cbr\u003e**New since v0.1.4**.\n"},"rootEnabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Indicates whether root user is enabled for the instance.\n"},"rootPassword":{"type":"string","description":"optional sensitive *string* \u0026rarr;  Password for the root user of the instance. If this field is empty and root user is enabled, then after creation of the instance this field will contain auto-generated root user password.\n","secret":true},"size":{"type":"number","description":"**required** *number* \u0026rarr;  Size of the instance volume.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FDbInstanceTimeouts:DbInstanceTimeouts"},"vendorOptions":{"$ref":"#/types/vkcs:index%2FDbInstanceVendorOptions:DbInstanceVendorOptions","description":"optional \u0026rarr;  Map of additional vendor-specific options. Supported options are described below.\u003cbr\u003e**New since v0.4.0**.\n"},"volumeType":{"type":"string","description":"**required** *string* \u0026rarr;  The type of the instance volume. Changing this creates a new instance.\n"},"walDiskAutoexpand":{"$ref":"#/types/vkcs:index%2FDbInstanceWalDiskAutoexpand:DbInstanceWalDiskAutoexpand","description":"optional \u0026rarr;  Object that represents autoresize properties of the instance wal volume.\n"},"walVolume":{"$ref":"#/types/vkcs:index%2FDbInstanceWalVolume:DbInstanceWalVolume","description":"optional \u0026rarr;  Object that represents wal volume of the instance. Changing this creates a new instance.\n"}},"requiredInputs":["datastore","flavorId","size","volumeType"],"stateInputs":{"description":"Input properties used for looking up and filtering DbInstance resources.\n","properties":{"availabilityZone":{"type":"string","description":"optional *string* \u0026rarr;  The name of the availability zone of the instance. Changing this creates a new instance.\n"},"backupSchedule":{"$ref":"#/types/vkcs:index%2FDbInstanceBackupSchedule:DbInstanceBackupSchedule","description":"optional \u0026rarr;  Object that represents configuration of PITR backup. This functionality is available only for postgres datastore.\u003cbr\u003e**New since v0.1.4**.\n"},"capabilities":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FDbInstanceCapability:DbInstanceCapability"},"description":"optional \u0026rarr;  Object that represents capability applied to instance. There can be several instances of this object (see example).\n"},"cloudMonitoringEnabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Enable cloud monitoring for the instance. Changing this for Redis creates a new instance.\u003cbr\u003e**New since v0.2.0**.\n"},"configurationId":{"type":"string","description":"optional *string* \u0026rarr;  The id of the configuration attached to instance.\n"},"datastore":{"$ref":"#/types/vkcs:index%2FDbInstanceDatastore:DbInstanceDatastore","description":"**required** \u0026rarr;  Object that represents datastore of the instance. Changing this creates a new instance.\n"},"dbInstanceId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"diskAutoexpand":{"$ref":"#/types/vkcs:index%2FDbInstanceDiskAutoexpand:DbInstanceDiskAutoexpand","description":"optional \u0026rarr;  Object that represents autoresize properties of the instance.\n"},"flavorId":{"type":"string","description":"**required** *string* \u0026rarr;  The ID of flavor for the instance.\n"},"floatingIpEnabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Indicates whether floating ip is created for instance. Changing this creates a new instance.\n"},"ips":{"type":"array","items":{"type":"string"},"description":"*string* \u0026rarr;  IP address of the instance.\n"},"keypair":{"type":"string","description":"optional *string* \u0026rarr;  Name of the keypair to be attached to instance. Changing this creates a new instance.\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  The name of the instance. Changing this creates a new instance\n"},"networks":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FDbInstanceNetwork:DbInstanceNetwork"},"description":"optional \u0026rarr;  Object that represents network of the instance. Changing this creates a new instance.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  Region to create resource in.\n"},"replicaOf":{"type":"string","description":"optional *string* \u0026rarr;  ID of the instance, that current instance is replica of. Instance's datastore must be one of: \u003cspan pulumi-lang-nodejs=\"`postgresproEnterprise`\" pulumi-lang-dotnet=\"`PostgresproEnterprise`\" pulumi-lang-go=\"`postgresproEnterprise`\" pulumi-lang-python=\"`postgrespro_enterprise`\" pulumi-lang-yaml=\"`postgresproEnterprise`\" pulumi-lang-java=\"`postgresproEnterprise`\"\u003e`postgrespro_enterprise`\u003c/span\u003e, \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, \u003cspan pulumi-lang-nodejs=\"`postgresproEnterprise1c`\" pulumi-lang-dotnet=\"`PostgresproEnterprise1c`\" pulumi-lang-go=\"`postgresproEnterprise1c`\" pulumi-lang-python=\"`postgrespro_enterprise_1c`\" pulumi-lang-yaml=\"`postgresproEnterprise1c`\" pulumi-lang-java=\"`postgresproEnterprise1c`\"\u003e`postgrespro_enterprise_1c`\u003c/span\u003e\n"},"restorePoint":{"$ref":"#/types/vkcs:index%2FDbInstanceRestorePoint:DbInstanceRestorePoint","description":"optional \u0026rarr;  Object that represents backup to restore instance from.\u003cbr\u003e**New since v0.1.4**.\n"},"rootEnabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Indicates whether root user is enabled for the instance.\n"},"rootPassword":{"type":"string","description":"optional sensitive *string* \u0026rarr;  Password for the root user of the instance. If this field is empty and root user is enabled, then after creation of the instance this field will contain auto-generated root user password.\n","secret":true},"size":{"type":"number","description":"**required** *number* \u0026rarr;  Size of the instance volume.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FDbInstanceTimeouts:DbInstanceTimeouts"},"vendorOptions":{"$ref":"#/types/vkcs:index%2FDbInstanceVendorOptions:DbInstanceVendorOptions","description":"optional \u0026rarr;  Map of additional vendor-specific options. Supported options are described below.\u003cbr\u003e**New since v0.4.0**.\n"},"volumeType":{"type":"string","description":"**required** *string* \u0026rarr;  The type of the instance volume. Changing this creates a new instance.\n"},"walDiskAutoexpand":{"$ref":"#/types/vkcs:index%2FDbInstanceWalDiskAutoexpand:DbInstanceWalDiskAutoexpand","description":"optional \u0026rarr;  Object that represents autoresize properties of the instance wal volume.\n"},"walVolume":{"$ref":"#/types/vkcs:index%2FDbInstanceWalVolume:DbInstanceWalVolume","description":"optional \u0026rarr;  Object that represents wal volume of the instance. Changing this creates a new instance.\n"}},"type":"object"}},"vkcs:index/dbUser:DbUser":{"description":"Provides a db user resource. This can be used to create, modify and delete db user.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst mysqlUser = new vkcs.DbUser(\"mysql_user\", {\n    name: \"testuser\",\n    password: \"Test_p@ssword-12-3\",\n    dbmsId: mysql.id,\n    databases: [\n        mysqlDb1.name,\n        mysqlDb2.name,\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\nmysql_user = vkcs.DbUser(\"mysql_user\",\n    name=\"testuser\",\n    password=\"Test_p@ssword-12-3\",\n    dbms_id=mysql[\"id\"],\n    databases=[\n        mysql_db1[\"name\"],\n        mysql_db2[\"name\"],\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var mysqlUser = new Vkcs.DbUser(\"mysql_user\", new()\n    {\n        Name = \"testuser\",\n        Password = \"Test_p@ssword-12-3\",\n        DbmsId = mysql.Id,\n        Databases = new[]\n        {\n            mysqlDb1.Name,\n            mysqlDb2.Name,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewDbUser(ctx, \"mysql_user\", \u0026vkcs.DbUserArgs{\n\t\t\tName:     pulumi.String(\"testuser\"),\n\t\t\tPassword: pulumi.String(\"Test_p@ssword-12-3\"),\n\t\t\tDbmsId:   pulumi.Any(mysql.Id),\n\t\t\tDatabases: pulumi.StringArray{\n\t\t\t\tmysqlDb1.Name,\n\t\t\t\tmysqlDb2.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.vkcs.DbUser;\nimport com.pulumi.vkcs.DbUserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 mysqlUser = new DbUser(\"mysqlUser\", DbUserArgs.builder()\n            .name(\"testuser\")\n            .password(\"Test_p@ssword-12-3\")\n            .dbmsId(mysql.id())\n            .databases(            \n                mysqlDb1.name(),\n                mysqlDb2.name())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  mysqlUser:\n    type: vkcs:DbUser\n    name: mysql_user\n    properties:\n      name: testuser\n      password: Test_p@ssword-12-3\n      dbmsId: ${mysql.id}\n      databases:\n        - ${mysqlDb1.name}\n        - ${mysqlDb2.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsers can be imported using the `dbms_id/name`\n\n```sh\n$ pulumi import vkcs:index/dbUser:DbUser myuser b29f9249-b0e0-43f2-9278-34ed8284a4dc/myusername\n```\n\nAfter the import you can use terraform show to view imported fields and write their values to your .tf file.\n\nYou should at least add following fields to your .tf file:\n\n`name, dbms_id, password`\n\n","properties":{"databases":{"type":"array","items":{"type":"string"},"description":"optional *set of* *string* \u0026rarr;  List of names of the databases, that user is created for.\n"},"dbUserId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"dbmsId":{"type":"string","description":"**required** *string* \u0026rarr;  ID of the instance or cluster that user is created for.\n"},"dbmsType":{"type":"string","description":"*string* \u0026rarr;  Type of dbms for the user, can be \"instance\" or \"cluster\".\n"},"host":{"type":"string","description":"optional *string* \u0026rarr;  IP address of the host that user will be accessible from.\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  The name of the user. Changing this creates a new user.\n"},"password":{"type":"string","description":"**required** sensitive *string* \u0026rarr;  The password of the user.\n","secret":true},"timeouts":{"$ref":"#/types/vkcs:index%2FDbUserTimeouts:DbUserTimeouts"},"vendorOptions":{"$ref":"#/types/vkcs:index%2FDbUserVendorOptions:DbUserVendorOptions","description":"optional \u0026rarr;  \u003cbr\u003e**New since v0.5.3**.\n"}},"type":"object","required":["databases","dbUserId","dbmsId","dbmsType","name","password"],"inputProperties":{"databases":{"type":"array","items":{"type":"string"},"description":"optional *set of* *string* \u0026rarr;  List of names of the databases, that user is created for.\n"},"dbUserId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"dbmsId":{"type":"string","description":"**required** *string* \u0026rarr;  ID of the instance or cluster that user is created for.\n"},"host":{"type":"string","description":"optional *string* \u0026rarr;  IP address of the host that user will be accessible from.\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  The name of the user. Changing this creates a new user.\n"},"password":{"type":"string","description":"**required** sensitive *string* \u0026rarr;  The password of the user.\n","secret":true},"timeouts":{"$ref":"#/types/vkcs:index%2FDbUserTimeouts:DbUserTimeouts"},"vendorOptions":{"$ref":"#/types/vkcs:index%2FDbUserVendorOptions:DbUserVendorOptions","description":"optional \u0026rarr;  \u003cbr\u003e**New since v0.5.3**.\n"}},"requiredInputs":["dbmsId","password"],"stateInputs":{"description":"Input properties used for looking up and filtering DbUser resources.\n","properties":{"databases":{"type":"array","items":{"type":"string"},"description":"optional *set of* *string* \u0026rarr;  List of names of the databases, that user is created for.\n"},"dbUserId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"dbmsId":{"type":"string","description":"**required** *string* \u0026rarr;  ID of the instance or cluster that user is created for.\n"},"dbmsType":{"type":"string","description":"*string* \u0026rarr;  Type of dbms for the user, can be \"instance\" or \"cluster\".\n"},"host":{"type":"string","description":"optional *string* \u0026rarr;  IP address of the host that user will be accessible from.\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  The name of the user. Changing this creates a new user.\n"},"password":{"type":"string","description":"**required** sensitive *string* \u0026rarr;  The password of the user.\n","secret":true},"timeouts":{"$ref":"#/types/vkcs:index%2FDbUserTimeouts:DbUserTimeouts"},"vendorOptions":{"$ref":"#/types/vkcs:index%2FDbUserVendorOptions:DbUserVendorOptions","description":"optional \u0026rarr;  \u003cbr\u003e**New since v0.5.3**.\n"}},"type":"object"}},"vkcs:index/dcBgpInstance:DcBgpInstance":{"description":"Manages a direct connect BGP instance resource.\n\n\u003e **Note:** This resource requires Sprut SDN to be enabled in your project.\n\n**New since v0.5.0**.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst dcBgpInstance = new vkcs.DcBgpInstance(\"dc_bgp_instance\", {\n    name: \"tf-example\",\n    description: \"tf-example-description\",\n    dcRouterId: dcRouter.id,\n    bgpRouterId: \"192.168.1.2\",\n    asn: 12345,\n    ecmpEnabled: true,\n    gracefulRestart: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\ndc_bgp_instance = vkcs.DcBgpInstance(\"dc_bgp_instance\",\n    name=\"tf-example\",\n    description=\"tf-example-description\",\n    dc_router_id=dc_router[\"id\"],\n    bgp_router_id=\"192.168.1.2\",\n    asn=12345,\n    ecmp_enabled=True,\n    graceful_restart=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var dcBgpInstance = new Vkcs.DcBgpInstance(\"dc_bgp_instance\", new()\n    {\n        Name = \"tf-example\",\n        Description = \"tf-example-description\",\n        DcRouterId = dcRouter.Id,\n        BgpRouterId = \"192.168.1.2\",\n        Asn = 12345,\n        EcmpEnabled = true,\n        GracefulRestart = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewDcBgpInstance(ctx, \"dc_bgp_instance\", \u0026vkcs.DcBgpInstanceArgs{\n\t\t\tName:            pulumi.String(\"tf-example\"),\n\t\t\tDescription:     pulumi.String(\"tf-example-description\"),\n\t\t\tDcRouterId:      pulumi.Any(dcRouter.Id),\n\t\t\tBgpRouterId:     pulumi.String(\"192.168.1.2\"),\n\t\t\tAsn:             pulumi.Float64(12345),\n\t\t\tEcmpEnabled:     pulumi.Bool(true),\n\t\t\tGracefulRestart: 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.vkcs.DcBgpInstance;\nimport com.pulumi.vkcs.DcBgpInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 dcBgpInstance = new DcBgpInstance(\"dcBgpInstance\", DcBgpInstanceArgs.builder()\n            .name(\"tf-example\")\n            .description(\"tf-example-description\")\n            .dcRouterId(dcRouter.id())\n            .bgpRouterId(\"192.168.1.2\")\n            .asn(12345.0)\n            .ecmpEnabled(true)\n            .gracefulRestart(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  dcBgpInstance:\n    type: vkcs:DcBgpInstance\n    name: dc_bgp_instance\n    properties:\n      name: tf-example\n      description: tf-example-description\n      dcRouterId: ${dcRouter.id}\n      bgpRouterId: 192.168.1.2\n      asn: 12345\n      ecmpEnabled: true\n      gracefulRestart: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDirect connect BGP instance can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import vkcs:index/dcBgpInstance:DcBgpInstance mydcbgpinstance e73496b2-e476-4536-9167-af24d18e1486\n```\n\n","properties":{"asn":{"type":"number","description":"**required** *number* \u0026rarr;  BGP Autonomous System Number (integer representation supports only). Changing this creates a new resource\n"},"bgpRouterId":{"type":"string","description":"**required** *string* \u0026rarr;  BGP Router ID (IP address that represent BGP router in BGP network). Changing this creates a new resource\n"},"createdAt":{"type":"string","description":"*string* \u0026rarr;  Creation timestamp\n"},"dcRouterId":{"type":"string","description":"**required** *string* \u0026rarr;  Direct Connect Router ID to attach. Changing this creates a new resource\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Description of the router\n"},"ecmpEnabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Enable BGP ECMP behaviour on router. Default is false\n"},"enabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Enable or disable item. Default is true\n"},"gracefulRestart":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Enable BGP Graceful Restart feature. Default is false\n"},"longLivedGracefulRestart":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Enable BGP Long Lived Graceful Restart feature. Default is false\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  Name of the router\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  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. Changing this creates a new bgp_instance.\n"},"updatedAt":{"type":"string","description":"*string* \u0026rarr;  Update timestamp\n"}},"type":"object","required":["asn","bgpRouterId","createdAt","dcRouterId","description","ecmpEnabled","enabled","gracefulRestart","longLivedGracefulRestart","name","region","updatedAt"],"inputProperties":{"asn":{"type":"number","description":"**required** *number* \u0026rarr;  BGP Autonomous System Number (integer representation supports only). Changing this creates a new resource\n"},"bgpRouterId":{"type":"string","description":"**required** *string* \u0026rarr;  BGP Router ID (IP address that represent BGP router in BGP network). Changing this creates a new resource\n"},"dcRouterId":{"type":"string","description":"**required** *string* \u0026rarr;  Direct Connect Router ID to attach. Changing this creates a new resource\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Description of the router\n"},"ecmpEnabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Enable BGP ECMP behaviour on router. Default is false\n"},"enabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Enable or disable item. Default is true\n"},"gracefulRestart":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Enable BGP Graceful Restart feature. Default is false\n"},"longLivedGracefulRestart":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Enable BGP Long Lived Graceful Restart feature. Default is false\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  Name of the router\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  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. Changing this creates a new bgp_instance.\n"}},"requiredInputs":["asn","bgpRouterId","dcRouterId"],"stateInputs":{"description":"Input properties used for looking up and filtering DcBgpInstance resources.\n","properties":{"asn":{"type":"number","description":"**required** *number* \u0026rarr;  BGP Autonomous System Number (integer representation supports only). Changing this creates a new resource\n"},"bgpRouterId":{"type":"string","description":"**required** *string* \u0026rarr;  BGP Router ID (IP address that represent BGP router in BGP network). Changing this creates a new resource\n"},"createdAt":{"type":"string","description":"*string* \u0026rarr;  Creation timestamp\n"},"dcRouterId":{"type":"string","description":"**required** *string* \u0026rarr;  Direct Connect Router ID to attach. Changing this creates a new resource\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Description of the router\n"},"ecmpEnabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Enable BGP ECMP behaviour on router. Default is false\n"},"enabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Enable or disable item. Default is true\n"},"gracefulRestart":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Enable BGP Graceful Restart feature. Default is false\n"},"longLivedGracefulRestart":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Enable BGP Long Lived Graceful Restart feature. Default is false\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  Name of the router\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  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. Changing this creates a new bgp_instance.\n"},"updatedAt":{"type":"string","description":"*string* \u0026rarr;  Update timestamp\n"}},"type":"object"}},"vkcs:index/dcBgpNeighbor:DcBgpNeighbor":{"description":"Manages a direct connect BGP neighbor resource.\n\n\u003e **Note:** This resource requires Sprut SDN to be enabled in your project.\n\n**New since v0.5.0**.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst dcBgpNeighbor = new vkcs.DcBgpNeighbor(\"dc_bgp_neighbor\", {\n    name: \"tf-example\",\n    addPaths: \"on\",\n    description: \"tf-example-description\",\n    dcBgpId: dcBgpInstance.id,\n    remoteAsn: 1,\n    remoteIp: \"192.168.1.3\",\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\ndc_bgp_neighbor = vkcs.DcBgpNeighbor(\"dc_bgp_neighbor\",\n    name=\"tf-example\",\n    add_paths=\"on\",\n    description=\"tf-example-description\",\n    dc_bgp_id=dc_bgp_instance[\"id\"],\n    remote_asn=1,\n    remote_ip=\"192.168.1.3\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var dcBgpNeighbor = new Vkcs.DcBgpNeighbor(\"dc_bgp_neighbor\", new()\n    {\n        Name = \"tf-example\",\n        AddPaths = \"on\",\n        Description = \"tf-example-description\",\n        DcBgpId = dcBgpInstance.Id,\n        RemoteAsn = 1,\n        RemoteIp = \"192.168.1.3\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewDcBgpNeighbor(ctx, \"dc_bgp_neighbor\", \u0026vkcs.DcBgpNeighborArgs{\n\t\t\tName:        pulumi.String(\"tf-example\"),\n\t\t\tAddPaths:    pulumi.String(\"on\"),\n\t\t\tDescription: pulumi.String(\"tf-example-description\"),\n\t\t\tDcBgpId:     pulumi.Any(dcBgpInstance.Id),\n\t\t\tRemoteAsn:   pulumi.Float64(1),\n\t\t\tRemoteIp:    pulumi.String(\"192.168.1.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.vkcs.DcBgpNeighbor;\nimport com.pulumi.vkcs.DcBgpNeighborArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 dcBgpNeighbor = new DcBgpNeighbor(\"dcBgpNeighbor\", DcBgpNeighborArgs.builder()\n            .name(\"tf-example\")\n            .addPaths(\"on\")\n            .description(\"tf-example-description\")\n            .dcBgpId(dcBgpInstance.id())\n            .remoteAsn(1.0)\n            .remoteIp(\"192.168.1.3\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  dcBgpNeighbor:\n    type: vkcs:DcBgpNeighbor\n    name: dc_bgp_neighbor\n    properties:\n      name: tf-example\n      addPaths: on\n      description: tf-example-description\n      dcBgpId: ${dcBgpInstance.id}\n      remoteAsn: 1\n      remoteIp: 192.168.1.3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDirect connect BGP neighbor can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import vkcs:index/dcBgpNeighbor:DcBgpNeighbor mydcbgpneighbor 73096185-f200-4790-8095-962617b755f8\n```\n\n","properties":{"addPaths":{"type":"string","description":"optional *string* \u0026rarr;  Activate BGP Add-Paths feature on peer. Default is off\n"},"bfdEnabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Control BGP session activity with BFD protocol. Default is false\n"},"createdAt":{"type":"string","description":"*string* \u0026rarr;  Creation timestamp\n"},"dcBgpId":{"type":"string","description":"**required** *string* \u0026rarr;  Direct Connect BGP ID to attach. Changing this creates a new resource\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Description of the BGP neighbor\n"},"enabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Enable or disable item. Default is true\n"},"filterIn":{"type":"string","description":"optional *string* \u0026rarr;  Input filter that pass incoming BGP prefixes (allow any)\n"},"filterOut":{"type":"string","description":"optional *string* \u0026rarr;  Output filter that pass incoming BGP prefixes (allow any)\n"},"forceIbgpNextHopSelf":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Force set IP address of next-hop on BGP prefix to self even in iBGP. Default is false\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  Name of the BGP neighbor\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  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. Changing this creates a new bgp_neighbor.\n"},"remoteAsn":{"type":"number","description":"**required** *number* \u0026rarr;  BGP Neighbor ASN. Changing this creates a new resource\n"},"remoteIp":{"type":"string","description":"**required** *string* \u0026rarr;  BGP Neighbor IP address. Changing this creates a new resource\n"},"updatedAt":{"type":"string","description":"*string* \u0026rarr;  Update timestamp\n"}},"type":"object","required":["addPaths","bfdEnabled","createdAt","dcBgpId","description","enabled","filterIn","filterOut","forceIbgpNextHopSelf","name","region","remoteAsn","remoteIp","updatedAt"],"inputProperties":{"addPaths":{"type":"string","description":"optional *string* \u0026rarr;  Activate BGP Add-Paths feature on peer. Default is off\n"},"bfdEnabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Control BGP session activity with BFD protocol. Default is false\n"},"dcBgpId":{"type":"string","description":"**required** *string* \u0026rarr;  Direct Connect BGP ID to attach. Changing this creates a new resource\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Description of the BGP neighbor\n"},"enabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Enable or disable item. Default is true\n"},"filterIn":{"type":"string","description":"optional *string* \u0026rarr;  Input filter that pass incoming BGP prefixes (allow any)\n"},"filterOut":{"type":"string","description":"optional *string* \u0026rarr;  Output filter that pass incoming BGP prefixes (allow any)\n"},"forceIbgpNextHopSelf":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Force set IP address of next-hop on BGP prefix to self even in iBGP. Default is false\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  Name of the BGP neighbor\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  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. Changing this creates a new bgp_neighbor.\n"},"remoteAsn":{"type":"number","description":"**required** *number* \u0026rarr;  BGP Neighbor ASN. Changing this creates a new resource\n"},"remoteIp":{"type":"string","description":"**required** *string* \u0026rarr;  BGP Neighbor IP address. Changing this creates a new resource\n"}},"requiredInputs":["dcBgpId","remoteAsn","remoteIp"],"stateInputs":{"description":"Input properties used for looking up and filtering DcBgpNeighbor resources.\n","properties":{"addPaths":{"type":"string","description":"optional *string* \u0026rarr;  Activate BGP Add-Paths feature on peer. Default is off\n"},"bfdEnabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Control BGP session activity with BFD protocol. Default is false\n"},"createdAt":{"type":"string","description":"*string* \u0026rarr;  Creation timestamp\n"},"dcBgpId":{"type":"string","description":"**required** *string* \u0026rarr;  Direct Connect BGP ID to attach. Changing this creates a new resource\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Description of the BGP neighbor\n"},"enabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Enable or disable item. Default is true\n"},"filterIn":{"type":"string","description":"optional *string* \u0026rarr;  Input filter that pass incoming BGP prefixes (allow any)\n"},"filterOut":{"type":"string","description":"optional *string* \u0026rarr;  Output filter that pass incoming BGP prefixes (allow any)\n"},"forceIbgpNextHopSelf":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Force set IP address of next-hop on BGP prefix to self even in iBGP. Default is false\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  Name of the BGP neighbor\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  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. Changing this creates a new bgp_neighbor.\n"},"remoteAsn":{"type":"number","description":"**required** *number* \u0026rarr;  BGP Neighbor ASN. Changing this creates a new resource\n"},"remoteIp":{"type":"string","description":"**required** *string* \u0026rarr;  BGP Neighbor IP address. Changing this creates a new resource\n"},"updatedAt":{"type":"string","description":"*string* \u0026rarr;  Update timestamp\n"}},"type":"object"}},"vkcs:index/dcBgpStaticAnnounce:DcBgpStaticAnnounce":{"description":"Manages a direct connect BGP Static Announce resource.\n\n\u003e **Note:** This resource requires Sprut SDN to be enabled in your project.\n\n**New since v0.5.0**.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst dcBgpStaticAnnounce = new vkcs.DcBgpStaticAnnounce(\"dc_bgp_static_announce\", {\n    name: \"tf-example\",\n    description: \"tf-example-description\",\n    dcBgpId: dcBgpInstance.id,\n    network: \"192.168.1.0/24\",\n    gateway: \"192.168.1.3\",\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\ndc_bgp_static_announce = vkcs.DcBgpStaticAnnounce(\"dc_bgp_static_announce\",\n    name=\"tf-example\",\n    description=\"tf-example-description\",\n    dc_bgp_id=dc_bgp_instance[\"id\"],\n    network=\"192.168.1.0/24\",\n    gateway=\"192.168.1.3\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var dcBgpStaticAnnounce = new Vkcs.DcBgpStaticAnnounce(\"dc_bgp_static_announce\", new()\n    {\n        Name = \"tf-example\",\n        Description = \"tf-example-description\",\n        DcBgpId = dcBgpInstance.Id,\n        Network = \"192.168.1.0/24\",\n        Gateway = \"192.168.1.3\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewDcBgpStaticAnnounce(ctx, \"dc_bgp_static_announce\", \u0026vkcs.DcBgpStaticAnnounceArgs{\n\t\t\tName:        pulumi.String(\"tf-example\"),\n\t\t\tDescription: pulumi.String(\"tf-example-description\"),\n\t\t\tDcBgpId:     pulumi.Any(dcBgpInstance.Id),\n\t\t\tNetwork:     pulumi.String(\"192.168.1.0/24\"),\n\t\t\tGateway:     pulumi.String(\"192.168.1.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.vkcs.DcBgpStaticAnnounce;\nimport com.pulumi.vkcs.DcBgpStaticAnnounceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 dcBgpStaticAnnounce = new DcBgpStaticAnnounce(\"dcBgpStaticAnnounce\", DcBgpStaticAnnounceArgs.builder()\n            .name(\"tf-example\")\n            .description(\"tf-example-description\")\n            .dcBgpId(dcBgpInstance.id())\n            .network(\"192.168.1.0/24\")\n            .gateway(\"192.168.1.3\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  dcBgpStaticAnnounce:\n    type: vkcs:DcBgpStaticAnnounce\n    name: dc_bgp_static_announce\n    properties:\n      name: tf-example\n      description: tf-example-description\n      dcBgpId: ${dcBgpInstance.id}\n      network: 192.168.1.0/24\n      gateway: 192.168.1.3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDirect connect BGP instance can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import vkcs:index/dcBgpStaticAnnounce:DcBgpStaticAnnounce mydcbgpstaticannounce 8a1d9812-305b-468f-8ae5-833e181b01a8\n```\n\n","properties":{"createdAt":{"type":"string","description":"*string* \u0026rarr;  Creation timestamp\n"},"dcBgpId":{"type":"string","description":"**required** *string* \u0026rarr;  Direct Connect BGP ID to attach. Changing this creates a new resource\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Description of the BGP neighbor\n"},"enabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Enable or disable item. Default is true\n"},"gateway":{"type":"string","description":"**required** *string* \u0026rarr;  IP address of gateway. Changing this creates a new resource\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  Name of the BGP neighbor\n"},"network":{"type":"string","description":"**required** *string* \u0026rarr;  Subnet in CIDR notation. Changing this creates a new resource\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  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. Changing this creates a new bgp_static_announce.\n"},"updatedAt":{"type":"string","description":"*string* \u0026rarr;  Update timestamp\n"}},"type":"object","required":["createdAt","dcBgpId","description","enabled","gateway","name","network","region","updatedAt"],"inputProperties":{"dcBgpId":{"type":"string","description":"**required** *string* \u0026rarr;  Direct Connect BGP ID to attach. Changing this creates a new resource\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Description of the BGP neighbor\n"},"enabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Enable or disable item. Default is true\n"},"gateway":{"type":"string","description":"**required** *string* \u0026rarr;  IP address of gateway. Changing this creates a new resource\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  Name of the BGP neighbor\n"},"network":{"type":"string","description":"**required** *string* \u0026rarr;  Subnet in CIDR notation. Changing this creates a new resource\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  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. Changing this creates a new bgp_static_announce.\n"}},"requiredInputs":["dcBgpId","gateway","network"],"stateInputs":{"description":"Input properties used for looking up and filtering DcBgpStaticAnnounce resources.\n","properties":{"createdAt":{"type":"string","description":"*string* \u0026rarr;  Creation timestamp\n"},"dcBgpId":{"type":"string","description":"**required** *string* \u0026rarr;  Direct Connect BGP ID to attach. Changing this creates a new resource\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Description of the BGP neighbor\n"},"enabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Enable or disable item. Default is true\n"},"gateway":{"type":"string","description":"**required** *string* \u0026rarr;  IP address of gateway. Changing this creates a new resource\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  Name of the BGP neighbor\n"},"network":{"type":"string","description":"**required** *string* \u0026rarr;  Subnet in CIDR notation. Changing this creates a new resource\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  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. Changing this creates a new bgp_static_announce.\n"},"updatedAt":{"type":"string","description":"*string* \u0026rarr;  Update timestamp\n"}},"type":"object"}},"vkcs:index/dcConntrackHelper:DcConntrackHelper":{"description":"Manages a direct connect conntrack helper resource.\n\n\u003e **Note:** This resource requires Sprut SDN to be enabled in your project.\n\n**New since v0.8.0**.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst dcConntrackHelper = new vkcs.DcConntrackHelper(\"dc_conntrack_helper\", {\n    dcRouterId: dcRouter.id,\n    name: \"tf-example\",\n    description: \"tf-example-description\",\n    helper: \"ftp\",\n    protocol: \"tcp\",\n    port: 21,\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\ndc_conntrack_helper = vkcs.DcConntrackHelper(\"dc_conntrack_helper\",\n    dc_router_id=dc_router[\"id\"],\n    name=\"tf-example\",\n    description=\"tf-example-description\",\n    helper=\"ftp\",\n    protocol=\"tcp\",\n    port=21)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var dcConntrackHelper = new Vkcs.DcConntrackHelper(\"dc_conntrack_helper\", new()\n    {\n        DcRouterId = dcRouter.Id,\n        Name = \"tf-example\",\n        Description = \"tf-example-description\",\n        Helper = \"ftp\",\n        Protocol = \"tcp\",\n        Port = 21,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewDcConntrackHelper(ctx, \"dc_conntrack_helper\", \u0026vkcs.DcConntrackHelperArgs{\n\t\t\tDcRouterId:  pulumi.Any(dcRouter.Id),\n\t\t\tName:        pulumi.String(\"tf-example\"),\n\t\t\tDescription: pulumi.String(\"tf-example-description\"),\n\t\t\tHelper:      pulumi.String(\"ftp\"),\n\t\t\tProtocol:    pulumi.String(\"tcp\"),\n\t\t\tPort:        pulumi.Float64(21),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.vkcs.DcConntrackHelper;\nimport com.pulumi.vkcs.DcConntrackHelperArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 dcConntrackHelper = new DcConntrackHelper(\"dcConntrackHelper\", DcConntrackHelperArgs.builder()\n            .dcRouterId(dcRouter.id())\n            .name(\"tf-example\")\n            .description(\"tf-example-description\")\n            .helper(\"ftp\")\n            .protocol(\"tcp\")\n            .port(21.0)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  dcConntrackHelper:\n    type: vkcs:DcConntrackHelper\n    name: dc_conntrack_helper\n    properties:\n      dcRouterId: ${dcRouter.id}\n      name: tf-example\n      description: tf-example-description\n      helper: ftp\n      protocol: tcp\n      port: 21\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDirect connect conntrack helper can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import vkcs:index/dcConntrackHelper:DcConntrackHelper mydcconntrackhelper 52a0a638-0a75-4a15-b3f3-d5c9f953e93f\n```\n\n","properties":{"createdAt":{"type":"string","description":"*string* \u0026rarr;  Creation timestamp\n"},"dcRouterId":{"type":"string","description":"**required** *string* \u0026rarr;  Direct Connect Router ID. Changing this creates a new resource\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Description of the conntrack helper\n"},"helper":{"type":"string","description":"**required** *string* \u0026rarr;  Helper type. Must be one of: \"ftp\".\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  Name of the conntrack helper\n"},"port":{"type":"number","description":"**required** *number* \u0026rarr;  Network port for conntrack target rule.\n"},"protocol":{"type":"string","description":"**required** *string* \u0026rarr;  Protocol. Must be one of: \"tcp\".\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  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. Changing this creates a new conntrack_helper.\n"},"updatedAt":{"type":"string","description":"*string* \u0026rarr;  Update timestamp\n"}},"type":"object","required":["createdAt","dcRouterId","description","helper","name","port","protocol","region","updatedAt"],"inputProperties":{"dcRouterId":{"type":"string","description":"**required** *string* \u0026rarr;  Direct Connect Router ID. Changing this creates a new resource\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Description of the conntrack helper\n"},"helper":{"type":"string","description":"**required** *string* \u0026rarr;  Helper type. Must be one of: \"ftp\".\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  Name of the conntrack helper\n"},"port":{"type":"number","description":"**required** *number* \u0026rarr;  Network port for conntrack target rule.\n"},"protocol":{"type":"string","description":"**required** *string* \u0026rarr;  Protocol. Must be one of: \"tcp\".\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  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. Changing this creates a new conntrack_helper.\n"}},"requiredInputs":["dcRouterId","helper","port","protocol"],"stateInputs":{"description":"Input properties used for looking up and filtering DcConntrackHelper resources.\n","properties":{"createdAt":{"type":"string","description":"*string* \u0026rarr;  Creation timestamp\n"},"dcRouterId":{"type":"string","description":"**required** *string* \u0026rarr;  Direct Connect Router ID. Changing this creates a new resource\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Description of the conntrack helper\n"},"helper":{"type":"string","description":"**required** *string* \u0026rarr;  Helper type. Must be one of: \"ftp\".\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  Name of the conntrack helper\n"},"port":{"type":"number","description":"**required** *number* \u0026rarr;  Network port for conntrack target rule.\n"},"protocol":{"type":"string","description":"**required** *string* \u0026rarr;  Protocol. Must be one of: \"tcp\".\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  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. Changing this creates a new conntrack_helper.\n"},"updatedAt":{"type":"string","description":"*string* \u0026rarr;  Update timestamp\n"}},"type":"object"}},"vkcs:index/dcInterface:DcInterface":{"description":"Manages a direct connect interface resource.\n\n\u003e **Note:** This resource requires Sprut SDN to be enabled in your project.\n\n**New since v0.5.0**.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\n// Connect networks to the router\nconst dcInterface = new vkcs.DcInterface(\"dc_interface\", {\n    name: \"tf-example\",\n    description: \"tf-example-description\",\n    dcRouterId: dcRouter.id,\n    networkId: app.id,\n    subnetId: appVkcsNetworkingSubnet.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\n# Connect networks to the router\ndc_interface = vkcs.DcInterface(\"dc_interface\",\n    name=\"tf-example\",\n    description=\"tf-example-description\",\n    dc_router_id=dc_router[\"id\"],\n    network_id=app[\"id\"],\n    subnet_id=app_vkcs_networking_subnet[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Connect networks to the router\n    var dcInterface = new Vkcs.DcInterface(\"dc_interface\", new()\n    {\n        Name = \"tf-example\",\n        Description = \"tf-example-description\",\n        DcRouterId = dcRouter.Id,\n        NetworkId = app.Id,\n        SubnetId = appVkcsNetworkingSubnet.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Connect networks to the router\n\t\t_, err := vkcs.NewDcInterface(ctx, \"dc_interface\", \u0026vkcs.DcInterfaceArgs{\n\t\t\tName:        pulumi.String(\"tf-example\"),\n\t\t\tDescription: pulumi.String(\"tf-example-description\"),\n\t\t\tDcRouterId:  pulumi.Any(dcRouter.Id),\n\t\t\tNetworkId:   pulumi.Any(app.Id),\n\t\t\tSubnetId:    pulumi.Any(appVkcsNetworkingSubnet.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.vkcs.DcInterface;\nimport com.pulumi.vkcs.DcInterfaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Connect networks to the router\n        var dcInterface = new DcInterface(\"dcInterface\", DcInterfaceArgs.builder()\n            .name(\"tf-example\")\n            .description(\"tf-example-description\")\n            .dcRouterId(dcRouter.id())\n            .networkId(app.id())\n            .subnetId(appVkcsNetworkingSubnet.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Connect networks to the router\n  dcInterface:\n    type: vkcs:DcInterface\n    name: dc_interface\n    properties:\n      name: tf-example\n      description: tf-example-description\n      dcRouterId: ${dcRouter.id}\n      networkId: ${app.id}\n      subnetId: ${appVkcsNetworkingSubnet.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Connect dc router to Internet\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\n// Connect internet to the router\nconst dcInterfaceInternet = new vkcs.DcInterface(\"dc_interface_internet\", {\n    name: \"interface-for-internet\",\n    dcRouterId: dcRouter.id,\n    networkId: internetSprut.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\n# Connect internet to the router\ndc_interface_internet = vkcs.DcInterface(\"dc_interface_internet\",\n    name=\"interface-for-internet\",\n    dc_router_id=dc_router[\"id\"],\n    network_id=internet_sprut[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Connect internet to the router\n    var dcInterfaceInternet = new Vkcs.DcInterface(\"dc_interface_internet\", new()\n    {\n        Name = \"interface-for-internet\",\n        DcRouterId = dcRouter.Id,\n        NetworkId = internetSprut.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Connect internet to the router\n\t\t_, err := vkcs.NewDcInterface(ctx, \"dc_interface_internet\", \u0026vkcs.DcInterfaceArgs{\n\t\t\tName:       pulumi.String(\"interface-for-internet\"),\n\t\t\tDcRouterId: pulumi.Any(dcRouter.Id),\n\t\t\tNetworkId:  pulumi.Any(internetSprut.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.vkcs.DcInterface;\nimport com.pulumi.vkcs.DcInterfaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Connect internet to the router\n        var dcInterfaceInternet = new DcInterface(\"dcInterfaceInternet\", DcInterfaceArgs.builder()\n            .name(\"interface-for-internet\")\n            .dcRouterId(dcRouter.id())\n            .networkId(internetSprut.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Connect internet to the router\n  dcInterfaceInternet:\n    type: vkcs:DcInterface\n    name: dc_interface_internet\n    properties:\n      name: interface-for-internet\n      dcRouterId: ${dcRouter.id}\n      networkId: ${internetSprut.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDirect connect interface can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import vkcs:index/dcInterface:DcInterface mydcinterface 438d7479-d95f-4afc-b85e-eb8cd130a99f\n```\n\n","properties":{"bgpAnnounceEnabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Enable BGP announce of subnet attached to interface. Default is true\n"},"createdAt":{"type":"string","description":"*string* \u0026rarr;  Creation timestamp\n"},"dcRouterId":{"type":"string","description":"**required** *string* \u0026rarr;  Direct Connect Router ID to attach. Changing this creates a new resource\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Description of the interface\n"},"ipAddress":{"type":"string","description":"optional *string* \u0026rarr;  IP Address of the interface. Changing this creates a new resource\n"},"ipNetmask":{"type":"number","description":"*number* \u0026rarr;  IP Netmask\n"},"macAddress":{"type":"string","description":"*string* \u0026rarr;  MAC Address of created interface\n"},"mtu":{"type":"number","description":"*number* \u0026rarr;  MTU\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  Name of the interface\n"},"networkId":{"type":"string","description":"**required** *string* \u0026rarr;  Network ID to attach. Changing this creates a new resource\n"},"portId":{"type":"string","description":"*string* \u0026rarr;  Port ID\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  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. Changing this creates a new interface.\n"},"sdn":{"type":"string","description":"*string* \u0026rarr;  SDN where interface was created\n"},"subnetId":{"type":"string","description":"optional *string* \u0026rarr;  Subnet ID to attach. Changing this creates a new resource\n"},"updatedAt":{"type":"string","description":"*string* \u0026rarr;  Update timestamp\n"}},"type":"object","required":["bgpAnnounceEnabled","createdAt","dcRouterId","description","ipAddress","ipNetmask","macAddress","mtu","name","networkId","portId","region","sdn","subnetId","updatedAt"],"inputProperties":{"bgpAnnounceEnabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Enable BGP announce of subnet attached to interface. Default is true\n"},"dcRouterId":{"type":"string","description":"**required** *string* \u0026rarr;  Direct Connect Router ID to attach. Changing this creates a new resource\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Description of the interface\n"},"ipAddress":{"type":"string","description":"optional *string* \u0026rarr;  IP Address of the interface. Changing this creates a new resource\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  Name of the interface\n"},"networkId":{"type":"string","description":"**required** *string* \u0026rarr;  Network ID to attach. Changing this creates a new resource\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  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. Changing this creates a new interface.\n"},"subnetId":{"type":"string","description":"optional *string* \u0026rarr;  Subnet ID to attach. Changing this creates a new resource\n"}},"requiredInputs":["dcRouterId","networkId"],"stateInputs":{"description":"Input properties used for looking up and filtering DcInterface resources.\n","properties":{"bgpAnnounceEnabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Enable BGP announce of subnet attached to interface. Default is true\n"},"createdAt":{"type":"string","description":"*string* \u0026rarr;  Creation timestamp\n"},"dcRouterId":{"type":"string","description":"**required** *string* \u0026rarr;  Direct Connect Router ID to attach. Changing this creates a new resource\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Description of the interface\n"},"ipAddress":{"type":"string","description":"optional *string* \u0026rarr;  IP Address of the interface. Changing this creates a new resource\n"},"ipNetmask":{"type":"number","description":"*number* \u0026rarr;  IP Netmask\n"},"macAddress":{"type":"string","description":"*string* \u0026rarr;  MAC Address of created interface\n"},"mtu":{"type":"number","description":"*number* \u0026rarr;  MTU\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  Name of the interface\n"},"networkId":{"type":"string","description":"**required** *string* \u0026rarr;  Network ID to attach. Changing this creates a new resource\n"},"portId":{"type":"string","description":"*string* \u0026rarr;  Port ID\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  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. Changing this creates a new interface.\n"},"sdn":{"type":"string","description":"*string* \u0026rarr;  SDN where interface was created\n"},"subnetId":{"type":"string","description":"optional *string* \u0026rarr;  Subnet ID to attach. Changing this creates a new resource\n"},"updatedAt":{"type":"string","description":"*string* \u0026rarr;  Update timestamp\n"}},"type":"object"}},"vkcs:index/dcIpPortForwarding:DcIpPortForwarding":{"description":"Manages a direct connect ip port forwarding resource.\n\n\u003e **Note:** This resource requires Sprut SDN to be enabled in your project.\n\n**New since v0.8.0**.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst dcIpPortForwarding = new vkcs.DcIpPortForwarding(\"dc_ip_port_forwarding\", {\n    dcInterfaceId: dcInterface.id,\n    name: \"tf-example\",\n    description: \"tf-example-description\",\n    protocol: \"udp\",\n    toDestination: \"172.17.20.30\",\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\ndc_ip_port_forwarding = vkcs.DcIpPortForwarding(\"dc_ip_port_forwarding\",\n    dc_interface_id=dc_interface[\"id\"],\n    name=\"tf-example\",\n    description=\"tf-example-description\",\n    protocol=\"udp\",\n    to_destination=\"172.17.20.30\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var dcIpPortForwarding = new Vkcs.DcIpPortForwarding(\"dc_ip_port_forwarding\", new()\n    {\n        DcInterfaceId = dcInterface.Id,\n        Name = \"tf-example\",\n        Description = \"tf-example-description\",\n        Protocol = \"udp\",\n        ToDestination = \"172.17.20.30\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewDcIpPortForwarding(ctx, \"dc_ip_port_forwarding\", \u0026vkcs.DcIpPortForwardingArgs{\n\t\t\tDcInterfaceId: pulumi.Any(dcInterface.Id),\n\t\t\tName:          pulumi.String(\"tf-example\"),\n\t\t\tDescription:   pulumi.String(\"tf-example-description\"),\n\t\t\tProtocol:      pulumi.String(\"udp\"),\n\t\t\tToDestination: pulumi.String(\"172.17.20.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.vkcs.DcIpPortForwarding;\nimport com.pulumi.vkcs.DcIpPortForwardingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 dcIpPortForwarding = new DcIpPortForwarding(\"dcIpPortForwarding\", DcIpPortForwardingArgs.builder()\n            .dcInterfaceId(dcInterface.id())\n            .name(\"tf-example\")\n            .description(\"tf-example-description\")\n            .protocol(\"udp\")\n            .toDestination(\"172.17.20.30\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  dcIpPortForwarding:\n    type: vkcs:DcIpPortForwarding\n    name: dc_ip_port_forwarding\n    properties:\n      dcInterfaceId: ${dcInterface.id}\n      name: tf-example\n      description: tf-example-description\n      protocol: udp\n      toDestination: 172.17.20.30\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDirect connect IP port forwarding can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import vkcs:index/dcIpPortForwarding:DcIpPortForwarding mydcipportforwarding 659be09e-a10e-4762-b729-7a003af40f29\n```\n\n","properties":{"createdAt":{"type":"string","description":"*string* \u0026rarr;  Creation timestamp\n"},"dcInterfaceId":{"type":"string","description":"**required** *string* \u0026rarr;  Direct Connect Interface ID. Changing this creates a new resource\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Description of the conntrack helper\n"},"destination":{"type":"string","description":"optional *string* \u0026rarr;  Destination address selector.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  Name of the conntrack helper\n"},"port":{"type":"number","description":"optional *number* \u0026rarr;  Port selector.\n"},"protocol":{"type":"string","description":"**required** *string* \u0026rarr;  Protocol. Must be one of: \"tcp\", \"udp\", \"any\".\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  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. Changing this creates a new ip_port_forwarding.\n"},"source":{"type":"string","description":"optional *string* \u0026rarr;  Source address selector.\n"},"toDestination":{"type":"string","description":"**required** *string* \u0026rarr;  IP Address of forwarding's destination.\n"},"toPort":{"type":"number","description":"optional *number* \u0026rarr;  Destination port selector.\n"},"updatedAt":{"type":"string","description":"*string* \u0026rarr;  Update timestamp\n"}},"type":"object","required":["createdAt","dcInterfaceId","description","name","protocol","region","toDestination","updatedAt"],"inputProperties":{"dcInterfaceId":{"type":"string","description":"**required** *string* \u0026rarr;  Direct Connect Interface ID. Changing this creates a new resource\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Description of the conntrack helper\n"},"destination":{"type":"string","description":"optional *string* \u0026rarr;  Destination address selector.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  Name of the conntrack helper\n"},"port":{"type":"number","description":"optional *number* \u0026rarr;  Port selector.\n"},"protocol":{"type":"string","description":"**required** *string* \u0026rarr;  Protocol. Must be one of: \"tcp\", \"udp\", \"any\".\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  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. Changing this creates a new ip_port_forwarding.\n"},"source":{"type":"string","description":"optional *string* \u0026rarr;  Source address selector.\n"},"toDestination":{"type":"string","description":"**required** *string* \u0026rarr;  IP Address of forwarding's destination.\n"},"toPort":{"type":"number","description":"optional *number* \u0026rarr;  Destination port selector.\n"}},"requiredInputs":["dcInterfaceId","protocol","toDestination"],"stateInputs":{"description":"Input properties used for looking up and filtering DcIpPortForwarding resources.\n","properties":{"createdAt":{"type":"string","description":"*string* \u0026rarr;  Creation timestamp\n"},"dcInterfaceId":{"type":"string","description":"**required** *string* \u0026rarr;  Direct Connect Interface ID. Changing this creates a new resource\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Description of the conntrack helper\n"},"destination":{"type":"string","description":"optional *string* \u0026rarr;  Destination address selector.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  Name of the conntrack helper\n"},"port":{"type":"number","description":"optional *number* \u0026rarr;  Port selector.\n"},"protocol":{"type":"string","description":"**required** *string* \u0026rarr;  Protocol. Must be one of: \"tcp\", \"udp\", \"any\".\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  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. Changing this creates a new ip_port_forwarding.\n"},"source":{"type":"string","description":"optional *string* \u0026rarr;  Source address selector.\n"},"toDestination":{"type":"string","description":"**required** *string* \u0026rarr;  IP Address of forwarding's destination.\n"},"toPort":{"type":"number","description":"optional *number* \u0026rarr;  Destination port selector.\n"},"updatedAt":{"type":"string","description":"*string* \u0026rarr;  Update timestamp\n"}},"type":"object"}},"vkcs:index/dcRouter:DcRouter":{"description":"Manages a direct connect router resource.\n\n\u003e **Note:** This resource requires Sprut SDN to be enabled in your project.\n\n**New since v0.5.0**.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst dcRouter = new vkcs.DcRouter(\"dc_router\", {\n    availabilityZone: \"GZ1\",\n    flavor: \"standard\",\n    name: \"tf-example\",\n    description: \"tf-example-description\",\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\ndc_router = vkcs.DcRouter(\"dc_router\",\n    availability_zone=\"GZ1\",\n    flavor=\"standard\",\n    name=\"tf-example\",\n    description=\"tf-example-description\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var dcRouter = new Vkcs.DcRouter(\"dc_router\", new()\n    {\n        AvailabilityZone = \"GZ1\",\n        Flavor = \"standard\",\n        Name = \"tf-example\",\n        Description = \"tf-example-description\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewDcRouter(ctx, \"dc_router\", \u0026vkcs.DcRouterArgs{\n\t\t\tAvailabilityZone: pulumi.String(\"GZ1\"),\n\t\t\tFlavor:           pulumi.String(\"standard\"),\n\t\t\tName:             pulumi.String(\"tf-example\"),\n\t\t\tDescription:      pulumi.String(\"tf-example-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.vkcs.DcRouter;\nimport com.pulumi.vkcs.DcRouterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 dcRouter = new DcRouter(\"dcRouter\", DcRouterArgs.builder()\n            .availabilityZone(\"GZ1\")\n            .flavor(\"standard\")\n            .name(\"tf-example\")\n            .description(\"tf-example-description\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  dcRouter:\n    type: vkcs:DcRouter\n    name: dc_router\n    properties:\n      availabilityZone: GZ1\n      flavor: standard\n      name: tf-example\n      description: tf-example-description\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDirect connect router can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import vkcs:index/dcRouter:DcRouter mydcrouter b50b32fc-16e2-4cb0-acdb-638c865c4242\n```\n\n","properties":{"availabilityZone":{"type":"string","description":"optional *string* \u0026rarr;  The availability zone in which to create the router. Changing this creates a new router\n"},"createdAt":{"type":"string","description":"*string* \u0026rarr;  Creation timestamp\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Description of the router\n"},"flavor":{"type":"string","description":"optional *string* \u0026rarr;  Flavor of the router. Possible values can be obtained with\u003cspan pulumi-lang-nodejs=\" vkcs.getDcApiOptions \" pulumi-lang-dotnet=\" vkcs.getDcApiOptions \" pulumi-lang-go=\" getDcApiOptions \" pulumi-lang-python=\" get_dc_api_options \" pulumi-lang-yaml=\" vkcs.getDcApiOptions \" pulumi-lang-java=\" vkcs.getDcApiOptions \"\u003e vkcs.getDcApiOptions \u003c/span\u003edata source. Changing this creates a new router. \u003cbr\u003e**Note:** Not to be confused with compute service flavors.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  Name of the router\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  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. Changing this creates a new router.\n"},"updatedAt":{"type":"string","description":"*string* \u0026rarr;  Update timestamp\n"}},"type":"object","required":["availabilityZone","createdAt","description","flavor","name","region","updatedAt"],"inputProperties":{"availabilityZone":{"type":"string","description":"optional *string* \u0026rarr;  The availability zone in which to create the router. Changing this creates a new router\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Description of the router\n"},"flavor":{"type":"string","description":"optional *string* \u0026rarr;  Flavor of the router. Possible values can be obtained with\u003cspan pulumi-lang-nodejs=\" vkcs.getDcApiOptions \" pulumi-lang-dotnet=\" vkcs.getDcApiOptions \" pulumi-lang-go=\" getDcApiOptions \" pulumi-lang-python=\" get_dc_api_options \" pulumi-lang-yaml=\" vkcs.getDcApiOptions \" pulumi-lang-java=\" vkcs.getDcApiOptions \"\u003e vkcs.getDcApiOptions \u003c/span\u003edata source. Changing this creates a new router. \u003cbr\u003e**Note:** Not to be confused with compute service flavors.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  Name of the router\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  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. Changing this creates a new router.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering DcRouter resources.\n","properties":{"availabilityZone":{"type":"string","description":"optional *string* \u0026rarr;  The availability zone in which to create the router. Changing this creates a new router\n"},"createdAt":{"type":"string","description":"*string* \u0026rarr;  Creation timestamp\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Description of the router\n"},"flavor":{"type":"string","description":"optional *string* \u0026rarr;  Flavor of the router. Possible values can be obtained with\u003cspan pulumi-lang-nodejs=\" vkcs.getDcApiOptions \" pulumi-lang-dotnet=\" vkcs.getDcApiOptions \" pulumi-lang-go=\" getDcApiOptions \" pulumi-lang-python=\" get_dc_api_options \" pulumi-lang-yaml=\" vkcs.getDcApiOptions \" pulumi-lang-java=\" vkcs.getDcApiOptions \"\u003e vkcs.getDcApiOptions \u003c/span\u003edata source. Changing this creates a new router. \u003cbr\u003e**Note:** Not to be confused with compute service flavors.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  Name of the router\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  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. Changing this creates a new router.\n"},"updatedAt":{"type":"string","description":"*string* \u0026rarr;  Update timestamp\n"}},"type":"object"}},"vkcs:index/dcStaticRoute:DcStaticRoute":{"description":"Manages a direct connect BGP Static Announce resource.\n\n\u003e **Note:** This resource requires Sprut SDN to be enabled in your project.\n\n**New since v0.5.0**.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst dcStaticRoute = new vkcs.DcStaticRoute(\"dc_static_route\", {\n    name: \"tf-example\",\n    description: \"tf-example-description\",\n    dcRouterId: dcRouter.id,\n    network: \"192.168.1.0/24\",\n    gateway: \"192.168.1.3\",\n    metric: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\ndc_static_route = vkcs.DcStaticRoute(\"dc_static_route\",\n    name=\"tf-example\",\n    description=\"tf-example-description\",\n    dc_router_id=dc_router[\"id\"],\n    network=\"192.168.1.0/24\",\n    gateway=\"192.168.1.3\",\n    metric=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var dcStaticRoute = new Vkcs.DcStaticRoute(\"dc_static_route\", new()\n    {\n        Name = \"tf-example\",\n        Description = \"tf-example-description\",\n        DcRouterId = dcRouter.Id,\n        Network = \"192.168.1.0/24\",\n        Gateway = \"192.168.1.3\",\n        Metric = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewDcStaticRoute(ctx, \"dc_static_route\", \u0026vkcs.DcStaticRouteArgs{\n\t\t\tName:        pulumi.String(\"tf-example\"),\n\t\t\tDescription: pulumi.String(\"tf-example-description\"),\n\t\t\tDcRouterId:  pulumi.Any(dcRouter.Id),\n\t\t\tNetwork:     pulumi.String(\"192.168.1.0/24\"),\n\t\t\tGateway:     pulumi.String(\"192.168.1.3\"),\n\t\t\tMetric:      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.vkcs.DcStaticRoute;\nimport com.pulumi.vkcs.DcStaticRouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 dcStaticRoute = new DcStaticRoute(\"dcStaticRoute\", DcStaticRouteArgs.builder()\n            .name(\"tf-example\")\n            .description(\"tf-example-description\")\n            .dcRouterId(dcRouter.id())\n            .network(\"192.168.1.0/24\")\n            .gateway(\"192.168.1.3\")\n            .metric(1.0)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  dcStaticRoute:\n    type: vkcs:DcStaticRoute\n    name: dc_static_route\n    properties:\n      name: tf-example\n      description: tf-example-description\n      dcRouterId: ${dcRouter.id}\n      network: 192.168.1.0/24\n      gateway: 192.168.1.3\n      metric: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDirect connect BGP instance can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import vkcs:index/dcStaticRoute:DcStaticRoute mydcstaticroute 2ee73dd1-d52a-4c3f-9041-c60900c154a4\n```\n\n","properties":{"createdAt":{"type":"string","description":"*string* \u0026rarr;  Creation timestamp\n"},"dcRouterId":{"type":"string","description":"**required** *string* \u0026rarr;  Direct Connect Router ID to attach. Changing this creates a new resource\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Description of the static route\n"},"gateway":{"type":"string","description":"**required** *string* \u0026rarr;  IP address of gateway. Changing this creates a new resource\n"},"metric":{"type":"number","description":"optional *number* \u0026rarr;  Metric to use for route. Default is 1\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  Name of the static route\n"},"network":{"type":"string","description":"**required** *string* \u0026rarr;  Subnet in CIDR notation. Changing this creates a new resource\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  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. Changing this creates a new static_route.\n"},"updatedAt":{"type":"string","description":"*string* \u0026rarr;  Update timestamp\n"}},"type":"object","required":["createdAt","dcRouterId","description","gateway","metric","name","network","region","updatedAt"],"inputProperties":{"dcRouterId":{"type":"string","description":"**required** *string* \u0026rarr;  Direct Connect Router ID to attach. Changing this creates a new resource\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Description of the static route\n"},"gateway":{"type":"string","description":"**required** *string* \u0026rarr;  IP address of gateway. Changing this creates a new resource\n"},"metric":{"type":"number","description":"optional *number* \u0026rarr;  Metric to use for route. Default is 1\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  Name of the static route\n"},"network":{"type":"string","description":"**required** *string* \u0026rarr;  Subnet in CIDR notation. Changing this creates a new resource\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  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. Changing this creates a new static_route.\n"}},"requiredInputs":["dcRouterId","gateway","network"],"stateInputs":{"description":"Input properties used for looking up and filtering DcStaticRoute resources.\n","properties":{"createdAt":{"type":"string","description":"*string* \u0026rarr;  Creation timestamp\n"},"dcRouterId":{"type":"string","description":"**required** *string* \u0026rarr;  Direct Connect Router ID to attach. Changing this creates a new resource\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Description of the static route\n"},"gateway":{"type":"string","description":"**required** *string* \u0026rarr;  IP address of gateway. Changing this creates a new resource\n"},"metric":{"type":"number","description":"optional *number* \u0026rarr;  Metric to use for route. Default is 1\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  Name of the static route\n"},"network":{"type":"string","description":"**required** *string* \u0026rarr;  Subnet in CIDR notation. Changing this creates a new resource\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  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. Changing this creates a new static_route.\n"},"updatedAt":{"type":"string","description":"*string* \u0026rarr;  Update timestamp\n"}},"type":"object"}},"vkcs:index/dcVrrp:DcVrrp":{"description":"Manages a direct connect VRRP resource.\n\n\u003e **Note:** This resource requires Sprut SDN to be enabled in your project.\n\n**New since v0.5.0**.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst dcVrrp = new vkcs.DcVrrp(\"dc_vrrp\", {\n    name: \"tf-example\",\n    description: \"tf-example-description\",\n    groupId: 100,\n    networkId: app.id,\n    subnetId: appVkcsNetworkingSubnet.id,\n    advertInterval: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\ndc_vrrp = vkcs.DcVrrp(\"dc_vrrp\",\n    name=\"tf-example\",\n    description=\"tf-example-description\",\n    group_id=100,\n    network_id=app[\"id\"],\n    subnet_id=app_vkcs_networking_subnet[\"id\"],\n    advert_interval=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var dcVrrp = new Vkcs.DcVrrp(\"dc_vrrp\", new()\n    {\n        Name = \"tf-example\",\n        Description = \"tf-example-description\",\n        GroupId = 100,\n        NetworkId = app.Id,\n        SubnetId = appVkcsNetworkingSubnet.Id,\n        AdvertInterval = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewDcVrrp(ctx, \"dc_vrrp\", \u0026vkcs.DcVrrpArgs{\n\t\t\tName:           pulumi.String(\"tf-example\"),\n\t\t\tDescription:    pulumi.String(\"tf-example-description\"),\n\t\t\tGroupId:        pulumi.Float64(100),\n\t\t\tNetworkId:      pulumi.Any(app.Id),\n\t\t\tSubnetId:       pulumi.Any(appVkcsNetworkingSubnet.Id),\n\t\t\tAdvertInterval: 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.vkcs.DcVrrp;\nimport com.pulumi.vkcs.DcVrrpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 dcVrrp = new DcVrrp(\"dcVrrp\", DcVrrpArgs.builder()\n            .name(\"tf-example\")\n            .description(\"tf-example-description\")\n            .groupId(100.0)\n            .networkId(app.id())\n            .subnetId(appVkcsNetworkingSubnet.id())\n            .advertInterval(1.0)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  dcVrrp:\n    type: vkcs:DcVrrp\n    name: dc_vrrp\n    properties:\n      name: tf-example\n      description: tf-example-description\n      groupId: 100\n      networkId: ${app.id}\n      subnetId: ${appVkcsNetworkingSubnet.id}\n      advertInterval: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDirect connect vrrp can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import vkcs:index/dcVrrp:DcVrrp mydcvrrp f6149e79-b441-4327-90fc-7653acbc204c\n```\n\n","properties":{"advertInterval":{"type":"number","description":"optional *number* \u0026rarr;  VRRP Advertise interval. Default is 1\n"},"createdAt":{"type":"string","description":"*string* \u0026rarr;  Creation timestamp\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Description of the VRRP\n"},"enabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Enable or disable item. Default is true\n"},"groupId":{"type":"number","description":"**required** *number* \u0026rarr;  VRRP Group ID\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  Name of the VRRP\n"},"networkId":{"type":"string","description":"**required** *string* \u0026rarr;  Network ID to attach. Changing this creates a new resource\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  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. Changing this creates a new vrrp.\n"},"sdn":{"type":"string","description":"*string* \u0026rarr;  SDN of created VRRP\n"},"subnetId":{"type":"string","description":"optional *string* \u0026rarr;  Subnet ID to attach. Changing this creates a new resource\n"},"updatedAt":{"type":"string","description":"*string* \u0026rarr;  Update timestamp\n"}},"type":"object","required":["advertInterval","createdAt","description","enabled","groupId","name","networkId","region","sdn","subnetId","updatedAt"],"inputProperties":{"advertInterval":{"type":"number","description":"optional *number* \u0026rarr;  VRRP Advertise interval. Default is 1\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Description of the VRRP\n"},"enabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Enable or disable item. Default is true\n"},"groupId":{"type":"number","description":"**required** *number* \u0026rarr;  VRRP Group ID\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  Name of the VRRP\n"},"networkId":{"type":"string","description":"**required** *string* \u0026rarr;  Network ID to attach. Changing this creates a new resource\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  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. Changing this creates a new vrrp.\n"},"subnetId":{"type":"string","description":"optional *string* \u0026rarr;  Subnet ID to attach. Changing this creates a new resource\n"}},"requiredInputs":["groupId","networkId"],"stateInputs":{"description":"Input properties used for looking up and filtering DcVrrp resources.\n","properties":{"advertInterval":{"type":"number","description":"optional *number* \u0026rarr;  VRRP Advertise interval. Default is 1\n"},"createdAt":{"type":"string","description":"*string* \u0026rarr;  Creation timestamp\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Description of the VRRP\n"},"enabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Enable or disable item. Default is true\n"},"groupId":{"type":"number","description":"**required** *number* \u0026rarr;  VRRP Group ID\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  Name of the VRRP\n"},"networkId":{"type":"string","description":"**required** *string* \u0026rarr;  Network ID to attach. Changing this creates a new resource\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  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. Changing this creates a new vrrp.\n"},"sdn":{"type":"string","description":"*string* \u0026rarr;  SDN of created VRRP\n"},"subnetId":{"type":"string","description":"optional *string* \u0026rarr;  Subnet ID to attach. Changing this creates a new resource\n"},"updatedAt":{"type":"string","description":"*string* \u0026rarr;  Update timestamp\n"}},"type":"object"}},"vkcs:index/dcVrrpAddress:DcVrrpAddress":{"description":"Manages a direct connect VRRP address resource.\n\n\u003e **Note:** This resource requires Sprut SDN to be enabled in your project.\n\n**New since v0.5.0**.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst dcVrrpAddress = new vkcs.DcVrrpAddress(\"dc_vrrp_address\", {\n    name: \"tf-example\",\n    description: \"tf-example-description\",\n    dcVrrpId: dcVrrp.id,\n    ipAddress: \"192.168.199.42\",\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\ndc_vrrp_address = vkcs.DcVrrpAddress(\"dc_vrrp_address\",\n    name=\"tf-example\",\n    description=\"tf-example-description\",\n    dc_vrrp_id=dc_vrrp[\"id\"],\n    ip_address=\"192.168.199.42\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var dcVrrpAddress = new Vkcs.DcVrrpAddress(\"dc_vrrp_address\", new()\n    {\n        Name = \"tf-example\",\n        Description = \"tf-example-description\",\n        DcVrrpId = dcVrrp.Id,\n        IpAddress = \"192.168.199.42\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewDcVrrpAddress(ctx, \"dc_vrrp_address\", \u0026vkcs.DcVrrpAddressArgs{\n\t\t\tName:        pulumi.String(\"tf-example\"),\n\t\t\tDescription: pulumi.String(\"tf-example-description\"),\n\t\t\tDcVrrpId:    pulumi.Any(dcVrrp.Id),\n\t\t\tIpAddress:   pulumi.String(\"192.168.199.42\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.vkcs.DcVrrpAddress;\nimport com.pulumi.vkcs.DcVrrpAddressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 dcVrrpAddress = new DcVrrpAddress(\"dcVrrpAddress\", DcVrrpAddressArgs.builder()\n            .name(\"tf-example\")\n            .description(\"tf-example-description\")\n            .dcVrrpId(dcVrrp.id())\n            .ipAddress(\"192.168.199.42\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  dcVrrpAddress:\n    type: vkcs:DcVrrpAddress\n    name: dc_vrrp_address\n    properties:\n      name: tf-example\n      description: tf-example-description\n      dcVrrpId: ${dcVrrp.id}\n      ipAddress: 192.168.199.42\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDirect connect vrrp address can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import vkcs:index/dcVrrpAddress:DcVrrpAddress mydcvrrpaddress aa00d2a9-db9c-4976-898b-fcabb9f49505\n```\n\n","properties":{"createdAt":{"type":"string","description":"*string* \u0026rarr;  Creation timestamp\n"},"dcVrrpId":{"type":"string","description":"**required** *string* \u0026rarr;  VRRP ID to attach. Changing this creates a new resource\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Description of the VRRP\n"},"ipAddress":{"type":"string","description":"optional *string* \u0026rarr;  IP address to assign. Changing this creates a new resource\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  Name of the VRRP\n"},"portId":{"type":"string","description":"*string* \u0026rarr;  Port ID used to assign IP address\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  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. Changing this creates a new vrrp_address.\n"},"updatedAt":{"type":"string","description":"*string* \u0026rarr;  Update timestamp\n"}},"type":"object","required":["createdAt","dcVrrpId","description","ipAddress","name","portId","region","updatedAt"],"inputProperties":{"dcVrrpId":{"type":"string","description":"**required** *string* \u0026rarr;  VRRP ID to attach. Changing this creates a new resource\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Description of the VRRP\n"},"ipAddress":{"type":"string","description":"optional *string* \u0026rarr;  IP address to assign. Changing this creates a new resource\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  Name of the VRRP\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  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. Changing this creates a new vrrp_address.\n"}},"requiredInputs":["dcVrrpId"],"stateInputs":{"description":"Input properties used for looking up and filtering DcVrrpAddress resources.\n","properties":{"createdAt":{"type":"string","description":"*string* \u0026rarr;  Creation timestamp\n"},"dcVrrpId":{"type":"string","description":"**required** *string* \u0026rarr;  VRRP ID to attach. Changing this creates a new resource\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Description of the VRRP\n"},"ipAddress":{"type":"string","description":"optional *string* \u0026rarr;  IP address to assign. Changing this creates a new resource\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  Name of the VRRP\n"},"portId":{"type":"string","description":"*string* \u0026rarr;  Port ID used to assign IP address\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  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. Changing this creates a new vrrp_address.\n"},"updatedAt":{"type":"string","description":"*string* \u0026rarr;  Update timestamp\n"}},"type":"object"}},"vkcs:index/dcVrrpInterface:DcVrrpInterface":{"description":"Manages a direct connect VRRP interface resource.\n\n\u003e **Note:** This resource requires Sprut SDN to be enabled in your project.\n\n**New since v0.5.0**.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst dcVrrpInterface = new vkcs.DcVrrpInterface(\"dc_vrrp_interface\", {\n    name: \"tf-example\",\n    description: \"tf-example-description\",\n    dcVrrpId: dcVrrp.id,\n    dcInterfaceId: dcInterface.id,\n    priority: 100,\n    preempt: true,\n    master: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\ndc_vrrp_interface = vkcs.DcVrrpInterface(\"dc_vrrp_interface\",\n    name=\"tf-example\",\n    description=\"tf-example-description\",\n    dc_vrrp_id=dc_vrrp[\"id\"],\n    dc_interface_id=dc_interface[\"id\"],\n    priority=100,\n    preempt=True,\n    master=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var dcVrrpInterface = new Vkcs.DcVrrpInterface(\"dc_vrrp_interface\", new()\n    {\n        Name = \"tf-example\",\n        Description = \"tf-example-description\",\n        DcVrrpId = dcVrrp.Id,\n        DcInterfaceId = dcInterface.Id,\n        Priority = 100,\n        Preempt = true,\n        Master = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewDcVrrpInterface(ctx, \"dc_vrrp_interface\", \u0026vkcs.DcVrrpInterfaceArgs{\n\t\t\tName:          pulumi.String(\"tf-example\"),\n\t\t\tDescription:   pulumi.String(\"tf-example-description\"),\n\t\t\tDcVrrpId:      pulumi.Any(dcVrrp.Id),\n\t\t\tDcInterfaceId: pulumi.Any(dcInterface.Id),\n\t\t\tPriority:      pulumi.Float64(100),\n\t\t\tPreempt:       pulumi.Bool(true),\n\t\t\tMaster:        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.vkcs.DcVrrpInterface;\nimport com.pulumi.vkcs.DcVrrpInterfaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 dcVrrpInterface = new DcVrrpInterface(\"dcVrrpInterface\", DcVrrpInterfaceArgs.builder()\n            .name(\"tf-example\")\n            .description(\"tf-example-description\")\n            .dcVrrpId(dcVrrp.id())\n            .dcInterfaceId(dcInterface.id())\n            .priority(100.0)\n            .preempt(true)\n            .master(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  dcVrrpInterface:\n    type: vkcs:DcVrrpInterface\n    name: dc_vrrp_interface\n    properties:\n      name: tf-example\n      description: tf-example-description\n      dcVrrpId: ${dcVrrp.id}\n      dcInterfaceId: ${dcInterface.id}\n      priority: 100\n      preempt: true\n      master: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDirect connect vrrp interface can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import vkcs:index/dcVrrpInterface:DcVrrpInterface mydcvrrpinterface 3f071a6d-3d21-435c-83f7-11b276f318f0\n```\n\n","properties":{"createdAt":{"type":"string","description":"*string* \u0026rarr;  Creation timestamp\n"},"dcInterfaceId":{"type":"string","description":"**required** *string* \u0026rarr;  DC Interface ID to attach. Changing this creates a new resource\n"},"dcVrrpId":{"type":"string","description":"**required** *string* \u0026rarr;  VRRP ID to attach. Changing this creates a new resource\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Description of the VRRP\n"},"master":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Start VRRP instance on interface as VRRP Master. Default is false\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  Name of the VRRP\n"},"preempt":{"type":"boolean","description":"optional *boolean* \u0026rarr;  VRRP interface preempt behavior. Default is true\n"},"priority":{"type":"number","description":"optional *number* \u0026rarr;  VRRP interface priority. Default is 100\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  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. Changing this creates a new vrrp_interface.\n"},"updatedAt":{"type":"string","description":"*string* \u0026rarr;  Update timestamp\n"}},"type":"object","required":["createdAt","dcInterfaceId","dcVrrpId","description","master","name","preempt","priority","region","updatedAt"],"inputProperties":{"dcInterfaceId":{"type":"string","description":"**required** *string* \u0026rarr;  DC Interface ID to attach. Changing this creates a new resource\n"},"dcVrrpId":{"type":"string","description":"**required** *string* \u0026rarr;  VRRP ID to attach. Changing this creates a new resource\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Description of the VRRP\n"},"master":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Start VRRP instance on interface as VRRP Master. Default is false\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  Name of the VRRP\n"},"preempt":{"type":"boolean","description":"optional *boolean* \u0026rarr;  VRRP interface preempt behavior. Default is true\n"},"priority":{"type":"number","description":"optional *number* \u0026rarr;  VRRP interface priority. Default is 100\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  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. Changing this creates a new vrrp_interface.\n"}},"requiredInputs":["dcInterfaceId","dcVrrpId"],"stateInputs":{"description":"Input properties used for looking up and filtering DcVrrpInterface resources.\n","properties":{"createdAt":{"type":"string","description":"*string* \u0026rarr;  Creation timestamp\n"},"dcInterfaceId":{"type":"string","description":"**required** *string* \u0026rarr;  DC Interface ID to attach. Changing this creates a new resource\n"},"dcVrrpId":{"type":"string","description":"**required** *string* \u0026rarr;  VRRP ID to attach. Changing this creates a new resource\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Description of the VRRP\n"},"master":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Start VRRP instance on interface as VRRP Master. Default is false\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  Name of the VRRP\n"},"preempt":{"type":"boolean","description":"optional *boolean* \u0026rarr;  VRRP interface preempt behavior. Default is true\n"},"priority":{"type":"number","description":"optional *number* \u0026rarr;  VRRP interface priority. Default is 100\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  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. Changing this creates a new vrrp_interface.\n"},"updatedAt":{"type":"string","description":"*string* \u0026rarr;  Update timestamp\n"}},"type":"object"}},"vkcs:index/iamS3Account:IamS3Account":{"description":"Manages an IAM S3 account within VKCS.\n\n!\u003e **Security Note:** \u003cspan pulumi-lang-nodejs=\"`secretKey`\" pulumi-lang-dotnet=\"`SecretKey`\" pulumi-lang-go=\"`secretKey`\" pulumi-lang-python=\"`secret_key`\" pulumi-lang-yaml=\"`secretKey`\" pulumi-lang-java=\"`secretKey`\"\u003e`secret_key`\u003c/span\u003e is marked as sensitive, and, therefore, will not be shown in outputs by default, but you should consider protecting it as input variable and state value. To get more information on the topic, you can refer to the official tutorial.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst s3Account = new vkcs.IamS3Account(\"s3_account\", {\n    name: \"tf-example-s3-account\",\n    description: \"S3 account created by Terraform example\",\n});\nexport const accessKey = s3Account.accessKey;\nexport const secretKey = s3Account.secretKey;\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\ns3_account = vkcs.IamS3Account(\"s3_account\",\n    name=\"tf-example-s3-account\",\n    description=\"S3 account created by Terraform example\")\npulumi.export(\"accessKey\", s3_account.access_key)\npulumi.export(\"secretKey\", s3_account.secret_key)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var s3Account = new Vkcs.IamS3Account(\"s3_account\", new()\n    {\n        Name = \"tf-example-s3-account\",\n        Description = \"S3 account created by Terraform example\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"accessKey\"] = s3Account.AccessKey,\n        [\"secretKey\"] = s3Account.SecretKey,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ts3Account, err := vkcs.NewIamS3Account(ctx, \"s3_account\", \u0026vkcs.IamS3AccountArgs{\n\t\t\tName:        pulumi.String(\"tf-example-s3-account\"),\n\t\t\tDescription: pulumi.String(\"S3 account created by Terraform example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"accessKey\", s3Account.AccessKey)\n\t\tctx.Export(\"secretKey\", s3Account.SecretKey)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.vkcs.IamS3Account;\nimport com.pulumi.vkcs.IamS3AccountArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 s3Account = new IamS3Account(\"s3Account\", IamS3AccountArgs.builder()\n            .name(\"tf-example-s3-account\")\n            .description(\"S3 account created by Terraform example\")\n            .build());\n\n        ctx.export(\"accessKey\", s3Account.accessKey());\n        ctx.export(\"secretKey\", s3Account.secretKey());\n    }\n}\n```\n```yaml\nresources:\n  s3Account:\n    type: vkcs:IamS3Account\n    name: s3_account\n    properties:\n      name: tf-example-s3-account\n      description: S3 account created by Terraform example\noutputs:\n  accessKey: ${s3Account.accessKey}\n  secretKey: ${s3Account.secretKey}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAn IAM S3 account can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import vkcs:index/iamS3Account:IamS3Account s3_account \u003cs3_account_id\u003e\n```\n\n","properties":{"accessKey":{"type":"string","description":"*string* \u0026rarr;  Access key for the S3 account.\n"},"accountId":{"type":"string","description":"*string* \u0026rarr;  ID of the S3 account in Hotbox S3 service.\n"},"accountName":{"type":"string","description":"*string* \u0026rarr;  Name of the S3 account in Hotbox S3 service.\n"},"createdAt":{"type":"string","description":"*string* \u0026rarr;  S3 account creation timestamp.\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Description of the S3 account. Changing this creates a new resource.\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  Name of the S3 account. The name must be unique. The length must be between 3 and 32 characters. Changing this creates a new resource.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the IAM Service Users client. If 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 creates a new resource.\n"},"secretKey":{"type":"string","description":"*string* \u0026rarr;  Secret key for the S3 account. \u003cbr\u003e**Note:** This is a sensitive attribute.\n","secret":true}},"type":"object","required":["accessKey","accountId","accountName","createdAt","description","name","region","secretKey"],"inputProperties":{"description":{"type":"string","description":"optional *string* \u0026rarr;  Description of the S3 account. Changing this creates a new resource.\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  Name of the S3 account. The name must be unique. The length must be between 3 and 32 characters. Changing this creates a new resource.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the IAM Service Users client. If 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 creates a new resource.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering IamS3Account resources.\n","properties":{"accessKey":{"type":"string","description":"*string* \u0026rarr;  Access key for the S3 account.\n"},"accountId":{"type":"string","description":"*string* \u0026rarr;  ID of the S3 account in Hotbox S3 service.\n"},"accountName":{"type":"string","description":"*string* \u0026rarr;  Name of the S3 account in Hotbox S3 service.\n"},"createdAt":{"type":"string","description":"*string* \u0026rarr;  S3 account creation timestamp.\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Description of the S3 account. Changing this creates a new resource.\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  Name of the S3 account. The name must be unique. The length must be between 3 and 32 characters. Changing this creates a new resource.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the IAM Service Users client. If 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 creates a new resource.\n"},"secretKey":{"type":"string","description":"*string* \u0026rarr;  Secret key for the S3 account. \u003cbr\u003e**Note:** This is a sensitive attribute.\n","secret":true}},"type":"object"}},"vkcs:index/iamServiceUser:IamServiceUser":{"description":"Manages an IAM service user within VKCS.\n\n!\u003e **Security Note:** \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 marked as sensitive, and, therefore, will not be shown in outputs by default, but you should consider protecting it as input variable and state value. To get more information on the topic, you can refer to the official tutorial.\n\nTo get information on available roles for service accounts, refer to to the VK Cloud [documentation](https://cloud.vk.com/docs/en/tools-for-using-services/account/concepts/rolesandpermissions).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst serviceUser = new vkcs.IamServiceUser(\"service_user\", {\n    name: \"tf-example-service-user\",\n    description: \"Service user created by Terraform example\",\n    roleNames: [\n        \"mcs_admin_vm\",\n        \"mcs_admin_network\",\n    ],\n});\nexport const credentials = {\n    login: serviceUser.login,\n    password: serviceUser.password,\n};\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\nservice_user = vkcs.IamServiceUser(\"service_user\",\n    name=\"tf-example-service-user\",\n    description=\"Service user created by Terraform example\",\n    role_names=[\n        \"mcs_admin_vm\",\n        \"mcs_admin_network\",\n    ])\npulumi.export(\"credentials\", {\n    \"login\": service_user.login,\n    \"password\": service_user.password,\n})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var serviceUser = new Vkcs.IamServiceUser(\"service_user\", new()\n    {\n        Name = \"tf-example-service-user\",\n        Description = \"Service user created by Terraform example\",\n        RoleNames = new[]\n        {\n            \"mcs_admin_vm\",\n            \"mcs_admin_network\",\n        },\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"credentials\"] = \n        {\n            { \"login\", serviceUser.Login },\n            { \"password\", serviceUser.Password },\n        },\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tserviceUser, err := vkcs.NewIamServiceUser(ctx, \"service_user\", \u0026vkcs.IamServiceUserArgs{\n\t\t\tName:        pulumi.String(\"tf-example-service-user\"),\n\t\t\tDescription: pulumi.String(\"Service user created by Terraform example\"),\n\t\t\tRoleNames: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"mcs_admin_vm\"),\n\t\t\t\tpulumi.String(\"mcs_admin_network\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"credentials\", pulumi.StringMap{\n\t\t\t\"login\":    serviceUser.Login,\n\t\t\t\"password\": serviceUser.Password,\n\t\t})\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.vkcs.IamServiceUser;\nimport com.pulumi.vkcs.IamServiceUserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 serviceUser = new IamServiceUser(\"serviceUser\", IamServiceUserArgs.builder()\n            .name(\"tf-example-service-user\")\n            .description(\"Service user created by Terraform example\")\n            .roleNames(            \n                \"mcs_admin_vm\",\n                \"mcs_admin_network\")\n            .build());\n\n        ctx.export(\"credentials\", Map.ofEntries(\n            Map.entry(\"login\", serviceUser.login()),\n            Map.entry(\"password\", serviceUser.password())\n        ));\n    }\n}\n```\n```yaml\nresources:\n  serviceUser:\n    type: vkcs:IamServiceUser\n    name: service_user\n    properties:\n      name: tf-example-service-user\n      description: Service user created by Terraform example\n      roleNames:\n        - mcs_admin_vm\n        - mcs_admin_network\noutputs:\n  credentials:\n    login: ${serviceUser.login}\n    password: ${serviceUser.password}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAn IAM service account can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import vkcs:index/iamServiceUser:IamServiceUser service_user \u003cservice_user_id\u003e\n```\n\n","properties":{"createdAt":{"type":"string","description":"*string* \u0026rarr;  Service user creation timestamp.\n"},"creatorName":{"type":"string","description":"*string* \u0026rarr;  Name of the user who created the service user.\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Description of the service user. The maximum length is 256 characters. Changing this creates a new resource.\n"},"login":{"type":"string","description":"*string* \u0026rarr;  Login name of the service user.\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  Name of the service user. The name must be unique. The length must be between 3 and 32 characters. Changing this creates a new resource.\n"},"password":{"type":"string","description":"*string* \u0026rarr;  Password of the service user. \u003cbr\u003e**Note:** This is a sensitive attribute.\n","secret":true},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the IAM Service Users client. If 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 creates a new resource.\n"},"roleNames":{"type":"array","items":{"type":"string"},"description":"**required** *string* \u0026rarr;  Names of roles assigned to the service user. Changing this creates a new resource.\n"}},"type":"object","required":["createdAt","creatorName","description","login","name","password","region","roleNames"],"inputProperties":{"description":{"type":"string","description":"optional *string* \u0026rarr;  Description of the service user. The maximum length is 256 characters. Changing this creates a new resource.\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  Name of the service user. The name must be unique. The length must be between 3 and 32 characters. Changing this creates a new resource.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the IAM Service Users client. If 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 creates a new resource.\n"},"roleNames":{"type":"array","items":{"type":"string"},"description":"**required** *string* \u0026rarr;  Names of roles assigned to the service user. Changing this creates a new resource.\n"}},"requiredInputs":["roleNames"],"stateInputs":{"description":"Input properties used for looking up and filtering IamServiceUser resources.\n","properties":{"createdAt":{"type":"string","description":"*string* \u0026rarr;  Service user creation timestamp.\n"},"creatorName":{"type":"string","description":"*string* \u0026rarr;  Name of the user who created the service user.\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Description of the service user. The maximum length is 256 characters. Changing this creates a new resource.\n"},"login":{"type":"string","description":"*string* \u0026rarr;  Login name of the service user.\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  Name of the service user. The name must be unique. The length must be between 3 and 32 characters. Changing this creates a new resource.\n"},"password":{"type":"string","description":"*string* \u0026rarr;  Password of the service user. \u003cbr\u003e**Note:** This is a sensitive attribute.\n","secret":true},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the IAM Service Users client. If 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 creates a new resource.\n"},"roleNames":{"type":"array","items":{"type":"string"},"description":"**required** *string* \u0026rarr;  Names of roles assigned to the service user. Changing this creates a new resource.\n"}},"type":"object"}},"vkcs:index/imagesImage:ImagesImage":{"description":"Manages an Image resource within VKCS.\n\n\u003e **Note:** All arguments including the source image URL password will be stored in the raw state as plain-text. Read more about sensitive data in state.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst eurolinux9 = new vkcs.ImagesImage(\"eurolinux9\", {\n    name: \"eurolinux9-tf-example\",\n    imageSourceUrl: \"https://fbi.cdn.euro-linux.com/images/EL-9-cloudgeneric-2023-03-19.raw.xz\",\n    compressionFormat: \"xz\",\n    containerFormat: \"bare\",\n    diskFormat: \"raw\",\n    minRamMb: 1536,\n    minDiskGb: 10,\n    properties: {\n        os_type: \"linux\",\n        os_admin_user: \"root\",\n        mcs_name: \"EuroLinux 9\",\n        mcs_os_distro: \"eurolinux\",\n        mcs_os_version: \"9\",\n        hw_qemu_guest_agent: \"yes\",\n        os_require_quiesce: \"yes\",\n    },\n    tags: [\"tf-example\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\neurolinux9 = vkcs.ImagesImage(\"eurolinux9\",\n    name=\"eurolinux9-tf-example\",\n    image_source_url=\"https://fbi.cdn.euro-linux.com/images/EL-9-cloudgeneric-2023-03-19.raw.xz\",\n    compression_format=\"xz\",\n    container_format=\"bare\",\n    disk_format=\"raw\",\n    min_ram_mb=1536,\n    min_disk_gb=10,\n    properties={\n        \"os_type\": \"linux\",\n        \"os_admin_user\": \"root\",\n        \"mcs_name\": \"EuroLinux 9\",\n        \"mcs_os_distro\": \"eurolinux\",\n        \"mcs_os_version\": \"9\",\n        \"hw_qemu_guest_agent\": \"yes\",\n        \"os_require_quiesce\": \"yes\",\n    },\n    tags=[\"tf-example\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var eurolinux9 = new Vkcs.ImagesImage(\"eurolinux9\", new()\n    {\n        Name = \"eurolinux9-tf-example\",\n        ImageSourceUrl = \"https://fbi.cdn.euro-linux.com/images/EL-9-cloudgeneric-2023-03-19.raw.xz\",\n        CompressionFormat = \"xz\",\n        ContainerFormat = \"bare\",\n        DiskFormat = \"raw\",\n        MinRamMb = 1536,\n        MinDiskGb = 10,\n        Properties = \n        {\n            { \"os_type\", \"linux\" },\n            { \"os_admin_user\", \"root\" },\n            { \"mcs_name\", \"EuroLinux 9\" },\n            { \"mcs_os_distro\", \"eurolinux\" },\n            { \"mcs_os_version\", \"9\" },\n            { \"hw_qemu_guest_agent\", \"yes\" },\n            { \"os_require_quiesce\", \"yes\" },\n        },\n        Tags = new[]\n        {\n            \"tf-example\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewImagesImage(ctx, \"eurolinux9\", \u0026vkcs.ImagesImageArgs{\n\t\t\tName:              pulumi.String(\"eurolinux9-tf-example\"),\n\t\t\tImageSourceUrl:    pulumi.String(\"https://fbi.cdn.euro-linux.com/images/EL-9-cloudgeneric-2023-03-19.raw.xz\"),\n\t\t\tCompressionFormat: pulumi.String(\"xz\"),\n\t\t\tContainerFormat:   pulumi.String(\"bare\"),\n\t\t\tDiskFormat:        pulumi.String(\"raw\"),\n\t\t\tMinRamMb:          pulumi.Float64(1536),\n\t\t\tMinDiskGb:         pulumi.Float64(10),\n\t\t\tProperties: pulumi.StringMap{\n\t\t\t\t\"os_type\":             pulumi.String(\"linux\"),\n\t\t\t\t\"os_admin_user\":       pulumi.String(\"root\"),\n\t\t\t\t\"mcs_name\":            pulumi.String(\"EuroLinux 9\"),\n\t\t\t\t\"mcs_os_distro\":       pulumi.String(\"eurolinux\"),\n\t\t\t\t\"mcs_os_version\":      pulumi.String(\"9\"),\n\t\t\t\t\"hw_qemu_guest_agent\": pulumi.String(\"yes\"),\n\t\t\t\t\"os_require_quiesce\":  pulumi.String(\"yes\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"tf-example\"),\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.vkcs.ImagesImage;\nimport com.pulumi.vkcs.ImagesImageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 eurolinux9 = new ImagesImage(\"eurolinux9\", ImagesImageArgs.builder()\n            .name(\"eurolinux9-tf-example\")\n            .imageSourceUrl(\"https://fbi.cdn.euro-linux.com/images/EL-9-cloudgeneric-2023-03-19.raw.xz\")\n            .compressionFormat(\"xz\")\n            .containerFormat(\"bare\")\n            .diskFormat(\"raw\")\n            .minRamMb(1536.0)\n            .minDiskGb(10.0)\n            .properties(Map.ofEntries(\n                Map.entry(\"os_type\", \"linux\"),\n                Map.entry(\"os_admin_user\", \"root\"),\n                Map.entry(\"mcs_name\", \"EuroLinux 9\"),\n                Map.entry(\"mcs_os_distro\", \"eurolinux\"),\n                Map.entry(\"mcs_os_version\", \"9\"),\n                Map.entry(\"hw_qemu_guest_agent\", \"yes\"),\n                Map.entry(\"os_require_quiesce\", \"yes\")\n            ))\n            .tags(\"tf-example\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  eurolinux9:\n    type: vkcs:ImagesImage\n    properties:\n      name: eurolinux9-tf-example\n      imageSourceUrl: https://fbi.cdn.euro-linux.com/images/EL-9-cloudgeneric-2023-03-19.raw.xz\n      compressionFormat: xz\n      containerFormat: bare\n      diskFormat: raw\n      minRamMb: 1536\n      minDiskGb: 10\n      properties:\n        os_type: linux\n        os_admin_user: root\n        mcs_name: EuroLinux 9\n        mcs_os_distro: eurolinux\n        mcs_os_version: '9'\n        hw_qemu_guest_agent: yes\n        os_require_quiesce: yes\n      tags:\n        - tf-example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n## Notes\n\n### Properties\n\nSee the following [reference](https://mcs.mail.ru/docs/en/base/iaas/instructions/vm-images/vm-image-metadata)\nfor important supported properties.\n\nThis resource supports the ability to add properties to a resource during creation as well as add, update, and delete properties during an update of this resource.\n\nVKCS Image service is adding some read-only properties (such as \u003cspan pulumi-lang-nodejs=\"`directUrl`\" pulumi-lang-dotnet=\"`DirectUrl`\" pulumi-lang-go=\"`directUrl`\" pulumi-lang-python=\"`direct_url`\" pulumi-lang-yaml=\"`directUrl`\" pulumi-lang-java=\"`directUrl`\"\u003e`direct_url`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`store`\" pulumi-lang-dotnet=\"`Store`\" pulumi-lang-go=\"`store`\" pulumi-lang-python=\"`store`\" pulumi-lang-yaml=\"`store`\" pulumi-lang-java=\"`store`\"\u003e`store`\u003c/span\u003e) to each image.\nThis resource automatically reconciles these properties with the user-provided properties.\n\n## Import\n\nImages can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import vkcs:index/imagesImage:ImagesImage rancheros 89c60255-9bd6-460c-822a-e2b959ede9d2\n```\n\n","properties":{"archivingFormat":{"type":"string","description":"optional *string* \u0026rarr;  The format of archived image file. Use this to unzip image file when downloading an archive. Currently only \"tar\" format is supported.\u003cbr\u003e**New since v0.4.2**.\n"},"checksum":{"type":"string","description":"*string* \u0026rarr;  The checksum of the data associated with the image.\n"},"compressionFormat":{"type":"string","description":"optional *string* \u0026rarr;  The format of compressed image. Use this attribute to decompress image when downloading it from source. Must be one of \"auto\", \"bzip2\", \"gzip\", \"xz\". If set to \"auto\", response Content-Type header will be used to detect compression format.\u003cbr\u003e**New since v0.4.2**.\n"},"containerFormat":{"type":"string","description":"**required** *string* \u0026rarr;  The container format. Must be one of \"bare\".\n"},"createdAt":{"type":"string","description":"*string* \u0026rarr;  The date the image was created.\n"},"diskFormat":{"type":"string","description":"**required** *string* \u0026rarr;  The disk format. Must be one of \"raw\", \"iso\".\n"},"file":{"type":"string","description":"*string* \u0026rarr;  The trailing path after the image endpoint that represent the location of the image or the path to retrieve it.\n"},"imageCachePath":{"type":"string"},"imageSourcePassword":{"type":"string","description":"optional sensitive *string* \u0026rarr;  The password of basic auth to download \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","secret":true},"imageSourceUrl":{"type":"string","description":"optional *string* \u0026rarr;  This is the url of the raw image. The image will be 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 VKCS. Conflicts 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"},"imageSourceUsername":{"type":"string","description":"optional *string* \u0026rarr;  The username of basic auth to download \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"},"imagesImageId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"localFilePath":{"type":"string","description":"optional *string* \u0026rarr;  This is the filepath of the raw image file that will be uploaded to VKCS. 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"},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"*map of* *string* \u0026rarr;  The metadata associated with the image. Image metadata allow for meaningfully define the image properties and tags. See https://docs.openstack.org/glance/latest/user/metadefs-concepts.html.\n"},"minDiskGb":{"type":"number","description":"optional *number* \u0026rarr;  Amount of disk space (in GB) required to boot VM. Defaults to 0.\n"},"minRamMb":{"type":"number","description":"optional *number* \u0026rarr;  Amount of ram (in MB) required to boot VM. Defauts to 0.\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  The name of the image.\n"},"owner":{"type":"string","description":"*string* \u0026rarr;  The id of the vkcs user who owns the image.\n"},"properties":{"type":"object","additionalProperties":{"type":"string"},"description":"optional *map of* *string* \u0026rarr;  A map of key/value pairs to set freeform information about an image. See the \"Notes\" section for further information about properties.\n"},"protected":{"type":"boolean","description":"optional *boolean* \u0026rarr;  If true, image will not be deletable. Defaults to false.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Image client. An Image client is needed to create an Image that can be used with a compute instance. If 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 creates a new Image.\n"},"schema":{"type":"string","description":"*string* \u0026rarr;  The path to the JSON-schema that represent the image or image\n"},"sizeBytes":{"type":"number","description":"*number* \u0026rarr;  The size in bytes of the data associated with the image.\n"},"status":{"type":"string","description":"*string* \u0026rarr;  The status of the image. It can be \"queued\", \"active\" or \"saving\".\n"},"tags":{"type":"array","items":{"type":"string"},"description":"optional *set of* *string* \u0026rarr;  The tags of the image. It must be a list of strings. At this time, it is not possible to delete all tags of an image.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FImagesImageTimeouts:ImagesImageTimeouts"},"updatedAt":{"type":"string","description":"*string* \u0026rarr;  The date the image was last updated.\n"},"verifyChecksum":{"type":"boolean","description":"optional *boolean* \u0026rarr;  If false, the checksum will not be verified once the image is finished uploading.\n"},"visibility":{"type":"string","description":"optional *string* \u0026rarr;  The visibility of the image. Must be one of \"private\", \"community\", or \"shared\". The ability to set the visibility depends upon the configuration of the VKCS cloud.\n"}},"type":"object","required":["checksum","containerFormat","createdAt","diskFormat","file","imagesImageId","metadata","name","owner","properties","region","schema","sizeBytes","status","updatedAt"],"inputProperties":{"archivingFormat":{"type":"string","description":"optional *string* \u0026rarr;  The format of archived image file. Use this to unzip image file when downloading an archive. Currently only \"tar\" format is supported.\u003cbr\u003e**New since v0.4.2**.\n"},"compressionFormat":{"type":"string","description":"optional *string* \u0026rarr;  The format of compressed image. Use this attribute to decompress image when downloading it from source. Must be one of \"auto\", \"bzip2\", \"gzip\", \"xz\". If set to \"auto\", response Content-Type header will be used to detect compression format.\u003cbr\u003e**New since v0.4.2**.\n"},"containerFormat":{"type":"string","description":"**required** *string* \u0026rarr;  The container format. Must be one of \"bare\".\n"},"diskFormat":{"type":"string","description":"**required** *string* \u0026rarr;  The disk format. Must be one of \"raw\", \"iso\".\n"},"imageCachePath":{"type":"string"},"imageSourcePassword":{"type":"string","description":"optional sensitive *string* \u0026rarr;  The password of basic auth to download \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","secret":true},"imageSourceUrl":{"type":"string","description":"optional *string* \u0026rarr;  This is the url of the raw image. The image will be 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 VKCS. Conflicts 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"},"imageSourceUsername":{"type":"string","description":"optional *string* \u0026rarr;  The username of basic auth to download \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"},"imagesImageId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"localFilePath":{"type":"string","description":"optional *string* \u0026rarr;  This is the filepath of the raw image file that will be uploaded to VKCS. 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":"optional *number* \u0026rarr;  Amount of disk space (in GB) required to boot VM. Defaults to 0.\n"},"minRamMb":{"type":"number","description":"optional *number* \u0026rarr;  Amount of ram (in MB) required to boot VM. Defauts to 0.\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  The name of the image.\n"},"properties":{"type":"object","additionalProperties":{"type":"string"},"description":"optional *map of* *string* \u0026rarr;  A map of key/value pairs to set freeform information about an image. See the \"Notes\" section for further information about properties.\n"},"protected":{"type":"boolean","description":"optional *boolean* \u0026rarr;  If true, image will not be deletable. Defaults to false.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Image client. An Image client is needed to create an Image that can be used with a compute instance. If 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 creates a new Image.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"optional *set of* *string* \u0026rarr;  The tags of the image. It must be a list of strings. At this time, it is not possible to delete all tags of an image.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FImagesImageTimeouts:ImagesImageTimeouts"},"verifyChecksum":{"type":"boolean","description":"optional *boolean* \u0026rarr;  If false, the checksum will not be verified once the image is finished uploading.\n"},"visibility":{"type":"string","description":"optional *string* \u0026rarr;  The visibility of the image. Must be one of \"private\", \"community\", or \"shared\". The ability to set the visibility depends upon the configuration of the VKCS cloud.\n"}},"requiredInputs":["containerFormat","diskFormat"],"stateInputs":{"description":"Input properties used for looking up and filtering ImagesImage resources.\n","properties":{"archivingFormat":{"type":"string","description":"optional *string* \u0026rarr;  The format of archived image file. Use this to unzip image file when downloading an archive. Currently only \"tar\" format is supported.\u003cbr\u003e**New since v0.4.2**.\n"},"checksum":{"type":"string","description":"*string* \u0026rarr;  The checksum of the data associated with the image.\n"},"compressionFormat":{"type":"string","description":"optional *string* \u0026rarr;  The format of compressed image. Use this attribute to decompress image when downloading it from source. Must be one of \"auto\", \"bzip2\", \"gzip\", \"xz\". If set to \"auto\", response Content-Type header will be used to detect compression format.\u003cbr\u003e**New since v0.4.2**.\n"},"containerFormat":{"type":"string","description":"**required** *string* \u0026rarr;  The container format. Must be one of \"bare\".\n"},"createdAt":{"type":"string","description":"*string* \u0026rarr;  The date the image was created.\n"},"diskFormat":{"type":"string","description":"**required** *string* \u0026rarr;  The disk format. Must be one of \"raw\", \"iso\".\n"},"file":{"type":"string","description":"*string* \u0026rarr;  The trailing path after the image endpoint that represent the location of the image or the path to retrieve it.\n"},"imageCachePath":{"type":"string"},"imageSourcePassword":{"type":"string","description":"optional sensitive *string* \u0026rarr;  The password of basic auth to download \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","secret":true},"imageSourceUrl":{"type":"string","description":"optional *string* \u0026rarr;  This is the url of the raw image. The image will be 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 VKCS. Conflicts 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"},"imageSourceUsername":{"type":"string","description":"optional *string* \u0026rarr;  The username of basic auth to download \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"},"imagesImageId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"localFilePath":{"type":"string","description":"optional *string* \u0026rarr;  This is the filepath of the raw image file that will be uploaded to VKCS. 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"},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"*map of* *string* \u0026rarr;  The metadata associated with the image. Image metadata allow for meaningfully define the image properties and tags. See https://docs.openstack.org/glance/latest/user/metadefs-concepts.html.\n"},"minDiskGb":{"type":"number","description":"optional *number* \u0026rarr;  Amount of disk space (in GB) required to boot VM. Defaults to 0.\n"},"minRamMb":{"type":"number","description":"optional *number* \u0026rarr;  Amount of ram (in MB) required to boot VM. Defauts to 0.\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  The name of the image.\n"},"owner":{"type":"string","description":"*string* \u0026rarr;  The id of the vkcs user who owns the image.\n"},"properties":{"type":"object","additionalProperties":{"type":"string"},"description":"optional *map of* *string* \u0026rarr;  A map of key/value pairs to set freeform information about an image. See the \"Notes\" section for further information about properties.\n"},"protected":{"type":"boolean","description":"optional *boolean* \u0026rarr;  If true, image will not be deletable. Defaults to false.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Image client. An Image client is needed to create an Image that can be used with a compute instance. If 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 creates a new Image.\n"},"schema":{"type":"string","description":"*string* \u0026rarr;  The path to the JSON-schema that represent the image or image\n"},"sizeBytes":{"type":"number","description":"*number* \u0026rarr;  The size in bytes of the data associated with the image.\n"},"status":{"type":"string","description":"*string* \u0026rarr;  The status of the image. It can be \"queued\", \"active\" or \"saving\".\n"},"tags":{"type":"array","items":{"type":"string"},"description":"optional *set of* *string* \u0026rarr;  The tags of the image. It must be a list of strings. At this time, it is not possible to delete all tags of an image.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FImagesImageTimeouts:ImagesImageTimeouts"},"updatedAt":{"type":"string","description":"*string* \u0026rarr;  The date the image was last updated.\n"},"verifyChecksum":{"type":"boolean","description":"optional *boolean* \u0026rarr;  If false, the checksum will not be verified once the image is finished uploading.\n"},"visibility":{"type":"string","description":"optional *string* \u0026rarr;  The visibility of the image. Must be one of \"private\", \"community\", or \"shared\". The ability to set the visibility depends upon the configuration of the VKCS cloud.\n"}},"type":"object"}},"vkcs:index/keymanagerContainer:KeymanagerContainer":{"description":"Manages a key container resource within VKCS.\n\n## Example Usage\n\nThe container with the TLS certificate and private key which can be used by the loadbalancer HTTPS listener.\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst lbCert = new vkcs.KeymanagerContainer(\"lb_cert\", {\n    name: \"container-tf-example\",\n    type: \"certificate\",\n    secretRefs: [\n        {\n            name: \"certificate\",\n            secretRef: certificate.secretRef,\n        },\n        {\n            name: \"private_key\",\n            secretRef: privKey.secretRef,\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\nlb_cert = vkcs.KeymanagerContainer(\"lb_cert\",\n    name=\"container-tf-example\",\n    type=\"certificate\",\n    secret_refs=[\n        {\n            \"name\": \"certificate\",\n            \"secret_ref\": certificate[\"secretRef\"],\n        },\n        {\n            \"name\": \"private_key\",\n            \"secret_ref\": priv_key[\"secretRef\"],\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var lbCert = new Vkcs.KeymanagerContainer(\"lb_cert\", new()\n    {\n        Name = \"container-tf-example\",\n        Type = \"certificate\",\n        SecretRefs = new[]\n        {\n            new Vkcs.Inputs.KeymanagerContainerSecretRefArgs\n            {\n                Name = \"certificate\",\n                SecretRef = certificate.SecretRef,\n            },\n            new Vkcs.Inputs.KeymanagerContainerSecretRefArgs\n            {\n                Name = \"private_key\",\n                SecretRef = privKey.SecretRef,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewKeymanagerContainer(ctx, \"lb_cert\", \u0026vkcs.KeymanagerContainerArgs{\n\t\t\tName: pulumi.String(\"container-tf-example\"),\n\t\t\tType: pulumi.String(\"certificate\"),\n\t\t\tSecretRefs: vkcs.KeymanagerContainerSecretRefArray{\n\t\t\t\t\u0026vkcs.KeymanagerContainerSecretRefArgs{\n\t\t\t\t\tName:      pulumi.String(\"certificate\"),\n\t\t\t\t\tSecretRef: pulumi.Any(certificate.SecretRef),\n\t\t\t\t},\n\t\t\t\t\u0026vkcs.KeymanagerContainerSecretRefArgs{\n\t\t\t\t\tName:      pulumi.String(\"private_key\"),\n\t\t\t\t\tSecretRef: pulumi.Any(privKey.SecretRef),\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.vkcs.KeymanagerContainer;\nimport com.pulumi.vkcs.KeymanagerContainerArgs;\nimport com.pulumi.vkcs.inputs.KeymanagerContainerSecretRefArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 lbCert = new KeymanagerContainer(\"lbCert\", KeymanagerContainerArgs.builder()\n            .name(\"container-tf-example\")\n            .type(\"certificate\")\n            .secretRefs(            \n                KeymanagerContainerSecretRefArgs.builder()\n                    .name(\"certificate\")\n                    .secretRef(certificate.secretRef())\n                    .build(),\n                KeymanagerContainerSecretRefArgs.builder()\n                    .name(\"private_key\")\n                    .secretRef(privKey.secretRef())\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  lbCert:\n    type: vkcs:KeymanagerContainer\n    name: lb_cert\n    properties:\n      name: container-tf-example\n      type: certificate\n      secretRefs:\n        - name: certificate\n          secretRef: ${certificate.secretRef}\n        - name: private_key\n          secretRef: ${privKey.secretRef}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nContainers can be imported using the container id (the last part of the container reference), e.g.:\n\n```sh\n$ pulumi import vkcs:index/keymanagerContainer:KeymanagerContainer container_1 0c6cd26a-c012-4d7b-8034-057c0f1c2953\n```\n\n","properties":{"acl":{"$ref":"#/types/vkcs:index%2FKeymanagerContainerAcl:KeymanagerContainerAcl","description":"optional \u0026rarr;  Allows to control an access to a container. 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 operation is supported. If not specified, the container is accessible project wide. 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 structure is described below.\n"},"consumers":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FKeymanagerContainerConsumer:KeymanagerContainerConsumer"},"description":"*object* \u0026rarr;  The list of the container consumers. The structure is described below.\n"},"containerRef":{"type":"string","description":"*string* \u0026rarr;  The container reference / where to find the container.\n"},"createdAt":{"type":"string","description":"*string* \u0026rarr;  The date the container ACL was created.\n"},"creatorId":{"type":"string","description":"*string* \u0026rarr;  The creator of the container.\n"},"keymanagerContainerId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  Human-readable name for the Container. Does not have to be unique.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the KeyManager client. A KeyManager client is needed to create a container. If 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 creates a new container.\n"},"secretRefs":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FKeymanagerContainerSecretRef:KeymanagerContainerSecretRef"},"description":"optional \u0026rarr;  A set of dictionaries containing references to secrets. The structure is described below.\n"},"status":{"type":"string","description":"*string* \u0026rarr;  The status of the container.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FKeymanagerContainerTimeouts:KeymanagerContainerTimeouts"},"type":{"type":"string","description":"**required** *string* \u0026rarr;  Used to indicate the type of container. Must be one of \u003cspan pulumi-lang-nodejs=\"`generic`\" pulumi-lang-dotnet=\"`Generic`\" pulumi-lang-go=\"`generic`\" pulumi-lang-python=\"`generic`\" pulumi-lang-yaml=\"`generic`\" pulumi-lang-java=\"`generic`\"\u003e`generic`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`rsa`\" pulumi-lang-dotnet=\"`Rsa`\" pulumi-lang-go=\"`rsa`\" pulumi-lang-python=\"`rsa`\" pulumi-lang-yaml=\"`rsa`\" pulumi-lang-java=\"`rsa`\"\u003e`rsa`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`certificate`\" pulumi-lang-dotnet=\"`Certificate`\" pulumi-lang-go=\"`certificate`\" pulumi-lang-python=\"`certificate`\" pulumi-lang-yaml=\"`certificate`\" pulumi-lang-java=\"`certificate`\"\u003e`certificate`\u003c/span\u003e.\n"},"updatedAt":{"type":"string","description":"*string* \u0026rarr;  The date the container ACL was last updated.\n"}},"type":"object","required":["consumers","containerRef","createdAt","creatorId","keymanagerContainerId","name","region","status","type","updatedAt"],"inputProperties":{"acl":{"$ref":"#/types/vkcs:index%2FKeymanagerContainerAcl:KeymanagerContainerAcl","description":"optional \u0026rarr;  Allows to control an access to a container. 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 operation is supported. If not specified, the container is accessible project wide. 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 structure is described below.\n"},"keymanagerContainerId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  Human-readable name for the Container. Does not have to be unique.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the KeyManager client. A KeyManager client is needed to create a container. If 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 creates a new container.\n"},"secretRefs":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FKeymanagerContainerSecretRef:KeymanagerContainerSecretRef"},"description":"optional \u0026rarr;  A set of dictionaries containing references to secrets. The structure is described below.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FKeymanagerContainerTimeouts:KeymanagerContainerTimeouts"},"type":{"type":"string","description":"**required** *string* \u0026rarr;  Used to indicate the type of container. Must be one of \u003cspan pulumi-lang-nodejs=\"`generic`\" pulumi-lang-dotnet=\"`Generic`\" pulumi-lang-go=\"`generic`\" pulumi-lang-python=\"`generic`\" pulumi-lang-yaml=\"`generic`\" pulumi-lang-java=\"`generic`\"\u003e`generic`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`rsa`\" pulumi-lang-dotnet=\"`Rsa`\" pulumi-lang-go=\"`rsa`\" pulumi-lang-python=\"`rsa`\" pulumi-lang-yaml=\"`rsa`\" pulumi-lang-java=\"`rsa`\"\u003e`rsa`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`certificate`\" pulumi-lang-dotnet=\"`Certificate`\" pulumi-lang-go=\"`certificate`\" pulumi-lang-python=\"`certificate`\" pulumi-lang-yaml=\"`certificate`\" pulumi-lang-java=\"`certificate`\"\u003e`certificate`\u003c/span\u003e.\n"}},"requiredInputs":["type"],"stateInputs":{"description":"Input properties used for looking up and filtering KeymanagerContainer resources.\n","properties":{"acl":{"$ref":"#/types/vkcs:index%2FKeymanagerContainerAcl:KeymanagerContainerAcl","description":"optional \u0026rarr;  Allows to control an access to a container. 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 operation is supported. If not specified, the container is accessible project wide. 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 structure is described below.\n"},"consumers":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FKeymanagerContainerConsumer:KeymanagerContainerConsumer"},"description":"*object* \u0026rarr;  The list of the container consumers. The structure is described below.\n"},"containerRef":{"type":"string","description":"*string* \u0026rarr;  The container reference / where to find the container.\n"},"createdAt":{"type":"string","description":"*string* \u0026rarr;  The date the container ACL was created.\n"},"creatorId":{"type":"string","description":"*string* \u0026rarr;  The creator of the container.\n"},"keymanagerContainerId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  Human-readable name for the Container. Does not have to be unique.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the KeyManager client. A KeyManager client is needed to create a container. If 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 creates a new container.\n"},"secretRefs":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FKeymanagerContainerSecretRef:KeymanagerContainerSecretRef"},"description":"optional \u0026rarr;  A set of dictionaries containing references to secrets. The structure is described below.\n"},"status":{"type":"string","description":"*string* \u0026rarr;  The status of the container.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FKeymanagerContainerTimeouts:KeymanagerContainerTimeouts"},"type":{"type":"string","description":"**required** *string* \u0026rarr;  Used to indicate the type of container. Must be one of \u003cspan pulumi-lang-nodejs=\"`generic`\" pulumi-lang-dotnet=\"`Generic`\" pulumi-lang-go=\"`generic`\" pulumi-lang-python=\"`generic`\" pulumi-lang-yaml=\"`generic`\" pulumi-lang-java=\"`generic`\"\u003e`generic`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`rsa`\" pulumi-lang-dotnet=\"`Rsa`\" pulumi-lang-go=\"`rsa`\" pulumi-lang-python=\"`rsa`\" pulumi-lang-yaml=\"`rsa`\" pulumi-lang-java=\"`rsa`\"\u003e`rsa`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`certificate`\" pulumi-lang-dotnet=\"`Certificate`\" pulumi-lang-go=\"`certificate`\" pulumi-lang-python=\"`certificate`\" pulumi-lang-yaml=\"`certificate`\" pulumi-lang-java=\"`certificate`\"\u003e`certificate`\u003c/span\u003e.\n"},"updatedAt":{"type":"string","description":"*string* \u0026rarr;  The date the container ACL was last updated.\n"}},"type":"object"}},"vkcs:index/keymanagerSecret:KeymanagerSecret":{"description":"## Example Usage\n\n## Import\n\nSecrets can be imported using the secret id (the last part of the secret reference), e.g.:\n\n```sh\n$ pulumi import vkcs:index/keymanagerSecret:KeymanagerSecret secret_1 8a7a79c2-cf17-4e65-b2ae-ddc8bfcf6c74\n```\n\n","properties":{"acl":{"$ref":"#/types/vkcs:index%2FKeymanagerSecretAcl:KeymanagerSecretAcl","description":"optional \u0026rarr;  Allows to control an access to a secret. 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 operation is supported. If not specified, the secret is accessible project wide.\n"},"algorithm":{"type":"string","description":"optional *string* \u0026rarr;  Metadata provided by a user or system for informational purposes.\n"},"allMetadata":{"type":"object","additionalProperties":{"type":"string"},"description":"*map of* *string* \u0026rarr;  The map of metadata, assigned on the secret, which has been explicitly and implicitly added.\n"},"bitLength":{"type":"number","description":"optional *number* \u0026rarr;  Metadata provided by a user or system for informational purposes.\n"},"contentTypes":{"type":"object","additionalProperties":{"type":"string"},"description":"*map of* *string* \u0026rarr;  The map of the content types, assigned on the secret.\n"},"createdAt":{"type":"string","description":"*string* \u0026rarr;  The date the secret ACL was created.\n"},"creatorId":{"type":"string","description":"*string* \u0026rarr;  The creator of the secret.\n"},"expiration":{"type":"string","description":"optional *string* \u0026rarr;  The expiration time of the secret in the RFC3339 timestamp format (e.g. `2019-03-09T12:58:49Z`). If omitted, a secret will never expire. Changing this creates a new secret.\n"},"keymanagerSecretId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"optional *map of* *string* \u0026rarr;  Additional Metadata for the secret.\n"},"mode":{"type":"string","description":"optional *string* \u0026rarr;  Metadata provided by a user or system for informational purposes.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  Human-readable name for the Secret. Does not have to be unique.\n"},"payload":{"type":"string","description":"optional sensitive *string* \u0026rarr;  The secret's data to be stored. **payload\\_content\\_type** must also be supplied if **payload** is included.\n","secret":true},"payloadContentEncoding":{"type":"string","description":"optional *string* \u0026rarr;  (required if **payload** is encoded) The encoding used for the payload to be able to include it in the JSON request. Must be either \u003cspan pulumi-lang-nodejs=\"`base64`\" pulumi-lang-dotnet=\"`Base64`\" pulumi-lang-go=\"`base64`\" pulumi-lang-python=\"`base64`\" pulumi-lang-yaml=\"`base64`\" pulumi-lang-java=\"`base64`\"\u003e`base64`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`binary`\" pulumi-lang-dotnet=\"`Binary`\" pulumi-lang-go=\"`binary`\" pulumi-lang-python=\"`binary`\" pulumi-lang-yaml=\"`binary`\" pulumi-lang-java=\"`binary`\"\u003e`binary`\u003c/span\u003e.\n"},"payloadContentType":{"type":"string","description":"optional *string* \u0026rarr;  (required if **payload** is included) The media type for the content of the payload. Must be one of `text/plain`, `text/plain;charset=utf-8`, `text/plain; charset=utf-8`, `application/octet-stream`, `application/pkcs8`.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the KeyManager client. A KeyManager client is needed to create a secret. If 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 creates a new V1 secret.\n"},"secretRef":{"type":"string","description":"*string* \u0026rarr;  The secret reference / where to find the secret.\n"},"secretType":{"type":"string","description":"optional *string* \u0026rarr;  Used to indicate the type of secret being stored. For more information see [Secret types](https://docs.openstack.org/barbican/latest/api/reference/secret_types.html).\n"},"status":{"type":"string","description":"*string* \u0026rarr;  The status of the secret.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FKeymanagerSecretTimeouts:KeymanagerSecretTimeouts"},"updatedAt":{"type":"string","description":"*string* \u0026rarr;  The date the secret ACL was last updated.\n"}},"type":"object","required":["algorithm","allMetadata","bitLength","contentTypes","createdAt","creatorId","keymanagerSecretId","mode","name","payload","region","secretRef","secretType","status","updatedAt"],"inputProperties":{"acl":{"$ref":"#/types/vkcs:index%2FKeymanagerSecretAcl:KeymanagerSecretAcl","description":"optional \u0026rarr;  Allows to control an access to a secret. 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 operation is supported. If not specified, the secret is accessible project wide.\n"},"algorithm":{"type":"string","description":"optional *string* \u0026rarr;  Metadata provided by a user or system for informational purposes.\n"},"bitLength":{"type":"number","description":"optional *number* \u0026rarr;  Metadata provided by a user or system for informational purposes.\n"},"expiration":{"type":"string","description":"optional *string* \u0026rarr;  The expiration time of the secret in the RFC3339 timestamp format (e.g. `2019-03-09T12:58:49Z`). If omitted, a secret will never expire. Changing this creates a new secret.\n"},"keymanagerSecretId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"optional *map of* *string* \u0026rarr;  Additional Metadata for the secret.\n"},"mode":{"type":"string","description":"optional *string* \u0026rarr;  Metadata provided by a user or system for informational purposes.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  Human-readable name for the Secret. Does not have to be unique.\n"},"payload":{"type":"string","description":"optional sensitive *string* \u0026rarr;  The secret's data to be stored. **payload\\_content\\_type** must also be supplied if **payload** is included.\n","secret":true},"payloadContentEncoding":{"type":"string","description":"optional *string* \u0026rarr;  (required if **payload** is encoded) The encoding used for the payload to be able to include it in the JSON request. Must be either \u003cspan pulumi-lang-nodejs=\"`base64`\" pulumi-lang-dotnet=\"`Base64`\" pulumi-lang-go=\"`base64`\" pulumi-lang-python=\"`base64`\" pulumi-lang-yaml=\"`base64`\" pulumi-lang-java=\"`base64`\"\u003e`base64`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`binary`\" pulumi-lang-dotnet=\"`Binary`\" pulumi-lang-go=\"`binary`\" pulumi-lang-python=\"`binary`\" pulumi-lang-yaml=\"`binary`\" pulumi-lang-java=\"`binary`\"\u003e`binary`\u003c/span\u003e.\n"},"payloadContentType":{"type":"string","description":"optional *string* \u0026rarr;  (required if **payload** is included) The media type for the content of the payload. Must be one of `text/plain`, `text/plain;charset=utf-8`, `text/plain; charset=utf-8`, `application/octet-stream`, `application/pkcs8`.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the KeyManager client. A KeyManager client is needed to create a secret. If 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 creates a new V1 secret.\n"},"secretType":{"type":"string","description":"optional *string* \u0026rarr;  Used to indicate the type of secret being stored. For more information see [Secret types](https://docs.openstack.org/barbican/latest/api/reference/secret_types.html).\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FKeymanagerSecretTimeouts:KeymanagerSecretTimeouts"}},"stateInputs":{"description":"Input properties used for looking up and filtering KeymanagerSecret resources.\n","properties":{"acl":{"$ref":"#/types/vkcs:index%2FKeymanagerSecretAcl:KeymanagerSecretAcl","description":"optional \u0026rarr;  Allows to control an access to a secret. 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 operation is supported. If not specified, the secret is accessible project wide.\n"},"algorithm":{"type":"string","description":"optional *string* \u0026rarr;  Metadata provided by a user or system for informational purposes.\n"},"allMetadata":{"type":"object","additionalProperties":{"type":"string"},"description":"*map of* *string* \u0026rarr;  The map of metadata, assigned on the secret, which has been explicitly and implicitly added.\n"},"bitLength":{"type":"number","description":"optional *number* \u0026rarr;  Metadata provided by a user or system for informational purposes.\n"},"contentTypes":{"type":"object","additionalProperties":{"type":"string"},"description":"*map of* *string* \u0026rarr;  The map of the content types, assigned on the secret.\n"},"createdAt":{"type":"string","description":"*string* \u0026rarr;  The date the secret ACL was created.\n"},"creatorId":{"type":"string","description":"*string* \u0026rarr;  The creator of the secret.\n"},"expiration":{"type":"string","description":"optional *string* \u0026rarr;  The expiration time of the secret in the RFC3339 timestamp format (e.g. `2019-03-09T12:58:49Z`). If omitted, a secret will never expire. Changing this creates a new secret.\n"},"keymanagerSecretId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"optional *map of* *string* \u0026rarr;  Additional Metadata for the secret.\n"},"mode":{"type":"string","description":"optional *string* \u0026rarr;  Metadata provided by a user or system for informational purposes.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  Human-readable name for the Secret. Does not have to be unique.\n"},"payload":{"type":"string","description":"optional sensitive *string* \u0026rarr;  The secret's data to be stored. **payload\\_content\\_type** must also be supplied if **payload** is included.\n","secret":true},"payloadContentEncoding":{"type":"string","description":"optional *string* \u0026rarr;  (required if **payload** is encoded) The encoding used for the payload to be able to include it in the JSON request. Must be either \u003cspan pulumi-lang-nodejs=\"`base64`\" pulumi-lang-dotnet=\"`Base64`\" pulumi-lang-go=\"`base64`\" pulumi-lang-python=\"`base64`\" pulumi-lang-yaml=\"`base64`\" pulumi-lang-java=\"`base64`\"\u003e`base64`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`binary`\" pulumi-lang-dotnet=\"`Binary`\" pulumi-lang-go=\"`binary`\" pulumi-lang-python=\"`binary`\" pulumi-lang-yaml=\"`binary`\" pulumi-lang-java=\"`binary`\"\u003e`binary`\u003c/span\u003e.\n"},"payloadContentType":{"type":"string","description":"optional *string* \u0026rarr;  (required if **payload** is included) The media type for the content of the payload. Must be one of `text/plain`, `text/plain;charset=utf-8`, `text/plain; charset=utf-8`, `application/octet-stream`, `application/pkcs8`.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the KeyManager client. A KeyManager client is needed to create a secret. If 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 creates a new V1 secret.\n"},"secretRef":{"type":"string","description":"*string* \u0026rarr;  The secret reference / where to find the secret.\n"},"secretType":{"type":"string","description":"optional *string* \u0026rarr;  Used to indicate the type of secret being stored. For more information see [Secret types](https://docs.openstack.org/barbican/latest/api/reference/secret_types.html).\n"},"status":{"type":"string","description":"*string* \u0026rarr;  The status of the secret.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FKeymanagerSecretTimeouts:KeymanagerSecretTimeouts"},"updatedAt":{"type":"string","description":"*string* \u0026rarr;  The date the secret ACL was last updated.\n"}},"type":"object"}},"vkcs:index/kubernetesAddon:KubernetesAddon":{"description":"Provides a kubernetes cluster addon resource. This can be used to create, modify and delete kubernetes cluster addons.\n\n**New since v0.3.0**.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst kubePrometheusStack = new vkcs.KubernetesAddon(\"kube_prometheus_stack\", {\n    clusterId: k8sCluster.id,\n    addonId: kubePrometheusStackVkcsKubernetesAddon.id,\n    namespace: \"monitoring\",\n    configurationValues: kubePrometheusStackVkcsKubernetesAddon.configurationValues,\n}, {\n    dependsOn: [defaultNg],\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\nkube_prometheus_stack = vkcs.KubernetesAddon(\"kube_prometheus_stack\",\n    cluster_id=k8s_cluster[\"id\"],\n    addon_id=kube_prometheus_stack_vkcs_kubernetes_addon[\"id\"],\n    namespace=\"monitoring\",\n    configuration_values=kube_prometheus_stack_vkcs_kubernetes_addon[\"configurationValues\"],\n    opts = pulumi.ResourceOptions(depends_on=[default_ng]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var kubePrometheusStack = new Vkcs.KubernetesAddon(\"kube_prometheus_stack\", new()\n    {\n        ClusterId = k8sCluster.Id,\n        AddonId = kubePrometheusStackVkcsKubernetesAddon.Id,\n        Namespace = \"monitoring\",\n        ConfigurationValues = kubePrometheusStackVkcsKubernetesAddon.ConfigurationValues,\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            defaultNg,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewKubernetesAddon(ctx, \"kube_prometheus_stack\", \u0026vkcs.KubernetesAddonArgs{\n\t\t\tClusterId:           pulumi.Any(k8sCluster.Id),\n\t\t\tAddonId:             pulumi.Any(kubePrometheusStackVkcsKubernetesAddon.Id),\n\t\t\tNamespace:           pulumi.String(\"monitoring\"),\n\t\t\tConfigurationValues: pulumi.Any(kubePrometheusStackVkcsKubernetesAddon.ConfigurationValues),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tdefaultNg,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.vkcs.KubernetesAddon;\nimport com.pulumi.vkcs.KubernetesAddonArgs;\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 kubePrometheusStack = new KubernetesAddon(\"kubePrometheusStack\", KubernetesAddonArgs.builder()\n            .clusterId(k8sCluster.id())\n            .addonId(kubePrometheusStackVkcsKubernetesAddon.id())\n            .namespace(\"monitoring\")\n            .configurationValues(kubePrometheusStackVkcsKubernetesAddon.configurationValues())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(defaultNg)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  kubePrometheusStack:\n    type: vkcs:KubernetesAddon\n    name: kube_prometheus_stack\n    properties:\n      clusterId: ${k8sCluster.id}\n      addonId: ${kubePrometheusStackVkcsKubernetesAddon.id}\n      namespace: monitoring\n      configurationValues: ${kubePrometheusStackVkcsKubernetesAddon.configurationValues}\n    options:\n      dependsOn:\n        - ${defaultNg}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCluster addons can be imported using the `id` in the form `\u003ccluster-id\u003e/\u003ccluster-addon-id\u003e`, e.g.\n\n```sh\n$ pulumi import vkcs:index/kubernetesAddon:KubernetesAddon addon 141a1f77-0e89-4b63-8d75-1b4ae496f862/a94c8ae2-0cac-4795-9253-d23ce2a70f86\n```\n\n","properties":{"addonId":{"type":"string","description":"**required** *string* \u0026rarr;  The id of the addon. Changing this creates a new addon.\n"},"clusterId":{"type":"string","description":"**required** *string* \u0026rarr;  The ID of the kubernetes cluster. Changing this creates a new addon.\n"},"configurationValues":{"type":"string","description":"optional *string* \u0026rarr;  Configuration code for the addon. Changing this creates a new addon.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  The name of the application. Changing this creates a new addon.\n"},"namespace":{"type":"string","description":"**required** *string* \u0026rarr;  The namespace name where the addon will be installed.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Container Infra Addons client. If 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 creates a new addon.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FKubernetesAddonTimeouts:KubernetesAddonTimeouts"}},"type":"object","required":["addonId","clusterId","configurationValues","name","namespace","region"],"inputProperties":{"addonId":{"type":"string","description":"**required** *string* \u0026rarr;  The id of the addon. Changing this creates a new addon.\n"},"clusterId":{"type":"string","description":"**required** *string* \u0026rarr;  The ID of the kubernetes cluster. Changing this creates a new addon.\n"},"configurationValues":{"type":"string","description":"optional *string* \u0026rarr;  Configuration code for the addon. Changing this creates a new addon.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  The name of the application. Changing this creates a new addon.\n"},"namespace":{"type":"string","description":"**required** *string* \u0026rarr;  The namespace name where the addon will be installed.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Container Infra Addons client. If 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 creates a new addon.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FKubernetesAddonTimeouts:KubernetesAddonTimeouts"}},"requiredInputs":["addonId","clusterId","namespace"],"stateInputs":{"description":"Input properties used for looking up and filtering KubernetesAddon resources.\n","properties":{"addonId":{"type":"string","description":"**required** *string* \u0026rarr;  The id of the addon. Changing this creates a new addon.\n"},"clusterId":{"type":"string","description":"**required** *string* \u0026rarr;  The ID of the kubernetes cluster. Changing this creates a new addon.\n"},"configurationValues":{"type":"string","description":"optional *string* \u0026rarr;  Configuration code for the addon. Changing this creates a new addon.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  The name of the application. Changing this creates a new addon.\n"},"namespace":{"type":"string","description":"**required** *string* \u0026rarr;  The namespace name where the addon will be installed.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Container Infra Addons client. If 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 creates a new addon.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FKubernetesAddonTimeouts:KubernetesAddonTimeouts"}},"type":"object"}},"vkcs:index/kubernetesCluster:KubernetesCluster":{"description":"Provides a kubernetes cluster resource. This can be used to create, modify and delete kubernetes clusters.\n\n## Standard Kubernetes cluster\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst k8sCluster = new vkcs.KubernetesCluster(\"k8s_cluster\", {\n    name: \"k8s-standard-cluster\",\n    clusterType: \"standard\",\n    clusterTemplateId: k8s31.id,\n    masterFlavor: basic.id,\n    masterCount: 1,\n    labels: {\n        cloud_monitoring: \"true\",\n        kube_log_level: \"2\",\n        clean_volumes: \"true\",\n        master_volume_size: \"100\",\n        cluster_node_volume_type: \"ceph-ssd\",\n    },\n    availabilityZone: \"MS1\",\n    networkId: appVkcsNetworkingNetwork.id,\n    subnetId: appVkcsNetworkingSubnet.id,\n    floatingIpEnabled: true,\n    syncSecurityPolicy: true,\n}, {\n    dependsOn: [app],\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\nk8s_cluster = vkcs.KubernetesCluster(\"k8s_cluster\",\n    name=\"k8s-standard-cluster\",\n    cluster_type=\"standard\",\n    cluster_template_id=k8s31[\"id\"],\n    master_flavor=basic[\"id\"],\n    master_count=1,\n    labels={\n        \"cloud_monitoring\": \"true\",\n        \"kube_log_level\": \"2\",\n        \"clean_volumes\": \"true\",\n        \"master_volume_size\": \"100\",\n        \"cluster_node_volume_type\": \"ceph-ssd\",\n    },\n    availability_zone=\"MS1\",\n    network_id=app_vkcs_networking_network[\"id\"],\n    subnet_id=app_vkcs_networking_subnet[\"id\"],\n    floating_ip_enabled=True,\n    sync_security_policy=True,\n    opts = pulumi.ResourceOptions(depends_on=[app]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var k8sCluster = new Vkcs.KubernetesCluster(\"k8s_cluster\", new()\n    {\n        Name = \"k8s-standard-cluster\",\n        ClusterType = \"standard\",\n        ClusterTemplateId = k8s31.Id,\n        MasterFlavor = basic.Id,\n        MasterCount = 1,\n        Labels = \n        {\n            { \"cloud_monitoring\", \"true\" },\n            { \"kube_log_level\", \"2\" },\n            { \"clean_volumes\", \"true\" },\n            { \"master_volume_size\", \"100\" },\n            { \"cluster_node_volume_type\", \"ceph-ssd\" },\n        },\n        AvailabilityZone = \"MS1\",\n        NetworkId = appVkcsNetworkingNetwork.Id,\n        SubnetId = appVkcsNetworkingSubnet.Id,\n        FloatingIpEnabled = true,\n        SyncSecurityPolicy = true,\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            app,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewKubernetesCluster(ctx, \"k8s_cluster\", \u0026vkcs.KubernetesClusterArgs{\n\t\t\tName:              pulumi.String(\"k8s-standard-cluster\"),\n\t\t\tClusterType:       pulumi.String(\"standard\"),\n\t\t\tClusterTemplateId: pulumi.Any(k8s31.Id),\n\t\t\tMasterFlavor:      pulumi.Any(basic.Id),\n\t\t\tMasterCount:       pulumi.Float64(1),\n\t\t\tLabels: pulumi.StringMap{\n\t\t\t\t\"cloud_monitoring\":         pulumi.String(\"true\"),\n\t\t\t\t\"kube_log_level\":           pulumi.String(\"2\"),\n\t\t\t\t\"clean_volumes\":            pulumi.String(\"true\"),\n\t\t\t\t\"master_volume_size\":       pulumi.String(\"100\"),\n\t\t\t\t\"cluster_node_volume_type\": pulumi.String(\"ceph-ssd\"),\n\t\t\t},\n\t\t\tAvailabilityZone:   pulumi.String(\"MS1\"),\n\t\t\tNetworkId:          pulumi.Any(appVkcsNetworkingNetwork.Id),\n\t\t\tSubnetId:           pulumi.Any(appVkcsNetworkingSubnet.Id),\n\t\t\tFloatingIpEnabled:  pulumi.Bool(true),\n\t\t\tSyncSecurityPolicy: pulumi.Bool(true),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tapp,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.vkcs.KubernetesCluster;\nimport com.pulumi.vkcs.KubernetesClusterArgs;\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 k8sCluster = new KubernetesCluster(\"k8sCluster\", KubernetesClusterArgs.builder()\n            .name(\"k8s-standard-cluster\")\n            .clusterType(\"standard\")\n            .clusterTemplateId(k8s31.id())\n            .masterFlavor(basic.id())\n            .masterCount(1.0)\n            .labels(Map.ofEntries(\n                Map.entry(\"cloud_monitoring\", \"true\"),\n                Map.entry(\"kube_log_level\", \"2\"),\n                Map.entry(\"clean_volumes\", \"true\"),\n                Map.entry(\"master_volume_size\", \"100\"),\n                Map.entry(\"cluster_node_volume_type\", \"ceph-ssd\")\n            ))\n            .availabilityZone(\"MS1\")\n            .networkId(appVkcsNetworkingNetwork.id())\n            .subnetId(appVkcsNetworkingSubnet.id())\n            .floatingIpEnabled(true)\n            .syncSecurityPolicy(true)\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(app)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  k8sCluster:\n    type: vkcs:KubernetesCluster\n    name: k8s_cluster\n    properties:\n      name: k8s-standard-cluster\n      clusterType: standard\n      clusterTemplateId: ${k8s31.id}\n      masterFlavor: ${basic.id}\n      masterCount: 1\n      labels:\n        cloud_monitoring: 'true'\n        kube_log_level: '2'\n        clean_volumes: 'true'\n        master_volume_size: '100'\n        cluster_node_volume_type: ceph-ssd\n      availabilityZone: MS1\n      networkId: ${appVkcsNetworkingNetwork.id}\n      subnetId: ${appVkcsNetworkingSubnet.id}\n      floatingIpEnabled: true\n      syncSecurityPolicy: true # If your configuration also defines a network for the instance,\n      #   # ensure it is attached to a router before creating of the instance\n    options:\n      dependsOn:\n        - ${app}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Regional Kubernetes cluster\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst k8sCluster = new vkcs.KubernetesCluster(\"k8s_cluster\", {\n    name: \"k8s-regional-cluster\",\n    clusterType: \"regional\",\n    clusterTemplateId: k8s31.id,\n    masterFlavor: basic.id,\n    masterCount: 3,\n    labels: {\n        cloud_monitoring: \"true\",\n        kube_log_level: \"2\",\n        clean_volumes: \"true\",\n        master_volume_size: \"100\",\n        cluster_node_volume_type: \"ceph-ssd\",\n    },\n    networkId: appVkcsNetworkingNetwork.id,\n    subnetId: appVkcsNetworkingSubnet.id,\n    floatingIpEnabled: true,\n    syncSecurityPolicy: true,\n}, {\n    dependsOn: [app],\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\nk8s_cluster = vkcs.KubernetesCluster(\"k8s_cluster\",\n    name=\"k8s-regional-cluster\",\n    cluster_type=\"regional\",\n    cluster_template_id=k8s31[\"id\"],\n    master_flavor=basic[\"id\"],\n    master_count=3,\n    labels={\n        \"cloud_monitoring\": \"true\",\n        \"kube_log_level\": \"2\",\n        \"clean_volumes\": \"true\",\n        \"master_volume_size\": \"100\",\n        \"cluster_node_volume_type\": \"ceph-ssd\",\n    },\n    network_id=app_vkcs_networking_network[\"id\"],\n    subnet_id=app_vkcs_networking_subnet[\"id\"],\n    floating_ip_enabled=True,\n    sync_security_policy=True,\n    opts = pulumi.ResourceOptions(depends_on=[app]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var k8sCluster = new Vkcs.KubernetesCluster(\"k8s_cluster\", new()\n    {\n        Name = \"k8s-regional-cluster\",\n        ClusterType = \"regional\",\n        ClusterTemplateId = k8s31.Id,\n        MasterFlavor = basic.Id,\n        MasterCount = 3,\n        Labels = \n        {\n            { \"cloud_monitoring\", \"true\" },\n            { \"kube_log_level\", \"2\" },\n            { \"clean_volumes\", \"true\" },\n            { \"master_volume_size\", \"100\" },\n            { \"cluster_node_volume_type\", \"ceph-ssd\" },\n        },\n        NetworkId = appVkcsNetworkingNetwork.Id,\n        SubnetId = appVkcsNetworkingSubnet.Id,\n        FloatingIpEnabled = true,\n        SyncSecurityPolicy = true,\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            app,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewKubernetesCluster(ctx, \"k8s_cluster\", \u0026vkcs.KubernetesClusterArgs{\n\t\t\tName:              pulumi.String(\"k8s-regional-cluster\"),\n\t\t\tClusterType:       pulumi.String(\"regional\"),\n\t\t\tClusterTemplateId: pulumi.Any(k8s31.Id),\n\t\t\tMasterFlavor:      pulumi.Any(basic.Id),\n\t\t\tMasterCount:       pulumi.Float64(3),\n\t\t\tLabels: pulumi.StringMap{\n\t\t\t\t\"cloud_monitoring\":         pulumi.String(\"true\"),\n\t\t\t\t\"kube_log_level\":           pulumi.String(\"2\"),\n\t\t\t\t\"clean_volumes\":            pulumi.String(\"true\"),\n\t\t\t\t\"master_volume_size\":       pulumi.String(\"100\"),\n\t\t\t\t\"cluster_node_volume_type\": pulumi.String(\"ceph-ssd\"),\n\t\t\t},\n\t\t\tNetworkId:          pulumi.Any(appVkcsNetworkingNetwork.Id),\n\t\t\tSubnetId:           pulumi.Any(appVkcsNetworkingSubnet.Id),\n\t\t\tFloatingIpEnabled:  pulumi.Bool(true),\n\t\t\tSyncSecurityPolicy: pulumi.Bool(true),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tapp,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.vkcs.KubernetesCluster;\nimport com.pulumi.vkcs.KubernetesClusterArgs;\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 k8sCluster = new KubernetesCluster(\"k8sCluster\", KubernetesClusterArgs.builder()\n            .name(\"k8s-regional-cluster\")\n            .clusterType(\"regional\")\n            .clusterTemplateId(k8s31.id())\n            .masterFlavor(basic.id())\n            .masterCount(3.0)\n            .labels(Map.ofEntries(\n                Map.entry(\"cloud_monitoring\", \"true\"),\n                Map.entry(\"kube_log_level\", \"2\"),\n                Map.entry(\"clean_volumes\", \"true\"),\n                Map.entry(\"master_volume_size\", \"100\"),\n                Map.entry(\"cluster_node_volume_type\", \"ceph-ssd\")\n            ))\n            .networkId(appVkcsNetworkingNetwork.id())\n            .subnetId(appVkcsNetworkingSubnet.id())\n            .floatingIpEnabled(true)\n            .syncSecurityPolicy(true)\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(app)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  k8sCluster:\n    type: vkcs:KubernetesCluster\n    name: k8s_cluster\n    properties:\n      name: k8s-regional-cluster\n      clusterType: regional\n      clusterTemplateId: ${k8s31.id}\n      masterFlavor: ${basic.id}\n      masterCount: 3\n      labels:\n        cloud_monitoring: 'true'\n        kube_log_level: '2'\n        clean_volumes: 'true'\n        master_volume_size: '100'\n        cluster_node_volume_type: ceph-ssd\n      networkId: ${appVkcsNetworkingNetwork.id}\n      subnetId: ${appVkcsNetworkingSubnet.id}\n      floatingIpEnabled: true\n      syncSecurityPolicy: true # If your configuration also defines a network for the instance,\n      #   # ensure it is attached to a router before creating of the instance\n    options:\n      dependsOn:\n        - ${app}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nClusters can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import vkcs:index/kubernetesCluster:KubernetesCluster mycluster ce0f9463-dd25-474b-9fe8-94de63e5e42b\n```\n\n","properties":{"allLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"*map of* *string* \u0026rarr;  The read-only map of all cluster labels.\u003cbr\u003e**New since v0.5.1**.\n"},"apiAddress":{"type":"string","description":"*string* \u0026rarr;  COE API address.\n"},"apiLbFip":{"type":"string","description":"optional *string* \u0026rarr;  API LoadBalancer fip. IP address field.\n"},"apiLbVip":{"type":"string","description":"optional *string* \u0026rarr;  API LoadBalancer vip. IP address field. The field is read-only, the value set in this field will be ignored. The ability to set this field will be removed in future versions of the provider.\n"},"availabilityZone":{"type":"string","description":"optional *string* \u0026rarr;  Availability zone of the cluster, set this argument only for cluster with type \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.\n"},"availabilityZones":{"type":"array","items":{"type":"string"},"description":"optional *set of* *string* \u0026rarr;  Availability zones of the regional cluster, set this argument only for cluster with type \u003cspan pulumi-lang-nodejs=\"`regional`\" pulumi-lang-dotnet=\"`Regional`\" pulumi-lang-go=\"`regional`\" pulumi-lang-python=\"`regional`\" pulumi-lang-yaml=\"`regional`\" pulumi-lang-java=\"`regional`\"\u003e`regional`\u003c/span\u003e. If you do not set this argument, the availability zones will be selected automatically.\u003cbr\u003e**New since v0.8.3**.\n"},"clusterTemplateId":{"type":"string","description":"**required** *string* \u0026rarr;  The UUID of the Kubernetes cluster template. It can be obtained using the\u003cspan pulumi-lang-nodejs=\" vkcs.getKubernetesClustertemplate \" pulumi-lang-dotnet=\" vkcs.getKubernetesClustertemplate \" pulumi-lang-go=\" getKubernetesClustertemplate \" pulumi-lang-python=\" get_kubernetes_clustertemplate \" pulumi-lang-yaml=\" vkcs.getKubernetesClustertemplate \" pulumi-lang-java=\" vkcs.getKubernetesClustertemplate \"\u003e vkcs.getKubernetesClustertemplate \u003c/span\u003edata source.\n"},"clusterType":{"type":"string","description":"optional *string* \u0026rarr;  Type of the kubernetes cluster, may be \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 or \u003cspan pulumi-lang-nodejs=\"`regional`\" pulumi-lang-dotnet=\"`Regional`\" pulumi-lang-go=\"`regional`\" pulumi-lang-python=\"`regional`\" pulumi-lang-yaml=\"`regional`\" pulumi-lang-java=\"`regional`\"\u003e`regional`\u003c/span\u003e. Default type is \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.\u003cbr\u003e**New since v0.8.3**.\n"},"createdAt":{"type":"string","description":"*string* \u0026rarr;  The time at which cluster was created.\n"},"dnsDomain":{"type":"string","description":"optional *string* \u0026rarr;  Custom DNS cluster domain. Changing this creates a new cluster.\n"},"externalNetworkId":{"type":"string","description":"optional *string* \u0026rarr;  ID of external network, it should be specified if cloud deployment doesn't have a public external network. Changing this creates new cluster.\u003cbr\u003e**New since v0.12.0**.\n"},"floatingIpEnabled":{"type":"boolean","description":"**required** *boolean* \u0026rarr;  Floating ip is enabled.\n"},"ingressFloatingIp":{"type":"string","description":"optional deprecated *string* \u0026rarr;  Floating IP created for ingress service. **Deprecated** This argument is deprecated as Ingress controller is not currently installed by default.\n","deprecationMessage":"Deprecated"},"insecureRegistries":{"type":"array","items":{"type":"string"},"description":"optional *string* \u0026rarr;  Addresses of registries from which you can download images without checking certificates. Changing this creates a new cluster.\n"},"k8sConfig":{"type":"string","description":"*string* \u0026rarr;  Contents of the kubeconfig file. Use it to authenticate to Kubernetes cluster.\u003cbr\u003e**New since v0.8.1**.\n"},"keypair":{"type":"string","description":"optional deprecated *string* \u0026rarr;  The name of the Compute service SSH keypair. Changing this creates a new cluster. **Deprecated** This argument is deprecated, please do not use it.\n","deprecationMessage":"Deprecated"},"kubernetesClusterId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"optional *map of* *string* \u0026rarr;  The list of optional key value pairs representing additional properties of the cluster. \u003cbr\u003e**Note:** Updating this attribute will not immediately apply the changes; these options will be used when recreating or deleting cluster nodes, for example, during an upgrade operation.\n"},"loadbalancerSubnetId":{"type":"string","description":"optional *string* \u0026rarr;  The UUID of the load balancer's subnet. Changing this creates new cluster.\n"},"masterAddresses":{"type":"array","items":{"type":"string"},"description":"*string* \u0026rarr;  IP addresses of the master node of the cluster.\n"},"masterCount":{"type":"number","description":"optional *number* \u0026rarr;  The number of master nodes for the cluster. Changing this creates a new cluster.\n"},"masterFlavor":{"type":"string","description":"optional *string* \u0026rarr;  The UUID of a flavor for the master nodes. If\u003cspan pulumi-lang-nodejs=\" masterFlavor \" pulumi-lang-dotnet=\" MasterFlavor \" pulumi-lang-go=\" masterFlavor \" pulumi-lang-python=\" master_flavor \" pulumi-lang-yaml=\" masterFlavor \" pulumi-lang-java=\" masterFlavor \"\u003e master_flavor \u003c/span\u003eis not present, value from\u003cspan pulumi-lang-nodejs=\" clusterTemplate \" pulumi-lang-dotnet=\" ClusterTemplate \" pulumi-lang-go=\" clusterTemplate \" pulumi-lang-python=\" cluster_template \" pulumi-lang-yaml=\" clusterTemplate \" pulumi-lang-java=\" clusterTemplate \"\u003e cluster_template \u003c/span\u003ewill be used.\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  The name of the cluster. Changing this creates a new cluster. Should match the pattern `^[a-zA-Z][a-zA-Z0-9_.-]*$`.\n"},"networkId":{"type":"string","description":"**required** *string* \u0026rarr;  UUID of the cluster's network.\n"},"podsNetworkCidr":{"type":"string","description":"optional *string* \u0026rarr;  Network cidr of k8s virtual network\n"},"projectId":{"type":"string","description":"*string* \u0026rarr;  The project of the cluster.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  Region to use for the cluster. Default is a region configured for provider.\n"},"registryAuthPassword":{"type":"string","description":"optional *string* \u0026rarr;  Docker registry access password.\n"},"stackId":{"type":"string","description":"*string* \u0026rarr;  UUID of the Orchestration service stack.\n"},"status":{"type":"string","description":"optional *string* \u0026rarr;  Current state of a cluster. Changing this to `RUNNING` or `SHUTOFF` will turn cluster on/off.\n"},"subnetId":{"type":"string","description":"**required** *string* \u0026rarr;  UUID of the cluster's subnet.\n"},"syncSecurityPolicy":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Enables syncing of security policies of cluster. Default value is false.\u003cbr\u003e**New since v0.7.0**.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FKubernetesClusterTimeouts:KubernetesClusterTimeouts"},"updatedAt":{"type":"string","description":"*string* \u0026rarr;  The time at which cluster was created.\n"},"userId":{"type":"string","description":"*string* \u0026rarr;  The user of the cluster.\n"}},"type":"object","required":["allLabels","apiAddress","apiLbFip","apiLbVip","availabilityZones","clusterTemplateId","createdAt","dnsDomain","externalNetworkId","floatingIpEnabled","ingressFloatingIp","insecureRegistries","k8sConfig","kubernetesClusterId","labels","loadbalancerSubnetId","masterAddresses","masterCount","masterFlavor","name","networkId","podsNetworkCidr","projectId","region","registryAuthPassword","stackId","status","subnetId","syncSecurityPolicy","updatedAt","userId"],"inputProperties":{"apiLbFip":{"type":"string","description":"optional *string* \u0026rarr;  API LoadBalancer fip. IP address field.\n"},"apiLbVip":{"type":"string","description":"optional *string* \u0026rarr;  API LoadBalancer vip. IP address field. The field is read-only, the value set in this field will be ignored. The ability to set this field will be removed in future versions of the provider.\n"},"availabilityZone":{"type":"string","description":"optional *string* \u0026rarr;  Availability zone of the cluster, set this argument only for cluster with type \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.\n"},"availabilityZones":{"type":"array","items":{"type":"string"},"description":"optional *set of* *string* \u0026rarr;  Availability zones of the regional cluster, set this argument only for cluster with type \u003cspan pulumi-lang-nodejs=\"`regional`\" pulumi-lang-dotnet=\"`Regional`\" pulumi-lang-go=\"`regional`\" pulumi-lang-python=\"`regional`\" pulumi-lang-yaml=\"`regional`\" pulumi-lang-java=\"`regional`\"\u003e`regional`\u003c/span\u003e. If you do not set this argument, the availability zones will be selected automatically.\u003cbr\u003e**New since v0.8.3**.\n"},"clusterTemplateId":{"type":"string","description":"**required** *string* \u0026rarr;  The UUID of the Kubernetes cluster template. It can be obtained using the\u003cspan pulumi-lang-nodejs=\" vkcs.getKubernetesClustertemplate \" pulumi-lang-dotnet=\" vkcs.getKubernetesClustertemplate \" pulumi-lang-go=\" getKubernetesClustertemplate \" pulumi-lang-python=\" get_kubernetes_clustertemplate \" pulumi-lang-yaml=\" vkcs.getKubernetesClustertemplate \" pulumi-lang-java=\" vkcs.getKubernetesClustertemplate \"\u003e vkcs.getKubernetesClustertemplate \u003c/span\u003edata source.\n"},"clusterType":{"type":"string","description":"optional *string* \u0026rarr;  Type of the kubernetes cluster, may be \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 or \u003cspan pulumi-lang-nodejs=\"`regional`\" pulumi-lang-dotnet=\"`Regional`\" pulumi-lang-go=\"`regional`\" pulumi-lang-python=\"`regional`\" pulumi-lang-yaml=\"`regional`\" pulumi-lang-java=\"`regional`\"\u003e`regional`\u003c/span\u003e. Default type is \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.\u003cbr\u003e**New since v0.8.3**.\n"},"dnsDomain":{"type":"string","description":"optional *string* \u0026rarr;  Custom DNS cluster domain. Changing this creates a new cluster.\n"},"externalNetworkId":{"type":"string","description":"optional *string* \u0026rarr;  ID of external network, it should be specified if cloud deployment doesn't have a public external network. Changing this creates new cluster.\u003cbr\u003e**New since v0.12.0**.\n"},"floatingIpEnabled":{"type":"boolean","description":"**required** *boolean* \u0026rarr;  Floating ip is enabled.\n"},"ingressFloatingIp":{"type":"string","description":"optional deprecated *string* \u0026rarr;  Floating IP created for ingress service. **Deprecated** This argument is deprecated as Ingress controller is not currently installed by default.\n","deprecationMessage":"Deprecated"},"insecureRegistries":{"type":"array","items":{"type":"string"},"description":"optional *string* \u0026rarr;  Addresses of registries from which you can download images without checking certificates. Changing this creates a new cluster.\n"},"keypair":{"type":"string","description":"optional deprecated *string* \u0026rarr;  The name of the Compute service SSH keypair. Changing this creates a new cluster. **Deprecated** This argument is deprecated, please do not use it.\n","deprecationMessage":"Deprecated"},"kubernetesClusterId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"optional *map of* *string* \u0026rarr;  The list of optional key value pairs representing additional properties of the cluster. \u003cbr\u003e**Note:** Updating this attribute will not immediately apply the changes; these options will be used when recreating or deleting cluster nodes, for example, during an upgrade operation.\n"},"loadbalancerSubnetId":{"type":"string","description":"optional *string* \u0026rarr;  The UUID of the load balancer's subnet. Changing this creates new cluster.\n"},"masterCount":{"type":"number","description":"optional *number* \u0026rarr;  The number of master nodes for the cluster. Changing this creates a new cluster.\n"},"masterFlavor":{"type":"string","description":"optional *string* \u0026rarr;  The UUID of a flavor for the master nodes. If\u003cspan pulumi-lang-nodejs=\" masterFlavor \" pulumi-lang-dotnet=\" MasterFlavor \" pulumi-lang-go=\" masterFlavor \" pulumi-lang-python=\" master_flavor \" pulumi-lang-yaml=\" masterFlavor \" pulumi-lang-java=\" masterFlavor \"\u003e master_flavor \u003c/span\u003eis not present, value from\u003cspan pulumi-lang-nodejs=\" clusterTemplate \" pulumi-lang-dotnet=\" ClusterTemplate \" pulumi-lang-go=\" clusterTemplate \" pulumi-lang-python=\" cluster_template \" pulumi-lang-yaml=\" clusterTemplate \" pulumi-lang-java=\" clusterTemplate \"\u003e cluster_template \u003c/span\u003ewill be used.\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  The name of the cluster. Changing this creates a new cluster. Should match the pattern `^[a-zA-Z][a-zA-Z0-9_.-]*$`.\n"},"networkId":{"type":"string","description":"**required** *string* \u0026rarr;  UUID of the cluster's network.\n"},"podsNetworkCidr":{"type":"string","description":"optional *string* \u0026rarr;  Network cidr of k8s virtual network\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  Region to use for the cluster. Default is a region configured for provider.\n"},"registryAuthPassword":{"type":"string","description":"optional *string* \u0026rarr;  Docker registry access password.\n"},"status":{"type":"string","description":"optional *string* \u0026rarr;  Current state of a cluster. Changing this to `RUNNING` or `SHUTOFF` will turn cluster on/off.\n"},"subnetId":{"type":"string","description":"**required** *string* \u0026rarr;  UUID of the cluster's subnet.\n"},"syncSecurityPolicy":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Enables syncing of security policies of cluster. Default value is false.\u003cbr\u003e**New since v0.7.0**.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FKubernetesClusterTimeouts:KubernetesClusterTimeouts"}},"requiredInputs":["clusterTemplateId","floatingIpEnabled","networkId","subnetId"],"stateInputs":{"description":"Input properties used for looking up and filtering KubernetesCluster resources.\n","properties":{"allLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"*map of* *string* \u0026rarr;  The read-only map of all cluster labels.\u003cbr\u003e**New since v0.5.1**.\n"},"apiAddress":{"type":"string","description":"*string* \u0026rarr;  COE API address.\n"},"apiLbFip":{"type":"string","description":"optional *string* \u0026rarr;  API LoadBalancer fip. IP address field.\n"},"apiLbVip":{"type":"string","description":"optional *string* \u0026rarr;  API LoadBalancer vip. IP address field. The field is read-only, the value set in this field will be ignored. The ability to set this field will be removed in future versions of the provider.\n"},"availabilityZone":{"type":"string","description":"optional *string* \u0026rarr;  Availability zone of the cluster, set this argument only for cluster with type \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.\n"},"availabilityZones":{"type":"array","items":{"type":"string"},"description":"optional *set of* *string* \u0026rarr;  Availability zones of the regional cluster, set this argument only for cluster with type \u003cspan pulumi-lang-nodejs=\"`regional`\" pulumi-lang-dotnet=\"`Regional`\" pulumi-lang-go=\"`regional`\" pulumi-lang-python=\"`regional`\" pulumi-lang-yaml=\"`regional`\" pulumi-lang-java=\"`regional`\"\u003e`regional`\u003c/span\u003e. If you do not set this argument, the availability zones will be selected automatically.\u003cbr\u003e**New since v0.8.3**.\n"},"clusterTemplateId":{"type":"string","description":"**required** *string* \u0026rarr;  The UUID of the Kubernetes cluster template. It can be obtained using the\u003cspan pulumi-lang-nodejs=\" vkcs.getKubernetesClustertemplate \" pulumi-lang-dotnet=\" vkcs.getKubernetesClustertemplate \" pulumi-lang-go=\" getKubernetesClustertemplate \" pulumi-lang-python=\" get_kubernetes_clustertemplate \" pulumi-lang-yaml=\" vkcs.getKubernetesClustertemplate \" pulumi-lang-java=\" vkcs.getKubernetesClustertemplate \"\u003e vkcs.getKubernetesClustertemplate \u003c/span\u003edata source.\n"},"clusterType":{"type":"string","description":"optional *string* \u0026rarr;  Type of the kubernetes cluster, may be \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 or \u003cspan pulumi-lang-nodejs=\"`regional`\" pulumi-lang-dotnet=\"`Regional`\" pulumi-lang-go=\"`regional`\" pulumi-lang-python=\"`regional`\" pulumi-lang-yaml=\"`regional`\" pulumi-lang-java=\"`regional`\"\u003e`regional`\u003c/span\u003e. Default type is \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.\u003cbr\u003e**New since v0.8.3**.\n"},"createdAt":{"type":"string","description":"*string* \u0026rarr;  The time at which cluster was created.\n"},"dnsDomain":{"type":"string","description":"optional *string* \u0026rarr;  Custom DNS cluster domain. Changing this creates a new cluster.\n"},"externalNetworkId":{"type":"string","description":"optional *string* \u0026rarr;  ID of external network, it should be specified if cloud deployment doesn't have a public external network. Changing this creates new cluster.\u003cbr\u003e**New since v0.12.0**.\n"},"floatingIpEnabled":{"type":"boolean","description":"**required** *boolean* \u0026rarr;  Floating ip is enabled.\n"},"ingressFloatingIp":{"type":"string","description":"optional deprecated *string* \u0026rarr;  Floating IP created for ingress service. **Deprecated** This argument is deprecated as Ingress controller is not currently installed by default.\n","deprecationMessage":"Deprecated"},"insecureRegistries":{"type":"array","items":{"type":"string"},"description":"optional *string* \u0026rarr;  Addresses of registries from which you can download images without checking certificates. Changing this creates a new cluster.\n"},"k8sConfig":{"type":"string","description":"*string* \u0026rarr;  Contents of the kubeconfig file. Use it to authenticate to Kubernetes cluster.\u003cbr\u003e**New since v0.8.1**.\n"},"keypair":{"type":"string","description":"optional deprecated *string* \u0026rarr;  The name of the Compute service SSH keypair. Changing this creates a new cluster. **Deprecated** This argument is deprecated, please do not use it.\n","deprecationMessage":"Deprecated"},"kubernetesClusterId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"optional *map of* *string* \u0026rarr;  The list of optional key value pairs representing additional properties of the cluster. \u003cbr\u003e**Note:** Updating this attribute will not immediately apply the changes; these options will be used when recreating or deleting cluster nodes, for example, during an upgrade operation.\n"},"loadbalancerSubnetId":{"type":"string","description":"optional *string* \u0026rarr;  The UUID of the load balancer's subnet. Changing this creates new cluster.\n"},"masterAddresses":{"type":"array","items":{"type":"string"},"description":"*string* \u0026rarr;  IP addresses of the master node of the cluster.\n"},"masterCount":{"type":"number","description":"optional *number* \u0026rarr;  The number of master nodes for the cluster. Changing this creates a new cluster.\n"},"masterFlavor":{"type":"string","description":"optional *string* \u0026rarr;  The UUID of a flavor for the master nodes. If\u003cspan pulumi-lang-nodejs=\" masterFlavor \" pulumi-lang-dotnet=\" MasterFlavor \" pulumi-lang-go=\" masterFlavor \" pulumi-lang-python=\" master_flavor \" pulumi-lang-yaml=\" masterFlavor \" pulumi-lang-java=\" masterFlavor \"\u003e master_flavor \u003c/span\u003eis not present, value from\u003cspan pulumi-lang-nodejs=\" clusterTemplate \" pulumi-lang-dotnet=\" ClusterTemplate \" pulumi-lang-go=\" clusterTemplate \" pulumi-lang-python=\" cluster_template \" pulumi-lang-yaml=\" clusterTemplate \" pulumi-lang-java=\" clusterTemplate \"\u003e cluster_template \u003c/span\u003ewill be used.\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  The name of the cluster. Changing this creates a new cluster. Should match the pattern `^[a-zA-Z][a-zA-Z0-9_.-]*$`.\n"},"networkId":{"type":"string","description":"**required** *string* \u0026rarr;  UUID of the cluster's network.\n"},"podsNetworkCidr":{"type":"string","description":"optional *string* \u0026rarr;  Network cidr of k8s virtual network\n"},"projectId":{"type":"string","description":"*string* \u0026rarr;  The project of the cluster.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  Region to use for the cluster. Default is a region configured for provider.\n"},"registryAuthPassword":{"type":"string","description":"optional *string* \u0026rarr;  Docker registry access password.\n"},"stackId":{"type":"string","description":"*string* \u0026rarr;  UUID of the Orchestration service stack.\n"},"status":{"type":"string","description":"optional *string* \u0026rarr;  Current state of a cluster. Changing this to `RUNNING` or `SHUTOFF` will turn cluster on/off.\n"},"subnetId":{"type":"string","description":"**required** *string* \u0026rarr;  UUID of the cluster's subnet.\n"},"syncSecurityPolicy":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Enables syncing of security policies of cluster. Default value is false.\u003cbr\u003e**New since v0.7.0**.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FKubernetesClusterTimeouts:KubernetesClusterTimeouts"},"updatedAt":{"type":"string","description":"*string* \u0026rarr;  The time at which cluster was created.\n"},"userId":{"type":"string","description":"*string* \u0026rarr;  The user of the cluster.\n"}},"type":"object"}},"vkcs:index/kubernetesNodeGroup:KubernetesNodeGroup":{"description":"Provides a cluster node group resource. This can be used to create, modify and delete cluster's node group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst defaultNg = new vkcs.KubernetesNodeGroup(\"default_ng\", {\n    clusterId: k8sCluster.id,\n    nodeCount: 1,\n    name: \"default\",\n    maxNodes: 5,\n    minNodes: 1,\n    labels: [\n        {\n            key: \"env\",\n            value: \"test\",\n        },\n        {\n            key: \"disktype\",\n            value: \"ssd\",\n        },\n    ],\n    taints: [\n        {\n            key: \"taintkey1\",\n            value: \"taintvalue1\",\n            effect: \"PreferNoSchedule\",\n        },\n        {\n            key: \"taintkey2\",\n            value: \"taintvalue2\",\n            effect: \"PreferNoSchedule\",\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\ndefault_ng = vkcs.KubernetesNodeGroup(\"default_ng\",\n    cluster_id=k8s_cluster[\"id\"],\n    node_count=1,\n    name=\"default\",\n    max_nodes=5,\n    min_nodes=1,\n    labels=[\n        {\n            \"key\": \"env\",\n            \"value\": \"test\",\n        },\n        {\n            \"key\": \"disktype\",\n            \"value\": \"ssd\",\n        },\n    ],\n    taints=[\n        {\n            \"key\": \"taintkey1\",\n            \"value\": \"taintvalue1\",\n            \"effect\": \"PreferNoSchedule\",\n        },\n        {\n            \"key\": \"taintkey2\",\n            \"value\": \"taintvalue2\",\n            \"effect\": \"PreferNoSchedule\",\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var defaultNg = new Vkcs.KubernetesNodeGroup(\"default_ng\", new()\n    {\n        ClusterId = k8sCluster.Id,\n        NodeCount = 1,\n        Name = \"default\",\n        MaxNodes = 5,\n        MinNodes = 1,\n        Labels = new[]\n        {\n            new Vkcs.Inputs.KubernetesNodeGroupLabelArgs\n            {\n                Key = \"env\",\n                Value = \"test\",\n            },\n            new Vkcs.Inputs.KubernetesNodeGroupLabelArgs\n            {\n                Key = \"disktype\",\n                Value = \"ssd\",\n            },\n        },\n        Taints = new[]\n        {\n            new Vkcs.Inputs.KubernetesNodeGroupTaintArgs\n            {\n                Key = \"taintkey1\",\n                Value = \"taintvalue1\",\n                Effect = \"PreferNoSchedule\",\n            },\n            new Vkcs.Inputs.KubernetesNodeGroupTaintArgs\n            {\n                Key = \"taintkey2\",\n                Value = \"taintvalue2\",\n                Effect = \"PreferNoSchedule\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewKubernetesNodeGroup(ctx, \"default_ng\", \u0026vkcs.KubernetesNodeGroupArgs{\n\t\t\tClusterId: pulumi.Any(k8sCluster.Id),\n\t\t\tNodeCount: pulumi.Float64(1),\n\t\t\tName:      pulumi.String(\"default\"),\n\t\t\tMaxNodes:  pulumi.Float64(5),\n\t\t\tMinNodes:  pulumi.Float64(1),\n\t\t\tLabels: vkcs.KubernetesNodeGroupLabelArray{\n\t\t\t\t\u0026vkcs.KubernetesNodeGroupLabelArgs{\n\t\t\t\t\tKey:   pulumi.String(\"env\"),\n\t\t\t\t\tValue: pulumi.String(\"test\"),\n\t\t\t\t},\n\t\t\t\t\u0026vkcs.KubernetesNodeGroupLabelArgs{\n\t\t\t\t\tKey:   pulumi.String(\"disktype\"),\n\t\t\t\t\tValue: pulumi.String(\"ssd\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTaints: vkcs.KubernetesNodeGroupTaintArray{\n\t\t\t\t\u0026vkcs.KubernetesNodeGroupTaintArgs{\n\t\t\t\t\tKey:    pulumi.String(\"taintkey1\"),\n\t\t\t\t\tValue:  pulumi.String(\"taintvalue1\"),\n\t\t\t\t\tEffect: pulumi.String(\"PreferNoSchedule\"),\n\t\t\t\t},\n\t\t\t\t\u0026vkcs.KubernetesNodeGroupTaintArgs{\n\t\t\t\t\tKey:    pulumi.String(\"taintkey2\"),\n\t\t\t\t\tValue:  pulumi.String(\"taintvalue2\"),\n\t\t\t\t\tEffect: pulumi.String(\"PreferNoSchedule\"),\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.vkcs.KubernetesNodeGroup;\nimport com.pulumi.vkcs.KubernetesNodeGroupArgs;\nimport com.pulumi.vkcs.inputs.KubernetesNodeGroupLabelArgs;\nimport com.pulumi.vkcs.inputs.KubernetesNodeGroupTaintArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 defaultNg = new KubernetesNodeGroup(\"defaultNg\", KubernetesNodeGroupArgs.builder()\n            .clusterId(k8sCluster.id())\n            .nodeCount(1.0)\n            .name(\"default\")\n            .maxNodes(5.0)\n            .minNodes(1.0)\n            .labels(            \n                KubernetesNodeGroupLabelArgs.builder()\n                    .key(\"env\")\n                    .value(\"test\")\n                    .build(),\n                KubernetesNodeGroupLabelArgs.builder()\n                    .key(\"disktype\")\n                    .value(\"ssd\")\n                    .build())\n            .taints(            \n                KubernetesNodeGroupTaintArgs.builder()\n                    .key(\"taintkey1\")\n                    .value(\"taintvalue1\")\n                    .effect(\"PreferNoSchedule\")\n                    .build(),\n                KubernetesNodeGroupTaintArgs.builder()\n                    .key(\"taintkey2\")\n                    .value(\"taintvalue2\")\n                    .effect(\"PreferNoSchedule\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  defaultNg:\n    type: vkcs:KubernetesNodeGroup\n    name: default_ng\n    properties:\n      clusterId: ${k8sCluster.id}\n      nodeCount: 1\n      name: default\n      maxNodes: 5\n      minNodes: 1\n      labels:\n        - key: env\n          value: test\n        - key: disktype\n          value: ssd\n      taints:\n        - key: taintkey1\n          value: taintvalue1\n          effect: PreferNoSchedule\n        - key: taintkey2\n          value: taintvalue2\n          effect: PreferNoSchedule\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nNode groups can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import vkcs:index/kubernetesNodeGroup:KubernetesNodeGroup ng aa14de9c-c5f5-4cc0-869c-ce655419df76\n```\n\n","properties":{"autoscalingEnabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Determines whether the autoscaling is enabled.\n"},"availabilityZones":{"type":"array","items":{"type":"string"},"description":"optional *set of* *string* \u0026rarr;  The list of availability zones of the node group. By default, a node group is created at cluster's zone.\n"},"clusterId":{"type":"string","description":"**required** *string* \u0026rarr;  The UUID of the existing cluster.\n"},"createdAt":{"type":"string","description":"*string* \u0026rarr;  The time at which node group was created.\n"},"flavorId":{"type":"string","description":"optional *string* \u0026rarr;  The flavor UUID of this node group. \u003cbr\u003e**Note:** Starting with v0.5.1, changing this attribute does not force the resource to be recreated, which requires an in-place update and may not be provided in custom deployments. In this case, contact support for clarification.\n"},"kubernetesNodeGroupId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"labels":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FKubernetesNodeGroupLabel:KubernetesNodeGroupLabel"},"description":"optional \u0026rarr;  The list of objects representing representing additional properties of the node group. Each object should have attribute \"key\". Object may also have optional attribute \"value\".\n"},"maxNodeUnavailable":{"type":"number","description":"optional *number* \u0026rarr;  The maximum number of nodes that can fail during an upgrade. The default value is 25 percent.\n"},"maxNodes":{"type":"number","description":"optional *number* \u0026rarr;  The maximum allowed nodes for this node group.\n"},"minNodes":{"type":"number","description":"optional *number* \u0026rarr;  The minimum allowed nodes for this node group. Default to 0 if not set.\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  The name of node group to create. Changing this will force to create a new node group.\n"},"nodeCount":{"type":"number","description":"**required** *number* \u0026rarr;  The node count for this node group. Should be greater than 0. If \u003cspan pulumi-lang-nodejs=\"`autoscalingEnabled`\" pulumi-lang-dotnet=\"`AutoscalingEnabled`\" pulumi-lang-go=\"`autoscalingEnabled`\" pulumi-lang-python=\"`autoscaling_enabled`\" pulumi-lang-yaml=\"`autoscalingEnabled`\" pulumi-lang-java=\"`autoscalingEnabled`\"\u003e`autoscaling_enabled`\u003c/span\u003e parameter is set, this attribute will be ignored during update.\n"},"state":{"type":"string","description":"*string* \u0026rarr;  Determines current state of node group (RUNNING, SHUTOFF, ERROR).\n"},"taints":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FKubernetesNodeGroupTaint:KubernetesNodeGroupTaint"},"description":"optional \u0026rarr;  The list of objects representing node group taints. Each object should have following attributes: key, value, effect.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FKubernetesNodeGroupTimeouts:KubernetesNodeGroupTimeouts"},"updatedAt":{"type":"string","description":"*string* \u0026rarr;  The time at which node group was created.\n"},"uuid":{"type":"string","description":"*string* \u0026rarr;  The UUID of the cluster's node group.\n"},"volumeSize":{"type":"number","description":"optional *number* \u0026rarr;  The size in GB for volume to load nodes from. Changing this will force to create a new node group.\n"},"volumeType":{"type":"string","description":"optional *string* \u0026rarr;  The volume type to load nodes from. Changing this will force to create a new node group.\n"}},"type":"object","required":["availabilityZones","clusterId","createdAt","flavorId","kubernetesNodeGroupId","maxNodeUnavailable","maxNodes","minNodes","name","nodeCount","state","updatedAt","uuid","volumeSize","volumeType"],"inputProperties":{"autoscalingEnabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Determines whether the autoscaling is enabled.\n"},"availabilityZones":{"type":"array","items":{"type":"string"},"description":"optional *set of* *string* \u0026rarr;  The list of availability zones of the node group. By default, a node group is created at cluster's zone.\n"},"clusterId":{"type":"string","description":"**required** *string* \u0026rarr;  The UUID of the existing cluster.\n"},"flavorId":{"type":"string","description":"optional *string* \u0026rarr;  The flavor UUID of this node group. \u003cbr\u003e**Note:** Starting with v0.5.1, changing this attribute does not force the resource to be recreated, which requires an in-place update and may not be provided in custom deployments. In this case, contact support for clarification.\n"},"kubernetesNodeGroupId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"labels":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FKubernetesNodeGroupLabel:KubernetesNodeGroupLabel"},"description":"optional \u0026rarr;  The list of objects representing representing additional properties of the node group. Each object should have attribute \"key\". Object may also have optional attribute \"value\".\n"},"maxNodeUnavailable":{"type":"number","description":"optional *number* \u0026rarr;  The maximum number of nodes that can fail during an upgrade. The default value is 25 percent.\n"},"maxNodes":{"type":"number","description":"optional *number* \u0026rarr;  The maximum allowed nodes for this node group.\n"},"minNodes":{"type":"number","description":"optional *number* \u0026rarr;  The minimum allowed nodes for this node group. Default to 0 if not set.\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  The name of node group to create. Changing this will force to create a new node group.\n"},"nodeCount":{"type":"number","description":"**required** *number* \u0026rarr;  The node count for this node group. Should be greater than 0. If \u003cspan pulumi-lang-nodejs=\"`autoscalingEnabled`\" pulumi-lang-dotnet=\"`AutoscalingEnabled`\" pulumi-lang-go=\"`autoscalingEnabled`\" pulumi-lang-python=\"`autoscaling_enabled`\" pulumi-lang-yaml=\"`autoscalingEnabled`\" pulumi-lang-java=\"`autoscalingEnabled`\"\u003e`autoscaling_enabled`\u003c/span\u003e parameter is set, this attribute will be ignored during update.\n"},"taints":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FKubernetesNodeGroupTaint:KubernetesNodeGroupTaint"},"description":"optional \u0026rarr;  The list of objects representing node group taints. Each object should have following attributes: key, value, effect.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FKubernetesNodeGroupTimeouts:KubernetesNodeGroupTimeouts"},"volumeSize":{"type":"number","description":"optional *number* \u0026rarr;  The size in GB for volume to load nodes from. Changing this will force to create a new node group.\n"},"volumeType":{"type":"string","description":"optional *string* \u0026rarr;  The volume type to load nodes from. Changing this will force to create a new node group.\n"}},"requiredInputs":["clusterId","nodeCount"],"stateInputs":{"description":"Input properties used for looking up and filtering KubernetesNodeGroup resources.\n","properties":{"autoscalingEnabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Determines whether the autoscaling is enabled.\n"},"availabilityZones":{"type":"array","items":{"type":"string"},"description":"optional *set of* *string* \u0026rarr;  The list of availability zones of the node group. By default, a node group is created at cluster's zone.\n"},"clusterId":{"type":"string","description":"**required** *string* \u0026rarr;  The UUID of the existing cluster.\n"},"createdAt":{"type":"string","description":"*string* \u0026rarr;  The time at which node group was created.\n"},"flavorId":{"type":"string","description":"optional *string* \u0026rarr;  The flavor UUID of this node group. \u003cbr\u003e**Note:** Starting with v0.5.1, changing this attribute does not force the resource to be recreated, which requires an in-place update and may not be provided in custom deployments. In this case, contact support for clarification.\n"},"kubernetesNodeGroupId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"labels":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FKubernetesNodeGroupLabel:KubernetesNodeGroupLabel"},"description":"optional \u0026rarr;  The list of objects representing representing additional properties of the node group. Each object should have attribute \"key\". Object may also have optional attribute \"value\".\n"},"maxNodeUnavailable":{"type":"number","description":"optional *number* \u0026rarr;  The maximum number of nodes that can fail during an upgrade. The default value is 25 percent.\n"},"maxNodes":{"type":"number","description":"optional *number* \u0026rarr;  The maximum allowed nodes for this node group.\n"},"minNodes":{"type":"number","description":"optional *number* \u0026rarr;  The minimum allowed nodes for this node group. Default to 0 if not set.\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  The name of node group to create. Changing this will force to create a new node group.\n"},"nodeCount":{"type":"number","description":"**required** *number* \u0026rarr;  The node count for this node group. Should be greater than 0. If \u003cspan pulumi-lang-nodejs=\"`autoscalingEnabled`\" pulumi-lang-dotnet=\"`AutoscalingEnabled`\" pulumi-lang-go=\"`autoscalingEnabled`\" pulumi-lang-python=\"`autoscaling_enabled`\" pulumi-lang-yaml=\"`autoscalingEnabled`\" pulumi-lang-java=\"`autoscalingEnabled`\"\u003e`autoscaling_enabled`\u003c/span\u003e parameter is set, this attribute will be ignored during update.\n"},"state":{"type":"string","description":"*string* \u0026rarr;  Determines current state of node group (RUNNING, SHUTOFF, ERROR).\n"},"taints":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FKubernetesNodeGroupTaint:KubernetesNodeGroupTaint"},"description":"optional \u0026rarr;  The list of objects representing node group taints. Each object should have following attributes: key, value, effect.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FKubernetesNodeGroupTimeouts:KubernetesNodeGroupTimeouts"},"updatedAt":{"type":"string","description":"*string* \u0026rarr;  The time at which node group was created.\n"},"uuid":{"type":"string","description":"*string* \u0026rarr;  The UUID of the cluster's node group.\n"},"volumeSize":{"type":"number","description":"optional *number* \u0026rarr;  The size in GB for volume to load nodes from. Changing this will force to create a new node group.\n"},"volumeType":{"type":"string","description":"optional *string* \u0026rarr;  The volume type to load nodes from. Changing this will force to create a new node group.\n"}},"type":"object"}},"vkcs:index/kubernetesSecurityPolicy:KubernetesSecurityPolicy":{"description":"Provides a kubernetes cluster security policy resource. This can be used to create, modify and delete kubernetes security policies.\n\n**New since v0.7.0**.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst policySettings = {\n    ranges: [{\n        min_replicas: 1,\n        max_replicas: 2,\n    }],\n};\nconst replicalimits = new vkcs.KubernetesSecurityPolicy(\"replicalimits\", {\n    clusterId: k8sCluster.id,\n    enabled: true,\n    namespace: \"*\",\n    policySettings: JSON.stringify(policySettings),\n    securityPolicyTemplateId: replicalimitsVkcsKubernetesSecurityPolicyTemplate.id,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_vkcs as vkcs\n\npolicy_settings = {\n    \"ranges\": [{\n        \"min_replicas\": 1,\n        \"max_replicas\": 2,\n    }],\n}\nreplicalimits = vkcs.KubernetesSecurityPolicy(\"replicalimits\",\n    cluster_id=k8s_cluster[\"id\"],\n    enabled=True,\n    namespace=\"*\",\n    policy_settings=json.dumps(policy_settings),\n    security_policy_template_id=replicalimits_vkcs_kubernetes_security_policy_template[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var policySettings = \n    {\n        { \"ranges\", new[]\n        {\n            \n            {\n                { \"min_replicas\", 1 },\n                { \"max_replicas\", 2 },\n            },\n        } },\n    };\n\n    var replicalimits = new Vkcs.KubernetesSecurityPolicy(\"replicalimits\", new()\n    {\n        ClusterId = k8sCluster.Id,\n        Enabled = true,\n        Namespace = \"*\",\n        PolicySettings = JsonSerializer.Serialize(policySettings),\n        SecurityPolicyTemplateId = replicalimitsVkcsKubernetesSecurityPolicyTemplate.Id,\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/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpolicySettings := map[string]interface{}{\n\t\t\t\"ranges\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"min_replicas\": 1,\n\t\t\t\t\t\"max_replicas\": 2,\n\t\t\t\t},\n\t\t\t},\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(policySettings)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t_, err = vkcs.NewKubernetesSecurityPolicy(ctx, \"replicalimits\", \u0026vkcs.KubernetesSecurityPolicyArgs{\n\t\t\tClusterId:                pulumi.Any(k8sCluster.Id),\n\t\t\tEnabled:                  pulumi.Bool(true),\n\t\t\tNamespace:                pulumi.String(\"*\"),\n\t\t\tPolicySettings:           pulumi.String(json0),\n\t\t\tSecurityPolicyTemplateId: pulumi.Any(replicalimitsVkcsKubernetesSecurityPolicyTemplate.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.vkcs.KubernetesSecurityPolicy;\nimport com.pulumi.vkcs.KubernetesSecurityPolicyArgs;\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 policySettings = Map.of(\"ranges\", List.of(Map.ofEntries(\n            Map.entry(\"min_replicas\", 1),\n            Map.entry(\"max_replicas\", 2)\n        )));\n\n        var replicalimits = new KubernetesSecurityPolicy(\"replicalimits\", KubernetesSecurityPolicyArgs.builder()\n            .clusterId(k8sCluster.id())\n            .enabled(true)\n            .namespace(\"*\")\n            .policySettings(serializeJson(\n                policySettings))\n            .securityPolicyTemplateId(replicalimitsVkcsKubernetesSecurityPolicyTemplate.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  replicalimits:\n    type: vkcs:KubernetesSecurityPolicy\n    properties:\n      clusterId: ${k8sCluster.id}\n      enabled: true\n      namespace: '*'\n      policySettings:\n        fn::toJSON: ${policySettings}\n      securityPolicyTemplateId: ${replicalimitsVkcsKubernetesSecurityPolicyTemplate.id}\nvariables:\n  policySettings:\n    ranges:\n      - min_replicas: 1\n        max_replicas: 2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSecurity policies can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import vkcs:index/kubernetesSecurityPolicy:KubernetesSecurityPolicy sp 723bfe25-5b2b-4410-aba0-1c0ef6d1c8b0\n```\n\n","properties":{"clusterId":{"type":"string","description":"**required** *string* \u0026rarr;  The ID of the kubernetes cluster. Changing this creates a new security policy.\n"},"createdAt":{"type":"string","description":"*string* \u0026rarr;  Creation timestamp\n"},"enabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Controls whether the security policy is enabled. Default is true.\n"},"namespace":{"type":"string","description":"**required** *string* \u0026rarr;  Namespace to apply security policy to.\n"},"policySettings":{"type":"string","description":"**required** *string* \u0026rarr;  Policy settings.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Container Infra client. If 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 creates a new security_policy.\n"},"securityPolicyTemplateId":{"type":"string","description":"**required** *string* \u0026rarr;  The ID of the security policy template. Changing this creates a new security policy.\n"},"updatedAt":{"type":"string","description":"*string* \u0026rarr;  Update timestamp.\n"}},"type":"object","required":["clusterId","createdAt","enabled","namespace","policySettings","region","securityPolicyTemplateId","updatedAt"],"inputProperties":{"clusterId":{"type":"string","description":"**required** *string* \u0026rarr;  The ID of the kubernetes cluster. Changing this creates a new security policy.\n"},"enabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Controls whether the security policy is enabled. Default is true.\n"},"namespace":{"type":"string","description":"**required** *string* \u0026rarr;  Namespace to apply security policy to.\n"},"policySettings":{"type":"string","description":"**required** *string* \u0026rarr;  Policy settings.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Container Infra client. If 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 creates a new security_policy.\n"},"securityPolicyTemplateId":{"type":"string","description":"**required** *string* \u0026rarr;  The ID of the security policy template. Changing this creates a new security policy.\n"}},"requiredInputs":["clusterId","namespace","policySettings","securityPolicyTemplateId"],"stateInputs":{"description":"Input properties used for looking up and filtering KubernetesSecurityPolicy resources.\n","properties":{"clusterId":{"type":"string","description":"**required** *string* \u0026rarr;  The ID of the kubernetes cluster. Changing this creates a new security policy.\n"},"createdAt":{"type":"string","description":"*string* \u0026rarr;  Creation timestamp\n"},"enabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Controls whether the security policy is enabled. Default is true.\n"},"namespace":{"type":"string","description":"**required** *string* \u0026rarr;  Namespace to apply security policy to.\n"},"policySettings":{"type":"string","description":"**required** *string* \u0026rarr;  Policy settings.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Container Infra client. If 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 creates a new security_policy.\n"},"securityPolicyTemplateId":{"type":"string","description":"**required** *string* \u0026rarr;  The ID of the security policy template. Changing this creates a new security policy.\n"},"updatedAt":{"type":"string","description":"*string* \u0026rarr;  Update timestamp.\n"}},"type":"object"}},"vkcs:index/lbL7policy:LbL7policy":{"description":"Manages a Load Balancer L7 Policy resource within VKCS.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst appRedirect = new vkcs.LbL7policy(\"app_redirect\", {\n    name: \"http-tf-example\",\n    description: \"Policy for tf lb testing\",\n    action: \"REDIRECT_TO_POOL\",\n    position: 1,\n    listenerId: appHttp.id,\n    redirectPoolId: http.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\napp_redirect = vkcs.LbL7policy(\"app_redirect\",\n    name=\"http-tf-example\",\n    description=\"Policy for tf lb testing\",\n    action=\"REDIRECT_TO_POOL\",\n    position=1,\n    listener_id=app_http[\"id\"],\n    redirect_pool_id=http[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var appRedirect = new Vkcs.LbL7policy(\"app_redirect\", new()\n    {\n        Name = \"http-tf-example\",\n        Description = \"Policy for tf lb testing\",\n        Action = \"REDIRECT_TO_POOL\",\n        Position = 1,\n        ListenerId = appHttp.Id,\n        RedirectPoolId = http.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewLbL7policy(ctx, \"app_redirect\", \u0026vkcs.LbL7policyArgs{\n\t\t\tName:           pulumi.String(\"http-tf-example\"),\n\t\t\tDescription:    pulumi.String(\"Policy for tf lb testing\"),\n\t\t\tAction:         pulumi.String(\"REDIRECT_TO_POOL\"),\n\t\t\tPosition:       pulumi.Float64(1),\n\t\t\tListenerId:     pulumi.Any(appHttp.Id),\n\t\t\tRedirectPoolId: pulumi.Any(http.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.vkcs.LbL7policy;\nimport com.pulumi.vkcs.LbL7policyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 appRedirect = new LbL7policy(\"appRedirect\", LbL7policyArgs.builder()\n            .name(\"http-tf-example\")\n            .description(\"Policy for tf lb testing\")\n            .action(\"REDIRECT_TO_POOL\")\n            .position(1.0)\n            .listenerId(appHttp.id())\n            .redirectPoolId(http.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  appRedirect:\n    type: vkcs:LbL7policy\n    name: app_redirect\n    properties:\n      name: http-tf-example\n      description: Policy for tf lb testing\n      action: REDIRECT_TO_POOL\n      position: 1\n      listenerId: ${appHttp.id}\n      redirectPoolId: ${http.id}\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 vkcs:index/lbL7policy:LbL7policy l7policy_1 8a7a79c2-cf17-4e65-b2ae-ddc8bfcf6c74\n```\n\n","properties":{"action":{"type":"string","description":"**required** *string* \u0026rarr;  The L7 Policy action - can either be REDIRECT\\_TO\\_POOL, REDIRECT\\_TO\\_URL or REJECT.\n"},"adminStateUp":{"type":"boolean","description":"optional *boolean* \u0026rarr;  The administrative state of the L7 Policy. A valid value is true (UP) or false (DOWN).\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Human-readable description for the L7 Policy.\n"},"lbL7policyId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"listenerId":{"type":"string","description":"**required** *string* \u0026rarr;  The Listener on which the L7 Policy will be associated with. Changing this creates a new L7 Policy.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  Human-readable name for the L7 Policy. Does not have to be unique.\n"},"position":{"type":"number","description":"optional *number* \u0026rarr;  The position of this policy on the listener. Positions start at 1.\n"},"redirectPoolId":{"type":"string","description":"optional *string* \u0026rarr;  Requests matching this policy will be redirected to the pool with this ID. Only valid if action is REDIRECT\\_TO\\_POOL.\n"},"redirectUrl":{"type":"string","description":"optional *string* \u0026rarr;  Requests matching this policy will be redirected to this URL. Only valid if action is REDIRECT\\_TO\\_URL.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Loadbalancer client. If 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 creates a new L7 Policy.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FLbL7policyTimeouts:LbL7policyTimeouts"}},"type":"object","required":["action","lbL7policyId","listenerId","name","position","region"],"inputProperties":{"action":{"type":"string","description":"**required** *string* \u0026rarr;  The L7 Policy action - can either be REDIRECT\\_TO\\_POOL, REDIRECT\\_TO\\_URL or REJECT.\n"},"adminStateUp":{"type":"boolean","description":"optional *boolean* \u0026rarr;  The administrative state of the L7 Policy. A valid value is true (UP) or false (DOWN).\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Human-readable description for the L7 Policy.\n"},"lbL7policyId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"listenerId":{"type":"string","description":"**required** *string* \u0026rarr;  The Listener on which the L7 Policy will be associated with. Changing this creates a new L7 Policy.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  Human-readable name for the L7 Policy. Does not have to be unique.\n"},"position":{"type":"number","description":"optional *number* \u0026rarr;  The position of this policy on the listener. Positions start at 1.\n"},"redirectPoolId":{"type":"string","description":"optional *string* \u0026rarr;  Requests matching this policy will be redirected to the pool with this ID. Only valid if action is REDIRECT\\_TO\\_POOL.\n"},"redirectUrl":{"type":"string","description":"optional *string* \u0026rarr;  Requests matching this policy will be redirected to this URL. Only valid if action is REDIRECT\\_TO\\_URL.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Loadbalancer client. If 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 creates a new L7 Policy.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FLbL7policyTimeouts:LbL7policyTimeouts"}},"requiredInputs":["action","listenerId"],"stateInputs":{"description":"Input properties used for looking up and filtering LbL7policy resources.\n","properties":{"action":{"type":"string","description":"**required** *string* \u0026rarr;  The L7 Policy action - can either be REDIRECT\\_TO\\_POOL, REDIRECT\\_TO\\_URL or REJECT.\n"},"adminStateUp":{"type":"boolean","description":"optional *boolean* \u0026rarr;  The administrative state of the L7 Policy. A valid value is true (UP) or false (DOWN).\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Human-readable description for the L7 Policy.\n"},"lbL7policyId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"listenerId":{"type":"string","description":"**required** *string* \u0026rarr;  The Listener on which the L7 Policy will be associated with. Changing this creates a new L7 Policy.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  Human-readable name for the L7 Policy. Does not have to be unique.\n"},"position":{"type":"number","description":"optional *number* \u0026rarr;  The position of this policy on the listener. Positions start at 1.\n"},"redirectPoolId":{"type":"string","description":"optional *string* \u0026rarr;  Requests matching this policy will be redirected to the pool with this ID. Only valid if action is REDIRECT\\_TO\\_POOL.\n"},"redirectUrl":{"type":"string","description":"optional *string* \u0026rarr;  Requests matching this policy will be redirected to this URL. Only valid if action is REDIRECT\\_TO\\_URL.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Loadbalancer client. If 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 creates a new L7 Policy.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FLbL7policyTimeouts:LbL7policyTimeouts"}},"type":"object"}},"vkcs:index/lbL7rule:LbL7rule":{"description":"Manages a L7 Rule resource within VKCS.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst appApiRedirect = new vkcs.LbL7rule(\"app_api_redirect\", {\n    l7policyId: appRedirect.id,\n    compareType: \"EQUAL_TO\",\n    type: \"PATH\",\n    value: \"/api\",\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\napp_api_redirect = vkcs.LbL7rule(\"app_api_redirect\",\n    l7policy_id=app_redirect[\"id\"],\n    compare_type=\"EQUAL_TO\",\n    type=\"PATH\",\n    value=\"/api\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var appApiRedirect = new Vkcs.LbL7rule(\"app_api_redirect\", new()\n    {\n        L7policyId = appRedirect.Id,\n        CompareType = \"EQUAL_TO\",\n        Type = \"PATH\",\n        Value = \"/api\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewLbL7rule(ctx, \"app_api_redirect\", \u0026vkcs.LbL7ruleArgs{\n\t\t\tL7policyId:  pulumi.Any(appRedirect.Id),\n\t\t\tCompareType: pulumi.String(\"EQUAL_TO\"),\n\t\t\tType:        pulumi.String(\"PATH\"),\n\t\t\tValue:       pulumi.String(\"/api\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.vkcs.LbL7rule;\nimport com.pulumi.vkcs.LbL7ruleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 appApiRedirect = new LbL7rule(\"appApiRedirect\", LbL7ruleArgs.builder()\n            .l7policyId(appRedirect.id())\n            .compareType(\"EQUAL_TO\")\n            .type(\"PATH\")\n            .value(\"/api\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  appApiRedirect:\n    type: vkcs:LbL7rule\n    name: app_api_redirect\n    properties:\n      l7policyId: ${appRedirect.id}\n      compareType: EQUAL_TO\n      type: PATH\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 separated by a slash, e.g.:\n\n```sh\n$ pulumi import vkcs:index/lbL7rule:LbL7rule l7rule_1 e0bd694a-abbe-450e-b329-0931fd1cc5eb/4086b0c9-b18c-4d1c-b6b8-4c56c3ad2a9e\n```\n\n","properties":{"adminStateUp":{"type":"boolean","description":"optional *boolean* \u0026rarr;  The administrative state of the L7 Rule. A valid value is true (UP) or false (DOWN).\n"},"compareType":{"type":"string","description":"**required** *string* \u0026rarr;  The comparison type for the L7 rule - can either be CONTAINS, STARTS\\_WITH, ENDS_WITH, EQUAL_TO or REGEX\n"},"invert":{"type":"boolean","description":"optional *boolean* \u0026rarr;  When true the logic of the rule is inverted. For example, with invert true, equal to would become not equal to. Default is false.\n"},"key":{"type":"string","description":"optional *string* \u0026rarr;  The key to use for the comparison. For example, the name of the cookie to evaluate. 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.\n"},"l7policyId":{"type":"string","description":"**required** *string* \u0026rarr;  The ID of the L7 Policy to query. Changing this creates a new L7 Rule.\n"},"lbL7ruleId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"listenerId":{"type":"string","description":"*string* \u0026rarr;  The ID of the Listener owning this resource.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Loadbalancer client. If 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 creates a new L7 Rule.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FLbL7ruleTimeouts:LbL7ruleTimeouts"},"type":{"type":"string","description":"**required** *string* \u0026rarr;  The L7 Rule type - can either be COOKIE, FILE\\_TYPE, HEADER, HOST\\_NAME or PATH.\n"},"value":{"type":"string","description":"**required** *string* \u0026rarr;  The value to use for the comparison. For example, the file type to compare.\n"}},"type":"object","required":["compareType","l7policyId","lbL7ruleId","listenerId","region","type","value"],"inputProperties":{"adminStateUp":{"type":"boolean","description":"optional *boolean* \u0026rarr;  The administrative state of the L7 Rule. A valid value is true (UP) or false (DOWN).\n"},"compareType":{"type":"string","description":"**required** *string* \u0026rarr;  The comparison type for the L7 rule - can either be CONTAINS, STARTS\\_WITH, ENDS_WITH, EQUAL_TO or REGEX\n"},"invert":{"type":"boolean","description":"optional *boolean* \u0026rarr;  When true the logic of the rule is inverted. For example, with invert true, equal to would become not equal to. Default is false.\n"},"key":{"type":"string","description":"optional *string* \u0026rarr;  The key to use for the comparison. For example, the name of the cookie to evaluate. 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.\n"},"l7policyId":{"type":"string","description":"**required** *string* \u0026rarr;  The ID of the L7 Policy to query. Changing this creates a new L7 Rule.\n"},"lbL7ruleId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Loadbalancer client. If 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 creates a new L7 Rule.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FLbL7ruleTimeouts:LbL7ruleTimeouts"},"type":{"type":"string","description":"**required** *string* \u0026rarr;  The L7 Rule type - can either be COOKIE, FILE\\_TYPE, HEADER, HOST\\_NAME or PATH.\n"},"value":{"type":"string","description":"**required** *string* \u0026rarr;  The value to use for the comparison. For example, the file type to compare.\n"}},"requiredInputs":["compareType","l7policyId","type","value"],"stateInputs":{"description":"Input properties used for looking up and filtering LbL7rule resources.\n","properties":{"adminStateUp":{"type":"boolean","description":"optional *boolean* \u0026rarr;  The administrative state of the L7 Rule. A valid value is true (UP) or false (DOWN).\n"},"compareType":{"type":"string","description":"**required** *string* \u0026rarr;  The comparison type for the L7 rule - can either be CONTAINS, STARTS\\_WITH, ENDS_WITH, EQUAL_TO or REGEX\n"},"invert":{"type":"boolean","description":"optional *boolean* \u0026rarr;  When true the logic of the rule is inverted. For example, with invert true, equal to would become not equal to. Default is false.\n"},"key":{"type":"string","description":"optional *string* \u0026rarr;  The key to use for the comparison. For example, the name of the cookie to evaluate. 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.\n"},"l7policyId":{"type":"string","description":"**required** *string* \u0026rarr;  The ID of the L7 Policy to query. Changing this creates a new L7 Rule.\n"},"lbL7ruleId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"listenerId":{"type":"string","description":"*string* \u0026rarr;  The ID of the Listener owning this resource.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Loadbalancer client. If 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 creates a new L7 Rule.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FLbL7ruleTimeouts:LbL7ruleTimeouts"},"type":{"type":"string","description":"**required** *string* \u0026rarr;  The L7 Rule type - can either be COOKIE, FILE\\_TYPE, HEADER, HOST\\_NAME or PATH.\n"},"value":{"type":"string","description":"**required** *string* \u0026rarr;  The value to use for the comparison. For example, the file type to compare.\n"}},"type":"object"}},"vkcs:index/lbListener:LbListener":{"description":"Manages a listener resource within VKCS.\n\n## Example Usage\n\n### Listener for HTTP\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst appHttp = new vkcs.LbListener(\"app_http\", {\n    name: \"app-http-tf-example\",\n    description: \"Listener for resources/datasources testing\",\n    loadbalancerId: app.id,\n    protocol: \"HTTP\",\n    protocolPort: 8080,\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\napp_http = vkcs.LbListener(\"app_http\",\n    name=\"app-http-tf-example\",\n    description=\"Listener for resources/datasources testing\",\n    loadbalancer_id=app[\"id\"],\n    protocol=\"HTTP\",\n    protocol_port=8080)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var appHttp = new Vkcs.LbListener(\"app_http\", new()\n    {\n        Name = \"app-http-tf-example\",\n        Description = \"Listener for resources/datasources testing\",\n        LoadbalancerId = app.Id,\n        Protocol = \"HTTP\",\n        ProtocolPort = 8080,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewLbListener(ctx, \"app_http\", \u0026vkcs.LbListenerArgs{\n\t\t\tName:           pulumi.String(\"app-http-tf-example\"),\n\t\t\tDescription:    pulumi.String(\"Listener for resources/datasources testing\"),\n\t\t\tLoadbalancerId: pulumi.Any(app.Id),\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\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.vkcs.LbListener;\nimport com.pulumi.vkcs.LbListenerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 appHttp = new LbListener(\"appHttp\", LbListenerArgs.builder()\n            .name(\"app-http-tf-example\")\n            .description(\"Listener for resources/datasources testing\")\n            .loadbalancerId(app.id())\n            .protocol(\"HTTP\")\n            .protocolPort(8080.0)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  appHttp:\n    type: vkcs:LbListener\n    name: app_http\n    properties:\n      name: app-http-tf-example\n      description: Listener for resources/datasources testing\n      loadbalancerId: ${app.id}\n      protocol: HTTP\n      protocolPort: 8080\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Listener for TERMINATED_HTTPS\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst appTerminatedHttps = new vkcs.LbListener(\"app_terminated_https\", {\n    name: \"app-https-tf-example\",\n    description: \"Listener for resources/datasources testing\",\n    protocol: \"TERMINATED_HTTPS\",\n    protocolPort: 8443,\n    loadbalancerId: app.id,\n    defaultTlsContainerRef: lbCert.containerRef,\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\napp_terminated_https = vkcs.LbListener(\"app_terminated_https\",\n    name=\"app-https-tf-example\",\n    description=\"Listener for resources/datasources testing\",\n    protocol=\"TERMINATED_HTTPS\",\n    protocol_port=8443,\n    loadbalancer_id=app[\"id\"],\n    default_tls_container_ref=lb_cert[\"containerRef\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var appTerminatedHttps = new Vkcs.LbListener(\"app_terminated_https\", new()\n    {\n        Name = \"app-https-tf-example\",\n        Description = \"Listener for resources/datasources testing\",\n        Protocol = \"TERMINATED_HTTPS\",\n        ProtocolPort = 8443,\n        LoadbalancerId = app.Id,\n        DefaultTlsContainerRef = lbCert.ContainerRef,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewLbListener(ctx, \"app_terminated_https\", \u0026vkcs.LbListenerArgs{\n\t\t\tName:                   pulumi.String(\"app-https-tf-example\"),\n\t\t\tDescription:            pulumi.String(\"Listener for resources/datasources testing\"),\n\t\t\tProtocol:               pulumi.String(\"TERMINATED_HTTPS\"),\n\t\t\tProtocolPort:           pulumi.Float64(8443),\n\t\t\tLoadbalancerId:         pulumi.Any(app.Id),\n\t\t\tDefaultTlsContainerRef: pulumi.Any(lbCert.ContainerRef),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.vkcs.LbListener;\nimport com.pulumi.vkcs.LbListenerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 appTerminatedHttps = new LbListener(\"appTerminatedHttps\", LbListenerArgs.builder()\n            .name(\"app-https-tf-example\")\n            .description(\"Listener for resources/datasources testing\")\n            .protocol(\"TERMINATED_HTTPS\")\n            .protocolPort(8443.0)\n            .loadbalancerId(app.id())\n            .defaultTlsContainerRef(lbCert.containerRef())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  appTerminatedHttps:\n    type: vkcs:LbListener\n    name: app_terminated_https\n    properties:\n      name: app-https-tf-example\n      description: Listener for resources/datasources testing\n      protocol: TERMINATED_HTTPS\n      protocolPort: 8443\n      loadbalancerId: ${app.id}\n      defaultTlsContainerRef: ${lbCert.containerRef}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLoad Balancer Listener can be imported using the Listener ID, e.g.:\n\n```sh\n$ pulumi import vkcs:index/lbListener:LbListener listener_1 b67ce64e-8b26-405d-afeb-4a078901f15a\n```\n\n","properties":{"adminStateUp":{"type":"boolean","description":"optional *boolean* \u0026rarr;  The administrative state of the Listener. A valid value is true (UP) or false (DOWN).\n"},"allowedCidrs":{"type":"array","items":{"type":"string"},"description":"optional *set of* *string* \u0026rarr;  A list of CIDR blocks that are permitted to connect to this listener, denying all other source addresses. If not present, defaults to allow all.\n"},"connectionLimit":{"type":"number","description":"optional *number* \u0026rarr;  The maximum number of connections allowed for the Listener.\n"},"defaultPoolId":{"type":"string","description":"optional *string* \u0026rarr;  The ID of the default pool with which the Listener is associated.\n"},"defaultTlsContainerRef":{"type":"string","description":"optional *string* \u0026rarr;  A reference to a Keymanager Secrets container which stores TLS information. This is required if the protocol is `TERMINATED_HTTPS`.\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Human-readable description for the Listener.\n"},"insertHeaders":{"type":"object","additionalProperties":{"type":"string"},"description":"optional *map of* *string* \u0026rarr;  The list of key value pairs representing headers to insert into the request before it is sent to the backend members. Changing this updates the headers of the existing listener.\n"},"lbListenerId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"loadbalancerId":{"type":"string","description":"**required** *string* \u0026rarr;  The load balancer on which to provision this Listener. Changing this creates a new Listener.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  Human-readable name for the Listener. Does not have to be unique.\n"},"protocol":{"type":"string","description":"**required** *string* \u0026rarr;  The protocol - can either be TCP, HTTP, HTTPS, TERMINATED_HTTPS, UDP. Changing this creates a new Listener.\n"},"protocolPort":{"type":"number","description":"**required** *number* \u0026rarr;  The port on which to listen for client traffic. Changing this creates a new Listener.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Loadbalancer client. If 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 creates a new Listener.\n"},"sniContainerRefs":{"type":"array","items":{"type":"string"},"description":"optional *string* \u0026rarr;  A list of references to Keymanager Secrets containers which store SNI information.\n"},"timeoutClientData":{"type":"number","description":"optional *number* \u0026rarr;  The client inactivity timeout in milliseconds.\n"},"timeoutMemberConnect":{"type":"number","description":"optional *number* \u0026rarr;  The member connection timeout in milliseconds.\n"},"timeoutMemberData":{"type":"number","description":"optional *number* \u0026rarr;  The member inactivity timeout in milliseconds.\n"},"timeoutTcpInspect":{"type":"number","description":"optional *number* \u0026rarr;  The time in milliseconds, to wait for additional TCP packets for content inspection.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FLbListenerTimeouts:LbListenerTimeouts"}},"type":"object","required":["allowedCidrs","connectionLimit","defaultPoolId","lbListenerId","loadbalancerId","name","protocol","protocolPort","region","timeoutClientData","timeoutMemberConnect","timeoutMemberData","timeoutTcpInspect"],"inputProperties":{"adminStateUp":{"type":"boolean","description":"optional *boolean* \u0026rarr;  The administrative state of the Listener. A valid value is true (UP) or false (DOWN).\n"},"allowedCidrs":{"type":"array","items":{"type":"string"},"description":"optional *set of* *string* \u0026rarr;  A list of CIDR blocks that are permitted to connect to this listener, denying all other source addresses. If not present, defaults to allow all.\n"},"connectionLimit":{"type":"number","description":"optional *number* \u0026rarr;  The maximum number of connections allowed for the Listener.\n"},"defaultPoolId":{"type":"string","description":"optional *string* \u0026rarr;  The ID of the default pool with which the Listener is associated.\n"},"defaultTlsContainerRef":{"type":"string","description":"optional *string* \u0026rarr;  A reference to a Keymanager Secrets container which stores TLS information. This is required if the protocol is `TERMINATED_HTTPS`.\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Human-readable description for the Listener.\n"},"insertHeaders":{"type":"object","additionalProperties":{"type":"string"},"description":"optional *map of* *string* \u0026rarr;  The list of key value pairs representing headers to insert into the request before it is sent to the backend members. Changing this updates the headers of the existing listener.\n"},"lbListenerId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"loadbalancerId":{"type":"string","description":"**required** *string* \u0026rarr;  The load balancer on which to provision this Listener. Changing this creates a new Listener.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  Human-readable name for the Listener. Does not have to be unique.\n"},"protocol":{"type":"string","description":"**required** *string* \u0026rarr;  The protocol - can either be TCP, HTTP, HTTPS, TERMINATED_HTTPS, UDP. Changing this creates a new Listener.\n"},"protocolPort":{"type":"number","description":"**required** *number* \u0026rarr;  The port on which to listen for client traffic. Changing this creates a new Listener.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Loadbalancer client. If 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 creates a new Listener.\n"},"sniContainerRefs":{"type":"array","items":{"type":"string"},"description":"optional *string* \u0026rarr;  A list of references to Keymanager Secrets containers which store SNI information.\n"},"timeoutClientData":{"type":"number","description":"optional *number* \u0026rarr;  The client inactivity timeout in milliseconds.\n"},"timeoutMemberConnect":{"type":"number","description":"optional *number* \u0026rarr;  The member connection timeout in milliseconds.\n"},"timeoutMemberData":{"type":"number","description":"optional *number* \u0026rarr;  The member inactivity timeout in milliseconds.\n"},"timeoutTcpInspect":{"type":"number","description":"optional *number* \u0026rarr;  The time in milliseconds, to wait for additional TCP packets for content inspection.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FLbListenerTimeouts:LbListenerTimeouts"}},"requiredInputs":["loadbalancerId","protocol","protocolPort"],"stateInputs":{"description":"Input properties used for looking up and filtering LbListener resources.\n","properties":{"adminStateUp":{"type":"boolean","description":"optional *boolean* \u0026rarr;  The administrative state of the Listener. A valid value is true (UP) or false (DOWN).\n"},"allowedCidrs":{"type":"array","items":{"type":"string"},"description":"optional *set of* *string* \u0026rarr;  A list of CIDR blocks that are permitted to connect to this listener, denying all other source addresses. If not present, defaults to allow all.\n"},"connectionLimit":{"type":"number","description":"optional *number* \u0026rarr;  The maximum number of connections allowed for the Listener.\n"},"defaultPoolId":{"type":"string","description":"optional *string* \u0026rarr;  The ID of the default pool with which the Listener is associated.\n"},"defaultTlsContainerRef":{"type":"string","description":"optional *string* \u0026rarr;  A reference to a Keymanager Secrets container which stores TLS information. This is required if the protocol is `TERMINATED_HTTPS`.\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Human-readable description for the Listener.\n"},"insertHeaders":{"type":"object","additionalProperties":{"type":"string"},"description":"optional *map of* *string* \u0026rarr;  The list of key value pairs representing headers to insert into the request before it is sent to the backend members. Changing this updates the headers of the existing listener.\n"},"lbListenerId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"loadbalancerId":{"type":"string","description":"**required** *string* \u0026rarr;  The load balancer on which to provision this Listener. Changing this creates a new Listener.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  Human-readable name for the Listener. Does not have to be unique.\n"},"protocol":{"type":"string","description":"**required** *string* \u0026rarr;  The protocol - can either be TCP, HTTP, HTTPS, TERMINATED_HTTPS, UDP. Changing this creates a new Listener.\n"},"protocolPort":{"type":"number","description":"**required** *number* \u0026rarr;  The port on which to listen for client traffic. Changing this creates a new Listener.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Loadbalancer client. If 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 creates a new Listener.\n"},"sniContainerRefs":{"type":"array","items":{"type":"string"},"description":"optional *string* \u0026rarr;  A list of references to Keymanager Secrets containers which store SNI information.\n"},"timeoutClientData":{"type":"number","description":"optional *number* \u0026rarr;  The client inactivity timeout in milliseconds.\n"},"timeoutMemberConnect":{"type":"number","description":"optional *number* \u0026rarr;  The member connection timeout in milliseconds.\n"},"timeoutMemberData":{"type":"number","description":"optional *number* \u0026rarr;  The member inactivity timeout in milliseconds.\n"},"timeoutTcpInspect":{"type":"number","description":"optional *number* \u0026rarr;  The time in milliseconds, to wait for additional TCP packets for content inspection.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FLbListenerTimeouts:LbListenerTimeouts"}},"type":"object"}},"vkcs:index/lbLoadbalancer:LbLoadbalancer":{"description":"Manages a loadbalancer resource within VKCS.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst app = new vkcs.LbLoadbalancer(\"app\", {\n    name: \"app-tf-example\",\n    description: \"Loadbalancer for resources/datasources testing\",\n    vipSubnetId: appVkcsNetworkingSubnet.id,\n    tags: [\"app-front-tf-example\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\napp = vkcs.LbLoadbalancer(\"app\",\n    name=\"app-tf-example\",\n    description=\"Loadbalancer for resources/datasources testing\",\n    vip_subnet_id=app_vkcs_networking_subnet[\"id\"],\n    tags=[\"app-front-tf-example\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var app = new Vkcs.LbLoadbalancer(\"app\", new()\n    {\n        Name = \"app-tf-example\",\n        Description = \"Loadbalancer for resources/datasources testing\",\n        VipSubnetId = appVkcsNetworkingSubnet.Id,\n        Tags = new[]\n        {\n            \"app-front-tf-example\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewLbLoadbalancer(ctx, \"app\", \u0026vkcs.LbLoadbalancerArgs{\n\t\t\tName:        pulumi.String(\"app-tf-example\"),\n\t\t\tDescription: pulumi.String(\"Loadbalancer for resources/datasources testing\"),\n\t\t\tVipSubnetId: pulumi.Any(appVkcsNetworkingSubnet.Id),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"app-front-tf-example\"),\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.vkcs.LbLoadbalancer;\nimport com.pulumi.vkcs.LbLoadbalancerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 app = new LbLoadbalancer(\"app\", LbLoadbalancerArgs.builder()\n            .name(\"app-tf-example\")\n            .description(\"Loadbalancer for resources/datasources testing\")\n            .vipSubnetId(appVkcsNetworkingSubnet.id())\n            .tags(\"app-front-tf-example\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  app:\n    type: vkcs:LbLoadbalancer\n    properties:\n      name: app-tf-example\n      description: Loadbalancer for resources/datasources testing\n      vipSubnetId: ${appVkcsNetworkingSubnet.id}\n      tags:\n        - app-front-tf-example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLoad Balancer can be imported using the Load Balancer ID, e.g.:\n\n```sh\n$ pulumi import vkcs:index/lbLoadbalancer:LbLoadbalancer loadbalancer_1 19bcfdc7-c521-4a7e-9459-6750bd16df76\n```\n\n","properties":{"adminStateUp":{"type":"boolean","description":"optional *boolean* \u0026rarr;  The administrative state of the Loadbalancer. A valid value is true (UP) or false (DOWN).\n"},"availabilityZone":{"type":"string","description":"optional *string* \u0026rarr;  The availability zone of the Loadbalancer. Changing this creates a new loadbalancer.\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Human-readable description for the Loadbalancer.\n"},"lbLoadbalancerId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  Human-readable name for the Loadbalancer. Does not have to be unique.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Loadbalancer client. If 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 creates a new LB loadbalancer.\n"},"securityGroupIds":{"type":"array","items":{"type":"string"},"description":"optional deprecated *set of* *string* \u0026rarr;  A list of security group IDs to apply to the loadbalancer. The security groups must be specified by ID and not name (as opposed to how they are configured with the Compute Instance). **Deprecated** This argument is deprecated, please do not use it.\n","deprecationMessage":"Deprecated"},"tags":{"type":"array","items":{"type":"string"},"description":"optional *set of* *string* \u0026rarr;  A list of simple strings assigned to the loadbalancer.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FLbLoadbalancerTimeouts:LbLoadbalancerTimeouts"},"vipAddress":{"type":"string","description":"optional *string* \u0026rarr;  The ip address of the load balancer. Changing this creates a new loadbalancer.\n"},"vipNetworkId":{"type":"string","description":"optional *string* \u0026rarr;  The network on which to allocate the Loadbalancer's address. A tenant can only create Loadbalancers on networks authorized by policy (e.g. networks that belong to them or networks that are shared).  Changing this creates a new loadbalancer.\n"},"vipPortId":{"type":"string","description":"optional *string* \u0026rarr;  The port UUID that the loadbalancer will use. Changing this creates a new loadbalancer.\n"},"vipSubnetId":{"type":"string","description":"optional *string* \u0026rarr;  The subnet on which to allocate the Loadbalancer's address. A tenant can only create Loadbalancers on networks authorized by policy (e.g. networks that belong to them or networks that are shared).  Changing this creates a new loadbalancer.\n"}},"type":"object","required":["lbLoadbalancerId","name","region","securityGroupIds","vipAddress","vipNetworkId","vipPortId","vipSubnetId"],"inputProperties":{"adminStateUp":{"type":"boolean","description":"optional *boolean* \u0026rarr;  The administrative state of the Loadbalancer. A valid value is true (UP) or false (DOWN).\n"},"availabilityZone":{"type":"string","description":"optional *string* \u0026rarr;  The availability zone of the Loadbalancer. Changing this creates a new loadbalancer.\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Human-readable description for the Loadbalancer.\n"},"lbLoadbalancerId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  Human-readable name for the Loadbalancer. Does not have to be unique.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Loadbalancer client. If 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 creates a new LB loadbalancer.\n"},"securityGroupIds":{"type":"array","items":{"type":"string"},"description":"optional deprecated *set of* *string* \u0026rarr;  A list of security group IDs to apply to the loadbalancer. The security groups must be specified by ID and not name (as opposed to how they are configured with the Compute Instance). **Deprecated** This argument is deprecated, please do not use it.\n","deprecationMessage":"Deprecated"},"tags":{"type":"array","items":{"type":"string"},"description":"optional *set of* *string* \u0026rarr;  A list of simple strings assigned to the loadbalancer.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FLbLoadbalancerTimeouts:LbLoadbalancerTimeouts"},"vipAddress":{"type":"string","description":"optional *string* \u0026rarr;  The ip address of the load balancer. Changing this creates a new loadbalancer.\n"},"vipNetworkId":{"type":"string","description":"optional *string* \u0026rarr;  The network on which to allocate the Loadbalancer's address. A tenant can only create Loadbalancers on networks authorized by policy (e.g. networks that belong to them or networks that are shared).  Changing this creates a new loadbalancer.\n"},"vipPortId":{"type":"string","description":"optional *string* \u0026rarr;  The port UUID that the loadbalancer will use. Changing this creates a new loadbalancer.\n"},"vipSubnetId":{"type":"string","description":"optional *string* \u0026rarr;  The subnet on which to allocate the Loadbalancer's address. A tenant can only create Loadbalancers on networks authorized by policy (e.g. networks that belong to them or networks that are shared).  Changing this creates a new loadbalancer.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering LbLoadbalancer resources.\n","properties":{"adminStateUp":{"type":"boolean","description":"optional *boolean* \u0026rarr;  The administrative state of the Loadbalancer. A valid value is true (UP) or false (DOWN).\n"},"availabilityZone":{"type":"string","description":"optional *string* \u0026rarr;  The availability zone of the Loadbalancer. Changing this creates a new loadbalancer.\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Human-readable description for the Loadbalancer.\n"},"lbLoadbalancerId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  Human-readable name for the Loadbalancer. Does not have to be unique.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Loadbalancer client. If 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 creates a new LB loadbalancer.\n"},"securityGroupIds":{"type":"array","items":{"type":"string"},"description":"optional deprecated *set of* *string* \u0026rarr;  A list of security group IDs to apply to the loadbalancer. The security groups must be specified by ID and not name (as opposed to how they are configured with the Compute Instance). **Deprecated** This argument is deprecated, please do not use it.\n","deprecationMessage":"Deprecated"},"tags":{"type":"array","items":{"type":"string"},"description":"optional *set of* *string* \u0026rarr;  A list of simple strings assigned to the loadbalancer.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FLbLoadbalancerTimeouts:LbLoadbalancerTimeouts"},"vipAddress":{"type":"string","description":"optional *string* \u0026rarr;  The ip address of the load balancer. Changing this creates a new loadbalancer.\n"},"vipNetworkId":{"type":"string","description":"optional *string* \u0026rarr;  The network on which to allocate the Loadbalancer's address. A tenant can only create Loadbalancers on networks authorized by policy (e.g. networks that belong to them or networks that are shared).  Changing this creates a new loadbalancer.\n"},"vipPortId":{"type":"string","description":"optional *string* \u0026rarr;  The port UUID that the loadbalancer will use. Changing this creates a new loadbalancer.\n"},"vipSubnetId":{"type":"string","description":"optional *string* \u0026rarr;  The subnet on which to allocate the Loadbalancer's address. A tenant can only create Loadbalancers on networks authorized by policy (e.g. networks that belong to them or networks that are shared).  Changing this creates a new loadbalancer.\n"}},"type":"object"}},"vkcs:index/lbMember:LbMember":{"description":"Manages a member resource within VKCS.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst frontHttp = new vkcs.LbMember(\"front_http\", {\n    poolId: http.id,\n    address: \"192.168.199.110\",\n    protocolPort: 8080,\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\nfront_http = vkcs.LbMember(\"front_http\",\n    pool_id=http[\"id\"],\n    address=\"192.168.199.110\",\n    protocol_port=8080)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var frontHttp = new Vkcs.LbMember(\"front_http\", new()\n    {\n        PoolId = http.Id,\n        Address = \"192.168.199.110\",\n        ProtocolPort = 8080,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewLbMember(ctx, \"front_http\", \u0026vkcs.LbMemberArgs{\n\t\t\tPoolId:       pulumi.Any(http.Id),\n\t\t\tAddress:      pulumi.String(\"192.168.199.110\"),\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\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.vkcs.LbMember;\nimport com.pulumi.vkcs.LbMemberArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 frontHttp = new LbMember(\"frontHttp\", LbMemberArgs.builder()\n            .poolId(http.id())\n            .address(\"192.168.199.110\")\n            .protocolPort(8080.0)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  frontHttp:\n    type: vkcs:LbMember\n    name: front_http\n    properties:\n      poolId: ${http.id}\n      address: 192.168.199.110\n      protocolPort: 8080\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLoad Balancer Pool Member can be imported using the Pool ID and Member ID separated by a slash, e.g.:\n\n```sh\n$ pulumi import vkcs:index/lbMember:LbMember member_1 c22974d2-4c95-4bcb-9819-0afc5ed303d5/9563b79c-8460-47da-8a95-2711b746510f\n```\n\n","properties":{"address":{"type":"string","description":"**required** *string* \u0026rarr;  The IP address of the member to receive traffic from the load balancer. Changing this creates a new member.\n"},"adminStateUp":{"type":"boolean","description":"optional *boolean* \u0026rarr;  The administrative state of the member. A valid value is true (UP) or false (DOWN). Defaults to true.\n"},"lbMemberId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  Human-readable name for the member.\n"},"poolId":{"type":"string","description":"**required** *string* \u0026rarr;  The id of the pool that this member will be assigned to. Changing this creates a new member.\n"},"protocolPort":{"type":"number","description":"**required** *number* \u0026rarr;  The port on which to listen for client traffic. Changing this creates a new member.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Loadbalancer client. If 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 creates a new member.\n"},"subnetId":{"type":"string","description":"optional *string* \u0026rarr;  The subnet in which to access the member. Changing this creates a new member.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FLbMemberTimeouts:LbMemberTimeouts"},"weight":{"type":"number","description":"optional *number* \u0026rarr;  A positive integer value that indicates the relative portion of traffic that this member should receive from the pool. For example, a member with a weight of 10 receives five times as much traffic as a member with a weight of 2. Defaults to 1.\n"}},"type":"object","required":["address","lbMemberId","name","poolId","protocolPort","region","weight"],"inputProperties":{"address":{"type":"string","description":"**required** *string* \u0026rarr;  The IP address of the member to receive traffic from the load balancer. Changing this creates a new member.\n"},"adminStateUp":{"type":"boolean","description":"optional *boolean* \u0026rarr;  The administrative state of the member. A valid value is true (UP) or false (DOWN). Defaults to true.\n"},"lbMemberId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  Human-readable name for the member.\n"},"poolId":{"type":"string","description":"**required** *string* \u0026rarr;  The id of the pool that this member will be assigned to. Changing this creates a new member.\n"},"protocolPort":{"type":"number","description":"**required** *number* \u0026rarr;  The port on which to listen for client traffic. Changing this creates a new member.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Loadbalancer client. If 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 creates a new member.\n"},"subnetId":{"type":"string","description":"optional *string* \u0026rarr;  The subnet in which to access the member. Changing this creates a new member.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FLbMemberTimeouts:LbMemberTimeouts"},"weight":{"type":"number","description":"optional *number* \u0026rarr;  A positive integer value that indicates the relative portion of traffic that this member should receive from the pool. For example, a member with a weight of 10 receives five times as much traffic as a member with a weight of 2. Defaults to 1.\n"}},"requiredInputs":["address","poolId","protocolPort"],"stateInputs":{"description":"Input properties used for looking up and filtering LbMember resources.\n","properties":{"address":{"type":"string","description":"**required** *string* \u0026rarr;  The IP address of the member to receive traffic from the load balancer. Changing this creates a new member.\n"},"adminStateUp":{"type":"boolean","description":"optional *boolean* \u0026rarr;  The administrative state of the member. A valid value is true (UP) or false (DOWN). Defaults to true.\n"},"lbMemberId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  Human-readable name for the member.\n"},"poolId":{"type":"string","description":"**required** *string* \u0026rarr;  The id of the pool that this member will be assigned to. Changing this creates a new member.\n"},"protocolPort":{"type":"number","description":"**required** *number* \u0026rarr;  The port on which to listen for client traffic. Changing this creates a new member.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Loadbalancer client. If 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 creates a new member.\n"},"subnetId":{"type":"string","description":"optional *string* \u0026rarr;  The subnet in which to access the member. Changing this creates a new member.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FLbMemberTimeouts:LbMemberTimeouts"},"weight":{"type":"number","description":"optional *number* \u0026rarr;  A positive integer value that indicates the relative portion of traffic that this member should receive from the pool. For example, a member with a weight of 10 receives five times as much traffic as a member with a weight of 2. Defaults to 1.\n"}},"type":"object"}},"vkcs:index/lbMembers:LbMembers":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst frontWorkers = new vkcs.LbMembers(\"front_workers\", {\n    members: Object.entries(frontWorker).map(([k, v]) =\u003e ({key: k, value: v})).map(entry =\u003e ({\n        address: entry.value.accessIpV4,\n        protocolPort: 8080,\n    })),\n    poolId: http.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\nfront_workers = vkcs.LbMembers(\"front_workers\",\n    members=[{\n        \"address\": entry[\"value\"][\"accessIpV4\"],\n        \"protocol_port\": 8080,\n    } for entry in [{\"key\": k, \"value\": v} for k, v in front_worker]],\n    pool_id=http[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var frontWorkers = new Vkcs.LbMembers(\"front_workers\", new()\n    {\n        Members = .Select(entry =\u003e \n        {\n            return new Vkcs.Inputs.LbMembersMemberArgs\n            {\n                Address = entry.Value.AccessIpV4,\n                ProtocolPort = 8080,\n            };\n        }).ToList(),\n        PoolId = http.Id,\n    });\n\n});\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLoad Balancer Pool Members can be imported using the Pool ID, e.g.:\n\n```sh\n$ pulumi import vkcs:index/lbMembers:LbMembers members_1 c22974d2-4c95-4bcb-9819-0afc5ed303d5\n```\n\n","properties":{"lbMembersId":{"type":"string","description":"*string* \u0026rarr;  The unique ID for the member.\n"},"members":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FLbMembersMember:LbMembersMember"},"description":"optional \u0026rarr;  A set of dictionaries containing member parameters. The structure is described below.\n"},"poolId":{"type":"string","description":"**required** *string* \u0026rarr;  The id of the pool that members will be assigned to. Changing this creates a new members resource.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Loadbalancer client. If 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 creates a new members resource.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FLbMembersTimeouts:LbMembersTimeouts"}},"type":"object","required":["lbMembersId","poolId","region"],"inputProperties":{"lbMembersId":{"type":"string","description":"*string* \u0026rarr;  The unique ID for the member.\n"},"members":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FLbMembersMember:LbMembersMember"},"description":"optional \u0026rarr;  A set of dictionaries containing member parameters. The structure is described below.\n"},"poolId":{"type":"string","description":"**required** *string* \u0026rarr;  The id of the pool that members will be assigned to. Changing this creates a new members resource.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Loadbalancer client. If 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 creates a new members resource.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FLbMembersTimeouts:LbMembersTimeouts"}},"requiredInputs":["poolId"],"stateInputs":{"description":"Input properties used for looking up and filtering LbMembers resources.\n","properties":{"lbMembersId":{"type":"string","description":"*string* \u0026rarr;  The unique ID for the member.\n"},"members":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FLbMembersMember:LbMembersMember"},"description":"optional \u0026rarr;  A set of dictionaries containing member parameters. The structure is described below.\n"},"poolId":{"type":"string","description":"**required** *string* \u0026rarr;  The id of the pool that members will be assigned to. Changing this creates a new members resource.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Loadbalancer client. If 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 creates a new members resource.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FLbMembersTimeouts:LbMembersTimeouts"}},"type":"object"}},"vkcs:index/lbMonitor:LbMonitor":{"description":"Manages a monitor resource within VKCS.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst workerPingLifeChecker = new vkcs.LbMonitor(\"worker_ping_life_checker\", {\n    name: \"worker-ping-life-checker-tf-example\",\n    poolId: http.id,\n    type: \"PING\",\n    delay: 20,\n    timeout: 10,\n    maxRetries: 5,\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\nworker_ping_life_checker = vkcs.LbMonitor(\"worker_ping_life_checker\",\n    name=\"worker-ping-life-checker-tf-example\",\n    pool_id=http[\"id\"],\n    type=\"PING\",\n    delay=20,\n    timeout=10,\n    max_retries=5)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var workerPingLifeChecker = new Vkcs.LbMonitor(\"worker_ping_life_checker\", new()\n    {\n        Name = \"worker-ping-life-checker-tf-example\",\n        PoolId = http.Id,\n        Type = \"PING\",\n        Delay = 20,\n        Timeout = 10,\n        MaxRetries = 5,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewLbMonitor(ctx, \"worker_ping_life_checker\", \u0026vkcs.LbMonitorArgs{\n\t\t\tName:       pulumi.String(\"worker-ping-life-checker-tf-example\"),\n\t\t\tPoolId:     pulumi.Any(http.Id),\n\t\t\tType:       pulumi.String(\"PING\"),\n\t\t\tDelay:      pulumi.Float64(20),\n\t\t\tTimeout:    pulumi.Float64(10),\n\t\t\tMaxRetries: pulumi.Float64(5),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.vkcs.LbMonitor;\nimport com.pulumi.vkcs.LbMonitorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 workerPingLifeChecker = new LbMonitor(\"workerPingLifeChecker\", LbMonitorArgs.builder()\n            .name(\"worker-ping-life-checker-tf-example\")\n            .poolId(http.id())\n            .type(\"PING\")\n            .delay(20.0)\n            .timeout(10.0)\n            .maxRetries(5.0)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  workerPingLifeChecker:\n    type: vkcs:LbMonitor\n    name: worker_ping_life_checker\n    properties:\n      name: worker-ping-life-checker-tf-example\n      poolId: ${http.id}\n      type: PING\n      delay: 20\n      timeout: 10\n      maxRetries: 5\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLoad Balancer Pool Monitor can be imported using the Monitor ID, e.g.:\n\n```sh\n$ pulumi import vkcs:index/lbMonitor:LbMonitor monitor_1 47c26fc3-2403-427a-8c79-1589bd0533c2\n```\n\n","properties":{"adminStateUp":{"type":"boolean","description":"optional *boolean* \u0026rarr;  The administrative state of the monitor. A valid value is true (UP) or false (DOWN).\n"},"delay":{"type":"number","description":"**required** *number* \u0026rarr;  The time, in seconds, between sending probes to members.\n"},"expectedCodes":{"type":"string","description":"optional *string* \u0026rarr;  Required for HTTP(S) types. Expected HTTP codes for a passing HTTP(S) monitor. You can either specify a single status like \"200\", or a range like \"200-202\".\n"},"httpMethod":{"type":"string","description":"optional *string* \u0026rarr;  Required for HTTP(S) types. The HTTP method used for requests by the monitor. If this attribute is not specified, it defaults to \"GET\".\n"},"lbMonitorId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"maxRetries":{"type":"number","description":"**required** *number* \u0026rarr;  Number of permissible ping failures before changing the member's status to INACTIVE. Must be a number between 1 and 10.\n"},"maxRetriesDown":{"type":"number","description":"optional *number* \u0026rarr;  Number of permissible ping failures befor changing the member's status to ERROR. Must be a number between 1 and 10. Changing this updates the\u003cspan pulumi-lang-nodejs=\" maxRetriesDown \" pulumi-lang-dotnet=\" MaxRetriesDown \" pulumi-lang-go=\" maxRetriesDown \" pulumi-lang-python=\" max_retries_down \" pulumi-lang-yaml=\" maxRetriesDown \" pulumi-lang-java=\" maxRetriesDown \"\u003e max_retries_down \u003c/span\u003eof the existing monitor.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  The Name of the Monitor.\n"},"poolId":{"type":"string","description":"**required** *string* \u0026rarr;  The id of the pool that this monitor will be assigned to.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Loadbalancer client. If 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 creates a new monitor.\n"},"timeout":{"type":"number","description":"**required** *number* \u0026rarr;  Maximum number of seconds for a monitor to wait for a ping reply before it times out. The value must be less than the delay value.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FLbMonitorTimeouts:LbMonitorTimeouts"},"type":{"type":"string","description":"**required** *string* \u0026rarr;  The type of probe, which is PING, TCP, HTTP, HTTPS, TLS-HELLO or UDP-CONNECT, that is sent by the load balancer to verify the member state. Changing this creates a new monitor.\n"},"urlPath":{"type":"string","description":"optional *string* \u0026rarr;  Required for HTTP(S) types. URI path that will be accessed if monitor type is HTTP or HTTPS.\n"}},"type":"object","required":["delay","expectedCodes","httpMethod","lbMonitorId","maxRetries","maxRetriesDown","name","poolId","region","timeout","type","urlPath"],"inputProperties":{"adminStateUp":{"type":"boolean","description":"optional *boolean* \u0026rarr;  The administrative state of the monitor. A valid value is true (UP) or false (DOWN).\n"},"delay":{"type":"number","description":"**required** *number* \u0026rarr;  The time, in seconds, between sending probes to members.\n"},"expectedCodes":{"type":"string","description":"optional *string* \u0026rarr;  Required for HTTP(S) types. Expected HTTP codes for a passing HTTP(S) monitor. You can either specify a single status like \"200\", or a range like \"200-202\".\n"},"httpMethod":{"type":"string","description":"optional *string* \u0026rarr;  Required for HTTP(S) types. The HTTP method used for requests by the monitor. If this attribute is not specified, it defaults to \"GET\".\n"},"lbMonitorId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"maxRetries":{"type":"number","description":"**required** *number* \u0026rarr;  Number of permissible ping failures before changing the member's status to INACTIVE. Must be a number between 1 and 10.\n"},"maxRetriesDown":{"type":"number","description":"optional *number* \u0026rarr;  Number of permissible ping failures befor changing the member's status to ERROR. Must be a number between 1 and 10. Changing this updates the\u003cspan pulumi-lang-nodejs=\" maxRetriesDown \" pulumi-lang-dotnet=\" MaxRetriesDown \" pulumi-lang-go=\" maxRetriesDown \" pulumi-lang-python=\" max_retries_down \" pulumi-lang-yaml=\" maxRetriesDown \" pulumi-lang-java=\" maxRetriesDown \"\u003e max_retries_down \u003c/span\u003eof the existing monitor.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  The Name of the Monitor.\n"},"poolId":{"type":"string","description":"**required** *string* \u0026rarr;  The id of the pool that this monitor will be assigned to.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Loadbalancer client. If 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 creates a new monitor.\n"},"timeout":{"type":"number","description":"**required** *number* \u0026rarr;  Maximum number of seconds for a monitor to wait for a ping reply before it times out. The value must be less than the delay value.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FLbMonitorTimeouts:LbMonitorTimeouts"},"type":{"type":"string","description":"**required** *string* \u0026rarr;  The type of probe, which is PING, TCP, HTTP, HTTPS, TLS-HELLO or UDP-CONNECT, that is sent by the load balancer to verify the member state. Changing this creates a new monitor.\n"},"urlPath":{"type":"string","description":"optional *string* \u0026rarr;  Required for HTTP(S) types. URI path that will be accessed if monitor type is HTTP or HTTPS.\n"}},"requiredInputs":["delay","maxRetries","poolId","timeout","type"],"stateInputs":{"description":"Input properties used for looking up and filtering LbMonitor resources.\n","properties":{"adminStateUp":{"type":"boolean","description":"optional *boolean* \u0026rarr;  The administrative state of the monitor. A valid value is true (UP) or false (DOWN).\n"},"delay":{"type":"number","description":"**required** *number* \u0026rarr;  The time, in seconds, between sending probes to members.\n"},"expectedCodes":{"type":"string","description":"optional *string* \u0026rarr;  Required for HTTP(S) types. Expected HTTP codes for a passing HTTP(S) monitor. You can either specify a single status like \"200\", or a range like \"200-202\".\n"},"httpMethod":{"type":"string","description":"optional *string* \u0026rarr;  Required for HTTP(S) types. The HTTP method used for requests by the monitor. If this attribute is not specified, it defaults to \"GET\".\n"},"lbMonitorId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"maxRetries":{"type":"number","description":"**required** *number* \u0026rarr;  Number of permissible ping failures before changing the member's status to INACTIVE. Must be a number between 1 and 10.\n"},"maxRetriesDown":{"type":"number","description":"optional *number* \u0026rarr;  Number of permissible ping failures befor changing the member's status to ERROR. Must be a number between 1 and 10. Changing this updates the\u003cspan pulumi-lang-nodejs=\" maxRetriesDown \" pulumi-lang-dotnet=\" MaxRetriesDown \" pulumi-lang-go=\" maxRetriesDown \" pulumi-lang-python=\" max_retries_down \" pulumi-lang-yaml=\" maxRetriesDown \" pulumi-lang-java=\" maxRetriesDown \"\u003e max_retries_down \u003c/span\u003eof the existing monitor.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  The Name of the Monitor.\n"},"poolId":{"type":"string","description":"**required** *string* \u0026rarr;  The id of the pool that this monitor will be assigned to.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Loadbalancer client. If 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 creates a new monitor.\n"},"timeout":{"type":"number","description":"**required** *number* \u0026rarr;  Maximum number of seconds for a monitor to wait for a ping reply before it times out. The value must be less than the delay value.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FLbMonitorTimeouts:LbMonitorTimeouts"},"type":{"type":"string","description":"**required** *string* \u0026rarr;  The type of probe, which is PING, TCP, HTTP, HTTPS, TLS-HELLO or UDP-CONNECT, that is sent by the load balancer to verify the member state. Changing this creates a new monitor.\n"},"urlPath":{"type":"string","description":"optional *string* \u0026rarr;  Required for HTTP(S) types. URI path that will be accessed if monitor type is HTTP or HTTPS.\n"}},"type":"object"}},"vkcs:index/lbPool:LbPool":{"description":"Manages a pool resource within VKCS.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst http = new vkcs.LbPool(\"http\", {\n    name: \"http-tf-example\",\n    description: \"Pool for http member/members testing\",\n    listenerId: appHttp.id,\n    protocol: \"HTTP\",\n    lbMethod: \"ROUND_ROBIN\",\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\nhttp = vkcs.LbPool(\"http\",\n    name=\"http-tf-example\",\n    description=\"Pool for http member/members testing\",\n    listener_id=app_http[\"id\"],\n    protocol=\"HTTP\",\n    lb_method=\"ROUND_ROBIN\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var http = new Vkcs.LbPool(\"http\", new()\n    {\n        Name = \"http-tf-example\",\n        Description = \"Pool for http member/members testing\",\n        ListenerId = appHttp.Id,\n        Protocol = \"HTTP\",\n        LbMethod = \"ROUND_ROBIN\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewLbPool(ctx, \"http\", \u0026vkcs.LbPoolArgs{\n\t\t\tName:        pulumi.String(\"http-tf-example\"),\n\t\t\tDescription: pulumi.String(\"Pool for http member/members testing\"),\n\t\t\tListenerId:  pulumi.Any(appHttp.Id),\n\t\t\tProtocol:    pulumi.String(\"HTTP\"),\n\t\t\tLbMethod:    pulumi.String(\"ROUND_ROBIN\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.vkcs.LbPool;\nimport com.pulumi.vkcs.LbPoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 http = new LbPool(\"http\", LbPoolArgs.builder()\n            .name(\"http-tf-example\")\n            .description(\"Pool for http member/members testing\")\n            .listenerId(appHttp.id())\n            .protocol(\"HTTP\")\n            .lbMethod(\"ROUND_ROBIN\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  http:\n    type: vkcs:LbPool\n    properties:\n      name: http-tf-example\n      description: Pool for http member/members testing\n      listenerId: ${appHttp.id}\n      protocol: HTTP\n      lbMethod: ROUND_ROBIN\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLoad Balancer Pool can be imported using the Pool ID, e.g.:\n\n```sh\n$ pulumi import vkcs:index/lbPool:LbPool pool_1 60ad9ee4-249a-4d60-a45b-aa60e046c513\n```\n\n","properties":{"adminStateUp":{"type":"boolean","description":"optional *boolean* \u0026rarr;  The administrative state of the pool. A valid value is true (UP) or false (DOWN).\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Human-readable description for the pool.\n"},"lbMethod":{"type":"string","description":"**required** *string* \u0026rarr;  The load balancing algorithm to distribute traffic to the pool's members. Must be one of ROUND_ROBIN, LEAST_CONNECTIONS, SOURCE_IP, or SOURCE_IP_PORT.\n"},"lbPoolId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"listenerId":{"type":"string","description":"optional *string* \u0026rarr;  The Listener on which the members of the pool will be associated with. Changing this creates a new pool. \u003cbr\u003e**Note:** One of LoadbalancerID or ListenerID must be provided.\n"},"loadbalancerId":{"type":"string","description":"optional *string* \u0026rarr;  The load balancer on which to provision this pool. Changing this creates a new pool. \u003cbr\u003e**Note:** One of LoadbalancerID or ListenerID must be provided.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  Human-readable name for the pool.\n"},"persistence":{"$ref":"#/types/vkcs:index%2FLbPoolPersistence:LbPoolPersistence","description":"optional \u0026rarr;  Omit this field to prevent session persistence. Indicates whether connections in the same session will be processed by the same Pool member or not. Changing this creates a new pool.\n"},"protocol":{"type":"string","description":"**required** *string* \u0026rarr;  The protocol - can either be TCP, HTTP, HTTPS, PROXY, or UDP. Changing this creates a new pool.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Loadbalancer client. If 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 creates a new pool.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FLbPoolTimeouts:LbPoolTimeouts"}},"type":"object","required":["lbMethod","lbPoolId","name","protocol","region"],"inputProperties":{"adminStateUp":{"type":"boolean","description":"optional *boolean* \u0026rarr;  The administrative state of the pool. A valid value is true (UP) or false (DOWN).\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Human-readable description for the pool.\n"},"lbMethod":{"type":"string","description":"**required** *string* \u0026rarr;  The load balancing algorithm to distribute traffic to the pool's members. Must be one of ROUND_ROBIN, LEAST_CONNECTIONS, SOURCE_IP, or SOURCE_IP_PORT.\n"},"lbPoolId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"listenerId":{"type":"string","description":"optional *string* \u0026rarr;  The Listener on which the members of the pool will be associated with. Changing this creates a new pool. \u003cbr\u003e**Note:** One of LoadbalancerID or ListenerID must be provided.\n"},"loadbalancerId":{"type":"string","description":"optional *string* \u0026rarr;  The load balancer on which to provision this pool. Changing this creates a new pool. \u003cbr\u003e**Note:** One of LoadbalancerID or ListenerID must be provided.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  Human-readable name for the pool.\n"},"persistence":{"$ref":"#/types/vkcs:index%2FLbPoolPersistence:LbPoolPersistence","description":"optional \u0026rarr;  Omit this field to prevent session persistence. Indicates whether connections in the same session will be processed by the same Pool member or not. Changing this creates a new pool.\n"},"protocol":{"type":"string","description":"**required** *string* \u0026rarr;  The protocol - can either be TCP, HTTP, HTTPS, PROXY, or UDP. Changing this creates a new pool.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Loadbalancer client. If 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 creates a new pool.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FLbPoolTimeouts:LbPoolTimeouts"}},"requiredInputs":["lbMethod","protocol"],"stateInputs":{"description":"Input properties used for looking up and filtering LbPool resources.\n","properties":{"adminStateUp":{"type":"boolean","description":"optional *boolean* \u0026rarr;  The administrative state of the pool. A valid value is true (UP) or false (DOWN).\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Human-readable description for the pool.\n"},"lbMethod":{"type":"string","description":"**required** *string* \u0026rarr;  The load balancing algorithm to distribute traffic to the pool's members. Must be one of ROUND_ROBIN, LEAST_CONNECTIONS, SOURCE_IP, or SOURCE_IP_PORT.\n"},"lbPoolId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"listenerId":{"type":"string","description":"optional *string* \u0026rarr;  The Listener on which the members of the pool will be associated with. Changing this creates a new pool. \u003cbr\u003e**Note:** One of LoadbalancerID or ListenerID must be provided.\n"},"loadbalancerId":{"type":"string","description":"optional *string* \u0026rarr;  The load balancer on which to provision this pool. Changing this creates a new pool. \u003cbr\u003e**Note:** One of LoadbalancerID or ListenerID must be provided.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  Human-readable name for the pool.\n"},"persistence":{"$ref":"#/types/vkcs:index%2FLbPoolPersistence:LbPoolPersistence","description":"optional \u0026rarr;  Omit this field to prevent session persistence. Indicates whether connections in the same session will be processed by the same Pool member or not. Changing this creates a new pool.\n"},"protocol":{"type":"string","description":"**required** *string* \u0026rarr;  The protocol - can either be TCP, HTTP, HTTPS, PROXY, or UDP. Changing this creates a new pool.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Loadbalancer client. If 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 creates a new pool.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FLbPoolTimeouts:LbPoolTimeouts"}},"type":"object"}},"vkcs:index/mlplatformJupyterhub:MlplatformJupyterhub":{"description":"Manages a ML Platform JupyterHub resource.\n\n**New since v0.6.0**.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst jupyterhub = new vkcs.MlplatformJupyterhub(\"jupyterhub\", {\n    name: \"tf-example\",\n    adminName: \"admin\",\n    adminPassword: \"Password!\",\n    flavorId: basic.id,\n    availabilityZone: \"GZ1\",\n    bootVolume: {\n        volumeType: \"ceph-ssd\",\n    },\n    dataVolumes: [\n        {\n            size: 60,\n            volumeType: \"ceph-ssd\",\n        },\n        {\n            size: 70,\n            volumeType: \"ceph-ssd\",\n        },\n    ],\n    networks: [{\n        networkId: app.id,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\njupyterhub = vkcs.MlplatformJupyterhub(\"jupyterhub\",\n    name=\"tf-example\",\n    admin_name=\"admin\",\n    admin_password=\"Password!\",\n    flavor_id=basic[\"id\"],\n    availability_zone=\"GZ1\",\n    boot_volume={\n        \"volume_type\": \"ceph-ssd\",\n    },\n    data_volumes=[\n        {\n            \"size\": 60,\n            \"volume_type\": \"ceph-ssd\",\n        },\n        {\n            \"size\": 70,\n            \"volume_type\": \"ceph-ssd\",\n        },\n    ],\n    networks=[{\n        \"network_id\": app[\"id\"],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var jupyterhub = new Vkcs.MlplatformJupyterhub(\"jupyterhub\", new()\n    {\n        Name = \"tf-example\",\n        AdminName = \"admin\",\n        AdminPassword = \"Password!\",\n        FlavorId = basic.Id,\n        AvailabilityZone = \"GZ1\",\n        BootVolume = new Vkcs.Inputs.MlplatformJupyterhubBootVolumeArgs\n        {\n            VolumeType = \"ceph-ssd\",\n        },\n        DataVolumes = new[]\n        {\n            new Vkcs.Inputs.MlplatformJupyterhubDataVolumeArgs\n            {\n                Size = 60,\n                VolumeType = \"ceph-ssd\",\n            },\n            new Vkcs.Inputs.MlplatformJupyterhubDataVolumeArgs\n            {\n                Size = 70,\n                VolumeType = \"ceph-ssd\",\n            },\n        },\n        Networks = new[]\n        {\n            new Vkcs.Inputs.MlplatformJupyterhubNetworkArgs\n            {\n                NetworkId = app.Id,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewMlplatformJupyterhub(ctx, \"jupyterhub\", \u0026vkcs.MlplatformJupyterhubArgs{\n\t\t\tName:             pulumi.String(\"tf-example\"),\n\t\t\tAdminName:        pulumi.String(\"admin\"),\n\t\t\tAdminPassword:    pulumi.String(\"Password!\"),\n\t\t\tFlavorId:         pulumi.Any(basic.Id),\n\t\t\tAvailabilityZone: pulumi.String(\"GZ1\"),\n\t\t\tBootVolume: \u0026vkcs.MlplatformJupyterhubBootVolumeArgs{\n\t\t\t\tVolumeType: pulumi.String(\"ceph-ssd\"),\n\t\t\t},\n\t\t\tDataVolumes: vkcs.MlplatformJupyterhubDataVolumeArray{\n\t\t\t\t\u0026vkcs.MlplatformJupyterhubDataVolumeArgs{\n\t\t\t\t\tSize:       pulumi.Float64(60),\n\t\t\t\t\tVolumeType: pulumi.String(\"ceph-ssd\"),\n\t\t\t\t},\n\t\t\t\t\u0026vkcs.MlplatformJupyterhubDataVolumeArgs{\n\t\t\t\t\tSize:       pulumi.Float64(70),\n\t\t\t\t\tVolumeType: pulumi.String(\"ceph-ssd\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tNetworks: vkcs.MlplatformJupyterhubNetworkArray{\n\t\t\t\t\u0026vkcs.MlplatformJupyterhubNetworkArgs{\n\t\t\t\t\tNetworkId: pulumi.Any(app.Id),\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.vkcs.MlplatformJupyterhub;\nimport com.pulumi.vkcs.MlplatformJupyterhubArgs;\nimport com.pulumi.vkcs.inputs.MlplatformJupyterhubBootVolumeArgs;\nimport com.pulumi.vkcs.inputs.MlplatformJupyterhubDataVolumeArgs;\nimport com.pulumi.vkcs.inputs.MlplatformJupyterhubNetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 jupyterhub = new MlplatformJupyterhub(\"jupyterhub\", MlplatformJupyterhubArgs.builder()\n            .name(\"tf-example\")\n            .adminName(\"admin\")\n            .adminPassword(\"Password!\")\n            .flavorId(basic.id())\n            .availabilityZone(\"GZ1\")\n            .bootVolume(MlplatformJupyterhubBootVolumeArgs.builder()\n                .volumeType(\"ceph-ssd\")\n                .build())\n            .dataVolumes(            \n                MlplatformJupyterhubDataVolumeArgs.builder()\n                    .size(60.0)\n                    .volumeType(\"ceph-ssd\")\n                    .build(),\n                MlplatformJupyterhubDataVolumeArgs.builder()\n                    .size(70.0)\n                    .volumeType(\"ceph-ssd\")\n                    .build())\n            .networks(MlplatformJupyterhubNetworkArgs.builder()\n                .networkId(app.id())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  jupyterhub:\n    type: vkcs:MlplatformJupyterhub\n    properties:\n      name: tf-example\n      adminName: admin\n      adminPassword: Password!\n      flavorId: ${basic.id}\n      availabilityZone: GZ1\n      bootVolume:\n        volumeType: ceph-ssd\n      dataVolumes:\n        - size: 60\n          volumeType: ceph-ssd\n        - size: 70\n          volumeType: ceph-ssd\n      networks:\n        - networkId: ${app.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nML Platform JupyterHub instance can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import vkcs:index/mlplatformJupyterhub:MlplatformJupyterhub myjupyterhub 3a679dd9-0942-49b0-b233-95de5a5a9502\n```\n\n","properties":{"adminName":{"type":"string","description":"optional *string* \u0026rarr;  JupyterHub admin name. Changing this creates a new resource\n"},"adminPassword":{"type":"string","description":"optional sensitive *string* \u0026rarr;  JupyterHub admin password. Changing this creates a new resource\n","secret":true},"availabilityZone":{"type":"string","description":"**required** *string* \u0026rarr;  The availability zone in which to create the resource. Changing this creates a new resource\n"},"bootVolume":{"$ref":"#/types/vkcs:index%2FMlplatformJupyterhubBootVolume:MlplatformJupyterhubBootVolume","description":"***required*** \u0026rarr;  Instance's boot volume configuration\n"},"createdAt":{"type":"string","description":"*string* \u0026rarr;  Creation timestamp\n"},"dataVolumes":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FMlplatformJupyterhubDataVolume:MlplatformJupyterhubDataVolume"},"description":"*list* \u0026rarr;  Instance's data volumes configuration\n"},"dnsName":{"type":"string","description":"*string* \u0026rarr;  DNS name\n"},"domainName":{"type":"string","description":"optional *string* \u0026rarr;  Domain name. Changing this creates a new resource\n"},"flavorId":{"type":"string","description":"**required** *string* \u0026rarr;  Flavor ID\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  Instance name. Changing this creates a new resource\n"},"networks":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FMlplatformJupyterhubNetwork:MlplatformJupyterhubNetwork"},"description":"*list* \u0026rarr;  Network configuration\n"},"privateIp":{"type":"string","description":"*string* \u0026rarr;  Private IP address\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  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 in which ML Platform client is obtained, 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"},"s3fsBucket":{"type":"string","description":"optional *string* \u0026rarr;  Connect specified s3 bucket to instance as volume. Changing this creates a new resource\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FMlplatformJupyterhubTimeouts:MlplatformJupyterhubTimeouts"}},"type":"object","required":["availabilityZone","bootVolume","createdAt","dataVolumes","dnsName","flavorId","name","networks","privateIp","region"],"inputProperties":{"adminName":{"type":"string","description":"optional *string* \u0026rarr;  JupyterHub admin name. Changing this creates a new resource\n"},"adminPassword":{"type":"string","description":"optional sensitive *string* \u0026rarr;  JupyterHub admin password. Changing this creates a new resource\n","secret":true},"availabilityZone":{"type":"string","description":"**required** *string* \u0026rarr;  The availability zone in which to create the resource. Changing this creates a new resource\n"},"bootVolume":{"$ref":"#/types/vkcs:index%2FMlplatformJupyterhubBootVolume:MlplatformJupyterhubBootVolume","description":"***required*** \u0026rarr;  Instance's boot volume configuration\n"},"dataVolumes":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FMlplatformJupyterhubDataVolume:MlplatformJupyterhubDataVolume"},"description":"*list* \u0026rarr;  Instance's data volumes configuration\n"},"domainName":{"type":"string","description":"optional *string* \u0026rarr;  Domain name. Changing this creates a new resource\n"},"flavorId":{"type":"string","description":"**required** *string* \u0026rarr;  Flavor ID\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  Instance name. Changing this creates a new resource\n"},"networks":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FMlplatformJupyterhubNetwork:MlplatformJupyterhubNetwork"},"description":"*list* \u0026rarr;  Network configuration\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  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 in which ML Platform client is obtained, 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"},"s3fsBucket":{"type":"string","description":"optional *string* \u0026rarr;  Connect specified s3 bucket to instance as volume. Changing this creates a new resource\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FMlplatformJupyterhubTimeouts:MlplatformJupyterhubTimeouts"}},"requiredInputs":["availabilityZone","bootVolume","dataVolumes","flavorId","networks"],"stateInputs":{"description":"Input properties used for looking up and filtering MlplatformJupyterhub resources.\n","properties":{"adminName":{"type":"string","description":"optional *string* \u0026rarr;  JupyterHub admin name. Changing this creates a new resource\n"},"adminPassword":{"type":"string","description":"optional sensitive *string* \u0026rarr;  JupyterHub admin password. Changing this creates a new resource\n","secret":true},"availabilityZone":{"type":"string","description":"**required** *string* \u0026rarr;  The availability zone in which to create the resource. Changing this creates a new resource\n"},"bootVolume":{"$ref":"#/types/vkcs:index%2FMlplatformJupyterhubBootVolume:MlplatformJupyterhubBootVolume","description":"***required*** \u0026rarr;  Instance's boot volume configuration\n"},"createdAt":{"type":"string","description":"*string* \u0026rarr;  Creation timestamp\n"},"dataVolumes":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FMlplatformJupyterhubDataVolume:MlplatformJupyterhubDataVolume"},"description":"*list* \u0026rarr;  Instance's data volumes configuration\n"},"dnsName":{"type":"string","description":"*string* \u0026rarr;  DNS name\n"},"domainName":{"type":"string","description":"optional *string* \u0026rarr;  Domain name. Changing this creates a new resource\n"},"flavorId":{"type":"string","description":"**required** *string* \u0026rarr;  Flavor ID\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  Instance name. Changing this creates a new resource\n"},"networks":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FMlplatformJupyterhubNetwork:MlplatformJupyterhubNetwork"},"description":"*list* \u0026rarr;  Network configuration\n"},"privateIp":{"type":"string","description":"*string* \u0026rarr;  Private IP address\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  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 in which ML Platform client is obtained, 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"},"s3fsBucket":{"type":"string","description":"optional *string* \u0026rarr;  Connect specified s3 bucket to instance as volume. Changing this creates a new resource\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FMlplatformJupyterhubTimeouts:MlplatformJupyterhubTimeouts"}},"type":"object"}},"vkcs:index/mlplatformK8sRegistry:MlplatformK8sRegistry":{"description":"Manages a ML Platform K8SRegistry resource.\n\n**New since v0.7.0**.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst k8sRegistry = new vkcs.MlplatformK8sRegistry(\"k8s_registry\", {\n    name: \"tf-example\",\n    adminName: \"admin\",\n    adminPassword: \"dM8Ao21,0S264iZp\",\n    flavorId: basic.id,\n    availabilityZone: \"GZ1\",\n    bootVolume: {\n        volumeType: \"ceph-ssd\",\n    },\n    networks: [{\n        networkId: app.id,\n        ipPool: extnet.id,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\nk8s_registry = vkcs.MlplatformK8sRegistry(\"k8s_registry\",\n    name=\"tf-example\",\n    admin_name=\"admin\",\n    admin_password=\"dM8Ao21,0S264iZp\",\n    flavor_id=basic[\"id\"],\n    availability_zone=\"GZ1\",\n    boot_volume={\n        \"volume_type\": \"ceph-ssd\",\n    },\n    networks=[{\n        \"network_id\": app[\"id\"],\n        \"ip_pool\": extnet[\"id\"],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var k8sRegistry = new Vkcs.MlplatformK8sRegistry(\"k8s_registry\", new()\n    {\n        Name = \"tf-example\",\n        AdminName = \"admin\",\n        AdminPassword = \"dM8Ao21,0S264iZp\",\n        FlavorId = basic.Id,\n        AvailabilityZone = \"GZ1\",\n        BootVolume = new Vkcs.Inputs.MlplatformK8sRegistryBootVolumeArgs\n        {\n            VolumeType = \"ceph-ssd\",\n        },\n        Networks = new[]\n        {\n            new Vkcs.Inputs.MlplatformK8sRegistryNetworkArgs\n            {\n                NetworkId = app.Id,\n                IpPool = extnet.Id,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewMlplatformK8sRegistry(ctx, \"k8s_registry\", \u0026vkcs.MlplatformK8sRegistryArgs{\n\t\t\tName:             pulumi.String(\"tf-example\"),\n\t\t\tAdminName:        pulumi.String(\"admin\"),\n\t\t\tAdminPassword:    pulumi.String(\"dM8Ao21,0S264iZp\"),\n\t\t\tFlavorId:         pulumi.Any(basic.Id),\n\t\t\tAvailabilityZone: pulumi.String(\"GZ1\"),\n\t\t\tBootVolume: \u0026vkcs.MlplatformK8sRegistryBootVolumeArgs{\n\t\t\t\tVolumeType: pulumi.String(\"ceph-ssd\"),\n\t\t\t},\n\t\t\tNetworks: vkcs.MlplatformK8sRegistryNetworkArray{\n\t\t\t\t\u0026vkcs.MlplatformK8sRegistryNetworkArgs{\n\t\t\t\t\tNetworkId: pulumi.Any(app.Id),\n\t\t\t\t\tIpPool:    pulumi.Any(extnet.Id),\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.vkcs.MlplatformK8sRegistry;\nimport com.pulumi.vkcs.MlplatformK8sRegistryArgs;\nimport com.pulumi.vkcs.inputs.MlplatformK8sRegistryBootVolumeArgs;\nimport com.pulumi.vkcs.inputs.MlplatformK8sRegistryNetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 k8sRegistry = new MlplatformK8sRegistry(\"k8sRegistry\", MlplatformK8sRegistryArgs.builder()\n            .name(\"tf-example\")\n            .adminName(\"admin\")\n            .adminPassword(\"dM8Ao21,0S264iZp\")\n            .flavorId(basic.id())\n            .availabilityZone(\"GZ1\")\n            .bootVolume(MlplatformK8sRegistryBootVolumeArgs.builder()\n                .volumeType(\"ceph-ssd\")\n                .build())\n            .networks(MlplatformK8sRegistryNetworkArgs.builder()\n                .networkId(app.id())\n                .ipPool(extnet.id())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  k8sRegistry:\n    type: vkcs:MlplatformK8sRegistry\n    name: k8s_registry\n    properties:\n      name: tf-example\n      adminName: admin\n      adminPassword: dM8Ao21,0S264iZp\n      flavorId: ${basic.id}\n      availabilityZone: GZ1\n      bootVolume:\n        volumeType: ceph-ssd\n      networks:\n        - networkId: ${app.id}\n          ipPool: ${extnet.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nML Platform K8S Registry instance can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import vkcs:index/mlplatformK8sRegistry:MlplatformK8sRegistry myk8sregistry 0229eb40-5b56-4ab1-857f-453848a542f3\n```\n\n","properties":{"adminName":{"type":"string","description":"optional *string* \u0026rarr;  K8SRegistry admin name. Changing this creates a new resource\n"},"adminPassword":{"type":"string","description":"optional sensitive *string* \u0026rarr;  K8SRegistry admin password. Changing this creates a new resource\n","secret":true},"availabilityZone":{"type":"string","description":"**required** *string* \u0026rarr;  The availability zone in which to create the resource. Changing this creates a new resource\n"},"bootVolume":{"$ref":"#/types/vkcs:index%2FMlplatformK8sRegistryBootVolume:MlplatformK8sRegistryBootVolume","description":"***required*** \u0026rarr;  Instance's boot volume configuration\n"},"createdAt":{"type":"string","description":"*string* \u0026rarr;  Creation timestamp\n"},"dataVolumes":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FMlplatformK8sRegistryDataVolume:MlplatformK8sRegistryDataVolume"},"description":"*list* \u0026rarr;  Instance's data volumes configuration\n"},"dnsName":{"type":"string","description":"*string* \u0026rarr;  DNS name\n"},"domainName":{"type":"string","description":"optional *string* \u0026rarr;  Domain name. Changing this creates a new resource\n"},"flavorId":{"type":"string","description":"**required** *string* \u0026rarr;  Flavor ID\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  Instance name. Changing this creates a new resource\n"},"networks":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FMlplatformK8sRegistryNetwork:MlplatformK8sRegistryNetwork"},"description":"*list* \u0026rarr;  Network configuration\n"},"privateIp":{"type":"string","description":"*string* \u0026rarr;  Private IP address\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  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 in which ML Platform client is obtained, 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"},"timeouts":{"$ref":"#/types/vkcs:index%2FMlplatformK8sRegistryTimeouts:MlplatformK8sRegistryTimeouts"}},"type":"object","required":["availabilityZone","bootVolume","createdAt","dnsName","flavorId","name","networks","privateIp","region"],"inputProperties":{"adminName":{"type":"string","description":"optional *string* \u0026rarr;  K8SRegistry admin name. Changing this creates a new resource\n"},"adminPassword":{"type":"string","description":"optional sensitive *string* \u0026rarr;  K8SRegistry admin password. Changing this creates a new resource\n","secret":true},"availabilityZone":{"type":"string","description":"**required** *string* \u0026rarr;  The availability zone in which to create the resource. Changing this creates a new resource\n"},"bootVolume":{"$ref":"#/types/vkcs:index%2FMlplatformK8sRegistryBootVolume:MlplatformK8sRegistryBootVolume","description":"***required*** \u0026rarr;  Instance's boot volume configuration\n"},"dataVolumes":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FMlplatformK8sRegistryDataVolume:MlplatformK8sRegistryDataVolume"},"description":"*list* \u0026rarr;  Instance's data volumes configuration\n"},"domainName":{"type":"string","description":"optional *string* \u0026rarr;  Domain name. Changing this creates a new resource\n"},"flavorId":{"type":"string","description":"**required** *string* \u0026rarr;  Flavor ID\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  Instance name. Changing this creates a new resource\n"},"networks":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FMlplatformK8sRegistryNetwork:MlplatformK8sRegistryNetwork"},"description":"*list* \u0026rarr;  Network configuration\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  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 in which ML Platform client is obtained, 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"},"timeouts":{"$ref":"#/types/vkcs:index%2FMlplatformK8sRegistryTimeouts:MlplatformK8sRegistryTimeouts"}},"requiredInputs":["availabilityZone","bootVolume","flavorId","networks"],"stateInputs":{"description":"Input properties used for looking up and filtering MlplatformK8sRegistry resources.\n","properties":{"adminName":{"type":"string","description":"optional *string* \u0026rarr;  K8SRegistry admin name. Changing this creates a new resource\n"},"adminPassword":{"type":"string","description":"optional sensitive *string* \u0026rarr;  K8SRegistry admin password. Changing this creates a new resource\n","secret":true},"availabilityZone":{"type":"string","description":"**required** *string* \u0026rarr;  The availability zone in which to create the resource. Changing this creates a new resource\n"},"bootVolume":{"$ref":"#/types/vkcs:index%2FMlplatformK8sRegistryBootVolume:MlplatformK8sRegistryBootVolume","description":"***required*** \u0026rarr;  Instance's boot volume configuration\n"},"createdAt":{"type":"string","description":"*string* \u0026rarr;  Creation timestamp\n"},"dataVolumes":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FMlplatformK8sRegistryDataVolume:MlplatformK8sRegistryDataVolume"},"description":"*list* \u0026rarr;  Instance's data volumes configuration\n"},"dnsName":{"type":"string","description":"*string* \u0026rarr;  DNS name\n"},"domainName":{"type":"string","description":"optional *string* \u0026rarr;  Domain name. Changing this creates a new resource\n"},"flavorId":{"type":"string","description":"**required** *string* \u0026rarr;  Flavor ID\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  Instance name. Changing this creates a new resource\n"},"networks":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FMlplatformK8sRegistryNetwork:MlplatformK8sRegistryNetwork"},"description":"*list* \u0026rarr;  Network configuration\n"},"privateIp":{"type":"string","description":"*string* \u0026rarr;  Private IP address\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  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 in which ML Platform client is obtained, 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"},"timeouts":{"$ref":"#/types/vkcs:index%2FMlplatformK8sRegistryTimeouts:MlplatformK8sRegistryTimeouts"}},"type":"object"}},"vkcs:index/mlplatformMlflow:MlplatformMlflow":{"description":"Manages a ML Platform MLFlow resource.\n\n**New since v0.6.0**.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst mlflow = new vkcs.MlplatformMlflow(\"mlflow\", {\n    name: \"tf-example\",\n    flavorId: basic.id,\n    jhInstanceId: jupyterhub.id,\n    demoMode: true,\n    availabilityZone: \"GZ1\",\n    bootVolume: {\n        size: 50,\n        volumeType: \"ceph-ssd\",\n    },\n    dataVolumes: [{\n        size: 60,\n        volumeType: \"ceph-ssd\",\n    }],\n    networks: [{\n        networkId: app.id,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\nmlflow = vkcs.MlplatformMlflow(\"mlflow\",\n    name=\"tf-example\",\n    flavor_id=basic[\"id\"],\n    jh_instance_id=jupyterhub[\"id\"],\n    demo_mode=True,\n    availability_zone=\"GZ1\",\n    boot_volume={\n        \"size\": 50,\n        \"volume_type\": \"ceph-ssd\",\n    },\n    data_volumes=[{\n        \"size\": 60,\n        \"volume_type\": \"ceph-ssd\",\n    }],\n    networks=[{\n        \"network_id\": app[\"id\"],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var mlflow = new Vkcs.MlplatformMlflow(\"mlflow\", new()\n    {\n        Name = \"tf-example\",\n        FlavorId = basic.Id,\n        JhInstanceId = jupyterhub.Id,\n        DemoMode = true,\n        AvailabilityZone = \"GZ1\",\n        BootVolume = new Vkcs.Inputs.MlplatformMlflowBootVolumeArgs\n        {\n            Size = 50,\n            VolumeType = \"ceph-ssd\",\n        },\n        DataVolumes = new[]\n        {\n            new Vkcs.Inputs.MlplatformMlflowDataVolumeArgs\n            {\n                Size = 60,\n                VolumeType = \"ceph-ssd\",\n            },\n        },\n        Networks = new[]\n        {\n            new Vkcs.Inputs.MlplatformMlflowNetworkArgs\n            {\n                NetworkId = app.Id,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewMlplatformMlflow(ctx, \"mlflow\", \u0026vkcs.MlplatformMlflowArgs{\n\t\t\tName:             pulumi.String(\"tf-example\"),\n\t\t\tFlavorId:         pulumi.Any(basic.Id),\n\t\t\tJhInstanceId:     pulumi.Any(jupyterhub.Id),\n\t\t\tDemoMode:         pulumi.Bool(true),\n\t\t\tAvailabilityZone: pulumi.String(\"GZ1\"),\n\t\t\tBootVolume: \u0026vkcs.MlplatformMlflowBootVolumeArgs{\n\t\t\t\tSize:       pulumi.Float64(50),\n\t\t\t\tVolumeType: pulumi.String(\"ceph-ssd\"),\n\t\t\t},\n\t\t\tDataVolumes: vkcs.MlplatformMlflowDataVolumeArray{\n\t\t\t\t\u0026vkcs.MlplatformMlflowDataVolumeArgs{\n\t\t\t\t\tSize:       pulumi.Float64(60),\n\t\t\t\t\tVolumeType: pulumi.String(\"ceph-ssd\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tNetworks: vkcs.MlplatformMlflowNetworkArray{\n\t\t\t\t\u0026vkcs.MlplatformMlflowNetworkArgs{\n\t\t\t\t\tNetworkId: pulumi.Any(app.Id),\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.vkcs.MlplatformMlflow;\nimport com.pulumi.vkcs.MlplatformMlflowArgs;\nimport com.pulumi.vkcs.inputs.MlplatformMlflowBootVolumeArgs;\nimport com.pulumi.vkcs.inputs.MlplatformMlflowDataVolumeArgs;\nimport com.pulumi.vkcs.inputs.MlplatformMlflowNetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 mlflow = new MlplatformMlflow(\"mlflow\", MlplatformMlflowArgs.builder()\n            .name(\"tf-example\")\n            .flavorId(basic.id())\n            .jhInstanceId(jupyterhub.id())\n            .demoMode(true)\n            .availabilityZone(\"GZ1\")\n            .bootVolume(MlplatformMlflowBootVolumeArgs.builder()\n                .size(50.0)\n                .volumeType(\"ceph-ssd\")\n                .build())\n            .dataVolumes(MlplatformMlflowDataVolumeArgs.builder()\n                .size(60.0)\n                .volumeType(\"ceph-ssd\")\n                .build())\n            .networks(MlplatformMlflowNetworkArgs.builder()\n                .networkId(app.id())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  mlflow:\n    type: vkcs:MlplatformMlflow\n    properties:\n      name: tf-example\n      flavorId: ${basic.id}\n      jhInstanceId: ${jupyterhub.id}\n      demoMode: true\n      availabilityZone: GZ1\n      bootVolume:\n        size: 50\n        volumeType: ceph-ssd\n      dataVolumes:\n        - size: 60\n          volumeType: ceph-ssd\n      networks:\n        - networkId: ${app.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nML Platform MLFlow instance can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import vkcs:index/mlplatformMlflow:MlplatformMlflow mymlflow b22e0fd6-f7e5-41b7-9cc5-15c1f352bc0d\n```\n\n","properties":{"availabilityZone":{"type":"string","description":"**required** *string* \u0026rarr;  The availability zone in which to create the resource. Changing this creates a new resource\n"},"bootVolume":{"$ref":"#/types/vkcs:index%2FMlplatformMlflowBootVolume:MlplatformMlflowBootVolume","description":"***required*** \u0026rarr;  Instance's boot volume configuration\n"},"createdAt":{"type":"string","description":"*string* \u0026rarr;  Creation timestamp\n"},"dataVolumes":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FMlplatformMlflowDataVolume:MlplatformMlflowDataVolume"},"description":"*list* \u0026rarr;  Instance's data volumes configuration\n"},"demoMode":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Controls whether demo mode is enabled. If true, data will be stored on mlflow virtual machine. If false, s3 bucket will be used alongside dbaas postgres database.\n"},"dnsName":{"type":"string","description":"*string* \u0026rarr;  DNS name\n"},"flavorId":{"type":"string","description":"**required** *string* \u0026rarr;  Flavor ID\n"},"jhInstanceId":{"type":"string","description":"**required** *string* \u0026rarr;  JupyterHub instance ID\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  Instance name. Changing this creates a new resource\n"},"networks":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FMlplatformMlflowNetwork:MlplatformMlflowNetwork"},"description":"*list* \u0026rarr;  Network configuration\n"},"privateIp":{"type":"string","description":"*string* \u0026rarr;  Private IP address\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  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 in which ML Platform client is obtained, 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"},"timeouts":{"$ref":"#/types/vkcs:index%2FMlplatformMlflowTimeouts:MlplatformMlflowTimeouts"}},"type":"object","required":["availabilityZone","bootVolume","createdAt","dnsName","flavorId","jhInstanceId","name","networks","privateIp","region"],"inputProperties":{"availabilityZone":{"type":"string","description":"**required** *string* \u0026rarr;  The availability zone in which to create the resource. Changing this creates a new resource\n"},"bootVolume":{"$ref":"#/types/vkcs:index%2FMlplatformMlflowBootVolume:MlplatformMlflowBootVolume","description":"***required*** \u0026rarr;  Instance's boot volume configuration\n"},"dataVolumes":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FMlplatformMlflowDataVolume:MlplatformMlflowDataVolume"},"description":"*list* \u0026rarr;  Instance's data volumes configuration\n"},"demoMode":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Controls whether demo mode is enabled. If true, data will be stored on mlflow virtual machine. If false, s3 bucket will be used alongside dbaas postgres database.\n"},"flavorId":{"type":"string","description":"**required** *string* \u0026rarr;  Flavor ID\n"},"jhInstanceId":{"type":"string","description":"**required** *string* \u0026rarr;  JupyterHub instance ID\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  Instance name. Changing this creates a new resource\n"},"networks":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FMlplatformMlflowNetwork:MlplatformMlflowNetwork"},"description":"*list* \u0026rarr;  Network configuration\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  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 in which ML Platform client is obtained, 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"},"timeouts":{"$ref":"#/types/vkcs:index%2FMlplatformMlflowTimeouts:MlplatformMlflowTimeouts"}},"requiredInputs":["availabilityZone","bootVolume","flavorId","jhInstanceId","networks"],"stateInputs":{"description":"Input properties used for looking up and filtering MlplatformMlflow resources.\n","properties":{"availabilityZone":{"type":"string","description":"**required** *string* \u0026rarr;  The availability zone in which to create the resource. Changing this creates a new resource\n"},"bootVolume":{"$ref":"#/types/vkcs:index%2FMlplatformMlflowBootVolume:MlplatformMlflowBootVolume","description":"***required*** \u0026rarr;  Instance's boot volume configuration\n"},"createdAt":{"type":"string","description":"*string* \u0026rarr;  Creation timestamp\n"},"dataVolumes":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FMlplatformMlflowDataVolume:MlplatformMlflowDataVolume"},"description":"*list* \u0026rarr;  Instance's data volumes configuration\n"},"demoMode":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Controls whether demo mode is enabled. If true, data will be stored on mlflow virtual machine. If false, s3 bucket will be used alongside dbaas postgres database.\n"},"dnsName":{"type":"string","description":"*string* \u0026rarr;  DNS name\n"},"flavorId":{"type":"string","description":"**required** *string* \u0026rarr;  Flavor ID\n"},"jhInstanceId":{"type":"string","description":"**required** *string* \u0026rarr;  JupyterHub instance ID\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  Instance name. Changing this creates a new resource\n"},"networks":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FMlplatformMlflowNetwork:MlplatformMlflowNetwork"},"description":"*list* \u0026rarr;  Network configuration\n"},"privateIp":{"type":"string","description":"*string* \u0026rarr;  Private IP address\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  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 in which ML Platform client is obtained, 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"},"timeouts":{"$ref":"#/types/vkcs:index%2FMlplatformMlflowTimeouts:MlplatformMlflowTimeouts"}},"type":"object"}},"vkcs:index/mlplatformMlflowDeploy:MlplatformMlflowDeploy":{"description":"Manages a ML Platform Deploy resource.\n\n**New since v0.6.0**.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst deploy = new vkcs.MlplatformMlflowDeploy(\"deploy\", {\n    name: \"tf-example\",\n    flavorId: basic.id,\n    mlflowInstanceId: mlflow.id,\n    availabilityZone: \"GZ1\",\n    bootVolume: {\n        size: 50,\n        volumeType: \"ceph-ssd\",\n    },\n    dataVolumes: [{\n        size: 60,\n        volumeType: \"ceph-ssd\",\n    }],\n    networks: [{\n        networkId: app.id,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\ndeploy = vkcs.MlplatformMlflowDeploy(\"deploy\",\n    name=\"tf-example\",\n    flavor_id=basic[\"id\"],\n    mlflow_instance_id=mlflow[\"id\"],\n    availability_zone=\"GZ1\",\n    boot_volume={\n        \"size\": 50,\n        \"volume_type\": \"ceph-ssd\",\n    },\n    data_volumes=[{\n        \"size\": 60,\n        \"volume_type\": \"ceph-ssd\",\n    }],\n    networks=[{\n        \"network_id\": app[\"id\"],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var deploy = new Vkcs.MlplatformMlflowDeploy(\"deploy\", new()\n    {\n        Name = \"tf-example\",\n        FlavorId = basic.Id,\n        MlflowInstanceId = mlflow.Id,\n        AvailabilityZone = \"GZ1\",\n        BootVolume = new Vkcs.Inputs.MlplatformMlflowDeployBootVolumeArgs\n        {\n            Size = 50,\n            VolumeType = \"ceph-ssd\",\n        },\n        DataVolumes = new[]\n        {\n            new Vkcs.Inputs.MlplatformMlflowDeployDataVolumeArgs\n            {\n                Size = 60,\n                VolumeType = \"ceph-ssd\",\n            },\n        },\n        Networks = new[]\n        {\n            new Vkcs.Inputs.MlplatformMlflowDeployNetworkArgs\n            {\n                NetworkId = app.Id,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewMlplatformMlflowDeploy(ctx, \"deploy\", \u0026vkcs.MlplatformMlflowDeployArgs{\n\t\t\tName:             pulumi.String(\"tf-example\"),\n\t\t\tFlavorId:         pulumi.Any(basic.Id),\n\t\t\tMlflowInstanceId: pulumi.Any(mlflow.Id),\n\t\t\tAvailabilityZone: pulumi.String(\"GZ1\"),\n\t\t\tBootVolume: \u0026vkcs.MlplatformMlflowDeployBootVolumeArgs{\n\t\t\t\tSize:       pulumi.Float64(50),\n\t\t\t\tVolumeType: pulumi.String(\"ceph-ssd\"),\n\t\t\t},\n\t\t\tDataVolumes: vkcs.MlplatformMlflowDeployDataVolumeArray{\n\t\t\t\t\u0026vkcs.MlplatformMlflowDeployDataVolumeArgs{\n\t\t\t\t\tSize:       pulumi.Float64(60),\n\t\t\t\t\tVolumeType: pulumi.String(\"ceph-ssd\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tNetworks: vkcs.MlplatformMlflowDeployNetworkArray{\n\t\t\t\t\u0026vkcs.MlplatformMlflowDeployNetworkArgs{\n\t\t\t\t\tNetworkId: pulumi.Any(app.Id),\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.vkcs.MlplatformMlflowDeploy;\nimport com.pulumi.vkcs.MlplatformMlflowDeployArgs;\nimport com.pulumi.vkcs.inputs.MlplatformMlflowDeployBootVolumeArgs;\nimport com.pulumi.vkcs.inputs.MlplatformMlflowDeployDataVolumeArgs;\nimport com.pulumi.vkcs.inputs.MlplatformMlflowDeployNetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 deploy = new MlplatformMlflowDeploy(\"deploy\", MlplatformMlflowDeployArgs.builder()\n            .name(\"tf-example\")\n            .flavorId(basic.id())\n            .mlflowInstanceId(mlflow.id())\n            .availabilityZone(\"GZ1\")\n            .bootVolume(MlplatformMlflowDeployBootVolumeArgs.builder()\n                .size(50.0)\n                .volumeType(\"ceph-ssd\")\n                .build())\n            .dataVolumes(MlplatformMlflowDeployDataVolumeArgs.builder()\n                .size(60.0)\n                .volumeType(\"ceph-ssd\")\n                .build())\n            .networks(MlplatformMlflowDeployNetworkArgs.builder()\n                .networkId(app.id())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  deploy:\n    type: vkcs:MlplatformMlflowDeploy\n    properties:\n      name: tf-example\n      flavorId: ${basic.id}\n      mlflowInstanceId: ${mlflow.id}\n      availabilityZone: GZ1\n      bootVolume:\n        size: 50\n        volumeType: ceph-ssd\n      dataVolumes:\n        - size: 60\n          volumeType: ceph-ssd\n      networks:\n        - networkId: ${app.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nML Platform JupyterHub instance can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import vkcs:index/mlplatformMlflowDeploy:MlplatformMlflowDeploy mymlflowdeploy 0cade671-81b5-43c5-83e1-2a659378d53a\n```\n\n","properties":{"availabilityZone":{"type":"string","description":"**required** *string* \u0026rarr;  The availability zone in which to create the resource. Changing this creates a new resource\n"},"bootVolume":{"$ref":"#/types/vkcs:index%2FMlplatformMlflowDeployBootVolume:MlplatformMlflowDeployBootVolume","description":"***required*** \u0026rarr;  Instance's boot volume configuration\n"},"createdAt":{"type":"string","description":"*string* \u0026rarr;  Creation timestamp\n"},"dataVolumes":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FMlplatformMlflowDeployDataVolume:MlplatformMlflowDeployDataVolume"},"description":"*list* \u0026rarr;  Instance's data volumes configuration\n"},"dnsName":{"type":"string","description":"*string* \u0026rarr;  DNS name\n"},"flavorId":{"type":"string","description":"**required** *string* \u0026rarr;  Flavor ID\n"},"mlflowInstanceId":{"type":"string","description":"**required** *string* \u0026rarr;  MLFlow instance ID\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  Instance name. Changing this creates a new resource\n"},"networks":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FMlplatformMlflowDeployNetwork:MlplatformMlflowDeployNetwork"},"description":"*list* \u0026rarr;  Network configuration\n"},"privateIp":{"type":"string","description":"*string* \u0026rarr;  Private IP address\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  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 in which ML Platform client is obtained, 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"},"timeouts":{"$ref":"#/types/vkcs:index%2FMlplatformMlflowDeployTimeouts:MlplatformMlflowDeployTimeouts"}},"type":"object","required":["availabilityZone","bootVolume","createdAt","dnsName","flavorId","mlflowInstanceId","name","networks","privateIp","region"],"inputProperties":{"availabilityZone":{"type":"string","description":"**required** *string* \u0026rarr;  The availability zone in which to create the resource. Changing this creates a new resource\n"},"bootVolume":{"$ref":"#/types/vkcs:index%2FMlplatformMlflowDeployBootVolume:MlplatformMlflowDeployBootVolume","description":"***required*** \u0026rarr;  Instance's boot volume configuration\n"},"dataVolumes":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FMlplatformMlflowDeployDataVolume:MlplatformMlflowDeployDataVolume"},"description":"*list* \u0026rarr;  Instance's data volumes configuration\n"},"flavorId":{"type":"string","description":"**required** *string* \u0026rarr;  Flavor ID\n"},"mlflowInstanceId":{"type":"string","description":"**required** *string* \u0026rarr;  MLFlow instance ID\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  Instance name. Changing this creates a new resource\n"},"networks":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FMlplatformMlflowDeployNetwork:MlplatformMlflowDeployNetwork"},"description":"*list* \u0026rarr;  Network configuration\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  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 in which ML Platform client is obtained, 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"},"timeouts":{"$ref":"#/types/vkcs:index%2FMlplatformMlflowDeployTimeouts:MlplatformMlflowDeployTimeouts"}},"requiredInputs":["availabilityZone","bootVolume","flavorId","mlflowInstanceId","networks"],"stateInputs":{"description":"Input properties used for looking up and filtering MlplatformMlflowDeploy resources.\n","properties":{"availabilityZone":{"type":"string","description":"**required** *string* \u0026rarr;  The availability zone in which to create the resource. Changing this creates a new resource\n"},"bootVolume":{"$ref":"#/types/vkcs:index%2FMlplatformMlflowDeployBootVolume:MlplatformMlflowDeployBootVolume","description":"***required*** \u0026rarr;  Instance's boot volume configuration\n"},"createdAt":{"type":"string","description":"*string* \u0026rarr;  Creation timestamp\n"},"dataVolumes":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FMlplatformMlflowDeployDataVolume:MlplatformMlflowDeployDataVolume"},"description":"*list* \u0026rarr;  Instance's data volumes configuration\n"},"dnsName":{"type":"string","description":"*string* \u0026rarr;  DNS name\n"},"flavorId":{"type":"string","description":"**required** *string* \u0026rarr;  Flavor ID\n"},"mlflowInstanceId":{"type":"string","description":"**required** *string* \u0026rarr;  MLFlow instance ID\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  Instance name. Changing this creates a new resource\n"},"networks":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FMlplatformMlflowDeployNetwork:MlplatformMlflowDeployNetwork"},"description":"*list* \u0026rarr;  Network configuration\n"},"privateIp":{"type":"string","description":"*string* \u0026rarr;  Private IP address\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  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 in which ML Platform client is obtained, 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"},"timeouts":{"$ref":"#/types/vkcs:index%2FMlplatformMlflowDeployTimeouts:MlplatformMlflowDeployTimeouts"}},"type":"object"}},"vkcs:index/mlplatformSparkK8s:MlplatformSparkK8s":{"description":"Manages a ML Platform Spark K8S cluster resource.\n\n**New since v0.7.0**.\n\n## Import\n\nML Platform Spark K8S cluster can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import vkcs:index/mlplatformSparkK8s:MlplatformSparkK8s mysparkk8s 32cc47a5-9726-454f-bffa-6723f21fbbc7\n```\n\n","properties":{"availabilityZone":{"type":"string","description":"**required** *string* \u0026rarr;  The availability zone in which to create the resource. Changing this creates a new resource\n"},"clusterMode":{"type":"string","description":"**required** *string* \u0026rarr;  Cluster Mode. Should be `DEV` or `PROD`. Changing this creates a new resource\n"},"controlInstanceId":{"type":"string","description":"*string* \u0026rarr;  ID of the control instance\n"},"deleteAfterInactiveMin":{"type":"number","description":"optional *number* \u0026rarr;  Timeout of cluster inactivity before deletion, in minutes. Changing this creates a new resource\n"},"environmentVariables":{"type":"string","description":"optional *string* \u0026rarr;  Environment variables. Read more about this parameter here: https://cloud.vk.com/docs/en/ml/spark-to-k8s/instructions/create. Changing this creates a new resource\n"},"historyServerUrl":{"type":"string","description":"*string* \u0026rarr;  URL of the history server\n"},"inactiveMin":{"type":"number","description":"*number* \u0026rarr;  Current time of cluster inactivity, in minutes\n"},"ipPool":{"type":"string","description":"**required** *string* \u0026rarr;  ID of the ip pool. Changing this creates a new resource\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  Cluster name. Changing this creates a new resource\n"},"networkId":{"type":"string","description":"**required** *string* \u0026rarr;  ID of the network. Changing this creates a new resource\n"},"nodeGroups":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FMlplatformSparkK8sNodeGroup:MlplatformSparkK8sNodeGroup"},"description":"*list* \u0026rarr;  Cluster's node groups configuration\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  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 in which ML Platform client is obtained, 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. Changing this creates a new spark_k8s.\n"},"registryId":{"type":"string","description":"**required** *string* \u0026rarr;  ID of the K8S registry to use with cluster. Changing this creates a new resource\n"},"s3BucketName":{"type":"string","description":"*string* \u0026rarr;  S3 bucket name\n"},"sparkConfiguration":{"type":"string","description":"optional *string* \u0026rarr;  Spark configuration. Read more about this parameter here: https://cloud.vk.com/docs/en/ml/spark-to-k8s/instructions/create. Changing this creates a new resource\n"},"subnetId":{"type":"string","description":"optional *string* \u0026rarr;  ID of the subnet. Changing this creates a new resource\n"},"suspendAfterInactiveMin":{"type":"number","description":"optional *number* \u0026rarr;  Timeout of cluster inactivity before suspending, in minutes. Changing this creates a new resource\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FMlplatformSparkK8sTimeouts:MlplatformSparkK8sTimeouts"}},"type":"object","required":["availabilityZone","clusterMode","controlInstanceId","historyServerUrl","inactiveMin","ipPool","name","networkId","nodeGroups","region","registryId","s3BucketName"],"inputProperties":{"availabilityZone":{"type":"string","description":"**required** *string* \u0026rarr;  The availability zone in which to create the resource. Changing this creates a new resource\n"},"clusterMode":{"type":"string","description":"**required** *string* \u0026rarr;  Cluster Mode. Should be `DEV` or `PROD`. Changing this creates a new resource\n"},"deleteAfterInactiveMin":{"type":"number","description":"optional *number* \u0026rarr;  Timeout of cluster inactivity before deletion, in minutes. Changing this creates a new resource\n"},"environmentVariables":{"type":"string","description":"optional *string* \u0026rarr;  Environment variables. Read more about this parameter here: https://cloud.vk.com/docs/en/ml/spark-to-k8s/instructions/create. Changing this creates a new resource\n"},"ipPool":{"type":"string","description":"**required** *string* \u0026rarr;  ID of the ip pool. Changing this creates a new resource\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  Cluster name. Changing this creates a new resource\n"},"networkId":{"type":"string","description":"**required** *string* \u0026rarr;  ID of the network. Changing this creates a new resource\n"},"nodeGroups":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FMlplatformSparkK8sNodeGroup:MlplatformSparkK8sNodeGroup"},"description":"*list* \u0026rarr;  Cluster's node groups configuration\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  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 in which ML Platform client is obtained, 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. Changing this creates a new spark_k8s.\n"},"registryId":{"type":"string","description":"**required** *string* \u0026rarr;  ID of the K8S registry to use with cluster. Changing this creates a new resource\n"},"sparkConfiguration":{"type":"string","description":"optional *string* \u0026rarr;  Spark configuration. Read more about this parameter here: https://cloud.vk.com/docs/en/ml/spark-to-k8s/instructions/create. Changing this creates a new resource\n"},"subnetId":{"type":"string","description":"optional *string* \u0026rarr;  ID of the subnet. Changing this creates a new resource\n"},"suspendAfterInactiveMin":{"type":"number","description":"optional *number* \u0026rarr;  Timeout of cluster inactivity before suspending, in minutes. Changing this creates a new resource\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FMlplatformSparkK8sTimeouts:MlplatformSparkK8sTimeouts"}},"requiredInputs":["availabilityZone","clusterMode","ipPool","networkId","nodeGroups","registryId"],"stateInputs":{"description":"Input properties used for looking up and filtering MlplatformSparkK8s resources.\n","properties":{"availabilityZone":{"type":"string","description":"**required** *string* \u0026rarr;  The availability zone in which to create the resource. Changing this creates a new resource\n"},"clusterMode":{"type":"string","description":"**required** *string* \u0026rarr;  Cluster Mode. Should be `DEV` or `PROD`. Changing this creates a new resource\n"},"controlInstanceId":{"type":"string","description":"*string* \u0026rarr;  ID of the control instance\n"},"deleteAfterInactiveMin":{"type":"number","description":"optional *number* \u0026rarr;  Timeout of cluster inactivity before deletion, in minutes. Changing this creates a new resource\n"},"environmentVariables":{"type":"string","description":"optional *string* \u0026rarr;  Environment variables. Read more about this parameter here: https://cloud.vk.com/docs/en/ml/spark-to-k8s/instructions/create. Changing this creates a new resource\n"},"historyServerUrl":{"type":"string","description":"*string* \u0026rarr;  URL of the history server\n"},"inactiveMin":{"type":"number","description":"*number* \u0026rarr;  Current time of cluster inactivity, in minutes\n"},"ipPool":{"type":"string","description":"**required** *string* \u0026rarr;  ID of the ip pool. Changing this creates a new resource\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  Cluster name. Changing this creates a new resource\n"},"networkId":{"type":"string","description":"**required** *string* \u0026rarr;  ID of the network. Changing this creates a new resource\n"},"nodeGroups":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FMlplatformSparkK8sNodeGroup:MlplatformSparkK8sNodeGroup"},"description":"*list* \u0026rarr;  Cluster's node groups configuration\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  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 in which ML Platform client is obtained, 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. Changing this creates a new spark_k8s.\n"},"registryId":{"type":"string","description":"**required** *string* \u0026rarr;  ID of the K8S registry to use with cluster. Changing this creates a new resource\n"},"s3BucketName":{"type":"string","description":"*string* \u0026rarr;  S3 bucket name\n"},"sparkConfiguration":{"type":"string","description":"optional *string* \u0026rarr;  Spark configuration. Read more about this parameter here: https://cloud.vk.com/docs/en/ml/spark-to-k8s/instructions/create. Changing this creates a new resource\n"},"subnetId":{"type":"string","description":"optional *string* \u0026rarr;  ID of the subnet. Changing this creates a new resource\n"},"suspendAfterInactiveMin":{"type":"number","description":"optional *number* \u0026rarr;  Timeout of cluster inactivity before suspending, in minutes. Changing this creates a new resource\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FMlplatformSparkK8sTimeouts:MlplatformSparkK8sTimeouts"}},"type":"object"}},"vkcs:index/networkingAnycastip:NetworkingAnycastip":{"description":"## Example Usage\n\n### Anycast IP association with two octavia loadbalancers\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst anycastip = new vkcs.NetworkingAnycastip(\"anycastip\", {\n    name: \"app-tf-example\",\n    description: \"app-tf-example\",\n    networkId: extnet.id,\n    associations: [\n        {\n            id: app1.vipPortId,\n            type: \"octavia\",\n        },\n        {\n            id: app2.vipPortId,\n            type: \"octavia\",\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\nanycastip = vkcs.NetworkingAnycastip(\"anycastip\",\n    name=\"app-tf-example\",\n    description=\"app-tf-example\",\n    network_id=extnet[\"id\"],\n    associations=[\n        {\n            \"id\": app1[\"vipPortId\"],\n            \"type\": \"octavia\",\n        },\n        {\n            \"id\": app2[\"vipPortId\"],\n            \"type\": \"octavia\",\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var anycastip = new Vkcs.NetworkingAnycastip(\"anycastip\", new()\n    {\n        Name = \"app-tf-example\",\n        Description = \"app-tf-example\",\n        NetworkId = extnet.Id,\n        Associations = new[]\n        {\n            new Vkcs.Inputs.NetworkingAnycastipAssociationArgs\n            {\n                Id = app1.VipPortId,\n                Type = \"octavia\",\n            },\n            new Vkcs.Inputs.NetworkingAnycastipAssociationArgs\n            {\n                Id = app2.VipPortId,\n                Type = \"octavia\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewNetworkingAnycastip(ctx, \"anycastip\", \u0026vkcs.NetworkingAnycastipArgs{\n\t\t\tName:        pulumi.String(\"app-tf-example\"),\n\t\t\tDescription: pulumi.String(\"app-tf-example\"),\n\t\t\tNetworkId:   pulumi.Any(extnet.Id),\n\t\t\tAssociations: vkcs.NetworkingAnycastipAssociationArray{\n\t\t\t\t\u0026vkcs.NetworkingAnycastipAssociationArgs{\n\t\t\t\t\tId:   pulumi.Any(app1.VipPortId),\n\t\t\t\t\tType: pulumi.String(\"octavia\"),\n\t\t\t\t},\n\t\t\t\t\u0026vkcs.NetworkingAnycastipAssociationArgs{\n\t\t\t\t\tId:   pulumi.Any(app2.VipPortId),\n\t\t\t\t\tType: pulumi.String(\"octavia\"),\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.vkcs.NetworkingAnycastip;\nimport com.pulumi.vkcs.NetworkingAnycastipArgs;\nimport com.pulumi.vkcs.inputs.NetworkingAnycastipAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 anycastip = new NetworkingAnycastip(\"anycastip\", NetworkingAnycastipArgs.builder()\n            .name(\"app-tf-example\")\n            .description(\"app-tf-example\")\n            .networkId(extnet.id())\n            .associations(            \n                NetworkingAnycastipAssociationArgs.builder()\n                    .id(app1.vipPortId())\n                    .type(\"octavia\")\n                    .build(),\n                NetworkingAnycastipAssociationArgs.builder()\n                    .id(app2.vipPortId())\n                    .type(\"octavia\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  anycastip:\n    type: vkcs:NetworkingAnycastip\n    properties:\n      name: app-tf-example\n      description: app-tf-example\n      networkId: ${extnet.id}\n      associations:\n        - id: ${app1.vipPortId}\n          type: octavia\n        - id: ${app2.vipPortId}\n          type: octavia\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAnycast IPs can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import vkcs:index/networkingAnycastip:NetworkingAnycastip anycastip_1 bfbed405-dd89-41d9-aa97-6e335161146d\n```\n\n","properties":{"associations":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FNetworkingAnycastipAssociation:NetworkingAnycastipAssociation"},"description":"*set* \u0026rarr;  List of port associations with anycast IP.\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Description of the anycast IP.\n"},"healthCheck":{"$ref":"#/types/vkcs:index%2FNetworkingAnycastipHealthCheck:NetworkingAnycastipHealthCheck","description":"optional \u0026rarr;  Health check settings.\n"},"ipAddress":{"type":"string","description":"*string* \u0026rarr;  Anycast IP address.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  Name of the anycast IP.\n"},"networkId":{"type":"string","description":"**required** *string* \u0026rarr;  ID of the external network to choose ip for anycast IP from.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Networking client. If 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 creates a new resource.\n"},"subnetId":{"type":"string","description":"*string* \u0026rarr;  Anycast IP subnet id.\n"}},"type":"object","required":["associations","description","healthCheck","ipAddress","name","networkId","region","subnetId"],"inputProperties":{"associations":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FNetworkingAnycastipAssociation:NetworkingAnycastipAssociation"},"description":"*set* \u0026rarr;  List of port associations with anycast IP.\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Description of the anycast IP.\n"},"healthCheck":{"$ref":"#/types/vkcs:index%2FNetworkingAnycastipHealthCheck:NetworkingAnycastipHealthCheck","description":"optional \u0026rarr;  Health check settings.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  Name of the anycast IP.\n"},"networkId":{"type":"string","description":"**required** *string* \u0026rarr;  ID of the external network to choose ip for anycast IP from.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Networking client. If 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 creates a new resource.\n"}},"requiredInputs":["networkId"],"stateInputs":{"description":"Input properties used for looking up and filtering NetworkingAnycastip resources.\n","properties":{"associations":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FNetworkingAnycastipAssociation:NetworkingAnycastipAssociation"},"description":"*set* \u0026rarr;  List of port associations with anycast IP.\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Description of the anycast IP.\n"},"healthCheck":{"$ref":"#/types/vkcs:index%2FNetworkingAnycastipHealthCheck:NetworkingAnycastipHealthCheck","description":"optional \u0026rarr;  Health check settings.\n"},"ipAddress":{"type":"string","description":"*string* \u0026rarr;  Anycast IP address.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  Name of the anycast IP.\n"},"networkId":{"type":"string","description":"**required** *string* \u0026rarr;  ID of the external network to choose ip for anycast IP from.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Networking client. If 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 creates a new resource.\n"},"subnetId":{"type":"string","description":"*string* \u0026rarr;  Anycast IP subnet id.\n"}},"type":"object"}},"vkcs:index/networkingFloatingip:NetworkingFloatingip":{"description":"Manages a floating IP resource within VKCS that can be used for load balancers.\n\n## Example Usage\n\n### Simple floating IP allocation\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst baseFip = new vkcs.NetworkingFloatingip(\"base_fip\", {\n    pool: \"internet\",\n    description: \"floating ip in external net tf example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\nbase_fip = vkcs.NetworkingFloatingip(\"base_fip\",\n    pool=\"internet\",\n    description=\"floating ip in external net tf example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var baseFip = new Vkcs.NetworkingFloatingip(\"base_fip\", new()\n    {\n        Pool = \"internet\",\n        Description = \"floating ip in external net tf example\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewNetworkingFloatingip(ctx, \"base_fip\", \u0026vkcs.NetworkingFloatingipArgs{\n\t\t\tPool:        pulumi.String(\"internet\"),\n\t\t\tDescription: pulumi.String(\"floating ip in external net tf example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.vkcs.NetworkingFloatingip;\nimport com.pulumi.vkcs.NetworkingFloatingipArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 baseFip = new NetworkingFloatingip(\"baseFip\", NetworkingFloatingipArgs.builder()\n            .pool(\"internet\")\n            .description(\"floating ip in external net tf example\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  baseFip:\n    type: vkcs:NetworkingFloatingip\n    name: base_fip\n    properties:\n      pool: internet\n      description: floating ip in external net tf example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Floating IP allocation with association to port\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst associatedFip = new vkcs.NetworkingFloatingip(\"associated_fip\", {\n    pool: \"internet\",\n    portId: persistentEtcd.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\nassociated_fip = vkcs.NetworkingFloatingip(\"associated_fip\",\n    pool=\"internet\",\n    port_id=persistent_etcd[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var associatedFip = new Vkcs.NetworkingFloatingip(\"associated_fip\", new()\n    {\n        Pool = \"internet\",\n        PortId = persistentEtcd.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewNetworkingFloatingip(ctx, \"associated_fip\", \u0026vkcs.NetworkingFloatingipArgs{\n\t\t\tPool:   pulumi.String(\"internet\"),\n\t\t\tPortId: pulumi.Any(persistentEtcd.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.vkcs.NetworkingFloatingip;\nimport com.pulumi.vkcs.NetworkingFloatingipArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 associatedFip = new NetworkingFloatingip(\"associatedFip\", NetworkingFloatingipArgs.builder()\n            .pool(\"internet\")\n            .portId(persistentEtcd.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  associatedFip:\n    type: vkcs:NetworkingFloatingip\n    name: associated_fip\n    properties:\n      pool: internet\n      portId: ${persistentEtcd.id}\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 vkcs:index/networkingFloatingip:NetworkingFloatingip floatip_1 2c7f39f3-702b-48d1-940c-b50384177ee1\n```\n\n","properties":{"address":{"type":"string","description":"optional *string* \u0026rarr;  The actual floating IP address itself. \u003cbr\u003e**Note:** This argument is read-only, please do not set it.\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Human-readable description for the floating IP.\n"},"fixedIp":{"type":"string","description":"optional *string* \u0026rarr;  Fixed IP of the port to associate with this floating IP. Required if the port has multiple fixed IPs.\n"},"networkingFloatingipId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"pool":{"type":"string","description":"**required** *string* \u0026rarr;  The name of the pool from which to obtain the floating IP. Changing this creates a new floating IP.\n"},"portId":{"type":"string","description":"optional *string* \u0026rarr;  ID of an existing port with at least one IP address to associate with this floating IP.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Networking client. A Networking client is needed to create a floating IP that can be used with another networking resource, such as a load balancer. If 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 creates a new floating IP (which may or may not have a different address).\n"},"sdn":{"type":"string","description":"optional *string* \u0026rarr;  SDN to use for this resource. Must be one of following: \"neutron\", \"sprut\". Default value is project's default SDN.\n"},"subnetId":{"type":"string","description":"optional *string* \u0026rarr;  The subnet ID of the floating IP pool. Specify this if the floating IP network has multiple subnets.\n"},"subnetIds":{"type":"array","items":{"type":"string"},"description":"optional *string* \u0026rarr;  A list of external subnet IDs to try over each to allocate a floating IP address. If a subnet ID in a list has exhausted floating IP pool, the next subnet ID will be tried. This argument is used only during the resource creation. Conflicts 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 argument.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FNetworkingFloatingipTimeouts:NetworkingFloatingipTimeouts"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"},"description":"optional *map of* *string* \u0026rarr;  Map of additional options.\n"}},"type":"object","required":["address","fixedIp","networkingFloatingipId","pool","portId","region","sdn","subnetId"],"inputProperties":{"address":{"type":"string","description":"optional *string* \u0026rarr;  The actual floating IP address itself. \u003cbr\u003e**Note:** This argument is read-only, please do not set it.\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Human-readable description for the floating IP.\n"},"fixedIp":{"type":"string","description":"optional *string* \u0026rarr;  Fixed IP of the port to associate with this floating IP. Required if the port has multiple fixed IPs.\n"},"networkingFloatingipId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"pool":{"type":"string","description":"**required** *string* \u0026rarr;  The name of the pool from which to obtain the floating IP. Changing this creates a new floating IP.\n"},"portId":{"type":"string","description":"optional *string* \u0026rarr;  ID of an existing port with at least one IP address to associate with this floating IP.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Networking client. A Networking client is needed to create a floating IP that can be used with another networking resource, such as a load balancer. If 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 creates a new floating IP (which may or may not have a different address).\n"},"sdn":{"type":"string","description":"optional *string* \u0026rarr;  SDN to use for this resource. Must be one of following: \"neutron\", \"sprut\". Default value is project's default SDN.\n"},"subnetId":{"type":"string","description":"optional *string* \u0026rarr;  The subnet ID of the floating IP pool. Specify this if the floating IP network has multiple subnets.\n"},"subnetIds":{"type":"array","items":{"type":"string"},"description":"optional *string* \u0026rarr;  A list of external subnet IDs to try over each to allocate a floating IP address. If a subnet ID in a list has exhausted floating IP pool, the next subnet ID will be tried. This argument is used only during the resource creation. Conflicts 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 argument.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FNetworkingFloatingipTimeouts:NetworkingFloatingipTimeouts"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"},"description":"optional *map of* *string* \u0026rarr;  Map of additional options.\n"}},"requiredInputs":["pool"],"stateInputs":{"description":"Input properties used for looking up and filtering NetworkingFloatingip resources.\n","properties":{"address":{"type":"string","description":"optional *string* \u0026rarr;  The actual floating IP address itself. \u003cbr\u003e**Note:** This argument is read-only, please do not set it.\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Human-readable description for the floating IP.\n"},"fixedIp":{"type":"string","description":"optional *string* \u0026rarr;  Fixed IP of the port to associate with this floating IP. Required if the port has multiple fixed IPs.\n"},"networkingFloatingipId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"pool":{"type":"string","description":"**required** *string* \u0026rarr;  The name of the pool from which to obtain the floating IP. Changing this creates a new floating IP.\n"},"portId":{"type":"string","description":"optional *string* \u0026rarr;  ID of an existing port with at least one IP address to associate with this floating IP.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Networking client. A Networking client is needed to create a floating IP that can be used with another networking resource, such as a load balancer. If 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 creates a new floating IP (which may or may not have a different address).\n"},"sdn":{"type":"string","description":"optional *string* \u0026rarr;  SDN to use for this resource. Must be one of following: \"neutron\", \"sprut\". Default value is project's default SDN.\n"},"subnetId":{"type":"string","description":"optional *string* \u0026rarr;  The subnet ID of the floating IP pool. Specify this if the floating IP network has multiple subnets.\n"},"subnetIds":{"type":"array","items":{"type":"string"},"description":"optional *string* \u0026rarr;  A list of external subnet IDs to try over each to allocate a floating IP address. If a subnet ID in a list has exhausted floating IP pool, the next subnet ID will be tried. This argument is used only during the resource creation. Conflicts 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 argument.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FNetworkingFloatingipTimeouts:NetworkingFloatingipTimeouts"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"},"description":"optional *map of* *string* \u0026rarr;  Map of additional options.\n"}},"type":"object"}},"vkcs:index/networkingFloatingipAssociate:NetworkingFloatingipAssociate":{"description":"Associates a floating IP to a port. This can be done only if port is assigned to router connected to external network. This is useful for situations where you have a pre-allocated floating IP or are unable to use the \u003cspan pulumi-lang-nodejs=\"`vkcs.NetworkingFloatingip`\" pulumi-lang-dotnet=\"`vkcs.NetworkingFloatingip`\" pulumi-lang-go=\"`NetworkingFloatingip`\" pulumi-lang-python=\"`NetworkingFloatingip`\" pulumi-lang-yaml=\"`vkcs.NetworkingFloatingip`\" pulumi-lang-java=\"`vkcs.NetworkingFloatingip`\"\u003e`vkcs.NetworkingFloatingip`\u003c/span\u003e resource to create a floating IP.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst floatingipAssociate = new vkcs.NetworkingFloatingipAssociate(\"floatingip_associate\", {\n    floatingIp: baseFip.address,\n    portId: persistentEtcd.id,\n}, {\n    dependsOn: [db],\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\nfloatingip_associate = vkcs.NetworkingFloatingipAssociate(\"floatingip_associate\",\n    floating_ip=base_fip[\"address\"],\n    port_id=persistent_etcd[\"id\"],\n    opts = pulumi.ResourceOptions(depends_on=[db]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var floatingipAssociate = new Vkcs.NetworkingFloatingipAssociate(\"floatingip_associate\", new()\n    {\n        FloatingIp = baseFip.Address,\n        PortId = persistentEtcd.Id,\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            db,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewNetworkingFloatingipAssociate(ctx, \"floatingip_associate\", \u0026vkcs.NetworkingFloatingipAssociateArgs{\n\t\t\tFloatingIp: pulumi.Any(baseFip.Address),\n\t\t\tPortId:     pulumi.Any(persistentEtcd.Id),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tdb,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.vkcs.NetworkingFloatingipAssociate;\nimport com.pulumi.vkcs.NetworkingFloatingipAssociateArgs;\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 floatingipAssociate = new NetworkingFloatingipAssociate(\"floatingipAssociate\", NetworkingFloatingipAssociateArgs.builder()\n            .floatingIp(baseFip.address())\n            .portId(persistentEtcd.id())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(db)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  floatingipAssociate:\n    type: vkcs:NetworkingFloatingipAssociate\n    name: floatingip_associate\n    properties:\n      floatingIp: ${baseFip.address}\n      portId: ${persistentEtcd.id}\n    options:\n      dependsOn:\n        - ${db}\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 vkcs:index/networkingFloatingipAssociate:NetworkingFloatingipAssociate fip 2c7f39f3-702b-48d1-940c-b50384177ee1\n```\n\n","properties":{"fixedIp":{"type":"string","description":"optional *string* \u0026rarr;  One of the port's IP addresses.\n"},"floatingIp":{"type":"string","description":"**required** *string* \u0026rarr;  IP Address of an existing floating IP.\n"},"networkingFloatingipAssociateId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"portId":{"type":"string","description":"**required** *string* \u0026rarr;  ID of an existing port with at least one IP address to associate with this floating IP.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Networking client. A Networking client is needed to create a floating IP that can be used with another networking resource, such as a load balancer. If 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 creates a new floating IP (which may or may not have a different address).\n"},"sdn":{"type":"string","description":"optional *string* \u0026rarr;  SDN to use for this resource. Must be one of following: \"neutron\", \"sprut\". Default value is project's default SDN.\n"}},"type":"object","required":["fixedIp","floatingIp","networkingFloatingipAssociateId","portId","region","sdn"],"inputProperties":{"fixedIp":{"type":"string","description":"optional *string* \u0026rarr;  One of the port's IP addresses.\n"},"floatingIp":{"type":"string","description":"**required** *string* \u0026rarr;  IP Address of an existing floating IP.\n"},"networkingFloatingipAssociateId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"portId":{"type":"string","description":"**required** *string* \u0026rarr;  ID of an existing port with at least one IP address to associate with this floating IP.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Networking client. A Networking client is needed to create a floating IP that can be used with another networking resource, such as a load balancer. If 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 creates a new floating IP (which may or may not have a different address).\n"},"sdn":{"type":"string","description":"optional *string* \u0026rarr;  SDN to use for this resource. Must be one of following: \"neutron\", \"sprut\". Default value is project's default SDN.\n"}},"requiredInputs":["floatingIp","portId"],"stateInputs":{"description":"Input properties used for looking up and filtering NetworkingFloatingipAssociate resources.\n","properties":{"fixedIp":{"type":"string","description":"optional *string* \u0026rarr;  One of the port's IP addresses.\n"},"floatingIp":{"type":"string","description":"**required** *string* \u0026rarr;  IP Address of an existing floating IP.\n"},"networkingFloatingipAssociateId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"portId":{"type":"string","description":"**required** *string* \u0026rarr;  ID of an existing port with at least one IP address to associate with this floating IP.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Networking client. A Networking client is needed to create a floating IP that can be used with another networking resource, such as a load balancer. If 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 creates a new floating IP (which may or may not have a different address).\n"},"sdn":{"type":"string","description":"optional *string* \u0026rarr;  SDN to use for this resource. Must be one of following: \"neutron\", \"sprut\". Default value is project's default SDN.\n"}},"type":"object"}},"vkcs:index/networkingNetwork:NetworkingNetwork":{"description":"Manages a network resource within VKCS.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst app = new vkcs.NetworkingNetwork(\"app\", {\n    name: \"app-tf-example\",\n    description: \"Application network\",\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\napp = vkcs.NetworkingNetwork(\"app\",\n    name=\"app-tf-example\",\n    description=\"Application network\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var app = new Vkcs.NetworkingNetwork(\"app\", new()\n    {\n        Name = \"app-tf-example\",\n        Description = \"Application network\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewNetworkingNetwork(ctx, \"app\", \u0026vkcs.NetworkingNetworkArgs{\n\t\t\tName:        pulumi.String(\"app-tf-example\"),\n\t\t\tDescription: pulumi.String(\"Application network\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.vkcs.NetworkingNetwork;\nimport com.pulumi.vkcs.NetworkingNetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 app = new NetworkingNetwork(\"app\", NetworkingNetworkArgs.builder()\n            .name(\"app-tf-example\")\n            .description(\"Application network\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  app:\n    type: vkcs:NetworkingNetwork\n    properties:\n      name: app-tf-example\n      description: Application network\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 vkcs:index/networkingNetwork:NetworkingNetwork network_1 d90ce693-5ccf-4136-a0ed-152ce412b6b9\n```\n\n","properties":{"adminStateUp":{"type":"boolean","description":"optional *boolean* \u0026rarr;  The administrative state of the network. Acceptable values are \"true\" and \"false\". Changing this value updates the state of the existing network.\n"},"allTags":{"type":"array","items":{"type":"string"},"description":"*set of* *string* \u0026rarr;  The collection of tags assigned on the network, which have been explicitly and implicitly added.\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Human-readable description of the network. Changing this updates the name of the existing network.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  The name of the network. Changing this updates the name of the existing network.\n"},"networkingNetworkId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"portSecurityEnabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Whether to explicitly enable or disable port security on the network. Port Security is usually enabled by default, so omitting this argument will usually result in a value of \"true\". Setting this explicitly 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. 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"},"privateDnsDomain":{"type":"string","description":"optional *string* \u0026rarr;  Private dns domain name\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Networking client. A Networking client is needed to create a network. If 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 creates a new network.\n"},"sdn":{"type":"string","description":"optional *string* \u0026rarr;  SDN to use for this resource. Must be one of following: \"neutron\", \"sprut\". Default value is project's default SDN.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"optional *set of* *string* \u0026rarr;  A set of string tags for the network.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FNetworkingNetworkTimeouts:NetworkingNetworkTimeouts"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"},"description":"optional *map of* *string* \u0026rarr;  Map of additional options.\n"},"vkcsServicesAccess":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Whether VKCS services access is enabled. This feature should be enabled globally for your project. Access can be enabled for new or existing networks, but cannot be disabled for existing networks. 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"}},"type":"object","required":["allTags","name","networkingNetworkId","privateDnsDomain","region","sdn"],"inputProperties":{"adminStateUp":{"type":"boolean","description":"optional *boolean* \u0026rarr;  The administrative state of the network. Acceptable values are \"true\" and \"false\". Changing this value updates the state of the existing network.\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Human-readable description of the network. Changing this updates the name of the existing network.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  The name of the network. Changing this updates the name of the existing network.\n"},"networkingNetworkId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"portSecurityEnabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Whether to explicitly enable or disable port security on the network. Port Security is usually enabled by default, so omitting this argument will usually result in a value of \"true\". Setting this explicitly 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. 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"},"privateDnsDomain":{"type":"string","description":"optional *string* \u0026rarr;  Private dns domain name\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Networking client. A Networking client is needed to create a network. If 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 creates a new network.\n"},"sdn":{"type":"string","description":"optional *string* \u0026rarr;  SDN to use for this resource. Must be one of following: \"neutron\", \"sprut\". Default value is project's default SDN.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"optional *set of* *string* \u0026rarr;  A set of string tags for the network.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FNetworkingNetworkTimeouts:NetworkingNetworkTimeouts"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"},"description":"optional *map of* *string* \u0026rarr;  Map of additional options.\n"},"vkcsServicesAccess":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Whether VKCS services access is enabled. This feature should be enabled globally for your project. Access can be enabled for new or existing networks, but cannot be disabled for existing networks. 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"}},"stateInputs":{"description":"Input properties used for looking up and filtering NetworkingNetwork resources.\n","properties":{"adminStateUp":{"type":"boolean","description":"optional *boolean* \u0026rarr;  The administrative state of the network. Acceptable values are \"true\" and \"false\". Changing this value updates the state of the existing network.\n"},"allTags":{"type":"array","items":{"type":"string"},"description":"*set of* *string* \u0026rarr;  The collection of tags assigned on the network, which have been explicitly and implicitly added.\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Human-readable description of the network. Changing this updates the name of the existing network.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  The name of the network. Changing this updates the name of the existing network.\n"},"networkingNetworkId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"portSecurityEnabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Whether to explicitly enable or disable port security on the network. Port Security is usually enabled by default, so omitting this argument will usually result in a value of \"true\". Setting this explicitly 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. 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"},"privateDnsDomain":{"type":"string","description":"optional *string* \u0026rarr;  Private dns domain name\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Networking client. A Networking client is needed to create a network. If 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 creates a new network.\n"},"sdn":{"type":"string","description":"optional *string* \u0026rarr;  SDN to use for this resource. Must be one of following: \"neutron\", \"sprut\". Default value is project's default SDN.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"optional *set of* *string* \u0026rarr;  A set of string tags for the network.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FNetworkingNetworkTimeouts:NetworkingNetworkTimeouts"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"},"description":"optional *map of* *string* \u0026rarr;  Map of additional options.\n"},"vkcsServicesAccess":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Whether VKCS services access is enabled. This feature should be enabled globally for your project. Access can be enabled for new or existing networks, but cannot be disabled for existing networks. 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"}},"type":"object"}},"vkcs:index/networkingPort:NetworkingPort":{"description":"Manages a port resource within VKCS.\n\n## Example Usage\n\n### Simple port\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst persistentEtcd = new vkcs.NetworkingPort(\"persistent_etcd\", {\n    name: \"persistent-etcd-tf-example\",\n    networkId: dbVkcsNetworkingNetwork.id,\n    fixedIps: [{\n        subnetId: dbVkcsNetworkingSubnet.id,\n    }],\n    fullSecurityGroupsControl: true,\n    securityGroupIds: [etcd.id],\n    tags: [\n        \"tf-example\",\n        \"etcd\",\n    ],\n}, {\n    dependsOn: [db],\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\npersistent_etcd = vkcs.NetworkingPort(\"persistent_etcd\",\n    name=\"persistent-etcd-tf-example\",\n    network_id=db_vkcs_networking_network[\"id\"],\n    fixed_ips=[{\n        \"subnet_id\": db_vkcs_networking_subnet[\"id\"],\n    }],\n    full_security_groups_control=True,\n    security_group_ids=[etcd[\"id\"]],\n    tags=[\n        \"tf-example\",\n        \"etcd\",\n    ],\n    opts = pulumi.ResourceOptions(depends_on=[db]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var persistentEtcd = new Vkcs.NetworkingPort(\"persistent_etcd\", new()\n    {\n        Name = \"persistent-etcd-tf-example\",\n        NetworkId = dbVkcsNetworkingNetwork.Id,\n        FixedIps = new[]\n        {\n            new Vkcs.Inputs.NetworkingPortFixedIpArgs\n            {\n                SubnetId = dbVkcsNetworkingSubnet.Id,\n            },\n        },\n        FullSecurityGroupsControl = true,\n        SecurityGroupIds = new[]\n        {\n            etcd.Id,\n        },\n        Tags = new[]\n        {\n            \"tf-example\",\n            \"etcd\",\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            db,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewNetworkingPort(ctx, \"persistent_etcd\", \u0026vkcs.NetworkingPortArgs{\n\t\t\tName:      pulumi.String(\"persistent-etcd-tf-example\"),\n\t\t\tNetworkId: pulumi.Any(dbVkcsNetworkingNetwork.Id),\n\t\t\tFixedIps: vkcs.NetworkingPortFixedIpArray{\n\t\t\t\t\u0026vkcs.NetworkingPortFixedIpArgs{\n\t\t\t\t\tSubnetId: pulumi.Any(dbVkcsNetworkingSubnet.Id),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFullSecurityGroupsControl: pulumi.Bool(true),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tetcd.Id,\n\t\t\t},\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"tf-example\"),\n\t\t\t\tpulumi.String(\"etcd\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tdb,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.vkcs.NetworkingPort;\nimport com.pulumi.vkcs.NetworkingPortArgs;\nimport com.pulumi.vkcs.inputs.NetworkingPortFixedIpArgs;\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 persistentEtcd = new NetworkingPort(\"persistentEtcd\", NetworkingPortArgs.builder()\n            .name(\"persistent-etcd-tf-example\")\n            .networkId(dbVkcsNetworkingNetwork.id())\n            .fixedIps(NetworkingPortFixedIpArgs.builder()\n                .subnetId(dbVkcsNetworkingSubnet.id())\n                .build())\n            .fullSecurityGroupsControl(true)\n            .securityGroupIds(etcd.id())\n            .tags(            \n                \"tf-example\",\n                \"etcd\")\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(db)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  persistentEtcd:\n    type: vkcs:NetworkingPort\n    name: persistent_etcd\n    properties:\n      name: persistent-etcd-tf-example\n      networkId: ${dbVkcsNetworkingNetwork.id}\n      fixedIps:\n        - subnetId: ${dbVkcsNetworkingSubnet.id}\n      fullSecurityGroupsControl: true # Specify required security groups instead of getting 'default' one\n      securityGroupIds:\n        - ${etcd.id}\n      tags:\n        - tf-example\n        - etcd\n    options:\n      dependsOn:\n        - ${db}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Notes\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=\"`vkcs.ComputeInstance`\" pulumi-lang-dotnet=\"`vkcs.ComputeInstance`\" pulumi-lang-go=\"`ComputeInstance`\" pulumi-lang-python=\"`ComputeInstance`\" pulumi-lang-yaml=\"`vkcs.ComputeInstance`\" pulumi-lang-java=\"`vkcs.ComputeInstance`\"\u003e`vkcs.ComputeInstance`\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 vkcs:index/networkingPort:NetworkingPort port_1 eae26a3e-1c33-4cc1-9c31-0cd729c438a1\n```\n\n","properties":{"adminStateUp":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Administrative up/down status for the port (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 \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"},"description":"*string* \u0026rarr;  The collection of Fixed IP addresses on the port in the order returned by the Network v2 API.\n"},"allSecurityGroupIds":{"type":"array","items":{"type":"string"},"description":"*set of* *string* \u0026rarr;  The collection of security group IDs on the port which have been explicitly and implicitly added. **Deprecated** Use \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 together with \u003cspan pulumi-lang-nodejs=\"`fullSecurityGroupsControl \" pulumi-lang-dotnet=\"`FullSecurityGroupsControl \" pulumi-lang-go=\"`fullSecurityGroupsControl \" pulumi-lang-python=\"`full_security_groups_control \" pulumi-lang-yaml=\"`fullSecurityGroupsControl \" pulumi-lang-java=\"`fullSecurityGroupsControl \"\u003e`full_security_groups_control \u003c/span\u003e= true` instead.\n","deprecationMessage":"Deprecated"},"allTags":{"type":"array","items":{"type":"string"},"description":"*set of* *string* \u0026rarr;  The collection of tags assigned on the port, which have been explicitly and implicitly added.\n"},"allowedAddressPairs":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FNetworkingPortAllowedAddressPair:NetworkingPortAllowedAddressPair"},"description":"optional \u0026rarr;  An IP/MAC Address pair of additional IP addresses that can be active on this port. The structure is described below.\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Human-readable description of the port. Changing this 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 port.\n"},"deviceId":{"type":"string","description":"optional *string* \u0026rarr;  The ID of the device attached to the port. Changing this creates a new port.\n"},"deviceOwner":{"type":"string","description":"optional *string* \u0026rarr;  The device owner of the port. Changing this creates a new port.\n"},"dnsAssignments":{"type":"array","items":{"type":"object","additionalProperties":{"type":"string"}},"description":"*map of* *string* \u0026rarr;  The list of maps representing port DNS assignments.\n"},"dnsName":{"type":"string","description":"optional *string* \u0026rarr;  The port DNS name.\n"},"extraDhcpOptions":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FNetworkingPortExtraDhcpOption:NetworkingPortExtraDhcpOption"},"description":"optional \u0026rarr;  An extra DHCP option that needs to be configured on the port. The structure is described below. Can be specified multiple times. \u003cbr\u003e**Note:** This is field is not supported by \u003cspan pulumi-lang-nodejs=\"`sprut`\" pulumi-lang-dotnet=\"`Sprut`\" pulumi-lang-go=\"`sprut`\" pulumi-lang-python=\"`sprut`\" pulumi-lang-yaml=\"`sprut`\" pulumi-lang-java=\"`sprut`\"\u003e`sprut`\u003c/span\u003e sdn.\n"},"fixedIps":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FNetworkingPortFixedIp:NetworkingPortFixedIp"},"description":"optional \u0026rarr;  (Conflicts with \u003cspan pulumi-lang-nodejs=\"`noFixedIp`\" pulumi-lang-dotnet=\"`NoFixedIp`\" pulumi-lang-go=\"`noFixedIp`\" pulumi-lang-python=\"`no_fixed_ip`\" pulumi-lang-yaml=\"`noFixedIp`\" pulumi-lang-java=\"`noFixedIp`\"\u003e`no_fixed_ip`\u003c/span\u003e) An array of desired IPs for this port. The structure is described below.\n"},"fullSecurityGroupsControl":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Always set this argument 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. It brings consistent behavior of managing of security groups of the port. See description of \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 argument. \u003cbr\u003e**Note:** This argument is introduced to seamless migration to the consistent behavior and will get \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-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 in new major version of the provider.\u003cbr\u003e**New since v0.8.0**.\n"},"macAddress":{"type":"string","description":"optional *string* \u0026rarr;  Specify a specific MAC address for the port. Changing this creates a new port.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  A unique name for the port. Changing this updates 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":"**required** *string* \u0026rarr;  The ID of the network to attach the port to. Changing this creates a new port.\n"},"networkingPortId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"noFixedIp":{"type":"boolean","description":"optional *boolean* \u0026rarr;  (Conflicts with \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) Create a port with no fixed IP address. This will also remove any fixed IPs previously set on a port. \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e is the only valid value for this argument.\n"},"noSecurityGroups":{"type":"boolean","description":"optional deprecated *boolean* \u0026rarr;  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 are 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, then the port will yield to the default behavior of the Networking service, which is to usually apply the \"default\" security group. **Deprecated** Configure \u003cspan pulumi-lang-nodejs=\"`fullSecurityGroupsControl \" pulumi-lang-dotnet=\"`FullSecurityGroupsControl \" pulumi-lang-go=\"`fullSecurityGroupsControl \" pulumi-lang-python=\"`full_security_groups_control \" pulumi-lang-yaml=\"`fullSecurityGroupsControl \" pulumi-lang-java=\"`fullSecurityGroupsControl \"\u003e`full_security_groups_control \u003c/span\u003e= true` and \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= []` instead.\n","deprecationMessage":"Deprecated"},"portSecurityEnabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Whether to explicitly enable or disable port security on the port. Port Security is usually enabled by default, so omitting 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 explicitly 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 security, 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 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"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Networking client. A Networking client is needed to create a port. If 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 creates a new port.\n"},"sdn":{"type":"string","description":"optional *string* \u0026rarr;  SDN to use for this resource. Must be one of following: \"neutron\", \"sprut\". Default value is project's default SDN.\n"},"securityGroupIds":{"type":"array","items":{"type":"string"},"description":"optional *set of* *string* \u0026rarr;  A list of security group IDs to apply to the port. The security groups must be specified by ID and not name. If the list is empty then no one security group is attached to the port. If the argument is absent then \u003cspan pulumi-lang-nodejs=\"`vkcs.NetworkingPort`\" pulumi-lang-dotnet=\"`vkcs.NetworkingPort`\" pulumi-lang-go=\"`NetworkingPort`\" pulumi-lang-python=\"`NetworkingPort`\" pulumi-lang-yaml=\"`vkcs.NetworkingPort`\" pulumi-lang-java=\"`vkcs.NetworkingPort`\"\u003e`vkcs.NetworkingPort`\u003c/span\u003e resource does not control security groups of the port and just reads them from Networking service. The last case yields to the default behavior of the Networking service, which adds the \"default\" security group. \u003cbr\u003e**Note:** This behavior is actual with \u003cspan pulumi-lang-nodejs=\"`fullSecurityGroupsControl`\" pulumi-lang-dotnet=\"`FullSecurityGroupsControl`\" pulumi-lang-go=\"`fullSecurityGroupsControl`\" pulumi-lang-python=\"`full_security_groups_control`\" pulumi-lang-yaml=\"`fullSecurityGroupsControl`\" pulumi-lang-java=\"`fullSecurityGroupsControl`\"\u003e`full_security_groups_control`\u003c/span\u003e = true only and introduced in 0.8.0 version of the provider. Legacy behavior is still supported but deprecated and too confusing to be described.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"optional *set of* *string* \u0026rarr;  A set of string tags for the port.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FNetworkingPortTimeouts:NetworkingPortTimeouts"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"},"description":"optional *map of* *string* \u0026rarr;  Map of additional options.\n"}},"type":"object","required":["allFixedIps","allSecurityGroupIds","allTags","deviceId","deviceOwner","dnsAssignments","dnsName","macAddress","name","networkId","networkingPortId","region","sdn","securityGroupIds"],"inputProperties":{"adminStateUp":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Administrative up/down status for the port (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 \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/vkcs:index%2FNetworkingPortAllowedAddressPair:NetworkingPortAllowedAddressPair"},"description":"optional \u0026rarr;  An IP/MAC Address pair of additional IP addresses that can be active on this port. The structure is described below.\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Human-readable description of the port. Changing this 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 port.\n"},"deviceId":{"type":"string","description":"optional *string* \u0026rarr;  The ID of the device attached to the port. Changing this creates a new port.\n"},"deviceOwner":{"type":"string","description":"optional *string* \u0026rarr;  The device owner of the port. Changing this creates a new port.\n"},"dnsName":{"type":"string","description":"optional *string* \u0026rarr;  The port DNS name.\n"},"extraDhcpOptions":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FNetworkingPortExtraDhcpOption:NetworkingPortExtraDhcpOption"},"description":"optional \u0026rarr;  An extra DHCP option that needs to be configured on the port. The structure is described below. Can be specified multiple times. \u003cbr\u003e**Note:** This is field is not supported by \u003cspan pulumi-lang-nodejs=\"`sprut`\" pulumi-lang-dotnet=\"`Sprut`\" pulumi-lang-go=\"`sprut`\" pulumi-lang-python=\"`sprut`\" pulumi-lang-yaml=\"`sprut`\" pulumi-lang-java=\"`sprut`\"\u003e`sprut`\u003c/span\u003e sdn.\n"},"fixedIps":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FNetworkingPortFixedIp:NetworkingPortFixedIp"},"description":"optional \u0026rarr;  (Conflicts with \u003cspan pulumi-lang-nodejs=\"`noFixedIp`\" pulumi-lang-dotnet=\"`NoFixedIp`\" pulumi-lang-go=\"`noFixedIp`\" pulumi-lang-python=\"`no_fixed_ip`\" pulumi-lang-yaml=\"`noFixedIp`\" pulumi-lang-java=\"`noFixedIp`\"\u003e`no_fixed_ip`\u003c/span\u003e) An array of desired IPs for this port. The structure is described below.\n"},"fullSecurityGroupsControl":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Always set this argument 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. It brings consistent behavior of managing of security groups of the port. See description of \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 argument. \u003cbr\u003e**Note:** This argument is introduced to seamless migration to the consistent behavior and will get \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-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 in new major version of the provider.\u003cbr\u003e**New since v0.8.0**.\n"},"macAddress":{"type":"string","description":"optional *string* \u0026rarr;  Specify a specific MAC address for the port. Changing this creates a new port.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  A unique name for the port. Changing this updates 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":"**required** *string* \u0026rarr;  The ID of the network to attach the port to. Changing this creates a new port.\n"},"networkingPortId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"noFixedIp":{"type":"boolean","description":"optional *boolean* \u0026rarr;  (Conflicts with \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) Create a port with no fixed IP address. This will also remove any fixed IPs previously set on a port. \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e is the only valid value for this argument.\n"},"noSecurityGroups":{"type":"boolean","description":"optional deprecated *boolean* \u0026rarr;  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 are 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, then the port will yield to the default behavior of the Networking service, which is to usually apply the \"default\" security group. **Deprecated** Configure \u003cspan pulumi-lang-nodejs=\"`fullSecurityGroupsControl \" pulumi-lang-dotnet=\"`FullSecurityGroupsControl \" pulumi-lang-go=\"`fullSecurityGroupsControl \" pulumi-lang-python=\"`full_security_groups_control \" pulumi-lang-yaml=\"`fullSecurityGroupsControl \" pulumi-lang-java=\"`fullSecurityGroupsControl \"\u003e`full_security_groups_control \u003c/span\u003e= true` and \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= []` instead.\n","deprecationMessage":"Deprecated"},"portSecurityEnabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Whether to explicitly enable or disable port security on the port. Port Security is usually enabled by default, so omitting 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 explicitly 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 security, 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 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"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Networking client. A Networking client is needed to create a port. If 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 creates a new port.\n"},"sdn":{"type":"string","description":"optional *string* \u0026rarr;  SDN to use for this resource. Must be one of following: \"neutron\", \"sprut\". Default value is project's default SDN.\n"},"securityGroupIds":{"type":"array","items":{"type":"string"},"description":"optional *set of* *string* \u0026rarr;  A list of security group IDs to apply to the port. The security groups must be specified by ID and not name. If the list is empty then no one security group is attached to the port. If the argument is absent then \u003cspan pulumi-lang-nodejs=\"`vkcs.NetworkingPort`\" pulumi-lang-dotnet=\"`vkcs.NetworkingPort`\" pulumi-lang-go=\"`NetworkingPort`\" pulumi-lang-python=\"`NetworkingPort`\" pulumi-lang-yaml=\"`vkcs.NetworkingPort`\" pulumi-lang-java=\"`vkcs.NetworkingPort`\"\u003e`vkcs.NetworkingPort`\u003c/span\u003e resource does not control security groups of the port and just reads them from Networking service. The last case yields to the default behavior of the Networking service, which adds the \"default\" security group. \u003cbr\u003e**Note:** This behavior is actual with \u003cspan pulumi-lang-nodejs=\"`fullSecurityGroupsControl`\" pulumi-lang-dotnet=\"`FullSecurityGroupsControl`\" pulumi-lang-go=\"`fullSecurityGroupsControl`\" pulumi-lang-python=\"`full_security_groups_control`\" pulumi-lang-yaml=\"`fullSecurityGroupsControl`\" pulumi-lang-java=\"`fullSecurityGroupsControl`\"\u003e`full_security_groups_control`\u003c/span\u003e = true only and introduced in 0.8.0 version of the provider. Legacy behavior is still supported but deprecated and too confusing to be described.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"optional *set of* *string* \u0026rarr;  A set of string tags for the port.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FNetworkingPortTimeouts:NetworkingPortTimeouts"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"},"description":"optional *map of* *string* \u0026rarr;  Map of additional options.\n"}},"requiredInputs":["networkId"],"stateInputs":{"description":"Input properties used for looking up and filtering NetworkingPort resources.\n","properties":{"adminStateUp":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Administrative up/down status for the port (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 \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"},"description":"*string* \u0026rarr;  The collection of Fixed IP addresses on the port in the order returned by the Network v2 API.\n"},"allSecurityGroupIds":{"type":"array","items":{"type":"string"},"description":"*set of* *string* \u0026rarr;  The collection of security group IDs on the port which have been explicitly and implicitly added. **Deprecated** Use \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 together with \u003cspan pulumi-lang-nodejs=\"`fullSecurityGroupsControl \" pulumi-lang-dotnet=\"`FullSecurityGroupsControl \" pulumi-lang-go=\"`fullSecurityGroupsControl \" pulumi-lang-python=\"`full_security_groups_control \" pulumi-lang-yaml=\"`fullSecurityGroupsControl \" pulumi-lang-java=\"`fullSecurityGroupsControl \"\u003e`full_security_groups_control \u003c/span\u003e= true` instead.\n","deprecationMessage":"Deprecated"},"allTags":{"type":"array","items":{"type":"string"},"description":"*set of* *string* \u0026rarr;  The collection of tags assigned on the port, which have been explicitly and implicitly added.\n"},"allowedAddressPairs":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FNetworkingPortAllowedAddressPair:NetworkingPortAllowedAddressPair"},"description":"optional \u0026rarr;  An IP/MAC Address pair of additional IP addresses that can be active on this port. The structure is described below.\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Human-readable description of the port. Changing this 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 port.\n"},"deviceId":{"type":"string","description":"optional *string* \u0026rarr;  The ID of the device attached to the port. Changing this creates a new port.\n"},"deviceOwner":{"type":"string","description":"optional *string* \u0026rarr;  The device owner of the port. Changing this creates a new port.\n"},"dnsAssignments":{"type":"array","items":{"type":"object","additionalProperties":{"type":"string"}},"description":"*map of* *string* \u0026rarr;  The list of maps representing port DNS assignments.\n"},"dnsName":{"type":"string","description":"optional *string* \u0026rarr;  The port DNS name.\n"},"extraDhcpOptions":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FNetworkingPortExtraDhcpOption:NetworkingPortExtraDhcpOption"},"description":"optional \u0026rarr;  An extra DHCP option that needs to be configured on the port. The structure is described below. Can be specified multiple times. \u003cbr\u003e**Note:** This is field is not supported by \u003cspan pulumi-lang-nodejs=\"`sprut`\" pulumi-lang-dotnet=\"`Sprut`\" pulumi-lang-go=\"`sprut`\" pulumi-lang-python=\"`sprut`\" pulumi-lang-yaml=\"`sprut`\" pulumi-lang-java=\"`sprut`\"\u003e`sprut`\u003c/span\u003e sdn.\n"},"fixedIps":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FNetworkingPortFixedIp:NetworkingPortFixedIp"},"description":"optional \u0026rarr;  (Conflicts with \u003cspan pulumi-lang-nodejs=\"`noFixedIp`\" pulumi-lang-dotnet=\"`NoFixedIp`\" pulumi-lang-go=\"`noFixedIp`\" pulumi-lang-python=\"`no_fixed_ip`\" pulumi-lang-yaml=\"`noFixedIp`\" pulumi-lang-java=\"`noFixedIp`\"\u003e`no_fixed_ip`\u003c/span\u003e) An array of desired IPs for this port. The structure is described below.\n"},"fullSecurityGroupsControl":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Always set this argument 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. It brings consistent behavior of managing of security groups of the port. See description of \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 argument. \u003cbr\u003e**Note:** This argument is introduced to seamless migration to the consistent behavior and will get \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-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 in new major version of the provider.\u003cbr\u003e**New since v0.8.0**.\n"},"macAddress":{"type":"string","description":"optional *string* \u0026rarr;  Specify a specific MAC address for the port. Changing this creates a new port.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  A unique name for the port. Changing this updates 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":"**required** *string* \u0026rarr;  The ID of the network to attach the port to. Changing this creates a new port.\n"},"networkingPortId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"noFixedIp":{"type":"boolean","description":"optional *boolean* \u0026rarr;  (Conflicts with \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) Create a port with no fixed IP address. This will also remove any fixed IPs previously set on a port. \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e is the only valid value for this argument.\n"},"noSecurityGroups":{"type":"boolean","description":"optional deprecated *boolean* \u0026rarr;  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 are 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, then the port will yield to the default behavior of the Networking service, which is to usually apply the \"default\" security group. **Deprecated** Configure \u003cspan pulumi-lang-nodejs=\"`fullSecurityGroupsControl \" pulumi-lang-dotnet=\"`FullSecurityGroupsControl \" pulumi-lang-go=\"`fullSecurityGroupsControl \" pulumi-lang-python=\"`full_security_groups_control \" pulumi-lang-yaml=\"`fullSecurityGroupsControl \" pulumi-lang-java=\"`fullSecurityGroupsControl \"\u003e`full_security_groups_control \u003c/span\u003e= true` and \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= []` instead.\n","deprecationMessage":"Deprecated"},"portSecurityEnabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Whether to explicitly enable or disable port security on the port. Port Security is usually enabled by default, so omitting 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 explicitly 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 security, 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 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"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Networking client. A Networking client is needed to create a port. If 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 creates a new port.\n"},"sdn":{"type":"string","description":"optional *string* \u0026rarr;  SDN to use for this resource. Must be one of following: \"neutron\", \"sprut\". Default value is project's default SDN.\n"},"securityGroupIds":{"type":"array","items":{"type":"string"},"description":"optional *set of* *string* \u0026rarr;  A list of security group IDs to apply to the port. The security groups must be specified by ID and not name. If the list is empty then no one security group is attached to the port. If the argument is absent then \u003cspan pulumi-lang-nodejs=\"`vkcs.NetworkingPort`\" pulumi-lang-dotnet=\"`vkcs.NetworkingPort`\" pulumi-lang-go=\"`NetworkingPort`\" pulumi-lang-python=\"`NetworkingPort`\" pulumi-lang-yaml=\"`vkcs.NetworkingPort`\" pulumi-lang-java=\"`vkcs.NetworkingPort`\"\u003e`vkcs.NetworkingPort`\u003c/span\u003e resource does not control security groups of the port and just reads them from Networking service. The last case yields to the default behavior of the Networking service, which adds the \"default\" security group. \u003cbr\u003e**Note:** This behavior is actual with \u003cspan pulumi-lang-nodejs=\"`fullSecurityGroupsControl`\" pulumi-lang-dotnet=\"`FullSecurityGroupsControl`\" pulumi-lang-go=\"`fullSecurityGroupsControl`\" pulumi-lang-python=\"`full_security_groups_control`\" pulumi-lang-yaml=\"`fullSecurityGroupsControl`\" pulumi-lang-java=\"`fullSecurityGroupsControl`\"\u003e`full_security_groups_control`\u003c/span\u003e = true only and introduced in 0.8.0 version of the provider. Legacy behavior is still supported but deprecated and too confusing to be described.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"optional *set of* *string* \u0026rarr;  A set of string tags for the port.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FNetworkingPortTimeouts:NetworkingPortTimeouts"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"},"description":"optional *map of* *string* \u0026rarr;  Map of additional options.\n"}},"type":"object"}},"vkcs:index/networkingPortSecgroupAssociate:NetworkingPortSecgroupAssociate":{"description":"## Example Usage\n\n### Append a security group to an existing port\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst appendSecgroups = new vkcs.NetworkingPortSecgroupAssociate(\"append_secgroups\", {\n    portId: persistentEtcd.id,\n    securityGroupIds: [etcd.id],\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\nappend_secgroups = vkcs.NetworkingPortSecgroupAssociate(\"append_secgroups\",\n    port_id=persistent_etcd[\"id\"],\n    security_group_ids=[etcd[\"id\"]])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var appendSecgroups = new Vkcs.NetworkingPortSecgroupAssociate(\"append_secgroups\", new()\n    {\n        PortId = persistentEtcd.Id,\n        SecurityGroupIds = new[]\n        {\n            etcd.Id,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewNetworkingPortSecgroupAssociate(ctx, \"append_secgroups\", \u0026vkcs.NetworkingPortSecgroupAssociateArgs{\n\t\t\tPortId: pulumi.Any(persistentEtcd.Id),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tetcd.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.vkcs.NetworkingPortSecgroupAssociate;\nimport com.pulumi.vkcs.NetworkingPortSecgroupAssociateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 appendSecgroups = new NetworkingPortSecgroupAssociate(\"appendSecgroups\", NetworkingPortSecgroupAssociateArgs.builder()\n            .portId(persistentEtcd.id())\n            .securityGroupIds(etcd.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  appendSecgroups:\n    type: vkcs:NetworkingPortSecgroupAssociate\n    name: append_secgroups\n    properties:\n      portId: ${persistentEtcd.id}\n      securityGroupIds:\n        - ${etcd.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Enforce a security group to an existing port\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst replaceSecgroups = new vkcs.NetworkingPortSecgroupAssociate(\"replace_secgroups\", {\n    portId: persistentEtcd.id,\n    securityGroupIds: [http.id],\n    enforce: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\nreplace_secgroups = vkcs.NetworkingPortSecgroupAssociate(\"replace_secgroups\",\n    port_id=persistent_etcd[\"id\"],\n    security_group_ids=[http[\"id\"]],\n    enforce=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var replaceSecgroups = new Vkcs.NetworkingPortSecgroupAssociate(\"replace_secgroups\", new()\n    {\n        PortId = persistentEtcd.Id,\n        SecurityGroupIds = new[]\n        {\n            http.Id,\n        },\n        Enforce = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewNetworkingPortSecgroupAssociate(ctx, \"replace_secgroups\", \u0026vkcs.NetworkingPortSecgroupAssociateArgs{\n\t\t\tPortId: pulumi.Any(persistentEtcd.Id),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\thttp.Id,\n\t\t\t},\n\t\t\tEnforce: 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.vkcs.NetworkingPortSecgroupAssociate;\nimport com.pulumi.vkcs.NetworkingPortSecgroupAssociateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 replaceSecgroups = new NetworkingPortSecgroupAssociate(\"replaceSecgroups\", NetworkingPortSecgroupAssociateArgs.builder()\n            .portId(persistentEtcd.id())\n            .securityGroupIds(http.id())\n            .enforce(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  replaceSecgroups:\n    type: vkcs:NetworkingPortSecgroupAssociate\n    name: replace_secgroups\n    properties:\n      portId: ${persistentEtcd.id}\n      securityGroupIds:\n        - ${http.id}\n      enforce: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Remove all security groups from an existing port\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst removeSecgroups = new vkcs.NetworkingPortSecgroupAssociate(\"remove_secgroups\", {\n    portId: persistentEtcd.id,\n    securityGroupIds: [],\n    enforce: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\nremove_secgroups = vkcs.NetworkingPortSecgroupAssociate(\"remove_secgroups\",\n    port_id=persistent_etcd[\"id\"],\n    security_group_ids=[],\n    enforce=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var removeSecgroups = new Vkcs.NetworkingPortSecgroupAssociate(\"remove_secgroups\", new()\n    {\n        PortId = persistentEtcd.Id,\n        SecurityGroupIds = new[] {},\n        Enforce = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewNetworkingPortSecgroupAssociate(ctx, \"remove_secgroups\", \u0026vkcs.NetworkingPortSecgroupAssociateArgs{\n\t\t\tPortId:           pulumi.Any(persistentEtcd.Id),\n\t\t\tSecurityGroupIds: pulumi.StringArray{},\n\t\t\tEnforce:          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.vkcs.NetworkingPortSecgroupAssociate;\nimport com.pulumi.vkcs.NetworkingPortSecgroupAssociateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 removeSecgroups = new NetworkingPortSecgroupAssociate(\"removeSecgroups\", NetworkingPortSecgroupAssociateArgs.builder()\n            .portId(persistentEtcd.id())\n            .securityGroupIds()\n            .enforce(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  removeSecgroups:\n    type: vkcs:NetworkingPortSecgroupAssociate\n    name: remove_secgroups\n    properties:\n      portId: ${persistentEtcd.id}\n      securityGroupIds: []\n      enforce: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"allSecurityGroupIds":{"type":"array","items":{"type":"string"},"description":"*set of* *string* \u0026rarr;  The collection of Security Group IDs on the port which have been explicitly and implicitly added.\n"},"enforce":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Whether to replace or append the list of security groups, 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"},"networkingPortSecgroupAssociateId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"portId":{"type":"string","description":"**required** *string* \u0026rarr;  An UUID of the port to apply security groups to.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the networking client. A networking client is needed to manage a port. If 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 creates a new resource.\n"},"sdn":{"type":"string","description":"optional *string* \u0026rarr;  SDN to use for this resource. Must be one of following: \"neutron\", \"sprut\". Default value is project's default SDN.\n"},"securityGroupIds":{"type":"array","items":{"type":"string"},"description":"**required** *set of* *string* \u0026rarr;  A list of security group IDs to apply to the port. The security groups must be specified by ID and not name (as opposed to how they are configured with the Compute Instance).\n"}},"type":"object","required":["allSecurityGroupIds","networkingPortSecgroupAssociateId","portId","region","sdn","securityGroupIds"],"inputProperties":{"enforce":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Whether to replace or append the list of security groups, 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"},"networkingPortSecgroupAssociateId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"portId":{"type":"string","description":"**required** *string* \u0026rarr;  An UUID of the port to apply security groups to.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the networking client. A networking client is needed to manage a port. If 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 creates a new resource.\n"},"sdn":{"type":"string","description":"optional *string* \u0026rarr;  SDN to use for this resource. Must be one of following: \"neutron\", \"sprut\". Default value is project's default SDN.\n"},"securityGroupIds":{"type":"array","items":{"type":"string"},"description":"**required** *set of* *string* \u0026rarr;  A list of security group IDs to apply to the port. The security groups must be specified by ID and not name (as opposed to how they are configured with the Compute Instance).\n"}},"requiredInputs":["portId","securityGroupIds"],"stateInputs":{"description":"Input properties used for looking up and filtering NetworkingPortSecgroupAssociate resources.\n","properties":{"allSecurityGroupIds":{"type":"array","items":{"type":"string"},"description":"*set of* *string* \u0026rarr;  The collection of Security Group IDs on the port which have been explicitly and implicitly added.\n"},"enforce":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Whether to replace or append the list of security groups, 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"},"networkingPortSecgroupAssociateId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"portId":{"type":"string","description":"**required** *string* \u0026rarr;  An UUID of the port to apply security groups to.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the networking client. A networking client is needed to manage a port. If 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 creates a new resource.\n"},"sdn":{"type":"string","description":"optional *string* \u0026rarr;  SDN to use for this resource. Must be one of following: \"neutron\", \"sprut\". Default value is project's default SDN.\n"},"securityGroupIds":{"type":"array","items":{"type":"string"},"description":"**required** *set of* *string* \u0026rarr;  A list of security group IDs to apply to the port. The security groups must be specified by ID and not name (as opposed to how they are configured with the Compute Instance).\n"}},"type":"object"}},"vkcs:index/networkingRouter:NetworkingRouter":{"description":"Manages a router resource within VKCS.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst router = new vkcs.NetworkingRouter(\"router\", {\n    name: \"router-tf-example\",\n    externalNetworkId: extnet.id,\n    tags: [\"tf-example\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\nrouter = vkcs.NetworkingRouter(\"router\",\n    name=\"router-tf-example\",\n    external_network_id=extnet[\"id\"],\n    tags=[\"tf-example\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var router = new Vkcs.NetworkingRouter(\"router\", new()\n    {\n        Name = \"router-tf-example\",\n        ExternalNetworkId = extnet.Id,\n        Tags = new[]\n        {\n            \"tf-example\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewNetworkingRouter(ctx, \"router\", \u0026vkcs.NetworkingRouterArgs{\n\t\t\tName:              pulumi.String(\"router-tf-example\"),\n\t\t\tExternalNetworkId: pulumi.Any(extnet.Id),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"tf-example\"),\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.vkcs.NetworkingRouter;\nimport com.pulumi.vkcs.NetworkingRouterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 router = new NetworkingRouter(\"router\", NetworkingRouterArgs.builder()\n            .name(\"router-tf-example\")\n            .externalNetworkId(extnet.id())\n            .tags(\"tf-example\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  router:\n    type: vkcs:NetworkingRouter\n    properties:\n      name: router-tf-example\n      externalNetworkId: ${extnet.id}\n      tags:\n        - tf-example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRouters can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import vkcs:index/networkingRouter:NetworkingRouter router_1 014395cd-89fc-4c9b-96b7-13d1ee79dad2\n```\n\n","properties":{"adminStateUp":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Administrative up/down status for the router (must be \"true\" or \"false\" if provided). Changing 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 router.\n"},"allTags":{"type":"array","items":{"type":"string"},"description":"*set of* *string* \u0026rarr;  The collection of tags assigned on the router, which have been explicitly and implicitly added.\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Human-readable description for the router.\n"},"externalFixedIps":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FNetworkingRouterExternalFixedIp:NetworkingRouterExternalFixedIp"},"description":"*object* \u0026rarr;  List of external gateways of the router.\u003cbr\u003e**New since v0.7.4**.\n"},"externalNetworkId":{"type":"string","description":"optional *string* \u0026rarr;  The network UUID of an external gateway for the router. A router with an external gateway is required if any compute instances or load balancers will be using floating IPs. Changing this updates the external gateway of the router.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  A unique name for the router. Changing this updates 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"},"networkingRouterId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the networking client. A networking client is needed to create a router. If 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 creates a new router.\n"},"sdn":{"type":"string","description":"optional *string* \u0026rarr;  SDN to use for this resource. Must be one of following: \"neutron\", \"sprut\". Default value is project's default SDN.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"optional *set of* *string* \u0026rarr;  A set of string tags for the router.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FNetworkingRouterTimeouts:NetworkingRouterTimeouts"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"},"description":"optional *map of* *string* \u0026rarr;  Map of additional driver-specific options.\n"},"vendorOptions":{"$ref":"#/types/vkcs:index%2FNetworkingRouterVendorOptions:NetworkingRouterVendorOptions","description":"optional \u0026rarr;  Map of additional vendor-specific options. Supported options are described below.\n"}},"type":"object","required":["adminStateUp","allTags","externalFixedIps","externalNetworkId","name","networkingRouterId","region","sdn"],"inputProperties":{"adminStateUp":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Administrative up/down status for the router (must be \"true\" or \"false\" if provided). Changing 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 router.\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Human-readable description for the router.\n"},"externalNetworkId":{"type":"string","description":"optional *string* \u0026rarr;  The network UUID of an external gateway for the router. A router with an external gateway is required if any compute instances or load balancers will be using floating IPs. Changing this updates the external gateway of the router.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  A unique name for the router. Changing this updates 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"},"networkingRouterId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the networking client. A networking client is needed to create a router. If 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 creates a new router.\n"},"sdn":{"type":"string","description":"optional *string* \u0026rarr;  SDN to use for this resource. Must be one of following: \"neutron\", \"sprut\". Default value is project's default SDN.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"optional *set of* *string* \u0026rarr;  A set of string tags for the router.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FNetworkingRouterTimeouts:NetworkingRouterTimeouts"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"},"description":"optional *map of* *string* \u0026rarr;  Map of additional driver-specific options.\n"},"vendorOptions":{"$ref":"#/types/vkcs:index%2FNetworkingRouterVendorOptions:NetworkingRouterVendorOptions","description":"optional \u0026rarr;  Map of additional vendor-specific options. Supported options are described below.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering NetworkingRouter resources.\n","properties":{"adminStateUp":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Administrative up/down status for the router (must be \"true\" or \"false\" if provided). Changing 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 router.\n"},"allTags":{"type":"array","items":{"type":"string"},"description":"*set of* *string* \u0026rarr;  The collection of tags assigned on the router, which have been explicitly and implicitly added.\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Human-readable description for the router.\n"},"externalFixedIps":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FNetworkingRouterExternalFixedIp:NetworkingRouterExternalFixedIp"},"description":"*object* \u0026rarr;  List of external gateways of the router.\u003cbr\u003e**New since v0.7.4**.\n"},"externalNetworkId":{"type":"string","description":"optional *string* \u0026rarr;  The network UUID of an external gateway for the router. A router with an external gateway is required if any compute instances or load balancers will be using floating IPs. Changing this updates the external gateway of the router.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  A unique name for the router. Changing this updates 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"},"networkingRouterId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the networking client. A networking client is needed to create a router. If 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 creates a new router.\n"},"sdn":{"type":"string","description":"optional *string* \u0026rarr;  SDN to use for this resource. Must be one of following: \"neutron\", \"sprut\". Default value is project's default SDN.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"optional *set of* *string* \u0026rarr;  A set of string tags for the router.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FNetworkingRouterTimeouts:NetworkingRouterTimeouts"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"},"description":"optional *map of* *string* \u0026rarr;  Map of additional driver-specific options.\n"},"vendorOptions":{"$ref":"#/types/vkcs:index%2FNetworkingRouterVendorOptions:NetworkingRouterVendorOptions","description":"optional \u0026rarr;  Map of additional vendor-specific options. Supported options are described below.\n"}},"type":"object"}},"vkcs:index/networkingRouterInterface:NetworkingRouterInterface":{"description":"Manages a router interface resource within VKCS.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst app = new vkcs.NetworkingRouterInterface(\"app\", {\n    routerId: router.id,\n    subnetId: appVkcsNetworkingSubnet.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\napp = vkcs.NetworkingRouterInterface(\"app\",\n    router_id=router[\"id\"],\n    subnet_id=app_vkcs_networking_subnet[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var app = new Vkcs.NetworkingRouterInterface(\"app\", new()\n    {\n        RouterId = router.Id,\n        SubnetId = appVkcsNetworkingSubnet.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewNetworkingRouterInterface(ctx, \"app\", \u0026vkcs.NetworkingRouterInterfaceArgs{\n\t\t\tRouterId: pulumi.Any(router.Id),\n\t\t\tSubnetId: pulumi.Any(appVkcsNetworkingSubnet.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.vkcs.NetworkingRouterInterface;\nimport com.pulumi.vkcs.NetworkingRouterInterfaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 app = new NetworkingRouterInterface(\"app\", NetworkingRouterInterfaceArgs.builder()\n            .routerId(router.id())\n            .subnetId(appVkcsNetworkingSubnet.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  app:\n    type: vkcs:NetworkingRouterInterface\n    properties:\n      routerId: ${router.id}\n      subnetId: ${appVkcsNetworkingSubnet.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRouter Interfaces can be imported using the port `id`, e.g.\n\nopenstack port list --router \u003crouter name or id\u003e\n\n```sh\n$ pulumi import vkcs:index/networkingRouterInterface:NetworkingRouterInterface int_1 \u003cport id from above output\u003e\n```\n\n","properties":{"networkingRouterInterfaceId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"portId":{"type":"string","description":"optional *string* \u0026rarr;  ID of the port this interface connects to. Changing this creates a new router interface.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the networking client. A networking client is needed to create a router. If 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 creates a new router interface.\n"},"routerId":{"type":"string","description":"**required** *string* \u0026rarr;  ID of the router this interface belongs to. Changing this creates a new router interface.\n"},"sdn":{"type":"string","description":"optional *string* \u0026rarr;  SDN to use for this resource. Must be one of following: \"neutron\", \"sprut\". Default value is project's default SDN.\n"},"subnetId":{"type":"string","description":"optional *string* \u0026rarr;  ID of the subnet this interface connects to. Changing this creates a new router interface.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FNetworkingRouterInterfaceTimeouts:NetworkingRouterInterfaceTimeouts"}},"type":"object","required":["networkingRouterInterfaceId","portId","region","routerId","sdn","subnetId"],"inputProperties":{"networkingRouterInterfaceId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"portId":{"type":"string","description":"optional *string* \u0026rarr;  ID of the port this interface connects to. Changing this creates a new router interface.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the networking client. A networking client is needed to create a router. If 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 creates a new router interface.\n"},"routerId":{"type":"string","description":"**required** *string* \u0026rarr;  ID of the router this interface belongs to. Changing this creates a new router interface.\n"},"sdn":{"type":"string","description":"optional *string* \u0026rarr;  SDN to use for this resource. Must be one of following: \"neutron\", \"sprut\". Default value is project's default SDN.\n"},"subnetId":{"type":"string","description":"optional *string* \u0026rarr;  ID of the subnet this interface connects to. Changing this creates a new router interface.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FNetworkingRouterInterfaceTimeouts:NetworkingRouterInterfaceTimeouts"}},"requiredInputs":["routerId"],"stateInputs":{"description":"Input properties used for looking up and filtering NetworkingRouterInterface resources.\n","properties":{"networkingRouterInterfaceId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"portId":{"type":"string","description":"optional *string* \u0026rarr;  ID of the port this interface connects to. Changing this creates a new router interface.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the networking client. A networking client is needed to create a router. If 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 creates a new router interface.\n"},"routerId":{"type":"string","description":"**required** *string* \u0026rarr;  ID of the router this interface belongs to. Changing this creates a new router interface.\n"},"sdn":{"type":"string","description":"optional *string* \u0026rarr;  SDN to use for this resource. Must be one of following: \"neutron\", \"sprut\". Default value is project's default SDN.\n"},"subnetId":{"type":"string","description":"optional *string* \u0026rarr;  ID of the subnet this interface connects to. Changing this creates a new router interface.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FNetworkingRouterInterfaceTimeouts:NetworkingRouterInterfaceTimeouts"}},"type":"object"}},"vkcs:index/networkingRouterRoute:NetworkingRouterRoute":{"description":"Creates a routing entry on a VKCS router.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst computeGateway = new vkcs.NetworkingRouterRoute(\"compute_gateway\", {\n    routerId: router.id,\n    destinationCidr: \"10.10.0.0/23\",\n    nextHop: gateway.accessIpV4,\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\ncompute_gateway = vkcs.NetworkingRouterRoute(\"compute_gateway\",\n    router_id=router[\"id\"],\n    destination_cidr=\"10.10.0.0/23\",\n    next_hop=gateway[\"accessIpV4\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var computeGateway = new Vkcs.NetworkingRouterRoute(\"compute_gateway\", new()\n    {\n        RouterId = router.Id,\n        DestinationCidr = \"10.10.0.0/23\",\n        NextHop = gateway.AccessIpV4,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewNetworkingRouterRoute(ctx, \"compute_gateway\", \u0026vkcs.NetworkingRouterRouteArgs{\n\t\t\tRouterId:        pulumi.Any(router.Id),\n\t\t\tDestinationCidr: pulumi.String(\"10.10.0.0/23\"),\n\t\t\tNextHop:         pulumi.Any(gateway.AccessIpV4),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.vkcs.NetworkingRouterRoute;\nimport com.pulumi.vkcs.NetworkingRouterRouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 computeGateway = new NetworkingRouterRoute(\"computeGateway\", NetworkingRouterRouteArgs.builder()\n            .routerId(router.id())\n            .destinationCidr(\"10.10.0.0/23\")\n            .nextHop(gateway.accessIpV4())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  computeGateway:\n    type: vkcs:NetworkingRouterRoute\n    name: compute_gateway\n    properties:\n      routerId: ${router.id}\n      destinationCidr: 10.10.0.0/23\n      nextHop: ${gateway.accessIpV4}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n## Notes\n\nThe \u003cspan pulumi-lang-nodejs=\"`nextHop`\" pulumi-lang-dotnet=\"`NextHop`\" pulumi-lang-go=\"`nextHop`\" pulumi-lang-python=\"`next_hop`\" pulumi-lang-yaml=\"`nextHop`\" pulumi-lang-java=\"`nextHop`\"\u003e`next_hop`\u003c/span\u003e IP address must be directly reachable from the router at the `\u003cspan pulumi-lang-nodejs=\"`vkcs.NetworkingRouterRoute`\" pulumi-lang-dotnet=\"`vkcs.NetworkingRouterRoute`\" pulumi-lang-go=\"`NetworkingRouterRoute`\" pulumi-lang-python=\"`NetworkingRouterRoute`\" pulumi-lang-yaml=\"`vkcs.NetworkingRouterRoute`\" pulumi-lang-java=\"`vkcs.NetworkingRouterRoute`\"\u003e`vkcs.NetworkingRouterRoute`\u003c/span\u003e`\nresource creation time.  You can ensure that by explicitly specifying a dependency on the `\u003cspan pulumi-lang-nodejs=\"`vkcs.NetworkingRouterInterface`\" pulumi-lang-dotnet=\"`vkcs.NetworkingRouterInterface`\" pulumi-lang-go=\"`NetworkingRouterInterface`\" pulumi-lang-python=\"`NetworkingRouterInterface`\" pulumi-lang-yaml=\"`vkcs.NetworkingRouterInterface`\" pulumi-lang-java=\"`vkcs.NetworkingRouterInterface`\"\u003e`vkcs.NetworkingRouterInterface`\u003c/span\u003e`\nresource that connects the next hop to the router, as in the example above.\n\n## Import\n\nRouting entries can be imported using a combined ID using the following format: ``\u003crouter_id\u003e-route-\u003cdestination_cidr\u003e-\u003cnext_hop\u003e``0\n\n```sh\n$ pulumi import vkcs:index/networkingRouterRoute:NetworkingRouterRoute router_route_1 686fe248-386c-4f70-9f6c-281607dad079-route-10.0.1.0/24-192.168.199.25\n```\n\n","properties":{"destinationCidr":{"type":"string","description":"**required** *string* \u0026rarr;  CIDR block to match on the packet’s destination IP. Changing this creates a new routing entry.\n"},"networkingRouterRouteId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"nextHop":{"type":"string","description":"**required** *string* \u0026rarr;  IP address of the next hop gateway. Changing this creates a new routing entry.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the networking client. A networking client is needed to configure a routing entry on a router. If 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 creates a new routing entry.\n"},"routerId":{"type":"string","description":"**required** *string* \u0026rarr;  ID of the router this routing entry belongs to. Changing this creates a new routing entry.\n"},"sdn":{"type":"string","description":"optional *string* \u0026rarr;  SDN to use for this resource. Must be one of following: \"neutron\", \"sprut\". Default value is project's default SDN.\n"}},"type":"object","required":["destinationCidr","networkingRouterRouteId","nextHop","region","routerId","sdn"],"inputProperties":{"destinationCidr":{"type":"string","description":"**required** *string* \u0026rarr;  CIDR block to match on the packet’s destination IP. Changing this creates a new routing entry.\n"},"networkingRouterRouteId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"nextHop":{"type":"string","description":"**required** *string* \u0026rarr;  IP address of the next hop gateway. Changing this creates a new routing entry.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the networking client. A networking client is needed to configure a routing entry on a router. If 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 creates a new routing entry.\n"},"routerId":{"type":"string","description":"**required** *string* \u0026rarr;  ID of the router this routing entry belongs to. Changing this creates a new routing entry.\n"},"sdn":{"type":"string","description":"optional *string* \u0026rarr;  SDN to use for this resource. Must be one of following: \"neutron\", \"sprut\". Default value is project's default SDN.\n"}},"requiredInputs":["destinationCidr","nextHop","routerId"],"stateInputs":{"description":"Input properties used for looking up and filtering NetworkingRouterRoute resources.\n","properties":{"destinationCidr":{"type":"string","description":"**required** *string* \u0026rarr;  CIDR block to match on the packet’s destination IP. Changing this creates a new routing entry.\n"},"networkingRouterRouteId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"nextHop":{"type":"string","description":"**required** *string* \u0026rarr;  IP address of the next hop gateway. Changing this creates a new routing entry.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the networking client. A networking client is needed to configure a routing entry on a router. If 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 creates a new routing entry.\n"},"routerId":{"type":"string","description":"**required** *string* \u0026rarr;  ID of the router this routing entry belongs to. Changing this creates a new routing entry.\n"},"sdn":{"type":"string","description":"optional *string* \u0026rarr;  SDN to use for this resource. Must be one of following: \"neutron\", \"sprut\". Default value is project's default SDN.\n"}},"type":"object"}},"vkcs:index/networkingSecgroup:NetworkingSecgroup":{"description":"\n\n## Import\n\nSecurity Groups can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import vkcs:index/networkingSecgroup:NetworkingSecgroup secgroup_1 38809219-5e8a-4852-9139-6f461c90e8bc\n```\n\n","properties":{"allTags":{"type":"array","items":{"type":"string"},"description":"*set of* *string* \u0026rarr;  The collection of tags assigned on the security group, which have been explicitly and implicitly added.\n"},"deleteDefaultRules":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Whether or not to delete the default egress 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. See the below note for more information.\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  A unique name for the security group.\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  A unique name for the security group.\n"},"networkingSecgroupId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the networking client. A networking client is needed to create a port. If 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 creates a new security group.\n"},"sdn":{"type":"string","description":"optional *string* \u0026rarr;  SDN to use for this resource. Must be one of following: \"neutron\", \"sprut\". Default value is project's default SDN.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"optional *set of* *string* \u0026rarr;  A set of string tags for the security group.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FNetworkingSecgroupTimeouts:NetworkingSecgroupTimeouts"}},"type":"object","required":["allTags","description","name","networkingSecgroupId","region","sdn"],"inputProperties":{"deleteDefaultRules":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Whether or not to delete the default egress 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. See the below note for more information.\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  A unique name for the security group.\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  A unique name for the security group.\n"},"networkingSecgroupId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the networking client. A networking client is needed to create a port. If 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 creates a new security group.\n"},"sdn":{"type":"string","description":"optional *string* \u0026rarr;  SDN to use for this resource. Must be one of following: \"neutron\", \"sprut\". Default value is project's default SDN.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"optional *set of* *string* \u0026rarr;  A set of string tags for the security group.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FNetworkingSecgroupTimeouts:NetworkingSecgroupTimeouts"}},"stateInputs":{"description":"Input properties used for looking up and filtering NetworkingSecgroup resources.\n","properties":{"allTags":{"type":"array","items":{"type":"string"},"description":"*set of* *string* \u0026rarr;  The collection of tags assigned on the security group, which have been explicitly and implicitly added.\n"},"deleteDefaultRules":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Whether or not to delete the default egress 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. See the below note for more information.\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  A unique name for the security group.\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  A unique name for the security group.\n"},"networkingSecgroupId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the networking client. A networking client is needed to create a port. If 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 creates a new security group.\n"},"sdn":{"type":"string","description":"optional *string* \u0026rarr;  SDN to use for this resource. Must be one of following: \"neutron\", \"sprut\". Default value is project's default SDN.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"optional *set of* *string* \u0026rarr;  A set of string tags for the security group.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FNetworkingSecgroupTimeouts:NetworkingSecgroupTimeouts"}},"type":"object"}},"vkcs:index/networkingSecgroupRule:NetworkingSecgroupRule":{"description":"Manages a security group rule resource within VKCS.\n\n## Example Usage\n\n### Basic-rule one protocol one port\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst etcdAppClients = new vkcs.NetworkingSecgroupRule(\"etcd_app_clients\", {\n    description: \"etcd app clients rule\",\n    securityGroupId: etcd.id,\n    direction: \"ingress\",\n    protocol: \"tcp\",\n    portRangeMax: 2379,\n    portRangeMin: 2379,\n    remoteIpPrefix: app.cidr,\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\netcd_app_clients = vkcs.NetworkingSecgroupRule(\"etcd_app_clients\",\n    description=\"etcd app clients rule\",\n    security_group_id=etcd[\"id\"],\n    direction=\"ingress\",\n    protocol=\"tcp\",\n    port_range_max=2379,\n    port_range_min=2379,\n    remote_ip_prefix=app[\"cidr\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var etcdAppClients = new Vkcs.NetworkingSecgroupRule(\"etcd_app_clients\", new()\n    {\n        Description = \"etcd app clients rule\",\n        SecurityGroupId = etcd.Id,\n        Direction = \"ingress\",\n        Protocol = \"tcp\",\n        PortRangeMax = 2379,\n        PortRangeMin = 2379,\n        RemoteIpPrefix = app.Cidr,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewNetworkingSecgroupRule(ctx, \"etcd_app_clients\", \u0026vkcs.NetworkingSecgroupRuleArgs{\n\t\t\tDescription:     pulumi.String(\"etcd app clients rule\"),\n\t\t\tSecurityGroupId: pulumi.Any(etcd.Id),\n\t\t\tDirection:       pulumi.String(\"ingress\"),\n\t\t\tProtocol:        pulumi.String(\"tcp\"),\n\t\t\tPortRangeMax:    pulumi.Float64(2379),\n\t\t\tPortRangeMin:    pulumi.Float64(2379),\n\t\t\tRemoteIpPrefix:  pulumi.Any(app.Cidr),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.vkcs.NetworkingSecgroupRule;\nimport com.pulumi.vkcs.NetworkingSecgroupRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 etcdAppClients = new NetworkingSecgroupRule(\"etcdAppClients\", NetworkingSecgroupRuleArgs.builder()\n            .description(\"etcd app clients rule\")\n            .securityGroupId(etcd.id())\n            .direction(\"ingress\")\n            .protocol(\"tcp\")\n            .portRangeMax(2379.0)\n            .portRangeMin(2379.0)\n            .remoteIpPrefix(app.cidr())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  etcdAppClients:\n    type: vkcs:NetworkingSecgroupRule\n    name: etcd_app_clients\n    properties:\n      description: etcd app clients rule\n      securityGroupId: ${etcd.id}\n      direction: ingress\n      protocol: tcp\n      portRangeMax: 2379\n      portRangeMin: 2379\n      remoteIpPrefix: ${app.cidr}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Rule for all ports for particular protocol (udp)\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst allUdp = new vkcs.NetworkingSecgroupRule(\"all_udp\", {\n    description: \"All inbound UDP traffic from etcd hosts\",\n    securityGroupId: etcd.id,\n    direction: \"ingress\",\n    protocol: \"udp\",\n    remoteGroupId: etcd.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\nall_udp = vkcs.NetworkingSecgroupRule(\"all_udp\",\n    description=\"All inbound UDP traffic from etcd hosts\",\n    security_group_id=etcd[\"id\"],\n    direction=\"ingress\",\n    protocol=\"udp\",\n    remote_group_id=etcd[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var allUdp = new Vkcs.NetworkingSecgroupRule(\"all_udp\", new()\n    {\n        Description = \"All inbound UDP traffic from etcd hosts\",\n        SecurityGroupId = etcd.Id,\n        Direction = \"ingress\",\n        Protocol = \"udp\",\n        RemoteGroupId = etcd.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewNetworkingSecgroupRule(ctx, \"all_udp\", \u0026vkcs.NetworkingSecgroupRuleArgs{\n\t\t\tDescription:     pulumi.String(\"All inbound UDP traffic from etcd hosts\"),\n\t\t\tSecurityGroupId: pulumi.Any(etcd.Id),\n\t\t\tDirection:       pulumi.String(\"ingress\"),\n\t\t\tProtocol:        pulumi.String(\"udp\"),\n\t\t\tRemoteGroupId:   pulumi.Any(etcd.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.vkcs.NetworkingSecgroupRule;\nimport com.pulumi.vkcs.NetworkingSecgroupRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 allUdp = new NetworkingSecgroupRule(\"allUdp\", NetworkingSecgroupRuleArgs.builder()\n            .description(\"All inbound UDP traffic from etcd hosts\")\n            .securityGroupId(etcd.id())\n            .direction(\"ingress\")\n            .protocol(\"udp\")\n            .remoteGroupId(etcd.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  allUdp:\n    type: vkcs:NetworkingSecgroupRule\n    name: all_udp\n    properties:\n      description: All inbound UDP traffic from etcd hosts\n      securityGroupId: ${etcd.id}\n      direction: ingress\n      protocol: udp\n      remoteGroupId: ${etcd.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Rule for all protocols\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst all = new vkcs.NetworkingSecgroupRule(\"all\", {\n    description: \"Any inbound traffic from etcd hosts\",\n    securityGroupId: etcd.id,\n    direction: \"ingress\",\n    remoteGroupId: etcd.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\nall = vkcs.NetworkingSecgroupRule(\"all\",\n    description=\"Any inbound traffic from etcd hosts\",\n    security_group_id=etcd[\"id\"],\n    direction=\"ingress\",\n    remote_group_id=etcd[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var all = new Vkcs.NetworkingSecgroupRule(\"all\", new()\n    {\n        Description = \"Any inbound traffic from etcd hosts\",\n        SecurityGroupId = etcd.Id,\n        Direction = \"ingress\",\n        RemoteGroupId = etcd.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewNetworkingSecgroupRule(ctx, \"all\", \u0026vkcs.NetworkingSecgroupRuleArgs{\n\t\t\tDescription:     pulumi.String(\"Any inbound traffic from etcd hosts\"),\n\t\t\tSecurityGroupId: pulumi.Any(etcd.Id),\n\t\t\tDirection:       pulumi.String(\"ingress\"),\n\t\t\tRemoteGroupId:   pulumi.Any(etcd.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.vkcs.NetworkingSecgroupRule;\nimport com.pulumi.vkcs.NetworkingSecgroupRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 all = new NetworkingSecgroupRule(\"all\", NetworkingSecgroupRuleArgs.builder()\n            .description(\"Any inbound traffic from etcd hosts\")\n            .securityGroupId(etcd.id())\n            .direction(\"ingress\")\n            .remoteGroupId(etcd.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  all:\n    type: vkcs:NetworkingSecgroupRule\n    properties:\n      description: Any inbound traffic from etcd hosts\n      securityGroupId: ${etcd.id}\n      direction: ingress\n      remoteGroupId: ${etcd.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 vkcs:index/networkingSecgroupRule:NetworkingSecgroupRule secgroup_rule_1 aeb68ee3-6e9d-4256-955c-9584a6212745\n```\n\n","properties":{"description":{"type":"string","description":"optional *string* \u0026rarr;  A description of the rule. Changing this creates a new security group rule.\n"},"direction":{"type":"string","description":"**required** *string* \u0026rarr;  The direction of the rule, valid values are __ingress__ or __egress__. Changing this creates a new security group rule.\n"},"ethertype":{"type":"string","description":"optional deprecated *string* \u0026rarr;  The layer 3 protocol type, the only valid value is __IPv4__. Changing this creates a new security group rule. **Deprecated** Only IPv4 can be used as ethertype. This argument is deprecated, please do not use it.\n","deprecationMessage":"Deprecated"},"networkingSecgroupRuleId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"portRangeMax":{"type":"number","description":"optional *number* \u0026rarr;  The higher part of the allowed port range, valid integer value needs to be between 1 and 65535. To specify all ports, \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 and \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 arguments must be absent. Changing this creates a new security group rule.\n"},"portRangeMin":{"type":"number","description":"optional *number* \u0026rarr;  The lower part of the allowed port range, valid integer value needs to be between 1 and 65535. To specify all ports, \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 and \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 arguments must be absent. Changing this creates a new security group rule.\n"},"protocol":{"type":"string","description":"optional *string* \u0026rarr;  The layer 4 protocol type, valid values are following. Changing this creates a new security group rule. This is required if you want to specify a port range.\n* __tcp__\n* __udp__\n* __icmp__\n* __ah__\n* __dccp__\n* __egp__\n* __esp__\n* __gre__\n* __igmp__\n* __ospf__\n* __pgm__\n* __rsvp__\n* __sctp__\n* __udplite__\n* __vrrp__\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the networking client. A networking client is needed to create a port. If 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 creates a new security group rule.\n"},"remoteGroupId":{"type":"string","description":"optional *string* \u0026rarr;  The remote group id, the value needs to be an ID of a security group in the same tenant. Changing this creates a new security group rule. \u003cbr\u003e**Note:** Only one of \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 or \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 may be set.\n"},"remoteIpPrefix":{"type":"string","description":"optional *string* \u0026rarr;  The remote CIDR, the value needs to be a valid CIDR (i.e. 192.168.0.0/16). Changing this creates a new security group rule. \u003cbr\u003e**Note:** Only one of \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 or \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 may be set.\n"},"sdn":{"type":"string","description":"optional *string* \u0026rarr;  SDN to use for this resource. Must be one of following: \"neutron\", \"sprut\". Default value is project's default SDN.\n"},"securityGroupId":{"type":"string","description":"**required** *string* \u0026rarr;  The security group id the rule should belong to, the value needs to be an ID of a security group in the same tenant. Changing this creates a new security group rule.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FNetworkingSecgroupRuleTimeouts:NetworkingSecgroupRuleTimeouts"}},"type":"object","required":["direction","networkingSecgroupRuleId","portRangeMax","portRangeMin","protocol","region","remoteGroupId","remoteIpPrefix","sdn","securityGroupId"],"inputProperties":{"description":{"type":"string","description":"optional *string* \u0026rarr;  A description of the rule. Changing this creates a new security group rule.\n"},"direction":{"type":"string","description":"**required** *string* \u0026rarr;  The direction of the rule, valid values are __ingress__ or __egress__. Changing this creates a new security group rule.\n"},"ethertype":{"type":"string","description":"optional deprecated *string* \u0026rarr;  The layer 3 protocol type, the only valid value is __IPv4__. Changing this creates a new security group rule. **Deprecated** Only IPv4 can be used as ethertype. This argument is deprecated, please do not use it.\n","deprecationMessage":"Deprecated"},"networkingSecgroupRuleId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"portRangeMax":{"type":"number","description":"optional *number* \u0026rarr;  The higher part of the allowed port range, valid integer value needs to be between 1 and 65535. To specify all ports, \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 and \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 arguments must be absent. Changing this creates a new security group rule.\n"},"portRangeMin":{"type":"number","description":"optional *number* \u0026rarr;  The lower part of the allowed port range, valid integer value needs to be between 1 and 65535. To specify all ports, \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 and \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 arguments must be absent. Changing this creates a new security group rule.\n"},"protocol":{"type":"string","description":"optional *string* \u0026rarr;  The layer 4 protocol type, valid values are following. Changing this creates a new security group rule. This is required if you want to specify a port range.\n* __tcp__\n* __udp__\n* __icmp__\n* __ah__\n* __dccp__\n* __egp__\n* __esp__\n* __gre__\n* __igmp__\n* __ospf__\n* __pgm__\n* __rsvp__\n* __sctp__\n* __udplite__\n* __vrrp__\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the networking client. A networking client is needed to create a port. If 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 creates a new security group rule.\n"},"remoteGroupId":{"type":"string","description":"optional *string* \u0026rarr;  The remote group id, the value needs to be an ID of a security group in the same tenant. Changing this creates a new security group rule. \u003cbr\u003e**Note:** Only one of \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 or \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 may be set.\n"},"remoteIpPrefix":{"type":"string","description":"optional *string* \u0026rarr;  The remote CIDR, the value needs to be a valid CIDR (i.e. 192.168.0.0/16). Changing this creates a new security group rule. \u003cbr\u003e**Note:** Only one of \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 or \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 may be set.\n"},"sdn":{"type":"string","description":"optional *string* \u0026rarr;  SDN to use for this resource. Must be one of following: \"neutron\", \"sprut\". Default value is project's default SDN.\n"},"securityGroupId":{"type":"string","description":"**required** *string* \u0026rarr;  The security group id the rule should belong to, the value needs to be an ID of a security group in the same tenant. Changing this creates a new security group rule.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FNetworkingSecgroupRuleTimeouts:NetworkingSecgroupRuleTimeouts"}},"requiredInputs":["direction","securityGroupId"],"stateInputs":{"description":"Input properties used for looking up and filtering NetworkingSecgroupRule resources.\n","properties":{"description":{"type":"string","description":"optional *string* \u0026rarr;  A description of the rule. Changing this creates a new security group rule.\n"},"direction":{"type":"string","description":"**required** *string* \u0026rarr;  The direction of the rule, valid values are __ingress__ or __egress__. Changing this creates a new security group rule.\n"},"ethertype":{"type":"string","description":"optional deprecated *string* \u0026rarr;  The layer 3 protocol type, the only valid value is __IPv4__. Changing this creates a new security group rule. **Deprecated** Only IPv4 can be used as ethertype. This argument is deprecated, please do not use it.\n","deprecationMessage":"Deprecated"},"networkingSecgroupRuleId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"portRangeMax":{"type":"number","description":"optional *number* \u0026rarr;  The higher part of the allowed port range, valid integer value needs to be between 1 and 65535. To specify all ports, \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 and \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 arguments must be absent. Changing this creates a new security group rule.\n"},"portRangeMin":{"type":"number","description":"optional *number* \u0026rarr;  The lower part of the allowed port range, valid integer value needs to be between 1 and 65535. To specify all ports, \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 and \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 arguments must be absent. Changing this creates a new security group rule.\n"},"protocol":{"type":"string","description":"optional *string* \u0026rarr;  The layer 4 protocol type, valid values are following. Changing this creates a new security group rule. This is required if you want to specify a port range.\n* __tcp__\n* __udp__\n* __icmp__\n* __ah__\n* __dccp__\n* __egp__\n* __esp__\n* __gre__\n* __igmp__\n* __ospf__\n* __pgm__\n* __rsvp__\n* __sctp__\n* __udplite__\n* __vrrp__\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the networking client. A networking client is needed to create a port. If 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 creates a new security group rule.\n"},"remoteGroupId":{"type":"string","description":"optional *string* \u0026rarr;  The remote group id, the value needs to be an ID of a security group in the same tenant. Changing this creates a new security group rule. \u003cbr\u003e**Note:** Only one of \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 or \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 may be set.\n"},"remoteIpPrefix":{"type":"string","description":"optional *string* \u0026rarr;  The remote CIDR, the value needs to be a valid CIDR (i.e. 192.168.0.0/16). Changing this creates a new security group rule. \u003cbr\u003e**Note:** Only one of \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 or \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 may be set.\n"},"sdn":{"type":"string","description":"optional *string* \u0026rarr;  SDN to use for this resource. Must be one of following: \"neutron\", \"sprut\". Default value is project's default SDN.\n"},"securityGroupId":{"type":"string","description":"**required** *string* \u0026rarr;  The security group id the rule should belong to, the value needs to be an ID of a security group in the same tenant. Changing this creates a new security group rule.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FNetworkingSecgroupRuleTimeouts:NetworkingSecgroupRuleTimeouts"}},"type":"object"}},"vkcs:index/networkingSubnet:NetworkingSubnet":{"description":"Manages a subnet resource within VKCS.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst app = new vkcs.NetworkingSubnet(\"app\", {\n    name: \"app-tf-example\",\n    networkId: appVkcsNetworkingNetwork.id,\n    cidr: \"192.168.199.0/24\",\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\napp = vkcs.NetworkingSubnet(\"app\",\n    name=\"app-tf-example\",\n    network_id=app_vkcs_networking_network[\"id\"],\n    cidr=\"192.168.199.0/24\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var app = new Vkcs.NetworkingSubnet(\"app\", new()\n    {\n        Name = \"app-tf-example\",\n        NetworkId = appVkcsNetworkingNetwork.Id,\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/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewNetworkingSubnet(ctx, \"app\", \u0026vkcs.NetworkingSubnetArgs{\n\t\t\tName:      pulumi.String(\"app-tf-example\"),\n\t\t\tNetworkId: pulumi.Any(appVkcsNetworkingNetwork.Id),\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.vkcs.NetworkingSubnet;\nimport com.pulumi.vkcs.NetworkingSubnetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 app = new NetworkingSubnet(\"app\", NetworkingSubnetArgs.builder()\n            .name(\"app-tf-example\")\n            .networkId(appVkcsNetworkingNetwork.id())\n            .cidr(\"192.168.199.0/24\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  app:\n    type: vkcs:NetworkingSubnet\n    properties:\n      name: app-tf-example\n      networkId: ${appVkcsNetworkingNetwork.id}\n      cidr: 192.168.199.0/24\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Subnet with not default DNS servers\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst subnetWithDnsTfExample = new vkcs.NetworkingSubnet(\"subnet_with_dns_tf_example\", {\n    name: \"subnet-with-dns-tf-example\",\n    networkId: app.id,\n    dnsNameservers: [\n        \"8.8.8.8\",\n        \"8.8.4.4\",\n    ],\n    cidr: \"192.168.200.0/24\",\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\nsubnet_with_dns_tf_example = vkcs.NetworkingSubnet(\"subnet_with_dns_tf_example\",\n    name=\"subnet-with-dns-tf-example\",\n    network_id=app[\"id\"],\n    dns_nameservers=[\n        \"8.8.8.8\",\n        \"8.8.4.4\",\n    ],\n    cidr=\"192.168.200.0/24\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var subnetWithDnsTfExample = new Vkcs.NetworkingSubnet(\"subnet_with_dns_tf_example\", new()\n    {\n        Name = \"subnet-with-dns-tf-example\",\n        NetworkId = app.Id,\n        DnsNameservers = new[]\n        {\n            \"8.8.8.8\",\n            \"8.8.4.4\",\n        },\n        Cidr = \"192.168.200.0/24\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewNetworkingSubnet(ctx, \"subnet_with_dns_tf_example\", \u0026vkcs.NetworkingSubnetArgs{\n\t\t\tName:      pulumi.String(\"subnet-with-dns-tf-example\"),\n\t\t\tNetworkId: pulumi.Any(app.Id),\n\t\t\tDnsNameservers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"8.8.8.8\"),\n\t\t\t\tpulumi.String(\"8.8.4.4\"),\n\t\t\t},\n\t\t\tCidr: pulumi.String(\"192.168.200.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.vkcs.NetworkingSubnet;\nimport com.pulumi.vkcs.NetworkingSubnetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 subnetWithDnsTfExample = new NetworkingSubnet(\"subnetWithDnsTfExample\", NetworkingSubnetArgs.builder()\n            .name(\"subnet-with-dns-tf-example\")\n            .networkId(app.id())\n            .dnsNameservers(            \n                \"8.8.8.8\",\n                \"8.8.4.4\")\n            .cidr(\"192.168.200.0/24\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  subnetWithDnsTfExample:\n    type: vkcs:NetworkingSubnet\n    name: subnet_with_dns_tf_example\n    properties:\n      name: subnet-with-dns-tf-example\n      networkId: ${app.id}\n      dnsNameservers:\n        - 8.8.8.8\n        - 8.8.4.4\n      cidr: 192.168.200.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 vkcs:index/networkingSubnet:NetworkingSubnet subnet_1 da4faf16-5546-41e4-8330-4d0002b74048\n```\n\n","properties":{"allTags":{"type":"array","items":{"type":"string"},"description":"*set of* *string* \u0026rarr;  The collection of ags assigned on the subnet, which have been explicitly and implicitly added.\n"},"allocationPools":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FNetworkingSubnetAllocationPool:NetworkingSubnetAllocationPool"},"description":"optional \u0026rarr;  A block declaring the start and end range of the IP addresses available for use with DHCP in this subnet. Multiple \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\u003e blocks can be declared, providing the subnet with more than one range of IP addresses to use with DHCP. However, each IP range must be from the same CIDR that the subnet is part of. 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\u003e block is documented below.\n"},"cidr":{"type":"string","description":"optional *string* \u0026rarr;  CIDR representing IP range for this subnet, based on IP version. You can omit this option if you are creating a subnet from a subnet pool.\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Human-readable description of the subnet. Changing this updates the name of the existing subnet.\n"},"dnsNameservers":{"type":"array","items":{"type":"string"},"description":"optional *string* \u0026rarr;  An array of DNS name server names used by hosts in this subnet. Changing this updates the DNS name servers for the existing subnet.\n"},"enableDhcp":{"type":"boolean","description":"optional *boolean* \u0026rarr;  The administrative state of the network. Acceptable values are \"true\" and \"false\". Changing this value enables or disables the DHCP capabilities of the existing subnet. Defaults to true.\n"},"enablePrivateDns":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Option to control private DNS in a subnet. Enabled by default.\u003cbr\u003e**New since v0.13.1**.\n"},"gatewayIp":{"type":"string","description":"optional *string* \u0026rarr;  Default gateway used by devices in this subnet. Leaving 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 value. For the Sprut SDN, this field cannot be changed after creation.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  The name of the subnet. Changing this updates the name of the existing subnet.\n"},"networkId":{"type":"string","description":"**required** *string* \u0026rarr;  The UUID of the parent network. Changing this creates a new subnet.\n"},"networkingSubnetId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"noGateway":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Do not set a gateway IP on this subnet. Changing this removes or adds a default gateway IP of the existing subnet.\n"},"prefixLength":{"type":"number","description":"optional *number* \u0026rarr;  The prefix length to use when creating a subnet from a subnet pool. The default subnet pool prefix length that was defined when creating the subnet pool will be used if not provided. Changing this creates a new subnet.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Networking client. A Networking client is needed to create a subnet. If 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 creates a new subnet.\n"},"sdn":{"type":"string","description":"optional *string* \u0026rarr;  SDN to use for this resource. Must be one of following: \"neutron\", \"sprut\". Default value is project's default SDN.\n"},"subnetpoolId":{"type":"string","description":"optional *string* \u0026rarr;  The ID of the subnetpool associated with the subnet.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"optional *set of* *string* \u0026rarr;  A set of string tags for the subnet.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FNetworkingSubnetTimeouts:NetworkingSubnetTimeouts"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"},"description":"optional *map of* *string* \u0026rarr;  Map of additional options.\n"}},"type":"object","required":["allTags","cidr","enablePrivateDns","gatewayIp","name","networkId","networkingSubnetId","region","sdn"],"inputProperties":{"allocationPools":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FNetworkingSubnetAllocationPool:NetworkingSubnetAllocationPool"},"description":"optional \u0026rarr;  A block declaring the start and end range of the IP addresses available for use with DHCP in this subnet. Multiple \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\u003e blocks can be declared, providing the subnet with more than one range of IP addresses to use with DHCP. However, each IP range must be from the same CIDR that the subnet is part of. 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\u003e block is documented below.\n"},"cidr":{"type":"string","description":"optional *string* \u0026rarr;  CIDR representing IP range for this subnet, based on IP version. You can omit this option if you are creating a subnet from a subnet pool.\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Human-readable description of the subnet. Changing this updates the name of the existing subnet.\n"},"dnsNameservers":{"type":"array","items":{"type":"string"},"description":"optional *string* \u0026rarr;  An array of DNS name server names used by hosts in this subnet. Changing this updates the DNS name servers for the existing subnet.\n"},"enableDhcp":{"type":"boolean","description":"optional *boolean* \u0026rarr;  The administrative state of the network. Acceptable values are \"true\" and \"false\". Changing this value enables or disables the DHCP capabilities of the existing subnet. Defaults to true.\n"},"enablePrivateDns":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Option to control private DNS in a subnet. Enabled by default.\u003cbr\u003e**New since v0.13.1**.\n"},"gatewayIp":{"type":"string","description":"optional *string* \u0026rarr;  Default gateway used by devices in this subnet. Leaving 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 value. For the Sprut SDN, this field cannot be changed after creation.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  The name of the subnet. Changing this updates the name of the existing subnet.\n"},"networkId":{"type":"string","description":"**required** *string* \u0026rarr;  The UUID of the parent network. Changing this creates a new subnet.\n"},"networkingSubnetId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"noGateway":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Do not set a gateway IP on this subnet. Changing this removes or adds a default gateway IP of the existing subnet.\n"},"prefixLength":{"type":"number","description":"optional *number* \u0026rarr;  The prefix length to use when creating a subnet from a subnet pool. The default subnet pool prefix length that was defined when creating the subnet pool will be used if not provided. Changing this creates a new subnet.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Networking client. A Networking client is needed to create a subnet. If 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 creates a new subnet.\n"},"sdn":{"type":"string","description":"optional *string* \u0026rarr;  SDN to use for this resource. Must be one of following: \"neutron\", \"sprut\". Default value is project's default SDN.\n"},"subnetpoolId":{"type":"string","description":"optional *string* \u0026rarr;  The ID of the subnetpool associated with the subnet.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"optional *set of* *string* \u0026rarr;  A set of string tags for the subnet.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FNetworkingSubnetTimeouts:NetworkingSubnetTimeouts"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"},"description":"optional *map of* *string* \u0026rarr;  Map of additional options.\n"}},"requiredInputs":["networkId"],"stateInputs":{"description":"Input properties used for looking up and filtering NetworkingSubnet resources.\n","properties":{"allTags":{"type":"array","items":{"type":"string"},"description":"*set of* *string* \u0026rarr;  The collection of ags assigned on the subnet, which have been explicitly and implicitly added.\n"},"allocationPools":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FNetworkingSubnetAllocationPool:NetworkingSubnetAllocationPool"},"description":"optional \u0026rarr;  A block declaring the start and end range of the IP addresses available for use with DHCP in this subnet. Multiple \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\u003e blocks can be declared, providing the subnet with more than one range of IP addresses to use with DHCP. However, each IP range must be from the same CIDR that the subnet is part of. 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\u003e block is documented below.\n"},"cidr":{"type":"string","description":"optional *string* \u0026rarr;  CIDR representing IP range for this subnet, based on IP version. You can omit this option if you are creating a subnet from a subnet pool.\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Human-readable description of the subnet. Changing this updates the name of the existing subnet.\n"},"dnsNameservers":{"type":"array","items":{"type":"string"},"description":"optional *string* \u0026rarr;  An array of DNS name server names used by hosts in this subnet. Changing this updates the DNS name servers for the existing subnet.\n"},"enableDhcp":{"type":"boolean","description":"optional *boolean* \u0026rarr;  The administrative state of the network. Acceptable values are \"true\" and \"false\". Changing this value enables or disables the DHCP capabilities of the existing subnet. Defaults to true.\n"},"enablePrivateDns":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Option to control private DNS in a subnet. Enabled by default.\u003cbr\u003e**New since v0.13.1**.\n"},"gatewayIp":{"type":"string","description":"optional *string* \u0026rarr;  Default gateway used by devices in this subnet. Leaving 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 value. For the Sprut SDN, this field cannot be changed after creation.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  The name of the subnet. Changing this updates the name of the existing subnet.\n"},"networkId":{"type":"string","description":"**required** *string* \u0026rarr;  The UUID of the parent network. Changing this creates a new subnet.\n"},"networkingSubnetId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"noGateway":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Do not set a gateway IP on this subnet. Changing this removes or adds a default gateway IP of the existing subnet.\n"},"prefixLength":{"type":"number","description":"optional *number* \u0026rarr;  The prefix length to use when creating a subnet from a subnet pool. The default subnet pool prefix length that was defined when creating the subnet pool will be used if not provided. Changing this creates a new subnet.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Networking client. A Networking client is needed to create a subnet. If 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 creates a new subnet.\n"},"sdn":{"type":"string","description":"optional *string* \u0026rarr;  SDN to use for this resource. Must be one of following: \"neutron\", \"sprut\". Default value is project's default SDN.\n"},"subnetpoolId":{"type":"string","description":"optional *string* \u0026rarr;  The ID of the subnetpool associated with the subnet.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"optional *set of* *string* \u0026rarr;  A set of string tags for the subnet.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FNetworkingSubnetTimeouts:NetworkingSubnetTimeouts"},"valueSpecs":{"type":"object","additionalProperties":{"type":"string"},"description":"optional *map of* *string* \u0026rarr;  Map of additional options.\n"}},"type":"object"}},"vkcs:index/networkingSubnetRoute:NetworkingSubnetRoute":{"description":"Creates a routing entry on a VKCS subnet.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst subnetRouteToExternalTfExample = new vkcs.NetworkingSubnetRoute(\"subnet_route_to_external_tf_example\", {\n    subnetId: app.id,\n    destinationCidr: \"10.0.1.0/24\",\n    nextHop: persistentEtcd.allFixedIps[0],\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\nsubnet_route_to_external_tf_example = vkcs.NetworkingSubnetRoute(\"subnet_route_to_external_tf_example\",\n    subnet_id=app[\"id\"],\n    destination_cidr=\"10.0.1.0/24\",\n    next_hop=persistent_etcd[\"allFixedIps\"][0])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var subnetRouteToExternalTfExample = new Vkcs.NetworkingSubnetRoute(\"subnet_route_to_external_tf_example\", new()\n    {\n        SubnetId = app.Id,\n        DestinationCidr = \"10.0.1.0/24\",\n        NextHop = persistentEtcd.AllFixedIps[0],\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewNetworkingSubnetRoute(ctx, \"subnet_route_to_external_tf_example\", \u0026vkcs.NetworkingSubnetRouteArgs{\n\t\t\tSubnetId:        pulumi.Any(app.Id),\n\t\t\tDestinationCidr: pulumi.String(\"10.0.1.0/24\"),\n\t\t\tNextHop:         pulumi.Any(persistentEtcd.AllFixedIps[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.vkcs.NetworkingSubnetRoute;\nimport com.pulumi.vkcs.NetworkingSubnetRouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 subnetRouteToExternalTfExample = new NetworkingSubnetRoute(\"subnetRouteToExternalTfExample\", NetworkingSubnetRouteArgs.builder()\n            .subnetId(app.id())\n            .destinationCidr(\"10.0.1.0/24\")\n            .nextHop(persistentEtcd.allFixedIps()[0])\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  subnetRouteToExternalTfExample:\n    type: vkcs:NetworkingSubnetRoute\n    name: subnet_route_to_external_tf_example\n    properties:\n      subnetId: ${app.id}\n      destinationCidr: 10.0.1.0/24\n      nextHop: ${persistentEtcd.allFixedIps[0]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRouting entries can be imported using a combined ID using the following format: ``\u003csubnet_id\u003e-route-\u003cdestination_cidr\u003e-\u003cnext_hop\u003e``\n\n```sh\n$ pulumi import vkcs:index/networkingSubnetRoute:NetworkingSubnetRoute subnet_route_1 686fe248-386c-4f70-9f6c-281607dad079-route-10.0.1.0/24-192.168.199.25\n```\n\n","properties":{"destinationCidr":{"type":"string","description":"**required** *string* \u0026rarr;  CIDR block to match on the packet’s destination IP. Changing this creates a new routing entry.\n"},"networkingSubnetRouteId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"nextHop":{"type":"string","description":"**required** *string* \u0026rarr;  IP address of the next hop gateway. Changing this creates a new routing entry.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the networking client. A networking client is needed to configure a routing entry on a subnet. If 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 creates a new routing entry.\n"},"sdn":{"type":"string","description":"optional *string* \u0026rarr;  SDN to use for this resource. Must be one of following: \"neutron\", \"sprut\". Default value is project's default SDN.\n"},"subnetId":{"type":"string","description":"**required** *string* \u0026rarr;  ID of the subnet this routing entry belongs to. Changing this creates a new routing entry.\n"}},"type":"object","required":["destinationCidr","networkingSubnetRouteId","nextHop","region","sdn","subnetId"],"inputProperties":{"destinationCidr":{"type":"string","description":"**required** *string* \u0026rarr;  CIDR block to match on the packet’s destination IP. Changing this creates a new routing entry.\n"},"networkingSubnetRouteId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"nextHop":{"type":"string","description":"**required** *string* \u0026rarr;  IP address of the next hop gateway. Changing this creates a new routing entry.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the networking client. A networking client is needed to configure a routing entry on a subnet. If 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 creates a new routing entry.\n"},"sdn":{"type":"string","description":"optional *string* \u0026rarr;  SDN to use for this resource. Must be one of following: \"neutron\", \"sprut\". Default value is project's default SDN.\n"},"subnetId":{"type":"string","description":"**required** *string* \u0026rarr;  ID of the subnet this routing entry belongs to. Changing this creates a new routing entry.\n"}},"requiredInputs":["destinationCidr","nextHop","subnetId"],"stateInputs":{"description":"Input properties used for looking up and filtering NetworkingSubnetRoute resources.\n","properties":{"destinationCidr":{"type":"string","description":"**required** *string* \u0026rarr;  CIDR block to match on the packet’s destination IP. Changing this creates a new routing entry.\n"},"networkingSubnetRouteId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"nextHop":{"type":"string","description":"**required** *string* \u0026rarr;  IP address of the next hop gateway. Changing this creates a new routing entry.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the networking client. A networking client is needed to configure a routing entry on a subnet. If 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 creates a new routing entry.\n"},"sdn":{"type":"string","description":"optional *string* \u0026rarr;  SDN to use for this resource. Must be one of following: \"neutron\", \"sprut\". Default value is project's default SDN.\n"},"subnetId":{"type":"string","description":"**required** *string* \u0026rarr;  ID of the subnet this routing entry belongs to. Changing this creates a new routing entry.\n"}},"type":"object"}},"vkcs:index/publicdnsRecord:PublicdnsRecord":{"description":"Manages a public DNS zone record resource within VKCS.\n\n\u003e **Note:** Although some arguments are marked as optional, it is actually required to set values for them depending on record \\\"type\\\". Use this map to get information about which arguments you have to set:\n\n| Record type | Required arguments |\n| ----------- | ------------------ |\n| A | ip |\n| AAAA | ip |\n| CNAME | name, content |\n| MX | priority, content |\n| NS | content |\n| SRV | service, proto, priority, weight, host, port |\n| TXT | content |\n\n\n\n\n**New since v0.2.0**.\n\n## Example Usage\n\n### Single record\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst srv = new vkcs.PublicdnsRecord(\"srv\", {\n    zoneId: zone.id,\n    type: \"SRV\",\n    service: \"_sip\",\n    proto: \"_udp\",\n    priority: 10,\n    weight: 5,\n    host: \"siptarget.com\",\n    port: 5060,\n    ttl: 60,\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\nsrv = vkcs.PublicdnsRecord(\"srv\",\n    zone_id=zone[\"id\"],\n    type=\"SRV\",\n    service=\"_sip\",\n    proto=\"_udp\",\n    priority=10,\n    weight=5,\n    host=\"siptarget.com\",\n    port=5060,\n    ttl=60)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var srv = new Vkcs.PublicdnsRecord(\"srv\", new()\n    {\n        ZoneId = zone.Id,\n        Type = \"SRV\",\n        Service = \"_sip\",\n        Proto = \"_udp\",\n        Priority = 10,\n        Weight = 5,\n        Host = \"siptarget.com\",\n        Port = 5060,\n        Ttl = 60,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewPublicdnsRecord(ctx, \"srv\", \u0026vkcs.PublicdnsRecordArgs{\n\t\t\tZoneId:   pulumi.Any(zone.Id),\n\t\t\tType:     pulumi.String(\"SRV\"),\n\t\t\tService:  pulumi.String(\"_sip\"),\n\t\t\tProto:    pulumi.String(\"_udp\"),\n\t\t\tPriority: pulumi.Float64(10),\n\t\t\tWeight:   pulumi.Float64(5),\n\t\t\tHost:     pulumi.String(\"siptarget.com\"),\n\t\t\tPort:     pulumi.Float64(5060),\n\t\t\tTtl:      pulumi.Float64(60),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.vkcs.PublicdnsRecord;\nimport com.pulumi.vkcs.PublicdnsRecordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 srv = new PublicdnsRecord(\"srv\", PublicdnsRecordArgs.builder()\n            .zoneId(zone.id())\n            .type(\"SRV\")\n            .service(\"_sip\")\n            .proto(\"_udp\")\n            .priority(10.0)\n            .weight(5.0)\n            .host(\"siptarget.com\")\n            .port(5060.0)\n            .ttl(60.0)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  srv:\n    type: vkcs:PublicdnsRecord\n    properties:\n      zoneId: ${zone.id}\n      type: SRV\n      service: _sip\n      proto: _udp\n      priority: 10\n      weight: 5\n      host: siptarget.com\n      port: 5060\n      ttl: 60\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPublic DNS records can be imported using the `id` in the form `\u003czone-id\u003e/\u003crecord-type\u003e/\u003crecord-id\u003e`, e.g.\n\n```sh\n$ pulumi import vkcs:index/publicdnsRecord:PublicdnsRecord record 7582c61b-99b7-4730-a74f-7062fbadb94c/a/96b11adf-2627-4a06-bceb-a7f3b61b709e\n```\n\n","properties":{"content":{"type":"string","description":"optional *string* \u0026rarr;  The content of the record.\n"},"fullName":{"type":"string","description":"*string* \u0026rarr;  The full name of the SRV record.\n"},"host":{"type":"string","description":"optional *string* \u0026rarr;  The domain name of the target host.\n"},"ip":{"type":"string","description":"optional *string* \u0026rarr;  The IP address of the record. It should be IPv4 for record of type \"A\" and IPv6 for record of type \"AAAA\".\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  The name of the record.\n"},"port":{"type":"number","description":"optional *number* \u0026rarr;  The port on the target host of the service.\n"},"priority":{"type":"number","description":"optional *number* \u0026rarr;  The priority of the record's server.\n"},"proto":{"type":"string","description":"optional *string* \u0026rarr;  The name of the desired protocol.\n"},"publicdnsRecordId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the V2 Public DNS client. If 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 creates a new record.\n"},"service":{"type":"string","description":"optional *string* \u0026rarr;  The name of the desired service.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FPublicdnsRecordTimeouts:PublicdnsRecordTimeouts"},"ttl":{"type":"number","description":"optional *number* \u0026rarr;  The time to live of the record.\n"},"type":{"type":"string","description":"**required** *string* \u0026rarr;  The type of the record. Must be one of following: \"A\", \"AAAA\", \"CNAME\", \"MX\", \"NS\", \"SRV\", \"TXT\".\n"},"weight":{"type":"number","description":"optional *number* \u0026rarr;  The relative weight of the record's server.\n"},"zoneId":{"type":"string","description":"**required** *string* \u0026rarr;  The ID of the zone to attach the record to.\n"}},"type":"object","required":["content","fullName","host","ip","name","port","priority","publicdnsRecordId","region","ttl","type","weight","zoneId"],"inputProperties":{"content":{"type":"string","description":"optional *string* \u0026rarr;  The content of the record.\n"},"host":{"type":"string","description":"optional *string* \u0026rarr;  The domain name of the target host.\n"},"ip":{"type":"string","description":"optional *string* \u0026rarr;  The IP address of the record. It should be IPv4 for record of type \"A\" and IPv6 for record of type \"AAAA\".\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  The name of the record.\n"},"port":{"type":"number","description":"optional *number* \u0026rarr;  The port on the target host of the service.\n"},"priority":{"type":"number","description":"optional *number* \u0026rarr;  The priority of the record's server.\n"},"proto":{"type":"string","description":"optional *string* \u0026rarr;  The name of the desired protocol.\n"},"publicdnsRecordId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the V2 Public DNS client. If 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 creates a new record.\n"},"service":{"type":"string","description":"optional *string* \u0026rarr;  The name of the desired service.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FPublicdnsRecordTimeouts:PublicdnsRecordTimeouts"},"ttl":{"type":"number","description":"optional *number* \u0026rarr;  The time to live of the record.\n"},"type":{"type":"string","description":"**required** *string* \u0026rarr;  The type of the record. Must be one of following: \"A\", \"AAAA\", \"CNAME\", \"MX\", \"NS\", \"SRV\", \"TXT\".\n"},"weight":{"type":"number","description":"optional *number* \u0026rarr;  The relative weight of the record's server.\n"},"zoneId":{"type":"string","description":"**required** *string* \u0026rarr;  The ID of the zone to attach the record to.\n"}},"requiredInputs":["type","zoneId"],"stateInputs":{"description":"Input properties used for looking up and filtering PublicdnsRecord resources.\n","properties":{"content":{"type":"string","description":"optional *string* \u0026rarr;  The content of the record.\n"},"fullName":{"type":"string","description":"*string* \u0026rarr;  The full name of the SRV record.\n"},"host":{"type":"string","description":"optional *string* \u0026rarr;  The domain name of the target host.\n"},"ip":{"type":"string","description":"optional *string* \u0026rarr;  The IP address of the record. It should be IPv4 for record of type \"A\" and IPv6 for record of type \"AAAA\".\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  The name of the record.\n"},"port":{"type":"number","description":"optional *number* \u0026rarr;  The port on the target host of the service.\n"},"priority":{"type":"number","description":"optional *number* \u0026rarr;  The priority of the record's server.\n"},"proto":{"type":"string","description":"optional *string* \u0026rarr;  The name of the desired protocol.\n"},"publicdnsRecordId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the V2 Public DNS client. If 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 creates a new record.\n"},"service":{"type":"string","description":"optional *string* \u0026rarr;  The name of the desired service.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FPublicdnsRecordTimeouts:PublicdnsRecordTimeouts"},"ttl":{"type":"number","description":"optional *number* \u0026rarr;  The time to live of the record.\n"},"type":{"type":"string","description":"**required** *string* \u0026rarr;  The type of the record. Must be one of following: \"A\", \"AAAA\", \"CNAME\", \"MX\", \"NS\", \"SRV\", \"TXT\".\n"},"weight":{"type":"number","description":"optional *number* \u0026rarr;  The relative weight of the record's server.\n"},"zoneId":{"type":"string","description":"**required** *string* \u0026rarr;  The ID of the zone to attach the record to.\n"}},"type":"object"}},"vkcs:index/publicdnsZone:PublicdnsZone":{"description":"Manages a public DNS record resource within VKCS.\n\n**New since v0.2.0**.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst zone = new vkcs.PublicdnsZone(\"zone\", {\n    zone: zoneName,\n    primaryDns: \"ns1.mcs.mail.ru\",\n    adminEmail: \"admin@example.com\",\n    expire: 3600000,\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\nzone = vkcs.PublicdnsZone(\"zone\",\n    zone=zone_name,\n    primary_dns=\"ns1.mcs.mail.ru\",\n    admin_email=\"admin@example.com\",\n    expire=3600000)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var zone = new Vkcs.PublicdnsZone(\"zone\", new()\n    {\n        Zone = zoneName,\n        PrimaryDns = \"ns1.mcs.mail.ru\",\n        AdminEmail = \"admin@example.com\",\n        Expire = 3600000,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewPublicdnsZone(ctx, \"zone\", \u0026vkcs.PublicdnsZoneArgs{\n\t\t\tZone:       pulumi.Any(zoneName),\n\t\t\tPrimaryDns: pulumi.String(\"ns1.mcs.mail.ru\"),\n\t\t\tAdminEmail: pulumi.String(\"admin@example.com\"),\n\t\t\tExpire:     pulumi.Float64(3600000),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.vkcs.PublicdnsZone;\nimport com.pulumi.vkcs.PublicdnsZoneArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 zone = new PublicdnsZone(\"zone\", PublicdnsZoneArgs.builder()\n            .zone(zoneName)\n            .primaryDns(\"ns1.mcs.mail.ru\")\n            .adminEmail(\"admin@example.com\")\n            .expire(3600000.0)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  zone:\n    type: vkcs:PublicdnsZone\n    properties:\n      zone: ${zoneName}\n      primaryDns: ns1.mcs.mail.ru\n      adminEmail: admin@example.com\n      expire: 3.6e+06\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPublic DNS zones can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import vkcs:index/publicdnsZone:PublicdnsZone zone b758c4e5-ec13-4dfa-8458-b8502625499c\n```\n\n","properties":{"adminEmail":{"type":"string","description":"optional *string* \u0026rarr;  The admin email of the zone SOA.\n"},"expire":{"type":"number","description":"optional *number* \u0026rarr;  The expire time of the zone SOA.\n"},"primaryDns":{"type":"string","description":"optional *string* \u0026rarr;  The primary DNS of the zone SOA.\n"},"publicdnsZoneId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"refresh":{"type":"number","description":"optional *number* \u0026rarr;  The refresh time of the zone SOA.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the V2 Public DNS client. If 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 creates a new zone.\n"},"retry":{"type":"number","description":"optional *number* \u0026rarr;  The retry time of the zone SOA.\n"},"serial":{"type":"number","description":"*number* \u0026rarr;  The serial number of the zone SOA.\n"},"status":{"type":"string","description":"*string* \u0026rarr;  The status of the zone.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FPublicdnsZoneTimeouts:PublicdnsZoneTimeouts"},"ttl":{"type":"number","description":"optional *number* \u0026rarr;  The TTL (time to live) of the zone SOA.\n"},"zone":{"type":"string","description":"**required** *string* \u0026rarr;  The name of the zone. **Changes this creates a new zone**.\n"}},"type":"object","required":["expire","primaryDns","publicdnsZoneId","refresh","region","retry","serial","status","ttl","zone"],"inputProperties":{"adminEmail":{"type":"string","description":"optional *string* \u0026rarr;  The admin email of the zone SOA.\n"},"expire":{"type":"number","description":"optional *number* \u0026rarr;  The expire time of the zone SOA.\n"},"primaryDns":{"type":"string","description":"optional *string* \u0026rarr;  The primary DNS of the zone SOA.\n"},"publicdnsZoneId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"refresh":{"type":"number","description":"optional *number* \u0026rarr;  The refresh time of the zone SOA.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the V2 Public DNS client. If 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 creates a new zone.\n"},"retry":{"type":"number","description":"optional *number* \u0026rarr;  The retry time of the zone SOA.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FPublicdnsZoneTimeouts:PublicdnsZoneTimeouts"},"ttl":{"type":"number","description":"optional *number* \u0026rarr;  The TTL (time to live) of the zone SOA.\n"},"zone":{"type":"string","description":"**required** *string* \u0026rarr;  The name of the zone. **Changes this creates a new zone**.\n"}},"requiredInputs":["zone"],"stateInputs":{"description":"Input properties used for looking up and filtering PublicdnsZone resources.\n","properties":{"adminEmail":{"type":"string","description":"optional *string* \u0026rarr;  The admin email of the zone SOA.\n"},"expire":{"type":"number","description":"optional *number* \u0026rarr;  The expire time of the zone SOA.\n"},"primaryDns":{"type":"string","description":"optional *string* \u0026rarr;  The primary DNS of the zone SOA.\n"},"publicdnsZoneId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"refresh":{"type":"number","description":"optional *number* \u0026rarr;  The refresh time of the zone SOA.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the V2 Public DNS client. If 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 creates a new zone.\n"},"retry":{"type":"number","description":"optional *number* \u0026rarr;  The retry time of the zone SOA.\n"},"serial":{"type":"number","description":"*number* \u0026rarr;  The serial number of the zone SOA.\n"},"status":{"type":"string","description":"*string* \u0026rarr;  The status of the zone.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FPublicdnsZoneTimeouts:PublicdnsZoneTimeouts"},"ttl":{"type":"number","description":"optional *number* \u0026rarr;  The TTL (time to live) of the zone SOA.\n"},"zone":{"type":"string","description":"**required** *string* \u0026rarr;  The name of the zone. **Changes this creates a new zone**.\n"}},"type":"object"}},"vkcs:index/sharedfilesystemSecurityservice:SharedfilesystemSecurityservice":{"description":"Use this resource to configure a security service.\n\n\u003e **Note:** All arguments including the security service password will be stored in the raw state as plain-text. [Read more about sensitive data in state](https://www.terraform.io/docs/state/sensitive-data.html).\n\nA security service stores configuration information for clients for authentication and authorization (AuthN/AuthZ). For example, a share server will be the client for an existing service such as LDAP, Kerberos, or Microsoft Active Directory.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst adCommon = new vkcs.SharedfilesystemSecurityservice(\"ad_common\", {\n    name: \"active-directory-tf-example\",\n    description: \"active directory tf example\",\n    type: \"active_directory\",\n    server: \"192.168.199.10\",\n    dnsIp: \"192.168.199.10\",\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\nad_common = vkcs.SharedfilesystemSecurityservice(\"ad_common\",\n    name=\"active-directory-tf-example\",\n    description=\"active directory tf example\",\n    type=\"active_directory\",\n    server=\"192.168.199.10\",\n    dns_ip=\"192.168.199.10\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var adCommon = new Vkcs.SharedfilesystemSecurityservice(\"ad_common\", new()\n    {\n        Name = \"active-directory-tf-example\",\n        Description = \"active directory tf example\",\n        Type = \"active_directory\",\n        Server = \"192.168.199.10\",\n        DnsIp = \"192.168.199.10\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewSharedfilesystemSecurityservice(ctx, \"ad_common\", \u0026vkcs.SharedfilesystemSecurityserviceArgs{\n\t\t\tName:        pulumi.String(\"active-directory-tf-example\"),\n\t\t\tDescription: pulumi.String(\"active directory tf example\"),\n\t\t\tType:        pulumi.String(\"active_directory\"),\n\t\t\tServer:      pulumi.String(\"192.168.199.10\"),\n\t\t\tDnsIp:       pulumi.String(\"192.168.199.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.vkcs.SharedfilesystemSecurityservice;\nimport com.pulumi.vkcs.SharedfilesystemSecurityserviceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 adCommon = new SharedfilesystemSecurityservice(\"adCommon\", SharedfilesystemSecurityserviceArgs.builder()\n            .name(\"active-directory-tf-example\")\n            .description(\"active directory tf example\")\n            .type(\"active_directory\")\n            .server(\"192.168.199.10\")\n            .dnsIp(\"192.168.199.10\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  adCommon:\n    type: vkcs:SharedfilesystemSecurityservice\n    name: ad_common\n    properties:\n      name: active-directory-tf-example\n      description: active directory tf example\n      type: active_directory\n      server: 192.168.199.10\n      dnsIp: 192.168.199.10\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThis resource can be imported by specifying the ID of the security service:\n\n```sh\n$ pulumi import vkcs:index/sharedfilesystemSecurityservice:SharedfilesystemSecurityservice securityservice_1 048d7c1c-4187-4370-89ce-da638120d168\n```\n\n","properties":{"description":{"type":"string","description":"optional *string* \u0026rarr;  The human-readable description for the security service. Changing this updates the description of the existing security service.\n"},"dnsIp":{"type":"string","description":"optional *string* \u0026rarr;  The security service DNS IP address that is used inside the tenant network.\n"},"domain":{"type":"string","description":"optional *string* \u0026rarr;  The security service domain.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  The name of the security service. Changing this updates the name of the existing security service.\n"},"password":{"type":"string","description":"optional sensitive *string* \u0026rarr;  The user password, if you specify a user.\n","secret":true},"projectId":{"type":"string","description":"*string* \u0026rarr;  The owner of the Security Service.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Shared File System client. A Shared File System client is needed to create a security service. If 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 creates a new security service.\n"},"server":{"type":"string","description":"optional *string* \u0026rarr;  The security service host name or IP address.\n"},"sharedfilesystemSecurityserviceId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FSharedfilesystemSecurityserviceTimeouts:SharedfilesystemSecurityserviceTimeouts"},"type":{"type":"string","description":"**required** *string* \u0026rarr;  The security service type - can either be active\\_directory, kerberos or ldap.  Changing this updates the existing security service.\n"},"user":{"type":"string","description":"optional *string* \u0026rarr;  The security service user or group name that is used by the tenant.\n"}},"type":"object","required":["name","projectId","region","sharedfilesystemSecurityserviceId","type"],"inputProperties":{"description":{"type":"string","description":"optional *string* \u0026rarr;  The human-readable description for the security service. Changing this updates the description of the existing security service.\n"},"dnsIp":{"type":"string","description":"optional *string* \u0026rarr;  The security service DNS IP address that is used inside the tenant network.\n"},"domain":{"type":"string","description":"optional *string* \u0026rarr;  The security service domain.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  The name of the security service. Changing this updates the name of the existing security service.\n"},"password":{"type":"string","description":"optional sensitive *string* \u0026rarr;  The user password, if you specify a user.\n","secret":true},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Shared File System client. A Shared File System client is needed to create a security service. If 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 creates a new security service.\n"},"server":{"type":"string","description":"optional *string* \u0026rarr;  The security service host name or IP address.\n"},"sharedfilesystemSecurityserviceId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FSharedfilesystemSecurityserviceTimeouts:SharedfilesystemSecurityserviceTimeouts"},"type":{"type":"string","description":"**required** *string* \u0026rarr;  The security service type - can either be active\\_directory, kerberos or ldap.  Changing this updates the existing security service.\n"},"user":{"type":"string","description":"optional *string* \u0026rarr;  The security service user or group name that is used by the tenant.\n"}},"requiredInputs":["type"],"stateInputs":{"description":"Input properties used for looking up and filtering SharedfilesystemSecurityservice resources.\n","properties":{"description":{"type":"string","description":"optional *string* \u0026rarr;  The human-readable description for the security service. Changing this updates the description of the existing security service.\n"},"dnsIp":{"type":"string","description":"optional *string* \u0026rarr;  The security service DNS IP address that is used inside the tenant network.\n"},"domain":{"type":"string","description":"optional *string* \u0026rarr;  The security service domain.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  The name of the security service. Changing this updates the name of the existing security service.\n"},"password":{"type":"string","description":"optional sensitive *string* \u0026rarr;  The user password, if you specify a user.\n","secret":true},"projectId":{"type":"string","description":"*string* \u0026rarr;  The owner of the Security Service.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Shared File System client. A Shared File System client is needed to create a security service. If 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 creates a new security service.\n"},"server":{"type":"string","description":"optional *string* \u0026rarr;  The security service host name or IP address.\n"},"sharedfilesystemSecurityserviceId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FSharedfilesystemSecurityserviceTimeouts:SharedfilesystemSecurityserviceTimeouts"},"type":{"type":"string","description":"**required** *string* \u0026rarr;  The security service type - can either be active\\_directory, kerberos or ldap.  Changing this updates the existing security service.\n"},"user":{"type":"string","description":"optional *string* \u0026rarr;  The security service user or group name that is used by the tenant.\n"}},"type":"object"}},"vkcs:index/sharedfilesystemShare:SharedfilesystemShare":{"description":"Use this resource to configure a share.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst data = new vkcs.SharedfilesystemShare(\"data\", {\n    name: \"share-data-tf-example\",\n    description: \"example of creating tf share\",\n    shareProto: \"NFS\",\n    shareType: \"default_share_type\",\n    size: 1,\n    shareNetworkId: dataVkcsSharedfilesystemSharenetwork.id,\n}, {\n    dependsOn: [app],\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\ndata = vkcs.SharedfilesystemShare(\"data\",\n    name=\"share-data-tf-example\",\n    description=\"example of creating tf share\",\n    share_proto=\"NFS\",\n    share_type=\"default_share_type\",\n    size=1,\n    share_network_id=data_vkcs_sharedfilesystem_sharenetwork[\"id\"],\n    opts = pulumi.ResourceOptions(depends_on=[app]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var data = new Vkcs.SharedfilesystemShare(\"data\", new()\n    {\n        Name = \"share-data-tf-example\",\n        Description = \"example of creating tf share\",\n        ShareProto = \"NFS\",\n        ShareType = \"default_share_type\",\n        Size = 1,\n        ShareNetworkId = dataVkcsSharedfilesystemSharenetwork.Id,\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            app,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewSharedfilesystemShare(ctx, \"data\", \u0026vkcs.SharedfilesystemShareArgs{\n\t\t\tName:           pulumi.String(\"share-data-tf-example\"),\n\t\t\tDescription:    pulumi.String(\"example of creating tf share\"),\n\t\t\tShareProto:     pulumi.String(\"NFS\"),\n\t\t\tShareType:      pulumi.String(\"default_share_type\"),\n\t\t\tSize:           pulumi.Float64(1),\n\t\t\tShareNetworkId: pulumi.Any(dataVkcsSharedfilesystemSharenetwork.Id),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tapp,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.vkcs.SharedfilesystemShare;\nimport com.pulumi.vkcs.SharedfilesystemShareArgs;\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 data = new SharedfilesystemShare(\"data\", SharedfilesystemShareArgs.builder()\n            .name(\"share-data-tf-example\")\n            .description(\"example of creating tf share\")\n            .shareProto(\"NFS\")\n            .shareType(\"default_share_type\")\n            .size(1.0)\n            .shareNetworkId(dataVkcsSharedfilesystemSharenetwork.id())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(app)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  data:\n    type: vkcs:SharedfilesystemShare\n    properties:\n      name: share-data-tf-example\n      description: example of creating tf share\n      shareProto: NFS\n      shareType: default_share_type\n      size: 1\n      shareNetworkId: ${dataVkcsSharedfilesystemSharenetwork.id}\n    options:\n      dependsOn:\n        - ${app}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThis resource can be imported by specifying the ID of the share:\n\n```sh\n$ pulumi import vkcs:index/sharedfilesystemShare:SharedfilesystemShare share_1 829b7299-eae0-4860-88d4-13d03f0e9e2c\n```\n\n","properties":{"allMetadata":{"type":"object","additionalProperties":{"type":"string"},"description":"*map of* *string* \u0026rarr;  The map of metadata, assigned on the share, which has been explicitly and implicitly added.\n"},"availabilityZone":{"type":"string","description":"optional *string* \u0026rarr;  The share availability zone. Changing this creates a new share.\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  The human-readable description for the share. Changing this updates the description of the existing share.\n"},"exportLocationPath":{"type":"string","description":"*string* \u0026rarr;  The export location path of the share.\u003cbr\u003e**New since v0.1.15**.\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  The name of the share. Changing this updates the name of the existing share.\n"},"projectId":{"type":"string","description":"*string* \u0026rarr;  The owner of the Share.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Shared File System client. A Shared File System client is needed to create a share. Changing this creates a new share.\n"},"shareNetworkId":{"type":"string","description":"**required** *string* \u0026rarr;  The UUID of the share network.\n"},"shareProto":{"type":"string","description":"**required** *string* \u0026rarr;  The share protocol - can either be NFS, CIFS, CEPHFS, GLUSTERFS, HDFS or MAPRFS. Changing this creates a new share.\n"},"shareServerId":{"type":"string","description":"*string* \u0026rarr;  The UUID of the share server.\n"},"shareType":{"type":"string","description":"optional *string* \u0026rarr;  The share type name. If you omit this parameter, the default share type is used.\n"},"sharedfilesystemShareId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"size":{"type":"number","description":"**required** *number* \u0026rarr;  The share size, in GBs. The requested share size cannot be greater than the allowed GB quota. Changing this resizes the existing share.\n"},"snapshotId":{"type":"string","description":"optional *string* \u0026rarr;  The UUID of the share's base snapshot. Changing this creates a new share.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FSharedfilesystemShareTimeouts:SharedfilesystemShareTimeouts"}},"type":"object","required":["allMetadata","availabilityZone","exportLocationPath","name","projectId","region","shareNetworkId","shareProto","shareServerId","shareType","sharedfilesystemShareId","size"],"inputProperties":{"availabilityZone":{"type":"string","description":"optional *string* \u0026rarr;  The share availability zone. Changing this creates a new share.\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  The human-readable description for the share. Changing this updates the description of the existing share.\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  The name of the share. Changing this updates the name of the existing share.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Shared File System client. A Shared File System client is needed to create a share. Changing this creates a new share.\n"},"shareNetworkId":{"type":"string","description":"**required** *string* \u0026rarr;  The UUID of the share network.\n"},"shareProto":{"type":"string","description":"**required** *string* \u0026rarr;  The share protocol - can either be NFS, CIFS, CEPHFS, GLUSTERFS, HDFS or MAPRFS. Changing this creates a new share.\n"},"shareType":{"type":"string","description":"optional *string* \u0026rarr;  The share type name. If you omit this parameter, the default share type is used.\n"},"sharedfilesystemShareId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"size":{"type":"number","description":"**required** *number* \u0026rarr;  The share size, in GBs. The requested share size cannot be greater than the allowed GB quota. Changing this resizes the existing share.\n"},"snapshotId":{"type":"string","description":"optional *string* \u0026rarr;  The UUID of the share's base snapshot. Changing this creates a new share.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FSharedfilesystemShareTimeouts:SharedfilesystemShareTimeouts"}},"requiredInputs":["shareNetworkId","shareProto","size"],"stateInputs":{"description":"Input properties used for looking up and filtering SharedfilesystemShare resources.\n","properties":{"allMetadata":{"type":"object","additionalProperties":{"type":"string"},"description":"*map of* *string* \u0026rarr;  The map of metadata, assigned on the share, which has been explicitly and implicitly added.\n"},"availabilityZone":{"type":"string","description":"optional *string* \u0026rarr;  The share availability zone. Changing this creates a new share.\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  The human-readable description for the share. Changing this updates the description of the existing share.\n"},"exportLocationPath":{"type":"string","description":"*string* \u0026rarr;  The export location path of the share.\u003cbr\u003e**New since v0.1.15**.\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  The name of the share. Changing this updates the name of the existing share.\n"},"projectId":{"type":"string","description":"*string* \u0026rarr;  The owner of the Share.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Shared File System client. A Shared File System client is needed to create a share. Changing this creates a new share.\n"},"shareNetworkId":{"type":"string","description":"**required** *string* \u0026rarr;  The UUID of the share network.\n"},"shareProto":{"type":"string","description":"**required** *string* \u0026rarr;  The share protocol - can either be NFS, CIFS, CEPHFS, GLUSTERFS, HDFS or MAPRFS. Changing this creates a new share.\n"},"shareServerId":{"type":"string","description":"*string* \u0026rarr;  The UUID of the share server.\n"},"shareType":{"type":"string","description":"optional *string* \u0026rarr;  The share type name. If you omit this parameter, the default share type is used.\n"},"sharedfilesystemShareId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"size":{"type":"number","description":"**required** *number* \u0026rarr;  The share size, in GBs. The requested share size cannot be greater than the allowed GB quota. Changing this resizes the existing share.\n"},"snapshotId":{"type":"string","description":"optional *string* \u0026rarr;  The UUID of the share's base snapshot. Changing this creates a new share.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FSharedfilesystemShareTimeouts:SharedfilesystemShareTimeouts"}},"type":"object"}},"vkcs:index/sharedfilesystemShareAccess:SharedfilesystemShareAccess":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst opencloud = new vkcs.SharedfilesystemShareAccess(\"opencloud\", {\n    shareId: data.id,\n    accessType: \"ip\",\n    accessTo: \"192.168.199.11\",\n    accessLevel: \"rw\",\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\nopencloud = vkcs.SharedfilesystemShareAccess(\"opencloud\",\n    share_id=data[\"id\"],\n    access_type=\"ip\",\n    access_to=\"192.168.199.11\",\n    access_level=\"rw\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var opencloud = new Vkcs.SharedfilesystemShareAccess(\"opencloud\", new()\n    {\n        ShareId = data.Id,\n        AccessType = \"ip\",\n        AccessTo = \"192.168.199.11\",\n        AccessLevel = \"rw\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewSharedfilesystemShareAccess(ctx, \"opencloud\", \u0026vkcs.SharedfilesystemShareAccessArgs{\n\t\t\tShareId:     pulumi.Any(data.Id),\n\t\t\tAccessType:  pulumi.String(\"ip\"),\n\t\t\tAccessTo:    pulumi.String(\"192.168.199.11\"),\n\t\t\tAccessLevel: pulumi.String(\"rw\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.vkcs.SharedfilesystemShareAccess;\nimport com.pulumi.vkcs.SharedfilesystemShareAccessArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 opencloud = new SharedfilesystemShareAccess(\"opencloud\", SharedfilesystemShareAccessArgs.builder()\n            .shareId(data.id())\n            .accessType(\"ip\")\n            .accessTo(\"192.168.199.11\")\n            .accessLevel(\"rw\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  opencloud:\n    type: vkcs:SharedfilesystemShareAccess\n    properties:\n      shareId: ${data.id}\n      accessType: ip\n      accessTo: 192.168.199.11\n      accessLevel: rw\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThis resource can be imported by specifying the ID of the share and the ID of the share access, separated by a slash, e.g.:\n\n```sh\n$ pulumi import vkcs:index/sharedfilesystemShareAccess:SharedfilesystemShareAccess share_access_1 1c68f8cb-20b5-4f91-b761-6c612b4aae53/c8207c63-6a6d-4a7b-872f-047049582172\n```\n\n","properties":{"accessLevel":{"type":"string","description":"**required** *string* \u0026rarr;  The access level to the share. Can either be \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 or \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.\n"},"accessTo":{"type":"string","description":"**required** *string* \u0026rarr;  The value that defines the access. Can either be an IP address or a username verified by configured Security Service of the Share Network.\n"},"accessType":{"type":"string","description":"**required** *string* \u0026rarr;  The access rule type. Can either be an ip, user, cert, or cephx.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Shared File System client. A Shared File System client is needed to create a share access. Changing this creates a new share access.\n"},"shareId":{"type":"string","description":"**required** *string* \u0026rarr;  The UUID of the share to which you are granted access.\n"},"sharedfilesystemShareAccessId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FSharedfilesystemShareAccessTimeouts:SharedfilesystemShareAccessTimeouts"}},"type":"object","required":["accessLevel","accessTo","accessType","region","shareId","sharedfilesystemShareAccessId"],"inputProperties":{"accessLevel":{"type":"string","description":"**required** *string* \u0026rarr;  The access level to the share. Can either be \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 or \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.\n"},"accessTo":{"type":"string","description":"**required** *string* \u0026rarr;  The value that defines the access. Can either be an IP address or a username verified by configured Security Service of the Share Network.\n"},"accessType":{"type":"string","description":"**required** *string* \u0026rarr;  The access rule type. Can either be an ip, user, cert, or cephx.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Shared File System client. A Shared File System client is needed to create a share access. Changing this creates a new share access.\n"},"shareId":{"type":"string","description":"**required** *string* \u0026rarr;  The UUID of the share to which you are granted access.\n"},"sharedfilesystemShareAccessId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FSharedfilesystemShareAccessTimeouts:SharedfilesystemShareAccessTimeouts"}},"requiredInputs":["accessLevel","accessTo","accessType","shareId"],"stateInputs":{"description":"Input properties used for looking up and filtering SharedfilesystemShareAccess resources.\n","properties":{"accessLevel":{"type":"string","description":"**required** *string* \u0026rarr;  The access level to the share. Can either be \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 or \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.\n"},"accessTo":{"type":"string","description":"**required** *string* \u0026rarr;  The value that defines the access. Can either be an IP address or a username verified by configured Security Service of the Share Network.\n"},"accessType":{"type":"string","description":"**required** *string* \u0026rarr;  The access rule type. Can either be an ip, user, cert, or cephx.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Shared File System client. A Shared File System client is needed to create a share access. Changing this creates a new share access.\n"},"shareId":{"type":"string","description":"**required** *string* \u0026rarr;  The UUID of the share to which you are granted access.\n"},"sharedfilesystemShareAccessId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FSharedfilesystemShareAccessTimeouts:SharedfilesystemShareAccessTimeouts"}},"type":"object"}},"vkcs:index/sharedfilesystemSharenetwork:SharedfilesystemSharenetwork":{"description":"Use this resource to configure a share network.\n\nA share network stores network information that share servers can use when shares are created.\n\n## Example Usage\n\n### Basic share network\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst data = new vkcs.SharedfilesystemSharenetwork(\"data\", {\n    name: \"sharenetwork-tf-example\",\n    description: \"sharing network for tf example\",\n    neutronNetId: app.id,\n    neutronSubnetId: appVkcsNetworkingSubnet.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\ndata = vkcs.SharedfilesystemSharenetwork(\"data\",\n    name=\"sharenetwork-tf-example\",\n    description=\"sharing network for tf example\",\n    neutron_net_id=app[\"id\"],\n    neutron_subnet_id=app_vkcs_networking_subnet[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var data = new Vkcs.SharedfilesystemSharenetwork(\"data\", new()\n    {\n        Name = \"sharenetwork-tf-example\",\n        Description = \"sharing network for tf example\",\n        NeutronNetId = app.Id,\n        NeutronSubnetId = appVkcsNetworkingSubnet.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewSharedfilesystemSharenetwork(ctx, \"data\", \u0026vkcs.SharedfilesystemSharenetworkArgs{\n\t\t\tName:            pulumi.String(\"sharenetwork-tf-example\"),\n\t\t\tDescription:     pulumi.String(\"sharing network for tf example\"),\n\t\t\tNeutronNetId:    pulumi.Any(app.Id),\n\t\t\tNeutronSubnetId: pulumi.Any(appVkcsNetworkingSubnet.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.vkcs.SharedfilesystemSharenetwork;\nimport com.pulumi.vkcs.SharedfilesystemSharenetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 data = new SharedfilesystemSharenetwork(\"data\", SharedfilesystemSharenetworkArgs.builder()\n            .name(\"sharenetwork-tf-example\")\n            .description(\"sharing network for tf example\")\n            .neutronNetId(app.id())\n            .neutronSubnetId(appVkcsNetworkingSubnet.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  data:\n    type: vkcs:SharedfilesystemSharenetwork\n    properties:\n      name: sharenetwork-tf-example\n      description: sharing network for tf example\n      neutronNetId: ${app.id}\n      neutronSubnetId: ${appVkcsNetworkingSubnet.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Share network with associated security services\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nresources:\n  network1:\n    type: vkcs:NetworkingNetwork\n    name: network_1\n    properties:\n      name: network_1\n      adminStateUp: 'true'\n  subnet1:\n    type: vkcs:NetworkingSubnet\n    name: subnet_1\n    properties:\n      name: subnet_1\n      cidr: 192.168.199.0/24\n      ipVersion: 4\n      networkId: ${network1.networkingNetworkId}\n  securityservice1:\n    type: vkcs:SharedfilesystemSecurityservice\n    name: securityservice_1\n    properties:\n      name: security\n      description: created by terraform\n      type: active_directory\n      server: 192.168.199.10\n      dnsIp: 192.168.199.10\n      domain: example.com\n      user: joinDomainUser\n      password: s8cret\n  sharenetwork1:\n    type: vkcs:SharedfilesystemSharenetwork\n    name: sharenetwork_1\n    properties:\n      name: test_sharenetwork\n      description: test share network with security services\n      neutronNetId: ${network1.networkingNetworkId}\n      neutronSubnetId: ${subnet1.networkingSubnetId}\n      securityServiceIds:\n        - ${securityservice1.sharedfilesystemSecurityserviceId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThis resource can be imported by specifying the ID of the share:\n\n```sh\n$ pulumi import vkcs:index/sharedfilesystemSharenetwork:SharedfilesystemSharenetwork sharenetwork_1 e4018a0b-e869-437d-870c-e51f50e051db\n```\n\n","properties":{"cidr":{"type":"string","description":"*string* \u0026rarr;  The share network CIDR.\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  The human-readable description for the share network. Changing this updates the description of the existing share network.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  The name for the share network. Changing this updates the name of the existing share network.\n"},"neutronNetId":{"type":"string","description":"**required** *string* \u0026rarr;  The UUID of a neutron network when setting up or updating a share network. Changing this updates the existing share network if it's not used by shares.\n"},"neutronSubnetId":{"type":"string","description":"**required** *string* \u0026rarr;  The UUID of the neutron subnet when setting up or updating a share network. Changing this updates the existing share network if it's not used by shares.\n"},"projectId":{"type":"string","description":"*string* \u0026rarr;  The owner of the Share Network.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Shared File System client. A Shared File System client is needed to create a share network. If 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 creates a new share network.\n"},"securityServiceIds":{"type":"array","items":{"type":"string"},"description":"optional *set of* *string* \u0026rarr;  The list of security service IDs to associate with the share network. The security service must be specified by ID and not name.\n"},"sharedfilesystemSharenetworkId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FSharedfilesystemSharenetworkTimeouts:SharedfilesystemSharenetworkTimeouts"}},"type":"object","required":["cidr","name","neutronNetId","neutronSubnetId","projectId","region","sharedfilesystemSharenetworkId"],"inputProperties":{"description":{"type":"string","description":"optional *string* \u0026rarr;  The human-readable description for the share network. Changing this updates the description of the existing share network.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  The name for the share network. Changing this updates the name of the existing share network.\n"},"neutronNetId":{"type":"string","description":"**required** *string* \u0026rarr;  The UUID of a neutron network when setting up or updating a share network. Changing this updates the existing share network if it's not used by shares.\n"},"neutronSubnetId":{"type":"string","description":"**required** *string* \u0026rarr;  The UUID of the neutron subnet when setting up or updating a share network. Changing this updates the existing share network if it's not used by shares.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Shared File System client. A Shared File System client is needed to create a share network. If 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 creates a new share network.\n"},"securityServiceIds":{"type":"array","items":{"type":"string"},"description":"optional *set of* *string* \u0026rarr;  The list of security service IDs to associate with the share network. The security service must be specified by ID and not name.\n"},"sharedfilesystemSharenetworkId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FSharedfilesystemSharenetworkTimeouts:SharedfilesystemSharenetworkTimeouts"}},"requiredInputs":["neutronNetId","neutronSubnetId"],"stateInputs":{"description":"Input properties used for looking up and filtering SharedfilesystemSharenetwork resources.\n","properties":{"cidr":{"type":"string","description":"*string* \u0026rarr;  The share network CIDR.\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  The human-readable description for the share network. Changing this updates the description of the existing share network.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  The name for the share network. Changing this updates the name of the existing share network.\n"},"neutronNetId":{"type":"string","description":"**required** *string* \u0026rarr;  The UUID of a neutron network when setting up or updating a share network. Changing this updates the existing share network if it's not used by shares.\n"},"neutronSubnetId":{"type":"string","description":"**required** *string* \u0026rarr;  The UUID of the neutron subnet when setting up or updating a share network. Changing this updates the existing share network if it's not used by shares.\n"},"projectId":{"type":"string","description":"*string* \u0026rarr;  The owner of the Share Network.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Shared File System client. A Shared File System client is needed to create a share network. If 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 creates a new share network.\n"},"securityServiceIds":{"type":"array","items":{"type":"string"},"description":"optional *set of* *string* \u0026rarr;  The list of security service IDs to associate with the share network. The security service must be specified by ID and not name.\n"},"sharedfilesystemSharenetworkId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FSharedfilesystemSharenetworkTimeouts:SharedfilesystemSharenetworkTimeouts"}},"type":"object"}},"vkcs:index/vpnaasEndpointGroup:VpnaasEndpointGroup":{"description":"Manages an Endpoint Group resource within VKCS.\n\n## Example Usage\n\n### Use Remote endpoint group\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst allowedHosts = new vkcs.VpnaasEndpointGroup(\"allowed_hosts\", {\n    name: \"allowed-hosts-tf-example\",\n    type: \"cidr\",\n    endpoints: [\n        \"10.2.0.0/24\",\n        \"10.3.0.0/24\",\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\nallowed_hosts = vkcs.VpnaasEndpointGroup(\"allowed_hosts\",\n    name=\"allowed-hosts-tf-example\",\n    type=\"cidr\",\n    endpoints=[\n        \"10.2.0.0/24\",\n        \"10.3.0.0/24\",\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var allowedHosts = new Vkcs.VpnaasEndpointGroup(\"allowed_hosts\", new()\n    {\n        Name = \"allowed-hosts-tf-example\",\n        Type = \"cidr\",\n        Endpoints = new[]\n        {\n            \"10.2.0.0/24\",\n            \"10.3.0.0/24\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewVpnaasEndpointGroup(ctx, \"allowed_hosts\", \u0026vkcs.VpnaasEndpointGroupArgs{\n\t\t\tName: pulumi.String(\"allowed-hosts-tf-example\"),\n\t\t\tType: pulumi.String(\"cidr\"),\n\t\t\tEndpoints: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.2.0.0/24\"),\n\t\t\t\tpulumi.String(\"10.3.0.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.vkcs.VpnaasEndpointGroup;\nimport com.pulumi.vkcs.VpnaasEndpointGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 allowedHosts = new VpnaasEndpointGroup(\"allowedHosts\", VpnaasEndpointGroupArgs.builder()\n            .name(\"allowed-hosts-tf-example\")\n            .type(\"cidr\")\n            .endpoints(            \n                \"10.2.0.0/24\",\n                \"10.3.0.0/24\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  allowedHosts:\n    type: vkcs:VpnaasEndpointGroup\n    name: allowed_hosts\n    properties:\n      name: allowed-hosts-tf-example\n      type: cidr\n      endpoints:\n        - 10.2.0.0/24\n        - 10.3.0.0/24\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Use Local (private) endpoint group\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst subnetHosts = new vkcs.VpnaasEndpointGroup(\"subnet_hosts\", {\n    type: \"subnet\",\n    endpoints: [app.id],\n    sdn: \"neutron\",\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\nsubnet_hosts = vkcs.VpnaasEndpointGroup(\"subnet_hosts\",\n    type=\"subnet\",\n    endpoints=[app[\"id\"]],\n    sdn=\"neutron\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var subnetHosts = new Vkcs.VpnaasEndpointGroup(\"subnet_hosts\", new()\n    {\n        Type = \"subnet\",\n        Endpoints = new[]\n        {\n            app.Id,\n        },\n        Sdn = \"neutron\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewVpnaasEndpointGroup(ctx, \"subnet_hosts\", \u0026vkcs.VpnaasEndpointGroupArgs{\n\t\t\tType: pulumi.String(\"subnet\"),\n\t\t\tEndpoints: pulumi.StringArray{\n\t\t\t\tapp.Id,\n\t\t\t},\n\t\t\tSdn: pulumi.String(\"neutron\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.vkcs.VpnaasEndpointGroup;\nimport com.pulumi.vkcs.VpnaasEndpointGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 subnetHosts = new VpnaasEndpointGroup(\"subnetHosts\", VpnaasEndpointGroupArgs.builder()\n            .type(\"subnet\")\n            .endpoints(app.id())\n            .sdn(\"neutron\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  subnetHosts:\n    type: vkcs:VpnaasEndpointGroup\n    name: subnet_hosts\n    properties:\n      type: subnet\n      endpoints:\n        - ${app.id}\n      sdn: neutron\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 vkcs:index/vpnaasEndpointGroup:VpnaasEndpointGroup group_1 832cb7f3-59fe-40cf-8f64-8350ffc03272\n```\n\n","properties":{"description":{"type":"string","description":"optional *string* \u0026rarr;  The human-readable description for the group. Changing this updates the description of the existing group.\n"},"endpoints":{"type":"array","items":{"type":"string"},"description":"optional *set of* *string* \u0026rarr;  List of endpoints of the same type, for the endpoint group. The values will depend on the type. Changing this creates a new group.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  The name of the group. Changing this updates the name of the existing group.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Networking client. A Networking client is needed to create an endpoint group. If 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 creates a new group.\n"},"sdn":{"type":"string","description":"optional *string* \u0026rarr;  SDN to use for this resource. Must be one of following: \"neutron\", \"sprut\". Default value is project's default SDN.\u003cbr\u003e**New since v0.5.3**.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FVpnaasEndpointGroupTimeouts:VpnaasEndpointGroupTimeouts"},"type":{"type":"string","description":"optional *string* \u0026rarr;  The type of the endpoints in the group. A valid value is \u003cspan pulumi-lang-nodejs=\"`subnet`\" pulumi-lang-dotnet=\"`Subnet`\" pulumi-lang-go=\"`subnet`\" pulumi-lang-python=\"`subnet`\" pulumi-lang-yaml=\"`subnet`\" pulumi-lang-java=\"`subnet`\"\u003e`subnet`\u003c/span\u003e and \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. For sprut SDN only \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 used, for neutron SDN - \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 for remote group, \u003cspan pulumi-lang-nodejs=\"`subnet`\" pulumi-lang-dotnet=\"`Subnet`\" pulumi-lang-go=\"`subnet`\" pulumi-lang-python=\"`subnet`\" pulumi-lang-yaml=\"`subnet`\" pulumi-lang-java=\"`subnet`\"\u003e`subnet`\u003c/span\u003e for local. Changing this creates a new group.\n"},"vpnaasEndpointGroupId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"}},"type":"object","required":["name","region","sdn","type","vpnaasEndpointGroupId"],"inputProperties":{"description":{"type":"string","description":"optional *string* \u0026rarr;  The human-readable description for the group. Changing this updates the description of the existing group.\n"},"endpoints":{"type":"array","items":{"type":"string"},"description":"optional *set of* *string* \u0026rarr;  List of endpoints of the same type, for the endpoint group. The values will depend on the type. Changing this creates a new group.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  The name of the group. Changing this updates the name of the existing group.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Networking client. A Networking client is needed to create an endpoint group. If 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 creates a new group.\n"},"sdn":{"type":"string","description":"optional *string* \u0026rarr;  SDN to use for this resource. Must be one of following: \"neutron\", \"sprut\". Default value is project's default SDN.\u003cbr\u003e**New since v0.5.3**.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FVpnaasEndpointGroupTimeouts:VpnaasEndpointGroupTimeouts"},"type":{"type":"string","description":"optional *string* \u0026rarr;  The type of the endpoints in the group. A valid value is \u003cspan pulumi-lang-nodejs=\"`subnet`\" pulumi-lang-dotnet=\"`Subnet`\" pulumi-lang-go=\"`subnet`\" pulumi-lang-python=\"`subnet`\" pulumi-lang-yaml=\"`subnet`\" pulumi-lang-java=\"`subnet`\"\u003e`subnet`\u003c/span\u003e and \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. For sprut SDN only \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 used, for neutron SDN - \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 for remote group, \u003cspan pulumi-lang-nodejs=\"`subnet`\" pulumi-lang-dotnet=\"`Subnet`\" pulumi-lang-go=\"`subnet`\" pulumi-lang-python=\"`subnet`\" pulumi-lang-yaml=\"`subnet`\" pulumi-lang-java=\"`subnet`\"\u003e`subnet`\u003c/span\u003e for local. Changing this creates a new group.\n"},"vpnaasEndpointGroupId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering VpnaasEndpointGroup resources.\n","properties":{"description":{"type":"string","description":"optional *string* \u0026rarr;  The human-readable description for the group. Changing this updates the description of the existing group.\n"},"endpoints":{"type":"array","items":{"type":"string"},"description":"optional *set of* *string* \u0026rarr;  List of endpoints of the same type, for the endpoint group. The values will depend on the type. Changing this creates a new group.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  The name of the group. Changing this updates the name of the existing group.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Networking client. A Networking client is needed to create an endpoint group. If 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 creates a new group.\n"},"sdn":{"type":"string","description":"optional *string* \u0026rarr;  SDN to use for this resource. Must be one of following: \"neutron\", \"sprut\". Default value is project's default SDN.\u003cbr\u003e**New since v0.5.3**.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FVpnaasEndpointGroupTimeouts:VpnaasEndpointGroupTimeouts"},"type":{"type":"string","description":"optional *string* \u0026rarr;  The type of the endpoints in the group. A valid value is \u003cspan pulumi-lang-nodejs=\"`subnet`\" pulumi-lang-dotnet=\"`Subnet`\" pulumi-lang-go=\"`subnet`\" pulumi-lang-python=\"`subnet`\" pulumi-lang-yaml=\"`subnet`\" pulumi-lang-java=\"`subnet`\"\u003e`subnet`\u003c/span\u003e and \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. For sprut SDN only \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 used, for neutron SDN - \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 for remote group, \u003cspan pulumi-lang-nodejs=\"`subnet`\" pulumi-lang-dotnet=\"`Subnet`\" pulumi-lang-go=\"`subnet`\" pulumi-lang-python=\"`subnet`\" pulumi-lang-yaml=\"`subnet`\" pulumi-lang-java=\"`subnet`\"\u003e`subnet`\u003c/span\u003e for local. Changing this creates a new group.\n"},"vpnaasEndpointGroupId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"}},"type":"object"}},"vkcs:index/vpnaasIkePolicy:VpnaasIkePolicy":{"description":"Manages a IKE policy resource within VKCS.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst dataCenter = new vkcs.VpnaasIkePolicy(\"data_center\", {\n    name: \"key-policy-tf-example\",\n    description: \"Policy that restricts remote working users to connect to our data ceneter over VPN\",\n    authAlgorithm: \"sha256\",\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\ndata_center = vkcs.VpnaasIkePolicy(\"data_center\",\n    name=\"key-policy-tf-example\",\n    description=\"Policy that restricts remote working users to connect to our data ceneter over VPN\",\n    auth_algorithm=\"sha256\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var dataCenter = new Vkcs.VpnaasIkePolicy(\"data_center\", new()\n    {\n        Name = \"key-policy-tf-example\",\n        Description = \"Policy that restricts remote working users to connect to our data ceneter over VPN\",\n        AuthAlgorithm = \"sha256\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewVpnaasIkePolicy(ctx, \"data_center\", \u0026vkcs.VpnaasIkePolicyArgs{\n\t\t\tName:          pulumi.String(\"key-policy-tf-example\"),\n\t\t\tDescription:   pulumi.String(\"Policy that restricts remote working users to connect to our data ceneter over VPN\"),\n\t\t\tAuthAlgorithm: pulumi.String(\"sha256\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.vkcs.VpnaasIkePolicy;\nimport com.pulumi.vkcs.VpnaasIkePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 dataCenter = new VpnaasIkePolicy(\"dataCenter\", VpnaasIkePolicyArgs.builder()\n            .name(\"key-policy-tf-example\")\n            .description(\"Policy that restricts remote working users to connect to our data ceneter over VPN\")\n            .authAlgorithm(\"sha256\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  dataCenter:\n    type: vkcs:VpnaasIkePolicy\n    name: data_center\n    properties:\n      name: key-policy-tf-example\n      description: Policy that restricts remote working users to connect to our data ceneter over VPN\n      authAlgorithm: sha256\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 vkcs:index/vpnaasIkePolicy:VpnaasIkePolicy policy_1 832cb7f3-59fe-40cf-8f64-8350ffc03272\n```\n\n","properties":{"authAlgorithm":{"type":"string","description":"optional *string* \u0026rarr;  The authentication hash algorithm. Valid values are sha1, sha256, sha384, sha512. Default is sha1. Changing this updates the algorithm of the existing policy.\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  The human-readable description for the policy. Changing this updates the description of the existing policy.\n"},"encryptionAlgorithm":{"type":"string","description":"optional *string* \u0026rarr;  The encryption algorithm. Valid values are 3des, aes-128, aes-192 and so on. The default value is aes-128. Changing this updates the existing policy.\n"},"ikeVersion":{"type":"string","description":"optional *string* \u0026rarr;  The IKE mode. A valid value is v1 or v2. Default is v1. Changing this updates the existing policy.\n"},"lifetimes":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FVpnaasIkePolicyLifetime:VpnaasIkePolicyLifetime"},"description":"optional \u0026rarr;  The lifetime of the security association. Consists of Unit and Value.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  The name of the policy. Changing this updates the name of the existing policy.\n"},"pfs":{"type":"string","description":"optional *string* \u0026rarr;  The perfect forward secrecy mode. Valid values are Group2, Group5 and Group14. Default is Group5. Changing this updates the existing policy.\n"},"phase1NegotiationMode":{"type":"string","description":"optional *string* \u0026rarr;  The IKE mode. A valid value is main, which is the default. Changing this updates the existing policy.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Networking client. A Networking client is needed to create a VPN service. If 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 creates a new service.\n"},"sdn":{"type":"string","description":"optional *string* \u0026rarr;  SDN to use for this resource. Must be one of following: \"neutron\", \"sprut\". Default value is project's default SDN.\u003cbr\u003e**New since v0.5.3**.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FVpnaasIkePolicyTimeouts:VpnaasIkePolicyTimeouts"},"vpnaasIkePolicyId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"}},"type":"object","required":["name","region","sdn","vpnaasIkePolicyId"],"inputProperties":{"authAlgorithm":{"type":"string","description":"optional *string* \u0026rarr;  The authentication hash algorithm. Valid values are sha1, sha256, sha384, sha512. Default is sha1. Changing this updates the algorithm of the existing policy.\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  The human-readable description for the policy. Changing this updates the description of the existing policy.\n"},"encryptionAlgorithm":{"type":"string","description":"optional *string* \u0026rarr;  The encryption algorithm. Valid values are 3des, aes-128, aes-192 and so on. The default value is aes-128. Changing this updates the existing policy.\n"},"ikeVersion":{"type":"string","description":"optional *string* \u0026rarr;  The IKE mode. A valid value is v1 or v2. Default is v1. Changing this updates the existing policy.\n"},"lifetimes":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FVpnaasIkePolicyLifetime:VpnaasIkePolicyLifetime"},"description":"optional \u0026rarr;  The lifetime of the security association. Consists of Unit and Value.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  The name of the policy. Changing this updates the name of the existing policy.\n"},"pfs":{"type":"string","description":"optional *string* \u0026rarr;  The perfect forward secrecy mode. Valid values are Group2, Group5 and Group14. Default is Group5. Changing this updates the existing policy.\n"},"phase1NegotiationMode":{"type":"string","description":"optional *string* \u0026rarr;  The IKE mode. A valid value is main, which is the default. Changing this updates the existing policy.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Networking client. A Networking client is needed to create a VPN service. If 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 creates a new service.\n"},"sdn":{"type":"string","description":"optional *string* \u0026rarr;  SDN to use for this resource. Must be one of following: \"neutron\", \"sprut\". Default value is project's default SDN.\u003cbr\u003e**New since v0.5.3**.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FVpnaasIkePolicyTimeouts:VpnaasIkePolicyTimeouts"},"vpnaasIkePolicyId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering VpnaasIkePolicy resources.\n","properties":{"authAlgorithm":{"type":"string","description":"optional *string* \u0026rarr;  The authentication hash algorithm. Valid values are sha1, sha256, sha384, sha512. Default is sha1. Changing this updates the algorithm of the existing policy.\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  The human-readable description for the policy. Changing this updates the description of the existing policy.\n"},"encryptionAlgorithm":{"type":"string","description":"optional *string* \u0026rarr;  The encryption algorithm. Valid values are 3des, aes-128, aes-192 and so on. The default value is aes-128. Changing this updates the existing policy.\n"},"ikeVersion":{"type":"string","description":"optional *string* \u0026rarr;  The IKE mode. A valid value is v1 or v2. Default is v1. Changing this updates the existing policy.\n"},"lifetimes":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FVpnaasIkePolicyLifetime:VpnaasIkePolicyLifetime"},"description":"optional \u0026rarr;  The lifetime of the security association. Consists of Unit and Value.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  The name of the policy. Changing this updates the name of the existing policy.\n"},"pfs":{"type":"string","description":"optional *string* \u0026rarr;  The perfect forward secrecy mode. Valid values are Group2, Group5 and Group14. Default is Group5. Changing this updates the existing policy.\n"},"phase1NegotiationMode":{"type":"string","description":"optional *string* \u0026rarr;  The IKE mode. A valid value is main, which is the default. Changing this updates the existing policy.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Networking client. A Networking client is needed to create a VPN service. If 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 creates a new service.\n"},"sdn":{"type":"string","description":"optional *string* \u0026rarr;  SDN to use for this resource. Must be one of following: \"neutron\", \"sprut\". Default value is project's default SDN.\u003cbr\u003e**New since v0.5.3**.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FVpnaasIkePolicyTimeouts:VpnaasIkePolicyTimeouts"},"vpnaasIkePolicyId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"}},"type":"object"}},"vkcs:index/vpnaasIpsecPolicy:VpnaasIpsecPolicy":{"description":"Manages a IPSec policy resource within VKCS.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst dataCenter = new vkcs.VpnaasIpsecPolicy(\"data_center\", {\n    name: \"database-key-policy-tf-example\",\n    description: \"Policy that restricts remote working users to connect to our data ceneter over VPN\",\n    lifetimes: [{\n        units: \"seconds\",\n        value: 3600,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\ndata_center = vkcs.VpnaasIpsecPolicy(\"data_center\",\n    name=\"database-key-policy-tf-example\",\n    description=\"Policy that restricts remote working users to connect to our data ceneter over VPN\",\n    lifetimes=[{\n        \"units\": \"seconds\",\n        \"value\": 3600,\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var dataCenter = new Vkcs.VpnaasIpsecPolicy(\"data_center\", new()\n    {\n        Name = \"database-key-policy-tf-example\",\n        Description = \"Policy that restricts remote working users to connect to our data ceneter over VPN\",\n        Lifetimes = new[]\n        {\n            new Vkcs.Inputs.VpnaasIpsecPolicyLifetimeArgs\n            {\n                Units = \"seconds\",\n                Value = 3600,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewVpnaasIpsecPolicy(ctx, \"data_center\", \u0026vkcs.VpnaasIpsecPolicyArgs{\n\t\t\tName:        pulumi.String(\"database-key-policy-tf-example\"),\n\t\t\tDescription: pulumi.String(\"Policy that restricts remote working users to connect to our data ceneter over VPN\"),\n\t\t\tLifetimes: vkcs.VpnaasIpsecPolicyLifetimeArray{\n\t\t\t\t\u0026vkcs.VpnaasIpsecPolicyLifetimeArgs{\n\t\t\t\t\tUnits: pulumi.String(\"seconds\"),\n\t\t\t\t\tValue: 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.vkcs.VpnaasIpsecPolicy;\nimport com.pulumi.vkcs.VpnaasIpsecPolicyArgs;\nimport com.pulumi.vkcs.inputs.VpnaasIpsecPolicyLifetimeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 dataCenter = new VpnaasIpsecPolicy(\"dataCenter\", VpnaasIpsecPolicyArgs.builder()\n            .name(\"database-key-policy-tf-example\")\n            .description(\"Policy that restricts remote working users to connect to our data ceneter over VPN\")\n            .lifetimes(VpnaasIpsecPolicyLifetimeArgs.builder()\n                .units(\"seconds\")\n                .value(3600.0)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  dataCenter:\n    type: vkcs:VpnaasIpsecPolicy\n    name: data_center\n    properties:\n      name: database-key-policy-tf-example\n      description: Policy that restricts remote working users to connect to our data ceneter over VPN\n      lifetimes:\n        - units: seconds\n          value: 3600\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 vkcs:index/vpnaasIpsecPolicy:VpnaasIpsecPolicy policy_1 832cb7f3-59fe-40cf-8f64-8350ffc03272\n```\n\n","properties":{"authAlgorithm":{"type":"string","description":"optional *string* \u0026rarr;  The authentication hash algorithm. Valid values are sha1, sha256, sha384, sha512. Default is sha1. Changing this updates the algorithm of the existing policy.\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  The human-readable description for the policy. Changing this updates the description of the existing policy.\n"},"encapsulationMode":{"type":"string","description":"optional *string* \u0026rarr;  The encapsulation mode. Valid values are tunnel and transport. Default is tunnel. Changing this updates the existing policy.\n"},"encryptionAlgorithm":{"type":"string","description":"optional *string* \u0026rarr;  The encryption algorithm. Valid values are 3des, aes-128, aes-192 and so on. The default value is aes-128. Changing this updates the existing policy.\n"},"lifetimes":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FVpnaasIpsecPolicyLifetime:VpnaasIpsecPolicyLifetime"},"description":"optional \u0026rarr;  The lifetime of the security association. Consists of Unit and Value.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  The name of the policy. Changing this updates the name of the existing policy.\n"},"pfs":{"type":"string","description":"optional *string* \u0026rarr;  The perfect forward secrecy mode. Valid values are Group2, Group5 and Group14. Default is Group5. Changing this updates the existing policy.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Networking client. A Networking client is needed to create an IPSec policy. If 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 creates a new policy.\n"},"sdn":{"type":"string","description":"optional *string* \u0026rarr;  SDN to use for this resource. Must be one of following: \"neutron\", \"sprut\". Default value is project's default SDN.\u003cbr\u003e**New since v0.5.3**.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FVpnaasIpsecPolicyTimeouts:VpnaasIpsecPolicyTimeouts"},"transformProtocol":{"type":"string","description":"optional *string* \u0026rarr;  The transform protocol. Valid values are ESP, AH and AH-ESP. Changing this updates the existing policy. Default is ESP.\n"},"vpnaasIpsecPolicyId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"}},"type":"object","required":["authAlgorithm","encapsulationMode","encryptionAlgorithm","name","pfs","region","sdn","transformProtocol","vpnaasIpsecPolicyId"],"inputProperties":{"authAlgorithm":{"type":"string","description":"optional *string* \u0026rarr;  The authentication hash algorithm. Valid values are sha1, sha256, sha384, sha512. Default is sha1. Changing this updates the algorithm of the existing policy.\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  The human-readable description for the policy. Changing this updates the description of the existing policy.\n"},"encapsulationMode":{"type":"string","description":"optional *string* \u0026rarr;  The encapsulation mode. Valid values are tunnel and transport. Default is tunnel. Changing this updates the existing policy.\n"},"encryptionAlgorithm":{"type":"string","description":"optional *string* \u0026rarr;  The encryption algorithm. Valid values are 3des, aes-128, aes-192 and so on. The default value is aes-128. Changing this updates the existing policy.\n"},"lifetimes":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FVpnaasIpsecPolicyLifetime:VpnaasIpsecPolicyLifetime"},"description":"optional \u0026rarr;  The lifetime of the security association. Consists of Unit and Value.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  The name of the policy. Changing this updates the name of the existing policy.\n"},"pfs":{"type":"string","description":"optional *string* \u0026rarr;  The perfect forward secrecy mode. Valid values are Group2, Group5 and Group14. Default is Group5. Changing this updates the existing policy.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Networking client. A Networking client is needed to create an IPSec policy. If 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 creates a new policy.\n"},"sdn":{"type":"string","description":"optional *string* \u0026rarr;  SDN to use for this resource. Must be one of following: \"neutron\", \"sprut\". Default value is project's default SDN.\u003cbr\u003e**New since v0.5.3**.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FVpnaasIpsecPolicyTimeouts:VpnaasIpsecPolicyTimeouts"},"transformProtocol":{"type":"string","description":"optional *string* \u0026rarr;  The transform protocol. Valid values are ESP, AH and AH-ESP. Changing this updates the existing policy. Default is ESP.\n"},"vpnaasIpsecPolicyId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering VpnaasIpsecPolicy resources.\n","properties":{"authAlgorithm":{"type":"string","description":"optional *string* \u0026rarr;  The authentication hash algorithm. Valid values are sha1, sha256, sha384, sha512. Default is sha1. Changing this updates the algorithm of the existing policy.\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  The human-readable description for the policy. Changing this updates the description of the existing policy.\n"},"encapsulationMode":{"type":"string","description":"optional *string* \u0026rarr;  The encapsulation mode. Valid values are tunnel and transport. Default is tunnel. Changing this updates the existing policy.\n"},"encryptionAlgorithm":{"type":"string","description":"optional *string* \u0026rarr;  The encryption algorithm. Valid values are 3des, aes-128, aes-192 and so on. The default value is aes-128. Changing this updates the existing policy.\n"},"lifetimes":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FVpnaasIpsecPolicyLifetime:VpnaasIpsecPolicyLifetime"},"description":"optional \u0026rarr;  The lifetime of the security association. Consists of Unit and Value.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  The name of the policy. Changing this updates the name of the existing policy.\n"},"pfs":{"type":"string","description":"optional *string* \u0026rarr;  The perfect forward secrecy mode. Valid values are Group2, Group5 and Group14. Default is Group5. Changing this updates the existing policy.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Networking client. A Networking client is needed to create an IPSec policy. If 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 creates a new policy.\n"},"sdn":{"type":"string","description":"optional *string* \u0026rarr;  SDN to use for this resource. Must be one of following: \"neutron\", \"sprut\". Default value is project's default SDN.\u003cbr\u003e**New since v0.5.3**.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FVpnaasIpsecPolicyTimeouts:VpnaasIpsecPolicyTimeouts"},"transformProtocol":{"type":"string","description":"optional *string* \u0026rarr;  The transform protocol. Valid values are ESP, AH and AH-ESP. Changing this updates the existing policy. Default is ESP.\n"},"vpnaasIpsecPolicyId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"}},"type":"object"}},"vkcs:index/vpnaasService:VpnaasService":{"description":"Manages a VPN service resource within VKCS.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst vpnToDatacenter = new vkcs.VpnaasService(\"vpn_to_datacenter\", {\n    name: \"vpn-tf-example\",\n    routerId: router.id,\n}, {\n    dependsOn: [internetSprut],\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\nvpn_to_datacenter = vkcs.VpnaasService(\"vpn_to_datacenter\",\n    name=\"vpn-tf-example\",\n    router_id=router[\"id\"],\n    opts = pulumi.ResourceOptions(depends_on=[internet_sprut]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var vpnToDatacenter = new Vkcs.VpnaasService(\"vpn_to_datacenter\", new()\n    {\n        Name = \"vpn-tf-example\",\n        RouterId = router.Id,\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            internetSprut,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewVpnaasService(ctx, \"vpn_to_datacenter\", \u0026vkcs.VpnaasServiceArgs{\n\t\t\tName:     pulumi.String(\"vpn-tf-example\"),\n\t\t\tRouterId: pulumi.Any(router.Id),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tinternetSprut,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.vkcs.VpnaasService;\nimport com.pulumi.vkcs.VpnaasServiceArgs;\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 vpnToDatacenter = new VpnaasService(\"vpnToDatacenter\", VpnaasServiceArgs.builder()\n            .name(\"vpn-tf-example\")\n            .routerId(router.id())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(internetSprut)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  vpnToDatacenter:\n    type: vkcs:VpnaasService\n    name: vpn_to_datacenter\n    properties:\n      name: vpn-tf-example\n      routerId: ${router.id}\n    options:\n      dependsOn:\n        - ${internetSprut}\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 vkcs:index/vpnaasService:VpnaasService service_1 832cb7f3-59fe-40cf-8f64-8350ffc03272\n```\n\n","properties":{"adminStateUp":{"type":"boolean","description":"optional *boolean* \u0026rarr;  The administrative state of the resource. Can either be up(true) or down(false). Changing this updates the administrative state of the existing service.\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  The human-readable description for the service. Changing this updates the description of the existing service.\n"},"externalV4Ip":{"type":"string","description":"*string* \u0026rarr;  The read-only external (public) IPv4 address that is used for the VPN service.\n"},"externalV6Ip":{"type":"string","description":"*string* \u0026rarr;  The read-only external (public) IPv6 address that is used for the VPN service.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  The name of the service. Changing this updates the name of the existing service.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Networking client. A Networking client is needed to create a VPN service. If 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 creates a new service.\n"},"routerId":{"type":"string","description":"**required** *string* \u0026rarr;  The ID of the router. Use router id for Neutron SDN and\u003cspan pulumi-lang-nodejs=\" dcRouter \" pulumi-lang-dotnet=\" DcRouter \" pulumi-lang-go=\" dcRouter \" pulumi-lang-python=\" dc_router \" pulumi-lang-yaml=\" dcRouter \" pulumi-lang-java=\" dcRouter \"\u003e dc_router \u003c/span\u003eid for sprut SDN. To get a list of available SDNs in a project, you can use \u003cspan pulumi-lang-nodejs=\"`vkcs.getNetworkingSdn`\" pulumi-lang-dotnet=\"`vkcs.getNetworkingSdn`\" pulumi-lang-go=\"`getNetworkingSdn`\" pulumi-lang-python=\"`get_networking_sdn`\" pulumi-lang-yaml=\"`vkcs.getNetworkingSdn`\" pulumi-lang-java=\"`vkcs.getNetworkingSdn`\"\u003e`vkcs.getNetworkingSdn`\u003c/span\u003e datasource. Changing this creates a new service\n"},"sdn":{"type":"string","description":"optional *string* \u0026rarr;  SDN to use for this resource. Must be one of following: \"neutron\", \"sprut\". Default value is project's default SDN.\u003cbr\u003e**New since v0.5.3**.\n"},"status":{"type":"string","description":"*string* \u0026rarr;  Indicates whether IPsec VPN service is currently operational. Values are ACTIVE, DOWN, BUILD, ERROR, PENDING_CREATE, PENDING_UPDATE, or PENDING_DELETE.\n"},"subnetId":{"type":"string","description":"optional *string* \u0026rarr;  SubnetID is the ID of the subnet. Default is null.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FVpnaasServiceTimeouts:VpnaasServiceTimeouts"},"vpnaasServiceId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"}},"type":"object","required":["externalV4Ip","externalV6Ip","name","region","routerId","sdn","status","vpnaasServiceId"],"inputProperties":{"adminStateUp":{"type":"boolean","description":"optional *boolean* \u0026rarr;  The administrative state of the resource. Can either be up(true) or down(false). Changing this updates the administrative state of the existing service.\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  The human-readable description for the service. Changing this updates the description of the existing service.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  The name of the service. Changing this updates the name of the existing service.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Networking client. A Networking client is needed to create a VPN service. If 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 creates a new service.\n"},"routerId":{"type":"string","description":"**required** *string* \u0026rarr;  The ID of the router. Use router id for Neutron SDN and\u003cspan pulumi-lang-nodejs=\" dcRouter \" pulumi-lang-dotnet=\" DcRouter \" pulumi-lang-go=\" dcRouter \" pulumi-lang-python=\" dc_router \" pulumi-lang-yaml=\" dcRouter \" pulumi-lang-java=\" dcRouter \"\u003e dc_router \u003c/span\u003eid for sprut SDN. To get a list of available SDNs in a project, you can use \u003cspan pulumi-lang-nodejs=\"`vkcs.getNetworkingSdn`\" pulumi-lang-dotnet=\"`vkcs.getNetworkingSdn`\" pulumi-lang-go=\"`getNetworkingSdn`\" pulumi-lang-python=\"`get_networking_sdn`\" pulumi-lang-yaml=\"`vkcs.getNetworkingSdn`\" pulumi-lang-java=\"`vkcs.getNetworkingSdn`\"\u003e`vkcs.getNetworkingSdn`\u003c/span\u003e datasource. Changing this creates a new service\n"},"sdn":{"type":"string","description":"optional *string* \u0026rarr;  SDN to use for this resource. Must be one of following: \"neutron\", \"sprut\". Default value is project's default SDN.\u003cbr\u003e**New since v0.5.3**.\n"},"subnetId":{"type":"string","description":"optional *string* \u0026rarr;  SubnetID is the ID of the subnet. Default is null.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FVpnaasServiceTimeouts:VpnaasServiceTimeouts"},"vpnaasServiceId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"}},"requiredInputs":["routerId"],"stateInputs":{"description":"Input properties used for looking up and filtering VpnaasService resources.\n","properties":{"adminStateUp":{"type":"boolean","description":"optional *boolean* \u0026rarr;  The administrative state of the resource. Can either be up(true) or down(false). Changing this updates the administrative state of the existing service.\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  The human-readable description for the service. Changing this updates the description of the existing service.\n"},"externalV4Ip":{"type":"string","description":"*string* \u0026rarr;  The read-only external (public) IPv4 address that is used for the VPN service.\n"},"externalV6Ip":{"type":"string","description":"*string* \u0026rarr;  The read-only external (public) IPv6 address that is used for the VPN service.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  The name of the service. Changing this updates the name of the existing service.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Networking client. A Networking client is needed to create a VPN service. If 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 creates a new service.\n"},"routerId":{"type":"string","description":"**required** *string* \u0026rarr;  The ID of the router. Use router id for Neutron SDN and\u003cspan pulumi-lang-nodejs=\" dcRouter \" pulumi-lang-dotnet=\" DcRouter \" pulumi-lang-go=\" dcRouter \" pulumi-lang-python=\" dc_router \" pulumi-lang-yaml=\" dcRouter \" pulumi-lang-java=\" dcRouter \"\u003e dc_router \u003c/span\u003eid for sprut SDN. To get a list of available SDNs in a project, you can use \u003cspan pulumi-lang-nodejs=\"`vkcs.getNetworkingSdn`\" pulumi-lang-dotnet=\"`vkcs.getNetworkingSdn`\" pulumi-lang-go=\"`getNetworkingSdn`\" pulumi-lang-python=\"`get_networking_sdn`\" pulumi-lang-yaml=\"`vkcs.getNetworkingSdn`\" pulumi-lang-java=\"`vkcs.getNetworkingSdn`\"\u003e`vkcs.getNetworkingSdn`\u003c/span\u003e datasource. Changing this creates a new service\n"},"sdn":{"type":"string","description":"optional *string* \u0026rarr;  SDN to use for this resource. Must be one of following: \"neutron\", \"sprut\". Default value is project's default SDN.\u003cbr\u003e**New since v0.5.3**.\n"},"status":{"type":"string","description":"*string* \u0026rarr;  Indicates whether IPsec VPN service is currently operational. Values are ACTIVE, DOWN, BUILD, ERROR, PENDING_CREATE, PENDING_UPDATE, or PENDING_DELETE.\n"},"subnetId":{"type":"string","description":"optional *string* \u0026rarr;  SubnetID is the ID of the subnet. Default is null.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FVpnaasServiceTimeouts:VpnaasServiceTimeouts"},"vpnaasServiceId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"}},"type":"object"}},"vkcs:index/vpnaasSiteConnection:VpnaasSiteConnection":{"description":"Manages a IPSec site connection resource within VKCS.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst connection = new vkcs.VpnaasSiteConnection(\"connection\", {\n    name: \"connection\",\n    ikepolicyId: dataCenter.id,\n    ipsecpolicyId: dataCenterVkcsVpnaasIpsecPolicy.id,\n    vpnserviceId: vpnToDatacenter.id,\n    psk: \"secret\",\n    peerAddress: \"192.168.10.1\",\n    peerId: \"192.168.10.1\",\n    localEpGroupId: subnetHosts.id,\n    peerEpGroupId: allowedHosts.id,\n    dpds: [{\n        action: \"restart\",\n        timeout: 42,\n        interval: 21,\n    }],\n}, {\n    dependsOn: [internet],\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\nconnection = vkcs.VpnaasSiteConnection(\"connection\",\n    name=\"connection\",\n    ikepolicy_id=data_center[\"id\"],\n    ipsecpolicy_id=data_center_vkcs_vpnaas_ipsec_policy[\"id\"],\n    vpnservice_id=vpn_to_datacenter[\"id\"],\n    psk=\"secret\",\n    peer_address=\"192.168.10.1\",\n    peer_id=\"192.168.10.1\",\n    local_ep_group_id=subnet_hosts[\"id\"],\n    peer_ep_group_id=allowed_hosts[\"id\"],\n    dpds=[{\n        \"action\": \"restart\",\n        \"timeout\": 42,\n        \"interval\": 21,\n    }],\n    opts = pulumi.ResourceOptions(depends_on=[internet]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var connection = new Vkcs.VpnaasSiteConnection(\"connection\", new()\n    {\n        Name = \"connection\",\n        IkepolicyId = dataCenter.Id,\n        IpsecpolicyId = dataCenterVkcsVpnaasIpsecPolicy.Id,\n        VpnserviceId = vpnToDatacenter.Id,\n        Psk = \"secret\",\n        PeerAddress = \"192.168.10.1\",\n        PeerId = \"192.168.10.1\",\n        LocalEpGroupId = subnetHosts.Id,\n        PeerEpGroupId = allowedHosts.Id,\n        Dpds = new[]\n        {\n            new Vkcs.Inputs.VpnaasSiteConnectionDpdArgs\n            {\n                Action = \"restart\",\n                Timeout = 42,\n                Interval = 21,\n            },\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            internet,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.NewVpnaasSiteConnection(ctx, \"connection\", \u0026vkcs.VpnaasSiteConnectionArgs{\n\t\t\tName:           pulumi.String(\"connection\"),\n\t\t\tIkepolicyId:    pulumi.Any(dataCenter.Id),\n\t\t\tIpsecpolicyId:  pulumi.Any(dataCenterVkcsVpnaasIpsecPolicy.Id),\n\t\t\tVpnserviceId:   pulumi.Any(vpnToDatacenter.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(subnetHosts.Id),\n\t\t\tPeerEpGroupId:  pulumi.Any(allowedHosts.Id),\n\t\t\tDpds: vkcs.VpnaasSiteConnectionDpdArray{\n\t\t\t\t\u0026vkcs.VpnaasSiteConnectionDpdArgs{\n\t\t\t\t\tAction:   pulumi.String(\"restart\"),\n\t\t\t\t\tTimeout:  pulumi.Float64(42),\n\t\t\t\t\tInterval: pulumi.Float64(21),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tinternet,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.vkcs.VpnaasSiteConnection;\nimport com.pulumi.vkcs.VpnaasSiteConnectionArgs;\nimport com.pulumi.vkcs.inputs.VpnaasSiteConnectionDpdArgs;\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 connection = new VpnaasSiteConnection(\"connection\", VpnaasSiteConnectionArgs.builder()\n            .name(\"connection\")\n            .ikepolicyId(dataCenter.id())\n            .ipsecpolicyId(dataCenterVkcsVpnaasIpsecPolicy.id())\n            .vpnserviceId(vpnToDatacenter.id())\n            .psk(\"secret\")\n            .peerAddress(\"192.168.10.1\")\n            .peerId(\"192.168.10.1\")\n            .localEpGroupId(subnetHosts.id())\n            .peerEpGroupId(allowedHosts.id())\n            .dpds(VpnaasSiteConnectionDpdArgs.builder()\n                .action(\"restart\")\n                .timeout(42.0)\n                .interval(21.0)\n                .build())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(internet)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  connection:\n    type: vkcs:VpnaasSiteConnection\n    properties:\n      name: connection\n      ikepolicyId: ${dataCenter.id}\n      ipsecpolicyId: ${dataCenterVkcsVpnaasIpsecPolicy.id}\n      vpnserviceId: ${vpnToDatacenter.id}\n      psk: secret\n      peerAddress: 192.168.10.1\n      peerId: 192.168.10.1\n      localEpGroupId: ${subnetHosts.id}\n      peerEpGroupId: ${allowedHosts.id}\n      dpds:\n        - action: restart\n          timeout: 42\n          interval: 21\n    options:\n      dependsOn:\n        - ${internet}\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 vkcs:index/vpnaasSiteConnection:VpnaasSiteConnection conn_1 832cb7f3-59fe-40cf-8f64-8350ffc03272\n```\n\n","properties":{"adminStateUp":{"type":"boolean","description":"optional *boolean* \u0026rarr;  The administrative state of the resource. Can either be up(true) or down(false). Changing this updates the administrative state of the existing connection.\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  The human-readable description for the connection. Changing this updates the description of the existing connection.\n"},"dpds":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FVpnaasSiteConnectionDpd:VpnaasSiteConnectionDpd"},"description":"optional \u0026rarr;  A dictionary with dead peer detection (DPD) protocol controls.\n"},"ikepolicyId":{"type":"string","description":"**required** *string* \u0026rarr;  The ID of the IKE policy. Changing this creates a new connection.\n"},"initiator":{"type":"string","description":"optional *string* \u0026rarr;  A valid value is response-only or bi-directional. Default is bi-directional.\n"},"ipsecpolicyId":{"type":"string","description":"**required** *string* \u0026rarr;  The ID of the IPsec policy. Changing this creates a new connection.\n"},"localEpGroupId":{"type":"string","description":"optional *string* \u0026rarr;  The ID for the endpoint group that contains private subnets for the local 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\u003eparameter 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\u003eis 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\u003efor the VPN service. Changing this updates the existing connection.\n"},"localId":{"type":"string","description":"optional *string* \u0026rarr;  An ID to be used instead of the external IP address for a virtual router used in traffic between instances on different networks in east-west traffic. Most often, local ID would be domain name, email address, etc. If this is not configured then the external IP address will be used as the ID.\n"},"mtu":{"type":"number","description":"optional *number* \u0026rarr;  The maximum transmission unit (MTU) value to address fragmentation. Minimum value is 68 for IPv4, and 1280 for IPv6.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  The name of the connection. Changing this updates the name of the existing connection.\n"},"peerAddress":{"type":"string","description":"**required** *string* \u0026rarr;  The peer gateway public IPv4 or IPv6 address or FQDN.\n"},"peerCidrs":{"type":"array","items":{"type":"string"},"description":"optional *string* \u0026rarr;  Unique list of valid peer private CIDRs in the form \u003c\u003cspan pulumi-lang-nodejs=\" netAddress \" pulumi-lang-dotnet=\" NetAddress \" pulumi-lang-go=\" netAddress \" pulumi-lang-python=\" net_address \" pulumi-lang-yaml=\" netAddress \" pulumi-lang-java=\" netAddress \"\u003e net_address \u003c/span\u003e\u003e / \u003c prefix \u003e.\n"},"peerEpGroupId":{"type":"string","description":"optional *string* \u0026rarr;  The ID for the endpoint group that contains private CIDRs in the form \u003c\u003cspan pulumi-lang-nodejs=\" netAddress \" pulumi-lang-dotnet=\" NetAddress \" pulumi-lang-go=\" netAddress \" pulumi-lang-python=\" net_address \" pulumi-lang-yaml=\" netAddress \" pulumi-lang-java=\" netAddress \"\u003e net_address \u003c/span\u003e\u003e / \u003c prefix \u003e for the peer side of the connection. You must specify this parameter with the\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\u003eparameter 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\u003eis 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\u003efor the VPN service.\n"},"peerId":{"type":"string","description":"**required** *string* \u0026rarr;  The peer router identity for authentication. A valid value is an IPv4 address, IPv6 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. Changing this updates the existing policy.\n"},"psk":{"type":"string","description":"**required** *string* \u0026rarr;  The pre-shared key. A valid value is any string.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Networking client. A Networking client is needed to create an IPSec site connection. If 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 creates a new site connection.\n"},"sdn":{"type":"string","description":"optional *string* \u0026rarr;  SDN to use for this resource. Must be one of following: \"neutron\", \"sprut\". Default value is project's default SDN.\u003cbr\u003e**New since v0.5.3**.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FVpnaasSiteConnectionTimeouts:VpnaasSiteConnectionTimeouts"},"trafficSelectorEpMerge":{"type":"boolean","description":"optional *boolean* \u0026rarr;  This argument controls whether multiple traffic selection rules for an IPSec site connection should be merged into one rule, or applied independently. When set to \"true\", this parameter results in single IPsec SA negotiation with multiple IP prefixes, while providing a separate negotiation that results in the multiple IPsec tunnels when set to \"false\". _\u003cbr\u003e**Note:**_ Available only in sprut SDN. Default value is true.\u003cbr\u003e**New since v0.7.4**.\n"},"vpnaasSiteConnectionId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"vpnserviceId":{"type":"string","description":"**required** *string* \u0026rarr;  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","sdn","trafficSelectorEpMerge","vpnaasSiteConnectionId","vpnserviceId"],"inputProperties":{"adminStateUp":{"type":"boolean","description":"optional *boolean* \u0026rarr;  The administrative state of the resource. Can either be up(true) or down(false). Changing this updates the administrative state of the existing connection.\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  The human-readable description for the connection. Changing this updates the description of the existing connection.\n"},"dpds":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FVpnaasSiteConnectionDpd:VpnaasSiteConnectionDpd"},"description":"optional \u0026rarr;  A dictionary with dead peer detection (DPD) protocol controls.\n"},"ikepolicyId":{"type":"string","description":"**required** *string* \u0026rarr;  The ID of the IKE policy. Changing this creates a new connection.\n"},"initiator":{"type":"string","description":"optional *string* \u0026rarr;  A valid value is response-only or bi-directional. Default is bi-directional.\n"},"ipsecpolicyId":{"type":"string","description":"**required** *string* \u0026rarr;  The ID of the IPsec policy. Changing this creates a new connection.\n"},"localEpGroupId":{"type":"string","description":"optional *string* \u0026rarr;  The ID for the endpoint group that contains private subnets for the local 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\u003eparameter 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\u003eis 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\u003efor the VPN service. Changing this updates the existing connection.\n"},"localId":{"type":"string","description":"optional *string* \u0026rarr;  An ID to be used instead of the external IP address for a virtual router used in traffic between instances on different networks in east-west traffic. Most often, local ID would be domain name, email address, etc. If this is not configured then the external IP address will be used as the ID.\n"},"mtu":{"type":"number","description":"optional *number* \u0026rarr;  The maximum transmission unit (MTU) value to address fragmentation. Minimum value is 68 for IPv4, and 1280 for IPv6.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  The name of the connection. Changing this updates the name of the existing connection.\n"},"peerAddress":{"type":"string","description":"**required** *string* \u0026rarr;  The peer gateway public IPv4 or IPv6 address or FQDN.\n"},"peerCidrs":{"type":"array","items":{"type":"string"},"description":"optional *string* \u0026rarr;  Unique list of valid peer private CIDRs in the form \u003c\u003cspan pulumi-lang-nodejs=\" netAddress \" pulumi-lang-dotnet=\" NetAddress \" pulumi-lang-go=\" netAddress \" pulumi-lang-python=\" net_address \" pulumi-lang-yaml=\" netAddress \" pulumi-lang-java=\" netAddress \"\u003e net_address \u003c/span\u003e\u003e / \u003c prefix \u003e.\n"},"peerEpGroupId":{"type":"string","description":"optional *string* \u0026rarr;  The ID for the endpoint group that contains private CIDRs in the form \u003c\u003cspan pulumi-lang-nodejs=\" netAddress \" pulumi-lang-dotnet=\" NetAddress \" pulumi-lang-go=\" netAddress \" pulumi-lang-python=\" net_address \" pulumi-lang-yaml=\" netAddress \" pulumi-lang-java=\" netAddress \"\u003e net_address \u003c/span\u003e\u003e / \u003c prefix \u003e for the peer side of the connection. You must specify this parameter with the\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\u003eparameter 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\u003eis 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\u003efor the VPN service.\n"},"peerId":{"type":"string","description":"**required** *string* \u0026rarr;  The peer router identity for authentication. A valid value is an IPv4 address, IPv6 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. Changing this updates the existing policy.\n"},"psk":{"type":"string","description":"**required** *string* \u0026rarr;  The pre-shared key. A valid value is any string.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Networking client. A Networking client is needed to create an IPSec site connection. If 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 creates a new site connection.\n"},"sdn":{"type":"string","description":"optional *string* \u0026rarr;  SDN to use for this resource. Must be one of following: \"neutron\", \"sprut\". Default value is project's default SDN.\u003cbr\u003e**New since v0.5.3**.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FVpnaasSiteConnectionTimeouts:VpnaasSiteConnectionTimeouts"},"trafficSelectorEpMerge":{"type":"boolean","description":"optional *boolean* \u0026rarr;  This argument controls whether multiple traffic selection rules for an IPSec site connection should be merged into one rule, or applied independently. When set to \"true\", this parameter results in single IPsec SA negotiation with multiple IP prefixes, while providing a separate negotiation that results in the multiple IPsec tunnels when set to \"false\". _\u003cbr\u003e**Note:**_ Available only in sprut SDN. Default value is true.\u003cbr\u003e**New since v0.7.4**.\n"},"vpnaasSiteConnectionId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"vpnserviceId":{"type":"string","description":"**required** *string* \u0026rarr;  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 VpnaasSiteConnection resources.\n","properties":{"adminStateUp":{"type":"boolean","description":"optional *boolean* \u0026rarr;  The administrative state of the resource. Can either be up(true) or down(false). Changing this updates the administrative state of the existing connection.\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  The human-readable description for the connection. Changing this updates the description of the existing connection.\n"},"dpds":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FVpnaasSiteConnectionDpd:VpnaasSiteConnectionDpd"},"description":"optional \u0026rarr;  A dictionary with dead peer detection (DPD) protocol controls.\n"},"ikepolicyId":{"type":"string","description":"**required** *string* \u0026rarr;  The ID of the IKE policy. Changing this creates a new connection.\n"},"initiator":{"type":"string","description":"optional *string* \u0026rarr;  A valid value is response-only or bi-directional. Default is bi-directional.\n"},"ipsecpolicyId":{"type":"string","description":"**required** *string* \u0026rarr;  The ID of the IPsec policy. Changing this creates a new connection.\n"},"localEpGroupId":{"type":"string","description":"optional *string* \u0026rarr;  The ID for the endpoint group that contains private subnets for the local 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\u003eparameter 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\u003eis 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\u003efor the VPN service. Changing this updates the existing connection.\n"},"localId":{"type":"string","description":"optional *string* \u0026rarr;  An ID to be used instead of the external IP address for a virtual router used in traffic between instances on different networks in east-west traffic. Most often, local ID would be domain name, email address, etc. If this is not configured then the external IP address will be used as the ID.\n"},"mtu":{"type":"number","description":"optional *number* \u0026rarr;  The maximum transmission unit (MTU) value to address fragmentation. Minimum value is 68 for IPv4, and 1280 for IPv6.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  The name of the connection. Changing this updates the name of the existing connection.\n"},"peerAddress":{"type":"string","description":"**required** *string* \u0026rarr;  The peer gateway public IPv4 or IPv6 address or FQDN.\n"},"peerCidrs":{"type":"array","items":{"type":"string"},"description":"optional *string* \u0026rarr;  Unique list of valid peer private CIDRs in the form \u003c\u003cspan pulumi-lang-nodejs=\" netAddress \" pulumi-lang-dotnet=\" NetAddress \" pulumi-lang-go=\" netAddress \" pulumi-lang-python=\" net_address \" pulumi-lang-yaml=\" netAddress \" pulumi-lang-java=\" netAddress \"\u003e net_address \u003c/span\u003e\u003e / \u003c prefix \u003e.\n"},"peerEpGroupId":{"type":"string","description":"optional *string* \u0026rarr;  The ID for the endpoint group that contains private CIDRs in the form \u003c\u003cspan pulumi-lang-nodejs=\" netAddress \" pulumi-lang-dotnet=\" NetAddress \" pulumi-lang-go=\" netAddress \" pulumi-lang-python=\" net_address \" pulumi-lang-yaml=\" netAddress \" pulumi-lang-java=\" netAddress \"\u003e net_address \u003c/span\u003e\u003e / \u003c prefix \u003e for the peer side of the connection. You must specify this parameter with the\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\u003eparameter 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\u003eis 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\u003efor the VPN service.\n"},"peerId":{"type":"string","description":"**required** *string* \u0026rarr;  The peer router identity for authentication. A valid value is an IPv4 address, IPv6 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. Changing this updates the existing policy.\n"},"psk":{"type":"string","description":"**required** *string* \u0026rarr;  The pre-shared key. A valid value is any string.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Networking client. A Networking client is needed to create an IPSec site connection. If 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 creates a new site connection.\n"},"sdn":{"type":"string","description":"optional *string* \u0026rarr;  SDN to use for this resource. Must be one of following: \"neutron\", \"sprut\". Default value is project's default SDN.\u003cbr\u003e**New since v0.5.3**.\n"},"timeouts":{"$ref":"#/types/vkcs:index%2FVpnaasSiteConnectionTimeouts:VpnaasSiteConnectionTimeouts"},"trafficSelectorEpMerge":{"type":"boolean","description":"optional *boolean* \u0026rarr;  This argument controls whether multiple traffic selection rules for an IPSec site connection should be merged into one rule, or applied independently. When set to \"true\", this parameter results in single IPsec SA negotiation with multiple IP prefixes, while providing a separate negotiation that results in the multiple IPsec tunnels when set to \"false\". _\u003cbr\u003e**Note:**_ Available only in sprut SDN. Default value is true.\u003cbr\u003e**New since v0.7.4**.\n"},"vpnaasSiteConnectionId":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"vpnserviceId":{"type":"string","description":"**required** *string* \u0026rarr;  The ID of the VPN service. Changing this creates a new connection.\n"}},"type":"object"}}},"functions":{"pulumi:providers:vkcs/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:vkcs"}},"type":"object","required":["__self__"]},"outputs":{"properties":{"result":{"additionalProperties":{"$ref":"pulumi.json#/Any"},"type":"object"}},"required":["result"],"type":"object"}},"vkcs:index/getBackupPlan:getBackupPlan":{"description":"Use this data source to get backup plan info\n\n**New since v0.4.0**.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst planDatasource = vkcs.getBackupPlan({\n    name: backupPlan.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\nplan_datasource = vkcs.get_backup_plan(name=backup_plan[\"name\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var planDatasource = Vkcs.GetBackupPlan.Invoke(new()\n    {\n        Name = backupPlan.Name,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.LookupBackupPlan(ctx, \u0026vkcs.LookupBackupPlanArgs{\n\t\t\tName: pulumi.StringRef(backupPlan.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.vkcs.VkcsFunctions;\nimport com.pulumi.vkcs.inputs.GetBackupPlanArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var planDatasource = VkcsFunctions.getBackupPlan(GetBackupPlanArgs.builder()\n            .name(backupPlan.name())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  planDatasource:\n    fn::invoke:\n      function: vkcs:getBackupPlan\n      arguments:\n        name: ${backupPlan.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getBackupPlan.\n","properties":{"instanceId":{"type":"string","description":"optional *string* \u0026rarr;  ID of the instance that should be included in backup plan\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  Name of the backup plan\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  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"}},"type":"object"},"outputs":{"description":"A collection of values returned by getBackupPlan.\n","properties":{"backupTargets":{"description":"*set* \u0026rarr;  Set of backup targets specifying\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\u003eand\u003cspan pulumi-lang-nodejs=\" volumeIds \" pulumi-lang-dotnet=\" VolumeIds \" pulumi-lang-go=\" volumeIds \" pulumi-lang-python=\" volume_ids \" pulumi-lang-yaml=\" volumeIds \" pulumi-lang-java=\" volumeIds \"\u003e volume_ids \u003c/span\u003efor each instance.\u003cbr\u003e**New since v0.13.1**.\n","items":{"$ref":"#/types/vkcs:index%2FgetBackupPlanBackupTarget:getBackupPlanBackupTarget"},"type":"array"},"fullRetention":{"$ref":"#/types/vkcs:index%2FgetBackupPlanFullRetention:getBackupPlanFullRetention","description":"\u0026rarr;  Parameters for full retention policy. Specifies number of full backups stored. Incremental backups (if enabled) are not counted as full\n"},"gfsRetention":{"$ref":"#/types/vkcs:index%2FgetBackupPlanGfsRetention:getBackupPlanGfsRetention","description":"\u0026rarr;  Parameters for gfs retention policy. Specifies number of full backups stored. Incremental backups (if enabled) are not counted as full\n"},"id":{"description":"*string* \u0026rarr;  ID of the resource\n","type":"string"},"incrementalBackup":{"description":"*boolean* \u0026rarr;  Whether incremental backups should be stored\n","type":"boolean"},"instanceId":{"description":"*string* \u0026rarr;  ID of the instance for which specific volumes are backed up.\n","type":"string"},"instanceIds":{"description":"*set of* *string* \u0026rarr;  Set of ids of backed up instances\n","items":{"type":"string"},"type":"array"},"name":{"type":"string"},"providerId":{"description":"*string* \u0026rarr;  ID of backup provider\n","type":"string"},"region":{"type":"string"},"schedule":{"$ref":"#/types/vkcs:index%2FgetBackupPlanSchedule:getBackupPlanSchedule"}},"required":["backupTargets","fullRetention","gfsRetention","id","incrementalBackup","instanceIds","providerId","region","schedule"],"type":"object"}},"vkcs:index/getBackupProvider:getBackupProvider":{"description":"Use this data source to get backup provider info\n\n**New since v0.4.0**.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst cloudServers = vkcs.getBackupProvider({\n    name: \"cloud_servers\",\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\ncloud_servers = vkcs.get_backup_provider(name=\"cloud_servers\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var cloudServers = Vkcs.GetBackupProvider.Invoke(new()\n    {\n        Name = \"cloud_servers\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.GetBackupProvider(ctx, \u0026vkcs.GetBackupProviderArgs{\n\t\t\tName: \"cloud_servers\",\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.vkcs.VkcsFunctions;\nimport com.pulumi.vkcs.inputs.GetBackupProviderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var cloudServers = VkcsFunctions.getBackupProvider(GetBackupProviderArgs.builder()\n            .name(\"cloud_servers\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  cloudServers:\n    fn::invoke:\n      function: vkcs:getBackupProvider\n      arguments:\n        name: cloud_servers\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getBackupProvider.\n","properties":{"name":{"type":"string","description":"**required** *string* \u0026rarr;  Name of the backup provider\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  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"}},"type":"object","required":["name"]},"outputs":{"description":"A collection of values returned by getBackupProvider.\n","properties":{"id":{"description":"*string* \u0026rarr;  ID of the resource\n","type":"string"},"name":{"type":"string"},"region":{"type":"string"}},"required":["id","name","region"],"type":"object"}},"vkcs:index/getBackupProviders:getBackupProviders":{"description":"Use this data source to get backup providers info\n\n**New since v0.4.0**.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst providers = vkcs.getBackupProviders({});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\nproviders = vkcs.get_backup_providers()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var providers = Vkcs.GetBackupProviders.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.GetBackupProviders(ctx, \u0026vkcs.GetBackupProvidersArgs{}, 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.vkcs.VkcsFunctions;\nimport com.pulumi.vkcs.inputs.GetBackupProvidersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var providers = VkcsFunctions.getBackupProviders(GetBackupProvidersArgs.builder()\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  providers:\n    fn::invoke:\n      function: vkcs:getBackupProviders\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getBackupProviders.\n","properties":{"region":{"type":"string","description":"optional *string* \u0026rarr;  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"}},"type":"object"},"outputs":{"description":"A collection of values returned by getBackupProviders.\n","properties":{"id":{"description":"*string* \u0026rarr;  ID of the backup provider\n","type":"string"},"providers":{"description":"*list* \u0026rarr;  List of available backup providers\n","items":{"$ref":"#/types/vkcs:index%2FgetBackupProvidersProvider:getBackupProvidersProvider"},"type":"array"},"region":{"type":"string"}},"required":["id","providers","region"],"type":"object"}},"vkcs:index/getBlockstorageSnapshot:getBlockstorageSnapshot":{"description":"Use this data source to get information about an existing snapshot.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst recentSnapshot = vkcs.getBlockstorageSnapshot({\n    name: \"snapshot-tf-example\",\n    mostRecent: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\nrecent_snapshot = vkcs.get_blockstorage_snapshot(name=\"snapshot-tf-example\",\n    most_recent=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var recentSnapshot = Vkcs.GetBlockstorageSnapshot.Invoke(new()\n    {\n        Name = \"snapshot-tf-example\",\n        MostRecent = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.LookupBlockstorageSnapshot(ctx, \u0026vkcs.LookupBlockstorageSnapshotArgs{\n\t\t\tName:       pulumi.StringRef(\"snapshot-tf-example\"),\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.vkcs.VkcsFunctions;\nimport com.pulumi.vkcs.inputs.GetBlockstorageSnapshotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var recentSnapshot = VkcsFunctions.getBlockstorageSnapshot(GetBlockstorageSnapshotArgs.builder()\n            .name(\"snapshot-tf-example\")\n            .mostRecent(true)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  recentSnapshot:\n    fn::invoke:\n      function: vkcs:getBlockstorageSnapshot\n      arguments:\n        name: snapshot-tf-example\n        mostRecent: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getBlockstorageSnapshot.\n","properties":{"id":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"mostRecent":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Pick the most recently created snapshot if there are multiple results.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  The name of the snapshot.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Block Storage client. If 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"},"status":{"type":"string","description":"optional *string* \u0026rarr;  The status of the snapshot.\n"},"volumeId":{"type":"string","description":"optional *string* \u0026rarr;  The ID of the snapshot's volume.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getBlockstorageSnapshot.\n","properties":{"description":{"description":"*string* \u0026rarr;  The snapshot's description.\n","type":"string"},"id":{"description":"*string* \u0026rarr;  ID of the resource.\n","type":"string"},"metadata":{"additionalProperties":{"type":"string"},"description":"*map of* *string* \u0026rarr;  The snapshot's metadata.\n","type":"object"},"mostRecent":{"type":"boolean"},"name":{"type":"string"},"region":{"type":"string"},"size":{"description":"*number* \u0026rarr;  The size of the snapshot.\n","type":"number"},"status":{"type":"string"},"volumeId":{"type":"string"}},"required":["description","id","metadata","name","region","size","status","volumeId"],"type":"object"}},"vkcs:index/getBlockstorageVolume:getBlockstorageVolume":{"description":"Use this data source to get information about an existing volume.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst data = vkcs.getBlockstorageVolume({\n    name: \"data-tf-example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\ndata = vkcs.get_blockstorage_volume(name=\"data-tf-example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var data = Vkcs.GetBlockstorageVolume.Invoke(new()\n    {\n        Name = \"data-tf-example\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.LookupBlockstorageVolume(ctx, \u0026vkcs.LookupBlockstorageVolumeArgs{\n\t\t\tName: pulumi.StringRef(\"data-tf-example\"),\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.vkcs.VkcsFunctions;\nimport com.pulumi.vkcs.inputs.GetBlockstorageVolumeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var data = VkcsFunctions.getBlockstorageVolume(GetBlockstorageVolumeArgs.builder()\n            .name(\"data-tf-example\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  data:\n    fn::invoke:\n      function: vkcs:getBlockstorageVolume\n      arguments:\n        name: data-tf-example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getBlockstorageVolume.\n","properties":{"bootable":{"type":"string","description":"optional *string* \u0026rarr;  Indicates if the volume is bootable.\n"},"id":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"optional *map of* *string* \u0026rarr;  Metadata key/value pairs associated with the volume.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  The name of the volume.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Block Storage client. If 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"},"status":{"type":"string","description":"optional *string* \u0026rarr;  The status of the volume.\n"},"volumeType":{"type":"string","description":"optional *string* \u0026rarr;  The type of the volume.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getBlockstorageVolume.\n","properties":{"availabilityZone":{"description":"*string* \u0026rarr;  The name of the availability zone of the volume.\n","type":"string"},"bootable":{"type":"string"},"id":{"description":"*string* \u0026rarr;  ID of the resource.\n","type":"string"},"metadata":{"additionalProperties":{"type":"string"},"type":"object"},"name":{"type":"string"},"region":{"type":"string"},"size":{"description":"*number* \u0026rarr;  The size of the volume in GBs.\n","type":"number"},"sourceVolumeId":{"description":"*string* \u0026rarr;  The ID of the volume from which the current volume was created.\n","type":"string"},"status":{"type":"string"},"volumeType":{"type":"string"}},"required":["availabilityZone","bootable","id","metadata","name","region","size","sourceVolumeId","status","volumeType"],"type":"object"}},"vkcs:index/getCdnOriginGroup:getCdnOriginGroup":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst originGroup = vkcs.getCdnOriginGroup({\n    name: originGroupVkcsCdnOriginGroup.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\norigin_group = vkcs.get_cdn_origin_group(name=origin_group_vkcs_cdn_origin_group[\"name\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var originGroup = Vkcs.GetCdnOriginGroup.Invoke(new()\n    {\n        Name = originGroupVkcsCdnOriginGroup.Name,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.LookupCdnOriginGroup(ctx, \u0026vkcs.LookupCdnOriginGroupArgs{\n\t\t\tName: originGroupVkcsCdnOriginGroup.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.vkcs.VkcsFunctions;\nimport com.pulumi.vkcs.inputs.GetCdnOriginGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var originGroup = VkcsFunctions.getCdnOriginGroup(GetCdnOriginGroupArgs.builder()\n            .name(originGroupVkcsCdnOriginGroup.name())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  originGroup:\n    fn::invoke:\n      function: vkcs:getCdnOriginGroup\n      arguments:\n        name: ${originGroupVkcsCdnOriginGroup.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getCdnOriginGroup.\n","properties":{"name":{"type":"string","description":"**required** *string* \u0026rarr;  Name of the origin group.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the CDN client. If 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"}},"type":"object","required":["name"]},"outputs":{"description":"A collection of values returned by getCdnOriginGroup.\n","properties":{"id":{"description":"*number* \u0026rarr;  ID of the origin group.\n","type":"number"},"name":{"type":"string"},"origins":{"description":"*list* \u0026rarr;  List of origin sources in the origin group.\n","items":{"$ref":"#/types/vkcs:index%2FgetCdnOriginGroupOrigin:getCdnOriginGroupOrigin"},"type":"array"},"region":{"type":"string"},"useNext":{"description":"*boolean* \u0026rarr;  Defines whether to use the next origin from the origin group if origin responds with 4XX or 5XX codes.\n","type":"boolean"}},"required":["id","name","origins","region","useNext"],"type":"object"}},"vkcs:index/getCdnShieldingPop:getCdnShieldingPop":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst pop = vkcs.getCdnShieldingPop({\n    city: \"Moscow-Megafon\",\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\npop = vkcs.get_cdn_shielding_pop(city=\"Moscow-Megafon\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var pop = Vkcs.GetCdnShieldingPop.Invoke(new()\n    {\n        City = \"Moscow-Megafon\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.GetCdnShieldingPop(ctx, \u0026vkcs.GetCdnShieldingPopArgs{\n\t\t\tCity: pulumi.StringRef(\"Moscow-Megafon\"),\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.vkcs.VkcsFunctions;\nimport com.pulumi.vkcs.inputs.GetCdnShieldingPopArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var pop = VkcsFunctions.getCdnShieldingPop(GetCdnShieldingPopArgs.builder()\n            .city(\"Moscow-Megafon\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  pop:\n    fn::invoke:\n      function: vkcs:getCdnShieldingPop\n      arguments:\n        city: Moscow-Megafon\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getCdnShieldingPop.\n","properties":{"city":{"type":"string","description":"optional *string* \u0026rarr;  City of origin shielding location.\n"},"country":{"type":"string","description":"optional *string* \u0026rarr;  Country of origin shielding location.\n"},"datacenter":{"type":"string","description":"optional *string* \u0026rarr;  Name of origin shielding location datacenter.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the CDN client. If 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"}},"type":"object"},"outputs":{"description":"A collection of values returned by getCdnShieldingPop.\n","properties":{"city":{"type":"string"},"country":{"type":"string"},"datacenter":{"type":"string"},"id":{"description":"*number* \u0026rarr;  ID of the origin shielding location.\n","type":"number"},"region":{"type":"string"}},"required":["city","country","datacenter","id","region"],"type":"object"}},"vkcs:index/getCdnShieldingPops:getCdnShieldingPops":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst pops = vkcs.getCdnShieldingPops({});\nexport const shieldingLocations = pops.then(pops =\u003e pops.shieldingPops);\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\npops = vkcs.get_cdn_shielding_pops()\npulumi.export(\"shieldingLocations\", pops.shielding_pops)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var pops = Vkcs.GetCdnShieldingPops.Invoke();\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"shieldingLocations\"] = pops.Apply(getCdnShieldingPopsResult =\u003e getCdnShieldingPopsResult.ShieldingPops),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpops, err := vkcs.GetCdnShieldingPops(ctx, \u0026vkcs.GetCdnShieldingPopsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"shieldingLocations\", pops.ShieldingPops)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.vkcs.VkcsFunctions;\nimport com.pulumi.vkcs.inputs.GetCdnShieldingPopsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var pops = VkcsFunctions.getCdnShieldingPops(GetCdnShieldingPopsArgs.builder()\n            .build());\n\n        ctx.export(\"shieldingLocations\", pops.shieldingPops());\n    }\n}\n```\n```yaml\nvariables:\n  pops:\n    fn::invoke:\n      function: vkcs:getCdnShieldingPops\n      arguments: {}\noutputs:\n  shieldingLocations: ${pops.shieldingPops}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getCdnShieldingPops.\n","properties":{"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the CDN client. If 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"}},"type":"object"},"outputs":{"description":"A collection of values returned by getCdnShieldingPops.\n","properties":{"id":{"description":"*number* \u0026rarr;  ID of the origin shielding location.\n","type":"string"},"region":{"type":"string"},"shieldingPops":{"description":"*list* \u0026rarr;  List of available origin shielding points of precense.\n","items":{"$ref":"#/types/vkcs:index%2FgetCdnShieldingPopsShieldingPop:getCdnShieldingPopsShieldingPop"},"type":"array"}},"required":["id","region","shieldingPops"],"type":"object"}},"vkcs:index/getCdnSslCertificate:getCdnSslCertificate":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst cert = vkcs.getCdnSslCertificate({\n    name: certificate.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\ncert = vkcs.get_cdn_ssl_certificate(name=certificate[\"name\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var cert = Vkcs.GetCdnSslCertificate.Invoke(new()\n    {\n        Name = certificate.Name,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.LookupCdnSslCertificate(ctx, \u0026vkcs.LookupCdnSslCertificateArgs{\n\t\t\tName: certificate.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.vkcs.VkcsFunctions;\nimport com.pulumi.vkcs.inputs.GetCdnSslCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 = VkcsFunctions.getCdnSslCertificate(GetCdnSslCertificateArgs.builder()\n            .name(certificate.name())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  cert:\n    fn::invoke:\n      function: vkcs:getCdnSslCertificate\n      arguments:\n        name: ${certificate.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getCdnSslCertificate.\n","properties":{"name":{"type":"string","description":"**required** *string* \u0026rarr;  SSL certificate name.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the CDN client. If 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"}},"type":"object","required":["name"]},"outputs":{"description":"A collection of values returned by getCdnSslCertificate.\n","properties":{"id":{"description":"*number* \u0026rarr;  ID of the SSL certificate.\n","type":"number"},"issuer":{"description":"*string* \u0026rarr;  Name of the certification center issued the SSL certificate.\n","type":"string"},"name":{"type":"string"},"region":{"type":"string"},"subjectCn":{"description":"*string* \u0026rarr;  Domain name that the SSL certificate secures.\n","type":"string"},"validityNotAfter":{"description":"*string* \u0026rarr;  Date when certificate become untrusted (ISO 8601/RFC 3339 format, UTC.).\n","type":"string"},"validityNotBefore":{"description":"*string* \u0026rarr;  Date when certificate become valid (ISO 8601/RFC 3339 format, UTC.).\n","type":"string"}},"required":["id","issuer","name","region","subjectCn","validityNotAfter","validityNotBefore"],"type":"object"}},"vkcs:index/getComputeAvailabilityZones:getComputeAvailabilityZones":{"description":"Use this data source to get a list of availability zones from VKCS\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst zones = vkcs.getComputeAvailabilityZones({});\nexport const availableZones = zones.then(zones =\u003e zones.names);\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\nzones = vkcs.get_compute_availability_zones()\npulumi.export(\"availableZones\", zones.names)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var zones = Vkcs.GetComputeAvailabilityZones.Invoke();\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"availableZones\"] = zones.Apply(getComputeAvailabilityZonesResult =\u003e getComputeAvailabilityZonesResult.Names),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\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 := vkcs.GetComputeAvailabilityZones(ctx, \u0026vkcs.GetComputeAvailabilityZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"availableZones\", zones.Names)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.vkcs.VkcsFunctions;\nimport com.pulumi.vkcs.inputs.GetComputeAvailabilityZonesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 = VkcsFunctions.getComputeAvailabilityZones(GetComputeAvailabilityZonesArgs.builder()\n            .build());\n\n        ctx.export(\"availableZones\", zones.names());\n    }\n}\n```\n```yaml\nvariables:\n  zones:\n    fn::invoke:\n      function: vkcs:getComputeAvailabilityZones\n      arguments: {}\noutputs:\n  availableZones: ${zones.names}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getComputeAvailabilityZones.\n","properties":{"region":{"type":"string","description":"optional *string* \u0026rarr;  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":"optional *string* \u0026rarr;  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 getComputeAvailabilityZones.\n","properties":{"id":{"description":"*string* \u0026rarr;  Hash of the returned zone list.\n","type":"string"},"names":{"description":"*string* \u0026rarr;  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"}},"vkcs:index/getComputeFlavor:getComputeFlavor":{"description":"Use this data source to get the ID of an available VKCS flavor.\n\n## Example Usage\n\n### Filter by name\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst basic = vkcs.getComputeFlavor({\n    name: \"Standard-2-8-50\",\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\nbasic = vkcs.get_compute_flavor(name=\"Standard-2-8-50\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var basic = Vkcs.GetComputeFlavor.Invoke(new()\n    {\n        Name = \"Standard-2-8-50\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.GetComputeFlavor(ctx, \u0026vkcs.GetComputeFlavorArgs{\n\t\t\tName: pulumi.StringRef(\"Standard-2-8-50\"),\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.vkcs.VkcsFunctions;\nimport com.pulumi.vkcs.inputs.GetComputeFlavorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var basic = VkcsFunctions.getComputeFlavor(GetComputeFlavorArgs.builder()\n            .name(\"Standard-2-8-50\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  basic:\n    fn::invoke:\n      function: vkcs:getComputeFlavor\n      arguments:\n        name: Standard-2-8-50\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Filter by number of vCPUs, RAM and CPU generation\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst basic = vkcs.getComputeFlavor({\n    vcpus: 1,\n    ram: 1024,\n    extraSpecs: {\n        \"mcs:cpu_generation\": \"cascadelake-v1\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\nbasic = vkcs.get_compute_flavor(vcpus=1,\n    ram=1024,\n    extra_specs={\n        \"mcs:cpu_generation\": \"cascadelake-v1\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var basic = Vkcs.GetComputeFlavor.Invoke(new()\n    {\n        Vcpus = 1,\n        Ram = 1024,\n        ExtraSpecs = \n        {\n            { \"mcs:cpu_generation\", \"cascadelake-v1\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.GetComputeFlavor(ctx, \u0026vkcs.GetComputeFlavorArgs{\n\t\t\tVcpus: pulumi.Float64Ref(1),\n\t\t\tRam:   pulumi.Float64Ref(1024),\n\t\t\tExtraSpecs: map[string]interface{}{\n\t\t\t\t\"mcs:cpu_generation\": \"cascadelake-v1\",\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.vkcs.VkcsFunctions;\nimport com.pulumi.vkcs.inputs.GetComputeFlavorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var basic = VkcsFunctions.getComputeFlavor(GetComputeFlavorArgs.builder()\n            .vcpus(1)\n            .ram(1024)\n            .extraSpecs(Map.of(\"mcs:cpu_generation\", \"cascadelake-v1\"))\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  basic:\n    fn::invoke:\n      function: vkcs:getComputeFlavor\n      arguments:\n        vcpus: 1\n        ram: 1024\n        extraSpecs:\n          mcs:cpu_generation: cascadelake-v1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Filter by number of vCPUs and minimum RAM\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\n// If the exact amount of RAM is not so important to you, then you can specify the minimum value that will satisfy you \n// and flavor with minimum of ram will be automatically selected for you.\nconst standard4Min6gb = vkcs.getComputeFlavor({\n    vcpus: 4,\n    minRam: 6000,\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\n# If the exact amount of RAM is not so important to you, then you can specify the minimum value that will satisfy you \n# and flavor with minimum of ram will be automatically selected for you.\nstandard4_min6gb = vkcs.get_compute_flavor(vcpus=4,\n    min_ram=6000)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // If the exact amount of RAM is not so important to you, then you can specify the minimum value that will satisfy you \n    // and flavor with minimum of ram will be automatically selected for you.\n    var standard4Min6gb = Vkcs.GetComputeFlavor.Invoke(new()\n    {\n        Vcpus = 4,\n        MinRam = 6000,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// If the exact amount of RAM is not so important to you, then you can specify the minimum value that will satisfy you\n\t\t// and flavor with minimum of ram will be automatically selected for you.\n\t\t_, err := vkcs.GetComputeFlavor(ctx, \u0026vkcs.GetComputeFlavorArgs{\n\t\t\tVcpus:  pulumi.Float64Ref(4),\n\t\t\tMinRam: pulumi.Float64Ref(6000),\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.vkcs.VkcsFunctions;\nimport com.pulumi.vkcs.inputs.GetComputeFlavorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // If the exact amount of RAM is not so important to you, then you can specify the minimum value that will satisfy you \n        // and flavor with minimum of ram will be automatically selected for you.\n        final var standard4Min6gb = VkcsFunctions.getComputeFlavor(GetComputeFlavorArgs.builder()\n            .vcpus(4)\n            .minRam(6000)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  # If the exact amount of RAM is not so important to you, then you can specify the minimum value that will satisfy you \n  # and flavor with minimum of ram will be automatically selected for you.\n  standard4Min6gb:\n    fn::invoke:\n      function: vkcs:getComputeFlavor\n      arguments:\n        vcpus: 4\n        minRam: 6000\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getComputeFlavor.\n","properties":{"disk":{"type":"number","description":"optional *number* \u0026rarr;  The exact amount of disk (in gigabytes). Don't set disk, when\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\u003eis set.\n"},"extraSpecs":{"type":"object","additionalProperties":{"type":"string"},"description":"optional *map of* *string* \u0026rarr;  Key/Value pairs of metadata for the flavor. Be careful when using it, there is no validation applied to this field. When searching for a suitable flavor, it checks all required extra specs in a flavor metadata. See https://cloud.vk.com/docs/base/iaas/concepts/vm-concept\n"},"flavorId":{"type":"string","description":"optional *string* \u0026rarr;  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, \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"},"isPublic":{"type":"boolean","description":"optional *boolean* \u0026rarr;  The flavor visibility.\n"},"minDisk":{"type":"number","description":"optional *number* \u0026rarr;  The minimum amount of disk (in gigabytes). 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"},"minRam":{"type":"number","description":"optional *number* \u0026rarr;  The minimum amount of RAM (in megabytes). 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"},"name":{"type":"string","description":"optional *string* \u0026rarr;  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":"optional *number* \u0026rarr;  The exact amount of RAM (in megabytes). Don't set ram, when\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\u003eis set.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Compute client. If 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"},"rxTxFactor":{"type":"number","description":"optional *number* \u0026rarr;  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":"optional *number* \u0026rarr;  The amount of swap (in gigabytes).\n"},"vcpus":{"type":"number","description":"optional *number* \u0026rarr;  The amount of VCPUs.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getComputeFlavor.\n","properties":{"disk":{"type":"number"},"extraSpecs":{"additionalProperties":{"type":"string"},"type":"object"},"flavorId":{"type":"string"},"id":{"description":"*string* \u0026rarr;  ID of the found flavor.\n","type":"string"},"isPublic":{"type":"boolean"},"minDisk":{"type":"number"},"minRam":{"type":"number"},"name":{"type":"string"},"ram":{"type":"number"},"region":{"type":"string"},"rxTxFactor":{"type":"number"},"swap":{"type":"number"},"vcpus":{"type":"number"}},"required":["extraSpecs","id","region"],"type":"object"}},"vkcs:index/getComputeInstance:getComputeInstance":{"description":"Use this data source to get the details of a running server\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst instance = vkcs.getComputeInstance({\n    id: basic.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\ninstance = vkcs.get_compute_instance(id=basic[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var instance = Vkcs.GetComputeInstance.Invoke(new()\n    {\n        Id = basic.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.LookupComputeInstance(ctx, \u0026vkcs.LookupComputeInstanceArgs{\n\t\t\tId: basic.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.vkcs.VkcsFunctions;\nimport com.pulumi.vkcs.inputs.GetComputeInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 = VkcsFunctions.getComputeInstance(GetComputeInstanceArgs.builder()\n            .id(basic.id())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  instance:\n    fn::invoke:\n      function: vkcs:getComputeInstance\n      arguments:\n        id: ${basic.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getComputeInstance.\n","properties":{"id":{"type":"string","description":"**required** *string* \u0026rarr;  The UUID of the instance\n"},"networks":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FgetComputeInstanceNetwork:getComputeInstanceNetwork"},"description":"\u0026rarr;  An array of maps, detailed below.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Compute client. If 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"},"userData":{"type":"string","description":"optional *string* \u0026rarr;  The user data added when the server was created.\n"}},"type":"object","required":["id"]},"outputs":{"description":"A collection of values returned by getComputeInstance.\n","properties":{"accessIpV4":{"description":"*string* \u0026rarr;  The first IPv4 address assigned to this server.\n","type":"string"},"availabilityZone":{"description":"*string* \u0026rarr;  The availability zone of this server.\n","type":"string"},"flavorId":{"description":"*string* \u0026rarr;  The flavor ID used to create the server.\n","type":"string"},"flavorName":{"description":"*string* \u0026rarr;  The flavor name used to create the server.\n","type":"string"},"id":{"type":"string"},"imageId":{"description":"*string* \u0026rarr;  The image ID used to create the server.\n","type":"string"},"imageName":{"description":"*string* \u0026rarr;  The image name used to create the server.\n","type":"string"},"keyPair":{"description":"*string* \u0026rarr;  The name of the key pair assigned to this server.\n","type":"string"},"metadata":{"additionalProperties":{"type":"string"},"description":"*map of* *string* \u0026rarr;  A set of key/value pairs made available to the server.\n","type":"object"},"name":{"description":"*string* \u0026rarr;  The name of the network\n","type":"string"},"networks":{"description":"\u0026rarr;  An array of maps, detailed below.\n","items":{"$ref":"#/types/vkcs:index%2FgetComputeInstanceNetwork:getComputeInstanceNetwork"},"type":"array"},"powerState":{"description":"*string* \u0026rarr;  VM state\n","type":"string"},"region":{"type":"string"},"securityGroupIds":{"description":"*set of* *string* \u0026rarr;  An array of one or more security group ids to associate with the server.\u003cbr\u003e**New since v0.7.3**.\n","items":{"type":"string"},"type":"array"},"securityGroups":{"description":"*set of* *string* \u0026rarr;  An array of security group names associated with this server.\n","items":{"type":"string"},"type":"array"},"tags":{"description":"*set of* *string* \u0026rarr;  A set of string tags for the instance.\n","items":{"type":"string"},"type":"array"},"userData":{"type":"string"}},"required":["accessIpV4","availabilityZone","flavorId","flavorName","id","imageId","imageName","keyPair","metadata","name","powerState","region","securityGroupIds","securityGroups","tags","userData"],"type":"object"}},"vkcs:index/getComputeKeypair:getComputeKeypair":{"description":"Use this data source to get the ID and public key of an VKCS keypair.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst generatedKey = vkcs.getComputeKeypair({\n    name: \"generated-key-tf-example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\ngenerated_key = vkcs.get_compute_keypair(name=\"generated-key-tf-example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var generatedKey = Vkcs.GetComputeKeypair.Invoke(new()\n    {\n        Name = \"generated-key-tf-example\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.LookupComputeKeypair(ctx, \u0026vkcs.LookupComputeKeypairArgs{\n\t\t\tName: \"generated-key-tf-example\",\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.vkcs.VkcsFunctions;\nimport com.pulumi.vkcs.inputs.GetComputeKeypairArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var generatedKey = VkcsFunctions.getComputeKeypair(GetComputeKeypairArgs.builder()\n            .name(\"generated-key-tf-example\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  generatedKey:\n    fn::invoke:\n      function: vkcs:getComputeKeypair\n      arguments:\n        name: generated-key-tf-example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getComputeKeypair.\n","properties":{"id":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  The unique name of the keypair.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Compute client. If 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"}},"type":"object","required":["name"]},"outputs":{"description":"A collection of values returned by getComputeKeypair.\n","properties":{"fingerprint":{"description":"*string* \u0026rarr;  The fingerprint of the OpenSSH key.\n","type":"string"},"id":{"description":"*string* \u0026rarr;  ID of the resource.\n","type":"string"},"name":{"type":"string"},"publicKey":{"description":"*string* \u0026rarr;  The OpenSSH-formatted public key of the keypair.\n","type":"string"},"region":{"type":"string"}},"required":["fingerprint","id","name","publicKey","region"],"type":"object"}},"vkcs:index/getComputeQuotaset:getComputeQuotaset":{"description":"Use this data source to get the compute quotaset of an VKCS project.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst quota = vkcs.getComputeQuotaset({\n    projectId: \"2e367a3d29f94fd988e6ec54e305ec9d\",\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\nquota = vkcs.get_compute_quotaset(project_id=\"2e367a3d29f94fd988e6ec54e305ec9d\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var quota = Vkcs.GetComputeQuotaset.Invoke(new()\n    {\n        ProjectId = \"2e367a3d29f94fd988e6ec54e305ec9d\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.GetComputeQuotaset(ctx, \u0026vkcs.GetComputeQuotasetArgs{\n\t\t\tProjectId: \"2e367a3d29f94fd988e6ec54e305ec9d\",\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.vkcs.VkcsFunctions;\nimport com.pulumi.vkcs.inputs.GetComputeQuotasetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var quota = VkcsFunctions.getComputeQuotaset(GetComputeQuotasetArgs.builder()\n            .projectId(\"2e367a3d29f94fd988e6ec54e305ec9d\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  quota:\n    fn::invoke:\n      function: vkcs:getComputeQuotaset\n      arguments:\n        projectId: 2e367a3d29f94fd988e6ec54e305ec9d\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getComputeQuotaset.\n","properties":{"id":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"projectId":{"type":"string","description":"**required** *string* \u0026rarr;  The id of the project to retrieve the quotaset.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Compute client. If 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"}},"type":"object","required":["projectId"]},"outputs":{"description":"A collection of values returned by getComputeQuotaset.\n","properties":{"cores":{"description":"*number* \u0026rarr;  The number of allowed server cores.\n","type":"number"},"id":{"description":"*string* \u0026rarr;  ID of the resource.\n","type":"string"},"injectedFileContentBytes":{"description":"*number* \u0026rarr;  The number of allowed bytes of content for each injected file.\n","type":"number"},"injectedFilePathBytes":{"description":"*number* \u0026rarr;  The number of allowed bytes for each injected file path.\n","type":"number"},"injectedFiles":{"description":"*number* \u0026rarr;  The number of allowed injected files.\n","type":"number"},"instances":{"description":"*number* \u0026rarr;  The number of allowed servers.\n","type":"number"},"keyPairs":{"description":"*number* \u0026rarr;  The number of allowed key pairs for each user.\n","type":"number"},"metadataItems":{"description":"*number* \u0026rarr;  The number of allowed metadata items for each server.\n","type":"number"},"projectId":{"type":"string"},"ram":{"description":"*number* \u0026rarr;  The amount of allowed server RAM, in MiB.\n","type":"number"},"region":{"type":"string"},"serverGroupMembers":{"description":"*number* \u0026rarr;  The number of allowed members for each server group.\n","type":"number"},"serverGroups":{"description":"*number* \u0026rarr;  The number of allowed server groups.\n","type":"number"}},"required":["cores","id","injectedFileContentBytes","injectedFilePathBytes","injectedFiles","instances","keyPairs","metadataItems","projectId","ram","region","serverGroupMembers","serverGroups"],"type":"object"}},"vkcs:index/getDataplatformProduct:getDataplatformProduct":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst spark = vkcs.getDataplatformProduct({\n    productName: \"spark\",\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\nspark = vkcs.get_dataplatform_product(product_name=\"spark\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var spark = Vkcs.GetDataplatformProduct.Invoke(new()\n    {\n        ProductName = \"spark\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.GetDataplatformProduct(ctx, \u0026vkcs.GetDataplatformProductArgs{\n\t\t\tProductName: \"spark\",\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.vkcs.VkcsFunctions;\nimport com.pulumi.vkcs.inputs.GetDataplatformProductArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var spark = VkcsFunctions.getDataplatformProduct(GetDataplatformProductArgs.builder()\n            .productName(\"spark\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  spark:\n    fn::invoke:\n      function: vkcs:getDataplatformProduct\n      arguments:\n        productName: spark\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getDataplatformProduct.\n","properties":{"productName":{"type":"string","description":"**required** *string* \u0026rarr;  Product name\n"},"productVersion":{"type":"string","description":"optional *string* \u0026rarr;  Product version\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Data platform client. If 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 creates a new resource.\n"}},"type":"object","required":["productName"]},"outputs":{"description":"A collection of values returned by getDataplatformProduct.\n","properties":{"configs":{"$ref":"#/types/vkcs:index%2FgetDataplatformProductConfigs:getDataplatformProductConfigs"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"productName":{"type":"string"},"productVersion":{"type":"string"},"region":{"type":"string"}},"required":["configs","id","productName","productVersion","region"],"type":"object"}},"vkcs:index/getDataplatformProducts:getDataplatformProducts":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst products = vkcs.getDataplatformProducts({});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\nproducts = vkcs.get_dataplatform_products()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var products = Vkcs.GetDataplatformProducts.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.GetDataplatformProducts(ctx, \u0026vkcs.GetDataplatformProductsArgs{}, 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.vkcs.VkcsFunctions;\nimport com.pulumi.vkcs.inputs.GetDataplatformProductsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var products = VkcsFunctions.getDataplatformProducts(GetDataplatformProductsArgs.builder()\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  products:\n    fn::invoke:\n      function: vkcs:getDataplatformProducts\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getDataplatformProducts.\n","properties":{"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Data platform client. If 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 creates a new resource.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getDataplatformProducts.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"products":{"description":"*list* \u0026rarr;  List of products information\n","items":{"$ref":"#/types/vkcs:index%2FgetDataplatformProductsProduct:getDataplatformProductsProduct"},"type":"array"},"region":{"type":"string"}},"required":["id","products","region"],"type":"object"}},"vkcs:index/getDataplatformTemplate:getDataplatformTemplate":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst spark = vkcs.getDataplatformTemplate({\n    productName: \"spark\",\n    productVersion: \"3.5.1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\nspark = vkcs.get_dataplatform_template(product_name=\"spark\",\n    product_version=\"3.5.1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var spark = Vkcs.GetDataplatformTemplate.Invoke(new()\n    {\n        ProductName = \"spark\",\n        ProductVersion = \"3.5.1\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.GetDataplatformTemplate(ctx, \u0026vkcs.GetDataplatformTemplateArgs{\n\t\t\tProductName:    \"spark\",\n\t\t\tProductVersion: pulumi.StringRef(\"3.5.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.vkcs.VkcsFunctions;\nimport com.pulumi.vkcs.inputs.GetDataplatformTemplateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var spark = VkcsFunctions.getDataplatformTemplate(GetDataplatformTemplateArgs.builder()\n            .productName(\"spark\")\n            .productVersion(\"3.5.1\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  spark:\n    fn::invoke:\n      function: vkcs:getDataplatformTemplate\n      arguments:\n        productName: spark\n        productVersion: 3.5.1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getDataplatformTemplate.\n","properties":{"productName":{"type":"string","description":"**required** *string* \u0026rarr;  Product name.\n"},"productVersion":{"type":"string","description":"optional *string* \u0026rarr;  Product version.\n"}},"type":"object","required":["productName"]},"outputs":{"description":"A collection of values returned by getDataplatformTemplate.\n","properties":{"id":{"description":"*string* \u0026rarr;  ID of the cluster template.\n","type":"string"},"name":{"description":"*string* \u0026rarr;  Pod group name.\n","type":"string"},"podGroups":{"description":"*list* \u0026rarr;  List of pod groups in the template.\n","items":{"$ref":"#/types/vkcs:index%2FgetDataplatformTemplatePodGroup:getDataplatformTemplatePodGroup"},"type":"array"},"productName":{"type":"string"},"productVersion":{"type":"string"}},"required":["id","name","podGroups","productName","productVersion"],"type":"object"}},"vkcs:index/getDbBackup:getDbBackup":{"description":"Use this data source to get the information on a db backup resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst dbBackup = vkcs.getDbBackup({\n    id: \"d27fbf1a-373a-479c-b951-31041756f289\",\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\ndb_backup = vkcs.get_db_backup(id=\"d27fbf1a-373a-479c-b951-31041756f289\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var dbBackup = Vkcs.GetDbBackup.Invoke(new()\n    {\n        Id = \"d27fbf1a-373a-479c-b951-31041756f289\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.LookupDbBackup(ctx, \u0026vkcs.LookupDbBackupArgs{\n\t\t\tId: pulumi.StringRef(\"d27fbf1a-373a-479c-b951-31041756f289\"),\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.vkcs.VkcsFunctions;\nimport com.pulumi.vkcs.inputs.GetDbBackupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var dbBackup = VkcsFunctions.getDbBackup(GetDbBackupArgs.builder()\n            .id(\"d27fbf1a-373a-479c-b951-31041756f289\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  dbBackup:\n    fn::invoke:\n      function: vkcs:getDbBackup\n      arguments:\n        id: d27fbf1a-373a-479c-b951-31041756f289\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getDbBackup.\n","properties":{"backupId":{"type":"string","description":"optional deprecated *string* \u0026rarr;  The UUID of the backup. **Deprecated** This argument is deprecated, please, use 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 attribute instead.\n","deprecationMessage":"Deprecated"},"description":{"type":"string","description":"optional *string* \u0026rarr;  The description of the backup\n"},"id":{"type":"string","description":"optional *string* \u0026rarr;  The UUID of the backup.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the service client. If 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.\u003cbr\u003e**New since v0.4.0**.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getDbBackup.\n","properties":{"backupId":{"deprecationMessage":"Deprecated","type":"string"},"created":{"description":"*string* \u0026rarr;  Backup creation timestamp\n","type":"string"},"datastores":{"description":"*list* \u0026rarr;  Object that represents datastore of backup\n","items":{"$ref":"#/types/vkcs:index%2FgetDbBackupDatastore:getDbBackupDatastore"},"type":"array"},"dbmsId":{"description":"*string* \u0026rarr;  ID of the backed up instance or cluster\n","type":"string"},"dbmsType":{"description":"*string* \u0026rarr;  Type of dbms of the backup, can be \"instance\" or \"cluster\".\n","type":"string"},"description":{"type":"string"},"id":{"type":"string"},"locationRef":{"description":"*string* \u0026rarr;  Location of backup data on backup storage\n","type":"string"},"meta":{"description":"*string* \u0026rarr;  Metadata of the backup\n","type":"string"},"name":{"description":"*string* \u0026rarr;  The name of the backup.\n","type":"string"},"region":{"type":"string"},"size":{"description":"*number* \u0026rarr;  Backup's volume size\n","type":"number"},"updated":{"description":"*string* \u0026rarr;  Timestamp of backup's last update\n","type":"string"},"walSize":{"description":"*number* \u0026rarr;  Backup's WAL volume size\n","type":"number"}},"required":["backupId","created","datastores","dbmsId","dbmsType","id","locationRef","meta","name","region","size","updated","walSize"],"type":"object"}},"vkcs:index/getDbConfigGroup:getDbConfigGroup":{"description":"Use this data source to get the information on a db config group resource.\n\n**New since v0.1.7**.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst dbConfigGroup = vkcs.getDbConfigGroup({\n    id: \"7a914e84-8fcf-46f8-bbe5-a8337ba090f4\",\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\ndb_config_group = vkcs.get_db_config_group(id=\"7a914e84-8fcf-46f8-bbe5-a8337ba090f4\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var dbConfigGroup = Vkcs.GetDbConfigGroup.Invoke(new()\n    {\n        Id = \"7a914e84-8fcf-46f8-bbe5-a8337ba090f4\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.LookupDbConfigGroup(ctx, \u0026vkcs.LookupDbConfigGroupArgs{\n\t\t\tId: pulumi.StringRef(\"7a914e84-8fcf-46f8-bbe5-a8337ba090f4\"),\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.vkcs.VkcsFunctions;\nimport com.pulumi.vkcs.inputs.GetDbConfigGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var dbConfigGroup = VkcsFunctions.getDbConfigGroup(GetDbConfigGroupArgs.builder()\n            .id(\"7a914e84-8fcf-46f8-bbe5-a8337ba090f4\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  dbConfigGroup:\n    fn::invoke:\n      function: vkcs:getDbConfigGroup\n      arguments:\n        id: 7a914e84-8fcf-46f8-bbe5-a8337ba090f4\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getDbConfigGroup.\n","properties":{"configGroupId":{"type":"string","description":"optional deprecated *string* \u0026rarr;  The UUID of the config_group. **Deprecated** This argument is deprecated, please, use 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 attribute instead.\n","deprecationMessage":"Deprecated"},"id":{"type":"string","description":"optional *string* \u0026rarr;  The UUID of the config_group.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the service client. If 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.\u003cbr\u003e**New since v0.4.0**.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getDbConfigGroup.\n","properties":{"configGroupId":{"deprecationMessage":"Deprecated","type":"string"},"created":{"description":"*string* \u0026rarr;  Timestamp of config group's creation.\n","type":"string"},"datastores":{"description":"*list* \u0026rarr;  Object that represents datastore of backup\n","items":{"$ref":"#/types/vkcs:index%2FgetDbConfigGroupDatastore:getDbConfigGroupDatastore"},"type":"array"},"description":{"description":"*string* \u0026rarr;  The description of the config group.\n","type":"string"},"id":{"type":"string"},"name":{"description":"*string* \u0026rarr;  The name of the config group.\n","type":"string"},"region":{"type":"string"},"updated":{"description":"*string* \u0026rarr;  Timestamp of config group's last update.\n","type":"string"},"values":{"additionalProperties":{"type":"string"},"description":"*map of* *string* \u0026rarr;  Map of configuration parameters in format \"key\": \"value\".\n","type":"object"}},"required":["configGroupId","created","datastores","description","id","name","region","updated","values"],"type":"object"}},"vkcs:index/getDbDatabase:getDbDatabase":{"description":"Use this data source to get the information on a db database resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst dbDatabase = vkcs.getDbDatabase({\n    id: \"325a2871-f311-45ac-ae91-bfef20fc768e/mydatabase\",\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\ndb_database = vkcs.get_db_database(id=\"325a2871-f311-45ac-ae91-bfef20fc768e/mydatabase\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var dbDatabase = Vkcs.GetDbDatabase.Invoke(new()\n    {\n        Id = \"325a2871-f311-45ac-ae91-bfef20fc768e/mydatabase\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.LookupDbDatabase(ctx, \u0026vkcs.LookupDbDatabaseArgs{\n\t\t\tId: \"325a2871-f311-45ac-ae91-bfef20fc768e/mydatabase\",\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.vkcs.VkcsFunctions;\nimport com.pulumi.vkcs.inputs.GetDbDatabaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var dbDatabase = VkcsFunctions.getDbDatabase(GetDbDatabaseArgs.builder()\n            .id(\"325a2871-f311-45ac-ae91-bfef20fc768e/mydatabase\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  dbDatabase:\n    fn::invoke:\n      function: vkcs:getDbDatabase\n      arguments:\n        id: 325a2871-f311-45ac-ae91-bfef20fc768e/mydatabase\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getDbDatabase.\n","properties":{"charset":{"type":"string","description":"optional *string* \u0026rarr;  Type of charset used for the database.\n"},"collate":{"type":"string","description":"optional *string* \u0026rarr;  Collate option of the database.\n"},"dbmsId":{"type":"string","description":"optional *string* \u0026rarr;  ID of the instance or cluster that database is created for.\n"},"id":{"type":"string","description":"**required** *string* \u0026rarr;  The id of the database in form \"dbms_id/db_name\".\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  The name of the database.\n"}},"type":"object","required":["id"]},"outputs":{"description":"A collection of values returned by getDbDatabase.\n","properties":{"charset":{"type":"string"},"collate":{"type":"string"},"dbmsId":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"}},"required":["id"],"type":"object"}},"vkcs:index/getDbDatastore:getDbDatastore":{"description":"Use this data source to get information on a VKCS db datastore.\n\n**New since v0.2.0**.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst datastore = vkcs.getDbDatastore({\n    name: \"mysql\",\n});\nexport const mysqlVersions = datastore.then(datastore =\u003e datastore.versions);\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\ndatastore = vkcs.get_db_datastore(name=\"mysql\")\npulumi.export(\"mysqlVersions\", datastore.versions)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var datastore = Vkcs.GetDbDatastore.Invoke(new()\n    {\n        Name = \"mysql\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"mysqlVersions\"] = datastore.Apply(getDbDatastoreResult =\u003e getDbDatastoreResult.Versions),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdatastore, err := vkcs.GetDbDatastore(ctx, \u0026vkcs.GetDbDatastoreArgs{\n\t\t\tName: pulumi.StringRef(\"mysql\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"mysqlVersions\", datastore.Versions)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.vkcs.VkcsFunctions;\nimport com.pulumi.vkcs.inputs.GetDbDatastoreArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var datastore = VkcsFunctions.getDbDatastore(GetDbDatastoreArgs.builder()\n            .name(\"mysql\")\n            .build());\n\n        ctx.export(\"mysqlVersions\", datastore.versions());\n    }\n}\n```\n```yaml\nvariables:\n  datastore:\n    fn::invoke:\n      function: vkcs:getDbDatastore\n      arguments:\n        name: mysql\noutputs:\n  mysqlVersions: ${datastore.versions}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getDbDatastore.\n","properties":{"id":{"type":"string","description":"optional *string* \u0026rarr;  The id of the datastore.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  The name of the datastore.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region to obtain the service client. If 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"}},"type":"object"},"outputs":{"description":"A collection of values returned by getDbDatastore.\n","properties":{"clusterVolumeTypes":{"description":"*string* \u0026rarr;  Supported volume types for the datastore when used in a cluster.\n","items":{"type":"string"},"type":"array"},"id":{"description":"*string* \u0026rarr;  ID of a version of the datastore.\n","type":"string"},"minimumCpu":{"description":"*number* \u0026rarr;  Minimum CPU required for instance of the datastore.\n","type":"number"},"minimumRam":{"description":"*number* \u0026rarr;  Minimum RAM required for instance of the datastore.\n","type":"number"},"name":{"description":"*string* \u0026rarr;  Name of a version of the datastore.\n","type":"string"},"region":{"type":"string"},"versions":{"description":"*list* \u0026rarr;  Versions of the datastore.\n","items":{"$ref":"#/types/vkcs:index%2FgetDbDatastoreVersion:getDbDatastoreVersion"},"type":"array"},"volumeTypes":{"description":"*string* \u0026rarr;  Supported volume types for the datastore.\n","items":{"type":"string"},"type":"array"}},"required":["clusterVolumeTypes","id","minimumCpu","minimumRam","name","region","versions","volumeTypes"],"type":"object"}},"vkcs:index/getDbDatastoreCapabilities:getDbDatastoreCapabilities":{"description":"Use this data source to get capabilities supported for a VKCS datastore.\n\n**New since v0.2.0**.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst postgresCaps = vkcs.getDbDatastoreCapabilities({\n    datastoreName: postgres,\n    datastoreVersionId: pgV14VersionId,\n});\nexport const postgresqlCapabilities = postgresCaps.then(postgresCaps =\u003e postgresCaps.capabilities);\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\npostgres_caps = vkcs.get_db_datastore_capabilities(datastore_name=postgres,\n    datastore_version_id=pg_v14_version_id)\npulumi.export(\"postgresqlCapabilities\", postgres_caps.capabilities)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var postgresCaps = Vkcs.GetDbDatastoreCapabilities.Invoke(new()\n    {\n        DatastoreName = postgres,\n        DatastoreVersionId = pgV14VersionId,\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"postgresqlCapabilities\"] = postgresCaps.Apply(getDbDatastoreCapabilitiesResult =\u003e getDbDatastoreCapabilitiesResult.Capabilities),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpostgresCaps, err := vkcs.GetDbDatastoreCapabilities(ctx, \u0026vkcs.GetDbDatastoreCapabilitiesArgs{\n\t\t\tDatastoreName:      postgres,\n\t\t\tDatastoreVersionId: pgV14VersionId,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"postgresqlCapabilities\", postgresCaps.Capabilities)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.vkcs.VkcsFunctions;\nimport com.pulumi.vkcs.inputs.GetDbDatastoreCapabilitiesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var postgresCaps = VkcsFunctions.getDbDatastoreCapabilities(GetDbDatastoreCapabilitiesArgs.builder()\n            .datastoreName(postgres)\n            .datastoreVersionId(pgV14VersionId)\n            .build());\n\n        ctx.export(\"postgresqlCapabilities\", postgresCaps.capabilities());\n    }\n}\n```\n```yaml\nvariables:\n  postgresCaps:\n    fn::invoke:\n      function: vkcs:getDbDatastoreCapabilities\n      arguments:\n        datastoreName: ${postgres}\n        datastoreVersionId: ${pgV14VersionId}\noutputs:\n  postgresqlCapabilities: ${postgresCaps.capabilities}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getDbDatastoreCapabilities.\n","properties":{"datastoreName":{"type":"string","description":"**required** *string* \u0026rarr;  Name of the data store.\n"},"datastoreVersionId":{"type":"string","description":"**required** *string* \u0026rarr;  ID of the version of the data store.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  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"}},"type":"object","required":["datastoreName","datastoreVersionId"]},"outputs":{"description":"A collection of values returned by getDbDatastoreCapabilities.\n","properties":{"capabilities":{"description":"*list* \u0026rarr;  Capabilities of the datastore.\n","items":{"$ref":"#/types/vkcs:index%2FgetDbDatastoreCapabilitiesCapability:getDbDatastoreCapabilitiesCapability"},"type":"array"},"datastoreName":{"type":"string"},"datastoreVersionId":{"type":"string"},"id":{"description":"*string* \u0026rarr;  ID of the resource\n","type":"string"},"region":{"type":"string"}},"required":["capabilities","datastoreName","datastoreVersionId","id","region"],"type":"object"}},"vkcs:index/getDbDatastoreParameters:getDbDatastoreParameters":{"description":"Use this data source to get configuration parameters supported for a VKCS datastore.\n\n**New since v0.2.0**.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst mysqlParams = vkcs.getDbDatastoreParameters({\n    datastoreName: mysql,\n    datastoreVersionId: mysqlV8VersionId,\n});\nexport const mysqlParameters = mysqlParams.then(mysqlParams =\u003e mysqlParams.parameters);\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\nmysql_params = vkcs.get_db_datastore_parameters(datastore_name=mysql,\n    datastore_version_id=mysql_v8_version_id)\npulumi.export(\"mysqlParameters\", mysql_params.parameters)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var mysqlParams = Vkcs.GetDbDatastoreParameters.Invoke(new()\n    {\n        DatastoreName = mysql,\n        DatastoreVersionId = mysqlV8VersionId,\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"mysqlParameters\"] = mysqlParams.Apply(getDbDatastoreParametersResult =\u003e getDbDatastoreParametersResult.Parameters),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmysqlParams, err := vkcs.GetDbDatastoreParameters(ctx, \u0026vkcs.GetDbDatastoreParametersArgs{\n\t\t\tDatastoreName:      mysql,\n\t\t\tDatastoreVersionId: mysqlV8VersionId,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"mysqlParameters\", mysqlParams.Parameters)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.vkcs.VkcsFunctions;\nimport com.pulumi.vkcs.inputs.GetDbDatastoreParametersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var mysqlParams = VkcsFunctions.getDbDatastoreParameters(GetDbDatastoreParametersArgs.builder()\n            .datastoreName(mysql)\n            .datastoreVersionId(mysqlV8VersionId)\n            .build());\n\n        ctx.export(\"mysqlParameters\", mysqlParams.parameters());\n    }\n}\n```\n```yaml\nvariables:\n  mysqlParams:\n    fn::invoke:\n      function: vkcs:getDbDatastoreParameters\n      arguments:\n        datastoreName: ${mysql}\n        datastoreVersionId: ${mysqlV8VersionId}\noutputs:\n  mysqlParameters: ${mysqlParams.parameters}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getDbDatastoreParameters.\n","properties":{"datastoreName":{"type":"string","description":"**required** *string* \u0026rarr;  Name of the data store.\n"},"datastoreVersionId":{"type":"string","description":"**required** *string* \u0026rarr;  ID of the version of the data store.\n"},"id":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region to obtain the service client. If 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"}},"type":"object","required":["datastoreName","datastoreVersionId"]},"outputs":{"description":"A collection of values returned by getDbDatastoreParameters.\n","properties":{"datastoreName":{"type":"string"},"datastoreVersionId":{"type":"string"},"id":{"description":"*string* \u0026rarr;  ID of the resource.\n","type":"string"},"parameters":{"description":"*list* \u0026rarr;  Configuration parameters supported for the datastore.\n","items":{"$ref":"#/types/vkcs:index%2FgetDbDatastoreParametersParameter:getDbDatastoreParametersParameter"},"type":"array"},"region":{"type":"string"}},"required":["datastoreName","datastoreVersionId","id","parameters","region"],"type":"object"}},"vkcs:index/getDbDatastores:getDbDatastores":{"description":"Use this data source to get a list of datastores from VKCS.\n\n**New since v0.2.0**.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst datastores = vkcs.getDbDatastores({});\nexport const availableDatastores = datastores.then(datastores =\u003e datastores.datastores);\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\ndatastores = vkcs.get_db_datastores()\npulumi.export(\"availableDatastores\", datastores.datastores)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var datastores = Vkcs.GetDbDatastores.Invoke();\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"availableDatastores\"] = datastores.Apply(getDbDatastoresResult =\u003e getDbDatastoresResult.Datastores),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdatastores, err := vkcs.GetDbDatastores(ctx, \u0026vkcs.GetDbDatastoresArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"availableDatastores\", datastores.Datastores)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.vkcs.VkcsFunctions;\nimport com.pulumi.vkcs.inputs.GetDbDatastoresArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var datastores = VkcsFunctions.getDbDatastores(GetDbDatastoresArgs.builder()\n            .build());\n\n        ctx.export(\"availableDatastores\", datastores.datastores());\n    }\n}\n```\n```yaml\nvariables:\n  datastores:\n    fn::invoke:\n      function: vkcs:getDbDatastores\n      arguments: {}\noutputs:\n  availableDatastores: ${datastores.datastores}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getDbDatastores.\n","properties":{"id":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region to obtain the service client. If 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"}},"type":"object"},"outputs":{"description":"A collection of values returned by getDbDatastores.\n","properties":{"datastores":{"description":"*list* \u0026rarr;  List of datastores within VKCS.\n","items":{"$ref":"#/types/vkcs:index%2FgetDbDatastoresDatastore:getDbDatastoresDatastore"},"type":"array"},"id":{"description":"*string* \u0026rarr;  ID of the resource.\n","type":"string"},"region":{"type":"string"}},"required":["datastores","id","region"],"type":"object"}},"vkcs:index/getDbInstance:getDbInstance":{"description":"Use this data source to get the information on a db instance resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst dbInstance = vkcs.getDbInstance({\n    id: \"e7da2869-2ae2-4900-99e3-a44fec2b11ac\",\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\ndb_instance = vkcs.get_db_instance(id=\"e7da2869-2ae2-4900-99e3-a44fec2b11ac\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var dbInstance = Vkcs.GetDbInstance.Invoke(new()\n    {\n        Id = \"e7da2869-2ae2-4900-99e3-a44fec2b11ac\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.LookupDbInstance(ctx, \u0026vkcs.LookupDbInstanceArgs{\n\t\t\tId: \"e7da2869-2ae2-4900-99e3-a44fec2b11ac\",\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.vkcs.VkcsFunctions;\nimport com.pulumi.vkcs.inputs.GetDbInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var dbInstance = VkcsFunctions.getDbInstance(GetDbInstanceArgs.builder()\n            .id(\"e7da2869-2ae2-4900-99e3-a44fec2b11ac\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  dbInstance:\n    fn::invoke:\n      function: vkcs:getDbInstance\n      arguments:\n        id: e7da2869-2ae2-4900-99e3-a44fec2b11ac\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getDbInstance.\n","properties":{"backupSchedules":{"type":"array","items":{"$ref":"#/types/vkcs:index%2FgetDbInstanceBackupSchedule:getDbInstanceBackupSchedule"},"description":"optional \u0026rarr;  Object that represents configuration of PITR backup. This functionality is available only for postgres datastore.\u003cbr\u003e**New since v0.1.4**.\n"},"datastore":{"$ref":"#/types/vkcs:index%2FgetDbInstanceDatastore:getDbInstanceDatastore","description":"optional \u0026rarr;  Object that represents datastore of the instance.\n"},"flavorId":{"type":"string","description":"optional *string* \u0026rarr;  The ID of flavor for the instance.\n"},"hostname":{"type":"string","description":"optional *string* \u0026rarr;  The hostname of the instance.\n"},"id":{"type":"string","description":"**required** *string* \u0026rarr;  The id of the instance.\n"},"ips":{"type":"array","items":{"type":"string"},"description":"optional *string* \u0026rarr;  IP address of the instance.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  The name of the instance.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  Region of the resource.\n"},"status":{"type":"string","description":"optional *string* \u0026rarr;  Instance status.\n"},"volume":{"$ref":"#/types/vkcs:index%2FgetDbInstanceVolume:getDbInstanceVolume","description":"optional \u0026rarr;  Object that describes volume of the instance.\n"}},"type":"object","required":["id"]},"outputs":{"description":"A collection of values returned by getDbInstance.\n","properties":{"backupSchedules":{"items":{"$ref":"#/types/vkcs:index%2FgetDbInstanceBackupSchedule:getDbInstanceBackupSchedule"},"type":"array"},"datastore":{"$ref":"#/types/vkcs:index%2FgetDbInstanceDatastore:getDbInstanceDatastore"},"flavorId":{"type":"string"},"hostname":{"type":"string"},"id":{"type":"string"},"ips":{"items":{"type":"string"},"type":"array"},"name":{"type":"string"},"region":{"type":"string"},"status":{"type":"string"},"volume":{"$ref":"#/types/vkcs:index%2FgetDbInstanceVolume:getDbInstanceVolume"}},"required":["id"],"type":"object"}},"vkcs:index/getDbUser:getDbUser":{"description":"Use this data source to get the information on a db user resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst dbUser = vkcs.getDbUser({\n    id: \"d0438c95-1854-4ced-806c-c3b4125b586d/myuser\",\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\ndb_user = vkcs.get_db_user(id=\"d0438c95-1854-4ced-806c-c3b4125b586d/myuser\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var dbUser = Vkcs.GetDbUser.Invoke(new()\n    {\n        Id = \"d0438c95-1854-4ced-806c-c3b4125b586d/myuser\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.LookupDbUser(ctx, \u0026vkcs.LookupDbUserArgs{\n\t\t\tId: \"d0438c95-1854-4ced-806c-c3b4125b586d/myuser\",\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.vkcs.VkcsFunctions;\nimport com.pulumi.vkcs.inputs.GetDbUserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var dbUser = VkcsFunctions.getDbUser(GetDbUserArgs.builder()\n            .id(\"d0438c95-1854-4ced-806c-c3b4125b586d/myuser\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  dbUser:\n    fn::invoke:\n      function: vkcs:getDbUser\n      arguments:\n        id: d0438c95-1854-4ced-806c-c3b4125b586d/myuser\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getDbUser.\n","properties":{"databases":{"type":"array","items":{"type":"string"},"description":"optional *set of* *string* \u0026rarr;  List of names of the databases, that user is created for.\n"},"dbmsId":{"type":"string","description":"optional *string* \u0026rarr;  ID of the instance or cluster that user is created for.\n"},"host":{"type":"string","description":"optional *string* \u0026rarr;  IP address of the host that user will be accessible from.\n"},"id":{"type":"string","description":"**required** *string* \u0026rarr;  The id of the user in form \"dbms_id/user_name\".\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  The name of the user. Changing this creates a new user.\n"},"password":{"type":"string","description":"optional *string* \u0026rarr;  The password of the user.\n"}},"type":"object","required":["id"]},"outputs":{"description":"A collection of values returned by getDbUser.\n","properties":{"databases":{"items":{"type":"string"},"type":"array"},"dbmsId":{"type":"string"},"host":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"},"password":{"type":"string"}},"required":["id"],"type":"object"}},"vkcs:index/getDcApiOptions:getDcApiOptions":{"description":"Use this data source to get direct connect api options.\n\n\u003e **Note:** This data source requires Sprut SDN to be enabled in your project.\n\n**New since v0.5.0**.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst dcApiOptions = vkcs.getDcApiOptions({});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\ndc_api_options = vkcs.get_dc_api_options()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var dcApiOptions = Vkcs.GetDcApiOptions.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.GetDcApiOptions(ctx, \u0026vkcs.GetDcApiOptionsArgs{}, 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.vkcs.VkcsFunctions;\nimport com.pulumi.vkcs.inputs.GetDcApiOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var dcApiOptions = VkcsFunctions.getDcApiOptions(GetDcApiOptionsArgs.builder()\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  dcApiOptions:\n    fn::invoke:\n      function: vkcs:getDcApiOptions\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getDcApiOptions.\n","properties":{"region":{"type":"string","description":"optional *string* \u0026rarr;  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"}},"type":"object"},"outputs":{"description":"A collection of values returned by getDcApiOptions.\n","properties":{"availabilityZones":{"description":"*string* \u0026rarr;  List of availability zone options\n","items":{"type":"string"},"type":"array"},"flavors":{"description":"*string* \u0026rarr;  List of flavor options for\u003cspan pulumi-lang-nodejs=\" vkcs.DcRouter \" pulumi-lang-dotnet=\" vkcs.DcRouter \" pulumi-lang-go=\" DcRouter \" pulumi-lang-python=\" DcRouter \" pulumi-lang-yaml=\" vkcs.DcRouter \" pulumi-lang-java=\" vkcs.DcRouter \"\u003e vkcs.DcRouter \u003c/span\u003eresource\n","items":{"type":"string"},"type":"array"},"id":{"description":"*string* \u0026rarr;  ID of the data source\n","type":"string"},"region":{"type":"string"}},"required":["availabilityZones","flavors","id","region"],"type":"object"}},"vkcs:index/getIamS3Account:getIamS3Account":{"description":"Use this data source to get information about an IAM S3 account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst s3Account = vkcs.getIamS3Account({\n    name: s3AccountVkcsIamS3Account.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\ns3_account = vkcs.get_iam_s3_account(name=s3_account_vkcs_iam_s3_account[\"name\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var s3Account = Vkcs.GetIamS3Account.Invoke(new()\n    {\n        Name = s3AccountVkcsIamS3Account.Name,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.LookupIamS3Account(ctx, \u0026vkcs.LookupIamS3AccountArgs{\n\t\t\tName: pulumi.StringRef(s3AccountVkcsIamS3Account.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.vkcs.VkcsFunctions;\nimport com.pulumi.vkcs.inputs.GetIamS3AccountArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var s3Account = VkcsFunctions.getIamS3Account(GetIamS3AccountArgs.builder()\n            .name(s3AccountVkcsIamS3Account.name())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  s3Account:\n    fn::invoke:\n      function: vkcs:getIamS3Account\n      arguments:\n        name: ${s3AccountVkcsIamS3Account.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getIamS3Account.\n","properties":{"id":{"type":"string","description":"optional *string* \u0026rarr;  ID of the S3 account. Conflicts 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.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  Name of the S3 account. Conflicts with \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"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the IAM Service Users client. If 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"}},"type":"object"},"outputs":{"description":"A collection of values returned by getIamS3Account.\n","properties":{"accessKey":{"description":"*string* \u0026rarr;  Access key for the S3 account.\n","type":"string"},"accountId":{"description":"*string* \u0026rarr;  ID of the S3 account in Hotbox S3 service.\n","type":"string"},"accountName":{"description":"*string* \u0026rarr;  Name of the S3 account in Hotbox S3 service.\n","type":"string"},"createdAt":{"description":"*string* \u0026rarr;  S3 account creation timestamp.\n","type":"string"},"description":{"description":"*string* \u0026rarr;  Description of the S3 account.\n","type":"string"},"id":{"type":"string"},"name":{"type":"string"},"region":{"type":"string"}},"required":["accessKey","accountId","accountName","createdAt","description","id","name","region"],"type":"object"}},"vkcs:index/getIamServiceUser:getIamServiceUser":{"description":"Use this data source to get information about an IAM service user.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst serviceUser = vkcs.getIamServiceUser({\n    name: serviceUserVkcsIamServiceUser.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\nservice_user = vkcs.get_iam_service_user(name=service_user_vkcs_iam_service_user[\"name\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var serviceUser = Vkcs.GetIamServiceUser.Invoke(new()\n    {\n        Name = serviceUserVkcsIamServiceUser.Name,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.LookupIamServiceUser(ctx, \u0026vkcs.LookupIamServiceUserArgs{\n\t\t\tName: pulumi.StringRef(serviceUserVkcsIamServiceUser.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.vkcs.VkcsFunctions;\nimport com.pulumi.vkcs.inputs.GetIamServiceUserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var serviceUser = VkcsFunctions.getIamServiceUser(GetIamServiceUserArgs.builder()\n            .name(serviceUserVkcsIamServiceUser.name())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  serviceUser:\n    fn::invoke:\n      function: vkcs:getIamServiceUser\n      arguments:\n        name: ${serviceUserVkcsIamServiceUser.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getIamServiceUser.\n","properties":{"id":{"type":"string","description":"optional *string* \u0026rarr;  ID of the service user.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  Name of the service user.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the IAM Service Users client. If 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"}},"type":"object"},"outputs":{"description":"A collection of values returned by getIamServiceUser.\n","properties":{"createdAt":{"description":"*string* \u0026rarr;  Service user creation timestamp.\n","type":"string"},"creatorName":{"description":"*string* \u0026rarr;  Name of the user who created the service user.\n","type":"string"},"description":{"description":"*string* \u0026rarr;  Service user description.\n","type":"string"},"id":{"type":"string"},"name":{"type":"string"},"region":{"type":"string"},"roleNames":{"description":"*string* \u0026rarr;  Names of roles assigned to the service user.\n","items":{"type":"string"},"type":"array"}},"required":["createdAt","creatorName","description","id","name","region","roleNames"],"type":"object"}},"vkcs:index/getImagesImage:getImagesImage":{"description":"Use this data source to get the ID of an available VKCS image.\n\n## Example Usage\n\n### VKCS provided image\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst debian = vkcs.getImagesImage({\n    visibility: \"public\",\n    \"default\": true,\n    properties: {\n        mcs_os_distro: \"debian\",\n        mcs_os_version: \"12\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\ndebian = vkcs.get_images_image(visibility=\"public\",\n    default=True,\n    properties={\n        \"mcs_os_distro\": \"debian\",\n        \"mcs_os_version\": \"12\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var debian = Vkcs.GetImagesImage.Invoke(new()\n    {\n        Visibility = \"public\",\n        Default = true,\n        Properties = \n        {\n            { \"mcs_os_distro\", \"debian\" },\n            { \"mcs_os_version\", \"12\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.LookupImagesImage(ctx, \u0026vkcs.LookupImagesImageArgs{\n\t\t\tVisibility: pulumi.StringRef(\"public\"),\n\t\t\tDefault:    pulumi.BoolRef(true),\n\t\t\tProperties: map[string]interface{}{\n\t\t\t\t\"mcs_os_distro\":  \"debian\",\n\t\t\t\t\"mcs_os_version\": \"12\",\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.vkcs.VkcsFunctions;\nimport com.pulumi.vkcs.inputs.GetImagesImageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var debian = VkcsFunctions.getImagesImage(GetImagesImageArgs.builder()\n            .visibility(\"public\")\n            .default_(true)\n            .properties(Map.ofEntries(\n                Map.entry(\"mcs_os_distro\", \"debian\"),\n                Map.entry(\"mcs_os_version\", \"12\")\n            ))\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  debian:\n    fn::invoke:\n      function: vkcs:getImagesImage\n      arguments:\n        visibility: public\n        default: true\n        properties:\n          mcs_os_distro: debian\n          mcs_os_version: '12'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n### User image\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst eurolinux9 = vkcs.getImagesImage({\n    tag: \"tf-example\",\n    mostRecent: true,\n    properties: {\n        mcs_os_distro: \"eurolinux\",\n        mcs_os_version: \"9\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\neurolinux9 = vkcs.get_images_image(tag=\"tf-example\",\n    most_recent=True,\n    properties={\n        \"mcs_os_distro\": \"eurolinux\",\n        \"mcs_os_version\": \"9\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var eurolinux9 = Vkcs.GetImagesImage.Invoke(new()\n    {\n        Tag = \"tf-example\",\n        MostRecent = true,\n        Properties = \n        {\n            { \"mcs_os_distro\", \"eurolinux\" },\n            { \"mcs_os_version\", \"9\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.LookupImagesImage(ctx, \u0026vkcs.LookupImagesImageArgs{\n\t\t\tTag:        pulumi.StringRef(\"tf-example\"),\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tProperties: map[string]interface{}{\n\t\t\t\t\"mcs_os_distro\":  \"eurolinux\",\n\t\t\t\t\"mcs_os_version\": \"9\",\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.vkcs.VkcsFunctions;\nimport com.pulumi.vkcs.inputs.GetImagesImageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var eurolinux9 = VkcsFunctions.getImagesImage(GetImagesImageArgs.builder()\n            .tag(\"tf-example\")\n            .mostRecent(true)\n            .properties(Map.ofEntries(\n                Map.entry(\"mcs_os_distro\", \"eurolinux\"),\n                Map.entry(\"mcs_os_version\", \"9\")\n            ))\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  eurolinux9:\n    fn::invoke:\n      function: vkcs:getImagesImage\n      arguments:\n        tag: tf-example\n        mostRecent: true\n        properties:\n          mcs_os_distro: eurolinux\n          mcs_os_version: '9'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getImagesImage.\n","properties":{"default":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Search for an image that is available for virtual machine creation.\u003cbr\u003e**New since v0.4.2**.\n"},"id":{"type":"string","description":"optional *string* \u0026rarr;  The UUID of the image.\n"},"memberStatus":{"type":"string","description":"optional *string* \u0026rarr;  Status for adding a new member (tenant) to an image member list.\n"},"mostRecent":{"type":"boolean","description":"optional *boolean* \u0026rarr;  If more than one result is returned, use the most recent image.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  The name of the image.\n"},"owner":{"type":"string","description":"optional *string* \u0026rarr;  The owner (UUID) of the image.\n"},"properties":{"type":"object","additionalProperties":{"type":"string"},"description":"optional *map of* *string* \u0026rarr;  A map of key/value pairs to match an image with. All specified properties must be matched. Unlike other options filtering by \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 does by client on the result of search query. Filtering is applied if server response contains at least 2 images. In case there is only one image 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 ignores.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Image client. An Image client is needed to create an Image that can be used with a compute instance. If 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"},"sizeMax":{"type":"number","description":"optional *number* \u0026rarr;  The maximum size (in bytes) of the image to return.\n"},"sizeMin":{"type":"number","description":"optional *number* \u0026rarr;  The minimum size (in bytes) of the image to return.\n"},"tag":{"type":"string","description":"optional *string* \u0026rarr;  Search for images with a specific tag.\n"},"visibility":{"type":"string","description":"optional *string* \u0026rarr;  The visibility of the image. Must be one of \"public\", \"private\", \"community\", or \"shared\".\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getImagesImage.\n","properties":{"checksum":{"description":"*string* \u0026rarr;  The checksum of the data associated with the image.\n","type":"string"},"containerFormat":{"description":"*string* \u0026rarr;  The format of the image's container.\n","type":"string"},"createdAt":{"description":"*string* \u0026rarr;  The date the image was created.\n","type":"string"},"default":{"type":"boolean"},"diskFormat":{"description":"*string* \u0026rarr;  The format of the image's disk.\n","type":"string"},"file":{"description":"*string* \u0026rarr;  The trailing path after the endpoint that represent the location of the image or the path to retrieve it.\n","type":"string"},"id":{"type":"string"},"memberStatus":{"type":"string"},"metadata":{"additionalProperties":{"type":"string"},"description":"*map of* *string* \u0026rarr;  The metadata associated with the image. Image metadata allow for meaningfully define the image properties and tags. See https://docs.openstack.org/glance/latest/user/metadefs-concepts.html.\n","type":"object"},"minDiskGb":{"description":"*number* \u0026rarr;  The minimum amount of disk space required to use the image.\n","type":"number"},"minRamMb":{"description":"*number* \u0026rarr;  The minimum amount of ram required to use the image.\n","type":"number"},"mostRecent":{"type":"boolean"},"name":{"type":"string"},"owner":{"type":"string"},"properties":{"additionalProperties":{"type":"string"},"type":"object"},"protected":{"description":"*boolean* \u0026rarr;  Whether or not the image is protected.\n","type":"boolean"},"region":{"type":"string"},"schema":{"description":"*string* \u0026rarr;  The path to the JSON-schema that represent the image or image\n","type":"string"},"sizeBytes":{"description":"*number* \u0026rarr;  The size of the image (in bytes).\n","type":"number"},"sizeMax":{"type":"number"},"sizeMin":{"type":"number"},"tag":{"type":"string"},"tags":{"description":"*set of* *string* \u0026rarr;  The tags list of the image.\n","items":{"type":"string"},"type":"array"},"updatedAt":{"description":"*string* \u0026rarr;  The date the image was last updated.\n","type":"string"},"visibility":{"type":"string"}},"required":["checksum","containerFormat","createdAt","diskFormat","file","metadata","minDiskGb","minRamMb","protected","region","schema","sizeBytes","tags","updatedAt"],"type":"object"}},"vkcs:index/getImagesImages:getImagesImages":{"description":"Use this data source to get information on VKCS images.\n\n**New since v0.4.2**.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst images = vkcs.getImagesImages({\n    visibility: \"public\",\n    \"default\": true,\n    properties: {\n        mcs_os_distro: \"debian\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\nimages = vkcs.get_images_images(visibility=\"public\",\n    default=True,\n    properties={\n        \"mcs_os_distro\": \"debian\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var images = Vkcs.GetImagesImages.Invoke(new()\n    {\n        Visibility = \"public\",\n        Default = true,\n        Properties = \n        {\n            { \"mcs_os_distro\", \"debian\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.GetImagesImages(ctx, \u0026vkcs.GetImagesImagesArgs{\n\t\t\tVisibility: pulumi.StringRef(\"public\"),\n\t\t\tDefault:    pulumi.BoolRef(true),\n\t\t\tProperties: map[string]interface{}{\n\t\t\t\t\"mcs_os_distro\": \"debian\",\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.vkcs.VkcsFunctions;\nimport com.pulumi.vkcs.inputs.GetImagesImagesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var images = VkcsFunctions.getImagesImages(GetImagesImagesArgs.builder()\n            .visibility(\"public\")\n            .default_(true)\n            .properties(Map.of(\"mcs_os_distro\", \"debian\"))\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  images:\n    fn::invoke:\n      function: vkcs:getImagesImages\n      arguments:\n        visibility: public\n        default: true\n        properties:\n          mcs_os_distro: debian\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getImagesImages.\n","properties":{"createdAt":{"type":"string","description":"optional *string* \u0026rarr;  Date filter to select images with\u003cspan pulumi-lang-nodejs=\" createdAt \" pulumi-lang-dotnet=\" CreatedAt \" pulumi-lang-go=\" createdAt \" pulumi-lang-python=\" created_at \" pulumi-lang-yaml=\" createdAt \" pulumi-lang-java=\" createdAt \"\u003e created_at \u003c/span\u003ematching the specified criteria. Value should be either RFC3339 formatted time or time filter in format `filter:time`, where \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 is one of [eq, neq, gt, gte, lt, lte] and \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 is RFC3339 formatted time.\n"},"default":{"type":"boolean","description":"optional *boolean* \u0026rarr;  The flag used to filter images based on whether they are available for virtual machine creation.\n"},"owner":{"type":"string","description":"optional *string* \u0026rarr;  The ID of the owner of images.\n"},"properties":{"type":"object","additionalProperties":{"type":"string"},"description":"optional *map of* *string* \u0026rarr;  Search for images with specific properties.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Images client. If 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"},"sizeMax":{"type":"number","description":"optional *number* \u0026rarr;  The maximum size (in bytes) of images to return.\n"},"sizeMin":{"type":"number","description":"optional *number* \u0026rarr;  The minimum size (in bytes) of images to return.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"optional *string* \u0026rarr;  Search for images with specific tags.\n"},"updatedAt":{"type":"string","description":"optional *string* \u0026rarr;  Date filter to select images with\u003cspan pulumi-lang-nodejs=\" updatedAt \" pulumi-lang-dotnet=\" UpdatedAt \" pulumi-lang-go=\" updatedAt \" pulumi-lang-python=\" updated_at \" pulumi-lang-yaml=\" updatedAt \" pulumi-lang-java=\" updatedAt \"\u003e updated_at \u003c/span\u003ematching the specified criteria. Value should be either RFC3339 formatted time or time filter in format `filter:time`, where \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 is one of [eq, neq, gt, gte, lt, lte] and \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 is RFC3339 formatted time.\n"},"visibility":{"type":"string","description":"optional *string* \u0026rarr;  The visibility of images. Must be one of \"public\", \"private\", \"community\", or \"shared\".\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getImagesImages.\n","properties":{"createdAt":{"type":"string"},"default":{"type":"boolean"},"id":{"description":"*string* \u0026rarr;  ID of an image.\n","type":"string"},"images":{"description":"*list* \u0026rarr;  Images matching specified criteria.\n","items":{"$ref":"#/types/vkcs:index%2FgetImagesImagesImage:getImagesImagesImage"},"type":"array"},"owner":{"type":"string"},"properties":{"additionalProperties":{"type":"string"},"description":"*map of* *string* \u0026rarr;  Properties associated with an image.\n","type":"object"},"region":{"type":"string"},"sizeMax":{"type":"number"},"sizeMin":{"type":"number"},"tags":{"items":{"type":"string"},"type":"array"},"updatedAt":{"type":"string"},"visibility":{"type":"string"}},"required":["id","images","region"],"type":"object"}},"vkcs:index/getKeymanagerContainer:getKeymanagerContainer":{"description":"Use this data source to get the ID of an available Key container.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst lbCert = vkcs.getKeymanagerContainer({\n    name: \"container-tf-example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\nlb_cert = vkcs.get_keymanager_container(name=\"container-tf-example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var lbCert = Vkcs.GetKeymanagerContainer.Invoke(new()\n    {\n        Name = \"container-tf-example\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.LookupKeymanagerContainer(ctx, \u0026vkcs.LookupKeymanagerContainerArgs{\n\t\t\tName: pulumi.StringRef(\"container-tf-example\"),\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.vkcs.VkcsFunctions;\nimport com.pulumi.vkcs.inputs.GetKeymanagerContainerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var lbCert = VkcsFunctions.getKeymanagerContainer(GetKeymanagerContainerArgs.builder()\n            .name(\"container-tf-example\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  lbCert:\n    fn::invoke:\n      function: vkcs:getKeymanagerContainer\n      arguments:\n        name: container-tf-example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getKeymanagerContainer.\n","properties":{"name":{"type":"string","description":"optional *string* \u0026rarr;  The Container name.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the VKCS Key Manager client. If 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"}},"type":"object"},"outputs":{"description":"A collection of values returned by getKeymanagerContainer.\n","properties":{"acls":{"description":"*list* \u0026rarr;  ACLs assigned to a container.\n","items":{"$ref":"#/types/vkcs:index%2FgetKeymanagerContainerAcl:getKeymanagerContainerAcl"},"type":"array"},"consumers":{"description":"*list* \u0026rarr;  The list of the container consumers.\n","items":{"$ref":"#/types/vkcs:index%2FgetKeymanagerContainerConsumer:getKeymanagerContainerConsumer"},"type":"array"},"containerRef":{"description":"*string* \u0026rarr;  The container reference / where to find the container.\n","type":"string"},"createdAt":{"description":"*string* \u0026rarr;  The date the container was created.\n","type":"string"},"creatorId":{"description":"*string* \u0026rarr;  The creator of the container.\n","type":"string"},"id":{"description":"*string* \u0026rarr;  ID of the resource.\n","type":"string"},"name":{"description":"*string*\n","type":"string"},"region":{"type":"string"},"secretRefs":{"description":"*set* \u0026rarr;  A set of dictionaries containing references to secrets.\n","items":{"$ref":"#/types/vkcs:index%2FgetKeymanagerContainerSecretRef:getKeymanagerContainerSecretRef"},"type":"array"},"status":{"description":"*string* \u0026rarr;  The status of the container.\n","type":"string"},"type":{"description":"*string* \u0026rarr;  The container type.\n","type":"string"},"updatedAt":{"description":"*string* \u0026rarr;  The date the container was last updated.\n","type":"string"}},"required":["acls","consumers","containerRef","createdAt","creatorId","id","name","region","secretRefs","status","type","updatedAt"],"type":"object"}},"vkcs:index/getKeymanagerSecret:getKeymanagerSecret":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst certificate = vkcs.getKeymanagerSecret({\n    secretType: \"certificate\",\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\ncertificate = vkcs.get_keymanager_secret(secret_type=\"certificate\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var certificate = Vkcs.GetKeymanagerSecret.Invoke(new()\n    {\n        SecretType = \"certificate\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.LookupKeymanagerSecret(ctx, \u0026vkcs.LookupKeymanagerSecretArgs{\n\t\t\tSecretType: pulumi.StringRef(\"certificate\"),\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.vkcs.VkcsFunctions;\nimport com.pulumi.vkcs.inputs.GetKeymanagerSecretArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var certificate = VkcsFunctions.getKeymanagerSecret(GetKeymanagerSecretArgs.builder()\n            .secretType(\"certificate\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  certificate:\n    fn::invoke:\n      function: vkcs:getKeymanagerSecret\n      arguments:\n        secretType: certificate\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Date Filters\n\nThe values for the \u003cspan pulumi-lang-nodejs=\"`expirationFilter`\" pulumi-lang-dotnet=\"`ExpirationFilter`\" pulumi-lang-go=\"`expirationFilter`\" pulumi-lang-python=\"`expiration_filter`\" pulumi-lang-yaml=\"`expirationFilter`\" pulumi-lang-java=\"`expirationFilter`\"\u003e`expiration_filter`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`createdAtFilter`\" pulumi-lang-dotnet=\"`CreatedAtFilter`\" pulumi-lang-go=\"`createdAtFilter`\" pulumi-lang-python=\"`created_at_filter`\" pulumi-lang-yaml=\"`createdAtFilter`\" pulumi-lang-java=\"`createdAtFilter`\"\u003e`created_at_filter`\u003c/span\u003e, and\n\u003cspan pulumi-lang-nodejs=\"`updatedAtFilter`\" pulumi-lang-dotnet=\"`UpdatedAtFilter`\" pulumi-lang-go=\"`updatedAtFilter`\" pulumi-lang-python=\"`updated_at_filter`\" pulumi-lang-yaml=\"`updatedAtFilter`\" pulumi-lang-java=\"`updatedAtFilter`\"\u003e`updated_at_filter`\u003c/span\u003e parameters are comma-separated lists of time stamps in\nRFC3339 format. The time stamps can be prefixed with any of these comparison\noperators: *gt:* (greater-than), *gte:* (greater-than-or-equal), *lt:*\n(less-than), *lte:* (less-than-or-equal).\n\nFor example, to get a passphrase a Secret with CBC moda, that will expire in\nJanuary of 2020:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst dateFilterExample = vkcs.getKeymanagerSecret({\n    mode: \"cbc\",\n    secretType: \"passphrase\",\n    expirationFilter: \"gt:2020-01-01T00:00:00Z\",\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\ndate_filter_example = vkcs.get_keymanager_secret(mode=\"cbc\",\n    secret_type=\"passphrase\",\n    expiration_filter=\"gt:2020-01-01T00:00:00Z\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var dateFilterExample = Vkcs.GetKeymanagerSecret.Invoke(new()\n    {\n        Mode = \"cbc\",\n        SecretType = \"passphrase\",\n        ExpirationFilter = \"gt:2020-01-01T00:00:00Z\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.LookupKeymanagerSecret(ctx, \u0026vkcs.LookupKeymanagerSecretArgs{\n\t\t\tMode:             pulumi.StringRef(\"cbc\"),\n\t\t\tSecretType:       pulumi.StringRef(\"passphrase\"),\n\t\t\tExpirationFilter: pulumi.StringRef(\"gt:2020-01-01T00:00:00Z\"),\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.vkcs.VkcsFunctions;\nimport com.pulumi.vkcs.inputs.GetKeymanagerSecretArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var dateFilterExample = VkcsFunctions.getKeymanagerSecret(GetKeymanagerSecretArgs.builder()\n            .mode(\"cbc\")\n            .secretType(\"passphrase\")\n            .expirationFilter(\"gt:2020-01-01T00:00:00Z\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  dateFilterExample:\n    fn::invoke:\n      function: vkcs:getKeymanagerSecret\n      arguments:\n        mode: cbc\n        secretType: passphrase\n        expirationFilter: gt:2020-01-01T00:00:00Z\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getKeymanagerSecret.\n","properties":{"aclOnly":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Select the Secret with an ACL that contains the user. Project scope is ignored. 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"},"algorithm":{"type":"string","description":"optional *string* \u0026rarr;  The Secret algorithm.\n"},"bitLength":{"type":"number","description":"optional *number* \u0026rarr;  The Secret bit length.\n"},"createdAtFilter":{"type":"string","description":"optional *string* \u0026rarr;  Date filter to select the Secret with created matching the specified criteria. See Date Filters below for more detail.\n"},"expirationFilter":{"type":"string","description":"optional *string* \u0026rarr;  Date filter to select the Secret with expiration matching the specified criteria. See Date Filters below for more detail.\n"},"mode":{"type":"string","description":"optional *string* \u0026rarr;  The Secret mode.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  The Secret name.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the service client. If 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"},"secretType":{"type":"string","description":"optional *string* \u0026rarr;  The Secret type. For more information see [Secret types](https://docs.openstack.org/barbican/latest/api/reference/secret_types.html).\n"},"updatedAtFilter":{"type":"string","description":"optional *string* \u0026rarr;  Date filter to select the Secret with updated matching the specified criteria. See Date Filters below for more detail.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getKeymanagerSecret.\n","properties":{"aclOnly":{"type":"boolean"},"acls":{"description":"*list* \u0026rarr;  The list of ACLs assigned to a secret.\n","items":{"$ref":"#/types/vkcs:index%2FgetKeymanagerSecretAcl:getKeymanagerSecretAcl"},"type":"array"},"algorithm":{"type":"string"},"bitLength":{"type":"number"},"contentTypes":{"additionalProperties":{"type":"string"},"description":"*map of* *string* \u0026rarr;  The map of the content types, assigned on the secret.\n","type":"object"},"createdAt":{"description":"*string* \u0026rarr;  The date the secret was created.\n","type":"string"},"createdAtFilter":{"type":"string"},"creatorId":{"description":"*string* \u0026rarr;  The creator of the secret.\n","type":"string"},"expiration":{"description":"*string* \u0026rarr;  The date the secret will expire.\n","type":"string"},"expirationFilter":{"type":"string"},"id":{"description":"*string* \u0026rarr;  ID of the resource.\n","type":"string"},"metadata":{"additionalProperties":{"type":"string"},"description":"*map of* *string* \u0026rarr;  The map of metadata, assigned on the secret, which has been explicitly and implicitly added.\n","type":"object"},"mode":{"type":"string"},"name":{"type":"string"},"payload":{"description":"*string* \u0026rarr;  The secret payload.\n","secret":true,"type":"string"},"payloadContentEncoding":{"description":"*string* \u0026rarr;  The Secret encoding.\n","type":"string"},"payloadContentType":{"description":"*string* \u0026rarr;  The Secret content type.\n","type":"string"},"region":{"type":"string"},"secretRef":{"description":"*string* \u0026rarr;  The secret reference / where to find the secret.\n","type":"string"},"secretType":{"type":"string"},"status":{"description":"*string* \u0026rarr;  The status of the secret.\n","type":"string"},"updatedAt":{"description":"*string* \u0026rarr;  The date the secret was last updated.\n","type":"string"},"updatedAtFilter":{"type":"string"}},"required":["acls","algorithm","bitLength","contentTypes","createdAt","creatorId","expiration","id","metadata","mode","name","payload","payloadContentEncoding","payloadContentType","region","secretRef","secretType","status","updatedAt"],"type":"object"}},"vkcs:index/getKubernetesAddon:getKubernetesAddon":{"description":"Provides a kubernetes cluster addon datasource. This can be used to get information about an VKCS cluster addon.\n\n**New since v0.3.0**.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst kubePrometheusStack = vkcs.getKubernetesAddon({\n    clusterId: k8sCluster.id,\n    name: \"kube-prometheus-stack\",\n    version: \"68.3.3\",\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\nkube_prometheus_stack = vkcs.get_kubernetes_addon(cluster_id=k8s_cluster[\"id\"],\n    name=\"kube-prometheus-stack\",\n    version=\"68.3.3\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var kubePrometheusStack = Vkcs.GetKubernetesAddon.Invoke(new()\n    {\n        ClusterId = k8sCluster.Id,\n        Name = \"kube-prometheus-stack\",\n        Version = \"68.3.3\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.LookupKubernetesAddon(ctx, \u0026vkcs.LookupKubernetesAddonArgs{\n\t\t\tClusterId: k8sCluster.Id,\n\t\t\tName:      \"kube-prometheus-stack\",\n\t\t\tVersion:   \"68.3.3\",\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.vkcs.VkcsFunctions;\nimport com.pulumi.vkcs.inputs.GetKubernetesAddonArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var kubePrometheusStack = VkcsFunctions.getKubernetesAddon(GetKubernetesAddonArgs.builder()\n            .clusterId(k8sCluster.id())\n            .name(\"kube-prometheus-stack\")\n            .version(\"68.3.3\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  kubePrometheusStack:\n    fn::invoke:\n      function: vkcs:getKubernetesAddon\n      arguments:\n        clusterId: ${k8sCluster.id}\n        name: kube-prometheus-stack\n        version: 68.3.3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getKubernetesAddon.\n","properties":{"clusterId":{"type":"string","description":"**required** *string* \u0026rarr;  The ID of the kubernetes cluster.\n"},"name":{"type":"string","description":"**required** *string* \u0026rarr;  An addon name to filter by.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the service client. If 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"},"version":{"type":"string","description":"**required** *string* \u0026rarr;  An addon version to filter by.\n"}},"type":"object","required":["clusterId","name","version"]},"outputs":{"description":"A collection of values returned by getKubernetesAddon.\n","properties":{"clusterId":{"type":"string"},"configurationValues":{"description":"*string* \u0026rarr;  Configuration code for the addon. If the addon was installed in the cluster, this value is the user-provided configuration code, otherwise it is a template for this cluster.\n","type":"string"},"id":{"description":"*string* \u0026rarr;  ID of the resource.\n","type":"string"},"installed":{"description":"*boolean* \u0026rarr;  Whether the addon was installed in the cluster.\n","type":"boolean"},"name":{"type":"string"},"region":{"type":"string"},"version":{"type":"string"}},"required":["clusterId","configurationValues","id","installed","name","region","version"],"type":"object"}},"vkcs:index/getKubernetesAddons:getKubernetesAddons":{"description":"Provides a kubernetes cluster addons datasource. This can be used to get information about an VKCS cluster addons.\n\n**New since v0.3.0**.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst clusterAddons = vkcs.getKubernetesAddons({\n    clusterId: k8sCluster.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\ncluster_addons = vkcs.get_kubernetes_addons(cluster_id=k8s_cluster[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var clusterAddons = Vkcs.GetKubernetesAddons.Invoke(new()\n    {\n        ClusterId = k8sCluster.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.GetKubernetesAddons(ctx, \u0026vkcs.GetKubernetesAddonsArgs{\n\t\t\tClusterId: k8sCluster.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.vkcs.VkcsFunctions;\nimport com.pulumi.vkcs.inputs.GetKubernetesAddonsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var clusterAddons = VkcsFunctions.getKubernetesAddons(GetKubernetesAddonsArgs.builder()\n            .clusterId(k8sCluster.id())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  clusterAddons:\n    fn::invoke:\n      function: vkcs:getKubernetesAddons\n      arguments:\n        clusterId: ${k8sCluster.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getKubernetesAddons.\n","properties":{"clusterId":{"type":"string","description":"**required** *string* \u0026rarr;  The ID of the kubernetes cluster.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the service client. If 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"}},"type":"object","required":["clusterId"]},"outputs":{"description":"A collection of values returned by getKubernetesAddons.\n","properties":{"addons":{"description":"*list*\n","items":{"$ref":"#/types/vkcs:index%2FgetKubernetesAddonsAddon:getKubernetesAddonsAddon"},"type":"array"},"clusterId":{"type":"string"},"id":{"description":"*string* \u0026rarr;  ID of the resource.\n","type":"string"},"region":{"type":"string"}},"required":["addons","clusterId","id","region"],"type":"object"}},"vkcs:index/getKubernetesCluster:getKubernetesCluster":{"description":"Use this data source to get the ID of an available VKCS kubernetes cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst k8sCluster = vkcs.getKubernetesCluster({\n    id: k8sClusterVkcsKubernetesCluster.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\nk8s_cluster = vkcs.get_kubernetes_cluster(id=k8s_cluster_vkcs_kubernetes_cluster[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var k8sCluster = Vkcs.GetKubernetesCluster.Invoke(new()\n    {\n        Id = k8sClusterVkcsKubernetesCluster.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.LookupKubernetesCluster(ctx, \u0026vkcs.LookupKubernetesClusterArgs{\n\t\t\tId: pulumi.StringRef(k8sClusterVkcsKubernetesCluster.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.vkcs.VkcsFunctions;\nimport com.pulumi.vkcs.inputs.GetKubernetesClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var k8sCluster = VkcsFunctions.getKubernetesCluster(GetKubernetesClusterArgs.builder()\n            .id(k8sClusterVkcsKubernetesCluster.id())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  k8sCluster:\n    fn::invoke:\n      function: vkcs:getKubernetesCluster\n      arguments:\n        id: ${k8sClusterVkcsKubernetesCluster.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getKubernetesCluster.\n","properties":{"clusterId":{"type":"string","description":"optional deprecated *string* \u0026rarr;  The UUID of the Kubernetes cluster template. \u003cbr\u003e**Note:** Only one of \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=\"`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 must be specified. **Deprecated** This argument is deprecated, please, use 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 attribute instead.\n","deprecationMessage":"Deprecated"},"dnsDomain":{"type":"string","description":"optional *string* \u0026rarr;  Custom DNS cluster domain.\n"},"id":{"type":"string","description":"optional *string* \u0026rarr;  The UUID of the Kubernetes cluster template. \u003cbr\u003e**Note:** Only one of \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=\"`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 must be specified.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  The name of the cluster. \u003cbr\u003e**Note:** Only one of \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=\"`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 must be specified.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Container Infra client. If 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"}},"type":"object"},"outputs":{"description":"A collection of values returned by getKubernetesCluster.\n","properties":{"apiAddress":{"description":"*string* \u0026rarr;  COE API address.\n","type":"string"},"apiLbFip":{"description":"*string* \u0026rarr;  API LoadBalancer fip.\n","type":"string"},"apiLbVip":{"description":"*string* \u0026rarr;  API LoadBalancer vip.\n","type":"string"},"availabilityZone":{"description":"*string* \u0026rarr;  Availability zone of the cluster.\n","type":"string"},"availabilityZones":{"description":"*set of* *string* \u0026rarr;  Availability zones of the regional cluster\u003cbr\u003e**New since v0.8.3**.\n","items":{"type":"string"},"type":"array"},"clusterId":{"deprecationMessage":"Deprecated","type":"string"},"clusterTemplateId":{"description":"*string* \u0026rarr;  The UUID of the V1 Container Infra cluster template.\n","type":"string"},"clusterType":{"description":"*string* \u0026rarr;  Type of the kubernetes cluster, may be \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 or \u003cspan pulumi-lang-nodejs=\"`regional`\" pulumi-lang-dotnet=\"`Regional`\" pulumi-lang-go=\"`regional`\" pulumi-lang-python=\"`regional`\" pulumi-lang-yaml=\"`regional`\" pulumi-lang-java=\"`regional`\"\u003e`regional`\u003c/span\u003e\u003cbr\u003e**New since v0.8.3**.\n","type":"string"},"createdAt":{"description":"*string* \u0026rarr;  The time at which cluster was created.\n","type":"string"},"discoveryUrl":{"description":"*string* \u0026rarr;  The URL used for cluster node discovery.\n","type":"string"},"dnsDomain":{"type":"string"},"floatingIpEnabled":{"description":"*boolean* \u0026rarr;  Indicates whether floating ip is enabled for cluster.\n","type":"boolean"},"id":{"type":"string"},"ingressFloatingIp":{"deprecationMessage":"Deprecated","description":"*string* \u0026rarr;  Floating IP created for ingress service. **Deprecated** This argument is deprecated as Ingress controller is not currently installed by default.\n","type":"string"},"insecureRegistries":{"description":"*string* \u0026rarr;  Addresses of registries from which you can download images without checking certificates.\n","items":{"type":"string"},"type":"array"},"k8sConfig":{"description":"*string* \u0026rarr;  Kubeconfig for cluster\n","type":"string"},"keypair":{"deprecationMessage":"Deprecated","description":"*string* \u0026rarr;  The name of the Compute service SSH keypair. **Deprecated** This argument is deprecated, please do not use it.\n","type":"string"},"labels":{"additionalProperties":{"type":"string"},"description":"*map of* *string* \u0026rarr;  The list of key value pairs representing additional properties of the cluster.\n","type":"object"},"loadbalancerSubnetId":{"description":"*string* \u0026rarr;  The ID of load balancer's subnet.\n","type":"string"},"masterAddresses":{"description":"*string* \u0026rarr;  IP addresses of the master node of the cluster.\n","items":{"type":"string"},"type":"array"},"masterCount":{"description":"*number* \u0026rarr;  The number of master nodes for the cluster.\n","type":"number"},"masterFlavor":{"description":"*string* \u0026rarr;  The ID of the flavor for the master nodes.\n","type":"string"},"name":{"type":"string"},"networkId":{"description":"*string* \u0026rarr;  UUID of the cluster's network.\n","type":"string"},"podsNetworkCidr":{"description":"*string* \u0026rarr;  Network cidr of k8s virtual network.\n","type":"string"},"projectId":{"description":"*string* \u0026rarr;  The project of the cluster.\n","type":"string"},"region":{"type":"string"},"registryAuthPassword":{"description":"*string* \u0026rarr;  Docker registry access password.\n","type":"string"},"stackId":{"description":"*string* \u0026rarr;  UUID of the Orchestration service stack.\n","type":"string"},"status":{"description":"*string* \u0026rarr;  Current state of a cluster.\n","type":"string"},"subnetId":{"description":"*string* \u0026rarr;  UUID of the cluster's subnet.\n","type":"string"},"syncSecurityPolicy":{"description":"*boolean* \u0026rarr;  Enables syncing of security policies of cluster.\u003cbr\u003e**New since v0.7.0**.\n","type":"boolean"},"updatedAt":{"description":"*string* \u0026rarr;  The time at which cluster was created.\n","type":"string"},"userId":{"description":"*string* \u0026rarr;  The user of the cluster.\n","type":"string"}},"required":["apiAddress","apiLbFip","apiLbVip","availabilityZone","availabilityZones","clusterId","clusterTemplateId","clusterType","createdAt","discoveryUrl","dnsDomain","floatingIpEnabled","id","ingressFloatingIp","insecureRegistries","k8sConfig","keypair","labels","loadbalancerSubnetId","masterAddresses","masterCount","masterFlavor","name","networkId","podsNetworkCidr","projectId","region","registryAuthPassword","stackId","status","subnetId","syncSecurityPolicy","updatedAt","userId"],"type":"object"}},"vkcs:index/getKubernetesClustertemplate:getKubernetesClustertemplate":{"description":"Use this data source to get the ID of an available VKCS kubernetes cluster template.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst k8s31 = vkcs.getKubernetesClustertemplate({\n    version: \"1.31\",\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\nk8s31 = vkcs.get_kubernetes_clustertemplate(version=\"1.31\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var k8s31 = Vkcs.GetKubernetesClustertemplate.Invoke(new()\n    {\n        Version = \"1.31\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.GetKubernetesClustertemplate(ctx, \u0026vkcs.GetKubernetesClustertemplateArgs{\n\t\t\tVersion: pulumi.StringRef(\"1.31\"),\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.vkcs.VkcsFunctions;\nimport com.pulumi.vkcs.inputs.GetKubernetesClustertemplateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var k8s31 = VkcsFunctions.getKubernetesClustertemplate(GetKubernetesClustertemplateArgs.builder()\n            .version(\"1.31\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  k8s31:\n    fn::invoke:\n      function: vkcs:getKubernetesClustertemplate\n      arguments:\n        version: '1.31'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getKubernetesClustertemplate.\n","properties":{"clusterTemplateUuid":{"type":"string","description":"optional deprecated *string* \u0026rarr;  The UUID of the cluster template. \u003cbr\u003e**Note:** Only one of \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=\"`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, or \u003cspan pulumi-lang-nodejs=\"`clusterTemplateUuid`\" pulumi-lang-dotnet=\"`ClusterTemplateUuid`\" pulumi-lang-go=\"`clusterTemplateUuid`\" pulumi-lang-python=\"`cluster_template_uuid`\" pulumi-lang-yaml=\"`clusterTemplateUuid`\" pulumi-lang-java=\"`clusterTemplateUuid`\"\u003e`cluster_template_uuid`\u003c/span\u003e must be specified. **Deprecated** This argument is deprecated, please, use 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 attribute instead.\n","deprecationMessage":"Deprecated"},"id":{"type":"string","description":"optional *string* \u0026rarr;  The UUID of the cluster template. \u003cbr\u003e**Note:** Only one of \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=\"`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 or \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 must be specified.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  The name of the cluster template. \u003cbr\u003e**Note:** Only one of \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=\"`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 or \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 must be specified.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the V1 Container Infra client. If 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"},"version":{"type":"string","description":"optional *string* \u0026rarr;  Kubernetes version. Specify only major and minor versions (i.e. 1.32), patch versions are not used in cluster templates. \u003cbr\u003e**Note:** Only one of \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=\"`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, or \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 must be specified.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getKubernetesClustertemplate.\n","properties":{"apiserverPort":{"description":"*number* \u0026rarr;  The API server port for the Container Orchestration Engine for this cluster template.\n","type":"number"},"clusterDistro":{"description":"*string* \u0026rarr;  The distro for the cluster (fedora-atomic, coreos, etc.).\n","type":"string"},"clusterTemplateUuid":{"deprecationMessage":"Deprecated","type":"string"},"createdAt":{"description":"*string* \u0026rarr;  The time at which cluster template was created.\n","type":"string"},"deprecatedAt":{"description":"*string* \u0026rarr;  The time at which the cluster template is deprecated.\n","type":"string"},"dnsNameserver":{"description":"*string* \u0026rarr;  Address of the DNS nameserver that is used in nodes of the cluster.\n","type":"string"},"dockerStorageDriver":{"description":"*string* \u0026rarr;  Docker storage driver. Changing this updates the Docker storage driver of the existing cluster template.\n","type":"string"},"dockerVolumeSize":{"description":"*number* \u0026rarr;  The size (in GB) of the Docker volume.\n","type":"number"},"externalNetworkId":{"description":"*string* \u0026rarr;  The ID of the external network that will be used for the cluster.\n","type":"string"},"flavor":{"description":"*string* \u0026rarr;  The ID of flavor for the nodes of the cluster.\n","type":"string"},"floatingIpEnabled":{"description":"*boolean* \u0026rarr;  Indicates whether created cluster should create IP floating IP for every node or not.\n","type":"boolean"},"id":{"type":"string"},"image":{"description":"*string* \u0026rarr;  The reference to an image that is used for nodes of the cluster.\n","type":"string"},"insecureRegistry":{"description":"*string* \u0026rarr;  The insecure registry URL for the cluster template.\n","type":"string"},"keypairId":{"description":"*string* \u0026rarr;  The name of the Compute service SSH keypair.\n","type":"string"},"labels":{"additionalProperties":{"type":"string"},"description":"*map of* *string* \u0026rarr;  The list of key value pairs representing additional properties of the cluster template.\n","type":"object"},"masterFlavor":{"description":"*string* \u0026rarr;  The ID of flavor for the master nodes.\n","type":"string"},"masterLbEnabled":{"description":"*boolean* \u0026rarr;  Indicates whether created cluster should has a loadbalancer for master nodes or not.\n","type":"boolean"},"name":{"type":"string"},"networkDriver":{"description":"*string* \u0026rarr;  The name of the driver for the container network.\n","type":"string"},"noProxy":{"description":"*string* \u0026rarr;  A comma-separated list of IP addresses that shouldn't be used in the cluster.\n","type":"string"},"projectId":{"description":"*string* \u0026rarr;  The project of the cluster template.\n","type":"string"},"public":{"description":"*boolean* \u0026rarr;  Indicates whether cluster template should be public.\n","type":"boolean"},"region":{"type":"string"},"registryEnabled":{"description":"*boolean* \u0026rarr;  Indicates whether Docker registry is enabled in the cluster.\n","type":"boolean"},"serverType":{"description":"*string* \u0026rarr;  The server type for the cluster template.\n","type":"string"},"tlsDisabled":{"description":"*boolean* \u0026rarr;  Indicates whether the TLS should be disabled in the cluster.\n","type":"boolean"},"updatedAt":{"description":"*string* \u0026rarr;  The time at which cluster template was updated.\n","type":"string"},"userId":{"description":"*string* \u0026rarr;  The user of the cluster template.\n","type":"string"},"version":{"type":"string"},"volumeDriver":{"description":"*string* \u0026rarr;  The name of the driver that is used for the volumes of the cluster nodes.\n","type":"string"}},"required":["apiserverPort","clusterDistro","clusterTemplateUuid","createdAt","deprecatedAt","dnsNameserver","dockerStorageDriver","dockerVolumeSize","externalNetworkId","flavor","floatingIpEnabled","id","image","insecureRegistry","keypairId","labels","masterFlavor","masterLbEnabled","name","networkDriver","noProxy","projectId","public","region","registryEnabled","serverType","tlsDisabled","updatedAt","userId","version","volumeDriver"],"type":"object"}},"vkcs:index/getKubernetesClustertemplates:getKubernetesClustertemplates":{"description":"Use this data source to get a list of available VKCS Kubernetes Cluster Templates. To get details about each cluster template the data source can be combined with the \u003cspan pulumi-lang-nodejs=\"`vkcs.getKubernetesClustertemplate`\" pulumi-lang-dotnet=\"`vkcs.getKubernetesClustertemplate`\" pulumi-lang-go=\"`getKubernetesClustertemplate`\" pulumi-lang-python=\"`get_kubernetes_clustertemplate`\" pulumi-lang-yaml=\"`vkcs.getKubernetesClustertemplate`\" pulumi-lang-java=\"`vkcs.getKubernetesClustertemplate`\"\u003e`vkcs.getKubernetesClustertemplate`\u003c/span\u003e data source.\n\n## Example Usage\n\nEnabled VKCS Kubernetes Cluster Templates:\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst templates = vkcs.getKubernetesClustertemplates({});\nexport const availableTemplatesByName = templates.then(templates =\u003e .map(template =\u003e ({\n    name: template.name,\n    version: template.version,\n})));\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\ntemplates = vkcs.get_kubernetes_clustertemplates()\npulumi.export(\"availableTemplatesByName\", [{\n    \"name\": template.name,\n    \"version\": template.version,\n} for template in templates.cluster_templates])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var templates = Vkcs.GetKubernetesClustertemplates.Invoke();\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"availableTemplatesByName\"] = .Select(template =\u003e \n        {\n            return \n            {\n                { \"name\", template.Name },\n                { \"version\", template.Version },\n            };\n        }).ToList(),\n    };\n});\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getKubernetesClustertemplates.\n","properties":{"region":{"type":"string","description":"optional *string* \u0026rarr;  The region to obtain the service client. If 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.\u003cbr\u003e**New since v0.3.0**.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getKubernetesClustertemplates.\n","properties":{"clusterTemplates":{"description":"*list* \u0026rarr;  Available kubernetes cluster templates.\n","items":{"$ref":"#/types/vkcs:index%2FgetKubernetesClustertemplatesClusterTemplate:getKubernetesClustertemplatesClusterTemplate"},"type":"array"},"id":{"description":"*string* \u0026rarr;  Random identifier of the data source.\n","type":"string"},"region":{"type":"string"}},"required":["clusterTemplates","id","region"],"type":"object"}},"vkcs:index/getKubernetesNodeGroup:getKubernetesNodeGroup":{"description":"Use this data source to get information on VKCS Kubernetes cluster's node group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst k8sNodeGroup = vkcs.getKubernetesNodeGroup({\n    id: defaultNg.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\nk8s_node_group = vkcs.get_kubernetes_node_group(id=default_ng[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var k8sNodeGroup = Vkcs.GetKubernetesNodeGroup.Invoke(new()\n    {\n        Id = defaultNg.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.LookupKubernetesNodeGroup(ctx, \u0026vkcs.LookupKubernetesNodeGroupArgs{\n\t\t\tId: pulumi.StringRef(defaultNg.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.vkcs.VkcsFunctions;\nimport com.pulumi.vkcs.inputs.GetKubernetesNodeGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var k8sNodeGroup = VkcsFunctions.getKubernetesNodeGroup(GetKubernetesNodeGroupArgs.builder()\n            .id(defaultNg.id())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  k8sNodeGroup:\n    fn::invoke:\n      function: vkcs:getKubernetesNodeGroup\n      arguments:\n        id: ${defaultNg.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getKubernetesNodeGroup.\n","properties":{"autoscalingEnabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  `Deprecated: read-only field.` Determines whether the autoscaling is enabled.\n"},"flavorId":{"type":"string","description":"optional *string* \u0026rarr;  `Deprecated: read-only field.` The id of the flavor.\n"},"id":{"type":"string","description":"optional *string* \u0026rarr;  The UUID of the cluster's node group.\n"},"maxNodeUnavailable":{"type":"number","description":"optional *number* \u0026rarr;  `Deprecated: read-only field.` Specified as a percentage. The maximum number of nodes that can fail during an upgrade.\n"},"maxNodes":{"type":"number","description":"optional *number* \u0026rarr;  `Deprecated: read-only field.` The maximum amount of nodes in the node group.\n"},"minNodes":{"type":"number","description":"optional *number* \u0026rarr;  `Deprecated: read-only field.` The minimum amount of nodes in the node group.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  `Deprecated: read-only field.` The name of the node group.\n"},"nodeCount":{"type":"number","description":"optional *number* \u0026rarr;  `Deprecated: read-only field.` The count of nodes in the node group.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region to obtain the service client. If 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.\u003cbr\u003e**New since v0.4.0**.\n"},"uuid":{"type":"string","description":"optional deprecated *string* \u0026rarr;  The UUID of the cluster's node group. **Deprecated** This argument is deprecated, please, use 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 attribute instead.\n","deprecationMessage":"Deprecated"},"volumeSize":{"type":"number","description":"optional *number* \u0026rarr;  `Deprecated: read-only field.` The amount of memory in the volume in GB\n"},"volumeType":{"type":"string","description":"optional *string* \u0026rarr;  `Deprecated: read-only field.` The type of the volume.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getKubernetesNodeGroup.\n","properties":{"autoscalingEnabled":{"type":"boolean"},"availabilityZones":{"description":"*string* \u0026rarr;  The list of availability zones of the node group.\n","items":{"type":"string"},"type":"array"},"clusterId":{"description":"*string* \u0026rarr;  The UUID of cluster that node group belongs.\n","type":"string"},"flavorId":{"type":"string"},"id":{"type":"string"},"maxNodeUnavailable":{"type":"number"},"maxNodes":{"type":"number"},"minNodes":{"type":"number"},"name":{"description":"*string* \u0026rarr;  Name of a node.\n","type":"string"},"nodeCount":{"type":"number"},"nodes":{"description":"*list* \u0026rarr;  The list of node group's node objects.\n","items":{"$ref":"#/types/vkcs:index%2FgetKubernetesNodeGroupNode:getKubernetesNodeGroupNode"},"type":"array"},"region":{"type":"string"},"state":{"description":"*string* \u0026rarr;  Determines current state of node group (RUNNING, SHUTOFF, ERROR).\n","type":"string"},"uuid":{"deprecationMessage":"Deprecated","description":"*string* \u0026rarr;  UUID of a node.\n","type":"string"},"volumeSize":{"type":"number"},"volumeType":{"type":"string"}},"required":["autoscalingEnabled","availabilityZones","clusterId","flavorId","id","maxNodeUnavailable","maxNodes","minNodes","name","nodeCount","nodes","region","state","uuid","volumeSize","volumeType"],"type":"object"}},"vkcs:index/getKubernetesSecurityPolicyTemplate:getKubernetesSecurityPolicyTemplate":{"description":"Provides a kubernetes security policy template datasource. This can be used to get information about an VKCS kubernetes security policy template.\n\n**New since v0.7.0**.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst replicalimits = vkcs.getKubernetesSecurityPolicyTemplate({\n    name: \"k8sreplicalimits\",\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\nreplicalimits = vkcs.get_kubernetes_security_policy_template(name=\"k8sreplicalimits\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var replicalimits = Vkcs.GetKubernetesSecurityPolicyTemplate.Invoke(new()\n    {\n        Name = \"k8sreplicalimits\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.GetKubernetesSecurityPolicyTemplate(ctx, \u0026vkcs.GetKubernetesSecurityPolicyTemplateArgs{\n\t\t\tName: \"k8sreplicalimits\",\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.vkcs.VkcsFunctions;\nimport com.pulumi.vkcs.inputs.GetKubernetesSecurityPolicyTemplateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var replicalimits = VkcsFunctions.getKubernetesSecurityPolicyTemplate(GetKubernetesSecurityPolicyTemplateArgs.builder()\n            .name(\"k8sreplicalimits\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  replicalimits:\n    fn::invoke:\n      function: vkcs:getKubernetesSecurityPolicyTemplate\n      arguments:\n        name: k8sreplicalimits\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getKubernetesSecurityPolicyTemplate.\n","properties":{"name":{"type":"string","description":"**required** *string* \u0026rarr;  Name of the security policy template.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the service client. If 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"}},"type":"object","required":["name"]},"outputs":{"description":"A collection of values returned by getKubernetesSecurityPolicyTemplate.\n","properties":{"createdAt":{"description":"*string* \u0026rarr;  Template creation timestamp\n","type":"string"},"description":{"description":"*string* \u0026rarr;  Description of the security policy template.\n","type":"string"},"id":{"description":"*string* \u0026rarr;  ID of the resource.\n","type":"string"},"name":{"type":"string"},"region":{"type":"string"},"settingsDescription":{"description":"*string* \u0026rarr;  Security policy settings description.\n","type":"string"},"updatedAt":{"description":"*string* \u0026rarr;  Template update timestamp.\n","type":"string"},"version":{"description":"*string* \u0026rarr;  Version of the security policy template.\n","type":"string"}},"required":["createdAt","description","id","name","region","settingsDescription","updatedAt","version"],"type":"object"}},"vkcs:index/getKubernetesSecurityPolicyTemplates:getKubernetesSecurityPolicyTemplates":{"description":"Provides a kubernetes security policy templates datasource. This can be used to get information about all available VKCS kubernetes security policy templates.\n\n**New since v0.7.0**.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst templates = vkcs.getKubernetesSecurityPolicyTemplates({});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\ntemplates = vkcs.get_kubernetes_security_policy_templates()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var templates = Vkcs.GetKubernetesSecurityPolicyTemplates.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.GetKubernetesSecurityPolicyTemplates(ctx, \u0026vkcs.GetKubernetesSecurityPolicyTemplatesArgs{}, 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.vkcs.VkcsFunctions;\nimport com.pulumi.vkcs.inputs.GetKubernetesSecurityPolicyTemplatesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 = VkcsFunctions.getKubernetesSecurityPolicyTemplates(GetKubernetesSecurityPolicyTemplatesArgs.builder()\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  templates:\n    fn::invoke:\n      function: vkcs:getKubernetesSecurityPolicyTemplates\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getKubernetesSecurityPolicyTemplates.\n","properties":{"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the service client. If 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"}},"type":"object"},"outputs":{"description":"A collection of values returned by getKubernetesSecurityPolicyTemplates.\n","properties":{"id":{"description":"*string* \u0026rarr;  ID of the template.\n","type":"string"},"region":{"type":"string"},"securityPolicyTemplates":{"description":"*list* \u0026rarr;  Available kubernetes security policy templates.\n","items":{"$ref":"#/types/vkcs:index%2FgetKubernetesSecurityPolicyTemplatesSecurityPolicyTemplate:getKubernetesSecurityPolicyTemplatesSecurityPolicyTemplate"},"type":"array"}},"required":["id","region","securityPolicyTemplates"],"type":"object"}},"vkcs:index/getLbLoadbalancer:getLbLoadbalancer":{"description":"Use this data source to get the details of a loadbalancer\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst app = vkcs.getLbLoadbalancer({\n    id: appVkcsLbLoadbalancer.id,\n});\nconst appPort = app.then(app =\u003e vkcs.getNetworkingPort({\n    id: app.vipPortId,\n}));\nexport const usedVips = appPort.then(appPort =\u003e appPort.allFixedIps);\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\napp = vkcs.get_lb_loadbalancer(id=app_vkcs_lb_loadbalancer[\"id\"])\napp_port = vkcs.get_networking_port(id=app.vip_port_id)\npulumi.export(\"usedVips\", app_port.all_fixed_ips)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var app = Vkcs.GetLbLoadbalancer.Invoke(new()\n    {\n        Id = appVkcsLbLoadbalancer.Id,\n    });\n\n    var appPort = Vkcs.GetNetworkingPort.Invoke(new()\n    {\n        Id = app.Apply(getLbLoadbalancerResult =\u003e getLbLoadbalancerResult.VipPortId),\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"usedVips\"] = appPort.Apply(getNetworkingPortResult =\u003e getNetworkingPortResult.AllFixedIps),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tapp, err := vkcs.LookupLbLoadbalancer(ctx, \u0026vkcs.LookupLbLoadbalancerArgs{\n\t\t\tId: appVkcsLbLoadbalancer.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tappPort, err := vkcs.LookupNetworkingPort(ctx, \u0026vkcs.LookupNetworkingPortArgs{\n\t\t\tId: pulumi.StringRef(app.VipPortId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"usedVips\", appPort.AllFixedIps)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.vkcs.VkcsFunctions;\nimport com.pulumi.vkcs.inputs.GetLbLoadbalancerArgs;\nimport com.pulumi.vkcs.inputs.GetNetworkingPortArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var app = VkcsFunctions.getLbLoadbalancer(GetLbLoadbalancerArgs.builder()\n            .id(appVkcsLbLoadbalancer.id())\n            .build());\n\n        final var appPort = VkcsFunctions.getNetworkingPort(GetNetworkingPortArgs.builder()\n            .id(app.vipPortId())\n            .build());\n\n        ctx.export(\"usedVips\", appPort.allFixedIps());\n    }\n}\n```\n```yaml\nvariables:\n  app:\n    fn::invoke:\n      function: vkcs:getLbLoadbalancer\n      arguments:\n        id: ${appVkcsLbLoadbalancer.id}\n  appPort:\n    fn::invoke:\n      function: vkcs:getNetworkingPort\n      arguments:\n        id: ${app.vipPortId}\noutputs:\n  usedVips: ${appPort.allFixedIps}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getLbLoadbalancer.\n","properties":{"id":{"type":"string","description":"**required** *string* \u0026rarr;  The UUID of the Loadbalancer\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Loadbalancer client. If 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"}},"type":"object","required":["id"]},"outputs":{"description":"A collection of values returned by getLbLoadbalancer.\n","properties":{"adminStateUp":{"description":"*boolean* \u0026rarr;  The administrative state of the Loadbalancer.\n","type":"boolean"},"availabilityZone":{"description":"*string* \u0026rarr;  The availability zone of the Loadbalancer.\n","type":"string"},"description":{"description":"*string* \u0026rarr;  Human-readable description of the Loadbalancer.\n","type":"string"},"id":{"type":"string"},"name":{"description":"*string* \u0026rarr;  The name of the Loadbalancer.\n","type":"string"},"region":{"type":"string"},"securityGroupIds":{"description":"*set of* *string* \u0026rarr;  A list of security group IDs applied to the Loadbalancer.\n","items":{"type":"string"},"type":"array"},"tags":{"description":"*set of* *string* \u0026rarr;  A list of simple strings assigned to the loadbalancer.\n","items":{"type":"string"},"type":"array"},"vipAddress":{"description":"*string* \u0026rarr;  The ip address of the Loadbalancer.\n","type":"string"},"vipNetworkId":{"description":"*string* \u0026rarr;  The network on which to allocate the Loadbalancer's address. A tenant can only create Loadbalancers on networks authorized by policy (e.g. networks that belong to them or networks that are shared).  Changing this creates a new loadbalancer.\n","type":"string"},"vipPortId":{"description":"*string* \u0026rarr;  The port UUID of the Loadbalancer.\n","type":"string"},"vipSubnetId":{"description":"*string* \u0026rarr;  The subnet on which the Loadbalancer's address is allocated.\n","type":"string"}},"required":["adminStateUp","availabilityZone","description","id","name","region","securityGroupIds","tags","vipAddress","vipNetworkId","vipPortId","vipSubnetId"],"type":"object"}},"vkcs:index/getNetworkingFloatingip:getNetworkingFloatingip":{"description":"Use this data source to get the ID of an available VKCS floating IP.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst fipByPort = vkcs.getNetworkingFloatingip({\n    portId: persistentEtcd.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\nfip_by_port = vkcs.get_networking_floatingip(port_id=persistent_etcd[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var fipByPort = Vkcs.GetNetworkingFloatingip.Invoke(new()\n    {\n        PortId = persistentEtcd.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.LookupNetworkingFloatingip(ctx, \u0026vkcs.LookupNetworkingFloatingipArgs{\n\t\t\tPortId: pulumi.StringRef(persistentEtcd.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.vkcs.VkcsFunctions;\nimport com.pulumi.vkcs.inputs.GetNetworkingFloatingipArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var fipByPort = VkcsFunctions.getNetworkingFloatingip(GetNetworkingFloatingipArgs.builder()\n            .portId(persistentEtcd.id())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  fipByPort:\n    fn::invoke:\n      function: vkcs:getNetworkingFloatingip\n      arguments:\n        portId: ${persistentEtcd.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getNetworkingFloatingip.\n","properties":{"address":{"type":"string","description":"optional *string* \u0026rarr;  The IP address of the floating IP.\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Human-readable description of the floating IP.\n"},"fixedIp":{"type":"string","description":"optional *string* \u0026rarr;  The specific IP address of the internal port which should be associated with the floating IP.\n"},"pool":{"type":"string","description":"optional *string* \u0026rarr;  The name of the pool from which the floating IP belongs to.\n"},"portId":{"type":"string","description":"optional *string* \u0026rarr;  The ID of the port the floating IP is attached.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Network client. A Network client is needed to retrieve floating IP ids. If 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"},"sdn":{"type":"string","description":"optional *string* \u0026rarr;  SDN to use for this resource. Must be one of following: \"neutron\", \"sprut\". Default value is project's default SDN.\n"},"status":{"type":"string","description":"optional *string* \u0026rarr;  Status of the floating IP (ACTIVE/DOWN).\n"},"tenantId":{"type":"string","description":"optional *string* \u0026rarr;  The owner of the floating IP.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getNetworkingFloatingip.\n","properties":{"address":{"type":"string"},"description":{"type":"string"},"fixedIp":{"type":"string"},"id":{"description":"*string* \u0026rarr;  ID of the found floating IP.\n","type":"string"},"pool":{"type":"string"},"portId":{"type":"string"},"region":{"type":"string"},"sdn":{"type":"string"},"status":{"type":"string"},"tenantId":{"type":"string"}},"required":["address","description","fixedIp","id","pool","portId","region","sdn","status","tenantId"],"type":"object"}},"vkcs:index/getNetworkingNetwork:getNetworkingNetwork":{"description":"Use this data source to get the ID of an available VKCS network.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst extnet = vkcs.getNetworkingNetwork({\n    name: \"internet\",\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\nextnet = vkcs.get_networking_network(name=\"internet\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var extnet = Vkcs.GetNetworkingNetwork.Invoke(new()\n    {\n        Name = \"internet\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.LookupNetworkingNetwork(ctx, \u0026vkcs.LookupNetworkingNetworkArgs{\n\t\t\tName: pulumi.StringRef(\"internet\"),\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.vkcs.VkcsFunctions;\nimport com.pulumi.vkcs.inputs.GetNetworkingNetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var extnet = VkcsFunctions.getNetworkingNetwork(GetNetworkingNetworkArgs.builder()\n            .name(\"internet\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  extnet:\n    fn::invoke:\n      function: vkcs:getNetworkingNetwork\n      arguments:\n        name: internet\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getNetworkingNetwork.\n","properties":{"description":{"type":"string","description":"optional *string* \u0026rarr;  Human-readable description of the network.\n"},"external":{"type":"boolean","description":"optional *boolean* \u0026rarr;  The external routing facility of the network.\n"},"id":{"type":"string","description":"optional *string* \u0026rarr;  The ID of the network.\n"},"matchingSubnetCidr":{"type":"string","description":"optional *string* \u0026rarr;  The CIDR of a subnet within the network.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  The name of the network.\n"},"networkId":{"type":"string","description":"optional deprecated *string* \u0026rarr;  The ID of the network. **Deprecated** This argument is deprecated, please, use 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 attribute instead.\n","deprecationMessage":"Deprecated"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Network client. A Network client is needed to retrieve networks ids. If 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"},"sdn":{"type":"string","description":"optional *string* \u0026rarr;  SDN to use for this resource. Must be one of following: \"neutron\", \"sprut\". Default value is project's default SDN.\n"},"status":{"type":"string","description":"optional *string* \u0026rarr;  The status of the network.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"optional *set of* *string* \u0026rarr;  The list of network tags to filter.\n"},"tenantId":{"type":"string","description":"optional *string* \u0026rarr;  The owner of the network.\n"},"vkcsServicesAccess":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Specifies whether VKCS services access is enabled.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getNetworkingNetwork.\n","properties":{"adminStateUp":{"description":"*string* \u0026rarr;  The administrative state of the network.\n","type":"string"},"allTags":{"description":"*set of* *string* \u0026rarr;  The set of string tags applied on the network.\n","items":{"type":"string"},"type":"array"},"description":{"type":"string"},"external":{"type":"boolean"},"id":{"type":"string"},"matchingSubnetCidr":{"type":"string"},"name":{"type":"string"},"networkId":{"deprecationMessage":"Deprecated","type":"string"},"privateDnsDomain":{"description":"*string* \u0026rarr;  Private dns domain name\n","type":"string"},"region":{"type":"string"},"sdn":{"type":"string"},"shared":{"description":"*string* \u0026rarr;  Specifies whether the network resource can be accessed by any tenant or not.\n","type":"string"},"status":{"type":"string"},"subnets":{"description":"*string* \u0026rarr;  A list of subnet IDs belonging to the network.\n","items":{"type":"string"},"type":"array"},"tags":{"items":{"type":"string"},"type":"array"},"tenantId":{"type":"string"},"vkcsServicesAccess":{"type":"boolean"}},"required":["adminStateUp","allTags","id","networkId","privateDnsDomain","region","shared","subnets"],"type":"object"}},"vkcs:index/getNetworkingPort:getNetworkingPort":{"description":"Use this data source to get the ID of an available VKCS port.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst persistentEtcd = vkcs.getNetworkingPort({\n    tags: [\n        \"tf-example\",\n        \"etcd\",\n    ],\n    networkId: db.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\npersistent_etcd = vkcs.get_networking_port(tags=[\n        \"tf-example\",\n        \"etcd\",\n    ],\n    network_id=db[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var persistentEtcd = Vkcs.GetNetworkingPort.Invoke(new()\n    {\n        Tags = new[]\n        {\n            \"tf-example\",\n            \"etcd\",\n        },\n        NetworkId = db.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.LookupNetworkingPort(ctx, \u0026vkcs.LookupNetworkingPortArgs{\n\t\t\tTags: []string{\n\t\t\t\t\"tf-example\",\n\t\t\t\t\"etcd\",\n\t\t\t},\n\t\t\tNetworkId: pulumi.StringRef(db.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.vkcs.VkcsFunctions;\nimport com.pulumi.vkcs.inputs.GetNetworkingPortArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var persistentEtcd = VkcsFunctions.getNetworkingPort(GetNetworkingPortArgs.builder()\n            .tags(            \n                \"tf-example\",\n                \"etcd\")\n            .networkId(db.id())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  persistentEtcd:\n    fn::invoke:\n      function: vkcs:getNetworkingPort\n      arguments:\n        tags:\n          - tf-example\n          - etcd\n        networkId: ${db.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getNetworkingPort.\n","properties":{"adminStateUp":{"type":"boolean","description":"optional *boolean* \u0026rarr;  The administrative state of the port.\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Human-readable description of the port.\n"},"deviceId":{"type":"string","description":"optional *string* \u0026rarr;  The ID of the device the port belongs to.\n"},"deviceOwner":{"type":"string","description":"optional *string* \u0026rarr;  The device owner of the port.\n"},"dnsName":{"type":"string","description":"optional *string* \u0026rarr;  The port DNS name to filter.\n"},"fixedIp":{"type":"string","description":"optional *string* \u0026rarr;  The port IP address filter.\n"},"id":{"type":"string","description":"optional *string* \u0026rarr;  The ID of the port.\n"},"macAddress":{"type":"string","description":"optional *string* \u0026rarr;  The MAC address of the port.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  The name of the port.\n"},"networkId":{"type":"string","description":"optional *string* \u0026rarr;  The ID of the network the port belongs to.\n"},"portId":{"type":"string","description":"optional deprecated *string* \u0026rarr;  The ID of the port. **Deprecated** This argument is deprecated, please, use 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 attribute instead.\n","deprecationMessage":"Deprecated"},"projectId":{"type":"string","description":"optional *string* \u0026rarr;  The\u003cspan pulumi-lang-nodejs=\" projectId \" pulumi-lang-dotnet=\" ProjectId \" pulumi-lang-go=\" projectId \" pulumi-lang-python=\" project_id \" pulumi-lang-yaml=\" projectId \" pulumi-lang-java=\" projectId \"\u003e project_id \u003c/span\u003eof the owner of the port.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Network client. A Network client is needed to retrieve port ids. If 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"},"sdn":{"type":"string","description":"optional *string* \u0026rarr;  SDN to use for this resource. Must be one of following: \"neutron\", \"sprut\". Default value is project's default SDN.\n"},"securityGroupIds":{"type":"array","items":{"type":"string"},"description":"optional *set of* *string* \u0026rarr;  The list of port security group IDs to filter.\n"},"status":{"type":"string","description":"optional *string* \u0026rarr;  The status of the port.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"optional *set of* *string* \u0026rarr;  The list of port tags to filter.\n"},"tenantId":{"type":"string","description":"optional *string* \u0026rarr;  The\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\u003eof the owner of the port.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getNetworkingPort.\n","properties":{"adminStateUp":{"type":"boolean"},"allFixedIps":{"description":"*string* \u0026rarr;  The collection of Fixed IP addresses on the port in the order returned by the Network v2 API.\n","items":{"type":"string"},"type":"array"},"allSecurityGroupIds":{"description":"*set of* *string* \u0026rarr;  The set of security group IDs applied on the port.\n","items":{"type":"string"},"type":"array"},"allTags":{"description":"*set of* *string* \u0026rarr;  The set of string tags applied on the port.\n","items":{"type":"string"},"type":"array"},"allowedAddressPairs":{"description":"*set* \u0026rarr;  An IP/MAC Address pair of additional IP addresses that can be active on this port. The structure is described below.\n","items":{"$ref":"#/types/vkcs:index%2FgetNetworkingPortAllowedAddressPair:getNetworkingPortAllowedAddressPair"},"type":"array"},"description":{"type":"string"},"deviceId":{"type":"string"},"deviceOwner":{"type":"string"},"dnsAssignments":{"description":"*map of* *string* \u0026rarr;  The list of maps representing port DNS assignments.\n","items":{"additionalProperties":{"type":"string"},"type":"object"},"type":"array"},"dnsName":{"type":"string"},"extraDhcpOptions":{"description":"*list* \u0026rarr;  An extra DHCP option configured on the port. The structure is described below.\n","items":{"$ref":"#/types/vkcs:index%2FgetNetworkingPortExtraDhcpOption:getNetworkingPortExtraDhcpOption"},"type":"array"},"fixedIp":{"type":"string"},"id":{"type":"string"},"macAddress":{"description":"*string* \u0026rarr;  The additional MAC address.\n","type":"string"},"name":{"description":"*string* \u0026rarr;  Name of the DHCP option.\n","type":"string"},"networkId":{"type":"string"},"portId":{"deprecationMessage":"Deprecated","type":"string"},"projectId":{"type":"string"},"region":{"type":"string"},"sdn":{"type":"string"},"securityGroupIds":{"items":{"type":"string"},"type":"array"},"status":{"type":"string"},"tags":{"items":{"type":"string"},"type":"array"},"tenantId":{"type":"string"}},"required":["adminStateUp","allFixedIps","allSecurityGroupIds","allTags","allowedAddressPairs","description","deviceId","deviceOwner","dnsAssignments","dnsName","extraDhcpOptions","id","macAddress","name","networkId","portId","projectId","sdn","status","tenantId"],"type":"object"}},"vkcs:index/getNetworkingRouter:getNetworkingRouter":{"description":"Use this data source to get the ID of an available VKCS router.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst router = vkcs.getNetworkingRouter({\n    name: \"router-tf-example\",\n    tags: [\"tf-example\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\nrouter = vkcs.get_networking_router(name=\"router-tf-example\",\n    tags=[\"tf-example\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var router = Vkcs.GetNetworkingRouter.Invoke(new()\n    {\n        Name = \"router-tf-example\",\n        Tags = new[]\n        {\n            \"tf-example\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.LookupNetworkingRouter(ctx, \u0026vkcs.LookupNetworkingRouterArgs{\n\t\t\tName: pulumi.StringRef(\"router-tf-example\"),\n\t\t\tTags: []string{\n\t\t\t\t\"tf-example\",\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.vkcs.VkcsFunctions;\nimport com.pulumi.vkcs.inputs.GetNetworkingRouterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var router = VkcsFunctions.getNetworkingRouter(GetNetworkingRouterArgs.builder()\n            .name(\"router-tf-example\")\n            .tags(\"tf-example\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  router:\n    fn::invoke:\n      function: vkcs:getNetworkingRouter\n      arguments:\n        name: router-tf-example\n        tags:\n          - tf-example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getNetworkingRouter.\n","properties":{"adminStateUp":{"type":"boolean","description":"optional *boolean* \u0026rarr;  Administrative up/down status for the router (must be \"true\" or \"false\" if provided).\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Human-readable description of the router.\n"},"enableSnat":{"type":"boolean","description":"optional *boolean* \u0026rarr;  The value that points out if the Source NAT is enabled on the router.\n"},"id":{"type":"string","description":"optional *string* \u0026rarr;  The UUID of the router resource.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  The name of the router.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Network client. A Network client is needed to retrieve router ids. If 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"},"routerId":{"type":"string","description":"optional deprecated *string* \u0026rarr;  The UUID of the router resource. **Deprecated** This argument is deprecated, please, use 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 attribute instead.\n","deprecationMessage":"Deprecated"},"sdn":{"type":"string","description":"optional *string* \u0026rarr;  SDN to use for this resource. Must be one of following: \"neutron\", \"sprut\". Default value is project's default SDN.\n"},"status":{"type":"string","description":"optional *string* \u0026rarr;  The status of the router (ACTIVE/DOWN).\n"},"tags":{"type":"array","items":{"type":"string"},"description":"optional *set of* *string* \u0026rarr;  The list of router tags to filter.\n"},"tenantId":{"type":"string","description":"optional *string* \u0026rarr;  The owner of the router.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getNetworkingRouter.\n","properties":{"adminStateUp":{"type":"boolean"},"allTags":{"description":"*set of* *string* \u0026rarr;  The set of string tags applied on the router.\n","items":{"type":"string"},"type":"array"},"description":{"type":"string"},"enableSnat":{"type":"boolean"},"externalFixedIps":{"description":"*object* \u0026rarr;  List of external gateways of the router.\u003cbr\u003e**New since v0.7.4**.\n","items":{"$ref":"#/types/vkcs:index%2FgetNetworkingRouterExternalFixedIp:getNetworkingRouterExternalFixedIp"},"type":"array"},"externalNetworkId":{"description":"*string* \u0026rarr;  The network UUID of an external gateway for the router.\n","type":"string"},"id":{"type":"string"},"name":{"type":"string"},"region":{"type":"string"},"routerId":{"deprecationMessage":"Deprecated","type":"string"},"sdn":{"type":"string"},"status":{"type":"string"},"tags":{"items":{"type":"string"},"type":"array"},"tenantId":{"type":"string"}},"required":["allTags","enableSnat","externalFixedIps","externalNetworkId","id","routerId"],"type":"object"}},"vkcs:index/getNetworkingSdn:getNetworkingSdn":{"description":"Use this data source to get a list of available VKCS SDNs in the current project. The first SDN is default. You do not have to specify default sdn argument in resources and datasources. You may specify non default SDN only for root resources such as \u003cspan pulumi-lang-nodejs=\"`vkcs.NetworkingRouter`\" pulumi-lang-dotnet=\"`vkcs.NetworkingRouter`\" pulumi-lang-go=\"`NetworkingRouter`\" pulumi-lang-python=\"`NetworkingRouter`\" pulumi-lang-yaml=\"`vkcs.NetworkingRouter`\" pulumi-lang-java=\"`vkcs.NetworkingRouter`\"\u003e`vkcs.NetworkingRouter`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`vkcs.NetworkingNetwork`\" pulumi-lang-dotnet=\"`vkcs.NetworkingNetwork`\" pulumi-lang-go=\"`NetworkingNetwork`\" pulumi-lang-python=\"`NetworkingNetwork`\" pulumi-lang-yaml=\"`vkcs.NetworkingNetwork`\" pulumi-lang-java=\"`vkcs.NetworkingNetwork`\"\u003e`vkcs.NetworkingNetwork`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`vkcs.NetworkingSecgroup`\" pulumi-lang-dotnet=\"`vkcs.NetworkingSecgroup`\" pulumi-lang-go=\"`NetworkingSecgroup`\" pulumi-lang-python=\"`NetworkingSecgroup`\" pulumi-lang-yaml=\"`vkcs.NetworkingSecgroup`\" pulumi-lang-java=\"`vkcs.NetworkingSecgroup`\"\u003e`vkcs.NetworkingSecgroup`\u003c/span\u003e (they do not depend on any other resource/datasource with sdn argument).\n\n**New since v0.7.4**.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst sdn = vkcs.getNetworkingSdn({});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\nsdn = vkcs.get_networking_sdn()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var sdn = Vkcs.GetNetworkingSdn.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.GetNetworkingSdn(ctx, \u0026vkcs.GetNetworkingSdnArgs{}, 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.vkcs.VkcsFunctions;\nimport com.pulumi.vkcs.inputs.GetNetworkingSdnArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var sdn = VkcsFunctions.getNetworkingSdn(GetNetworkingSdnArgs.builder()\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  sdn:\n    fn::invoke:\n      function: vkcs:getNetworkingSdn\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getNetworkingSdn.\n","properties":{"id":{"type":"string","description":"*string* \u0026rarr;  ID of the resource.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getNetworkingSdn.\n","properties":{"id":{"description":"*string* \u0026rarr;  ID of the resource.\n","type":"string"},"sdns":{"description":"*string* \u0026rarr;  Names of available VKCS SDNs in the current project.\n","items":{"type":"string"},"type":"array"}},"required":["id","sdns"],"type":"object"}},"vkcs:index/getNetworkingSecgroup:getNetworkingSecgroup":{"description":"Use this data source to get the ID of an available VKCS security group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst etcd = vkcs.getNetworkingSecgroup({\n    name: \"etcd-tf-example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\netcd = vkcs.get_networking_secgroup(name=\"etcd-tf-example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var etcd = Vkcs.GetNetworkingSecgroup.Invoke(new()\n    {\n        Name = \"etcd-tf-example\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.LookupNetworkingSecgroup(ctx, \u0026vkcs.LookupNetworkingSecgroupArgs{\n\t\t\tName: pulumi.StringRef(\"etcd-tf-example\"),\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.vkcs.VkcsFunctions;\nimport com.pulumi.vkcs.inputs.GetNetworkingSecgroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var etcd = VkcsFunctions.getNetworkingSecgroup(GetNetworkingSecgroupArgs.builder()\n            .name(\"etcd-tf-example\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  etcd:\n    fn::invoke:\n      function: vkcs:getNetworkingSecgroup\n      arguments:\n        name: etcd-tf-example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getNetworkingSecgroup.\n","properties":{"description":{"type":"string","description":"optional *string* \u0026rarr;  Human-readable description the the subnet.\n"},"id":{"type":"string","description":"optional *string* \u0026rarr;  The ID of the security group.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  The name of the security group.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Network client. A Network client is needed to retrieve security groups ids. If 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"},"sdn":{"type":"string","description":"optional *string* \u0026rarr;  SDN to use for this resource. Must be one of following: \"neutron\", \"sprut\". Default value is project's default SDN.\n"},"secgroupId":{"type":"string","description":"optional deprecated *string* \u0026rarr;  The ID of the security group. **Deprecated** This argument is deprecated, please, use 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 attribute instead.\n","deprecationMessage":"Deprecated"},"tags":{"type":"array","items":{"type":"string"},"description":"optional *set of* *string* \u0026rarr;  The list of security group tags to filter.\n"},"tenantId":{"type":"string","description":"optional *string* \u0026rarr;  The owner of the security group.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getNetworkingSecgroup.\n","properties":{"allTags":{"description":"*set of* *string* \u0026rarr;  The set of string tags applied on the security group.\n","items":{"type":"string"},"type":"array"},"description":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"},"region":{"type":"string"},"sdn":{"type":"string"},"secgroupId":{"deprecationMessage":"Deprecated","type":"string"},"tags":{"items":{"type":"string"},"type":"array"},"tenantId":{"type":"string"}},"required":["allTags","id","region","secgroupId","tenantId"],"type":"object"}},"vkcs:index/getNetworkingSubnet:getNetworkingSubnet":{"description":"Use this data source to get the ID of an available VKCS subnet.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst subnetOneOfInternal = vkcs.getNetworkingSubnet({\n    cidr: \"192.168.199.0/24\",\n    networkId: app.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\nsubnet_one_of_internal = vkcs.get_networking_subnet(cidr=\"192.168.199.0/24\",\n    network_id=app[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var subnetOneOfInternal = Vkcs.GetNetworkingSubnet.Invoke(new()\n    {\n        Cidr = \"192.168.199.0/24\",\n        NetworkId = app.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.LookupNetworkingSubnet(ctx, \u0026vkcs.LookupNetworkingSubnetArgs{\n\t\t\tCidr:      pulumi.StringRef(\"192.168.199.0/24\"),\n\t\t\tNetworkId: pulumi.StringRef(app.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.vkcs.VkcsFunctions;\nimport com.pulumi.vkcs.inputs.GetNetworkingSubnetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var subnetOneOfInternal = VkcsFunctions.getNetworkingSubnet(GetNetworkingSubnetArgs.builder()\n            .cidr(\"192.168.199.0/24\")\n            .networkId(app.id())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  subnetOneOfInternal:\n    fn::invoke:\n      function: vkcs:getNetworkingSubnet\n      arguments:\n        cidr: 192.168.199.0/24\n        networkId: ${app.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getNetworkingSubnet.\n","properties":{"cidr":{"type":"string","description":"optional *string* \u0026rarr;  The CIDR of the subnet.\n"},"description":{"type":"string","description":"optional *string* \u0026rarr;  Human-readable description of the subnet.\n"},"dhcpEnabled":{"type":"boolean","description":"optional *boolean* \u0026rarr;  If the subnet has DHCP enabled.\n"},"gatewayIp":{"type":"string","description":"optional *string* \u0026rarr;  The IP of the subnet's gateway.\n"},"id":{"type":"string","description":"optional *string* \u0026rarr;  The ID of the subnet.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  The name of the subnet.\n"},"networkId":{"type":"string","description":"optional *string* \u0026rarr;  The ID of the network the subnet belongs to.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Network client. A Network client is needed to retrieve subnet ids. If 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"},"sdn":{"type":"string","description":"optional *string* \u0026rarr;  SDN to use for this resource. Must be one of following: \"neutron\", \"sprut\". Default value is project's default SDN.\n"},"subnetId":{"type":"string","description":"optional deprecated *string* \u0026rarr;  The ID of the subnet. **Deprecated** This argument is deprecated, please, use 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 attribute instead.\n","deprecationMessage":"Deprecated"},"subnetpoolId":{"type":"string","description":"optional *string* \u0026rarr;  The ID of the subnetpool associated with the subnet.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"optional *set of* *string* \u0026rarr;  The list of subnet tags to filter.\n"},"tenantId":{"type":"string","description":"optional *string* \u0026rarr;  The owner of the subnet.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getNetworkingSubnet.\n","properties":{"allTags":{"description":"*set of* *string* \u0026rarr;  A set of string tags applied on the subnet.\n","items":{"type":"string"},"type":"array"},"allocationPools":{"description":"*list* \u0026rarr;  Allocation pools of the subnet.\n","items":{"$ref":"#/types/vkcs:index%2FgetNetworkingSubnetAllocationPool:getNetworkingSubnetAllocationPool"},"type":"array"},"cidr":{"type":"string"},"description":{"type":"string"},"dhcpEnabled":{"type":"boolean"},"dnsNameservers":{"description":"*set of* *string* \u0026rarr;  DNS Nameservers of the subnet.\n","items":{"type":"string"},"type":"array"},"enableDhcp":{"description":"*boolean* \u0026rarr;  Whether the subnet has DHCP enabled or not.\n","type":"boolean"},"enablePrivateDns":{"description":"*boolean* \u0026rarr;  Flag indicating whether private DNS is enabled.\u003cbr\u003e**New since v0.13.1**.\n","type":"boolean"},"gatewayIp":{"type":"string"},"hostRoutes":{"description":"*list* \u0026rarr;  Host Routes of the subnet.\n","items":{"$ref":"#/types/vkcs:index%2FgetNetworkingSubnetHostRoute:getNetworkingSubnetHostRoute"},"type":"array"},"id":{"type":"string"},"name":{"type":"string"},"networkId":{"type":"string"},"region":{"type":"string"},"sdn":{"type":"string"},"subnetId":{"deprecationMessage":"Deprecated","type":"string"},"subnetpoolId":{"type":"string"},"tags":{"items":{"type":"string"},"type":"array"},"tenantId":{"type":"string"}},"required":["allTags","allocationPools","cidr","description","dnsNameservers","enableDhcp","enablePrivateDns","gatewayIp","hostRoutes","id","name","networkId","region","sdn","subnetId","subnetpoolId","tenantId"],"type":"object"}},"vkcs:index/getPublicdnsZone:getPublicdnsZone":{"description":"Use this data source to get the ID of a VKCS public DNS zone.\n\n**New since v0.2.0**.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst zone = vkcs.getPublicdnsZone({\n    zone: \"example.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\nzone = vkcs.get_publicdns_zone(zone=\"example.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var zone = Vkcs.GetPublicdnsZone.Invoke(new()\n    {\n        Zone = \"example.com\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.LookupPublicdnsZone(ctx, \u0026vkcs.LookupPublicdnsZoneArgs{\n\t\t\tZone: 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.vkcs.VkcsFunctions;\nimport com.pulumi.vkcs.inputs.GetPublicdnsZoneArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var zone = VkcsFunctions.getPublicdnsZone(GetPublicdnsZoneArgs.builder()\n            .zone(\"example.com\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  zone:\n    fn::invoke:\n      function: vkcs:getPublicdnsZone\n      arguments:\n        zone: example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getPublicdnsZone.\n","properties":{"adminEmail":{"type":"string","description":"optional *string* \u0026rarr;  The admin email of the zone SOA.\n"},"expire":{"type":"number","description":"optional *number* \u0026rarr;  The expire time of the zone SOA.\n"},"id":{"type":"string","description":"optional *string* \u0026rarr;  The UUID of the DNS zone.\n"},"primaryDns":{"type":"string","description":"optional *string* \u0026rarr;  The primary DNS of the zone SOA.\n"},"refresh":{"type":"number","description":"optional *number* \u0026rarr;  The refresh time of the zone SOA.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the V2 Public DNS client. If 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"},"retry":{"type":"number","description":"optional *number* \u0026rarr;  The retry time of the zone SOA.\n"},"serial":{"type":"number","description":"optional *number* \u0026rarr;  The serial number of the zone SOA.\n"},"status":{"type":"string","description":"optional *string* \u0026rarr;  The status of the zone.\n"},"ttl":{"type":"number","description":"optional *number* \u0026rarr;  The TTL (time to live) of the zone SOA.\n"},"zone":{"type":"string","description":"optional *string* \u0026rarr;  The name of the zone.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getPublicdnsZone.\n","properties":{"adminEmail":{"type":"string"},"expire":{"type":"number"},"id":{"type":"string"},"primaryDns":{"type":"string"},"refresh":{"type":"number"},"region":{"type":"string"},"retry":{"type":"number"},"serial":{"type":"number"},"status":{"type":"string"},"ttl":{"type":"number"},"zone":{"type":"string"}},"required":["adminEmail","expire","id","primaryDns","refresh","region","retry","serial","status","ttl","zone"],"type":"object"}},"vkcs:index/getRegion:getRegion":{"description":"\u003cspan pulumi-lang-nodejs=\"`vkcs.getRegion`\" pulumi-lang-dotnet=\"`vkcs.getRegion`\" pulumi-lang-go=\"`getRegion`\" pulumi-lang-python=\"`get_region`\" pulumi-lang-yaml=\"`vkcs.getRegion`\" pulumi-lang-java=\"`vkcs.getRegion`\"\u003e`vkcs.getRegion`\u003c/span\u003e provides details about a specific VKCS region. As well as validating a given region name this resource can be used to discover the name of the region configured within the provider.\n\n## Example Usage\n\nThe following example shows how the resource might be used to obtain the name of the VKCS region configured on the provider.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst current = vkcs.getRegion({});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\ncurrent = vkcs.get_region()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Vkcs.GetRegion.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.GetRegion(ctx, \u0026vkcs.GetRegionArgs{}, 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.vkcs.VkcsFunctions;\nimport com.pulumi.vkcs.inputs.GetRegionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = VkcsFunctions.getRegion(GetRegionArgs.builder()\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  current:\n    fn::invoke:\n      function: vkcs:getRegion\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getRegion.\n","properties":{"id":{"type":"string","description":"optional *string* \u0026rarr;  ID of the region to learn or use. Use empty value to learn current region on the provider.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getRegion.\n","properties":{"description":{"description":"*string* \u0026rarr;  Description of the region.\n","type":"string"},"id":{"type":"string"},"parentRegion":{"description":"*string* \u0026rarr;  Parent of the region.\n","type":"string"}},"required":["description","id","parentRegion"],"type":"object"}},"vkcs:index/getRegions:getRegions":{"description":"\u003cspan pulumi-lang-nodejs=\"`vkcs.getRegions`\" pulumi-lang-dotnet=\"`vkcs.getRegions`\" pulumi-lang-go=\"`getRegions`\" pulumi-lang-python=\"`get_regions`\" pulumi-lang-yaml=\"`vkcs.getRegions`\" pulumi-lang-java=\"`vkcs.getRegions`\"\u003e`vkcs.getRegions`\u003c/span\u003e provides information about VKCS regions. To get details of each region the data source can be combined with the \u003cspan pulumi-lang-nodejs=\"`vkcs.getRegion`\" pulumi-lang-dotnet=\"`vkcs.getRegion`\" pulumi-lang-go=\"`getRegion`\" pulumi-lang-python=\"`get_region`\" pulumi-lang-yaml=\"`vkcs.getRegion`\" pulumi-lang-java=\"`vkcs.getRegion`\"\u003e`vkcs.getRegion`\u003c/span\u003e data source.\n\n## Example Usage\n\nEnabled VKCS Regions:\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst current = vkcs.getRegions({});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\ncurrent = vkcs.get_regions()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Vkcs.GetRegions.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.GetRegions(ctx, map[string]interface{}{}, 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.vkcs.VkcsFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = VkcsFunctions.getRegions(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n    }\n}\n```\n```yaml\nvariables:\n  current:\n    fn::invoke:\n      function: vkcs:getRegions\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nTo see regions with the known Parent Region \u003cspan pulumi-lang-nodejs=\"`parentRegionId`\" pulumi-lang-dotnet=\"`ParentRegionId`\" pulumi-lang-go=\"`parentRegionId`\" pulumi-lang-python=\"`parent_region_id`\" pulumi-lang-yaml=\"`parentRegionId`\" pulumi-lang-java=\"`parentRegionId`\"\u003e`parent_region_id`\u003c/span\u003e argument needs to be set.\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nvariables:\n  current:\n    fn::invoke:\n      function: vkcs:getRegions\n      arguments:\n        parentRegionId: RegionOne\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","outputs":{"description":"A collection of values returned by getRegions.\n","properties":{"id":{"description":"*string* \u0026rarr;  Random identifier of the data source.\n","type":"string"},"names":{"description":"*set of* *string* \u0026rarr;  Names of regions that meets the criteria.\n","items":{"type":"string"},"type":"array"}},"required":["id","names"],"type":"object"}},"vkcs:index/getSharedfilesystemShare:getSharedfilesystemShare":{"description":"Use this data source to get the ID of an available Shared File System share.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst data = vkcs.getSharedfilesystemShare({\n    name: \"share-data-tf-example\",\n    shareNetworkId: dataVkcsSharedfilesystemSharenetwork.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\ndata = vkcs.get_sharedfilesystem_share(name=\"share-data-tf-example\",\n    share_network_id=data_vkcs_sharedfilesystem_sharenetwork[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var data = Vkcs.GetSharedfilesystemShare.Invoke(new()\n    {\n        Name = \"share-data-tf-example\",\n        ShareNetworkId = dataVkcsSharedfilesystemSharenetwork.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.LookupSharedfilesystemShare(ctx, \u0026vkcs.LookupSharedfilesystemShareArgs{\n\t\t\tName:           pulumi.StringRef(\"share-data-tf-example\"),\n\t\t\tShareNetworkId: dataVkcsSharedfilesystemSharenetwork.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.vkcs.VkcsFunctions;\nimport com.pulumi.vkcs.inputs.GetSharedfilesystemShareArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var data = VkcsFunctions.getSharedfilesystemShare(GetSharedfilesystemShareArgs.builder()\n            .name(\"share-data-tf-example\")\n            .shareNetworkId(dataVkcsSharedfilesystemSharenetwork.id())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  data:\n    fn::invoke:\n      function: vkcs:getSharedfilesystemShare\n      arguments:\n        name: share-data-tf-example\n        shareNetworkId: ${dataVkcsSharedfilesystemSharenetwork.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getSharedfilesystemShare.\n","properties":{"description":{"type":"string","description":"optional *string* \u0026rarr;  The human-readable description for the share.\n"},"exportLocationPath":{"type":"string","description":"optional *string* \u0026rarr;  The export location path of the share.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  The name of the share.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Shared File System client.\n"},"shareNetworkId":{"type":"string","description":"**required** *string* \u0026rarr;  The UUID of the share's share network.\n"},"snapshotId":{"type":"string","description":"optional *string* \u0026rarr;  The UUID of the share's base snapshot.\n"},"status":{"type":"string","description":"optional *string* \u0026rarr;  A share status filter. A valid value is \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=\"`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=\"`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, \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, \u003cspan pulumi-lang-nodejs=\"`errorDeleting`\" pulumi-lang-dotnet=\"`ErrorDeleting`\" pulumi-lang-go=\"`errorDeleting`\" pulumi-lang-python=\"`error_deleting`\" pulumi-lang-yaml=\"`errorDeleting`\" pulumi-lang-java=\"`errorDeleting`\"\u003e`error_deleting`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`manageStarting`\" pulumi-lang-dotnet=\"`ManageStarting`\" pulumi-lang-go=\"`manageStarting`\" pulumi-lang-python=\"`manage_starting`\" pulumi-lang-yaml=\"`manageStarting`\" pulumi-lang-java=\"`manageStarting`\"\u003e`manage_starting`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`manageError`\" pulumi-lang-dotnet=\"`ManageError`\" pulumi-lang-go=\"`manageError`\" pulumi-lang-python=\"`manage_error`\" pulumi-lang-yaml=\"`manageError`\" pulumi-lang-java=\"`manageError`\"\u003e`manage_error`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`unmanageStarting`\" pulumi-lang-dotnet=\"`UnmanageStarting`\" pulumi-lang-go=\"`unmanageStarting`\" pulumi-lang-python=\"`unmanage_starting`\" pulumi-lang-yaml=\"`unmanageStarting`\" pulumi-lang-java=\"`unmanageStarting`\"\u003e`unmanage_starting`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`unmanageError`\" pulumi-lang-dotnet=\"`UnmanageError`\" pulumi-lang-go=\"`unmanageError`\" pulumi-lang-python=\"`unmanage_error`\" pulumi-lang-yaml=\"`unmanageError`\" pulumi-lang-java=\"`unmanageError`\"\u003e`unmanage_error`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`unmanaged`\" pulumi-lang-dotnet=\"`Unmanaged`\" pulumi-lang-go=\"`unmanaged`\" pulumi-lang-python=\"`unmanaged`\" pulumi-lang-yaml=\"`unmanaged`\" pulumi-lang-java=\"`unmanaged`\"\u003e`unmanaged`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`extending`\" pulumi-lang-dotnet=\"`Extending`\" pulumi-lang-go=\"`extending`\" pulumi-lang-python=\"`extending`\" pulumi-lang-yaml=\"`extending`\" pulumi-lang-java=\"`extending`\"\u003e`extending`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`extendingError`\" pulumi-lang-dotnet=\"`ExtendingError`\" pulumi-lang-go=\"`extendingError`\" pulumi-lang-python=\"`extending_error`\" pulumi-lang-yaml=\"`extendingError`\" pulumi-lang-java=\"`extendingError`\"\u003e`extending_error`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`shrinking`\" pulumi-lang-dotnet=\"`Shrinking`\" pulumi-lang-go=\"`shrinking`\" pulumi-lang-python=\"`shrinking`\" pulumi-lang-yaml=\"`shrinking`\" pulumi-lang-java=\"`shrinking`\"\u003e`shrinking`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`shrinkingError`\" pulumi-lang-dotnet=\"`ShrinkingError`\" pulumi-lang-go=\"`shrinkingError`\" pulumi-lang-python=\"`shrinking_error`\" pulumi-lang-yaml=\"`shrinkingError`\" pulumi-lang-java=\"`shrinkingError`\"\u003e`shrinking_error`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`shrinkingPossibleDataLossError`\" pulumi-lang-dotnet=\"`ShrinkingPossibleDataLossError`\" pulumi-lang-go=\"`shrinkingPossibleDataLossError`\" pulumi-lang-python=\"`shrinking_possible_data_loss_error`\" pulumi-lang-yaml=\"`shrinkingPossibleDataLossError`\" pulumi-lang-java=\"`shrinkingPossibleDataLossError`\"\u003e`shrinking_possible_data_loss_error`\u003c/span\u003e.\n"}},"type":"object","required":["shareNetworkId"]},"outputs":{"description":"A collection of values returned by getSharedfilesystemShare.\n","properties":{"availabilityZone":{"description":"*string* \u0026rarr;  The share availability zone.\n","type":"string"},"description":{"type":"string"},"exportLocationPath":{"type":"string"},"id":{"description":"*string* \u0026rarr;  The UUID of the share.\n","type":"string"},"name":{"type":"string"},"projectId":{"description":"*string* \u0026rarr;  The owner of the share.\n","type":"string"},"region":{"type":"string"},"shareNetworkId":{"type":"string"},"shareProto":{"description":"*string* \u0026rarr;  The share protocol.\n","type":"string"},"size":{"description":"*number* \u0026rarr;  The share size, in GBs.\n","type":"number"},"snapshotId":{"type":"string"},"status":{"type":"string"}},"required":["availabilityZone","description","exportLocationPath","id","name","projectId","region","shareNetworkId","shareProto","size","snapshotId","status"],"type":"object"}},"vkcs:index/getSharedfilesystemSharenetwork:getSharedfilesystemSharenetwork":{"description":"Use this data source to get the ID of an available Shared File System share network.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vkcs from \"@pulumi/vkcs\";\n\nconst data = vkcs.getSharedfilesystemSharenetwork({\n    name: \"sharenetwork-tf-example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_vkcs as vkcs\n\ndata = vkcs.get_sharedfilesystem_sharenetwork(name=\"sharenetwork-tf-example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vkcs = Pulumi.Vkcs;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var data = Vkcs.GetSharedfilesystemSharenetwork.Invoke(new()\n    {\n        Name = \"sharenetwork-tf-example\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vkcs.LookupSharedfilesystemSharenetwork(ctx, \u0026vkcs.LookupSharedfilesystemSharenetworkArgs{\n\t\t\tName: pulumi.StringRef(\"sharenetwork-tf-example\"),\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.vkcs.VkcsFunctions;\nimport com.pulumi.vkcs.inputs.GetSharedfilesystemSharenetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var data = VkcsFunctions.getSharedfilesystemSharenetwork(GetSharedfilesystemSharenetworkArgs.builder()\n            .name(\"sharenetwork-tf-example\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  data:\n    fn::invoke:\n      function: vkcs:getSharedfilesystemSharenetwork\n      arguments:\n        name: sharenetwork-tf-example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getSharedfilesystemSharenetwork.\n","properties":{"description":{"type":"string","description":"optional *string* \u0026rarr;  The human-readable description of the share network.\n"},"name":{"type":"string","description":"optional *string* \u0026rarr;  The name of the share network.\n"},"neutronNetId":{"type":"string","description":"optional *string* \u0026rarr;  The neutron network UUID of the share network.\n"},"neutronSubnetId":{"type":"string","description":"optional *string* \u0026rarr;  The neutron subnet UUID of the share network.\n"},"region":{"type":"string","description":"optional *string* \u0026rarr;  The region in which to obtain the Shared File System client. A Shared File System client is needed to read a share network. If 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"},"securityServiceId":{"type":"string","description":"optional *string* \u0026rarr;  The security service IDs associated with the share network.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getSharedfilesystemSharenetwork.\n","properties":{"cidr":{"description":"*string* \u0026rarr;  The share network CIDR.\n","type":"string"},"description":{"type":"string"},"id":{"description":"*string* \u0026rarr;  The UUID of the share network.\n","type":"string"},"name":{"type":"string"},"neutronNetId":{"type":"string"},"neutronSubnetId":{"type":"string"},"projectId":{"description":"*string* \u0026rarr;  The owner of the share network.\n","type":"string"},"region":{"type":"string"},"securityServiceId":{"type":"string"},"securityServiceIds":{"description":"*set of* *string* \u0026rarr;  The list of security service IDs associated with the share network.\n","items":{"type":"string"},"type":"array"}},"required":["cidr","description","id","name","neutronNetId","neutronSubnetId","projectId","region","securityServiceIds"],"type":"object"}}},"parameterization":{"baseProvider":{"name":"terraform-provider","version":"1.0.1"},"parameter":"eyJyZW1vdGUiOnsidXJsIjoicmVnaXN0cnkub3BlbnRvZnUub3JnL3ZrLWNzL3ZrY3MiLCJ2ZXJzaW9uIjoiMC4xNC4wIn19"}}